summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2017-11-08 17:25:26 -0600
committercamthesaxman <cameronghall@cox.net>2017-11-08 17:25:26 -0600
commitfc11078cef11edc9deedd08c6175fb5e6628504c (patch)
tree62823b5dc1335a4d8659104dc4156713674ce757
parentba06c424c974f18f9c4af85eb0ffe8adc6056941 (diff)
parent8832b766facd48c85c1b99ac6dad555f1e2aa1c7 (diff)
fix merge conflicts
-rw-r--r--Makefile24
-rw-r--r--asm-de/contest_link_80C2020.s4
-rw-r--r--asm-de/easy_chat.s2
-rw-r--r--asm/battle_2.s8
-rw-r--r--asm/battle_9.s48
-rw-r--r--asm/battle_anim_80CA710.s2346
-rw-r--r--asm/battle_anim_81258BC.s26
-rw-r--r--asm/battle_anim_812C144.s498
-rw-r--r--asm/battle_anim_813F0F4.s122
-rw-r--r--asm/battle_tower.s3663
-rw-r--r--asm/cable_car.s8
-rw-r--r--asm/contest.s2
-rw-r--r--asm/contest_link_80C2020.s4
-rw-r--r--asm/daycare.s2399
-rw-r--r--asm/easy_chat.s2
-rw-r--r--asm/field_effect_helpers.s4349
-rw-r--r--asm/field_map_obj.s628
-rw-r--r--asm/macros/event.inc498
-rw-r--r--asm/party_menu.s8225
-rw-r--r--asm/pokemon_storage_system.s4
-rw-r--r--asm/pokemon_summary_screen.s4
-rw-r--r--asm/pokenav.s4
-rw-r--r--asm/secret_base.s2528
-rw-r--r--asm/slot_machine.s4
-rw-r--r--asm/trade.s12050
-rw-r--r--asmdiff.sh7
-rw-r--r--common_syms/battle/battle_anim.txt (renamed from common_syms/battle_anim.txt)0
-rw-r--r--common_syms/debug/mori_debug_menu.txt (renamed from common_syms/mori_debug_menu.txt)0
-rw-r--r--common_syms/debug/sound_check_menu.txt (renamed from common_syms/sound_check_menu.txt)1
-rw-r--r--common_syms/engine/link.txt (renamed from common_syms/link.txt)0
-rw-r--r--common_syms/engine/load_save.txt (renamed from common_syms/load_save.txt)0
-rw-r--r--common_syms/engine/main.txt (renamed from common_syms/main.txt)0
-rw-r--r--common_syms/engine/record_mixing.txt (renamed from common_syms/record_mixing.txt)0
-rw-r--r--common_syms/engine/rng.txt (renamed from common_syms/rng.txt)0
-rw-r--r--common_syms/engine/rtc.txt (renamed from common_syms/rtc.txt)0
-rw-r--r--common_syms/engine/save.txt (renamed from common_syms/save.txt)0
-rw-r--r--common_syms/engine/sound.txt (renamed from common_syms/sound.txt)0
-rw-r--r--common_syms/engine/sprite.txt (renamed from common_syms/sprite.txt)0
-rw-r--r--common_syms/engine/string_util.txt (renamed from common_syms/string_util.txt)0
-rw-r--r--common_syms/engine/task.txt (renamed from common_syms/task.txt)0
-rw-r--r--common_syms/field/field_camera.txt (renamed from common_syms/field_camera.txt)0
-rw-r--r--common_syms/field/field_control_avatar.txt (renamed from common_syms/field_control_avatar.txt)0
-rw-r--r--common_syms/field/field_map_obj.txt (renamed from common_syms/field_map_obj.txt)0
-rw-r--r--common_syms/field/fieldmap.txt (renamed from common_syms/fieldmap.txt)0
-rw-r--r--common_syms/field/overworld.txt (renamed from common_syms/overworld.txt)0
-rw-r--r--common_syms/field/start_menu.txt (renamed from common_syms/start_menu.txt)0
-rw-r--r--common_syms/field/tv.txt (renamed from common_syms/tv.txt)0
-rw-r--r--common_syms/libs/agb_flash.txt (renamed from common_syms/agb_flash.txt)0
-rw-r--r--common_syms/libs/m4a_2.txt (renamed from common_syms/m4a_2.txt)0
-rw-r--r--common_syms/pokemon/pokeblock_feed.txt (renamed from common_syms/pokeblock_feed.txt)0
-rw-r--r--common_syms/pokemon/pokedex.txt (renamed from common_syms/pokedex.txt)0
-rw-r--r--common_syms/pokemon/pokemon_1.txt (renamed from common_syms/pokemon_1.txt)0
-rw-r--r--common_syms/pokemon/pokemon_menu.txt (renamed from common_syms/pokemon_menu.txt)0
-rw-r--r--common_syms/scene/berry_blender.txt (renamed from common_syms/berry_blender.txt)0
-rw-r--r--common_syms/scene/contest_painting.txt (renamed from common_syms/contest_painting.txt)0
-rw-r--r--common_syms/scene/cute_sketch.txt (renamed from common_syms/cute_sketch.txt)0
-rw-r--r--common_syms/scene/egg_hatch.txt (renamed from common_syms/egg_hatch.txt)0
-rw-r--r--common_syms/scene/evolution_scene.txt (renamed from common_syms/evolution_scene.txt)0
-rw-r--r--common_syms/scene/intro.txt (renamed from common_syms/intro.txt)0
-rw-r--r--constants/battle_tower_constants.inc70
-rw-r--r--constants/constants.inc1
-rw-r--r--data-de/battle_tower/trainers.inc1301
-rw-r--r--data-de/event_scripts.s1212
-rw-r--r--data-de/field_move_scripts.inc142
-rw-r--r--data/battle_scripts_1.s6
-rw-r--r--data/battle_tower.s159
-rw-r--r--data/battle_tower/held_items.inc65
-rw-r--r--data/battle_tower/level_100_mons.inc2701
-rw-r--r--data/battle_tower/level_50_mons.inc2701
-rw-r--r--data/battle_tower/trainers.inc1301
-rw-r--r--data/daycare.s17
-rw-r--r--data/egg_moves.inc1306
-rw-r--r--data/event_scripts.s1212
-rw-r--r--data/field_effect_helpers.s37
-rw-r--r--data/field_move_scripts.inc142
-rw-r--r--data/field_special_scene.s41
-rw-r--r--data/graphics/berries/graphics.inc172
-rw-r--r--data/graphics/trainers/graphics.inc338
-rw-r--r--data/ingame_trades.inc108
-rw-r--r--data/party_menu.s744
-rw-r--r--data/script_cmd_table.inc398
-rw-r--r--data/scripts/berry_tree.inc76
-rw-r--r--data/scripts/cable_club.inc344
-rw-r--r--data/scripts/contest_hall.inc700
-rw-r--r--data/scripts/day_care.inc120
-rw-r--r--data/scripts/gabby_and_ty.inc60
-rw-r--r--data/scripts/magma_chimney.inc70
-rw-r--r--data/scripts/maps/AbandonedShip_CaptainsOffice.inc6
-rw-r--r--data/scripts/maps/AbandonedShip_Corridors_B1F.inc12
-rw-r--r--data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc42
-rw-r--r--data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc128
-rw-r--r--data/scripts/maps/AbandonedShip_Rooms2_1F.inc8
-rw-r--r--data/scripts/maps/AbandonedShip_Rooms_B1F.inc2
-rw-r--r--data/scripts/maps/AbandonedShip_Underwater1.inc2
-rw-r--r--data/scripts/maps/AbandonedShip_Underwater2.inc2
-rw-r--r--data/scripts/maps/AncientTomb.inc22
-rw-r--r--data/scripts/maps/AquaHideout_1F.inc4
-rw-r--r--data/scripts/maps/AquaHideout_B1F.inc4
-rw-r--r--data/scripts/maps/AquaHideout_B2F.inc44
-rw-r--r--data/scripts/maps/BattleTower_BattleRoom.inc54
-rw-r--r--data/scripts/maps/BattleTower_Corridor.inc18
-rw-r--r--data/scripts/maps/BattleTower_Elevator.inc16
-rw-r--r--data/scripts/maps/BattleTower_Lobby.inc144
-rw-r--r--data/scripts/maps/BattleTower_Outside.inc26
-rw-r--r--data/scripts/maps/CaveOfOrigin_1F.inc2
-rw-r--r--data/scripts/maps/CaveOfOrigin_B1F.inc2
-rw-r--r--data/scripts/maps/CaveOfOrigin_B2F.inc2
-rw-r--r--data/scripts/maps/CaveOfOrigin_B3F.inc2
-rw-r--r--data/scripts/maps/CaveOfOrigin_B4F.inc48
-rw-r--r--data/scripts/maps/DesertRuins.inc22
-rw-r--r--data/scripts/maps/DewfordTown.inc134
-rw-r--r--data/scripts/maps/DewfordTown_Gym.inc74
-rw-r--r--data/scripts/maps/DewfordTown_Hall.inc66
-rw-r--r--data/scripts/maps/DewfordTown_House1.inc4
-rw-r--r--data/scripts/maps/DewfordTown_House2.inc4
-rw-r--r--data/scripts/maps/DewfordTown_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_ChampionsRoom.inc138
-rw-r--r--data/scripts/maps/EverGrandeCity_Corridor1.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_Corridor2.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_Corridor3.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_Corridor4.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_Corridor5.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_DrakesRoom.inc12
-rw-r--r--data/scripts/maps/EverGrandeCity_GlaciasRoom.inc12
-rw-r--r--data/scripts/maps/EverGrandeCity_HallOfFame.inc52
-rw-r--r--data/scripts/maps/EverGrandeCity_PhoebesRoom.inc12
-rw-r--r--data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_PokemonLeague.inc62
-rw-r--r--data/scripts/maps/EverGrandeCity_SidneysRoom.inc12
-rw-r--r--data/scripts/maps/FallarborTown.inc6
-rw-r--r--data/scripts/maps/FallarborTown_ContestLobby.inc36
-rw-r--r--data/scripts/maps/FallarborTown_House1.inc16
-rw-r--r--data/scripts/maps/FallarborTown_House2.inc28
-rw-r--r--data/scripts/maps/FallarborTown_Mart.inc6
-rw-r--r--data/scripts/maps/FallarborTown_PokemonCenter_1F.inc20
-rw-r--r--data/scripts/maps/FortreeCity.inc24
-rw-r--r--data/scripts/maps/FortreeCity_DecorationShop.inc4
-rw-r--r--data/scripts/maps/FortreeCity_Gym.inc18
-rw-r--r--data/scripts/maps/FortreeCity_House1.inc22
-rw-r--r--data/scripts/maps/FortreeCity_House2.inc6
-rw-r--r--data/scripts/maps/FortreeCity_House4.inc32
-rw-r--r--data/scripts/maps/FortreeCity_House5.inc4
-rw-r--r--data/scripts/maps/FortreeCity_Mart.inc2
-rw-r--r--data/scripts/maps/FortreeCity_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/GraniteCave_1F.inc2
-rw-r--r--data/scripts/maps/GraniteCave_B1F.inc2
-rw-r--r--data/scripts/maps/GraniteCave_StevensRoom.inc24
-rw-r--r--data/scripts/maps/InsideOfTruck.inc10
-rw-r--r--data/scripts/maps/IslandCave.inc28
-rw-r--r--data/scripts/maps/JaggedPass.inc10
-rw-r--r--data/scripts/maps/LavaridgeTown.inc152
-rw-r--r--data/scripts/maps/LavaridgeTown_Gym_1F.inc50
-rw-r--r--data/scripts/maps/LavaridgeTown_HerbShop.inc6
-rw-r--r--data/scripts/maps/LavaridgeTown_House.inc4
-rw-r--r--data/scripts/maps/LavaridgeTown_Mart.inc2
-rw-r--r--data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/LilycoveCity.inc120
-rw-r--r--data/scripts/maps/LilycoveCity_ContestHall.inc114
-rw-r--r--data/scripts/maps/LilycoveCity_ContestLobby.inc296
-rw-r--r--data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc60
-rw-r--r--data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc14
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc42
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc94
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc56
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc4
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc4
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc4
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc8
-rw-r--r--data/scripts/maps/LilycoveCity_Harbor.inc96
-rw-r--r--data/scripts/maps/LilycoveCity_House1.inc4
-rw-r--r--data/scripts/maps/LilycoveCity_House2.inc4
-rw-r--r--data/scripts/maps/LilycoveCity_House3.inc20
-rw-r--r--data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc34
-rw-r--r--data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc88
-rw-r--r--data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc14
-rw-r--r--data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc4
-rw-r--r--data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc182
-rw-r--r--data/scripts/maps/LittlerootTown.inc526
-rw-r--r--data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc60
-rw-r--r--data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc28
-rw-r--r--data/scripts/maps/LittlerootTown_MaysHouse_1F.inc72
-rw-r--r--data/scripts/maps/LittlerootTown_MaysHouse_2F.inc116
-rw-r--r--data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc64
-rw-r--r--data/scripts/maps/MagmaHideout_B1F.inc4
-rw-r--r--data/scripts/maps/MauvilleCity.inc136
-rw-r--r--data/scripts/maps/MauvilleCity_BikeShop.inc68
-rw-r--r--data/scripts/maps/MauvilleCity_GameCorner.inc370
-rw-r--r--data/scripts/maps/MauvilleCity_Gym.inc58
-rw-r--r--data/scripts/maps/MauvilleCity_House1.inc2
-rw-r--r--data/scripts/maps/MauvilleCity_House2.inc20
-rw-r--r--data/scripts/maps/MauvilleCity_Mart.inc2
-rw-r--r--data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc4
-rw-r--r--data/scripts/maps/MeteorFalls_1F_1R.inc116
-rw-r--r--data/scripts/maps/MeteorFalls_1F_2R.inc12
-rw-r--r--data/scripts/maps/MossdeepCity.inc12
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_1F.inc76
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_B1F.inc26
-rw-r--r--data/scripts/maps/MossdeepCity_Gym.inc96
-rw-r--r--data/scripts/maps/MossdeepCity_House1.inc6
-rw-r--r--data/scripts/maps/MossdeepCity_House2.inc20
-rw-r--r--data/scripts/maps/MossdeepCity_House3.inc4
-rw-r--r--data/scripts/maps/MossdeepCity_House4.inc8
-rw-r--r--data/scripts/maps/MossdeepCity_Mart.inc2
-rw-r--r--data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc26
-rw-r--r--data/scripts/maps/MossdeepCity_StevensHouse.inc52
-rw-r--r--data/scripts/maps/MtChimney.inc36
-rw-r--r--data/scripts/maps/MtChimney_CableCarStation.inc30
-rw-r--r--data/scripts/maps/MtPyre_1F.inc4
-rw-r--r--data/scripts/maps/MtPyre_2F.inc2
-rw-r--r--data/scripts/maps/MtPyre_6F.inc4
-rw-r--r--data/scripts/maps/MtPyre_Exterior.inc2
-rw-r--r--data/scripts/maps/MtPyre_Summit.inc156
-rw-r--r--data/scripts/maps/NewMauville_Entrance.inc12
-rw-r--r--data/scripts/maps/NewMauville_Inside.inc34
-rw-r--r--data/scripts/maps/OldaleTown.inc126
-rw-r--r--data/scripts/maps/OldaleTown_Mart.inc6
-rw-r--r--data/scripts/maps/OldaleTown_PokemonCenter_1F.inc4
-rw-r--r--data/scripts/maps/PacifidlogTown_House2.inc40
-rw-r--r--data/scripts/maps/PacifidlogTown_House3.inc18
-rw-r--r--data/scripts/maps/PacifidlogTown_House4.inc4
-rw-r--r--data/scripts/maps/PacifidlogTown_House5.inc4
-rw-r--r--data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/PetalburgCity.inc136
-rw-r--r--data/scripts/maps/PetalburgCity_Gym.inc428
-rw-r--r--data/scripts/maps/PetalburgCity_Mart.inc4
-rw-r--r--data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc12
-rw-r--r--data/scripts/maps/PetalburgCity_WallysHouse.inc16
-rw-r--r--data/scripts/maps/PetalburgWoods.inc128
-rw-r--r--data/scripts/maps/Route101.inc64
-rw-r--r--data/scripts/maps/Route102.inc4
-rw-r--r--data/scripts/maps/Route103.inc94
-rw-r--r--data/scripts/maps/Route104.inc86
-rw-r--r--data/scripts/maps/Route104_MrBrineysHouse.inc40
-rw-r--r--data/scripts/maps/Route104_PrettyPetalFlowerShop.inc28
-rw-r--r--data/scripts/maps/Route104_Prototype.inc34
-rw-r--r--data/scripts/maps/Route105.inc2
-rw-r--r--data/scripts/maps/Route106.inc4
-rw-r--r--data/scripts/maps/Route107.inc4
-rw-r--r--data/scripts/maps/Route109.inc112
-rw-r--r--data/scripts/maps/Route109_SeashoreHouse.inc38
-rw-r--r--data/scripts/maps/Route110.inc182
-rw-r--r--data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc16
-rw-r--r--data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc10
-rw-r--r--data/scripts/maps/Route110_TrickHouseEnd.inc116
-rw-r--r--data/scripts/maps/Route110_TrickHouseEntrance.inc304
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle1.inc8
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle2.inc22
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle3.inc64
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle4.inc6
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle5.inc390
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle6.inc6
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle7.inc80
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle8.inc6
-rw-r--r--data/scripts/maps/Route111.inc194
-rw-r--r--data/scripts/maps/Route111_OldLadysRestStop.inc10
-rw-r--r--data/scripts/maps/Route111_WinstrateFamilysHouse.inc24
-rw-r--r--data/scripts/maps/Route112.inc4
-rw-r--r--data/scripts/maps/Route112_CableCarStation.inc32
-rw-r--r--data/scripts/maps/Route113.inc12
-rw-r--r--data/scripts/maps/Route113_GlassWorkshop.inc130
-rw-r--r--data/scripts/maps/Route114.inc22
-rw-r--r--data/scripts/maps/Route114_FossilManiacsHouse.inc4
-rw-r--r--data/scripts/maps/Route114_FossilManiacsTunnel.inc6
-rw-r--r--data/scripts/maps/Route114_LanettesHouse.inc8
-rw-r--r--data/scripts/maps/Route115.inc12
-rw-r--r--data/scripts/maps/Route116.inc88
-rw-r--r--data/scripts/maps/Route116_TunnelersRestHouse.inc2
-rw-r--r--data/scripts/maps/Route117.inc28
-rw-r--r--data/scripts/maps/Route118.inc70
-rw-r--r--data/scripts/maps/Route119.inc138
-rw-r--r--data/scripts/maps/Route119_House.inc4
-rw-r--r--data/scripts/maps/Route119_WeatherInstitute_1F.inc10
-rw-r--r--data/scripts/maps/Route119_WeatherInstitute_2F.inc42
-rw-r--r--data/scripts/maps/Route120.inc150
-rw-r--r--data/scripts/maps/Route121.inc24
-rw-r--r--data/scripts/maps/Route121_SafariZoneEntrance.inc60
-rw-r--r--data/scripts/maps/Route123.inc14
-rw-r--r--data/scripts/maps/Route123_BerryMastersHouse.inc62
-rw-r--r--data/scripts/maps/Route124.inc14
-rw-r--r--data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc78
-rw-r--r--data/scripts/maps/Route125.inc6
-rw-r--r--data/scripts/maps/Route126.inc2
-rw-r--r--data/scripts/maps/Route127.inc2
-rw-r--r--data/scripts/maps/Route128.inc112
-rw-r--r--data/scripts/maps/Route130.inc8
-rw-r--r--data/scripts/maps/Route131.inc4
-rw-r--r--data/scripts/maps/Route134.inc2
-rw-r--r--data/scripts/maps/RustboroCity.inc322
-rw-r--r--data/scripts/maps/RustboroCity_CuttersHouse.inc2
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_1F.inc22
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_2F.inc82
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_3F.inc70
-rw-r--r--data/scripts/maps/RustboroCity_Flat2_1F.inc4
-rw-r--r--data/scripts/maps/RustboroCity_Flat2_2F.inc4
-rw-r--r--data/scripts/maps/RustboroCity_Gym.inc20
-rw-r--r--data/scripts/maps/RustboroCity_House1.inc16
-rw-r--r--data/scripts/maps/RustboroCity_House3.inc4
-rw-r--r--data/scripts/maps/RustboroCity_Mart.inc6
-rw-r--r--data/scripts/maps/RustboroCity_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/RustboroCity_PokemonSchool.inc44
-rw-r--r--data/scripts/maps/RusturfTunnel.inc188
-rw-r--r--data/scripts/maps/SSTidalCorridor.inc54
-rw-r--r--data/scripts/maps/SSTidalRooms.inc6
-rw-r--r--data/scripts/maps/SafariZone_Southeast.inc42
-rw-r--r--data/scripts/maps/SeafloorCavern_Entrance.inc4
-rw-r--r--data/scripts/maps/SeafloorCavern_Room9.inc136
-rw-r--r--data/scripts/maps/SealedChamber_InnerRoom.inc56
-rw-r--r--data/scripts/maps/SealedChamber_OuterRoom.inc56
-rw-r--r--data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc32
-rw-r--r--data/scripts/maps/ShoalCave_LowTideInnerRoom.inc58
-rw-r--r--data/scripts/maps/ShoalCave_LowTideLowerRoom.inc10
-rw-r--r--data/scripts/maps/ShoalCave_LowTideStairsRoom.inc6
-rw-r--r--data/scripts/maps/SkyPillar_2F.inc2
-rw-r--r--data/scripts/maps/SkyPillar_4F.inc2
-rw-r--r--data/scripts/maps/SkyPillar_Top.inc10
-rw-r--r--data/scripts/maps/SlateportCity.inc208
-rw-r--r--data/scripts/maps/SlateportCity_ContestHall.inc44
-rw-r--r--data/scripts/maps/SlateportCity_ContestLobby.inc40
-rw-r--r--data/scripts/maps/SlateportCity_Harbor.inc170
-rw-r--r--data/scripts/maps/SlateportCity_House1.inc26
-rw-r--r--data/scripts/maps/SlateportCity_House2.inc2
-rw-r--r--data/scripts/maps/SlateportCity_Mart.inc2
-rw-r--r--data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc84
-rw-r--r--data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc122
-rw-r--r--data/scripts/maps/SlateportCity_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/SlateportCity_PokemonFanClub.inc90
-rw-r--r--data/scripts/maps/SlateportCity_SternsShipyard_1F.inc40
-rw-r--r--data/scripts/maps/SootopolisCity.inc168
-rw-r--r--data/scripts/maps/SootopolisCity_Gym_1F.inc48
-rw-r--r--data/scripts/maps/SootopolisCity_House1.inc6
-rw-r--r--data/scripts/maps/SootopolisCity_House2.inc4
-rw-r--r--data/scripts/maps/SootopolisCity_House3.inc2
-rw-r--r--data/scripts/maps/SootopolisCity_House4.inc4
-rw-r--r--data/scripts/maps/SootopolisCity_House6.inc8
-rw-r--r--data/scripts/maps/SootopolisCity_House8.inc24
-rw-r--r--data/scripts/maps/SootopolisCity_Mart.inc10
-rw-r--r--data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc10
-rw-r--r--data/scripts/maps/SouthernIsland_Exterior.inc20
-rw-r--r--data/scripts/maps/SouthernIsland_Interior.inc40
-rw-r--r--data/scripts/maps/Underwater_Route134.inc2
-rw-r--r--data/scripts/maps/Underwater_SeafloorCavern.inc6
-rw-r--r--data/scripts/maps/Underwater_SealedChamber.inc14
-rw-r--r--data/scripts/maps/Underwater_SootopolisCity.inc2
-rw-r--r--data/scripts/maps/UnknownMap_25_34.inc156
-rw-r--r--data/scripts/maps/VerdanturfTown.inc12
-rw-r--r--data/scripts/maps/VerdanturfTown_ContestLobby.inc38
-rw-r--r--data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc6
-rw-r--r--data/scripts/maps/VerdanturfTown_Mart.inc2
-rw-r--r--data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc2
-rw-r--r--data/scripts/maps/VerdanturfTown_WandasHouse.inc16
-rw-r--r--data/scripts/maps/VictoryRoad_1F.inc36
-rw-r--r--data/scripts/mauville_man.inc126
-rw-r--r--data/scripts/mystery_event_club.inc34
-rw-r--r--data/scripts/players_house.inc280
-rw-r--r--data/scripts/pokeblocks.inc138
-rw-r--r--data/scripts/safari_zone.inc32
-rw-r--r--data/scripts/secret_power_tm.inc22
-rw-r--r--data/scripts/tv.inc50
-rw-r--r--data/secret_base.s77
-rw-r--r--data/specials.inc20
-rw-r--r--data/trade.s774
-rw-r--r--graphics/battle_anims/backgrounds/00.pal19
-rw-r--r--graphics/battle_anims/backgrounds/02.pal19
-rw-r--r--graphics/battle_anims/backgrounds/03.pal19
-rw-r--r--graphics/battle_anims/backgrounds/04.pal19
-rw-r--r--graphics/battle_anims/backgrounds/07.pal19
-rw-r--r--graphics/battle_anims/backgrounds/09.pal19
-rw-r--r--graphics/battle_anims/backgrounds/11.pal19
-rw-r--r--graphics/battle_anims/backgrounds/12.pal19
-rw-r--r--graphics/battle_anims/backgrounds/15.pal19
-rw-r--r--graphics/battle_anims/backgrounds/16.pal19
-rw-r--r--graphics/battle_anims/backgrounds/17.pal19
-rw-r--r--graphics/battle_anims/backgrounds/20.pal19
-rw-r--r--graphics/battle_anims/backgrounds/21.pal19
-rw-r--r--graphics/battle_anims/backgrounds/attract.pal19
-rw-r--r--graphics/battle_anims/backgrounds/scary_face.pal19
-rw-r--r--graphics/battle_anims/backgrounds/water.pal19
-rw-r--r--graphics/battle_anims/masks/cure_bubbles.pal19
-rw-r--r--graphics/battle_anims/masks/metal_shine.pal19
-rw-r--r--graphics/battle_anims/masks/morning_sun.pal19
-rw-r--r--graphics/battle_anims/sprites/000.pal19
-rw-r--r--graphics/battle_anims/sprites/002.pal19
-rw-r--r--graphics/battle_anims/sprites/003.pal19
-rw-r--r--graphics/battle_anims/sprites/004.pal19
-rw-r--r--graphics/battle_anims/sprites/005.pal19
-rw-r--r--graphics/battle_anims/sprites/006.pal19
-rw-r--r--graphics/battle_anims/sprites/007.pal19
-rw-r--r--graphics/battle_anims/sprites/008.pal19
-rw-r--r--graphics/battle_anims/sprites/009.pal19
-rw-r--r--graphics/battle_anims/sprites/011.pal19
-rw-r--r--graphics/battle_anims/sprites/012.pal19
-rw-r--r--graphics/battle_anims/sprites/013.pal19
-rw-r--r--graphics/battle_anims/sprites/014.pal19
-rw-r--r--graphics/battle_anims/sprites/015.pal19
-rw-r--r--graphics/battle_anims/sprites/016.pal19
-rw-r--r--graphics/battle_anims/sprites/018.pal19
-rw-r--r--graphics/battle_anims/sprites/019.pal19
-rw-r--r--graphics/battle_anims/sprites/020.pal19
-rw-r--r--graphics/battle_anims/sprites/021.pal19
-rw-r--r--graphics/battle_anims/sprites/023.pal19
-rw-r--r--graphics/battle_anims/sprites/024.pal19
-rw-r--r--graphics/battle_anims/sprites/025.pal19
-rw-r--r--graphics/battle_anims/sprites/026.pal19
-rw-r--r--graphics/battle_anims/sprites/027.pal19
-rw-r--r--graphics/battle_anims/sprites/028.pal19
-rw-r--r--graphics/battle_anims/sprites/029.pal19
-rw-r--r--graphics/battle_anims/sprites/030.pal19
-rw-r--r--graphics/battle_anims/sprites/031.pal19
-rw-r--r--graphics/battle_anims/sprites/032.pal19
-rw-r--r--graphics/battle_anims/sprites/033.pal19
-rw-r--r--graphics/battle_anims/sprites/036.pal19
-rw-r--r--graphics/battle_anims/sprites/038.pal19
-rw-r--r--graphics/battle_anims/sprites/039.pal19
-rw-r--r--graphics/battle_anims/sprites/042.pal19
-rw-r--r--graphics/battle_anims/sprites/043.pal19
-rw-r--r--graphics/battle_anims/sprites/044.pal19
-rw-r--r--graphics/battle_anims/sprites/045.pal19
-rw-r--r--graphics/battle_anims/sprites/046.pal19
-rw-r--r--graphics/battle_anims/sprites/048.pal19
-rw-r--r--graphics/battle_anims/sprites/050.pal19
-rw-r--r--graphics/battle_anims/sprites/054.pal19
-rw-r--r--graphics/battle_anims/sprites/056.pal19
-rw-r--r--graphics/battle_anims/sprites/057.pal19
-rw-r--r--graphics/battle_anims/sprites/058.pal19
-rw-r--r--graphics/battle_anims/sprites/059.pal19
-rw-r--r--graphics/battle_anims/sprites/060.pal19
-rw-r--r--graphics/battle_anims/sprites/061.pal19
-rw-r--r--graphics/battle_anims/sprites/062.pal19
-rw-r--r--graphics/battle_anims/sprites/063.pal19
-rw-r--r--graphics/battle_anims/sprites/064.pal19
-rw-r--r--graphics/battle_anims/sprites/065.pal19
-rw-r--r--graphics/battle_anims/sprites/066.pal19
-rw-r--r--graphics/battle_anims/sprites/070.pal19
-rw-r--r--graphics/battle_anims/sprites/072.pal19
-rw-r--r--graphics/battle_anims/sprites/073.pal19
-rw-r--r--graphics/battle_anims/sprites/075.pal19
-rw-r--r--graphics/battle_anims/sprites/076.pal19
-rw-r--r--graphics/battle_anims/sprites/078.pal19
-rw-r--r--graphics/battle_anims/sprites/080.pal19
-rw-r--r--graphics/battle_anims/sprites/081.pal19
-rw-r--r--graphics/battle_anims/sprites/082.pal19
-rw-r--r--graphics/battle_anims/sprites/083.pal19
-rw-r--r--graphics/battle_anims/sprites/084.pal19
-rw-r--r--graphics/battle_anims/sprites/085.pal19
-rw-r--r--graphics/battle_anims/sprites/086.pal19
-rw-r--r--graphics/battle_anims/sprites/087.pal19
-rw-r--r--graphics/battle_anims/sprites/088.pal19
-rw-r--r--graphics/battle_anims/sprites/089.pal19
-rw-r--r--graphics/battle_anims/sprites/090.pal19
-rw-r--r--graphics/battle_anims/sprites/091.pal19
-rw-r--r--graphics/battle_anims/sprites/092.pal19
-rw-r--r--graphics/battle_anims/sprites/093.pal19
-rw-r--r--graphics/battle_anims/sprites/094.pal19
-rw-r--r--graphics/battle_anims/sprites/095.pal19
-rw-r--r--graphics/battle_anims/sprites/096.pal19
-rw-r--r--graphics/battle_anims/sprites/097.pal19
-rw-r--r--graphics/battle_anims/sprites/099.pal19
-rw-r--r--graphics/battle_anims/sprites/100.pal19
-rw-r--r--graphics/battle_anims/sprites/101.pal19
-rw-r--r--graphics/battle_anims/sprites/103.pal19
-rw-r--r--graphics/battle_anims/sprites/104.pal19
-rw-r--r--graphics/battle_anims/sprites/105.pal19
-rw-r--r--graphics/battle_anims/sprites/107.pal19
-rw-r--r--graphics/battle_anims/sprites/109.pal19
-rw-r--r--graphics/battle_anims/sprites/111.pal19
-rw-r--r--graphics/battle_anims/sprites/112.pal19
-rw-r--r--graphics/battle_anims/sprites/113.pal19
-rw-r--r--graphics/battle_anims/sprites/114.pal19
-rw-r--r--graphics/battle_anims/sprites/115.pal19
-rw-r--r--graphics/battle_anims/sprites/116.pal19
-rw-r--r--graphics/battle_anims/sprites/117.pal19
-rw-r--r--graphics/battle_anims/sprites/118.pal19
-rw-r--r--graphics/battle_anims/sprites/119.pal19
-rw-r--r--graphics/battle_anims/sprites/120.pal19
-rw-r--r--graphics/battle_anims/sprites/121.pal19
-rw-r--r--graphics/battle_anims/sprites/122.pal19
-rw-r--r--graphics/battle_anims/sprites/124.pal19
-rw-r--r--graphics/battle_anims/sprites/125.pal19
-rw-r--r--graphics/battle_anims/sprites/126.pal19
-rw-r--r--graphics/battle_anims/sprites/127.pal19
-rw-r--r--graphics/battle_anims/sprites/128.pal19
-rw-r--r--graphics/battle_anims/sprites/130.pal19
-rw-r--r--graphics/battle_anims/sprites/132.pal19
-rw-r--r--graphics/battle_anims/sprites/133.pal19
-rw-r--r--graphics/battle_anims/sprites/135.pal19
-rw-r--r--graphics/battle_anims/sprites/136.pal19
-rw-r--r--graphics/battle_anims/sprites/139.pal19
-rw-r--r--graphics/battle_anims/sprites/140.pal19
-rw-r--r--graphics/battle_anims/sprites/143.pal19
-rw-r--r--graphics/battle_anims/sprites/144.pal19
-rw-r--r--graphics/battle_anims/sprites/147.pal19
-rw-r--r--graphics/battle_anims/sprites/148.pal19
-rw-r--r--graphics/battle_anims/sprites/150.pal19
-rw-r--r--graphics/battle_anims/sprites/152.pal19
-rw-r--r--graphics/battle_anims/sprites/153.pal19
-rw-r--r--graphics/battle_anims/sprites/154.pal19
-rw-r--r--graphics/battle_anims/sprites/155.pal19
-rw-r--r--graphics/battle_anims/sprites/156.pal19
-rw-r--r--graphics/battle_anims/sprites/157.pal19
-rw-r--r--graphics/battle_anims/sprites/158.pal19
-rw-r--r--graphics/battle_anims/sprites/160.pal19
-rw-r--r--graphics/battle_anims/sprites/161.pal19
-rw-r--r--graphics/battle_anims/sprites/162.pal19
-rw-r--r--graphics/battle_anims/sprites/163.pal19
-rw-r--r--graphics/battle_anims/sprites/166.pal19
-rw-r--r--graphics/battle_anims/sprites/171.pal19
-rw-r--r--graphics/battle_anims/sprites/174.pal19
-rw-r--r--graphics/battle_anims/sprites/175.pal19
-rw-r--r--graphics/battle_anims/sprites/176.pal19
-rw-r--r--graphics/battle_anims/sprites/177.pal19
-rw-r--r--graphics/battle_anims/sprites/178.pal19
-rw-r--r--graphics/battle_anims/sprites/179.pal19
-rw-r--r--graphics/battle_anims/sprites/182.pal19
-rw-r--r--graphics/battle_anims/sprites/183.pal19
-rw-r--r--graphics/battle_anims/sprites/184.pal19
-rw-r--r--graphics/battle_anims/sprites/185.pal19
-rw-r--r--graphics/battle_anims/sprites/186.pal19
-rw-r--r--graphics/battle_anims/sprites/187.pal19
-rw-r--r--graphics/battle_anims/sprites/188.pal19
-rw-r--r--graphics/battle_anims/sprites/189.pal19
-rw-r--r--graphics/battle_anims/sprites/190.pal19
-rw-r--r--graphics/battle_anims/sprites/191.pal19
-rw-r--r--graphics/battle_anims/sprites/192.pal19
-rw-r--r--graphics/battle_anims/sprites/193.pal19
-rw-r--r--graphics/battle_anims/sprites/194.pal19
-rw-r--r--graphics/battle_anims/sprites/195.pal19
-rw-r--r--graphics/battle_anims/sprites/196.pal19
-rw-r--r--graphics/battle_anims/sprites/197.pal19
-rw-r--r--graphics/battle_anims/sprites/198.pal19
-rw-r--r--graphics/battle_anims/sprites/199.pal19
-rw-r--r--graphics/battle_anims/sprites/200.pal19
-rw-r--r--graphics/battle_anims/sprites/201.pal19
-rw-r--r--graphics/battle_anims/sprites/202.pal19
-rw-r--r--graphics/battle_anims/sprites/203.pal19
-rw-r--r--graphics/battle_anims/sprites/204.pal19
-rw-r--r--graphics/battle_anims/sprites/205.pal19
-rw-r--r--graphics/battle_anims/sprites/207.pal19
-rw-r--r--graphics/battle_anims/sprites/209.pal19
-rw-r--r--graphics/battle_anims/sprites/210.pal19
-rw-r--r--graphics/battle_anims/sprites/211.pal19
-rw-r--r--graphics/battle_anims/sprites/215.pal19
-rw-r--r--graphics/battle_anims/sprites/217.pal19
-rw-r--r--graphics/battle_anims/sprites/218.pal19
-rw-r--r--graphics/battle_anims/sprites/220.pal19
-rw-r--r--graphics/battle_anims/sprites/221.pal19
-rw-r--r--graphics/battle_anims/sprites/222.pal19
-rw-r--r--graphics/battle_anims/sprites/223.pal19
-rw-r--r--graphics/battle_anims/sprites/224.pal19
-rw-r--r--graphics/battle_anims/sprites/225.pal19
-rw-r--r--graphics/battle_anims/sprites/226.pal19
-rw-r--r--graphics/battle_anims/sprites/228.pal19
-rw-r--r--graphics/battle_anims/sprites/229.pal19
-rw-r--r--graphics/battle_anims/sprites/230.pal19
-rw-r--r--graphics/battle_anims/sprites/231.pal19
-rw-r--r--graphics/battle_anims/sprites/233.pal19
-rw-r--r--graphics/battle_anims/sprites/234.pal19
-rw-r--r--graphics/battle_anims/sprites/235.pal19
-rw-r--r--graphics/battle_anims/sprites/238.pal19
-rw-r--r--graphics/battle_anims/sprites/239.pal19
-rw-r--r--graphics/battle_anims/sprites/240.pal19
-rw-r--r--graphics/battle_anims/sprites/241.pal19
-rw-r--r--graphics/battle_anims/sprites/242.pal19
-rw-r--r--graphics/battle_anims/sprites/243.pal19
-rw-r--r--graphics/battle_anims/sprites/244.pal19
-rw-r--r--graphics/battle_anims/sprites/245.pal19
-rw-r--r--graphics/battle_anims/sprites/248.pal19
-rw-r--r--graphics/battle_anims/sprites/249.pal19
-rw-r--r--graphics/battle_anims/sprites/251.pal19
-rw-r--r--graphics/battle_anims/sprites/252.pal19
-rw-r--r--graphics/battle_anims/sprites/253.pal19
-rw-r--r--graphics/battle_anims/sprites/254.pal19
-rw-r--r--graphics/battle_anims/sprites/255.pal19
-rw-r--r--graphics/battle_anims/sprites/256.pal19
-rw-r--r--graphics/battle_anims/sprites/257.pal19
-rw-r--r--graphics/battle_anims/sprites/258.pal19
-rw-r--r--graphics/battle_anims/sprites/260.pal19
-rw-r--r--graphics/battle_anims/sprites/261.pal19
-rw-r--r--graphics/battle_anims/sprites/262.pal19
-rw-r--r--graphics/battle_anims/sprites/263.pal19
-rw-r--r--graphics/battle_anims/sprites/264.pal19
-rw-r--r--graphics/battle_anims/sprites/266.pal19
-rw-r--r--graphics/battle_anims/sprites/269.pal19
-rw-r--r--graphics/battle_anims/sprites/270.pal19
-rw-r--r--graphics/battle_anims/sprites/271.pal19
-rw-r--r--graphics/battle_anims/sprites/272.pal19
-rw-r--r--graphics/battle_anims/sprites/274.pal19
-rw-r--r--graphics/battle_anims/sprites/277.pal19
-rw-r--r--graphics/battle_anims/sprites/278.pal19
-rw-r--r--graphics/battle_anims/sprites/279.pal19
-rw-r--r--graphics/battle_anims/sprites/280.pal19
-rw-r--r--graphics/battle_anims/sprites/281.pal19
-rw-r--r--graphics/battle_anims/sprites/282.pal19
-rw-r--r--graphics/battle_anims/sprites/283.pal19
-rw-r--r--graphics/battle_anims/sprites/284.pal19
-rw-r--r--graphics/battle_anims/sprites/285.pal19
-rw-r--r--graphics/battle_anims/sprites/smokescreen_impact.pal19
-rw-r--r--graphics/battle_anims/sprites/substitute.pal19
-rw-r--r--graphics/battle_interface/hpbar.pal19
-rw-r--r--graphics/battle_interface/window.pal19
-rw-r--r--graphics/battle_transitions/vs_frame.pal19
-rw-r--r--graphics/berries/aguav.png (renamed from graphics/berries/aguav/pic.png)bin380 -> 380 bytes
-rw-r--r--graphics/berries/aguav/palette.pal19
-rw-r--r--graphics/berries/apicot.png (renamed from graphics/berries/apicot/pic.png)bin397 -> 397 bytes
-rw-r--r--graphics/berries/apicot/palette.pal19
-rw-r--r--graphics/berries/aspear.png (renamed from graphics/berries/aspear/pic.png)bin422 -> 422 bytes
-rw-r--r--graphics/berries/aspear/palette.pal19
-rw-r--r--graphics/berries/belue.png (renamed from graphics/berries/belue/pic.png)bin644 -> 644 bytes
-rw-r--r--graphics/berries/belue/palette.pal19
-rw-r--r--graphics/berries/bluk.png (renamed from graphics/berries/bluk/pic.png)bin444 -> 444 bytes
-rw-r--r--graphics/berries/bluk/palette.pal19
-rw-r--r--graphics/berries/cheri.png (renamed from graphics/berries/cheri/pic.png)bin355 -> 355 bytes
-rw-r--r--graphics/berries/cheri/palette.pal19
-rw-r--r--graphics/berries/chesto.png (renamed from graphics/berries/chesto/pic.png)bin458 -> 458 bytes
-rw-r--r--graphics/berries/chesto/palette.pal19
-rw-r--r--graphics/berries/cornn.png (renamed from graphics/berries/cornn/pic.png)bin485 -> 485 bytes
-rw-r--r--graphics/berries/cornn/palette.pal19
-rw-r--r--graphics/berries/durin.png (renamed from graphics/berries/durin/pic.png)bin801 -> 801 bytes
-rw-r--r--graphics/berries/durin/palette.pal19
-rw-r--r--graphics/berries/enigma.png (renamed from graphics/berries/enigma/pic.png)bin497 -> 497 bytes
-rw-r--r--graphics/berries/enigma/palette.pal19
-rw-r--r--graphics/berries/figy.png (renamed from graphics/berries/figy/pic.png)bin418 -> 418 bytes
-rw-r--r--graphics/berries/figy/palette.pal19
-rw-r--r--graphics/berries/ganlon.png (renamed from graphics/berries/ganlon/pic.png)bin387 -> 387 bytes
-rw-r--r--graphics/berries/ganlon/palette.pal19
-rw-r--r--graphics/berries/grepa.png (renamed from graphics/berries/grepa/pic.png)bin397 -> 397 bytes
-rw-r--r--graphics/berries/grepa/palette.pal19
-rw-r--r--graphics/berries/hondew.png (renamed from graphics/berries/hondew/pic.png)bin534 -> 534 bytes
-rw-r--r--graphics/berries/hondew/palette.pal19
-rw-r--r--graphics/berries/iapapa.png (renamed from graphics/berries/iapapa/pic.png)bin624 -> 624 bytes
-rw-r--r--graphics/berries/iapapa/palette.pal19
-rw-r--r--graphics/berries/kelpsy.png (renamed from graphics/berries/kelpsy/pic.png)bin412 -> 412 bytes
-rw-r--r--graphics/berries/kelpsy/palette.pal19
-rw-r--r--graphics/berries/lansat.png (renamed from graphics/berries/lansat/pic.png)bin474 -> 474 bytes
-rw-r--r--graphics/berries/lansat/palette.pal19
-rw-r--r--graphics/berries/leppa.png (renamed from graphics/berries/leppa/pic.png)bin369 -> 369 bytes
-rw-r--r--graphics/berries/leppa/palette.pal19
-rw-r--r--graphics/berries/liechi.png (renamed from graphics/berries/liechi/pic.png)bin561 -> 561 bytes
-rw-r--r--graphics/berries/liechi/palette.pal19
-rw-r--r--graphics/berries/lum.png (renamed from graphics/berries/lum/pic.png)bin289 -> 289 bytes
-rw-r--r--graphics/berries/lum/palette.pal19
-rw-r--r--graphics/berries/mago.png (renamed from graphics/berries/mago/pic.png)bin409 -> 409 bytes
-rw-r--r--graphics/berries/mago/palette.pal19
-rw-r--r--graphics/berries/magost.png (renamed from graphics/berries/magost/pic.png)bin392 -> 392 bytes
-rw-r--r--graphics/berries/magost/palette.pal19
-rw-r--r--graphics/berries/nanab.png (renamed from graphics/berries/nanab/pic.png)bin363 -> 363 bytes
-rw-r--r--graphics/berries/nanab/palette.pal19
-rw-r--r--graphics/berries/nomel.png (renamed from graphics/berries/nomel/pic.png)bin430 -> 430 bytes
-rw-r--r--graphics/berries/nomel/palette.pal19
-rw-r--r--graphics/berries/oran.png (renamed from graphics/berries/oran/pic.png)bin340 -> 340 bytes
-rw-r--r--graphics/berries/oran/palette.pal19
-rw-r--r--graphics/berries/pamtre.png (renamed from graphics/berries/pamtre/pic.png)bin539 -> 539 bytes
-rw-r--r--graphics/berries/pamtre/palette.pal19
-rw-r--r--graphics/berries/pecha.png (renamed from graphics/berries/pecha/pic.png)bin363 -> 363 bytes
-rw-r--r--graphics/berries/pecha/palette.pal19
-rw-r--r--graphics/berries/persim.png (renamed from graphics/berries/persim/pic.png)bin330 -> 330 bytes
-rw-r--r--graphics/berries/persim/palette.pal19
-rw-r--r--graphics/berries/petaya.png (renamed from graphics/berries/petaya/pic.png)bin639 -> 639 bytes
-rw-r--r--graphics/berries/petaya/palette.pal19
-rw-r--r--graphics/berries/pinap.png (renamed from graphics/berries/pinap/pic.png)bin491 -> 491 bytes
-rw-r--r--graphics/berries/pinap/palette.pal19
-rw-r--r--graphics/berries/pomeg.png (renamed from graphics/berries/pomeg/pic.png)bin406 -> 406 bytes
-rw-r--r--graphics/berries/pomeg/palette.pal19
-rw-r--r--graphics/berries/qualot.png (renamed from graphics/berries/qualot/pic.png)bin422 -> 422 bytes
-rw-r--r--graphics/berries/qualot/palette.pal19
-rw-r--r--graphics/berries/rabuta.png (renamed from graphics/berries/rabuta/pic.png)bin710 -> 710 bytes
-rw-r--r--graphics/berries/rabuta/palette.pal19
-rw-r--r--graphics/berries/rawst.png (renamed from graphics/berries/rawst/pic.png)bin414 -> 414 bytes
-rw-r--r--graphics/berries/rawst/palette.pal19
-rw-r--r--graphics/berries/razz.png (renamed from graphics/berries/razz/pic.png)bin520 -> 520 bytes
-rw-r--r--graphics/berries/razz/palette.pal19
-rw-r--r--graphics/berries/salac.png (renamed from graphics/berries/salac/pic.png)bin519 -> 519 bytes
-rw-r--r--graphics/berries/salac/palette.pal19
-rw-r--r--graphics/berries/sitrus.png (renamed from graphics/berries/sitrus/pic.png)bin404 -> 404 bytes
-rw-r--r--graphics/berries/sitrus/palette.pal19
-rw-r--r--graphics/berries/spelon.png (renamed from graphics/berries/spelon/pic.png)bin467 -> 467 bytes
-rw-r--r--graphics/berries/spelon/palette.pal19
-rw-r--r--graphics/berries/starf.png (renamed from graphics/berries/starf/pic.png)bin440 -> 440 bytes
-rw-r--r--graphics/berries/starf/palette.pal19
-rw-r--r--graphics/berries/tamato.png (renamed from graphics/berries/tamato/pic.png)bin642 -> 642 bytes
-rw-r--r--graphics/berries/tamato/palette.pal19
-rw-r--r--graphics/berries/watmel.png (renamed from graphics/berries/watmel/pic.png)bin636 -> 636 bytes
-rw-r--r--graphics/berries/watmel/palette.pal19
-rw-r--r--graphics/berries/wepear.png (renamed from graphics/berries/wepear/pic.png)bin400 -> 400 bytes
-rw-r--r--graphics/berries/wepear/palette.pal19
-rw-r--r--graphics/berries/wiki.png (renamed from graphics/berries/wiki/pic.png)bin429 -> 429 bytes
-rw-r--r--graphics/berries/wiki/palette.pal19
-rw-r--r--graphics/berry_blender/arrow.pal19
-rw-r--r--graphics/berry_blender/center.pal19
-rw-r--r--graphics/berry_blender/outer.pal19
-rw-r--r--graphics/birch_speech/birch.pal19
-rw-r--r--graphics/contest/judge.pal19
-rw-r--r--graphics/contest/judge_symbols.pal19
-rw-r--r--graphics/contest/nextturn.pal19
-rw-r--r--graphics/interface/ball/dive.pal19
-rw-r--r--graphics/interface/ball/great.pal19
-rw-r--r--graphics/interface/ball/luxury.pal19
-rw-r--r--graphics/interface/ball/master.pal19
-rw-r--r--graphics/interface/ball/nest.pal19
-rw-r--r--graphics/interface/ball/net.pal19
-rw-r--r--graphics/interface/ball/poke.pal19
-rw-r--r--graphics/interface/ball/premier.pal19
-rw-r--r--graphics/interface/ball/repeat.pal19
-rw-r--r--graphics/interface/ball/safari.pal19
-rw-r--r--graphics/interface/ball/timer.pal19
-rw-r--r--graphics/interface/ball/ultra.pal19
-rw-r--r--graphics/interface/hold_icons.pal19
-rw-r--r--graphics/interface/link_test_digits.pal19
-rw-r--r--graphics/interface/money.pal19
-rw-r--r--graphics/interface/pokeblock_device.pal19
-rw-r--r--graphics/interface/status_icons.pal19
-rw-r--r--graphics/interface/summary_frames.pal19
-rw-r--r--graphics/interface/wordgroup_indicator.pal19
-rw-r--r--graphics/intro/copyright.pal19
-rw-r--r--graphics/intro/intro1_eon.pal19
-rw-r--r--graphics/intro/intro2_bgclouds.pal19
-rw-r--r--graphics/intro/intro2_bgnight.pal19
-rw-r--r--graphics/intro/intro2_bgtrees.pal19
-rw-r--r--graphics/intro/intro2_brendan.pal19
-rw-r--r--graphics/intro/intro2_grass.pal19
-rw-r--r--graphics/intro/intro2_latias.pal19
-rw-r--r--graphics/intro/intro2_latios.pal19
-rw-r--r--graphics/intro/intro2_may.pal19
-rw-r--r--graphics/intro/intro3_pokeball.pal259
-rw-r--r--graphics/intro/intro3_streaks.pal19
-rw-r--r--graphics/misc/birch_bag.pal19
-rw-r--r--graphics/misc/birch_ballarrow.pal19
-rw-r--r--graphics/misc/birch_circle.pal19
-rw-r--r--graphics/misc/birch_grass.pal19
-rw-r--r--graphics/misc/cable_car.pal19
-rw-r--r--graphics/misc/clock_small.pal19
-rw-r--r--graphics/misc/condition_up_down.pal19
-rw-r--r--graphics/misc/confetti.pal19
-rw-r--r--graphics/misc/darkness_field_move_streaks.pal19
-rw-r--r--graphics/misc/evo_sparkle.pal19
-rw-r--r--graphics/misc/field_move_streaks.pal19
-rw-r--r--graphics/misc/hof.pal19
-rw-r--r--graphics/misc/interview_frame.pal19
-rw-r--r--graphics/misc/mon_markings.pal19
-rw-r--r--graphics/pokedex/area_glow.pal19
-rw-r--r--graphics/pokedex/area_marker.pal19
-rw-r--r--graphics/pokedex/area_unknown.pal19
-rw-r--r--graphics/pokedex/arrows.pal19
-rw-r--r--graphics/pokedex/cry_meter.pal19
-rw-r--r--graphics/pokedex/cry_meter_needle.pal19
-rw-r--r--graphics/pokemon_storage/arrow.pal19
-rw-r--r--graphics/pokemon_storage/beach_bg.pal19
-rw-r--r--graphics/pokemon_storage/beach_frame.pal19
-rw-r--r--graphics/pokemon_storage/cave_bg.pal19
-rw-r--r--graphics/pokemon_storage/cave_frame.pal19
-rw-r--r--graphics/pokemon_storage/city_bg.pal19
-rw-r--r--graphics/pokemon_storage/city_frame.pal19
-rw-r--r--graphics/pokemon_storage/crag_bg.pal19
-rw-r--r--graphics/pokemon_storage/crag_frame.pal19
-rw-r--r--graphics/pokemon_storage/desert_bg.pal19
-rw-r--r--graphics/pokemon_storage/desert_frame.pal19
-rw-r--r--graphics/pokemon_storage/forest_bg.pal19
-rw-r--r--graphics/pokemon_storage/forest_frame.pal19
-rw-r--r--graphics/pokemon_storage/machine_bg.pal19
-rw-r--r--graphics/pokemon_storage/machine_frame.pal19
-rw-r--r--graphics/pokemon_storage/plain_bg.pal19
-rw-r--r--graphics/pokemon_storage/plain_frame.pal19
-rw-r--r--graphics/pokemon_storage/pokecenter_bg.pal19
-rw-r--r--graphics/pokemon_storage/pokecenter_frame.pal19
-rw-r--r--graphics/pokemon_storage/polkadot_bg.pal19
-rw-r--r--graphics/pokemon_storage/polkadot_frame.pal19
-rw-r--r--graphics/pokemon_storage/river_bg.pal19
-rw-r--r--graphics/pokemon_storage/river_frame.pal19
-rw-r--r--graphics/pokemon_storage/savanna_bg.pal19
-rw-r--r--graphics/pokemon_storage/savanna_frame.pal19
-rw-r--r--graphics/pokemon_storage/scrolling_bg.pal19
-rw-r--r--graphics/pokemon_storage/seafloor_bg.pal19
-rw-r--r--graphics/pokemon_storage/seafloor_frame.pal19
-rw-r--r--graphics/pokemon_storage/sky_bg.pal19
-rw-r--r--graphics/pokemon_storage/sky_frame.pal19
-rw-r--r--graphics/pokemon_storage/snow_bg.pal19
-rw-r--r--graphics/pokemon_storage/snow_frame.pal19
-rw-r--r--graphics/pokemon_storage/volcano_bg.pal19
-rw-r--r--graphics/pokemon_storage/volcano_frame.pal19
-rw-r--r--graphics/pokemon_storage/waveform.pal19
-rw-r--r--graphics/pokenav/arrows.pal19
-rw-r--r--graphics/pokenav/blue_light.pal19
-rw-r--r--graphics/pokenav/brendan_icon.pal19
-rw-r--r--graphics/pokenav/condition_search2.pal19
-rw-r--r--graphics/pokenav/fly_target_icons.pal19
-rw-r--r--graphics/pokenav/icon.pal19
-rw-r--r--graphics/pokenav/map_frame.pal19
-rw-r--r--graphics/pokenav/map_squares.pal19
-rw-r--r--graphics/pokenav/may_icon.pal19
-rw-r--r--graphics/pokenav/outline.pal19
-rw-r--r--graphics/pokenav/sparkle.pal19
-rw-r--r--graphics/roulette/azurill.pal19
-rw-r--r--graphics/roulette/ball.pal19
-rw-r--r--graphics/roulette/ball_counter.pal19
-rw-r--r--graphics/roulette/credit.pal19
-rw-r--r--graphics/roulette/cursor.pal19
-rw-r--r--graphics/roulette/makuhita.pal19
-rw-r--r--graphics/roulette/poke_icons.pal19
-rw-r--r--graphics/roulette/shadow.pal19
-rw-r--r--graphics/roulette/shroomish.pal19
-rw-r--r--graphics/roulette/skitty.pal19
-rw-r--r--graphics/roulette/tailow.pal19
-rw-r--r--graphics/roulette/wynaut.pal19
-rw-r--r--graphics/text_window/1.pal19
-rw-r--r--graphics/text_window/10.pal19
-rw-r--r--graphics/text_window/11.pal19
-rw-r--r--graphics/text_window/12.pal19
-rw-r--r--graphics/text_window/13.pal19
-rw-r--r--graphics/text_window/14.pal19
-rw-r--r--graphics/text_window/15.pal19
-rw-r--r--graphics/text_window/16.pal19
-rw-r--r--graphics/text_window/17.pal19
-rw-r--r--graphics/text_window/18.pal19
-rw-r--r--graphics/text_window/19.pal19
-rw-r--r--graphics/text_window/2.pal19
-rw-r--r--graphics/text_window/20.pal19
-rw-r--r--graphics/text_window/3.pal19
-rw-r--r--graphics/text_window/4.pal19
-rw-r--r--graphics/text_window/5.pal19
-rw-r--r--graphics/text_window/6.pal19
-rw-r--r--graphics/text_window/7.pal19
-rw-r--r--graphics/text_window/8.pal19
-rw-r--r--graphics/text_window/9.pal19
-rw-r--r--graphics/title_screen/logo_shine.pal19
-rw-r--r--graphics/trade/ball.pal19
-rw-r--r--graphics/trade/cable_end.pal19
-rw-r--r--graphics/trade/gba.pal19
-rw-r--r--graphics/trade/selected_mon.pal19
-rw-r--r--graphics/trade/shadow.pal19
-rw-r--r--graphics/trainer_card/badges.pal19
-rw-r--r--graphics/trainers/aqua_admin_f.png (renamed from graphics/trainers/aqua_admin_f/front.png)bin838 -> 838 bytes
-rw-r--r--graphics/trainers/aqua_admin_f/palette.pal19
-rw-r--r--graphics/trainers/aqua_admin_m.png (renamed from graphics/trainers/aqua_admin_m/front.png)bin800 -> 800 bytes
-rw-r--r--graphics/trainers/aqua_admin_m/palette.pal19
-rw-r--r--graphics/trainers/aqua_grunt_f.png (renamed from graphics/trainers/aqua_grunt_f/front.png)bin722 -> 722 bytes
-rw-r--r--graphics/trainers/aqua_grunt_f/palette.pal19
-rw-r--r--graphics/trainers/aqua_grunt_m.png (renamed from graphics/trainers/aqua_grunt_m/front.png)bin726 -> 726 bytes
-rw-r--r--graphics/trainers/aqua_grunt_m/palette.pal19
-rw-r--r--graphics/trainers/archie.png (renamed from graphics/trainers/archie/front.png)bin684 -> 684 bytes
-rw-r--r--graphics/trainers/archie/palette.pal19
-rw-r--r--graphics/trainers/aroma_lady.png (renamed from graphics/trainers/aroma_lady/front.png)bin619 -> 619 bytes
-rw-r--r--graphics/trainers/aroma_lady/palette.pal19
-rw-r--r--graphics/trainers/battle_girl.png (renamed from graphics/trainers/battle_girl/front.png)bin702 -> 702 bytes
-rw-r--r--graphics/trainers/battle_girl/palette.pal19
-rw-r--r--graphics/trainers/beauty.png (renamed from graphics/trainers/beauty/front.png)bin662 -> 662 bytes
-rw-r--r--graphics/trainers/beauty/palette.pal19
-rw-r--r--graphics/trainers/bird_keeper.png (renamed from graphics/trainers/bird_keeper/front.png)bin698 -> 698 bytes
-rw-r--r--graphics/trainers/bird_keeper/palette.pal19
-rw-r--r--graphics/trainers/black_belt.png (renamed from graphics/trainers/black_belt/front.png)bin735 -> 735 bytes
-rw-r--r--graphics/trainers/black_belt/palette.pal19
-rw-r--r--graphics/trainers/brawly.png (renamed from graphics/trainers/brawly/front.png)bin799 -> 799 bytes
-rw-r--r--graphics/trainers/brawly/palette.pal19
-rw-r--r--graphics/trainers/brendan.png (renamed from graphics/trainers/brendan/front.png)bin688 -> 688 bytes
-rw-r--r--graphics/trainers/brendan/palette.pal19
-rw-r--r--graphics/trainers/brendan_back.png (renamed from graphics/trainers/brendan/back.png)bin2197 -> 2197 bytes
-rw-r--r--graphics/trainers/bug_catcher.png (renamed from graphics/trainers/bug_catcher/front.png)bin682 -> 682 bytes
-rw-r--r--graphics/trainers/bug_catcher/palette.pal19
-rw-r--r--graphics/trainers/bug_maniac.png (renamed from graphics/trainers/bug_maniac/front.png)bin932 -> 932 bytes
-rw-r--r--graphics/trainers/bug_maniac/palette.pal19
-rw-r--r--graphics/trainers/camper.png (renamed from graphics/trainers/camper/front.png)bin629 -> 629 bytes
-rw-r--r--graphics/trainers/camper/palette.pal19
-rw-r--r--graphics/trainers/collector.png (renamed from graphics/trainers/collector/front.png)bin852 -> 852 bytes
-rw-r--r--graphics/trainers/collector/palette.pal19
-rw-r--r--graphics/trainers/cool_trainer_f.png (renamed from graphics/trainers/cool_trainer_f/front.png)bin681 -> 681 bytes
-rw-r--r--graphics/trainers/cool_trainer_f/palette.pal19
-rw-r--r--graphics/trainers/cool_trainer_m.png (renamed from graphics/trainers/cool_trainer_m/front.png)bin627 -> 627 bytes
-rw-r--r--graphics/trainers/cool_trainer_m/palette.pal19
-rw-r--r--graphics/trainers/cycling_triathlete_f.png (renamed from graphics/trainers/cycling_triathlete_f/front.png)bin890 -> 890 bytes
-rw-r--r--graphics/trainers/cycling_triathlete_f/palette.pal19
-rw-r--r--graphics/trainers/cycling_triathlete_m.png (renamed from graphics/trainers/cycling_triathlete_m/front.png)bin900 -> 900 bytes
-rw-r--r--graphics/trainers/cycling_triathlete_m/palette.pal19
-rw-r--r--graphics/trainers/dragon_tamer.png (renamed from graphics/trainers/dragon_tamer/front.png)bin710 -> 710 bytes
-rw-r--r--graphics/trainers/dragon_tamer/palette.pal19
-rw-r--r--graphics/trainers/drake.png (renamed from graphics/trainers/drake/front.png)bin828 -> 828 bytes
-rw-r--r--graphics/trainers/drake/palette.pal19
-rw-r--r--graphics/trainers/expert_f.png (renamed from graphics/trainers/expert_f/front.png)bin670 -> 670 bytes
-rw-r--r--graphics/trainers/expert_f/palette.pal19
-rw-r--r--graphics/trainers/expert_m.png (renamed from graphics/trainers/expert_m/front.png)bin706 -> 706 bytes
-rw-r--r--graphics/trainers/expert_m/palette.pal19
-rw-r--r--graphics/trainers/fisherman.png (renamed from graphics/trainers/fisherman/front.png)bin889 -> 889 bytes
-rw-r--r--graphics/trainers/fisherman/palette.pal19
-rw-r--r--graphics/trainers/flannery.png (renamed from graphics/trainers/flannery/front.png)bin770 -> 770 bytes
-rw-r--r--graphics/trainers/flannery/palette.pal19
-rw-r--r--graphics/trainers/gentleman.png (renamed from graphics/trainers/gentleman/front.png)bin647 -> 647 bytes
-rw-r--r--graphics/trainers/gentleman/palette.pal19
-rw-r--r--graphics/trainers/glacia.png (renamed from graphics/trainers/glacia/front.png)bin797 -> 797 bytes
-rw-r--r--graphics/trainers/glacia/palette.pal19
-rw-r--r--graphics/trainers/guitarist.png (renamed from graphics/trainers/guitarist/front.png)bin765 -> 765 bytes
-rw-r--r--graphics/trainers/guitarist/palette.pal19
-rw-r--r--graphics/trainers/hex_maniac.png (renamed from graphics/trainers/hex_maniac/front.png)bin719 -> 719 bytes
-rw-r--r--graphics/trainers/hex_maniac/palette.pal19
-rw-r--r--graphics/trainers/hiker.png (renamed from graphics/trainers/hiker/front.png)bin952 -> 952 bytes
-rw-r--r--graphics/trainers/hiker/palette.pal19
-rw-r--r--graphics/trainers/interviewer.png (renamed from graphics/trainers/interviewer/front.png)bin1032 -> 1032 bytes
-rw-r--r--graphics/trainers/interviewer/palette.pal19
-rw-r--r--graphics/trainers/kindler.png (renamed from graphics/trainers/kindler/front.png)bin745 -> 745 bytes
-rw-r--r--graphics/trainers/kindler/palette.pal19
-rw-r--r--graphics/trainers/lady.png (renamed from graphics/trainers/lady/front.png)bin825 -> 825 bytes
-rw-r--r--graphics/trainers/lady/palette.pal19
-rw-r--r--graphics/trainers/lass.png (renamed from graphics/trainers/lass/front.png)bin617 -> 617 bytes
-rw-r--r--graphics/trainers/lass/palette.pal19
-rw-r--r--graphics/trainers/magma_admin_f.png (renamed from graphics/trainers/magma_admin_f/front.png)bin782 -> 782 bytes
-rw-r--r--graphics/trainers/magma_admin_f/palette.pal19
-rw-r--r--graphics/trainers/magma_admin_m.png (renamed from graphics/trainers/magma_admin_m/front.png)bin841 -> 841 bytes
-rw-r--r--graphics/trainers/magma_admin_m/palette.pal19
-rw-r--r--graphics/trainers/magma_grunt_f.png (renamed from graphics/trainers/magma_grunt_f/front.png)bin789 -> 789 bytes
-rw-r--r--graphics/trainers/magma_grunt_f/palette.pal19
-rw-r--r--graphics/trainers/magma_grunt_m.png (renamed from graphics/trainers/magma_grunt_m/front.png)bin751 -> 751 bytes
-rw-r--r--graphics/trainers/magma_grunt_m/palette.pal19
-rw-r--r--graphics/trainers/maxie.png (renamed from graphics/trainers/maxie/front.png)bin649 -> 649 bytes
-rw-r--r--graphics/trainers/maxie/palette.pal19
-rw-r--r--graphics/trainers/may.png (renamed from graphics/trainers/may/front.png)bin683 -> 683 bytes
-rw-r--r--graphics/trainers/may/palette.pal19
-rw-r--r--graphics/trainers/may_back.png (renamed from graphics/trainers/may/back.png)bin2223 -> 2223 bytes
-rw-r--r--graphics/trainers/ninja_boy.png (renamed from graphics/trainers/ninja_boy/front.png)bin632 -> 632 bytes
-rw-r--r--graphics/trainers/ninja_boy/palette.pal19
-rw-r--r--graphics/trainers/norman.png (renamed from graphics/trainers/norman/front.png)bin692 -> 692 bytes
-rw-r--r--graphics/trainers/norman/palette.pal19
-rw-r--r--graphics/trainers/old_couple.png (renamed from graphics/trainers/old_couple/front.png)bin1097 -> 1097 bytes
-rw-r--r--graphics/trainers/old_couple/palette.pal19
-rw-r--r--graphics/trainers/parasol_lady.png (renamed from graphics/trainers/parasol_lady/front.png)bin710 -> 710 bytes
-rw-r--r--graphics/trainers/parasol_lady/palette.pal19
-rw-r--r--graphics/trainers/phoebe.png (renamed from graphics/trainers/phoebe/front.png)bin661 -> 661 bytes
-rw-r--r--graphics/trainers/phoebe/palette.pal19
-rw-r--r--graphics/trainers/picnicker.png (renamed from graphics/trainers/picnicker/front.png)bin633 -> 633 bytes
-rw-r--r--graphics/trainers/picnicker/palette.pal19
-rw-r--r--graphics/trainers/pokefan_f.png (renamed from graphics/trainers/pokefan_f/front.png)bin849 -> 849 bytes
-rw-r--r--graphics/trainers/pokefan_f/palette.pal19
-rw-r--r--graphics/trainers/pokefan_m.png (renamed from graphics/trainers/pokefan_m/front.png)bin786 -> 786 bytes
-rw-r--r--graphics/trainers/pokefan_m/palette.pal19
-rw-r--r--graphics/trainers/pokemaniac.png (renamed from graphics/trainers/pokemaniac/front.png)bin793 -> 793 bytes
-rw-r--r--graphics/trainers/pokemaniac/palette.pal19
-rw-r--r--graphics/trainers/pokemon_breeder_f.png (renamed from graphics/trainers/pokemon_breeder_f/front.png)bin742 -> 742 bytes
-rw-r--r--graphics/trainers/pokemon_breeder_f/palette.pal19
-rw-r--r--graphics/trainers/pokemon_breeder_m.png (renamed from graphics/trainers/pokemon_breeder_m/front.png)bin709 -> 709 bytes
-rw-r--r--graphics/trainers/pokemon_breeder_m/palette.pal19
-rw-r--r--graphics/trainers/pokemon_ranger_f.png (renamed from graphics/trainers/pokemon_ranger_f/front.png)bin710 -> 710 bytes
-rw-r--r--graphics/trainers/pokemon_ranger_f/palette.pal19
-rw-r--r--graphics/trainers/pokemon_ranger_m.png (renamed from graphics/trainers/pokemon_ranger_m/front.png)bin709 -> 709 bytes
-rw-r--r--graphics/trainers/pokemon_ranger_m/palette.pal19
-rw-r--r--graphics/trainers/psychic_f.png (renamed from graphics/trainers/psychic_f/front.png)bin668 -> 668 bytes
-rw-r--r--graphics/trainers/psychic_f/palette.pal19
-rw-r--r--graphics/trainers/psychic_m.png (renamed from graphics/trainers/psychic_m/front.png)bin690 -> 690 bytes
-rw-r--r--graphics/trainers/psychic_m/palette.pal19
-rw-r--r--graphics/trainers/rich_boy.png (renamed from graphics/trainers/rich_boy/front.png)bin580 -> 580 bytes
-rw-r--r--graphics/trainers/rich_boy/palette.pal19
-rw-r--r--graphics/trainers/roxanne.png (renamed from graphics/trainers/roxanne/front.png)bin631 -> 631 bytes
-rw-r--r--graphics/trainers/roxanne/palette.pal19
-rw-r--r--graphics/trainers/ruin_maniac.png (renamed from graphics/trainers/ruin_maniac/front.png)bin782 -> 782 bytes
-rw-r--r--graphics/trainers/ruin_maniac/palette.pal19
-rw-r--r--graphics/trainers/running_triathlete_f.png (renamed from graphics/trainers/running_triathlete_f/front.png)bin585 -> 585 bytes
-rw-r--r--graphics/trainers/running_triathlete_f/palette.pal19
-rw-r--r--graphics/trainers/running_triathlete_m.png (renamed from graphics/trainers/running_triathlete_m/front.png)bin586 -> 586 bytes
-rw-r--r--graphics/trainers/running_triathlete_m/palette.pal19
-rw-r--r--graphics/trainers/sailor.png (renamed from graphics/trainers/sailor/front.png)bin801 -> 801 bytes
-rw-r--r--graphics/trainers/sailor/palette.pal19
-rw-r--r--graphics/trainers/school_kid_f.png (renamed from graphics/trainers/school_kid_f/front.png)bin548 -> 548 bytes
-rw-r--r--graphics/trainers/school_kid_f/palette.pal19
-rw-r--r--graphics/trainers/school_kid_m.png (renamed from graphics/trainers/school_kid_m/front.png)bin606 -> 606 bytes
-rw-r--r--graphics/trainers/school_kid_m/palette.pal19
-rw-r--r--graphics/trainers/sidney.png (renamed from graphics/trainers/sidney/front.png)bin696 -> 696 bytes
-rw-r--r--graphics/trainers/sidney/palette.pal19
-rw-r--r--graphics/trainers/sis_and_bro.png (renamed from graphics/trainers/sis_and_bro/front.png)bin934 -> 934 bytes
-rw-r--r--graphics/trainers/sis_and_bro/palette.pal19
-rw-r--r--graphics/trainers/sr_and_jr.png (renamed from graphics/trainers/sr_and_jr/front.png)bin1005 -> 1005 bytes
-rw-r--r--graphics/trainers/sr_and_jr/palette.pal19
-rw-r--r--graphics/trainers/steven.png (renamed from graphics/trainers/steven/front.png)bin703 -> 703 bytes
-rw-r--r--graphics/trainers/steven/palette.pal19
-rw-r--r--graphics/trainers/swimmer_f.png (renamed from graphics/trainers/swimmer_f/front.png)bin617 -> 617 bytes
-rw-r--r--graphics/trainers/swimmer_f/palette.pal19
-rw-r--r--graphics/trainers/swimmer_m.png (renamed from graphics/trainers/swimmer_m/front.png)bin584 -> 584 bytes
-rw-r--r--graphics/trainers/swimmer_m/palette.pal19
-rw-r--r--graphics/trainers/swimming_triathlete_f.png (renamed from graphics/trainers/swimming_triathlete_f/front.png)bin624 -> 624 bytes
-rw-r--r--graphics/trainers/swimming_triathlete_f/palette.pal19
-rw-r--r--graphics/trainers/swimming_triathlete_m.png (renamed from graphics/trainers/swimming_triathlete_m/front.png)bin675 -> 675 bytes
-rw-r--r--graphics/trainers/swimming_triathlete_m/palette.pal19
-rw-r--r--graphics/trainers/tate_and_liza.png (renamed from graphics/trainers/tate_and_liza/front.png)bin936 -> 936 bytes
-rw-r--r--graphics/trainers/tate_and_liza/palette.pal19
-rw-r--r--graphics/trainers/tuber_f.png (renamed from graphics/trainers/tuber_f/front.png)bin557 -> 557 bytes
-rw-r--r--graphics/trainers/tuber_f/palette.pal19
-rw-r--r--graphics/trainers/tuber_m.png (renamed from graphics/trainers/tuber_m/front.png)bin548 -> 548 bytes
-rw-r--r--graphics/trainers/tuber_m/palette.pal19
-rw-r--r--graphics/trainers/twins.png (renamed from graphics/trainers/twins/front.png)bin829 -> 829 bytes
-rw-r--r--graphics/trainers/twins/palette.pal19
-rw-r--r--graphics/trainers/unused_aqua.png (renamed from graphics/trainers/unused_aqua/front.png)bin752 -> 752 bytes
-rw-r--r--graphics/trainers/unused_aqua/palette.pal19
-rw-r--r--graphics/trainers/wallace.png (renamed from graphics/trainers/wallace/front.png)bin791 -> 791 bytes
-rw-r--r--graphics/trainers/wallace/palette.pal19
-rw-r--r--graphics/trainers/wally.png (renamed from graphics/trainers/wally/front.png)bin616 -> 616 bytes
-rw-r--r--graphics/trainers/wally/palette.pal19
-rw-r--r--graphics/trainers/wally_back.png (renamed from graphics/trainers/wally/back.png)bin1429 -> 1429 bytes
-rw-r--r--graphics/trainers/wattson.png (renamed from graphics/trainers/wattson/front.png)bin720 -> 720 bytes
-rw-r--r--graphics/trainers/wattson/palette.pal19
-rw-r--r--graphics/trainers/winona.png (renamed from graphics/trainers/winona/front.png)bin784 -> 784 bytes
-rw-r--r--graphics/trainers/winona/palette.pal19
-rw-r--r--graphics/trainers/young_couple.png (renamed from graphics/trainers/young_couple/front.png)bin805 -> 805 bytes
-rw-r--r--graphics/trainers/young_couple/palette.pal19
-rw-r--r--graphics/trainers/youngster.png (renamed from graphics/trainers/youngster/front.png)bin564 -> 564 bytes
-rw-r--r--graphics/trainers/youngster/palette.pal19
-rw-r--r--graphics/unknown/ball.pal19
-rw-r--r--graphics/unknown/unknown_D07B68.pal19
-rw-r--r--graphics/unknown/unknown_D1C060.pal19
-rw-r--r--graphics/unused/basic_frame.pal19
-rw-r--r--graphics/unused/cherry.pal19
-rw-r--r--graphics/unused/color_frames.pal19
-rw-r--r--graphics/unused/goosuto.pal19
-rw-r--r--graphics/unused/line_sketch.pal19
-rw-r--r--graphics/unused/numbers.pal19
-rw-r--r--graphics/unused/old_beatup.pal19
-rw-r--r--graphics/unused/old_charmap.pal19
-rw-r--r--graphics/unused/shadow.pal19
-rw-r--r--graphics/unused/water_splash.pal259
-rw-r--r--include/battle.h36
-rw-r--r--include/battle_ai.h5
-rw-r--r--include/battle_anim.h11
-rw-r--r--include/battle_interface.h2
-rw-r--r--include/battle_party_menu.h3
-rw-r--r--include/battle_tower.h98
-rw-r--r--include/berry.h29
-rw-r--r--include/bike.h53
-rw-r--r--include/choose_party.h10
-rw-r--r--include/daycare.h7
-rw-r--r--include/decompress.h2
-rw-r--r--include/decoration.h2
-rw-r--r--include/easy_chat.h2063
-rw-r--r--include/field_camera.h2
-rw-r--r--include/field_control_avatar.h2
-rw-r--r--include/field_effect_helpers.h6
-rw-r--r--include/field_map_obj.h68
-rw-r--r--include/field_player_avatar.h22
-rw-r--r--include/field_special_scene.h4
-rw-r--r--include/field_specials.h1
-rw-r--r--include/gba/defines.h9
-rw-r--r--include/gba/flash_internal.h10
-rw-r--r--include/gba/macro.h34
-rw-r--r--include/global.berry.h71
-rw-r--r--include/global.fieldmap.h53
-rw-r--r--include/global.h178
-rw-r--r--include/graphics.h9
-rw-r--r--include/items.h3
-rw-r--r--include/mail_data.h2
-rw-r--r--include/menu.h3
-rw-r--r--include/menu_cursor.h4
-rw-r--r--include/overworld.h43
-rw-r--r--include/party_menu.h172
-rw-r--r--include/pokeball.h1
-rw-r--r--include/pokedex.h12
-rw-r--r--include/pokemon.h85
-rw-r--r--include/pokemon_icon.h6
-rw-r--r--include/pokemon_menu.h6
-rw-r--r--include/pokemon_storage_system.h2
-rw-r--r--include/record_mixing.h2
-rw-r--r--include/rom3.h8
-rw-r--r--include/rom_8077ABC.h17
-rw-r--r--include/save.h2
-rw-r--r--include/script_movement.h2
-rw-r--r--include/script_pokemon_80F9.h6
-rw-r--r--include/secret_base.h19
-rw-r--r--include/sprite.h6
-rw-r--r--include/string_util.h2
-rw-r--r--include/strings2.h4
-rw-r--r--include/text.h7
-rw-r--r--include/trade.h66
-rw-r--r--include/tv.h1
-rw-r--r--include/use_pokeblock.h13
-rw-r--r--include/util.h1
-rw-r--r--include/vars.h2
-rw-r--r--ld_script.txt591
-rw-r--r--src/battle/battle_2.c (renamed from src/battle_2.c)102
-rw-r--r--src/battle/battle_3.c (renamed from src/battle_3.c)3432
-rw-r--r--src/battle/battle_4.c (renamed from src/battle_4.c)1773
-rw-r--r--src/battle/battle_7.c (renamed from src/battle_7.c)52
-rw-r--r--src/battle/battle_ai.c (renamed from src/battle_ai.c)199
-rw-r--r--src/battle/battle_anim.c (renamed from src/battle_anim.c)360
-rw-r--r--src/battle/battle_anim_807B69C.c (renamed from src/battle_anim_807B69C.c)16
-rw-r--r--src/battle/battle_anim_80A7E7C.c (renamed from src/battle_anim_80A7E7C.c)96
-rw-r--r--src/battle/battle_anim_80CA710.c18
-rw-r--r--src/battle/battle_controller_linkopponent.c (renamed from src/battle_controller_linkopponent.c)95
-rw-r--r--src/battle/battle_controller_linkpartner.c (renamed from src/battle_controller_linkpartner.c)94
-rw-r--r--src/battle/battle_controller_opponent.c (renamed from src/battle_controller_opponent.c)107
-rw-r--r--src/battle/battle_controller_player.c (renamed from src/battle_controller_player.c)116
-rw-r--r--src/battle/battle_controller_safari.c (renamed from src/battle_controller_safari.c)2
-rw-r--r--src/battle/battle_controller_wally.c (renamed from src/battle_controller_wally.c)82
-rw-r--r--src/battle/battle_interface.c (renamed from src/battle_interface.c)48
-rw-r--r--src/battle/battle_message.c (renamed from src/battle_message.c)8
-rw-r--r--src/battle/battle_party_menu.c (renamed from src/battle_party_menu.c)144
-rw-r--r--src/battle/battle_records.c (renamed from src/battle_records.c)19
-rw-r--r--src/battle/battle_setup.c (renamed from src/battle_setup.c)27
-rw-r--r--src/battle/battle_transition.c (renamed from src/battle_transition.c)0
-rw-r--r--src/battle/calculate_base_damage.c (renamed from src/calculate_base_damage.c)0
-rw-r--r--src/battle/contest_link_80C857C.c (renamed from src/contest_link_80C857C.c)0
-rw-r--r--src/battle/pokeball.c (renamed from src/pokeball.c)0
-rw-r--r--src/battle/post_battle_event_funcs.c (renamed from src/post_battle_event_funcs.c)0
-rw-r--r--src/battle/reshow_battle_screen.c (renamed from src/reshow_battle_screen.c)0
-rw-r--r--src/battle/smokescreen.c (renamed from src/smokescreen.c)0
-rw-r--r--src/bike.c1013
-rw-r--r--src/data/battle_tower/level_100_mons.h3903
-rw-r--r--src/data/battle_tower/level_50_mons.h3903
-rw-r--r--src/data/battle_tower/trainers.h1503
-rw-r--r--src/data/battle_tower/trainers_de.h1503
-rw-r--r--src/data/field_map_obj/anim_func_ptrs.h (renamed from include/data/field_map_obj/anim_func_ptrs.h)2
-rw-r--r--src/data/field_map_obj/base_oam.h (renamed from include/data/field_map_obj/base_oam.h)2
-rw-r--r--src/data/field_map_obj/berry_tree_graphics_tables.h (renamed from include/data/field_map_obj/berry_tree_graphics_tables.h)2
-rw-r--r--src/data/field_map_obj/callback_subroutine_pointers.h (renamed from include/data/field_map_obj/callback_subroutine_pointers.h)4
-rw-r--r--src/data/field_map_obj/field_effect_object_template_pointers.h (renamed from include/data/field_map_obj/field_effect_object_template_pointers.h)2
-rw-r--r--src/data/field_map_obj/field_effect_objects.h (renamed from include/data/field_map_obj/field_effect_objects.h)2
-rw-r--r--src/data/field_map_obj/map_object_anims.h (renamed from include/data/field_map_obj/map_object_anims.h)2
-rw-r--r--src/data/field_map_obj/map_object_graphics_info.h (renamed from include/data/field_map_obj/map_object_graphics_info.h)2
-rw-r--r--src/data/field_map_obj/map_object_graphics_info_pointers.h (renamed from include/data/field_map_obj/map_object_graphics_info_pointers.h)2
-rw-r--r--src/data/field_map_obj/map_object_pic_tables.h (renamed from include/data/field_map_obj/map_object_pic_tables.h)2
-rw-r--r--src/data/field_map_obj/map_object_subsprites.h (renamed from include/data/field_map_obj/map_object_subsprites.h)2
-rw-r--r--src/data/pokemon/base_stats.h (renamed from include/data/pokemon/base_stats.h)2
-rw-r--r--src/data/pokemon/cry_ids.h (renamed from include/data/pokemon/cry_ids.h)2
-rw-r--r--src/data/pokemon/dex_order.h (renamed from include/data/pokemon/dex_order.h)2
-rw-r--r--src/data/pokemon/egg_moves.h1318
-rw-r--r--src/data/pokemon/evolution.h (renamed from include/data/pokemon/evolution.h)2
-rw-r--r--src/data/pokemon/experience_tables.h (renamed from include/data/pokemon/experience_tables.h)2
-rw-r--r--src/data/pokemon/item_effects.h (renamed from include/data/pokemon/item_effects.h)2
-rw-r--r--src/data/pokemon/level_up_learnset_pointers.h (renamed from include/data/pokemon/level_up_learnset_pointers.h)2
-rw-r--r--src/data/pokemon/level_up_learnsets.h (renamed from include/data/pokemon/level_up_learnsets.h)2
-rw-r--r--src/data/pokemon/nature_stats.h (renamed from include/data/pokemon/nature_stats.h)2
-rw-r--r--src/data/pokemon/spinda_spots.h (renamed from include/data/pokemon/spinda_spots.h)2
-rw-r--r--src/data/pokemon/tmhm_learnsets.h (renamed from include/data/pokemon/tmhm_learnsets.h)2
-rw-r--r--src/data/pokemon/trainer_class_lookups.h (renamed from include/data/pokemon/trainer_class_lookups.h)2
-rw-r--r--src/daycare.c350
-rw-r--r--src/de_rom_8040FE0.c6
-rw-r--r--src/debug/matsuda_debug_menu.c (renamed from src/matsuda_debug_menu.c)8
-rw-r--r--src/debug/mori_debug_menu.c (renamed from src/mori_debug_menu.c)8
-rw-r--r--src/debug/sound_check_menu.c1300
-rw-r--r--src/debug/unknown_debug_menu.c (renamed from src/unknown_debug_menu.c)13
-rw-r--r--src/engine/blend_palette.c (renamed from src/blend_palette.c)0
-rw-r--r--src/engine/cable_club.c (renamed from src/cable_club.c)4
-rw-r--r--src/engine/clear_save_data_menu.c (renamed from src/clear_save_data_menu.c)0
-rw-r--r--src/engine/clock.c (renamed from src/clock.c)17
-rw-r--r--src/engine/decompress.c (renamed from src/decompress.c)2
-rw-r--r--src/engine/link.c (renamed from src/link.c)2
-rw-r--r--src/engine/load_save.c (renamed from src/load_save.c)0
-rw-r--r--src/engine/main.c (renamed from src/main.c)0
-rw-r--r--src/engine/main_menu.c (renamed from src/main_menu.c)0
-rw-r--r--src/engine/menu.c (renamed from src/menu.c)0
-rw-r--r--src/engine/menu_cursor.c (renamed from src/menu_cursor.c)0
-rw-r--r--src/engine/mystery_event_menu.c (renamed from src/mystery_event_menu.c)0
-rw-r--r--src/engine/mystery_event_script.c (renamed from src/mystery_event_script.c)10
-rw-r--r--src/engine/name_string_util.c (renamed from src/name_string_util.c)0
-rw-r--r--src/engine/naming_screen.c (renamed from src/naming_screen.c)2
-rw-r--r--src/engine/option_menu.c (renamed from src/option_menu.c)0
-rw-r--r--src/engine/palette.c (renamed from src/palette.c)2
-rw-r--r--src/engine/play_time.c (renamed from src/play_time.c)0
-rw-r--r--src/engine/record_mixing.c (renamed from src/record_mixing.c)46
-rw-r--r--src/engine/reset_rtc_screen.c (renamed from src/reset_rtc_screen.c)0
-rw-r--r--src/engine/rng.c (renamed from src/rng.c)0
-rw-r--r--src/engine/rtc.c (renamed from src/rtc.c)0
-rw-r--r--src/engine/save.c (renamed from src/save.c)6
-rw-r--r--src/engine/save_failed_screen.c (renamed from src/save_failed_screen.c)4
-rw-r--r--src/engine/save_menu_util.c (renamed from src/save_menu_util.c)0
-rw-r--r--src/engine/script.c (renamed from src/script.c)68
-rw-r--r--src/engine/sound.c (renamed from src/sound.c)2
-rw-r--r--src/engine/sprite.c (renamed from src/sprite.c)18
-rw-r--r--src/engine/string_util.c (renamed from src/string_util.c)34
-rw-r--r--src/engine/task.c (renamed from src/task.c)0
-rw-r--r--src/engine/text.c (renamed from src/text.c)250
-rw-r--r--src/engine/text_window.c (renamed from src/text_window.c)0
-rw-r--r--src/engine/tileset_anim.c (renamed from src/tileset_anim.c)46
-rw-r--r--src/engine/time_events.c (renamed from src/time_events.c)0
-rw-r--r--src/engine/trade.c5715
-rw-r--r--src/engine/trainer_card.c (renamed from src/trainer_card.c)56
-rw-r--r--src/engine/trig.c (renamed from src/trig.c)0
-rw-r--r--src/engine/util.c (renamed from src/util.c)0
-rw-r--r--src/field/bard_music.c (renamed from src/bard_music.c)0
-rw-r--r--src/field/battle_tower.c2375
-rw-r--r--src/field/berry.c (renamed from src/berry.c)529
-rw-r--r--src/field/berry_tag_screen.c (renamed from src/berry_tag_screen.c)0
-rw-r--r--src/field/bike.c1051
-rw-r--r--src/field/birch_pc.c (renamed from src/birch_pc.c)8
-rw-r--r--src/field/braille_puzzles.c (renamed from src/braille_puzzles.c)0
-rw-r--r--src/field/choose_party.c (renamed from src/choose_party.c)240
-rw-r--r--src/field/coins.c (renamed from src/coins.c)26
-rw-r--r--src/field/coord_event_weather.c (renamed from src/coord_event_weather.c)0
-rw-r--r--src/field/daycare.c1691
-rw-r--r--src/field/decoration.c (renamed from src/decoration.c)8
-rw-r--r--src/field/decoration_inventory.c (renamed from src/decoration_inventory.c)4
-rw-r--r--src/field/dewford_trend.c (renamed from src/dewford_trend.c)0
-rw-r--r--src/field/diploma.c (renamed from src/diploma.c)0
-rw-r--r--src/field/easy_chat.c (renamed from src/easy_chat.c)16
-rw-r--r--src/field/event_data.c (renamed from src/event_data.c)4
-rw-r--r--src/field/field_camera.c (renamed from src/field_camera.c)7
-rw-r--r--src/field/field_control_avatar.c (renamed from src/field_control_avatar.c)6
-rw-r--r--src/field/field_door.c (renamed from src/field_door.c)0
-rw-r--r--src/field/field_effect.c (renamed from src/field_effect.c)53
-rw-r--r--src/field/field_effect_helpers.c1632
-rw-r--r--src/field/field_fadetransition.c (renamed from src/field_fadetransition.c)14
-rw-r--r--src/field/field_ground_effect.c (renamed from src/field_ground_effect.c)51
-rw-r--r--src/field/field_map_obj.c (renamed from src/field_map_obj.c)529
-rw-r--r--src/field/field_map_obj_helpers.c (renamed from src/field_map_obj_helpers.c)4
-rw-r--r--src/field/field_message_box.c (renamed from src/field_message_box.c)0
-rw-r--r--src/field/field_player_avatar.c (renamed from src/field_player_avatar.c)212
-rw-r--r--src/field/field_poison.c (renamed from src/field_poison.c)2
-rw-r--r--src/field/field_region_map.c (renamed from src/field_region_map.c)0
-rw-r--r--src/field/field_screen_effect.c (renamed from src/field_screen_effect.c)2
-rw-r--r--src/field/field_special_scene.c (renamed from src/field_special_scene.c)85
-rw-r--r--src/field/field_specials.c (renamed from src/field_specials.c)42
-rw-r--r--src/field/field_tasks.c (renamed from src/field_tasks.c)8
-rw-r--r--src/field/field_weather.c (renamed from src/field_weather.c)4
-rw-r--r--src/field/fieldmap.c (renamed from src/fieldmap.c)12
-rw-r--r--src/field/fldeff_cut.c (renamed from src/fldeff_cut.c)0
-rw-r--r--src/field/fldeff_flash.c (renamed from src/fldeff_flash.c)0
-rw-r--r--src/field/fldeff_softboiled.c (renamed from src/fldeff_softboiled.c)8
-rw-r--r--src/field/fldeff_strength.c (renamed from src/fldeff_strength.c)0
-rw-r--r--src/field/fldeff_sweetscent.c (renamed from src/fldeff_sweetscent.c)0
-rw-r--r--src/field/fldeff_teleport.c (renamed from src/fldeff_teleport.c)0
-rw-r--r--src/field/heal_location.c (renamed from src/heal_location.c)0
-rw-r--r--src/field/hof_pc.c (renamed from src/hof_pc.c)2
-rw-r--r--src/field/item.c (renamed from src/item.c)8
-rw-r--r--src/field/item_menu.c (renamed from src/item_menu.c)6
-rw-r--r--src/field/item_use.c (renamed from src/item_use.c)36
-rw-r--r--src/field/landmark.c (renamed from src/landmark.c)0
-rw-r--r--src/field/lottery_corner.c (renamed from src/lottery_corner.c)0
-rw-r--r--src/field/map_name_popup.c (renamed from src/map_name_popup.c)0
-rw-r--r--src/field/map_obj_lock.c (renamed from src/map_obj_lock.c)2
-rw-r--r--src/field/mauville_man.c (renamed from src/mauville_man.c)0
-rw-r--r--src/field/menu_helpers.c (renamed from src/menu_helpers.c)0
-rw-r--r--src/field/metatile_behavior.c (renamed from src/metatile_behavior.c)0
-rw-r--r--src/field/money.c (renamed from src/money.c)0
-rw-r--r--src/field/overworld.c (renamed from src/overworld.c)178
-rw-r--r--src/field/party_menu.c5651
-rw-r--r--src/field/player_pc.c (renamed from src/player_pc.c)8
-rw-r--r--src/field/pokeblock.c (renamed from src/pokeblock.c)6
-rw-r--r--src/field/pokenav.c (renamed from src/pokenav.c)2
-rw-r--r--src/field/region_map.c (renamed from src/region_map.c)6
-rw-r--r--src/field/roamer.c (renamed from src/roamer.c)14
-rw-r--r--src/field/rotating_gate.c (renamed from src/rotating_gate.c)0
-rw-r--r--src/field/safari_zone.c (renamed from src/safari_zone.c)0
-rw-r--r--src/field/scrcmd.c (renamed from src/scrcmd.c)650
-rw-r--r--src/field/script_menu.c (renamed from src/script_menu.c)0
-rw-r--r--src/field/script_movement.c (renamed from src/script_movement.c)20
-rw-r--r--src/field/secret_base.c1711
-rw-r--r--src/field/shop.c (renamed from src/shop.c)2
-rw-r--r--src/field/slot_machine.c (renamed from src/slot_machine.c)12
-rw-r--r--src/field/start_menu.c (renamed from src/start_menu.c)0
-rw-r--r--src/field/starter_choose.c (renamed from src/starter_choose.c)0
-rw-r--r--src/field/trader.c (renamed from src/trader.c)0
-rw-r--r--src/field/trainer_see.c (renamed from src/trainer_see.c)2
-rw-r--r--src/field/tv.c (renamed from src/tv.c)17
-rw-r--r--src/field/use_pokeblock.c (renamed from src/use_pokeblock.c)8
-rw-r--r--src/field/wallclock.c (renamed from src/wallclock.c)0
-rw-r--r--src/field/wild_encounter.c (renamed from src/wild_encounter.c)0
-rw-r--r--src/libs/agb_flash.c (renamed from src/agb_flash.c)12
-rw-r--r--src/libs/agb_flash_1m.c (renamed from src/agb_flash_1m.c)0
-rw-r--r--src/libs/agb_flash_le.c (renamed from src/agb_flash_le.c)0
-rw-r--r--src/libs/agb_flash_mx.c (renamed from src/agb_flash_mx.c)2
-rw-r--r--src/libs/libc.c (renamed from src/libc.c)0
-rw-r--r--src/libs/m4a_2.c (renamed from src/m4a_2.c)0
-rw-r--r--src/libs/m4a_4.c (renamed from src/m4a_4.c)0
-rw-r--r--src/libs/m4a_tables.c (renamed from src/m4a_tables.c)0
-rw-r--r--src/libs/siirtc.c (renamed from src/siirtc.c)0
-rw-r--r--src/party_menu.c1494
-rw-r--r--src/pokemon/learn_move.c (renamed from src/learn_move.c)0
-rw-r--r--src/pokemon/mail.c (renamed from src/mail.c)0
-rw-r--r--src/pokemon/mail_data.c (renamed from src/mail_data.c)0
-rw-r--r--src/pokemon/mon_markings.c (renamed from src/mon_markings.c)0
-rw-r--r--src/pokemon/pokeblock_feed.c (renamed from src/pokeblock_feed.c)6
-rw-r--r--src/pokemon/pokedex.c (renamed from src/pokedex.c)106
-rw-r--r--src/pokemon/pokedex_cry_screen.c (renamed from src/pokedex_cry_screen.c)2
-rw-r--r--src/pokemon/pokemon_1.c (renamed from src/pokemon_1.c)116
-rw-r--r--src/pokemon/pokemon_2.c (renamed from src/pokemon_2.c)17
-rw-r--r--src/pokemon/pokemon_3.c (renamed from src/pokemon_3.c)48
-rw-r--r--src/pokemon/pokemon_data.c (renamed from src/pokemon_data.c)26
-rw-r--r--src/pokemon/pokemon_icon.c (renamed from src/pokemon_icon.c)7
-rw-r--r--src/pokemon/pokemon_menu.c (renamed from src/pokemon_menu.c)159
-rw-r--r--src/pokemon/pokemon_size_record.c (renamed from src/pokemon_size_record.c)2
-rw-r--r--src/pokemon/pokemon_storage_system.c (renamed from src/pokemon_storage_system.c)0
-rw-r--r--src/pokemon/pokemon_summary_screen.c (renamed from src/pokemon_summary_screen.c)0
-rw-r--r--src/rom3.c14
-rw-r--r--src/rom6.c6
-rw-r--r--src/rom_8077ABC.c258
-rw-r--r--src/scene/berry_blender.c (renamed from src/berry_blender.c)6
-rw-r--r--src/scene/contest_painting.c (renamed from src/contest_painting.c)4
-rw-r--r--src/scene/credits.c (renamed from src/credits.c)4
-rw-r--r--src/scene/cute_sketch.c (renamed from src/cute_sketch.c)0
-rw-r--r--src/scene/egg_hatch.c (renamed from src/egg_hatch.c)18
-rw-r--r--src/scene/evolution_graphics.c (renamed from src/evolution_graphics.c)0
-rw-r--r--src/scene/evolution_scene.c (renamed from src/evolution_scene.c)100
-rw-r--r--src/scene/hall_of_fame.c (renamed from src/hall_of_fame.c)2
-rw-r--r--src/scene/intro.c (renamed from src/intro.c)6
-rwxr-xr-xsrc/scene/intro_credits_graphics.c (renamed from src/intro_credits_graphics.c)0
-rw-r--r--src/scene/new_game.c (renamed from src/new_game.c)8
-rw-r--r--src/scene/title_screen.c (renamed from src/title_screen.c)0
-rw-r--r--src/script_pokemon_util_80C4BF0.c6
-rw-r--r--src/script_pokemon_util_80F99CC.c119
-rw-r--r--src/secret_base.c1075
-rw-r--r--src/sound_check_menu.c2199
-rw-r--r--src/trade.c88
-rw-r--r--src/unused_8124F94.c6
-rw-r--r--sym_bss.txt133
-rw-r--r--sym_common.txt72
-rw-r--r--sym_ewram.txt133
-rw-r--r--tools/gbagfx/convert_png.c237
-rw-r--r--tools/gbagfx/convert_png.h1
-rw-r--r--tools/gbagfx/main.c9
-rw-r--r--tools/scaninc/c_file.cpp175
-rw-r--r--tools/scaninc/c_file.h6
-rw-r--r--tools/scaninc/scaninc.cpp94
1303 files changed, 50319 insertions, 82193 deletions
diff --git a/Makefile b/Makefile
index e18b7b2f0..f471a1626 100644
--- a/Makefile
+++ b/Makefile
@@ -40,9 +40,9 @@ VERSIONS := ruby sapphire ruby_rev1 sapphire_rev1 ruby_rev2 sapphire_rev2 ruby_d
$(VERSIONS) $(VERSIONS:%=compare_%)
-$(shell mkdir -p build/ $(VERSIONS:%=build/%/{,src,asm,data}))
+$(shell mkdir -p build/ $(VERSIONS:%=build/%/{,asm,data,src{,/battle,/field,/debug,/scene,/pokemon,/engine,/libs}}))
-C_SRCS := $(wildcard src/*.c)
+C_SRCS := $(wildcard src/*/*.c) $(wildcard src/*.c)
ASM_SRCS := $(wildcard asm/*.s)
DATA_ASM_SRCS := $(wildcard data/*.s)
@@ -83,6 +83,7 @@ include override.mk
%.4bpp: %.png ; $(GFX) $< $@
%.8bpp: %.png ; $(GFX) $< $@
%.gbapal: %.pal ; $(GFX) $< $@
+%.gbapal: %.png ; $(GFX) $< $@
%.lz: % ; $(GFX) $< $@
%.rl: % ; $(GFX) $< $@
sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(AIF) $< $@ --compress
@@ -90,17 +91,17 @@ sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(A
sound/songs/%.s: sound/songs/%.mid
cd $(@D) && ../../$(MID) $(<F)
-%src/libc.o: CC1 := tools/agbcc/bin/old_agbcc
-%src/libc.o: CFLAGS := -O2
+%src/libs/libc.o: CC1 := tools/agbcc/bin/old_agbcc
+%src/libs/libc.o: CFLAGS := -O2
-%src/siirtc.o: CFLAGS := -mthumb-interwork
+%src/libs/siirtc.o: CFLAGS := -mthumb-interwork
-%src/agb_flash.o: CFLAGS := -O -mthumb-interwork
-%src/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork
-%src/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork
+%src/libs/agb_flash.o: CFLAGS := -O -mthumb-interwork
+%src/libs/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork
+%src/libs/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork
-%src/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc
-%src/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc
+%src/libs/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc
+%src/libs/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc
$(SONG_OBJS): %.o: %.s
$(AS) $(ASFLAGS) -I sound -o $@ $<
@@ -113,7 +114,8 @@ $1_ASM_OBJS := $$(ASM_SRCS:%.s=build/$1/%.o)
$1_DATA_ASM_OBJS := $$(DATA_ASM_SRCS:%.s=build/$1/%.o)
ifeq ($$(NODEP),)
-build/$1/src/%.o: c_dep = $$(shell $$(SCANINC) src/$$(*F).c)
+build/$1/src/%.o: c_path = $$(*D)/$$(*F).c
+build/$1/src/%.o: c_dep = $$(shell $$(SCANINC) -I include $$(wildcard $$(c_path:build/$1/=)))
build/$1/asm/%.o: asm_dep = $$(shell $$(SCANINC) asm/$$(*F).s)
build/$1/data/%.o: asm_dep = $$(shell $$(SCANINC) data/$$(*F).s)
endif
diff --git a/asm-de/contest_link_80C2020.s b/asm-de/contest_link_80C2020.s
index 646851c2d..65bbf0f22 100644
--- a/asm-de/contest_link_80C2020.s
+++ b/asm-de/contest_link_80C2020.s
@@ -1361,7 +1361,7 @@ _080C2B14:
adds r0, r6, 0
ldr r1, [sp, 0xC]
adds r2, r4, 0
- bl sub_80409C8
+ bl GetMonSpritePalStructFromOtIdPersonality
adds r4, r0, 0
bl LoadCompressedObjectPalette
adds r0, r6, 0
@@ -1601,7 +1601,7 @@ _080C2D42:
lsls r0, 16
lsrs r0, 16
movs r1, 0x2
- bl GetNationalPokedexFlag
+ bl GetSetPokedexFlag
adds r5, 0x40
subs r4, 0x1
cmp r4, 0
diff --git a/asm-de/easy_chat.s b/asm-de/easy_chat.s
index 2f6c28fdb..1d93e36b4 100644
--- a/asm-de/easy_chat.s
+++ b/asm-de/easy_chat.s
@@ -9984,7 +9984,7 @@ _080EAE50:
lsls r0, 16
lsrs r0, 16
movs r1, 0
- bl GetNationalPokedexFlag
+ bl GetSetPokedexFlag
b _080EAE7C
_080EAE62:
ldr r0, _080EAE74 @ =gUnknown_083DB694
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 7868f8492..f252e5716 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -1514,8 +1514,8 @@ _08012FE8: .4byte gUnknown_02024A76
_08012FEC: .4byte gTurnOrder
thumb_func_end sub_8012FBC
- thumb_func_start b_first_side
-b_first_side: @ 8012FF0
+ thumb_func_start GetWhoStrikesFirst
+GetWhoStrikesFirst: @ 8012FF0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -2003,7 +2003,7 @@ _080133B6:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end b_first_side
+ thumb_func_end GetWhoStrikesFirst
thumb_func_start sub_80133C8
sub_80133C8: @ 80133C8
@@ -2285,7 +2285,7 @@ _080135D0:
beq _0801360C
adds r0, r3, 0
movs r2, 0
- bl b_first_side
+ bl GetWhoStrikesFirst
lsls r0, 24
cmp r0, 0
beq _0801360C
diff --git a/asm/battle_9.s b/asm/battle_9.s
index 9f4beef55..e92c2db33 100644
--- a/asm/battle_9.s
+++ b/asm/battle_9.s
@@ -6,8 +6,8 @@
.text
- thumb_func_start ai_switch_perish_song
-ai_switch_perish_song: @ 8035FEC
+ thumb_func_start AI_SwitchIfPerishSong
+AI_SwitchIfPerishSong: @ 8035FEC
push {lr}
ldr r1, _08036038 @ =gStatuses3
ldr r0, _0803603C @ =gActiveBank
@@ -55,10 +55,10 @@ _0803604C:
_0803604E:
pop {r1}
bx r1
- thumb_func_end ai_switch_perish_song
+ thumb_func_end AI_SwitchIfPerishSong
- thumb_func_start sub_8036054
-sub_8036054: @ 8036054
+ thumb_func_start AI_SwitchIfWonderguard
+AI_SwitchIfWonderguard: @ 8036054
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -250,7 +250,7 @@ _080361D8: .4byte gBattleMons
_080361DC: .4byte gActiveBank
_080361E0: .4byte gEnemyParty
_080361E4: .4byte gBattlePartyID
- thumb_func_end sub_8036054
+ thumb_func_end AI_SwitchIfWonderguard
thumb_func_start sub_80361E8
sub_80361E8: @ 80361E8
@@ -521,8 +521,8 @@ _08036402:
bx r1
thumb_func_end sub_80361E8
- thumb_func_start ai_switchout_natural_cure
-ai_switchout_natural_cure: @ 8036410
+ thumb_func_start AI_SwitchIfNaturalCure
+AI_SwitchIfNaturalCure: @ 8036410
push {r4,r5,lr}
ldr r3, _08036468 @ =gBattleMons
ldr r5, _0803646C @ =gActiveBank
@@ -645,7 +645,7 @@ _08036500:
_08036508: .4byte gActiveBank
_0803650C: .4byte 0x02000000
_08036510: .4byte 0x000160c8
- thumb_func_end ai_switchout_natural_cure
+ thumb_func_end AI_SwitchIfNaturalCure
thumb_func_start ai_has_super_effective_move_on_field
ai_has_super_effective_move_on_field: @ 8036514
@@ -808,8 +808,8 @@ _08036654: .4byte gBattleMons
_08036658: .4byte gActiveBank
thumb_func_end ai_has_super_effective_move_on_field
- thumb_func_start ai_is_too_invested_in_stat_buffs
-ai_is_too_invested_in_stat_buffs: @ 803665C
+ thumb_func_start AI_AreStatsRaised
+AI_AreStatsRaised: @ 803665C
push {r4,lr}
movs r4, 0
ldr r1, _0803669C @ =gBattleMons
@@ -848,7 +848,7 @@ _08036696:
.align 2, 0
_0803669C: .4byte gBattleMons
_080366A0: .4byte gActiveBank
- thumb_func_end ai_is_too_invested_in_stat_buffs
+ thumb_func_end AI_AreStatsRaised
thumb_func_start sub_80366A4
sub_80366A4: @ 80366A4
@@ -1140,8 +1140,8 @@ _080368FC: .4byte gBattleMons
_08036900: .4byte gEnemyParty
thumb_func_end sub_80366A4
- thumb_func_start sub_8036904
-sub_8036904: @ 8036904
+ thumb_func_start AI_ShouldSwitch
+AI_ShouldSwitch: @ 8036904
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -1331,11 +1331,11 @@ _08036A7E:
mov r2, r8
cmp r2, 0
beq _08036AFC
- bl ai_switch_perish_song
+ bl AI_SwitchIfPerishSong
lsls r0, 24
cmp r0, 0
bne _08036AE4
- bl sub_8036054
+ bl AI_SwitchIfWonderguard
lsls r0, 24
cmp r0, 0
bne _08036AE4
@@ -1343,7 +1343,7 @@ _08036A7E:
lsls r0, 24
cmp r0, 0
bne _08036AE4
- bl ai_switchout_natural_cure
+ bl AI_SwitchIfNaturalCure
lsls r0, 24
cmp r0, 0
bne _08036AE4
@@ -1352,7 +1352,7 @@ _08036A7E:
lsls r0, 24
cmp r0, 0
bne _08036AFC
- bl ai_is_too_invested_in_stat_buffs
+ bl AI_AreStatsRaised
lsls r0, 24
cmp r0, 0
bne _08036AFC
@@ -1386,7 +1386,7 @@ _08036AFE:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_8036904
+ thumb_func_end AI_ShouldSwitch
thumb_func_start sub_8036B0C
sub_8036B0C: @ 8036B0C
@@ -1399,7 +1399,7 @@ sub_8036B0C: @ 8036B0C
bne _08036B1C
b _08036C2E
_08036B1C:
- bl sub_8036904
+ bl AI_ShouldSwitch
lsls r0, 24
cmp r0, 0
bne _08036B28
@@ -1521,7 +1521,7 @@ _08036C18: .4byte 0x00016068
_08036C1C: .4byte gActiveBank
_08036C20: .4byte 0x000160c8
_08036C24:
- bl sub_803708C
+ bl AI_ShouldUseItem
lsls r0, 24
cmp r0, 0
bne _08036C40
@@ -2083,8 +2083,8 @@ _08037086:
bx r1
thumb_func_end ai_identify_item_effect
- thumb_func_start sub_803708C
-sub_803708C: @ 803708C
+ thumb_func_start AI_ShouldUseItem
+AI_ShouldUseItem: @ 803708C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -2665,6 +2665,6 @@ _080374FA:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_803708C
+ thumb_func_end AI_ShouldUseItem
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80CA710.s b/asm/battle_anim_80CA710.s
index fd5b9fb88..92ad421bb 100644
--- a/asm/battle_anim_80CA710.s
+++ b/asm/battle_anim_80CA710.s
@@ -23,7 +23,7 @@ sub_80CA710: @ 80CA710
strh r0, [r4, 0x2E]
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x30]
- ldr r0, _080CA748 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CA748 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -34,7 +34,7 @@ sub_80CA710: @ 80CA710
b _080CA74E
.align 2, 0
_080CA744: .4byte gBattleAnimArgs
-_080CA748: .4byte gBattleAnimPlayerMonIndex
+_080CA748: .4byte gBattleAnimBankAttacker
_080CA74C:
ldrh r0, [r5, 0x8]
_080CA74E:
@@ -101,7 +101,7 @@ sub_80CA7B0: @ 80CA7B0
ldr r0, _080CA7F0 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E]
- ldr r5, _080CA7F4 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080CA7F4 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -118,13 +118,13 @@ sub_80CA7B0: @ 80CA7B0
str r0, [r4, 0x1C]
ldr r1, _080CA7FC @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080CA7F0: .4byte gBattleAnimArgs
-_080CA7F4: .4byte gBattleAnimPlayerMonIndex
+_080CA7F4: .4byte gBattleAnimBankAttacker
_080CA7F8: .4byte sub_8078B34
_080CA7FC: .4byte move_anim_8074EE0
thumb_func_end sub_80CA7B0
@@ -141,7 +141,7 @@ sub_80CA800: @ 80CA800
bl StartSpriteAnim
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x2E]
- ldr r5, _080CA84C @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080CA84C @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -158,13 +158,13 @@ sub_80CA800: @ 80CA800
str r0, [r4, 0x1C]
ldr r1, _080CA854 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080CA848: .4byte gBattleAnimArgs
-_080CA84C: .4byte gBattleAnimEnemyMonIndex
+_080CA84C: .4byte gBattleAnimBankTarget
_080CA850: .4byte sub_8078B34
_080CA854: .4byte move_anim_8072740
thumb_func_end sub_80CA800
@@ -180,7 +180,7 @@ sub_80CA858: @ 80CA858
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
strh r0, [r4, 0x30]
- ldr r5, _080CA8AC @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080CA8AC @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -208,7 +208,7 @@ sub_80CA858: @ 80CA858
bx r0
.align 2, 0
_080CA8A8: .4byte gBattleAnimArgs
-_080CA8AC: .4byte gBattleAnimEnemyMonIndex
+_080CA8AC: .4byte gBattleAnimBankTarget
_080CA8B0: .4byte sub_80CA8B4
thumb_func_end sub_80CA858
@@ -228,15 +228,15 @@ _080CA8CA:
ldrsh r0, [r4, r1]
cmp r0, 0x7F
ble _080CA8E4
- ldr r0, _080CA8E0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CA8E0 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079E90
adds r0, 0x1
b _080CA8EE
.align 2, 0
-_080CA8E0: .4byte gBattleAnimEnemyMonIndex
+_080CA8E0: .4byte gBattleAnimBankTarget
_080CA8E4:
- ldr r0, _080CA924 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CA924 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079E90
adds r0, 0x6
@@ -268,7 +268,7 @@ _080CA91E:
pop {r0}
bx r0
.align 2, 0
-_080CA924: .4byte gBattleAnimEnemyMonIndex
+_080CA924: .4byte gBattleAnimBankTarget
thumb_func_end sub_80CA8B4
thumb_func_start sub_80CA928
@@ -305,7 +305,7 @@ sub_80CA928: @ 80CA928
strh r0, [r1, 0x4]
strh r2, [r1, 0x6]
ldr r4, _080CA9A0 @ =gSpriteTemplate_83D631C
- ldr r0, _080CA9A4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CA9A4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079E90
adds r3, r0, 0
@@ -331,7 +331,7 @@ _080CA990:
_080CA998: .4byte gTasks
_080CA99C: .4byte gBattleAnimArgs
_080CA9A0: .4byte gSpriteTemplate_83D631C
-_080CA9A4: .4byte gBattleAnimEnemyMonIndex
+_080CA9A4: .4byte gBattleAnimBankTarget
thumb_func_end sub_80CA928
thumb_func_start sub_80CA9A8
@@ -343,7 +343,7 @@ sub_80CA9A8: @ 80CA9A8
ldr r6, _080CA9EC @ =gBattleAnimArgs
ldrh r0, [r6, 0x6]
strh r0, [r4, 0x2E]
- ldr r5, _080CA9F0 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080CA9F0 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -367,7 +367,7 @@ sub_80CA9A8: @ 80CA9A8
bx r0
.align 2, 0
_080CA9EC: .4byte gBattleAnimArgs
-_080CA9F0: .4byte gBattleAnimPlayerMonIndex
+_080CA9F0: .4byte gBattleAnimBankAttacker
_080CA9F4: .4byte sub_80CA9F8
thumb_func_end sub_80CA9A8
@@ -399,7 +399,7 @@ sub_80CAA14: @ 80CAA14
ands r1, r0
adds r0, r5, 0
bl StartSpriteAnim
- ldr r4, _080CAA5C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CAA5C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -421,7 +421,7 @@ sub_80CAA14: @ 80CAA14
subs r0, 0x14
b _080CAA64
.align 2, 0
-_080CAA5C: .4byte gBattleAnimPlayerMonIndex
+_080CAA5C: .4byte gBattleAnimBankAttacker
_080CAA60:
ldrh r0, [r5, 0x20]
adds r0, 0x14
@@ -436,7 +436,7 @@ _080CAA64:
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, _080CAAC4 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CAAC4 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -469,7 +469,7 @@ _080CAA64:
pop {r0}
bx r0
.align 2, 0
-_080CAAC4: .4byte gBattleAnimEnemyMonIndex
+_080CAAC4: .4byte gBattleAnimBankTarget
_080CAAC8: .4byte sub_80CAACC
thumb_func_end sub_80CAA14
@@ -522,7 +522,7 @@ sub_80CAB18: @ 80CAB18
adds r6, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _080CAB78 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CAB78 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -536,7 +536,7 @@ _080CAB38:
ldr r4, _080CAB7C @ =gBattleAnimArgs
ldrh r0, [r4, 0x8]
strh r0, [r6, 0x2E]
- ldr r5, _080CAB80 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080CAB80 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0
bl sub_8077ABC
@@ -563,9 +563,9 @@ _080CAB38:
pop {r0}
bx r0
.align 2, 0
-_080CAB78: .4byte gBattleAnimPlayerMonIndex
+_080CAB78: .4byte gBattleAnimBankAttacker
_080CAB7C: .4byte gBattleAnimArgs
-_080CAB80: .4byte gBattleAnimEnemyMonIndex
+_080CAB80: .4byte gBattleAnimBankTarget
_080CAB84: .4byte sub_80CAB88
thumb_func_end sub_80CAB18
@@ -589,7 +589,7 @@ sub_80CAB88: @ 80CAB88
str r0, [r4, 0x1C]
ldr r1, _080CABBC @ =sub_80CABC0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_080CABB2:
pop {r4}
pop {r0}
@@ -619,7 +619,7 @@ sub_80CABC0: @ 80CABC0
str r0, [r4, 0x1C]
ldr r1, _080CABF4 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -693,7 +693,7 @@ sub_80CAC44: @ 80CAC44
lsrs r0, 16
cmp r0, 0x7F
bhi _080CAC98
- ldr r0, _080CAC94 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CAC94 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
movs r1, 0x3
@@ -706,9 +706,9 @@ sub_80CAC44: @ 80CAC44
orrs r0, r1
b _080CACBC
.align 2, 0
-_080CAC94: .4byte gBattleAnimEnemyMonIndex
+_080CAC94: .4byte gBattleAnimBankTarget
_080CAC98:
- ldr r0, _080CACE8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CACE8 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
adds r0, 0x1
@@ -749,7 +749,7 @@ _080CACE0:
pop {r0}
bx r0
.align 2, 0
-_080CACE8: .4byte gBattleAnimEnemyMonIndex
+_080CACE8: .4byte gBattleAnimBankTarget
thumb_func_end sub_80CAC44
thumb_func_start sub_80CACEC
@@ -757,7 +757,7 @@ sub_80CACEC: @ 80CACEC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080CAD06
@@ -770,7 +770,7 @@ _080CAD06:
bl DestroyAnimVisualTask
b _080CAD4A
_080CAD0E:
- ldr r0, _080CAD2C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CAD2C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -784,7 +784,7 @@ _080CAD0E:
strb r1, [r0]
b _080CAD44
.align 2, 0
-_080CAD2C: .4byte gBattleAnimEnemyMonIndex
+_080CAD2C: .4byte gBattleAnimBankTarget
_080CAD30: .4byte REG_BG2CNT
_080CAD34:
ldr r2, _080CAD50 @ =REG_BG1CNT
@@ -820,7 +820,7 @@ sub_80CAD54: @ 80CAD54
strh r0, [r4, 0x32]
ldrh r0, [r4, 0x22]
strh r0, [r4, 0x34]
- ldr r0, _080CADA0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CADA0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
bl sub_8077ABC
@@ -842,7 +842,7 @@ sub_80CAD54: @ 80CAD54
bx r0
.align 2, 0
_080CAD9C: .4byte gBattleAnimArgs
-_080CADA0: .4byte gBattleAnimPlayerMonIndex
+_080CADA0: .4byte gBattleAnimBankAttacker
_080CADA4: .4byte sub_80CADA8
thumb_func_end sub_80CAD54
@@ -875,15 +875,15 @@ sub_80CADA8: @ 80CADA8
lsrs r0, 16
cmp r0, 0x7F
bhi _080CADF4
- ldr r0, _080CADF0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CADF0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079E90
subs r0, 0x1
b _080CADFE
.align 2, 0
-_080CADF0: .4byte gBattleAnimPlayerMonIndex
+_080CADF0: .4byte gBattleAnimBankAttacker
_080CADF4:
- ldr r0, _080CAE10 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CAE10 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079E90
adds r0, 0x1
@@ -898,7 +898,7 @@ _080CADFE:
strh r0, [r4, 0x38]
b _080CAE1A
.align 2, 0
-_080CAE10: .4byte gBattleAnimPlayerMonIndex
+_080CAE10: .4byte gBattleAnimBankAttacker
_080CAE14:
adds r0, r4, 0
bl move_anim_8072740
@@ -922,7 +922,7 @@ sub_80CAE20: @ 80CAE20
strh r0, [r4, 0x32]
ldrh r0, [r4, 0x22]
strh r0, [r4, 0x34]
- ldr r0, _080CAE6C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CAE6C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
bl sub_8077ABC
@@ -944,7 +944,7 @@ sub_80CAE20: @ 80CAE20
bx r0
.align 2, 0
_080CAE68: .4byte gBattleAnimArgs
-_080CAE6C: .4byte gBattleAnimPlayerMonIndex
+_080CAE6C: .4byte gBattleAnimBankAttacker
_080CAE70: .4byte sub_80CAE74
thumb_func_end sub_80CAE20
@@ -1007,7 +1007,7 @@ _080CAED2:
sub_80CAED8: @ 80CAED8
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _080CAF14 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080CAF14 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -1033,7 +1033,7 @@ sub_80CAED8: @ 80CAED8
pop {r0}
bx r0
.align 2, 0
-_080CAF14: .4byte gBattleAnimPlayerMonIndex
+_080CAF14: .4byte gBattleAnimBankAttacker
_080CAF18: .4byte gBattleAnimArgs
_080CAF1C: .4byte sub_80CAF20
thumb_func_end sub_80CAED8
@@ -1087,7 +1087,7 @@ _080CAF68:
sub_80CAF6C: @ 80CAF6C
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080CAF8C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CAF8C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -1100,7 +1100,7 @@ sub_80CAF6C: @ 80CAF6C
negs r0, r0
b _080CAF9A
.align 2, 0
-_080CAF8C: .4byte gBattleAnimPlayerMonIndex
+_080CAF8C: .4byte gBattleAnimBankAttacker
_080CAF90:
movs r1, 0x2E
ldrsh r0, [r4, r1]
@@ -1142,7 +1142,7 @@ sub_80CAFD0: @ 80CAFD0
adds r5, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _080CB024 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CB024 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -1160,7 +1160,7 @@ _080CAFF0:
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080CB030
- ldr r4, _080CB02C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CB02C @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -1178,11 +1178,11 @@ _080CAFF0:
adds r0, r6
b _080CB050
.align 2, 0
-_080CB024: .4byte gBattleAnimPlayerMonIndex
+_080CB024: .4byte gBattleAnimBankAttacker
_080CB028: .4byte gBattleAnimArgs
-_080CB02C: .4byte gBattleAnimEnemyMonIndex
+_080CB02C: .4byte gBattleAnimBankTarget
_080CB030:
- ldr r0, _080CB07C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CB07C @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -1204,11 +1204,11 @@ _080CB050:
strh r0, [r5, 0x38]
adds r0, r5, 0
bl sub_80786EC
- ldr r0, _080CB084 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CB084 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
adds r4, r0, 0
- ldr r0, _080CB07C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CB07C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r4, 24
@@ -1218,9 +1218,9 @@ _080CB050:
movs r0, 0x1
b _080CB08A
.align 2, 0
-_080CB07C: .4byte gBattleAnimEnemyMonIndex
+_080CB07C: .4byte gBattleAnimBankTarget
_080CB080: .4byte gBattleAnimArgs
-_080CB084: .4byte gBattleAnimPlayerMonIndex
+_080CB084: .4byte gBattleAnimBankAttacker
_080CB088:
movs r0, 0
_080CB08A:
@@ -1329,7 +1329,7 @@ _080CB13C:
sub_80CB144: @ 80CB144
push {r4,lr}
adds r4, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080CB170
@@ -1338,7 +1338,7 @@ sub_80CB144: @ 80CB144
lsrs r0, 24
cmp r0, 0x1
bne _080CB170
- ldr r0, _080CB198 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CB198 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -1367,7 +1367,7 @@ _080CB170:
pop {r0}
bx r0
.align 2, 0
-_080CB198: .4byte gBattleAnimEnemyMonIndex
+_080CB198: .4byte gBattleAnimBankTarget
_080CB19C: .4byte gBattleAnimArgs
_080CB1A0: .4byte sub_80CB1A4
thumb_func_end sub_80CB144
@@ -1426,7 +1426,7 @@ _080CB1E0:
ldrsh r0, [r4, r1]
cmp r0, 0x7F
bgt _080CB220
- ldr r0, _080CB21C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CB21C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
lsls r0, 24
@@ -1434,9 +1434,9 @@ _080CB1E0:
subs r0, 0x1
b _080CB22E
.align 2, 0
-_080CB21C: .4byte gBattleAnimEnemyMonIndex
+_080CB21C: .4byte gBattleAnimBankTarget
_080CB220:
- ldr r0, _080CB258 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CB258 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
lsls r0, 24
@@ -1465,7 +1465,7 @@ _080CB252:
pop {r0}
bx r0
.align 2, 0
-_080CB258: .4byte gBattleAnimEnemyMonIndex
+_080CB258: .4byte gBattleAnimBankTarget
thumb_func_end sub_80CB1A4
thumb_func_start sub_80CB25C
@@ -1514,7 +1514,7 @@ sub_80CB298: @ 80CB298
ands r0, r1
strb r0, [r2]
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
movs r0, 0x80
lsls r0, 1
strh r0, [r4, 0x2E]
@@ -1535,7 +1535,7 @@ sub_80CB2D4: @ 80CB2D4
push {r4,lr}
adds r4, r0, 0
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
movs r1, 0x32
ldrsh r0, [r4, r1]
cmp r0, 0
@@ -1596,7 +1596,7 @@ sub_80CB340: @ 80CB340
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r2, r0, 24
ldr r1, _080CB36C @ =gSprites
@@ -1650,7 +1650,7 @@ sub_80CB3A8: @ 80CB3A8
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
@@ -1671,7 +1671,7 @@ sub_80CB3A8: @ 80CB3A8
lsls r1, 16
asrs r1, 24
strh r1, [r5, 0x24]
- ldr r0, _080CB430 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CB430 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -1709,7 +1709,7 @@ _080CB420:
.align 2, 0
_080CB428: .4byte gTasks
_080CB42C: .4byte gSprites
-_080CB430: .4byte gBattleAnimEnemyMonIndex
+_080CB430: .4byte gBattleAnimBankTarget
_080CB434: .4byte sub_80CB438
thumb_func_end sub_80CB3A8
@@ -1734,7 +1734,7 @@ sub_80CB438: @ 80CB438
cmp r5, 0
bne _080CB4A8
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -1800,7 +1800,7 @@ sub_80CB4CC: @ 80CB4CC
beq _080CB538
b _080CB58A
_080CB4DE:
- ldr r6, _080CB530 @ =gBattleAnimEnemyMonIndex
+ ldr r6, _080CB530 @ =gBattleAnimBankTarget
ldrb r0, [r6]
bl GetBankSide
lsls r0, 24
@@ -1840,7 +1840,7 @@ _080CB4F6:
strh r0, [r5, 0x2E]
b _080CB58A
.align 2, 0
-_080CB530: .4byte gBattleAnimEnemyMonIndex
+_080CB530: .4byte gBattleAnimBankTarget
_080CB534: .4byte gBattleAnimArgs
_080CB538:
adds r2, r5, 0
@@ -1862,7 +1862,7 @@ _080CB538:
bl ChangeSpriteAffineAnim
movs r0, 0x19
strh r0, [r5, 0x2E]
- ldr r4, _080CB590 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CB590 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -1879,13 +1879,13 @@ _080CB538:
str r0, [r5, 0x1C]
ldr r1, _080CB598 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_080CB58A:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080CB590: .4byte gBattleAnimPlayerMonIndex
+_080CB590: .4byte gBattleAnimBankAttacker
_080CB594: .4byte sub_8078CC0
_080CB598: .4byte move_anim_8072740
thumb_func_end sub_80CB4CC
@@ -1898,7 +1898,7 @@ sub_80CB59C: @ 80CB59C
ldrsh r0, [r5, r1]
cmp r0, 0
bne _080CB608
- ldr r4, _080CB614 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CB614 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -1950,7 +1950,7 @@ _080CB608:
pop {r0}
bx r0
.align 2, 0
-_080CB614: .4byte gBattleAnimPlayerMonIndex
+_080CB614: .4byte gBattleAnimBankAttacker
_080CB618: .4byte gBattleAnimArgs
_080CB61C: .4byte sub_80CB710
thumb_func_end sub_80CB59C
@@ -1964,7 +1964,7 @@ sub_80CB620: @ 80CB620
push {r4-r6}
sub sp, 0x4
mov r9, r0
- ldr r4, _080CB6FC @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CB6FC @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -1979,7 +1979,7 @@ sub_80CB620: @ 80CB620
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r6, _080CB700 @ =gBattleAnimEnemyMonIndex
+ ldr r6, _080CB700 @ =gBattleAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
bl sub_8077ABC
@@ -2060,8 +2060,8 @@ sub_80CB620: @ 80CB620
pop {r0}
bx r0
.align 2, 0
-_080CB6FC: .4byte gBattleAnimPlayerMonIndex
-_080CB700: .4byte gBattleAnimEnemyMonIndex
+_080CB6FC: .4byte gBattleAnimBankAttacker
+_080CB700: .4byte gBattleAnimBankTarget
_080CB704: .4byte gBattleAnimArgs
_080CB708: .4byte sub_80CB710
_080CB70C: .4byte gUnknown_03000728
@@ -2123,7 +2123,7 @@ sub_80CB768: @ 80CB768
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080CB7A8
- ldr r5, _080CB7E4 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080CB7E4 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -2178,7 +2178,7 @@ _080CB7DE:
pop {r0}
bx r0
.align 2, 0
-_080CB7E4: .4byte gBattleAnimPlayerMonIndex
+_080CB7E4: .4byte gBattleAnimBankAttacker
_080CB7E8: .4byte gBattleAnimArgs
thumb_func_end sub_80CB768
@@ -2380,7 +2380,7 @@ sub_80CB94C: @ 80CB94C
adds r5, r0, 0
movs r1, 0
bl sub_80787B0
- ldr r4, _080CB994 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CB994 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -2391,7 +2391,7 @@ sub_80CB94C: @ 80CB94C
bl sub_8077ABC
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _080CB998 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CB998 @ =gBattleAnimBankAttacker
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
@@ -2408,8 +2408,8 @@ sub_80CB94C: @ 80CB94C
movs r0, 0x1
b _080CB9AE
.align 2, 0
-_080CB994: .4byte gBattleAnimEnemyMonIndex
-_080CB998: .4byte gBattleAnimPlayerMonIndex
+_080CB994: .4byte gBattleAnimBankTarget
+_080CB998: .4byte gBattleAnimBankAttacker
_080CB99C:
strh r6, [r5, 0x3A]
adds r0, r2, 0
@@ -2487,7 +2487,7 @@ _080CBA20:
sub_80CBA28: @ 80CBA28
push {r4-r6,lr}
adds r5, r0, 0
- ldr r4, _080CBA64 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CBA64 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x1
bl sub_8077ABC
@@ -2513,7 +2513,7 @@ sub_80CBA28: @ 80CBA28
ldr r0, _080CBA68 @ =sub_80CB8E8
b _080CBA96
.align 2, 0
-_080CBA64: .4byte gBattleAnimEnemyMonIndex
+_080CBA64: .4byte gBattleAnimBankTarget
_080CBA68: .4byte sub_80CB8E8
_080CBA6C:
movs r0, 0xFF
@@ -2521,7 +2521,7 @@ _080CBA6C:
adds r0, r6, 0
adds r0, 0xA
strh r0, [r5, 0x3C]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CBA84
@@ -2589,7 +2589,7 @@ sub_80CBAE8: @ 80CBAE8
adds r5, r0, 0
movs r1, 0
bl sub_8078764
- ldr r4, _080CBB30 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CBB30 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -2600,7 +2600,7 @@ sub_80CBAE8: @ 80CBAE8
bl sub_8077ABC
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _080CBB34 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CBB34 @ =gBattleAnimBankTarget
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
@@ -2617,8 +2617,8 @@ sub_80CBAE8: @ 80CBAE8
movs r0, 0x1
b _080CBB4A
.align 2, 0
-_080CBB30: .4byte gBattleAnimPlayerMonIndex
-_080CBB34: .4byte gBattleAnimEnemyMonIndex
+_080CBB30: .4byte gBattleAnimBankAttacker
+_080CBB34: .4byte gBattleAnimBankTarget
_080CBB38:
strh r6, [r5, 0x3A]
adds r0, r2, 0
@@ -2721,7 +2721,7 @@ sub_80CBBF0: @ 80CBBF0
ldrsh r0, [r4, r1]
cmp r0, 0
bne _080CBC84
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080CBC18
@@ -2917,7 +2917,7 @@ _080CBD44:
movs r1, 0xFF
ands r0, r1
strh r0, [r4, 0x30]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080CBD92
@@ -3002,7 +3002,7 @@ sub_80CBDF4: @ 80CBDF4
lsls r0, 3
ldr r1, _080CBF48 @ =gTasks
adds r5, r0, r1
- ldr r4, _080CBF4C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CBF4C @ =gBattleAnimBankTarget
ldrb r0, [r4]
bl sub_8079E90
lsls r0, 24
@@ -3156,7 +3156,7 @@ _080CBE94:
bx r0
.align 2, 0
_080CBF48: .4byte gTasks
-_080CBF4C: .4byte gBattleAnimEnemyMonIndex
+_080CBF4C: .4byte gBattleAnimBankTarget
_080CBF50: .4byte gSpriteTemplate_83D6884
_080CBF54: .4byte gSprites
_080CBF58: .4byte sub_80CBF5C
@@ -3832,13 +3832,13 @@ sub_80CC474: @ 80CC474
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080CC490
- ldr r0, _080CC48C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CC48C @ =gBattleAnimBankAttacker
b _080CC492
.align 2, 0
_080CC488: .4byte gBattleAnimArgs
-_080CC48C: .4byte gBattleAnimPlayerMonIndex
+_080CC48C: .4byte gBattleAnimBankAttacker
_080CC490:
- ldr r0, _080CC4B0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CC4B0 @ =gBattleAnimBankTarget
_080CC492:
ldrb r6, [r0]
adds r0, r6, 0
@@ -3854,7 +3854,7 @@ _080CC492:
ldr r0, _080CC4B8 @ =0x0000fff0
b _080CC4CC
.align 2, 0
-_080CC4B0: .4byte gBattleAnimEnemyMonIndex
+_080CC4B0: .4byte gBattleAnimBankTarget
_080CC4B4: .4byte gBattleAnimArgs
_080CC4B8: .4byte 0x0000fff0
_080CC4BC:
@@ -3923,7 +3923,7 @@ _080CC518:
strb r0, [r4, 0x5]
b _080CC56C
_080CC534:
- ldr r0, _080CC578 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CC578 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x3
bl sub_8077ABC
@@ -3933,7 +3933,7 @@ _080CC534:
adds r0, r7
strh r0, [r4, 0x22]
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
_080CC54E:
adds r0, r6, 0
bl sub_8079ED4
@@ -3956,7 +3956,7 @@ _080CC56C:
pop {r0}
bx r0
.align 2, 0
-_080CC578: .4byte gBattleAnimEnemyMonIndex
+_080CC578: .4byte gBattleAnimBankTarget
_080CC57C: .4byte sub_80CC580
thumb_func_end sub_80CC474
@@ -4149,12 +4149,12 @@ _080CC6E8:
ldrsh r0, [r1, r3]
cmp r0, 0
bne _080CC6F8
- ldr r4, _080CC6F4 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CC6F4 @ =gBattleAnimBankAttacker
b _080CC6FA
.align 2, 0
-_080CC6F4: .4byte gBattleAnimPlayerMonIndex
+_080CC6F4: .4byte gBattleAnimBankAttacker
_080CC6F8:
- ldr r4, _080CC734 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CC734 @ =gBattleAnimBankTarget
_080CC6FA:
ldrb r0, [r4]
movs r1, 0x2
@@ -4184,7 +4184,7 @@ _080CC6FA:
strh r2, [r6, 0x3A]
b _080CC74C
.align 2, 0
-_080CC734: .4byte gBattleAnimEnemyMonIndex
+_080CC734: .4byte gBattleAnimBankTarget
_080CC738: .4byte gBattleAnimArgs
_080CC73C:
strh r5, [r6, 0x20]
@@ -4233,7 +4233,7 @@ _080CC74C:
bl sub_80790F0
lsls r0, 16
lsrs r4, r0, 16
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CC7AE
@@ -4317,7 +4317,7 @@ _080CC826:
sub_80CC82C: @ 80CC82C
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080CC84C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CC84C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -4331,7 +4331,7 @@ sub_80CC82C: @ 80CC82C
ldrh r0, [r2, 0x2]
b _080CC860
.align 2, 0
-_080CC84C: .4byte gBattleAnimPlayerMonIndex
+_080CC84C: .4byte gBattleAnimBankAttacker
_080CC850: .4byte gBattleAnimArgs
_080CC854:
ldr r0, _080CC878 @ =gBattleAnimArgs
@@ -4348,7 +4348,7 @@ _080CC860:
str r0, [r4, 0x1C]
ldr r1, _080CC880 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -4362,7 +4362,7 @@ _080CC880: .4byte move_anim_8072740
sub_80CC884: @ 80CC884
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, _080CC8BC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CC8BC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -4387,7 +4387,7 @@ _080CC89E:
pop {r0}
bx r0
.align 2, 0
-_080CC8BC: .4byte gBattleAnimPlayerMonIndex
+_080CC8BC: .4byte gBattleAnimBankAttacker
_080CC8C0: .4byte sub_80CC810
_080CC8C4: .4byte gBattleAnimArgs
thumb_func_end sub_80CC884
@@ -4418,7 +4418,7 @@ sub_80CC8C8: @ 80CC8C8
bl StartSpriteAffineAnim
ldr r1, _080CC90C @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CC910 @ =sub_8078504
str r0, [r4, 0x1C]
pop {r4}
@@ -4434,7 +4434,7 @@ _080CC910: .4byte sub_8078504
sub_80CC914: @ 80CC914
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _080CC964 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CC964 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -4470,7 +4470,7 @@ _080CC948:
strh r0, [r5, 0x20]
b _080CC984
.align 2, 0
-_080CC964: .4byte gBattleAnimEnemyMonIndex
+_080CC964: .4byte gBattleAnimBankTarget
_080CC968: .4byte sub_80CCB00
_080CC96C: .4byte gBattleAnimArgs
_080CC970:
@@ -4535,7 +4535,7 @@ sub_80CC9BC: @ 80CC9BC
.align 2, 0
_080CC9D8: .4byte gBattleAnimArgs
_080CC9DC:
- ldr r5, _080CC9F8 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080CC9F8 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r4, 0x2
eors r0, r4
@@ -4548,9 +4548,9 @@ _080CC9DC:
adds r0, r4, 0
b _080CCA68
.align 2, 0
-_080CC9F8: .4byte gBattleAnimEnemyMonIndex
+_080CC9F8: .4byte gBattleAnimBankTarget
_080CC9FC:
- ldr r5, _080CCA54 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080CCA54 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0
bl sub_8077ABC
@@ -4566,7 +4566,7 @@ _080CC9FC:
mov r8, r2
mov r1, r8
eors r0, r1
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080CCA72
@@ -4590,9 +4590,9 @@ _080CC9FC:
lsrs r4, r0, 1
b _080CCA72
.align 2, 0
-_080CCA54: .4byte gBattleAnimEnemyMonIndex
+_080CCA54: .4byte gBattleAnimBankTarget
_080CCA58:
- ldr r4, _080CCAA4 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CCAA4 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -4607,7 +4607,7 @@ _080CCA68:
_080CCA72:
strh r7, [r6, 0x20]
strh r4, [r6, 0x22]
- ldr r0, _080CCAA4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CCAA4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -4631,7 +4631,7 @@ _080CCA8A:
strh r0, [r6, 0x20]
b _080CCAC4
.align 2, 0
-_080CCAA4: .4byte gBattleAnimEnemyMonIndex
+_080CCAA4: .4byte gBattleAnimBankTarget
_080CCAA8: .4byte sub_80CCB00
_080CCAAC: .4byte gBattleAnimArgs
_080CCAB0:
@@ -4723,7 +4723,7 @@ _080CCB26:
bne _080CCB5C
ldr r1, _080CCB64 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
movs r0, 0x3
strh r0, [r4, 0x2E]
ldr r0, _080CCB68 @ =sub_80782D8
@@ -4861,7 +4861,7 @@ sub_80CCC50: @ 80CCC50
ldr r4, _080CCC70 @ =gBattleAnimArgs
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x2E]
- ldr r0, _080CCC74 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CCC74 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -4873,7 +4873,7 @@ sub_80CCC50: @ 80CCC50
b _080CCC7E
.align 2, 0
_080CCC70: .4byte gBattleAnimArgs
-_080CCC74: .4byte gBattleAnimPlayerMonIndex
+_080CCC74: .4byte gBattleAnimBankAttacker
_080CCC78:
ldrh r0, [r4]
ldrh r1, [r5, 0x20]
@@ -4968,7 +4968,7 @@ _080CCD1C:
sub_80CCD24: @ 80CCD24
push {r4-r6,lr}
adds r5, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CCD3A
@@ -4977,7 +4977,7 @@ sub_80CCD24: @ 80CCD24
adds r0, 0x8
strh r0, [r1, 0x2]
_080CCD3A:
- ldr r6, _080CCD9C @ =gBattleAnimPlayerMonIndex
+ ldr r6, _080CCD9C @ =gBattleAnimBankAttacker
ldrb r0, [r6]
movs r1, 0
bl sub_8077EE4
@@ -5000,7 +5000,7 @@ _080CCD3A:
lsls r0, 24
cmp r0, 0
beq _080CCD78
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CCDA0
@@ -5022,7 +5022,7 @@ _080CCD78:
b _080CCDB8
.align 2, 0
_080CCD98: .4byte gBattleAnimArgs
-_080CCD9C: .4byte gBattleAnimPlayerMonIndex
+_080CCD9C: .4byte gBattleAnimBankAttacker
_080CCDA0:
ldrb r0, [r6]
bl sub_8079ED4
@@ -5207,7 +5207,7 @@ _080CCF00: .4byte sub_807861C
sub_80CCF04: @ 80CCF04
push {r4-r6,lr}
adds r4, r0, 0
- ldr r6, _080CCF5C @ =gBattleAnimEnemyMonIndex
+ ldr r6, _080CCF5C @ =gBattleAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
bl sub_8077ABC
@@ -5248,7 +5248,7 @@ sub_80CCF04: @ 80CCF04
pop {r0}
bx r0
.align 2, 0
-_080CCF5C: .4byte gBattleAnimEnemyMonIndex
+_080CCF5C: .4byte gBattleAnimBankTarget
_080CCF60: .4byte 0x0000ffe8
_080CCF64: .4byte REG_BLDCNT
_080CCF68: .4byte REG_BLDALPHA
@@ -5531,7 +5531,7 @@ _080CD154:
strh r0, [r4, 0x32]
ldr r1, _080CD188 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CD18C @ =sub_8078394
str r0, [r4, 0x1C]
pop {r4,r5}
@@ -5552,13 +5552,13 @@ sub_80CD190: @ 80CD190
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080CD1AC
- ldr r0, _080CD1A8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CD1A8 @ =gBattleAnimBankAttacker
b _080CD1AE
.align 2, 0
_080CD1A4: .4byte gBattleAnimArgs
-_080CD1A8: .4byte gBattleAnimPlayerMonIndex
+_080CD1A8: .4byte gBattleAnimBankAttacker
_080CD1AC:
- ldr r0, _080CD1F0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CD1F0 @ =gBattleAnimBankTarget
_080CD1AE:
ldrb r6, [r0]
bl IsDoubleBattle
@@ -5568,7 +5568,7 @@ _080CD1AE:
movs r1, 0x2
adds r0, r6, 0
eors r0, r1
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080CD1F8
@@ -5590,7 +5590,7 @@ _080CD1AE:
strh r0, [r5, 0x22]
b _080CD248
.align 2, 0
-_080CD1F0: .4byte gBattleAnimEnemyMonIndex
+_080CD1F0: .4byte gBattleAnimBankTarget
_080CD1F4: .4byte gBattleAnimArgs
_080CD1F8:
ldr r4, _080CD218 @ =gBattleAnimArgs
@@ -5640,7 +5640,7 @@ _080CD248:
strh r0, [r5, 0x32]
ldr r1, _080CD26C @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CD270 @ =sub_8078394
str r0, [r5, 0x1C]
pop {r4-r6}
@@ -5657,7 +5657,7 @@ sub_80CD274: @ 80CD274
push {r4,lr}
adds r4, r0, 0
bl sub_8078650
- ldr r0, _080CD2A0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CD2A0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -5674,7 +5674,7 @@ sub_80CD274: @ 80CD274
strh r0, [r4, 0x22]
b _080CD2C2
.align 2, 0
-_080CD2A0: .4byte gBattleAnimPlayerMonIndex
+_080CD2A0: .4byte gBattleAnimBankAttacker
_080CD2A4: .4byte gBattleAnimArgs
_080CD2A8:
ldr r2, _080CD2CC @ =gBattleAnimArgs
@@ -5749,7 +5749,7 @@ sub_80CD328: @ 80CD328
push {r4,lr}
adds r4, r0, 0
bl sub_8078650
- ldr r0, _080CD358 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CD358 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -5768,7 +5768,7 @@ sub_80CD328: @ 80CD328
strh r0, [r4, 0x34]
b _080CD37E
.align 2, 0
-_080CD358: .4byte gBattleAnimPlayerMonIndex
+_080CD358: .4byte gBattleAnimBankAttacker
_080CD35C: .4byte gBattleAnimArgs
_080CD360:
ldr r2, _080CD388 @ =gBattleAnimArgs
@@ -5850,7 +5850,7 @@ sub_80CD3E0: @ 80CD3E0
ldr r1, _080CD400 @ =sub_80782D8
str r1, [r0, 0x1C]
ldr r1, _080CD404 @ =sub_80CD408
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
@@ -5877,7 +5877,7 @@ _080CD41E:
str r0, [r5, 0x1C]
ldr r1, _080CD434 @ =sub_80CD408
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
b _080CD49E
.align 2, 0
_080CD430: .4byte sub_80782D8
@@ -5917,7 +5917,7 @@ _080CD438:
str r0, [r5, 0x1C]
ldr r1, _080CD4B4 @ =sub_80CD4B8
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
movs r1, 0x80
lsls r1, 1
adds r0, r1, 0
@@ -5960,7 +5960,7 @@ sub_80CD4B8: @ 80CD4B8
str r0, [r2, 0x1C]
ldr r1, _080CD4DC @ =sub_80CD4EC
adds r0, r2, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
b _080CD4E4
.align 2, 0
_080CD4D8: .4byte sub_80782D8
@@ -5990,7 +5990,7 @@ sub_80CD4EC: @ 80CD4EC
str r0, [r5, 0x1C]
ldr r1, _080CD510 @ =sub_80CD5A8
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
b _080CD594
.align 2, 0
_080CD50C: .4byte sub_80782D8
@@ -6043,7 +6043,7 @@ _080CD54C:
strh r1, [r5, 0x24]
movs r0, 0x6
strh r0, [r5, 0x2E]
- ldr r4, _080CD59C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CD59C @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -6062,13 +6062,13 @@ _080CD54C:
str r0, [r5, 0x1C]
ldr r1, _080CD5A4 @ =sub_80CD654
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_080CD594:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_080CD59C: .4byte gBattleAnimEnemyMonIndex
+_080CD59C: .4byte gBattleAnimBankTarget
_080CD5A0: .4byte sub_8078B34
_080CD5A4: .4byte sub_80CD654
thumb_func_end sub_80CD4EC
@@ -6376,7 +6376,7 @@ sub_80CD7CC: @ 80CD7CC
adds r4, r0, 0
movs r0, 0x6
strh r0, [r4, 0x2E]
- ldr r5, _080CD80C @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080CD80C @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankSide
lsls r0, 24
@@ -6397,14 +6397,14 @@ _080CD7EA:
strh r0, [r4, 0x34]
ldr r1, _080CD814 @ =sub_80CD81C
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CD818 @ =sub_8078458
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080CD80C: .4byte gBattleAnimPlayerMonIndex
+_080CD80C: .4byte gBattleAnimBankAttacker
_080CD810: .4byte gObjectBankIDs
_080CD814: .4byte sub_80CD81C
_080CD818: .4byte sub_8078458
@@ -6419,7 +6419,7 @@ sub_80CD81C: @ 80CD81C
cmp r6, 0
bne _080CD858
ldr r1, _080CD898 @ =gObjectBankIDs
- ldr r4, _080CD89C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CD89C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -6475,7 +6475,7 @@ _080CD892:
bx r0
.align 2, 0
_080CD898: .4byte gObjectBankIDs
-_080CD89C: .4byte gBattleAnimPlayerMonIndex
+_080CD89C: .4byte gBattleAnimBankAttacker
_080CD8A0: .4byte 0xfffffd00
_080CD8A4: .4byte sub_80CD9B8
thumb_func_end sub_80CD81C
@@ -6486,7 +6486,7 @@ sub_80CD8A8: @ 80CD8A8
adds r4, r0, 0
movs r0, 0x4
strh r0, [r4, 0x2E]
- ldr r5, _080CD8E8 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080CD8E8 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankSide
lsls r0, 24
@@ -6507,14 +6507,14 @@ _080CD8C6:
strh r0, [r4, 0x34]
ldr r1, _080CD8F0 @ =sub_80CD9B8
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CD8F4 @ =sub_8078458
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080CD8E8: .4byte gBattleAnimPlayerMonIndex
+_080CD8E8: .4byte gBattleAnimBankAttacker
_080CD8EC: .4byte gObjectBankIDs
_080CD8F0: .4byte sub_80CD9B8
_080CD8F4: .4byte sub_8078458
@@ -6551,7 +6551,7 @@ sub_80CD91C: @ 80CD91C
cmp r0, 0
bne _080CD96C
ldr r1, _080CD958 @ =gObjectBankIDs
- ldr r4, _080CD95C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CD95C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -6574,7 +6574,7 @@ sub_80CD91C: @ 80CD91C
b _080CD96A
.align 2, 0
_080CD958: .4byte gObjectBankIDs
-_080CD95C: .4byte gBattleAnimPlayerMonIndex
+_080CD95C: .4byte gBattleAnimBankAttacker
_080CD960:
movs r0, 0x80
lsls r0, 3
@@ -6660,7 +6660,7 @@ _080CD9EA:
_080CD9F0:
strh r5, [r4, 0x30]
ldr r1, _080CDA74 @ =gObjectBankIDs
- ldr r2, _080CDA78 @ =gBattleAnimPlayerMonIndex
+ ldr r2, _080CDA78 @ =gBattleAnimBankAttacker
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
@@ -6724,7 +6724,7 @@ _080CDA2E:
b _080CDAC2
.align 2, 0
_080CDA74: .4byte gObjectBankIDs
-_080CDA78: .4byte gBattleAnimPlayerMonIndex
+_080CDA78: .4byte gBattleAnimBankAttacker
_080CDA7C: .4byte 0xfffffe00
_080CDA80:
ldrh r0, [r4, 0x36]
@@ -6773,7 +6773,7 @@ sub_80CDAC8: @ 80CDAC8
lsls r0, 3
adds r5, r0, r1
ldr r1, _080CDB10 @ =gObjectBankIDs
- ldr r2, _080CDB14 @ =gBattleAnimPlayerMonIndex
+ ldr r2, _080CDB14 @ =gBattleAnimBankAttacker
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
@@ -6798,7 +6798,7 @@ sub_80CDAC8: @ 80CDAC8
.align 2, 0
_080CDB0C: .4byte gTasks
_080CDB10: .4byte gObjectBankIDs
-_080CDB14: .4byte gBattleAnimPlayerMonIndex
+_080CDB14: .4byte gBattleAnimBankAttacker
_080CDB18: .4byte gBattleAnimArgs
_080CDB1C:
strh r1, [r5, 0xC]
@@ -7134,13 +7134,13 @@ sub_80CDD74: @ 80CDD74
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080CDD90
- ldr r4, _080CDD8C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CDD8C @ =gBattleAnimBankAttacker
b _080CDD92
.align 2, 0
_080CDD88: .4byte gBattleAnimArgs
-_080CDD8C: .4byte gBattleAnimPlayerMonIndex
+_080CDD8C: .4byte gBattleAnimBankAttacker
_080CDD90:
- ldr r4, _080CDDD0 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CDDD0 @ =gBattleAnimBankTarget
_080CDD92:
ldrb r0, [r4]
movs r1, 0x2
@@ -7163,14 +7163,14 @@ _080CDD92:
strh r0, [r5, 0x30]
ldr r1, _080CDDD4 @ =sub_80CDEC0
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CDDD8 @ =sub_8078600
str r0, [r5, 0x1C]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080CDDD0: .4byte gBattleAnimEnemyMonIndex
+_080CDDD0: .4byte gBattleAnimBankTarget
_080CDDD4: .4byte sub_80CDEC0
_080CDDD8: .4byte sub_8078600
thumb_func_end sub_80CDD74
@@ -7179,7 +7179,7 @@ _080CDDD8: .4byte sub_8078600
sub_80CDDDC: @ 80CDDDC
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _080CDE14 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080CDE14 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -7196,14 +7196,14 @@ sub_80CDDDC: @ 80CDDDC
strh r0, [r4, 0x22]
ldr r1, _080CDE1C @ =sub_80CDE78
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CDE20 @ =sub_8078600
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080CDE14: .4byte gBattleAnimEnemyMonIndex
+_080CDE14: .4byte gBattleAnimBankTarget
_080CDE18: .4byte 0x0000ffd0
_080CDE1C: .4byte sub_80CDE78
_080CDE20: .4byte sub_8078600
@@ -7213,7 +7213,7 @@ _080CDE20: .4byte sub_8078600
sub_80CDE24: @ 80CDE24
push {r4-r6,lr}
adds r4, r0, 0
- ldr r5, _080CDE68 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080CDE68 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -7243,7 +7243,7 @@ sub_80CDE24: @ 80CDE24
pop {r0}
bx r0
.align 2, 0
-_080CDE68: .4byte gBattleAnimEnemyMonIndex
+_080CDE68: .4byte gBattleAnimBankTarget
_080CDE6C: .4byte gBattleAnimArgs
_080CDE70: .4byte 0x0000ffd0
_080CDE74: .4byte sub_80CDEC0
@@ -7268,7 +7268,7 @@ sub_80CDE78: @ 80CDE78
strh r0, [r4, 0x32]
ldr r1, _080CDEA8 @ =sub_80CDEB0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CDEAC @ =sub_8078364
str r0, [r4, 0x1C]
_080CDEA2:
@@ -7343,13 +7343,13 @@ sub_80CDF0C: @ 80CDF0C
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080CDF28
- ldr r4, _080CDF24 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CDF24 @ =gBattleAnimBankAttacker
b _080CDF2A
.align 2, 0
_080CDF20: .4byte gBattleAnimArgs
-_080CDF24: .4byte gBattleAnimPlayerMonIndex
+_080CDF24: .4byte gBattleAnimBankAttacker
_080CDF28:
- ldr r4, _080CDF64 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CDF64 @ =gBattleAnimBankTarget
_080CDF2A:
ldrb r0, [r4]
movs r1, 0
@@ -7378,7 +7378,7 @@ _080CDF2A:
pop {r0}
bx r0
.align 2, 0
-_080CDF64: .4byte gBattleAnimEnemyMonIndex
+_080CDF64: .4byte gBattleAnimBankTarget
_080CDF68: .4byte gBattleAnimArgs
_080CDF6C: .4byte sub_80CDF70
thumb_func_end sub_80CDF0C
@@ -7424,7 +7424,7 @@ _080CDFAC:
sub_80CDFB0: @ 80CDFB0
push {r4-r6,lr}
adds r4, r0, 0
- ldr r6, _080CDFF8 @ =gBattleAnimPlayerMonIndex
+ ldr r6, _080CDFF8 @ =gBattleAnimBankAttacker
ldrb r0, [r6]
movs r1, 0x2
bl sub_8077ABC
@@ -7456,7 +7456,7 @@ sub_80CDFB0: @ 80CDFB0
pop {r0}
bx r0
.align 2, 0
-_080CDFF8: .4byte gBattleAnimPlayerMonIndex
+_080CDFF8: .4byte gBattleAnimBankAttacker
_080CDFFC: .4byte sub_80CE000
thumb_func_end sub_80CDFB0
@@ -7551,7 +7551,7 @@ sub_80CE09C: @ 80CE09C
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080CE0E6
- ldr r4, _080CE0FC @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CE0FC @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -7569,7 +7569,7 @@ sub_80CE09C: @ 80CE09C
ldrh r5, [r5, 0x2]
adds r0, r5
strh r0, [r6, 0x22]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CE0E0
@@ -7593,7 +7593,7 @@ _080CE0F6:
pop {r0}
bx r0
.align 2, 0
-_080CE0FC: .4byte gBattleAnimPlayerMonIndex
+_080CE0FC: .4byte gBattleAnimBankAttacker
_080CE100: .4byte gBattleAnimArgs
_080CE104: .4byte 0x0000ffff
thumb_func_end sub_80CE09C
@@ -7708,7 +7708,7 @@ _080CE1C0:
strb r0, [r2]
movs r0, 0x1E
strh r0, [r5, 0x2E]
- ldr r4, _080CE204 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CE204 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -7725,13 +7725,13 @@ _080CE1C0:
str r0, [r5, 0x1C]
ldr r1, _080CE20C @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_080CE1FC:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080CE204: .4byte gBattleAnimPlayerMonIndex
+_080CE204: .4byte gBattleAnimBankAttacker
_080CE208: .4byte sub_8078B34
_080CE20C: .4byte move_anim_8072740
thumb_func_end sub_80CE1AC
@@ -7872,7 +7872,7 @@ _080CE308: .4byte gNoOfAllBanks
sub_80CE30C: @ 80CE30C
push {r4,lr}
adds r4, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CE322
@@ -7926,7 +7926,7 @@ _080CE366:
sub_80CE36C: @ 80CE36C
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080CE3A4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CE3A4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x2
bl sub_8077ABC
@@ -7951,7 +7951,7 @@ sub_80CE36C: @ 80CE36C
pop {r0}
bx r0
.align 2, 0
-_080CE3A4: .4byte gBattleAnimPlayerMonIndex
+_080CE3A4: .4byte gBattleAnimBankAttacker
_080CE3A8: .4byte gBattleAnimArgs
_080CE3AC: .4byte sub_80CE3B0
thumb_func_end sub_80CE36C
@@ -8339,7 +8339,7 @@ _080CE68E:
strh r0, [r5, 0x2E]
ldrh r0, [r6, 0x4]
strh r0, [r5, 0x30]
- ldr r4, _080CE6F8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CE6F8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -8359,7 +8359,7 @@ _080CE68E:
ldrh r1, [r5, 0x20]
strh r1, [r5, 0x3A]
strh r0, [r5, 0x3C]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CE700
@@ -8384,10 +8384,10 @@ _080CE68E:
b _080CE726
.align 2, 0
_080CE6F4: .4byte gBattleAnimArgs
-_080CE6F8: .4byte gBattleAnimEnemyMonIndex
+_080CE6F8: .4byte gBattleAnimBankTarget
_080CE6FC: .4byte 0xffffec00
_080CE700:
- ldr r0, _080CE740 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CE740 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -8417,7 +8417,7 @@ _080CE726:
strh r0, [r5, 0x38]
b _080CE784
.align 2, 0
-_080CE740: .4byte gBattleAnimPlayerMonIndex
+_080CE740: .4byte gBattleAnimBankAttacker
_080CE744: .4byte 0xfffff600
_080CE748:
ldrh r0, [r5, 0x20]
@@ -8515,7 +8515,7 @@ sub_80CE7E0: @ 80CE7E0
ldr r1, _080CE870 @ =gTasks
adds r6, r0, r1
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x8]
@@ -8615,7 +8615,7 @@ _080CE8B4:
_080CE8C6:
ldr r0, _080CE8E8 @ =sub_80CE910
str r0, [r6]
- ldr r0, _080CE8EC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CE8EC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -8630,7 +8630,7 @@ _080CE8C6:
.align 2, 0
_080CE8E4: .4byte sub_80CE974
_080CE8E8: .4byte sub_80CE910
-_080CE8EC: .4byte gBattleAnimPlayerMonIndex
+_080CE8EC: .4byte gBattleAnimBankAttacker
_080CE8F0: .4byte 0x0000fdff
_080CE8F4:
movs r2, 0x80
@@ -8664,7 +8664,7 @@ sub_80CE910: @ 80CE910
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080CE968
- ldr r0, _080CE948 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CE948 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -8679,7 +8679,7 @@ sub_80CE910: @ 80CE910
b _080CE956
.align 2, 0
_080CE944: .4byte gTasks
-_080CE948: .4byte gBattleAnimPlayerMonIndex
+_080CE948: .4byte gBattleAnimBankAttacker
_080CE94C:
movs r0, 0x80
lsls r0, 19
@@ -8782,7 +8782,7 @@ sub_80CEA04: @ 80CEA04
push {r4,lr}
adds r4, r0, 0
ldr r1, _080CEA18 @ =move_anim_8072740
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CEA1C @ =sub_8078600
str r0, [r4, 0x1C]
pop {r4}
@@ -8953,7 +8953,7 @@ _080CEB48:
strh r1, [r5, 0x32]
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x34]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CEB6C
@@ -8964,7 +8964,7 @@ _080CEB48:
_080CEB64: .4byte gBattleAnimArgs
_080CEB68: .4byte gUnknown_083D712C
_080CEB6C:
- ldr r4, _080CEBBC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CEBBC @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -9002,7 +9002,7 @@ _080CEB86:
pop {r0}
bx r0
.align 2, 0
-_080CEBBC: .4byte gBattleAnimEnemyMonIndex
+_080CEBBC: .4byte gBattleAnimBankTarget
_080CEBC0: .4byte sub_80CEC1C
thumb_func_end sub_80CEB0C
@@ -9165,7 +9165,7 @@ _080CECE4: .4byte gUnknown_083D712C
sub_80CECE8: @ 80CECE8
push {r4-r7,lr}
adds r6, r0, 0
- ldr r7, _080CED6C @ =gBattleAnimPlayerMonIndex
+ ldr r7, _080CED6C @ =gBattleAnimBankAttacker
ldrb r0, [r7]
bl GetBankSide
lsls r0, 24
@@ -9225,7 +9225,7 @@ _080CED06:
pop {r0}
bx r0
.align 2, 0
-_080CED6C: .4byte gBattleAnimPlayerMonIndex
+_080CED6C: .4byte gBattleAnimBankAttacker
_080CED70: .4byte gBattleAnimArgs
_080CED74: .4byte sub_80CED78
thumb_func_end sub_80CECE8
@@ -9316,7 +9316,7 @@ _080CEE10: .4byte gBattleAnimArgs
_080CEE14:
ldr r6, _080CEE50 @ =0x0000fff0
_080CEE16:
- ldr r4, _080CEE54 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CEE54 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -9337,13 +9337,13 @@ _080CEE16:
str r0, [r5, 0x1C]
ldr r1, _080CEE5C @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080CEE50: .4byte 0x0000fff0
-_080CEE54: .4byte gBattleAnimPlayerMonIndex
+_080CEE54: .4byte gBattleAnimBankAttacker
_080CEE58: .4byte sub_80782D8
_080CEE5C: .4byte move_anim_8072740
thumb_func_end sub_80CEDF0
@@ -9519,13 +9519,13 @@ sub_80CEF9C: @ 80CEF9C
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080CEFB8
- ldr r0, _080CEFB4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CEFB4 @ =gBattleAnimBankAttacker
b _080CEFBA
.align 2, 0
_080CEFB0: .4byte gBattleAnimArgs
-_080CEFB4: .4byte gBattleAnimPlayerMonIndex
+_080CEFB4: .4byte gBattleAnimBankAttacker
_080CEFB8:
- ldr r0, _080CEFF8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CEFF8 @ =gBattleAnimBankTarget
_080CEFBA:
ldrb r4, [r0]
adds r0, r4, 0
@@ -9547,14 +9547,14 @@ _080CEFBA:
bl StartSpriteAnim
ldr r1, _080CF000 @ =sub_80CF008
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CF004 @ =sub_8078600
str r0, [r5, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080CEFF8: .4byte gBattleAnimEnemyMonIndex
+_080CEFF8: .4byte gBattleAnimBankTarget
_080CEFFC: .4byte gBattleAnimArgs
_080CF000: .4byte sub_80CF008
_080CF004: .4byte sub_8078600
@@ -9572,7 +9572,7 @@ sub_80CF008: @ 80CF008
bne _080CF030
ldr r1, _080CF038 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldrh r1, [r4, 0x30]
lsls r1, 24
lsrs r1, 24
@@ -9598,13 +9598,13 @@ sub_80CF040: @ 80CF040
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080CF05C
- ldr r0, _080CF058 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CF058 @ =gBattleAnimBankAttacker
b _080CF05E
.align 2, 0
_080CF054: .4byte gBattleAnimArgs
-_080CF058: .4byte gBattleAnimPlayerMonIndex
+_080CF058: .4byte gBattleAnimBankAttacker
_080CF05C:
- ldr r0, _080CF07C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CF07C @ =gBattleAnimBankTarget
_080CF05E:
ldrb r0, [r0]
adds r1, r4, 0
@@ -9613,14 +9613,14 @@ _080CF05E:
strh r0, [r4, 0x2E]
ldr r1, _080CF080 @ =sub_80CF088
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CF084 @ =sub_80785E4
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
bx r0
.align 2, 0
-_080CF07C: .4byte gBattleAnimEnemyMonIndex
+_080CF07C: .4byte gBattleAnimBankTarget
_080CF080: .4byte sub_80CF088
_080CF084: .4byte sub_80785E4
thumb_func_end sub_80CF040
@@ -9641,7 +9641,7 @@ sub_80CF088: @ 80CF088
bl StartSpriteAffineAnim
ldr r1, _080CF0B4 @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CF0B8 @ =sub_80785E4
str r0, [r4, 0x1C]
_080CF0AE:
@@ -9662,13 +9662,13 @@ sub_80CF0BC: @ 80CF0BC
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080CF0D8
- ldr r0, _080CF0D4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CF0D4 @ =gBattleAnimBankAttacker
b _080CF0DA
.align 2, 0
_080CF0D0: .4byte gBattleAnimArgs
-_080CF0D4: .4byte gBattleAnimPlayerMonIndex
+_080CF0D4: .4byte gBattleAnimBankAttacker
_080CF0D8:
- ldr r0, _080CF12C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CF12C @ =gBattleAnimBankTarget
_080CF0DA:
ldrb r5, [r0]
adds r0, r5, 0
@@ -9702,14 +9702,14 @@ _080CF102:
strh r6, [r4, 0x36]
ldr r1, _080CF130 @ =sub_80CF138
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CF134 @ =sub_80785E4
str r0, [r4, 0x1C]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080CF12C: .4byte gBattleAnimEnemyMonIndex
+_080CF12C: .4byte gBattleAnimBankTarget
_080CF130: .4byte sub_80CF138
_080CF134: .4byte sub_80785E4
thumb_func_end sub_80CF0BC
@@ -9808,13 +9808,13 @@ sub_80CF1C8: @ 80CF1C8
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080CF1E4
- ldr r0, _080CF1E0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CF1E0 @ =gBattleAnimBankAttacker
b _080CF1E6
.align 2, 0
_080CF1DC: .4byte gBattleAnimArgs
-_080CF1E0: .4byte gBattleAnimPlayerMonIndex
+_080CF1E0: .4byte gBattleAnimBankAttacker
_080CF1E4:
- ldr r0, _080CF208 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CF208 @ =gBattleAnimBankTarget
_080CF1E6:
ldrb r4, [r0]
adds r0, r4, 0
@@ -9831,7 +9831,7 @@ _080CF1E6:
movs r0, 0x2
b _080CF216
.align 2, 0
-_080CF208: .4byte gBattleAnimEnemyMonIndex
+_080CF208: .4byte gBattleAnimBankTarget
_080CF20C:
adds r0, r5, 0
movs r1, 0x1
@@ -9868,7 +9868,7 @@ sub_80CF228: @ 80CF228
bl StartSpriteAnim
ldr r1, _080CF25C @ =sub_80CF264
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080CF260 @ =sub_8078600
str r0, [r4, 0x1C]
_080CF256:
@@ -9922,7 +9922,7 @@ sub_80CF280: @ 80CF280
strh r0, [r4, 0x36]
ldr r1, _080CF2C8 @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r1, _080CF2CC @ =sub_8078278
str r1, [r4, 0x1C]
adds r0, r4, 0
@@ -9945,13 +9945,13 @@ sub_80CF2D0: @ 80CF2D0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080CF2EC
- ldr r0, _080CF2E8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CF2E8 @ =gBattleAnimBankAttacker
b _080CF2EE
.align 2, 0
_080CF2E4: .4byte gBattleAnimArgs
-_080CF2E8: .4byte gBattleAnimPlayerMonIndex
+_080CF2E8: .4byte gBattleAnimBankAttacker
_080CF2EC:
- ldr r0, _080CF308 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CF308 @ =gBattleAnimBankTarget
_080CF2EE:
ldrb r0, [r0]
adds r1, r4, 0
@@ -9965,7 +9965,7 @@ _080CF2EE:
pop {r0}
bx r0
.align 2, 0
-_080CF308: .4byte gBattleAnimEnemyMonIndex
+_080CF308: .4byte gBattleAnimBankTarget
_080CF30C: .4byte sub_80CF310
thumb_func_end sub_80CF2D0
@@ -10075,7 +10075,7 @@ _080CF3C0: .4byte gSprites
sub_80CF3C4: @ 80CF3C4
push {r4-r6,lr}
adds r5, r0, 0
- ldr r4, _080CF40C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080CF40C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -10089,7 +10089,7 @@ sub_80CF3C4: @ 80CF3C4
lsrs r0, 24
strh r0, [r5, 0x22]
ldr r1, _080CF410 @ =gObjectBankIDs
- ldr r0, _080CF414 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CF414 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r0, r1
ldrb r6, [r0]
@@ -10106,9 +10106,9 @@ sub_80CF3C4: @ 80CF3C4
adds r1, r0, 0
b _080CF426
.align 2, 0
-_080CF40C: .4byte gBattleAnimPlayerMonIndex
+_080CF40C: .4byte gBattleAnimBankAttacker
_080CF410: .4byte gObjectBankIDs
-_080CF414: .4byte gBattleAnimEnemyMonIndex
+_080CF414: .4byte gBattleAnimBankTarget
_080CF418: .4byte gBattleAnimArgs
_080CF41C:
ldr r1, _080CF450 @ =gBattleAnimArgs
@@ -10159,7 +10159,7 @@ sub_80CF458: @ 80CF458
str r0, [r4, 0x1C]
ldr r1, _080CF48C @ =sub_80CF490
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -10182,7 +10182,7 @@ sub_80CF490: @ 80CF490
ldr r1, _080CF4B0 @ =sub_8078B34
str r1, [r0, 0x1C]
ldr r1, _080CF4B4 @ =sub_80CF4B8
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
@@ -10217,7 +10217,7 @@ sub_80CF4D8: @ 80CF4D8
lsls r4, 24
lsrs r4, 24
ldr r1, _080CF504 @ =gObjectBankIDs
- ldr r0, _080CF508 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CF508 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -10235,7 +10235,7 @@ sub_80CF4D8: @ 80CF4D8
bx r0
.align 2, 0
_080CF504: .4byte gObjectBankIDs
-_080CF508: .4byte gBattleAnimPlayerMonIndex
+_080CF508: .4byte gBattleAnimBankAttacker
_080CF50C: .4byte gTasks
_080CF510: .4byte sub_80CF514
thumb_func_end sub_80CF4D8
@@ -10246,7 +10246,7 @@ sub_80CF514: @ 80CF514
lsls r0, 24
lsrs r5, r0, 24
ldr r1, _080CF544 @ =gObjectBankIDs
- ldr r0, _080CF548 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CF548 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r1, r0, r1
ldrb r4, [r1]
@@ -10267,7 +10267,7 @@ sub_80CF514: @ 80CF514
b _080CF55E
.align 2, 0
_080CF544: .4byte gObjectBankIDs
-_080CF548: .4byte gBattleAnimPlayerMonIndex
+_080CF548: .4byte gBattleAnimBankAttacker
_080CF54C: .4byte gTasks
_080CF550:
ldr r2, _080CF590 @ =gTasks
@@ -10382,7 +10382,7 @@ sub_80CF610: @ 80CF610
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x22]
- ldr r0, _080CF65C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CF65C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -10404,7 +10404,7 @@ sub_80CF610: @ 80CF610
b _080CF674
.align 2, 0
_080CF658: .4byte gBattleAnimArgs
-_080CF65C: .4byte gBattleAnimPlayerMonIndex
+_080CF65C: .4byte gBattleAnimBankAttacker
_080CF660:
movs r1, 0x4
ldrsh r0, [r5, r1]
@@ -10421,7 +10421,7 @@ _080CF674:
str r0, [r4, 0x1C]
ldr r1, _080CF68C @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -10440,7 +10440,7 @@ sub_80CF690: @ 80CF690
str r0, [r4, 0x1C]
ldr r1, _080CF6B0 @ =sub_80CF6B4
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -10462,7 +10462,7 @@ sub_80CF6B4: @ 80CF6B4
ldr r1, _080CF6D4 @ =sub_8078B34
str r1, [r0, 0x1C]
ldr r1, _080CF6D8 @ =move_anim_8072740
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
@@ -10477,7 +10477,7 @@ sub_80CF6DC: @ 80CF6DC
push {r7}
sub sp, 0x4
adds r5, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CF700
@@ -10489,7 +10489,7 @@ sub_80CF6DC: @ 80CF6DC
.align 2, 0
_080CF6FC: .4byte gBattleAnimArgs
_080CF700:
- ldr r0, _080CF7C8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CF7C8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -10509,7 +10509,7 @@ _080CF722:
adds r0, r5, 0
movs r1, 0x1
bl sub_80787B0
- ldr r4, _080CF7D0 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CF7D0 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -10550,7 +10550,7 @@ _080CF722:
lsls r1, 24
adds r0, r1
lsrs r4, r0, 16
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CF794
@@ -10575,7 +10575,7 @@ _080CF794:
str r0, [r5, 0x1C]
ldr r1, _080CF7DC @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
add sp, 0x4
pop {r3}
mov r8, r3
@@ -10583,9 +10583,9 @@ _080CF794:
pop {r0}
bx r0
.align 2, 0
-_080CF7C8: .4byte gBattleAnimPlayerMonIndex
+_080CF7C8: .4byte gBattleAnimBankAttacker
_080CF7CC: .4byte gBattleAnimArgs
-_080CF7D0: .4byte gBattleAnimEnemyMonIndex
+_080CF7D0: .4byte gBattleAnimBankTarget
_080CF7D4: .4byte 0xffffa000
_080CF7D8: .4byte sub_8078B34
_080CF7DC: .4byte move_anim_8072740
@@ -11031,7 +11031,7 @@ sub_80CFB04: @ 80CFB04
mov r4, sp
adds r4, 0x2
strh r1, [r4]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
mov r10, r4
cmp r0, 0
@@ -11068,7 +11068,7 @@ _080CFB68:
b _080CFBCA
_080CFB70:
ldr r1, _080CFBB4 @ =gBanksBySide
- ldr r0, _080CFBB8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CFBB8 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -11102,7 +11102,7 @@ _080CFB70:
b _080CFBC8
.align 2, 0
_080CFBB4: .4byte gBanksBySide
-_080CFBB8: .4byte gBattleAnimEnemyMonIndex
+_080CFBB8: .4byte gBattleAnimBankTarget
_080CFBBC: .4byte gTasks
_080CFBC0: .4byte gBattleAnimArgs
_080CFBC4:
@@ -11111,7 +11111,7 @@ _080CFBC4:
_080CFBC8:
strh r0, [r2, 0x4]
_080CFBCA:
- ldr r5, _080CFC24 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080CFC24 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
bl sub_8077ABC
@@ -11137,11 +11137,11 @@ _080CFBCA:
ands r0, r1
cmp r0, 0
beq _080CFC34
- ldr r4, _080CFC30 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CFC30 @ =gBattleAnimBankTarget
ldrb r1, [r4]
movs r0, 0x2
eors r0, r1
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080CFC34
@@ -11152,13 +11152,13 @@ _080CFBCA:
bl sub_807A3FC
b _080CFC56
.align 2, 0
-_080CFC24: .4byte gBattleAnimPlayerMonIndex
+_080CFC24: .4byte gBattleAnimBankAttacker
_080CFC28: .4byte gTasks
_080CFC2C: .4byte gBattleTypeFlags
-_080CFC30: .4byte gBattleAnimEnemyMonIndex
+_080CFC30: .4byte gBattleAnimBankTarget
_080CFC34:
mov r5, sp
- ldr r4, _080CFC90 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CFC90 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -11203,7 +11203,7 @@ _080CFC56:
subs r0, r2, r1
b _080CFC9E
.align 2, 0
-_080CFC90: .4byte gBattleAnimEnemyMonIndex
+_080CFC90: .4byte gBattleAnimBankTarget
_080CFC94: .4byte gTasks
_080CFC98: .4byte gBattleAnimArgs
_080CFC9C:
@@ -11301,7 +11301,7 @@ _080CFD3C:
asrs r0, 16
cmp r0, 0x3F
ble _080CFDB4
- ldr r0, _080CFD84 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CFD84 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079E90
lsls r0, 24
@@ -11315,14 +11315,14 @@ _080CFD3C:
.align 2, 0
_080CFD7C: .4byte gTasks
_080CFD80: .4byte gBattleAnimArgs
-_080CFD84: .4byte gBattleAnimEnemyMonIndex
+_080CFD84: .4byte gBattleAnimBankTarget
_080CFD88: .4byte 0x0000ffc0
_080CFD8C:
lsls r0, r1, 16
asrs r0, 16
cmp r0, 0x3F
ble _080CFDB4
- ldr r0, _080CFDAC @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CFDAC @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079E90
lsls r0, 24
@@ -11334,10 +11334,10 @@ _080CFD8C:
adds r0, r1
b _080CFDC4
.align 2, 0
-_080CFDAC: .4byte gBattleAnimEnemyMonIndex
+_080CFDAC: .4byte gBattleAnimBankTarget
_080CFDB0: .4byte 0x0000ffc0
_080CFDB4:
- ldr r0, _080CFDF0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080CFDF0 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079E90
lsls r0, 24
@@ -11369,7 +11369,7 @@ _080CFDDC:
pop {r0}
bx r0
.align 2, 0
-_080CFDF0: .4byte gBattleAnimEnemyMonIndex
+_080CFDF0: .4byte gBattleAnimBankTarget
_080CFDF4: .4byte gTasks
_080CFDF8: .4byte sub_80CFA20
thumb_func_end sub_80CFB04
@@ -11466,7 +11466,7 @@ sub_80CFE9C: @ 80CFE9C
adds r5, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r4, _080CFF3C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080CFF3C @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -11482,7 +11482,7 @@ sub_80CFE9C: @ 80CFE9C
adds r0, r1
lsls r0, 16
lsrs r7, r0, 16
- ldr r0, _080CFF44 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CFF44 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -11530,15 +11530,15 @@ _080CFEE0:
str r0, [r5, 0x1C]
ldr r1, _080CFF4C @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_080CFF3C: .4byte gBattleAnimEnemyMonIndex
+_080CFF3C: .4byte gBattleAnimBankTarget
_080CFF40: .4byte gBattleAnimArgs
-_080CFF44: .4byte gBattleAnimPlayerMonIndex
+_080CFF44: .4byte gBattleAnimBankAttacker
_080CFF48: .4byte sub_8078C00
_080CFF4C: .4byte move_anim_8072740
thumb_func_end sub_80CFE9C
@@ -11568,7 +11568,7 @@ sub_80CFF68: @ 80CFF68
lsls r0, 16
asrs r0, 24
strh r0, [r4, 0x24]
- ldr r0, _080CFFD4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080CFFD4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -11613,7 +11613,7 @@ _080CFFCC:
pop {r0}
bx r0
.align 2, 0
-_080CFFD4: .4byte gBattleAnimPlayerMonIndex
+_080CFFD4: .4byte gBattleAnimBankAttacker
thumb_func_end sub_80CFF68
thumb_func_start sub_80CFFD8
@@ -11624,7 +11624,7 @@ sub_80CFFD8: @ 80CFFD8
bl sub_80787B0
movs r0, 0x14
strh r0, [r4, 0x2E]
- ldr r5, _080D0024 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080D0024 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -11647,12 +11647,12 @@ sub_80CFFD8: @ 80CFFD8
strb r0, [r2]
ldr r1, _080D002C @ =sub_80D0030
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080D0024: .4byte gBattleAnimEnemyMonIndex
+_080D0024: .4byte gBattleAnimBankTarget
_080D0028: .4byte sub_8078B34
_080D002C: .4byte sub_80D0030
thumb_func_end sub_80CFFD8
@@ -11781,7 +11781,7 @@ sub_80D0118: @ 80D0118
adds r4, r0, 0
movs r1, 0
bl sub_80787B0
- ldr r0, _080D0168 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D0168 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -11806,7 +11806,7 @@ _080D0136:
str r0, [r4, 0x1C]
ldr r1, _080D0174 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r1, [r4, 0x1C]
adds r0, r4, 0
bl _call_via_r1
@@ -11814,7 +11814,7 @@ _080D0136:
pop {r0}
bx r0
.align 2, 0
-_080D0168: .4byte gBattleAnimPlayerMonIndex
+_080D0168: .4byte gBattleAnimBankAttacker
_080D016C: .4byte gBattleAnimArgs
_080D0170: .4byte sub_8078114
_080D0174: .4byte move_anim_8072740
@@ -11856,7 +11856,7 @@ _080D01A4:
strh r0, [r5, 0x22]
movs r0, 0x6
strh r0, [r5, 0x2E]
- ldr r4, _080D0200 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D0200 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -11875,7 +11875,7 @@ _080D01A4:
str r0, [r5, 0x1C]
ldr r1, _080D0208 @ =sub_80D020C
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r3}
mov r8, r3
pop {r4-r7}
@@ -11885,7 +11885,7 @@ _080D01A4:
_080D01F4: .4byte 0x0000ffe0
_080D01F8: .4byte 0x0000fff0
_080D01FC: .4byte gBattleAnimArgs
-_080D0200: .4byte gBattleAnimEnemyMonIndex
+_080D0200: .4byte gBattleAnimBankTarget
_080D0204: .4byte sub_8078B34
_080D0208: .4byte sub_80D020C
thumb_func_end sub_80D0178
@@ -11949,7 +11949,7 @@ _080D025C:
movs r0, 0x6
strh r0, [r5, 0x2E]
strh r1, [r5, 0x30]
- ldr r4, _080D02C8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D02C8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -11984,7 +11984,7 @@ _080D025C:
_080D02BC: .4byte 0x0000ffe0
_080D02C0: .4byte 0x0000fff0
_080D02C4: .4byte gBattleAnimArgs
-_080D02C8: .4byte gBattleAnimEnemyMonIndex
+_080D02C8: .4byte gBattleAnimBankTarget
_080D02CC: .4byte sub_80D02D0
thumb_func_end sub_80D0228
@@ -12125,7 +12125,7 @@ sub_80D03C4: @ 80D03C4
lsls r5, 24
lsrs r5, 24
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -12185,7 +12185,7 @@ sub_80D0428: @ 80D0428
cmp r1, r0
bne _080D0478
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -12223,7 +12223,7 @@ sub_80D0488: @ 80D0488
ldr r0, _080D04D4 @ =gTasks
adds r4, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
@@ -12238,7 +12238,7 @@ sub_80D0488: @ 80D0488
strh r0, [r4, 0x10]
strh r5, [r4, 0x12]
strh r5, [r4, 0x14]
- ldr r0, _080D04D8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D04D8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079E90
lsls r0, 24
@@ -12251,7 +12251,7 @@ sub_80D0488: @ 80D0488
bx r0
.align 2, 0
_080D04D4: .4byte gTasks
-_080D04D8: .4byte gBattleAnimPlayerMonIndex
+_080D04D8: .4byte gBattleAnimBankAttacker
_080D04DC: .4byte sub_80D04E0
thumb_func_end sub_80D0488
@@ -12593,7 +12593,7 @@ _080D0770: .4byte gTasks
_080D0774: .4byte gBattleAnimArgs
_080D0778:
ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -12775,7 +12775,7 @@ sub_80D08C8: @ 80D08C8
ldr r0, _080D08F8 @ =gTasks
adds r4, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -12821,7 +12821,7 @@ _080D092C: .4byte gTasks
sub_80D0930: @ 80D0930
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _080D0960 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080D0960 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankSide
lsls r0, 24
@@ -12840,7 +12840,7 @@ sub_80D0930: @ 80D0930
movs r0, 0x40
b _080D097E
.align 2, 0
-_080D0960: .4byte gBattleAnimPlayerMonIndex
+_080D0960: .4byte gBattleAnimBankAttacker
_080D0964:
adds r0, r4, 0
movs r1, 0x1
@@ -12855,7 +12855,7 @@ _080D0964:
ldr r0, _080D09B0 @ =0x0000ffc0
_080D097E:
strh r0, [r4, 0x30]
- ldr r0, _080D09B4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D09B4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
bl sub_8077ABC
@@ -12870,7 +12870,7 @@ _080D097E:
strh r1, [r4, 0x36]
ldr r1, _080D09B8 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D09BC @ =sub_8078394
str r0, [r4, 0x1C]
pop {r4,r5}
@@ -12878,7 +12878,7 @@ _080D097E:
bx r0
.align 2, 0
_080D09B0: .4byte 0x0000ffc0
-_080D09B4: .4byte gBattleAnimPlayerMonIndex
+_080D09B4: .4byte gBattleAnimBankAttacker
_080D09B8: .4byte move_anim_8072740
_080D09BC: .4byte sub_8078394
thumb_func_end sub_80D0930
@@ -12892,13 +12892,13 @@ sub_80D09C0: @ 80D09C0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D09DC
- ldr r0, _080D09D8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D09D8 @ =gBattleAnimBankAttacker
b _080D09DE
.align 2, 0
_080D09D4: .4byte gBattleAnimArgs
-_080D09D8: .4byte gBattleAnimPlayerMonIndex
+_080D09D8: .4byte gBattleAnimBankAttacker
_080D09DC:
- ldr r0, _080D0A3C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D0A3C @ =gBattleAnimBankTarget
_080D09DE:
ldrb r5, [r0]
adds r0, r5, 0
@@ -12939,14 +12939,14 @@ _080D09F8:
_080D0A2A:
ldr r1, _080D0A44 @ =move_anim_8074EE0
adds r0, r6, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D0A48 @ =sub_80785E4
str r0, [r6, 0x1C]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080D0A3C: .4byte gBattleAnimEnemyMonIndex
+_080D0A3C: .4byte gBattleAnimBankTarget
_080D0A40: .4byte gBattleAnimArgs
_080D0A44: .4byte move_anim_8074EE0
_080D0A48: .4byte sub_80785E4
@@ -12963,7 +12963,7 @@ sub_80D0A4C: @ 80D0A4C
ldr r0, _080D0A80 @ =gTasks
adds r4, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -13019,7 +13019,7 @@ sub_80D0AB8: @ 80D0AB8
ldr r0, _080D0B2C @ =gTasks
adds r4, r1, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
movs r2, 0
@@ -13050,7 +13050,7 @@ sub_80D0AB8: @ 80D0AB8
strh r2, [r4, 0x18]
movs r0, 0x2
strh r0, [r4, 0x1A]
- ldr r0, _080D0B34 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D0B34 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -13070,7 +13070,7 @@ _080D0B22:
.align 2, 0
_080D0B2C: .4byte gTasks
_080D0B30: .4byte gSprites
-_080D0B34: .4byte gBattleAnimPlayerMonIndex
+_080D0B34: .4byte gBattleAnimBankAttacker
_080D0B38: .4byte sub_80D0B3C
thumb_func_end sub_80D0AB8
@@ -13260,7 +13260,7 @@ sub_80D0C88: @ 80D0C88
lsls r1, 3
ldr r0, _080D0CD8 @ =gTasks
adds r5, r1, r0
- ldr r4, _080D0CDC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D0CDC @ =gBattleAnimBankTarget
ldrb r0, [r4]
bl sub_8077FC0
lsls r0, 24
@@ -13290,7 +13290,7 @@ sub_80D0C88: @ 80D0C88
b _080D0CF0
.align 2, 0
_080D0CD8: .4byte gTasks
-_080D0CDC: .4byte gBattleAnimEnemyMonIndex
+_080D0CDC: .4byte gBattleAnimBankTarget
_080D0CE0: .4byte gUnknown_030042C0
_080D0CE4: .4byte REG_BG1HOFS
_080D0CE8:
@@ -13472,7 +13472,7 @@ _080D0E2C: .4byte gUnknown_03004DC0
sub_80D0E30: @ 80D0E30
push {r4-r6,lr}
adds r4, r0, 0
- ldr r6, _080D0E84 @ =gBattleAnimEnemyMonIndex
+ ldr r6, _080D0E84 @ =gBattleAnimBankTarget
ldrb r0, [r6]
movs r1, 0
bl sub_8077ABC
@@ -13509,7 +13509,7 @@ sub_80D0E30: @ 80D0E30
pop {r0}
bx r0
.align 2, 0
-_080D0E84: .4byte gBattleAnimEnemyMonIndex
+_080D0E84: .4byte gBattleAnimBankTarget
_080D0E88: .4byte sub_80D0E8C
thumb_func_end sub_80D0E30
@@ -13709,13 +13709,13 @@ sub_80D0FD8: @ 80D0FD8
adds r1, r0, 0
cmp r2, 0
bne _080D1004
- ldr r0, _080D1000 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D1000 @ =gBattleAnimBankAttacker
b _080D1006
.align 2, 0
_080D0FFC: .4byte gBattleAnimArgs
-_080D1000: .4byte gBattleAnimPlayerMonIndex
+_080D1000: .4byte gBattleAnimBankAttacker
_080D1004:
- ldr r0, _080D1040 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D1040 @ =gBattleAnimBankTarget
_080D1006:
ldrb r5, [r0]
ldrb r1, [r1, 0x6]
@@ -13729,7 +13729,7 @@ _080D1006:
movs r1, 0x2
adds r0, r5, 0
eors r0, r1
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080D107E
@@ -13744,7 +13744,7 @@ _080D1006:
movs r1, 0
b _080D1048
.align 2, 0
-_080D1040: .4byte gBattleAnimEnemyMonIndex
+_080D1040: .4byte gBattleAnimBankTarget
_080D1044:
adds r0, r5, 0
movs r1, 0x2
@@ -13826,18 +13826,18 @@ sub_80D10B8: @ 80D10B8
ldrsh r0, [r0, r2]
cmp r0, 0
bne _080D10F0
- ldr r0, _080D10E8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D10E8 @ =gBattleAnimBankAttacker
ldrb r7, [r0]
- ldr r0, _080D10EC @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D10EC @ =gBattleAnimBankTarget
b _080D10F6
.align 2, 0
_080D10E4: .4byte gBattleAnimArgs
-_080D10E8: .4byte gBattleAnimPlayerMonIndex
-_080D10EC: .4byte gBattleAnimEnemyMonIndex
+_080D10E8: .4byte gBattleAnimBankAttacker
+_080D10EC: .4byte gBattleAnimBankTarget
_080D10F0:
- ldr r0, _080D1110 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D1110 @ =gBattleAnimBankTarget
ldrb r7, [r0]
- ldr r0, _080D1114 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D1114 @ =gBattleAnimBankAttacker
_080D10F6:
ldrb r0, [r0]
mov r8, r0
@@ -13852,8 +13852,8 @@ _080D10F6:
str r1, [sp, 0x4]
b _080D1124
.align 2, 0
-_080D1110: .4byte gBattleAnimEnemyMonIndex
-_080D1114: .4byte gBattleAnimPlayerMonIndex
+_080D1110: .4byte gBattleAnimBankTarget
+_080D1114: .4byte gBattleAnimBankAttacker
_080D1118: .4byte gBattleAnimArgs
_080D111C:
movs r2, 0x2
@@ -13881,7 +13881,7 @@ _080D1124:
mov r4, r8
eors r4, r0
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080D1170
@@ -13925,7 +13925,7 @@ _080D1180:
movs r0, 0x2
eors r4, r0
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080D1204
@@ -14002,7 +14002,7 @@ _080D121A:
mov r0, r8
movs r1, 0x2
eors r0, r1
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080D127C
@@ -14139,7 +14139,7 @@ sub_80D1368: @ 80D1368
adds r4, r0, 0
movs r1, 0
bl sub_80787B0
- ldr r0, _080D139C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D139C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -14161,7 +14161,7 @@ _080D1384:
pop {r0}
bx r0
.align 2, 0
-_080D139C: .4byte gBattleAnimPlayerMonIndex
+_080D139C: .4byte gBattleAnimBankAttacker
_080D13A0: .4byte 0x0000ff60
_080D13A4: .4byte gBattleAnimArgs
_080D13A8: .4byte sub_80D13AC
@@ -14184,7 +14184,7 @@ sub_80D13AC: @ 80D13AC
strh r0, [r4, 0x24]
subs r2, 0x20
strh r2, [r4, 0x2E]
- ldr r0, _080D1418 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D1418 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -14223,7 +14223,7 @@ _080D1410:
pop {r0}
bx r0
.align 2, 0
-_080D1418: .4byte gBattleAnimPlayerMonIndex
+_080D1418: .4byte gBattleAnimBankAttacker
_080D141C: .4byte 0x0000ff60
_080D1420: .4byte sub_80D1424
thumb_func_end sub_80D13AC
@@ -14449,7 +14449,7 @@ sub_80D15A4: @ 80D15A4
ldr r0, _080D15D4 @ =gTasks
adds r4, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -14531,7 +14531,7 @@ sub_80D1638: @ 80D1638
strh r0, [r4, 0xE]
movs r0, 0x3
strh r0, [r4, 0x20]
- ldr r0, _080D1670 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D1670 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -14543,7 +14543,7 @@ sub_80D1638: @ 80D1638
b _080D167E
.align 2, 0
_080D166C: .4byte gTasks
-_080D1670: .4byte gBattleAnimEnemyMonIndex
+_080D1670: .4byte gBattleAnimBankTarget
_080D1674: .4byte 0x0000ffff
_080D1678:
movs r0, 0x1
@@ -14552,7 +14552,7 @@ _080D1678:
_080D167E:
strh r0, [r4, 0x24]
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -14745,7 +14745,7 @@ sub_80D17C4: @ 80D17C4
movs r0, 0x2
strh r0, [r4, 0x24]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -14888,7 +14888,7 @@ sub_80D18D4: @ 80D18D4
strh r0, [r4, 0x16]
strh r0, [r4, 0x18]
strh r0, [r4, 0x22]
- ldr r5, _080D1928 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080D1928 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
bl sub_8077ABC
@@ -14908,7 +14908,7 @@ sub_80D18D4: @ 80D18D4
bx r0
.align 2, 0
_080D1924: .4byte gTasks
-_080D1928: .4byte gBattleAnimPlayerMonIndex
+_080D1928: .4byte gBattleAnimBankAttacker
_080D192C: .4byte sub_80D1930
thumb_func_end sub_80D18D4
@@ -15162,7 +15162,7 @@ _080D1AF4:
cmp r5, 0x4
ble _080D1AF4
ldr r4, _080D1B3C @ =gBattleAnimSpritePalette_206
- bl IsContest
+ bl NotInBattle
lsls r0, 24
ldr r1, _080D1B40 @ =0x02018000
cmp r0, 0
@@ -15171,11 +15171,11 @@ _080D1AF4:
adds r1, r0
_080D1B1C:
adds r0, r4, 0
- bl sub_800D238
+ bl LZDecompressWram
movs r5, 0
_080D1B24:
lsls r4, r5, 5
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D1B4C
@@ -15293,7 +15293,7 @@ sub_80D1C08: @ 80D1C08
adds r5, r0, 0
movs r1, 0
bl sub_80787B0
- ldr r6, _080D1C70 @ =gBattleAnimPlayerMonIndex
+ ldr r6, _080D1C70 @ =gBattleAnimBankAttacker
ldrb r0, [r6]
bl GetBankSide
lsls r0, 24
@@ -15327,7 +15327,7 @@ _080D1C28:
str r0, [r5, 0x1C]
ldr r1, _080D1C7C @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldrb r1, [r4, 0xA]
ldrb r2, [r4, 0xC]
adds r0, r5, 0
@@ -15336,7 +15336,7 @@ _080D1C28:
pop {r0}
bx r0
.align 2, 0
-_080D1C70: .4byte gBattleAnimPlayerMonIndex
+_080D1C70: .4byte gBattleAnimBankAttacker
_080D1C74: .4byte gBattleAnimArgs
_080D1C78: .4byte sub_8078B34
_080D1C7C: .4byte move_anim_8072740
@@ -15390,7 +15390,7 @@ sub_80D1CD0: @ 80D1CD0
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
movs r2, 0xF0
cmp r0, 0
@@ -15569,7 +15569,7 @@ sub_80D1E38: @ 80D1E38
lsrs r0, 24
adds r6, r0, 0
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080D1E88 @ =gTasks
@@ -15585,7 +15585,7 @@ sub_80D1E38: @ 80D1E38
cmp r0, 0x1
bne _080D1E94
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -15638,7 +15638,7 @@ sub_80D1EC8: @ 80D1EC8
lsrs r0, 24
adds r6, r0, 0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080D1F18 @ =gTasks
@@ -15654,7 +15654,7 @@ sub_80D1EC8: @ 80D1EC8
cmp r0, 0x1
bne _080D1F24
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -15710,7 +15710,7 @@ sub_80D1F58: @ 80D1F58
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
strh r0, [r4, 0x30]
- ldr r5, _080D1F9C @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080D1F9C @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -15733,7 +15733,7 @@ sub_80D1F58: @ 80D1F58
pop {r0}
bx r0
.align 2, 0
-_080D1F9C: .4byte gBattleAnimEnemyMonIndex
+_080D1F9C: .4byte gBattleAnimBankTarget
_080D1FA0: .4byte sub_80D1FA4
thumb_func_end sub_80D1F58
@@ -15853,7 +15853,7 @@ sub_80D2064: @ 80D2064
ldr r1, _080D208C @ =sub_80782D8
str r1, [r0, 0x1C]
ldr r1, _080D2090 @ =sub_80D2094
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
@@ -15943,7 +15943,7 @@ sub_80D2100: @ 80D2100
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D2144
@@ -15987,7 +15987,7 @@ _080D2144:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D21A4
@@ -16200,7 +16200,7 @@ _080D230E:
ldr r1, _080D23A4 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D235C
@@ -16280,7 +16280,7 @@ sub_80D23B4: @ 80D23B4
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D23FE
@@ -16313,7 +16313,7 @@ _080D23FE:
ldr r0, _080D2454 @ =0x85000400
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D245C
@@ -16330,7 +16330,7 @@ _080D2450: .4byte 0x040000d4
_080D2454: .4byte 0x85000400
_080D2458: .4byte gBattleAnimBackgroundTilemap_ScaryFaceContest
_080D245C:
- ldr r0, _080D2478 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D2478 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -16343,7 +16343,7 @@ _080D246E:
bl LZDecompressVram
b _080D2488
.align 2, 0
-_080D2478: .4byte gBattleAnimEnemyMonIndex
+_080D2478: .4byte gBattleAnimBankTarget
_080D247C: .4byte gBattleAnimBackgroundTilemap_ScaryFacePlayer
_080D2480:
ldr r0, _080D24CC @ =gBattleAnimBackgroundTilemap_ScaryFaceOpponent
@@ -16359,7 +16359,7 @@ _080D2488:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D24B6
@@ -16564,7 +16564,7 @@ _080D25FE:
ldr r1, _080D2694 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D264C
@@ -16621,7 +16621,7 @@ _080D26A0: .4byte REG_BLDCNT
sub_80D26A4: @ 80D26A4
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _080D26F8 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080D26F8 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -16658,7 +16658,7 @@ sub_80D26A4: @ 80D26A4
pop {r0}
bx r0
.align 2, 0
-_080D26F8: .4byte gBattleAnimPlayerMonIndex
+_080D26F8: .4byte gBattleAnimBankAttacker
_080D26FC: .4byte gBattleAnimArgs
_080D2700: .4byte sub_80D2704
thumb_func_end sub_80D26A4
@@ -16779,7 +16779,7 @@ _080D27DC: .4byte 0x0000ffff
sub_80D27E0: @ 80D27E0
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _080D2828 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D2828 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -16809,7 +16809,7 @@ sub_80D27E0: @ 80D27E0
pop {r0}
bx r0
.align 2, 0
-_080D2828: .4byte gBattleAnimPlayerMonIndex
+_080D2828: .4byte gBattleAnimBankAttacker
_080D282C: .4byte gBattleAnimArgs
_080D2830: .4byte sub_80D2834
thumb_func_end sub_80D27E0
@@ -16887,7 +16887,7 @@ _080D28A8:
sub_80D28AC: @ 80D28AC
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _080D28F8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D28F8 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -16919,7 +16919,7 @@ sub_80D28AC: @ 80D28AC
pop {r0}
bx r0
.align 2, 0
-_080D28F8: .4byte gBattleAnimPlayerMonIndex
+_080D28F8: .4byte gBattleAnimBankAttacker
_080D28FC: .4byte gBattleAnimArgs
_080D2900: .4byte sub_80D287C
thumb_func_end sub_80D28AC
@@ -17179,7 +17179,7 @@ sub_80D2ABC: @ 80D2ABC
adds r0, r4, 0
movs r1, 0
bl StartSpriteAnim
- ldr r0, _080D2BBC @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D2BBC @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079E90
subs r0, 0x1
@@ -17291,7 +17291,7 @@ _080D2B80:
b _080D2BD2
.align 2, 0
_080D2BB8: .4byte gBattleAnimArgs
-_080D2BBC: .4byte gBattleAnimEnemyMonIndex
+_080D2BBC: .4byte gBattleAnimBankTarget
_080D2BC0: .4byte 0x0000ffff
_080D2BC4:
adds r2, r4, 0
@@ -17375,12 +17375,12 @@ _080D2C54:
ldrsh r0, [r1, r2]
cmp r0, 0
bne _080D2C64
- ldr r4, _080D2C60 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D2C60 @ =gBattleAnimBankAttacker
b _080D2C66
.align 2, 0
-_080D2C60: .4byte gBattleAnimPlayerMonIndex
+_080D2C60: .4byte gBattleAnimBankAttacker
_080D2C64:
- ldr r4, _080D2C94 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D2C94 @ =gBattleAnimBankTarget
_080D2C66:
ldrb r0, [r4]
movs r1, 0x2
@@ -17404,7 +17404,7 @@ _080D2C66:
adds r0, 0x20
b _080D2CA0
.align 2, 0
-_080D2C94: .4byte gBattleAnimEnemyMonIndex
+_080D2C94: .4byte gBattleAnimBankTarget
_080D2C98: .4byte gBattleAnimArgs
_080D2C9C:
ldrh r0, [r5, 0x20]
@@ -17467,7 +17467,7 @@ sub_80D2CF8: @ 80D2CF8
lsrs r5, 24
ldr r0, _080D2D2C @ =gBattleAnimArgs
ldrb r0, [r0]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -17524,13 +17524,13 @@ sub_80D2D68: @ 80D2D68
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D2D84
- ldr r0, _080D2D80 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D2D80 @ =gBattleAnimBankAttacker
b _080D2D86
.align 2, 0
_080D2D7C: .4byte gBattleAnimArgs
-_080D2D80: .4byte gBattleAnimPlayerMonIndex
+_080D2D80: .4byte gBattleAnimBankAttacker
_080D2D84:
- ldr r0, _080D2E1C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D2E1C @ =gBattleAnimBankTarget
_080D2D86:
ldrb r6, [r0]
adds r0, r6, 0
@@ -17607,7 +17607,7 @@ _080D2DF0:
pop {r0}
bx r0
.align 2, 0
-_080D2E1C: .4byte gBattleAnimEnemyMonIndex
+_080D2E1C: .4byte gBattleAnimBankTarget
_080D2E20: .4byte gBattleAnimArgs
_080D2E24: .4byte 0x000003ff
_080D2E28: .4byte 0xfffffc00
@@ -17882,11 +17882,11 @@ sub_80D3014: @ 80D3014
ands r0, r1
cmp r0, 0
beq _080D3060
- ldr r4, _080D305C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D305C @ =gBattleAnimBankAttacker
ldrb r1, [r4]
movs r0, 0x2
eors r0, r1
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080D3060
@@ -17906,9 +17906,9 @@ sub_80D3014: @ 80D3014
b _080D3080
.align 2, 0
_080D3058: .4byte gBattleTypeFlags
-_080D305C: .4byte gBattleAnimPlayerMonIndex
+_080D305C: .4byte gBattleAnimBankAttacker
_080D3060:
- ldr r4, _080D30A0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D30A0 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -17934,12 +17934,12 @@ _080D3080:
str r0, [r5, 0x1C]
ldr r1, _080D30A8 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080D30A0: .4byte gBattleAnimPlayerMonIndex
+_080D30A0: .4byte gBattleAnimBankAttacker
_080D30A4: .4byte sub_8078B34
_080D30A8: .4byte move_anim_8072740
thumb_func_end sub_80D3014
@@ -18099,7 +18099,7 @@ _080D31C2:
sub_80D31C8: @ 80D31C8
push {r4-r6,lr}
adds r6, r0, 0
- ldr r5, _080D31F0 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080D31F0 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankSide
lsls r0, 24
@@ -18115,7 +18115,7 @@ sub_80D31C8: @ 80D31C8
subs r0, r1
b _080D320A
.align 2, 0
-_080D31F0: .4byte gBattleAnimPlayerMonIndex
+_080D31F0: .4byte gBattleAnimBankAttacker
_080D31F4: .4byte gBattleAnimArgs
_080D31F8:
ldrb r0, [r5]
@@ -18142,7 +18142,7 @@ _080D320A:
movs r1, 0x40
orrs r0, r1
strb r0, [r2]
- ldr r0, _080D32D4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D32D4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -18158,7 +18158,7 @@ _080D3240:
strh r0, [r6, 0x2E]
ldrh r0, [r6, 0x20]
strh r0, [r6, 0x30]
- ldr r4, _080D32D8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D32D8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -18220,8 +18220,8 @@ _080D3240:
bx r0
.align 2, 0
_080D32D0: .4byte gBattleAnimArgs
-_080D32D4: .4byte gBattleAnimPlayerMonIndex
-_080D32D8: .4byte gBattleAnimEnemyMonIndex
+_080D32D4: .4byte gBattleAnimBankAttacker
+_080D32D8: .4byte gBattleAnimBankTarget
_080D32DC: .4byte SpriteCallbackDummy
_080D32E0: .4byte gSprites
_080D32E4: .4byte sub_80D32E8
@@ -18309,7 +18309,7 @@ sub_80D3370: @ 80D3370
ldr r1, _080D3390 @ =sub_8078600
str r1, [r0, 0x1C]
ldr r1, _080D3394 @ =sub_80D3398
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
@@ -18325,7 +18325,7 @@ sub_80D3398: @ 80D3398
ldr r1, _080D33AC @ =sub_80782D8
str r1, [r0, 0x1C]
ldr r1, _080D33B0 @ =move_anim_8074EE0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
@@ -18339,7 +18339,7 @@ sub_80D33B4: @ 80D33B4
adds r5, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _080D33DC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D33DC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -18353,7 +18353,7 @@ sub_80D33B4: @ 80D33B4
adds r7, r1, 0
b _080D33EA
.align 2, 0
-_080D33DC: .4byte gBattleAnimPlayerMonIndex
+_080D33DC: .4byte gBattleAnimBankAttacker
_080D33E0: .4byte gBattleAnimArgs
_080D33E4:
ldr r0, _080D3440 @ =gBattleAnimArgs
@@ -18364,7 +18364,7 @@ _080D33EA:
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, _080D3444 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D3444 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -18400,7 +18400,7 @@ _080D33EA:
bx r0
.align 2, 0
_080D3440: .4byte gBattleAnimArgs
-_080D3444: .4byte gBattleAnimEnemyMonIndex
+_080D3444: .4byte gBattleAnimBankTarget
_080D3448: .4byte sub_80D344C
thumb_func_end sub_80D33B4
@@ -18551,7 +18551,7 @@ sub_80D3554: @ 80D3554
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, _080D35BC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D35BC @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -18590,7 +18590,7 @@ sub_80D3554: @ 80D3554
strh r0, [r5, 0x3C]
b _080D35C8
.align 2, 0
-_080D35BC: .4byte gBattleAnimEnemyMonIndex
+_080D35BC: .4byte gBattleAnimBankTarget
_080D35C0: .4byte gBattleAnimArgs
_080D35C4:
lsls r0, r1, 8
@@ -18711,7 +18711,7 @@ _080D3694: .4byte gTasks
sub_80D3698: @ 80D3698
push {r4-r7,lr}
adds r4, r0, 0
- ldr r7, _080D36E4 @ =gBattleAnimPlayerMonIndex
+ ldr r7, _080D36E4 @ =gBattleAnimBankAttacker
ldrb r0, [r7]
movs r1, 0
bl sub_8077ABC
@@ -18730,7 +18730,7 @@ sub_80D3698: @ 80D3698
bl sub_8079E90
lsls r0, 24
lsrs r5, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D36F2
@@ -18743,7 +18743,7 @@ sub_80D3698: @ 80D3698
strh r0, [r4, 0x24]
b _080D36F4
.align 2, 0
-_080D36E4: .4byte gBattleAnimPlayerMonIndex
+_080D36E4: .4byte gBattleAnimBankAttacker
_080D36E8: .4byte 0x0000fff6
_080D36EC:
strh r6, [r4, 0x24]
@@ -18787,11 +18787,11 @@ _080D3722:
sub_80D3728: @ 80D3728
push {r4-r7,lr}
adds r6, r0, 0
- ldr r5, _080D37E8 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080D37E8 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankSide
adds r4, r0, 0
- ldr r0, _080D37EC @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D37EC @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r4, 24
@@ -18839,7 +18839,7 @@ _080D3786:
_080D3790:
adds r0, r6, 0
bl sub_80787B0
- ldr r0, _080D37E8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D37E8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -18851,7 +18851,7 @@ _080D3790:
_080D37AA:
ldrh r0, [r5, 0x8]
strh r0, [r6, 0x2E]
- ldr r4, _080D37EC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D37EC @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -18872,13 +18872,13 @@ _080D37AA:
str r0, [r6, 0x1C]
ldr r1, _080D37F8 @ =move_anim_8072740
adds r0, r6, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_080D37E8: .4byte gBattleAnimPlayerMonIndex
-_080D37EC: .4byte gBattleAnimEnemyMonIndex
+_080D37E8: .4byte gBattleAnimBankAttacker
+_080D37EC: .4byte gBattleAnimBankTarget
_080D37F0: .4byte gBattleAnimArgs
_080D37F4: .4byte sub_8078B34
_080D37F8: .4byte move_anim_8072740
@@ -18904,7 +18904,7 @@ sub_80D37FC: @ 80D37FC
str r0, [r4, 0x1C]
ldr r1, _080D3834 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -19068,7 +19068,7 @@ _080D3920:
ldr r1, _080D399C @ =0x85000400
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D39B8
@@ -19080,7 +19080,7 @@ _080D3920:
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
- ldr r0, _080D39A0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D39A0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -19095,7 +19095,7 @@ _080D3990: .4byte 0x00003f42
_080D3994: .4byte REG_BG1CNT
_080D3998: .4byte 0x040000d4
_080D399C: .4byte 0x85000400
-_080D39A0: .4byte gBattleAnimPlayerMonIndex
+_080D39A0: .4byte gBattleAnimBankAttacker
_080D39A4: .4byte gUnknown_08E70968
_080D39A8:
ldr r0, _080D39B4 @ =gUnknown_08E70C38
@@ -19174,7 +19174,7 @@ _080D3A0E:
lsls r0, 5
strh r0, [r7, 0xA]
strh r0, [r7, 0xC]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
@@ -19203,7 +19203,7 @@ _080D3A88: .4byte gUnknown_030042C0
_080D3A8C: .4byte 0x0000ffd0
_080D3A90: .4byte gUnknown_030041B4
_080D3A94:
- ldr r0, _080D3AC4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D3AC4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -19226,7 +19226,7 @@ _080D3A94:
strh r1, [r7, 0xE]
b _080D3AEE
.align 2, 0
-_080D3AC4: .4byte gBattleAnimPlayerMonIndex
+_080D3AC4: .4byte gBattleAnimBankAttacker
_080D3AC8: .4byte 0x0000ff20
_080D3ACC: .4byte gUnknown_030042C0
_080D3AD0: .4byte gUnknown_030041B4
@@ -19502,7 +19502,7 @@ _080D3CAA:
ldr r1, _080D3D58 @ =0x85000400
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D3D02
@@ -20048,7 +20048,7 @@ sub_80D40F4: @ 80D40F4
ldr r0, _080D4144 @ =gTasks
adds r4, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -20374,7 +20374,7 @@ _080D438A:
thumb_func_start sub_80D4394
sub_80D4394: @ 80D4394
push {r4,r5,lr}
- ldr r4, _080D43B8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D43B8 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -20390,7 +20390,7 @@ sub_80D4394: @ 80D4394
ldr r0, _080D43C0 @ =gPlayerParty
b _080D43D8
.align 2, 0
-_080D43B8: .4byte gBattleAnimPlayerMonIndex
+_080D43B8: .4byte gBattleAnimBankAttacker
_080D43BC: .4byte gBattlePartyID
_080D43C0: .4byte gPlayerParty
_080D43C4:
@@ -20451,7 +20451,7 @@ sub_80D4418: @ 80D4418
lsls r1, 24
lsrs r1, 24
str r1, [sp]
- ldr r4, _080D4520 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D4520 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -20571,7 +20571,7 @@ _080D44EA:
pop {r0}
bx r0
.align 2, 0
-_080D4520: .4byte gBattleAnimPlayerMonIndex
+_080D4520: .4byte gBattleAnimBankAttacker
_080D4524: .4byte gSpriteTemplate_83D9378
_080D4528: .4byte gSprites
thumb_func_end sub_80D4418
@@ -20681,7 +20681,7 @@ sub_80D45D8: @ 80D45D8
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xA]
- ldr r0, _080D460C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D460C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -20693,7 +20693,7 @@ sub_80D45D8: @ 80D45D8
b _080D4616
.align 2, 0
_080D4608: .4byte gTasks
-_080D460C: .4byte gBattleAnimPlayerMonIndex
+_080D460C: .4byte gBattleAnimBankAttacker
_080D4610:
movs r0, 0x10
strh r0, [r4, 0x10]
@@ -21079,7 +21079,7 @@ sub_80D48F4: @ 80D48F4
lsls r1, 3
ldr r0, _080D4978 @ =gTasks
adds r5, r1, r0
- ldr r4, _080D497C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D497C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -21104,7 +21104,7 @@ sub_80D48F4: @ 80D48F4
movs r1, 0x1
_080D4938:
strh r1, [r5, 0x16]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D494C
@@ -21136,7 +21136,7 @@ _080D494C:
bx r0
.align 2, 0
_080D4978: .4byte gTasks
-_080D497C: .4byte gBattleAnimPlayerMonIndex
+_080D497C: .4byte gBattleAnimBankAttacker
_080D4980: .4byte 0x0000ffe0
_080D4984: .4byte sub_80D4988
thumb_func_end sub_80D48F4
@@ -21556,7 +21556,7 @@ sub_80D4CA4: @ 80D4CA4
adds r4, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r5, _080D4CE0 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080D4CE0 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -21580,7 +21580,7 @@ sub_80D4CA4: @ 80D4CA4
pop {r0}
bx r0
.align 2, 0
-_080D4CE0: .4byte gBattleAnimEnemyMonIndex
+_080D4CE0: .4byte gBattleAnimBankTarget
_080D4CE4: .4byte gBattleAnimArgs
_080D4CE8: .4byte sub_80D4CEC
thumb_func_end sub_80D4CA4
@@ -21734,7 +21734,7 @@ _080D4DF2:
strh r0, [r4, 0x2E]
mov r0, r9
strh r0, [r4, 0x30]
- ldr r0, _080D4E3C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D4E3C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079E90
subs r0, 0x1
@@ -21750,7 +21750,7 @@ _080D4DF2:
.align 2, 0
_080D4E34: .4byte gSpriteTemplate_83D9420
_080D4E38: .4byte gSprites
-_080D4E3C: .4byte gBattleAnimPlayerMonIndex
+_080D4E3C: .4byte gBattleAnimBankAttacker
_080D4E40:
strh r7, [r4, 0x32]
_080D4E42:
@@ -21792,7 +21792,7 @@ _080D4E68:
strh r0, [r4, 0x2E]
mov r0, r9
strh r0, [r4, 0x30]
- ldr r0, _080D4EB4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D4EB4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079E90
subs r0, 0x1
@@ -21808,7 +21808,7 @@ _080D4E68:
.align 2, 0
_080D4EAC: .4byte gSpriteTemplate_83D9420
_080D4EB0: .4byte gSprites
-_080D4EB4: .4byte gBattleAnimPlayerMonIndex
+_080D4EB4: .4byte gBattleAnimBankAttacker
_080D4EB8:
strh r7, [r4, 0x32]
_080D4EBA:
@@ -21847,7 +21847,7 @@ sub_80D4ED8: @ 80D4ED8
strh r0, [r4, 0x36]
ldr r1, _080D4F10 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r1, _080D4F14 @ =sub_8078174
str r1, [r4, 0x1C]
adds r0, r4, 0
@@ -21884,7 +21884,7 @@ sub_80D4F18: @ 80D4F18
str r0, [r4, 0x1C]
ldr r1, _080D4F58 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -21899,7 +21899,7 @@ sub_80D4F5C: @ 80D4F5C
push {r4,lr}
adds r4, r0, 0
bl sub_8078650
- ldr r0, _080D4F90 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D4F90 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -21920,7 +21920,7 @@ sub_80D4F5C: @ 80D4F5C
adds r1, r2, 0
b _080D4FAE
.align 2, 0
-_080D4F90: .4byte gBattleAnimPlayerMonIndex
+_080D4F90: .4byte gBattleAnimBankAttacker
_080D4F94: .4byte gBattleAnimArgs
_080D4F98:
ldr r1, _080D4FC4 @ =gBattleAnimArgs
@@ -21955,7 +21955,7 @@ _080D4FC8: .4byte sub_80D5038
sub_80D4FCC: @ 80D4FCC
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080D4FF8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D4FF8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -21975,7 +21975,7 @@ sub_80D4FCC: @ 80D4FCC
adds r1, r2, 0
b _080D5018
.align 2, 0
-_080D4FF8: .4byte gBattleAnimPlayerMonIndex
+_080D4FF8: .4byte gBattleAnimBankAttacker
_080D4FFC: .4byte gBattleAnimArgs
_080D5000:
ldr r1, _080D5030 @ =gBattleAnimArgs
@@ -22047,7 +22047,7 @@ sub_80D5074: @ 80D5074
push {r4,lr}
adds r4, r0, 0
bl sub_8078650
- ldr r0, _080D5098 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D5098 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -22060,7 +22060,7 @@ sub_80D5074: @ 80D5074
strh r1, [r4, 0x20]
b _080D50B2
.align 2, 0
-_080D5098: .4byte gBattleAnimPlayerMonIndex
+_080D5098: .4byte gBattleAnimBankAttacker
_080D509C: .4byte gBattleAnimArgs
_080D50A0:
ldr r0, _080D50E0 @ =gBattleAnimArgs
@@ -22194,7 +22194,7 @@ sub_80D517C: @ 80D517C
ldr r1, _080D51A0 @ =sub_8078B34
str r1, [r0, 0x1C]
ldr r1, _080D51A4 @ =move_anim_8072740
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
@@ -22206,11 +22206,11 @@ _080D51A4: .4byte move_anim_8072740
sub_80D51A8: @ 80D51A8
push {r4-r6,lr}
adds r6, r0, 0
- ldr r5, _080D5200 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080D5200 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankSide
adds r4, r0, 0
- ldr r0, _080D5204 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D5204 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r4, 24
@@ -22245,8 +22245,8 @@ _080D51EE:
pop {r0}
bx r0
.align 2, 0
-_080D5200: .4byte gBattleAnimPlayerMonIndex
-_080D5204: .4byte gBattleAnimEnemyMonIndex
+_080D5200: .4byte gBattleAnimBankAttacker
+_080D5204: .4byte gBattleAnimBankTarget
_080D5208: .4byte gBattleAnimArgs
_080D520C: .4byte sub_8079534
thumb_func_end sub_80D51A8
@@ -22305,7 +22305,7 @@ sub_80D5254: @ 80D5254
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, _080D52A4 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D52A4 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -22329,7 +22329,7 @@ _080D529E:
pop {r0}
bx r0
.align 2, 0
-_080D52A4: .4byte gBattleAnimEnemyMonIndex
+_080D52A4: .4byte gBattleAnimBankTarget
_080D52A8: .4byte sub_80D52AC
thumb_func_end sub_80D5254
@@ -22343,7 +22343,7 @@ sub_80D52AC: @ 80D52AC
beq _080D52F4
movs r4, 0
strh r4, [r6, 0x2E]
- ldr r5, _080D52EC @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080D52EC @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -22364,7 +22364,7 @@ sub_80D52AC: @ 80D52AC
bl _call_via_r1
b _080D531E
.align 2, 0
-_080D52EC: .4byte gBattleAnimEnemyMonIndex
+_080D52EC: .4byte gBattleAnimBankTarget
_080D52F0: .4byte sub_80D5324
_080D52F4:
movs r1, 0x3C
@@ -22457,7 +22457,7 @@ sub_80D5374: @ 80D5374
strh r0, [r4, 0x32]
ldr r1, _080D53AC @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D53B0 @ =sub_8078364
str r0, [r4, 0x1C]
pop {r4}
@@ -22490,7 +22490,7 @@ sub_80D53B4: @ 80D53B4
str r0, [r4, 0x1C]
ldr r1, _080D53F0 @ =sub_80D53F4
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -22577,7 +22577,7 @@ sub_80D5470: @ 80D5470
ldr r0, _080D54D0 @ =gTasks
adds r4, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
@@ -22595,7 +22595,7 @@ sub_80D5470: @ 80D5470
adds r0, r2
ldrh r0, [r0, 0x22]
strh r0, [r4, 0x10]
- ldr r0, _080D54D8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D54D8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -22615,7 +22615,7 @@ sub_80D5470: @ 80D5470
.align 2, 0
_080D54D0: .4byte gTasks
_080D54D4: .4byte gSprites
-_080D54D8: .4byte gBattleAnimPlayerMonIndex
+_080D54D8: .4byte gBattleAnimBankAttacker
_080D54DC: .4byte sub_80D54E0
thumb_func_end sub_80D5470
@@ -23021,7 +23021,7 @@ sub_80D57C4: @ 80D57C4
lsls r0, 2
adds r0, r1
ldrh r4, [r0, 0x20]
- ldr r0, _080D5818 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D5818 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -23035,7 +23035,7 @@ sub_80D57C4: @ 80D57C4
b _080D5826
.align 2, 0
_080D5814: .4byte gSprites
-_080D5818: .4byte gBattleAnimPlayerMonIndex
+_080D5818: .4byte gBattleAnimBankAttacker
_080D581C:
adds r0, r4, 0
adds r0, 0x10
@@ -23203,7 +23203,7 @@ sub_80D5940: @ 80D5940
adds r0, r2
lsls r0, 16
lsrs r4, r0, 16
- ldr r0, _080D597C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D597C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -23215,7 +23215,7 @@ sub_80D5940: @ 80D5940
b _080D5986
.align 2, 0
_080D5978: .4byte gSprites
-_080D597C: .4byte gBattleAnimPlayerMonIndex
+_080D597C: .4byte gBattleAnimBankAttacker
_080D5980:
lsls r0, r4, 16
movs r1, 0xB0
@@ -23466,7 +23466,7 @@ _080D5B28:
bl StartSpriteAnim
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x3C]
- ldr r0, _080D5B54 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D5B54 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -23476,12 +23476,12 @@ _080D5B28:
b _080D5B5A
.align 2, 0
_080D5B50: .4byte gBattleAnimArgs
-_080D5B54: .4byte gBattleAnimPlayerMonIndex
+_080D5B54: .4byte gBattleAnimBankAttacker
_080D5B58:
ldr r0, _080D5B78 @ =0x0000fffc
_080D5B5A:
strh r0, [r5, 0x36]
- ldr r0, _080D5B7C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D5B7C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
movs r1, 0x3
@@ -23496,12 +23496,12 @@ _080D5B5A:
b _080D5BD6
.align 2, 0
_080D5B78: .4byte 0x0000fffc
-_080D5B7C: .4byte gBattleAnimEnemyMonIndex
+_080D5B7C: .4byte gBattleAnimBankTarget
_080D5B80:
ldrh r0, [r5, 0x30]
adds r0, 0xC0
strh r0, [r5, 0x30]
- ldr r0, _080D5BA0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D5BA0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -23513,7 +23513,7 @@ _080D5B80:
negs r0, r0
b _080D5BAA
.align 2, 0
-_080D5BA0: .4byte gBattleAnimPlayerMonIndex
+_080D5BA0: .4byte gBattleAnimBankAttacker
_080D5BA4:
ldrh r0, [r5, 0x30]
lsls r0, 16
@@ -23579,7 +23579,7 @@ _080D5BDE:
lsls r0, 1
strh r0, [r5, 0x2E]
strh r1, [r5, 0x30]
- ldr r4, _080D5C54 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D5C54 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -23603,7 +23603,7 @@ _080D5C4E:
pop {r0}
bx r0
.align 2, 0
-_080D5C54: .4byte gBattleAnimEnemyMonIndex
+_080D5C54: .4byte gBattleAnimBankTarget
_080D5C58: .4byte sub_80D5C5C
thumb_func_end sub_80D5B0C
@@ -23715,7 +23715,7 @@ _080D5CD8:
lsrs r0, 16
cmp r0, 0x83
bls _080D5D5C
- ldr r0, _080D5D58 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D5D58 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
movs r1, 0x3
@@ -23732,9 +23732,9 @@ _080D5CD8:
_080D5D4C: .4byte gBattleAnimArgs
_080D5D50: .4byte gMain
_080D5D54: .4byte 0x0000043d
-_080D5D58: .4byte gBattleAnimEnemyMonIndex
+_080D5D58: .4byte gBattleAnimBankTarget
_080D5D5C:
- ldr r0, _080D5D80 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D5D80 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
lsls r0, 24
@@ -23751,7 +23751,7 @@ _080D5D5C:
strb r1, [r4, 0x5]
b _080D5DA0
.align 2, 0
-_080D5D80: .4byte gBattleAnimEnemyMonIndex
+_080D5D80: .4byte gBattleAnimBankTarget
_080D5D84:
adds r0, r2, 0
subs r0, 0x40
@@ -23813,7 +23813,7 @@ sub_80D5DDC: @ 80D5DDC
lsls r1, 3
ldr r0, _080D5E3C @ =gTasks
adds r4, r1, r0
- ldr r0, _080D5E40 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D5E40 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -23825,22 +23825,22 @@ sub_80D5DDC: @ 80D5DDC
movs r1, 0x1
_080D5E02:
strh r1, [r4, 0x20]
- ldr r0, _080D5E44 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D5E44 @ =gBattleAnimBankTarget
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
strh r0, [r4, 0x22]
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
movs r0, 0x3
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -23851,8 +23851,8 @@ _080D5E02:
bx r0
.align 2, 0
_080D5E3C: .4byte gTasks
-_080D5E40: .4byte gBattleAnimPlayerMonIndex
-_080D5E44: .4byte gBattleAnimEnemyMonIndex
+_080D5E40: .4byte gBattleAnimBankAttacker
+_080D5E44: .4byte gBattleAnimBankTarget
_080D5E48: .4byte sub_80D5E4C
thumb_func_end sub_80D5DDC
@@ -24222,7 +24222,7 @@ _080D60EA:
adds r0, 0x1
strh r0, [r2, 0x8]
ldr r1, _080D6114 @ =gObjectBankIDs
- ldr r0, _080D6118 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D6118 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r0, r1
ldrb r6, [r0]
@@ -24238,7 +24238,7 @@ _080D60EA:
_080D610C: .4byte gTasks
_080D6110: .4byte gBattleAnimArgs
_080D6114: .4byte gObjectBankIDs
-_080D6118: .4byte gBattleAnimEnemyMonIndex
+_080D6118: .4byte gBattleAnimBankTarget
_080D611C: .4byte gUnknown_083D9794
_080D6120:
ldr r4, _080D616C @ =gUnknown_083D97A4
@@ -24331,7 +24331,7 @@ _080D61C4: .4byte gSprites
sub_80D61C8: @ 80D61C8
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080D61E8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D61E8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -24344,7 +24344,7 @@ sub_80D61C8: @ 80D61C8
strh r1, [r4, 0x20]
b _080D61FC
.align 2, 0
-_080D61E8: .4byte gBattleAnimPlayerMonIndex
+_080D61E8: .4byte gBattleAnimBankAttacker
_080D61EC: .4byte gBattleAnimArgs
_080D61F0:
ldr r1, _080D6210 @ =gBattleAnimArgs
@@ -24389,7 +24389,7 @@ _080D622E:
sub_80D6234: @ 80D6234
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080D6254 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D6254 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -24402,7 +24402,7 @@ sub_80D6234: @ 80D6234
strh r1, [r4, 0x20]
b _080D6266
.align 2, 0
-_080D6254: .4byte gBattleAnimPlayerMonIndex
+_080D6254: .4byte gBattleAnimBankAttacker
_080D6258: .4byte gBattleAnimArgs
_080D625C:
ldr r0, _080D6270 @ =gBattleAnimArgs
@@ -24442,7 +24442,7 @@ _080D628E:
sub_80D6294: @ 80D6294
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _080D62D8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D62D8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -24455,7 +24455,7 @@ sub_80D6294: @ 80D6294
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- ldr r0, _080D62DC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D62DC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -24472,8 +24472,8 @@ sub_80D6294: @ 80D6294
strh r0, [r5, 0x22]
b _080D62F8
.align 2, 0
-_080D62D8: .4byte gBattleAnimEnemyMonIndex
-_080D62DC: .4byte gBattleAnimPlayerMonIndex
+_080D62D8: .4byte gBattleAnimBankTarget
+_080D62DC: .4byte gBattleAnimBankAttacker
_080D62E0: .4byte gBattleAnimArgs
_080D62E4:
ldr r0, _080D631C @ =gBattleAnimArgs
@@ -24497,7 +24497,7 @@ _080D62F8:
strh r0, [r5, 0x34]
ldr r1, _080D6320 @ =move_anim_8074EE0
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D6324 @ =sub_8078114
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -24532,46 +24532,46 @@ _080D6344:
beq _080D637C
b _080D63A0
_080D634E:
- ldr r0, _080D6354 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D6354 @ =gBattleAnimBankAttacker
b _080D63A2
.align 2, 0
-_080D6354: .4byte gBattleAnimPlayerMonIndex
+_080D6354: .4byte gBattleAnimBankAttacker
_080D6358:
- ldr r4, _080D6370 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D6370 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r6, 0x2
eors r0, r6
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
bne _080D6374
ldrb r4, [r4]
b _080D63A4
.align 2, 0
-_080D6370: .4byte gBattleAnimPlayerMonIndex
+_080D6370: .4byte gBattleAnimBankAttacker
_080D6374:
ldrb r0, [r4]
adds r4, r6, 0
eors r4, r0
b _080D63A4
_080D637C:
- ldr r0, _080D6398 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D6398 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
movs r4, 0x2
eors r0, r4
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080D63A0
- ldr r0, _080D639C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D639C @ =gBattleAnimBankTarget
ldrb r0, [r0]
eors r4, r0
b _080D63A4
.align 2, 0
-_080D6398: .4byte gBattleAnimPlayerMonIndex
-_080D639C: .4byte gBattleAnimEnemyMonIndex
+_080D6398: .4byte gBattleAnimBankAttacker
+_080D639C: .4byte gBattleAnimBankTarget
_080D63A0:
- ldr r0, _080D63C4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D63C4 @ =gBattleAnimBankTarget
_080D63A2:
ldrb r4, [r0]
_080D63A4:
@@ -24590,7 +24590,7 @@ _080D63A4:
movs r1, 0x1
b _080D63DE
.align 2, 0
-_080D63C4: .4byte gBattleAnimEnemyMonIndex
+_080D63C4: .4byte gBattleAnimBankTarget
_080D63C8: .4byte gBattleAnimArgs
_080D63CC:
adds r0, r4, 0
@@ -24698,7 +24698,7 @@ sub_80D648C: @ 80D648C
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
strh r0, [r4, 0x30]
- ldr r6, _080D6504 @ =gBattleAnimEnemyMonIndex
+ ldr r6, _080D6504 @ =gBattleAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
bl sub_8077ABC
@@ -24744,7 +24744,7 @@ sub_80D648C: @ 80D648C
bx r0
.align 2, 0
_080D6500: .4byte gBattleAnimArgs
-_080D6504: .4byte gBattleAnimEnemyMonIndex
+_080D6504: .4byte gBattleAnimBankTarget
_080D6508: .4byte 0x000003ff
_080D650C: .4byte 0xfffffc00
_080D6510: .4byte sub_80D6514
@@ -24866,7 +24866,7 @@ sub_80D65DC: @ 80D65DC
ands r0, r1
cmp r0, 0
beq _080D65FE
- ldr r0, _080D664C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D664C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -24878,7 +24878,7 @@ _080D65FE:
negs r0, r0
strh r0, [r1, 0x2]
_080D6606:
- ldr r5, _080D664C @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080D664C @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -24909,7 +24909,7 @@ _080D6606:
.align 2, 0
_080D6644: .4byte gMain
_080D6648: .4byte 0x0000043d
-_080D664C: .4byte gBattleAnimEnemyMonIndex
+_080D664C: .4byte gBattleAnimBankTarget
_080D6650: .4byte gBattleAnimArgs
_080D6654: .4byte sub_80D658C
thumb_func_end sub_80D65DC
@@ -24928,13 +24928,13 @@ sub_80D6658: @ 80D6658
ands r0, r1
cmp r0, 0
beq _080D667C
- ldr r0, _080D6678 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D6678 @ =gBattleAnimBankTarget
b _080D667E
.align 2, 0
_080D6674: .4byte gBattleAnimArgs
-_080D6678: .4byte gBattleAnimEnemyMonIndex
+_080D6678: .4byte gBattleAnimBankTarget
_080D667C:
- ldr r0, _080D670C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D670C @ =gBattleAnimBankAttacker
_080D667E:
ldrb r6, [r0]
ldr r0, _080D6710 @ =gMain
@@ -25005,7 +25005,7 @@ _080D66A4:
pop {r0}
bx r0
.align 2, 0
-_080D670C: .4byte gBattleAnimPlayerMonIndex
+_080D670C: .4byte gBattleAnimBankAttacker
_080D6710: .4byte gMain
_080D6714: .4byte 0x0000043d
_080D6718: .4byte gBattleAnimArgs
@@ -25126,7 +25126,7 @@ _080D67F6:
str r0, [r4, 0x1C]
ldr r1, _080D6818 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -25142,7 +25142,7 @@ sub_80D681C: @ 80D681C
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r6, _080D6864 @ =gBattleAnimEnemyMonIndex
+ ldr r6, _080D6864 @ =gBattleAnimBankTarget
ldrb r0, [r6]
movs r1, 0
bl sub_8077ABC
@@ -25173,7 +25173,7 @@ sub_80D681C: @ 80D681C
pop {r0}
bx r0
.align 2, 0
-_080D6864: .4byte gBattleAnimEnemyMonIndex
+_080D6864: .4byte gBattleAnimBankTarget
_080D6868: .4byte gTasks
_080D686C: .4byte gBattleAnimArgs
_080D6870: .4byte sub_80D6874
@@ -25556,14 +25556,14 @@ sub_80D6B3C: @ 80D6B3C
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D6B68
- ldr r4, _080D6B64 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D6B64 @ =gBattleAnimBankAttacker
b _080D6B6A
.align 2, 0
_080D6B5C: .4byte gTasks
_080D6B60: .4byte gBattleAnimArgs
-_080D6B64: .4byte gBattleAnimPlayerMonIndex
+_080D6B64: .4byte gBattleAnimBankAttacker
_080D6B68:
- ldr r4, _080D6BAC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D6BAC @ =gBattleAnimBankTarget
_080D6B6A:
ldrb r0, [r4]
movs r1, 0x2
@@ -25596,7 +25596,7 @@ _080D6B6A:
pop {r0}
bx r0
.align 2, 0
-_080D6BAC: .4byte gBattleAnimEnemyMonIndex
+_080D6BAC: .4byte gBattleAnimBankTarget
_080D6BB0: .4byte gBattleAnimArgs
_080D6BB4: .4byte sub_80D6BB8
thumb_func_end sub_80D6B3C
@@ -25681,7 +25681,7 @@ sub_80D6BB8: @ 80D6BB8
bl obj_translate_based_on_private_1_2_3_4
ldr r1, _080D6CB0 @ =sub_80D6D00
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D6CB4 @ =sub_8078600
str r0, [r4, 0x1C]
ldrh r0, [r5, 0x1A]
@@ -25790,13 +25790,13 @@ sub_80D6D18: @ 80D6D18
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D6D34
- ldr r4, _080D6D30 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D6D30 @ =gBattleAnimBankAttacker
b _080D6D36
.align 2, 0
_080D6D2C: .4byte gBattleAnimArgs
-_080D6D30: .4byte gBattleAnimPlayerMonIndex
+_080D6D30: .4byte gBattleAnimBankAttacker
_080D6D34:
- ldr r4, _080D6D64 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D6D64 @ =gBattleAnimBankTarget
_080D6D36:
ldrb r0, [r4]
movs r1, 0x2
@@ -25812,14 +25812,14 @@ _080D6D36:
strh r0, [r5, 0x22]
ldr r1, _080D6D68 @ =move_anim_8074EE0
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D6D6C @ =sub_80785E4
str r0, [r5, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080D6D64: .4byte gBattleAnimEnemyMonIndex
+_080D6D64: .4byte gBattleAnimBankTarget
_080D6D68: .4byte move_anim_8074EE0
_080D6D6C: .4byte sub_80785E4
thumb_func_end sub_80D6D18
@@ -25833,13 +25833,13 @@ sub_80D6D70: @ 80D6D70
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D6D8C
- ldr r4, _080D6D88 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D6D88 @ =gBattleAnimBankAttacker
b _080D6D8E
.align 2, 0
_080D6D84: .4byte gBattleAnimArgs
-_080D6D88: .4byte gBattleAnimPlayerMonIndex
+_080D6D88: .4byte gBattleAnimBankAttacker
_080D6D8C:
- ldr r4, _080D6DC8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D6DC8 @ =gBattleAnimBankTarget
_080D6D8E:
ldrb r0, [r4]
movs r1, 0x2
@@ -25860,14 +25860,14 @@ _080D6D8E:
strh r0, [r5, 0x26]
ldr r1, _080D6DD0 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D6DD4 @ =sub_8078600
str r0, [r5, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080D6DC8: .4byte gBattleAnimEnemyMonIndex
+_080D6DC8: .4byte gBattleAnimBankTarget
_080D6DCC: .4byte gBattleAnimArgs
_080D6DD0: .4byte move_anim_8072740
_080D6DD4: .4byte sub_8078600
@@ -25879,7 +25879,7 @@ sub_80D6DD8: @ 80D6DD8
adds r5, r0, 0
movs r1, 0x1
bl StartSpriteAffineAnim
- ldr r4, _080D6E30 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D6E30 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -25893,7 +25893,7 @@ sub_80D6DD8: @ 80D6DD8
lsrs r0, 24
strh r0, [r5, 0x22]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x3A]
@@ -25916,7 +25916,7 @@ _080D6E26:
pop {r0}
bx r0
.align 2, 0
-_080D6E30: .4byte gBattleAnimPlayerMonIndex
+_080D6E30: .4byte gBattleAnimBankAttacker
_080D6E34: .4byte sub_80D6E38
thumb_func_end sub_80D6DD8
@@ -26006,12 +26006,12 @@ _080D6ECE:
b _080D7000
_080D6ED0:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
movs r6, 0
strh r0, [r5, 0x26]
- ldr r4, _080D6F04 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D6F04 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -26028,7 +26028,7 @@ _080D6ED0:
movs r0, 0x2
b _080D6F12
.align 2, 0
-_080D6F04: .4byte gBattleAnimPlayerMonIndex
+_080D6F04: .4byte gBattleAnimBankAttacker
_080D6F08: .4byte 0x0000ffe0
_080D6F0C:
movs r0, 0x20
@@ -26193,7 +26193,7 @@ _080D7034:
_080D703A:
b _080D718E
_080D703C:
- ldr r4, _080D707C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D707C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -26225,7 +26225,7 @@ _080D7052:
ldr r0, _080D7084 @ =0x0000fff0
b _080D70F0
.align 2, 0
-_080D707C: .4byte gBattleAnimPlayerMonIndex
+_080D707C: .4byte gBattleAnimBankAttacker
_080D7080: .4byte gBattleAnimArgs
_080D7084: .4byte 0x0000fff0
_080D7088:
@@ -26254,7 +26254,7 @@ _080D70B0:
movs r0, 0x78
subs r0, r1
strh r0, [r5, 0xE]
- ldr r4, _080D70E4 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D70E4 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x3
bl sub_8077ABC
@@ -26273,7 +26273,7 @@ _080D70B0:
strh r0, [r5, 0x10]
b _080D7126
.align 2, 0
-_080D70E4: .4byte gBattleAnimEnemyMonIndex
+_080D70E4: .4byte gBattleAnimBankTarget
_080D70E8:
ldr r0, _080D710C @ =0x0000fff0
strh r0, [r5, 0xE]
@@ -26506,7 +26506,7 @@ sub_80D727C: @ 80D727C
beq _080D72C0
b _080D72D4
_080D728E:
- ldr r4, _080D72BC @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D72BC @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -26527,7 +26527,7 @@ _080D728E:
strh r0, [r5, 0x2E]
b _080D72D4
.align 2, 0
-_080D72BC: .4byte gBattleAnimPlayerMonIndex
+_080D72BC: .4byte gBattleAnimBankAttacker
_080D72C0:
adds r0, r5, 0
adds r0, 0x3F
@@ -26576,7 +26576,7 @@ _080D7308:
.4byte _080D7444
.4byte _080D7454
_080D731C:
- ldr r4, _080D73A0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D73A0 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -26591,7 +26591,7 @@ _080D731C:
strh r0, [r5, 0x16]
movs r0, 0x4
strh r0, [r5, 0x18]
- ldr r0, _080D73A4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D73A4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x2
bl sub_8077ABC
@@ -26636,8 +26636,8 @@ _080D731C:
adds r0, 0x1
b _080D7466
.align 2, 0
-_080D73A0: .4byte gBattleAnimPlayerMonIndex
-_080D73A4: .4byte gBattleAnimEnemyMonIndex
+_080D73A0: .4byte gBattleAnimBankAttacker
+_080D73A4: .4byte gBattleAnimBankTarget
_080D73A8: .4byte 0x0000ffff
_080D73AC:
ldrh r0, [r5, 0xA]
@@ -26934,7 +26934,7 @@ _080D75C4:
beq _080D7640
b _080D764E
_080D75CA:
- ldr r0, _080D7614 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D7614 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
bl sub_8077ABC
@@ -26956,7 +26956,7 @@ _080D75E4:
bgt _080D75E4
strh r1, [r5, 0x24]
_080D75F4:
- ldr r4, _080D7614 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D7614 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -26971,7 +26971,7 @@ _080D75F4:
strh r0, [r5, 0x20]
b _080D7638
.align 2, 0
-_080D7614: .4byte gBattleAnimEnemyMonIndex
+_080D7614: .4byte gBattleAnimBankTarget
_080D7618:
ldrh r0, [r5, 0xA]
adds r0, 0x1
@@ -27121,7 +27121,7 @@ sub_80D7704: @ 80D7704
ands r0, r2
orrs r0, r1
strh r0, [r5, 0x4]
- ldr r4, _080D7814 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D7814 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -27134,7 +27134,7 @@ sub_80D7704: @ 80D7704
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r4, _080D7818 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D7818 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -27235,8 +27235,8 @@ _080D77DE:
.align 2, 0
_080D780C: .4byte 0x000003ff
_080D7810: .4byte 0xfffffc00
-_080D7814: .4byte gBattleAnimEnemyMonIndex
-_080D7818: .4byte gBattleAnimPlayerMonIndex
+_080D7814: .4byte gBattleAnimBankTarget
+_080D7818: .4byte gBattleAnimBankAttacker
_080D781C: .4byte gBattleAnimArgs
_080D7820:
lsls r1, r3, 16
@@ -27365,7 +27365,7 @@ sub_80D78EC: @ 80D78EC
strh r0, [r4, 0x36]
ldr r1, _080D7924 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r1, _080D7928 @ =sub_8078174
str r1, [r4, 0x1C]
adds r0, r4, 0
@@ -27385,14 +27385,14 @@ sub_80D792C: @ 80D792C
adds r4, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _080D7960 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D7960 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x2
bl sub_8077ABC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
- ldr r0, _080D7964 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D7964 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -27405,8 +27405,8 @@ sub_80D792C: @ 80D792C
strh r1, [r4, 0x32]
b _080D7976
.align 2, 0
-_080D7960: .4byte gBattleAnimEnemyMonIndex
-_080D7964: .4byte gBattleAnimPlayerMonIndex
+_080D7960: .4byte gBattleAnimBankTarget
+_080D7964: .4byte gBattleAnimBankAttacker
_080D7968: .4byte gBattleAnimArgs
_080D796C:
ldr r0, _080D79A4 @ =gBattleAnimArgs
@@ -27415,7 +27415,7 @@ _080D796C:
adds r0, r1
strh r0, [r4, 0x32]
_080D7976:
- ldr r0, _080D79A8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D79A8 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x3
bl sub_8077ABC
@@ -27429,7 +27429,7 @@ _080D7976:
strh r0, [r4, 0x2E]
ldr r1, _080D79AC @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D79B0 @ =sub_8078B34
str r0, [r4, 0x1C]
pop {r4}
@@ -27437,7 +27437,7 @@ _080D7976:
bx r0
.align 2, 0
_080D79A4: .4byte gBattleAnimArgs
-_080D79A8: .4byte gBattleAnimEnemyMonIndex
+_080D79A8: .4byte gBattleAnimBankTarget
_080D79AC: .4byte move_anim_8072740
_080D79B0: .4byte sub_8078B34
thumb_func_end sub_80D792C
@@ -27458,7 +27458,7 @@ sub_80D79B4: @ 80D79B4
.align 2, 0
_080D79CC: .4byte gBattleAnimArgs
_080D79D0:
- ldr r0, _080D7A18 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D7A18 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -27466,7 +27466,7 @@ _080D79D0:
adds r3, 0x22
movs r1, 0x1
bl sub_807A3FC
- ldr r0, _080D7A1C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D7A1C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -27487,15 +27487,15 @@ _080D79F6:
_080D7A06:
ldr r1, _080D7A20 @ =sub_80D7A28
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D7A24 @ =sub_80785E4
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080D7A18: .4byte gBattleAnimEnemyMonIndex
-_080D7A1C: .4byte gBattleAnimPlayerMonIndex
+_080D7A18: .4byte gBattleAnimBankTarget
+_080D7A1C: .4byte gBattleAnimBankAttacker
_080D7A20: .4byte sub_80D7A28
_080D7A24: .4byte sub_80785E4
thumb_func_end sub_80D79B4
@@ -27551,7 +27551,7 @@ sub_80D7A64: @ 80D7A64
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080D7AB4
- ldr r4, _080D7AB0 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D7AB0 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -27569,9 +27569,9 @@ sub_80D7A64: @ 80D7A64
b _080D7AC6
.align 2, 0
_080D7AAC: .4byte gBattleAnimArgs
-_080D7AB0: .4byte gBattleAnimEnemyMonIndex
+_080D7AB0: .4byte gBattleAnimBankTarget
_080D7AB4:
- ldr r0, _080D7AE0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D7AE0 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -27580,7 +27580,7 @@ _080D7AB4:
movs r1, 0x1
bl sub_807A3FC
_080D7AC6:
- ldr r0, _080D7AE4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D7AE4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -27593,8 +27593,8 @@ _080D7AC6:
strh r1, [r5, 0x32]
b _080D7AF6
.align 2, 0
-_080D7AE0: .4byte gBattleAnimEnemyMonIndex
-_080D7AE4: .4byte gBattleAnimPlayerMonIndex
+_080D7AE0: .4byte gBattleAnimBankTarget
+_080D7AE4: .4byte gBattleAnimBankAttacker
_080D7AE8: .4byte gBattleAnimArgs
_080D7AEC:
ldr r0, _080D7B94 @ =gBattleAnimArgs
@@ -27678,7 +27678,7 @@ _080D7B76:
bge _080D7B76
str r6, [r5, 0x1C]
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
add sp, 0x10
pop {r4-r7}
pop {r0}
@@ -27706,7 +27706,7 @@ sub_80D7BA0: @ 80D7BA0
strh r5, [r4, 0x24]
movs r0, 0x80
strh r0, [r4, 0x2E]
- ldr r0, _080D7BFC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D7BFC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -27735,7 +27735,7 @@ _080D7BD0:
pop {r0}
bx r0
.align 2, 0
-_080D7BFC: .4byte gBattleAnimPlayerMonIndex
+_080D7BFC: .4byte gBattleAnimBankAttacker
_080D7C00: .4byte 0x0000ffec
_080D7C04: .4byte sub_80D7C08
thumb_func_end sub_80D7BA0
@@ -27744,7 +27744,7 @@ _080D7C04: .4byte sub_80D7C08
sub_80D7C08: @ 80D7C08
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080D7C5C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D7C5C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -27782,7 +27782,7 @@ _080D7C1E:
strh r0, [r4, 0x38]
b _080D7C82
.align 2, 0
-_080D7C5C: .4byte gBattleAnimPlayerMonIndex
+_080D7C5C: .4byte gBattleAnimBankAttacker
_080D7C60: .4byte 0x0000ffec
_080D7C64:
ldrh r0, [r4, 0x24]
@@ -27866,7 +27866,7 @@ sub_80D7CD4: @ 80D7CD4
ldrsh r0, [r1, r2]
cmp r0, 0
bne _080D7D20
- ldr r4, _080D7D1C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D7D1C @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -27882,9 +27882,9 @@ sub_80D7CD4: @ 80D7CD4
b _080D7D32
.align 2, 0
_080D7D18: .4byte gBattleAnimArgs
-_080D7D1C: .4byte gBattleAnimEnemyMonIndex
+_080D7D1C: .4byte gBattleAnimBankTarget
_080D7D20:
- ldr r0, _080D7D50 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D7D50 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -27893,7 +27893,7 @@ _080D7D20:
movs r1, 0x1
bl sub_807A3FC
_080D7D32:
- ldr r0, _080D7D54 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D7D54 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -27907,8 +27907,8 @@ _080D7D32:
adds r1, r0, 0
b _080D7D66
.align 2, 0
-_080D7D50: .4byte gBattleAnimEnemyMonIndex
-_080D7D54: .4byte gBattleAnimPlayerMonIndex
+_080D7D50: .4byte gBattleAnimBankTarget
+_080D7D54: .4byte gBattleAnimBankAttacker
_080D7D58: .4byte gBattleAnimArgs
_080D7D5C:
ldr r1, _080D7E10 @ =gBattleAnimArgs
@@ -28088,7 +28088,7 @@ sub_80D7E88: @ 80D7E88
.align 2, 0
_080D7EA8: .4byte gBattleAnimArgs
_080D7EAC:
- ldr r0, _080D7EEC @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D7EEC @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -28096,7 +28096,7 @@ _080D7EAC:
adds r3, 0x22
movs r1, 0
bl sub_807A3FC
- ldr r0, _080D7EF0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D7EF0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -28120,8 +28120,8 @@ _080D7EE2:
strh r0, [r4, 0x2E]
b _080D7F08
.align 2, 0
-_080D7EEC: .4byte gBattleAnimEnemyMonIndex
-_080D7EF0: .4byte gBattleAnimPlayerMonIndex
+_080D7EEC: .4byte gBattleAnimBankTarget
+_080D7EF0: .4byte gBattleAnimBankAttacker
_080D7EF4:
adds r0, r4, 0
adds r0, 0x3F
@@ -28158,7 +28158,7 @@ sub_80D7F10: @ 80D7F10
.align 2, 0
_080D7F30: .4byte gBattleAnimArgs
_080D7F34:
- ldr r4, _080D7F5C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D7F5C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
adds r2, r5, 0
adds r2, 0x20
@@ -28176,7 +28176,7 @@ _080D7F34:
subs r0, r1
b _080D7F66
.align 2, 0
-_080D7F5C: .4byte gBattleAnimPlayerMonIndex
+_080D7F5C: .4byte gBattleAnimBankAttacker
_080D7F60:
ldrh r0, [r6]
ldrh r1, [r5, 0x20]
@@ -28189,11 +28189,11 @@ _080D7F66:
adds r0, r1
strh r0, [r5, 0x22]
_080D7F72:
- ldr r0, _080D7F7C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D7F7C @ =gBattleAnimBankAttacker
b _080D7FD0
.align 2, 0
_080D7F78: .4byte gBattleAnimArgs
-_080D7F7C: .4byte gBattleAnimPlayerMonIndex
+_080D7F7C: .4byte gBattleAnimBankAttacker
_080D7F80:
movs r1, 0xA
ldrsh r0, [r6, r1]
@@ -28204,7 +28204,7 @@ _080D7F80:
bl sub_8078764
b _080D7FCE
_080D7F92:
- ldr r4, _080D7FB8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D7FB8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
adds r2, r5, 0
adds r2, 0x20
@@ -28222,7 +28222,7 @@ _080D7F92:
subs r0, r1
b _080D7FC2
.align 2, 0
-_080D7FB8: .4byte gBattleAnimEnemyMonIndex
+_080D7FB8: .4byte gBattleAnimBankTarget
_080D7FBC:
ldrh r0, [r6]
ldrh r1, [r5, 0x20]
@@ -28235,7 +28235,7 @@ _080D7FC2:
adds r0, r1
strh r0, [r5, 0x22]
_080D7FCE:
- ldr r0, _080D7FF0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D7FF0 @ =gBattleAnimBankTarget
_080D7FD0:
ldrb r0, [r0]
strh r0, [r5, 0x3C]
@@ -28253,12 +28253,12 @@ _080D7FE8:
b _080D7FF6
.align 2, 0
_080D7FEC: .4byte gBattleAnimArgs
-_080D7FF0: .4byte gBattleAnimEnemyMonIndex
+_080D7FF0: .4byte gBattleAnimBankTarget
_080D7FF4:
movs r0, 0x40
_080D7FF6:
strh r0, [r5, 0x3A]
- ldr r0, _080D803C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D803C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -28291,7 +28291,7 @@ _080D800C:
pop {r0}
bx r0
.align 2, 0
-_080D803C: .4byte gBattleAnimEnemyMonIndex
+_080D803C: .4byte gBattleAnimBankTarget
_080D8040: .4byte gBattleAnimArgs
_080D8044: .4byte sub_80D8048
thumb_func_end sub_80D7F10
@@ -28400,7 +28400,7 @@ sub_80D80E0: @ 80D80E0
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D812A
@@ -28448,7 +28448,7 @@ _080D812A:
lsls r1, 4
movs r2, 0x20
bl LoadPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D8190
@@ -28679,7 +28679,7 @@ _080D832A:
ldr r1, _080D83C8 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D8378
@@ -28742,7 +28742,7 @@ _080D83DC: .4byte REG_BLDCNT
sub_80D83E0: @ 80D83E0
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _080D840C @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080D840C @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -28761,7 +28761,7 @@ sub_80D83E0: @ 80D83E0
pop {r0}
bx r0
.align 2, 0
-_080D840C: .4byte gBattleAnimPlayerMonIndex
+_080D840C: .4byte gBattleAnimBankAttacker
_080D8410: .4byte sub_807941C
thumb_func_end sub_80D83E0
@@ -28792,7 +28792,7 @@ sub_80D8414: @ 80D8414
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D845E
@@ -28840,7 +28840,7 @@ _080D845E:
lsls r1, 4
movs r2, 0x20
bl LoadPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D84C4
@@ -29061,7 +29061,7 @@ _080D864A:
ldr r1, _080D86E8 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D8698
@@ -29129,13 +29129,13 @@ sub_80D8700: @ 80D8700
ldr r6, _080D87E8 @ =gBattleAnimArgs
ldrh r0, [r6]
strh r0, [r5, 0x2E]
- ldr r0, _080D87EC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D87EC @ =gBattleAnimBankAttacker
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
bl sub_8077ABC
adds r4, r0, 0
- ldr r7, _080D87F0 @ =gBattleAnimEnemyMonIndex
+ ldr r7, _080D87F0 @ =gBattleAnimBankTarget
ldrb r0, [r7]
movs r1, 0x2
bl sub_8077ABC
@@ -29178,7 +29178,7 @@ _080D8734:
cmp r0, 0
bne _080D8790
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _080D87F8 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -29196,7 +29196,7 @@ _080D8790:
movs r0, 0x1
strh r0, [r5, 0x3A]
_080D8794:
- ldr r4, _080D87EC @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D87EC @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -29218,7 +29218,7 @@ _080D8794:
ldrh r1, [r5, 0x20]
adds r0, r1
strh r0, [r5, 0x30]
- ldr r4, _080D87F0 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D87F0 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -29236,8 +29236,8 @@ _080D8794:
b _080D8824
.align 2, 0
_080D87E8: .4byte gBattleAnimArgs
-_080D87EC: .4byte gBattleAnimPlayerMonIndex
-_080D87F0: .4byte gBattleAnimEnemyMonIndex
+_080D87EC: .4byte gBattleAnimBankAttacker
+_080D87F0: .4byte gBattleAnimBankTarget
_080D87F4: .4byte gBanksBySide
_080D87F8: .4byte gSprites
_080D87FC:
@@ -29245,7 +29245,7 @@ _080D87FC:
ldrh r1, [r5, 0x20]
adds r0, r1
strh r0, [r5, 0x30]
- ldr r4, _080D886C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D886C @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -29274,7 +29274,7 @@ _080D8824:
ldrh r1, [r5, 0x3C]
orrs r0, r1
strh r0, [r5, 0x3C]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D8858
@@ -29295,7 +29295,7 @@ _080D8858:
pop {r0}
bx r0
.align 2, 0
-_080D886C: .4byte gBattleAnimEnemyMonIndex
+_080D886C: .4byte gBattleAnimBankTarget
_080D8870: .4byte sub_80D8874
thumb_func_end sub_80D8700
@@ -29357,7 +29357,7 @@ _080D88C8:
_080D88D6:
movs r5, 0x50
strh r5, [r4, 0x2E]
- ldr r6, _080D8928 @ =gBattleAnimEnemyMonIndex
+ ldr r6, _080D8928 @ =gBattleAnimBankTarget
ldrb r0, [r6]
movs r1, 0
bl sub_8077ABC
@@ -29396,7 +29396,7 @@ _080D88D6:
strh r0, [r4, 0x38]
b _080D893A
.align 2, 0
-_080D8928: .4byte gBattleAnimEnemyMonIndex
+_080D8928: .4byte gBattleAnimBankTarget
_080D892C: .4byte gMain
_080D8930: .4byte 0x0000043d
_080D8934: .4byte gBanksBySide
@@ -29545,7 +29545,7 @@ _080D8A12:
cmp r0, 0
beq _080D8A78
ldr r1, _080D8A70 @ =gBanksBySide
- ldr r0, _080D8A74 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D8A74 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -29560,7 +29560,7 @@ _080D8A12:
_080D8A68: .4byte gMain
_080D8A6C: .4byte 0x0000043d
_080D8A70: .4byte gBanksBySide
-_080D8A74: .4byte gBattleAnimEnemyMonIndex
+_080D8A74: .4byte gBattleAnimBankTarget
_080D8A78:
ldr r0, _080D8A90 @ =0x0000fff0
_080D8A7A:
@@ -29764,7 +29764,7 @@ sub_80D8BA8: @ 80D8BA8
lsls r0, 24
lsrs r5, r0, 24
adds r0, r5, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080D8C94
@@ -30089,7 +30089,7 @@ _080D8E6A:
ldr r6, _080D8ED0 @ =gBattleAnimArgs
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
- ldr r0, _080D8ED4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D8ED4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -30099,7 +30099,7 @@ _080D8E6A:
negs r0, r0
strh r0, [r6, 0x4]
_080D8E92:
- ldr r4, _080D8ED8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D8ED8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -30128,8 +30128,8 @@ _080D8E92:
.align 2, 0
_080D8ECC: .4byte gDisableStructMoveAnim
_080D8ED0: .4byte gBattleAnimArgs
-_080D8ED4: .4byte gBattleAnimPlayerMonIndex
-_080D8ED8: .4byte gBattleAnimEnemyMonIndex
+_080D8ED4: .4byte gBattleAnimBankAttacker
+_080D8ED8: .4byte gBattleAnimBankTarget
_080D8EDC: .4byte sub_80D8EE0
thumb_func_end unc_080B06FC
@@ -30148,7 +30148,7 @@ sub_80D8EE0: @ 80D8EE0
str r0, [r4, 0x1C]
ldr r1, _080D8F0C @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_080D8F02:
pop {r4}
pop {r0}
@@ -30296,7 +30296,7 @@ unc_080B08A0: @ 80D8FF0
str r0, [r4, 0x1C]
ldr r1, _080D9028 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -30315,7 +30315,7 @@ sub_80D902C: @ 80D902C
ldrsh r0, [r4, r1]
cmp r0, 0x1
bne _080D9054
- ldr r0, _080D9074 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9074 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -30341,14 +30341,14 @@ _080D9054:
bx r0
.align 2, 0
_080D9070: .4byte gBattleAnimArgs
-_080D9074: .4byte gBattleAnimPlayerMonIndex
+_080D9074: .4byte gBattleAnimBankAttacker
thumb_func_end sub_80D902C
thumb_func_start sub_80D9078
sub_80D9078: @ 80D9078
push {r4,lr}
adds r4, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D9094
@@ -30398,7 +30398,7 @@ _080D90D0:
str r0, [r5, 0x1C]
ldr r1, _080D90F0 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -30421,13 +30421,13 @@ sub_80D90F4: @ 80D90F4
mov r9, r0
cmp r1, 0
bne _080D9118
- ldr r0, _080D9114 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9114 @ =gBattleAnimBankAttacker
b _080D911A
.align 2, 0
_080D9110: .4byte gBattleAnimArgs
-_080D9114: .4byte gBattleAnimPlayerMonIndex
+_080D9114: .4byte gBattleAnimBankAttacker
_080D9118:
- ldr r0, _080D9260 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9260 @ =gBattleAnimBankTarget
_080D911A:
ldrb r0, [r0]
mov r8, r0
@@ -30584,7 +30584,7 @@ _080D9250:
pop {r0}
bx r0
.align 2, 0
-_080D9260: .4byte gBattleAnimEnemyMonIndex
+_080D9260: .4byte gBattleAnimBankTarget
_080D9264: .4byte gBanksBySide
_080D9268: .4byte 0xfff00000
_080D926C: .4byte gBattleAnimSpriteTemplate_83DB4A8
@@ -30675,7 +30675,7 @@ _080D9306:
str r0, [r4, 0x1C]
ldr r1, _080D9324 @ =sub_80D9328
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -30716,7 +30716,7 @@ sub_80D9328: @ 80D9328
str r0, [r5, 0x1C]
ldr r1, _080D9374 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_080D9368:
pop {r4-r6}
pop {r0}
@@ -30730,10 +30730,10 @@ _080D9374: .4byte move_anim_8072740
sub_80D9378: @ 80D9378
push {r4-r6,lr}
adds r6, r0, 0
- ldr r0, _080D93F4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D93F4 @ =gBattleAnimBankAttacker
ldrb r1, [r0]
movs r0, 0x2
- ldr r2, _080D93F8 @ =gBattleAnimEnemyMonIndex
+ ldr r2, _080D93F8 @ =gBattleAnimBankTarget
eors r0, r1
ldrb r1, [r2]
cmp r0, r1
@@ -30753,7 +30753,7 @@ _080D93A4:
adds r0, r6, 0
movs r1, 0x1
bl sub_8078764
- ldr r0, _080D93F4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D93F4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -30789,8 +30789,8 @@ _080D93C2:
pop {r0}
bx r0
.align 2, 0
-_080D93F4: .4byte gBattleAnimPlayerMonIndex
-_080D93F8: .4byte gBattleAnimEnemyMonIndex
+_080D93F4: .4byte gBattleAnimBankAttacker
+_080D93F8: .4byte gBattleAnimBankTarget
_080D93FC: .4byte gBattleAnimArgs
_080D9400: .4byte sub_80D9404
thumb_func_end sub_80D9378
@@ -30842,7 +30842,7 @@ sub_80D943C: @ 80D943C
str r0, [r4, 0x1C]
ldr r1, _080D9470 @ =sub_80D9474
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -30870,7 +30870,7 @@ sub_80D9474: @ 80D9474
str r0, [r4, 0x1C]
ldr r1, _080D94A4 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -30913,7 +30913,7 @@ sub_80D94CC: @ 80D94CC
bne _080D9510
movs r0, 0x6
strh r0, [r5, 0x2E]
- ldr r4, _080D9518 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D9518 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -30930,13 +30930,13 @@ sub_80D94CC: @ 80D94CC
str r0, [r5, 0x1C]
ldr r1, _080D9520 @ =sub_80D9524
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_080D9510:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080D9518: .4byte gBattleAnimEnemyMonIndex
+_080D9518: .4byte gBattleAnimBankTarget
_080D951C: .4byte sub_8078B34
_080D9520: .4byte sub_80D9524
thumb_func_end sub_80D94CC
@@ -30949,7 +30949,7 @@ sub_80D9524: @ 80D9524
ldr r1, _080D9538 @ =sub_80782D8
str r1, [r0, 0x1C]
ldr r1, _080D953C @ =move_anim_8072740
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
@@ -31040,13 +31040,13 @@ sub_80D95D0: @ 80D95D0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D95EC
- ldr r4, _080D95E8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D95E8 @ =gBattleAnimBankAttacker
b _080D95EE
.align 2, 0
_080D95E4: .4byte gBattleAnimArgs
-_080D95E8: .4byte gBattleAnimPlayerMonIndex
+_080D95E8: .4byte gBattleAnimBankAttacker
_080D95EC:
- ldr r4, _080D9634 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D9634 @ =gBattleAnimBankTarget
_080D95EE:
ldrb r0, [r4]
movs r1, 0
@@ -31082,7 +31082,7 @@ _080D95EE:
pop {r0}
bx r0
.align 2, 0
-_080D9634: .4byte gBattleAnimEnemyMonIndex
+_080D9634: .4byte gBattleAnimBankTarget
_080D9638: .4byte gBattleAnimArgs
_080D963C: .4byte sub_80D9640
thumb_func_end sub_80D95D0
@@ -31165,7 +31165,7 @@ sub_80D96B8: @ 80D96B8
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080D96E4
- ldr r4, _080D96E0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D96E0 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -31176,9 +31176,9 @@ sub_80D96B8: @ 80D96B8
b _080D96F6
.align 2, 0
_080D96DC: .4byte gBattleAnimArgs
-_080D96E0: .4byte gBattleAnimPlayerMonIndex
+_080D96E0: .4byte gBattleAnimBankAttacker
_080D96E4:
- ldr r4, _080D9740 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D9740 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -31224,7 +31224,7 @@ _080D96F6:
beq _080D975A
b _080D978A
.align 2, 0
-_080D9740: .4byte gBattleAnimEnemyMonIndex
+_080D9740: .4byte gBattleAnimBankTarget
_080D9744: .4byte gBattleAnimArgs
_080D9748: .4byte 0x000003ff
_080D974C: .4byte 0xfffffc00
@@ -31322,7 +31322,7 @@ sub_80D97CC: @ 80D97CC
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- ldr r0, _080D9820 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9820 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079ED4
movs r1, 0x3
@@ -31334,15 +31334,15 @@ sub_80D97CC: @ 80D97CC
ands r0, r2
orrs r0, r1
strb r0, [r5, 0x5]
- ldr r0, _080D9824 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9824 @ =gBattleAnimBankTarget
b _080D9844
.align 2, 0
_080D9818: .4byte gBattleAnimArgs
_080D981C: .4byte gBankAttacker
-_080D9820: .4byte gBattleAnimPlayerMonIndex
-_080D9824: .4byte gBattleAnimEnemyMonIndex
+_080D9820: .4byte gBattleAnimBankAttacker
+_080D9824: .4byte gBattleAnimBankTarget
_080D9828:
- ldr r0, _080D9860 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9860 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
movs r1, 0x3
@@ -31354,7 +31354,7 @@ _080D9828:
ands r0, r2
orrs r0, r1
strb r0, [r5, 0x5]
- ldr r0, _080D9864 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9864 @ =gBattleAnimBankAttacker
_080D9844:
ldrb r0, [r0]
strh r0, [r5, 0x3C]
@@ -31370,8 +31370,8 @@ _080D9844:
pop {r0}
bx r0
.align 2, 0
-_080D9860: .4byte gBattleAnimEnemyMonIndex
-_080D9864: .4byte gBattleAnimPlayerMonIndex
+_080D9860: .4byte gBattleAnimBankTarget
+_080D9864: .4byte gBattleAnimBankAttacker
_080D9868: .4byte sub_80D986C
thumb_func_end sub_80D97CC
@@ -31415,7 +31415,7 @@ sub_80D986C: @ 80D986C
bl obj_translate_based_on_private_1_2_3_4
ldr r1, _080D98D0 @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D98D4 @ =sub_8078BB8
str r0, [r4, 0x1C]
_080D98C6:
@@ -31515,7 +31515,7 @@ _080D997E:
strh r0, [r7, 0x2E]
b _080D99DC
_080D9986:
- ldr r4, _080D99E8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080D99E8 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -31528,7 +31528,7 @@ _080D9986:
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r2, _080D99EC @ =gBattleAnimEnemyMonIndex
+ ldr r2, _080D99EC @ =gBattleAnimBankTarget
mov r8, r2
ldrb r0, [r2]
movs r1, 0x2
@@ -31561,8 +31561,8 @@ _080D99DC:
pop {r0}
bx r0
.align 2, 0
-_080D99E8: .4byte gBattleAnimPlayerMonIndex
-_080D99EC: .4byte gBattleAnimEnemyMonIndex
+_080D99E8: .4byte gBattleAnimBankAttacker
+_080D99EC: .4byte gBattleAnimBankTarget
_080D99F0: .4byte sub_80D99F4
thumb_func_end sub_80D9934
@@ -31627,19 +31627,19 @@ sub_80D9A38: @ 80D9A38
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- ldr r0, _080D9A74 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9A74 @ =gBattleAnimBankTarget
ldrb r4, [r0]
- ldr r0, _080D9A78 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9A78 @ =gBattleAnimBankAttacker
b _080D9A82
.align 2, 0
_080D9A6C: .4byte gBattleAnimArgs
_080D9A70: .4byte gBankAttacker
-_080D9A74: .4byte gBattleAnimEnemyMonIndex
-_080D9A78: .4byte gBattleAnimPlayerMonIndex
+_080D9A74: .4byte gBattleAnimBankTarget
+_080D9A78: .4byte gBattleAnimBankAttacker
_080D9A7C:
- ldr r0, _080D9AB4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9AB4 @ =gBattleAnimBankAttacker
ldrb r4, [r0]
- ldr r0, _080D9AB8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9AB8 @ =gBattleAnimBankTarget
_080D9A82:
ldrb r0, [r0]
bl sub_8079ED4
@@ -31652,7 +31652,7 @@ _080D9A82:
ands r0, r2
orrs r0, r1
strb r0, [r5, 0x5]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D9ABC
@@ -31665,8 +31665,8 @@ _080D9A82:
subs r0, 0x47
b _080D9AD6
.align 2, 0
-_080D9AB4: .4byte gBattleAnimPlayerMonIndex
-_080D9AB8: .4byte gBattleAnimEnemyMonIndex
+_080D9AB4: .4byte gBattleAnimBankAttacker
+_080D9AB8: .4byte gBattleAnimBankTarget
_080D9ABC:
adds r0, r4, 0
bl GetBankSide
@@ -31707,7 +31707,7 @@ _080D9ADC:
bl obj_translate_based_on_private_1_2_3_4
ldr r1, _080D9B1C @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080D9B20 @ =sub_8078BB8
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -31743,7 +31743,7 @@ _080D9B3A:
sub_80D9B48: @ 80D9B48
push {r4-r6,lr}
adds r5, r0, 0
- ldr r4, _080D9BC4 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D9BC4 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -31802,7 +31802,7 @@ _080D9BA6:
pop {r0}
bx r0
.align 2, 0
-_080D9BC4: .4byte gBattleAnimEnemyMonIndex
+_080D9BC4: .4byte gBattleAnimBankTarget
_080D9BC8: .4byte gBattleAnimArgs
_080D9BCC: .4byte gUnknown_0202F7C4
_080D9BD0: .4byte sub_80D9B24
@@ -31828,7 +31828,7 @@ _080D9BF0:
movs r1, 0
bl sub_8078764
_080D9BF8:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D9C0C
@@ -31837,7 +31837,7 @@ _080D9BF8:
bl StartSpriteAnim
b _080D9C22
_080D9C0C:
- ldr r0, _080D9C34 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9C34 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -31851,12 +31851,12 @@ _080D9C22:
str r0, [r4, 0x1C]
ldr r1, _080D9C3C @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
.align 2, 0
-_080D9C34: .4byte gBattleAnimPlayerMonIndex
+_080D9C34: .4byte gBattleAnimBankAttacker
_080D9C38: .4byte sub_8078600
_080D9C3C: .4byte move_anim_8072740
thumb_func_end sub_80D9BD4
@@ -31952,7 +31952,7 @@ _080D9CDE:
ldrh r1, [r4, 0x1C]
adds r0, r1
strh r0, [r4, 0x1C]
- ldr r0, _080D9D0C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9D0C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -31968,7 +31968,7 @@ _080D9CDE:
adds r7, r1, 0
b _080D9D24
.align 2, 0
-_080D9D0C: .4byte gBattleAnimEnemyMonIndex
+_080D9D0C: .4byte gBattleAnimBankTarget
_080D9D10: .4byte gUnknown_030041B0
_080D9D14:
ldr r2, _080D9D64 @ =gUnknown_030041B0
@@ -32034,7 +32034,7 @@ _080D9D86:
bl sub_80787B0
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x2E]
- ldr r4, _080D9DC8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080D9DC8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -32058,7 +32058,7 @@ _080D9D86:
bx r0
.align 2, 0
_080D9DC4: .4byte gBattleAnimArgs
-_080D9DC8: .4byte gBattleAnimEnemyMonIndex
+_080D9DC8: .4byte gBattleAnimBankTarget
_080D9DCC: .4byte 0x0000ffe2
_080D9DD0: .4byte sub_80D9DD4
thumb_func_end sub_80D9D70
@@ -32096,7 +32096,7 @@ _080D9E08:
adds r0, r4, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _080D9E68 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9E68 @ =gBattleAnimBankTarget
ldrb r0, [r0]
mov r6, sp
adds r6, 0x2
@@ -32104,7 +32104,7 @@ _080D9E08:
mov r2, sp
adds r3, r6, 0
bl sub_807A3FC
- ldr r0, _080D9E6C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9E6C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -32137,8 +32137,8 @@ _080D9E36:
bx r0
.align 2, 0
_080D9E64: .4byte gBattleAnimArgs
-_080D9E68: .4byte gBattleAnimEnemyMonIndex
-_080D9E6C: .4byte gBattleAnimPlayerMonIndex
+_080D9E68: .4byte gBattleAnimBankTarget
+_080D9E6C: .4byte gBattleAnimBankAttacker
_080D9E70: .4byte 0x0000ffe2
_080D9E74: .4byte sub_80D9E78
thumb_func_end sub_80D9DF0
@@ -32229,7 +32229,7 @@ _080D9F0E:
sub_80D9F14: @ 80D9F14
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080D9F74 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9F74 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -32237,7 +32237,7 @@ sub_80D9F14: @ 80D9F14
adds r3, 0x22
movs r1, 0x1
bl sub_807A3FC
- ldr r0, _080D9F78 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9F78 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -32268,13 +32268,13 @@ _080D9F40:
str r0, [r4, 0x1C]
ldr r1, _080D9F84 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
.align 2, 0
-_080D9F74: .4byte gBattleAnimEnemyMonIndex
-_080D9F78: .4byte gBattleAnimPlayerMonIndex
+_080D9F74: .4byte gBattleAnimBankTarget
+_080D9F78: .4byte gBattleAnimBankAttacker
_080D9F7C: .4byte gBattleAnimArgs
_080D9F80: .4byte sub_8078B34
_080D9F84: .4byte move_anim_8072740
@@ -32296,7 +32296,7 @@ sub_80D9F88: @ 80D9F88
.align 2, 0
_080D9FA0: .4byte gBattleAnimArgs
_080D9FA4:
- ldr r0, _080D9FE4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080D9FE4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -32304,7 +32304,7 @@ _080D9FA4:
adds r3, 0x22
movs r1, 0x1
bl sub_807A3FC
- ldr r0, _080D9FE8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080D9FE8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -32329,8 +32329,8 @@ _080D9FDA:
pop {r0}
bx r0
.align 2, 0
-_080D9FE4: .4byte gBattleAnimEnemyMonIndex
-_080D9FE8: .4byte gBattleAnimPlayerMonIndex
+_080D9FE4: .4byte gBattleAnimBankTarget
+_080D9FE8: .4byte gBattleAnimBankAttacker
_080D9FEC: .4byte sub_80D9FF0
thumb_func_end sub_80D9F88
@@ -32538,7 +32538,7 @@ sub_80DA16C: @ 80DA16C
adds r6, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _080DA1D8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DA1D8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -32554,7 +32554,7 @@ _080DA18C:
strh r0, [r6, 0x2E]
ldrh r0, [r6, 0x20]
strh r0, [r6, 0x30]
- ldr r5, _080DA1E0 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DA1E0 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -32579,14 +32579,14 @@ _080DA18C:
str r0, [r6, 0x1C]
ldr r1, _080DA1E8 @ =sub_80DA1EC
adds r0, r6, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080DA1D8: .4byte gBattleAnimPlayerMonIndex
+_080DA1D8: .4byte gBattleAnimBankAttacker
_080DA1DC: .4byte gBattleAnimArgs
-_080DA1E0: .4byte gBattleAnimEnemyMonIndex
+_080DA1E0: .4byte gBattleAnimBankTarget
_080DA1E4: .4byte sub_80785E4
_080DA1E8: .4byte sub_80DA1EC
thumb_func_end sub_80DA16C
@@ -32611,7 +32611,7 @@ _080DA200:
sub_80DA208: @ 80DA208
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _080DA2A4 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DA2A4 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -32631,7 +32631,7 @@ sub_80DA208: @ 80DA208
negs r0, r0
strh r0, [r1, 0x6]
_080DA234:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DA24C
@@ -32668,7 +32668,7 @@ _080DA24C:
ldrsh r0, [r2, r3]
cmp r0, 0
bne _080DA2B0
- ldr r4, _080DA2AC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DA2AC @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -32683,11 +32683,11 @@ _080DA24C:
strh r0, [r5, 0x36]
b _080DA2C2
.align 2, 0
-_080DA2A4: .4byte gBattleAnimPlayerMonIndex
+_080DA2A4: .4byte gBattleAnimBankAttacker
_080DA2A8: .4byte gBattleAnimArgs
-_080DA2AC: .4byte gBattleAnimEnemyMonIndex
+_080DA2AC: .4byte gBattleAnimBankTarget
_080DA2B0:
- ldr r0, _080DA2F0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DA2F0 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -32709,7 +32709,7 @@ _080DA2C2:
str r0, [r5, 0x1C]
ldr r1, _080DA2FC @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldrb r1, [r4, 0xA]
adds r0, r5, 0
bl SeekSpriteAnim
@@ -32717,7 +32717,7 @@ _080DA2C2:
pop {r0}
bx r0
.align 2, 0
-_080DA2F0: .4byte gBattleAnimEnemyMonIndex
+_080DA2F0: .4byte gBattleAnimBankTarget
_080DA2F4: .4byte gBattleAnimArgs
_080DA2F8: .4byte sub_8078B34
_080DA2FC: .4byte move_anim_8072740
@@ -32737,7 +32737,7 @@ sub_80DA300: @ 80DA300
ldr r0, _080DA340 @ =sub_80DA348
str r0, [r4, 0x1C]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _080DA344 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -32802,7 +32802,7 @@ _080DA386:
sub_80DA38C: @ 80DA38C
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, _080DA3B4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DA3B4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -32818,7 +32818,7 @@ sub_80DA38C: @ 80DA38C
bl StartSpriteAffineAnim
b _080DA3C2
.align 2, 0
-_080DA3B4: .4byte gBattleAnimPlayerMonIndex
+_080DA3B4: .4byte gBattleAnimBankAttacker
_080DA3B8: .4byte 0x0000ffe0
_080DA3BC:
ldr r0, _080DA400 @ =0x0000ffe0
@@ -32830,7 +32830,7 @@ _080DA3C2:
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, _080DA408 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DA408 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -32855,7 +32855,7 @@ _080DA3C2:
.align 2, 0
_080DA400: .4byte 0x0000ffe0
_080DA404: .4byte gBattleAnimArgs
-_080DA408: .4byte gBattleAnimEnemyMonIndex
+_080DA408: .4byte gBattleAnimBankTarget
_080DA40C: .4byte sub_80DA410
thumb_func_end sub_80DA38C
@@ -32900,7 +32900,7 @@ _080DA438:
ble _080DA480
_080DA45A:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _080DA488 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -32980,13 +32980,13 @@ sub_80DA4D8: @ 80DA4D8
ands r0, r1
cmp r0, 0
beq _080DA500
- ldr r0, _080DA4FC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DA4FC @ =gBattleAnimBankAttacker
b _080DA502
.align 2, 0
_080DA4F8: .4byte gBattleAnimArgs
-_080DA4FC: .4byte gBattleAnimPlayerMonIndex
+_080DA4FC: .4byte gBattleAnimBankAttacker
_080DA500:
- ldr r0, _080DA5B0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DA5B0 @ =gBattleAnimBankTarget
_080DA502:
ldrb r6, [r0]
adds r0, r6, 0
@@ -33073,7 +33073,7 @@ _080DA518:
strb r1, [r7, 0x5]
b _080DA5D8
.align 2, 0
-_080DA5B0: .4byte gBattleAnimEnemyMonIndex
+_080DA5B0: .4byte gBattleAnimBankTarget
_080DA5B4: .4byte gBattleAnimArgs
_080DA5B8: .4byte gMain
_080DA5BC: .4byte 0x0000043d
@@ -34081,7 +34081,7 @@ _080DAD2C: .4byte sub_80DA48C
sub_80DAD30: @ 80DAD30
push {r4,r5,lr}
adds r4, r0, 0
- ldr r0, _080DAD78 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DAD78 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
movs r1, 0x3
@@ -34093,7 +34093,7 @@ sub_80DAD30: @ 80DAD30
ands r0, r2
orrs r0, r1
strb r0, [r4, 0x5]
- ldr r5, _080DAD7C @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080DAD7C @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -34112,8 +34112,8 @@ sub_80DAD30: @ 80DAD30
pop {r0}
bx r0
.align 2, 0
-_080DAD78: .4byte gBattleAnimEnemyMonIndex
-_080DAD7C: .4byte gBattleAnimPlayerMonIndex
+_080DAD78: .4byte gBattleAnimBankTarget
+_080DAD7C: .4byte gBattleAnimBankAttacker
_080DAD80: .4byte sub_807941C
thumb_func_end sub_80DAD30
@@ -34137,7 +34137,7 @@ sub_80DAD84: @ 80DAD84
cmp r0, 0
beq _080DAE44
ldr r0, _080DADD8 @ =gBanksBySide
- ldr r1, _080DADDC @ =gBattleAnimEnemyMonIndex
+ ldr r1, _080DADDC @ =gBattleAnimBankTarget
ldrb r2, [r1]
adds r0, r2, r0
ldrb r1, [r0]
@@ -34158,7 +34158,7 @@ _080DADCC: .4byte gBattleAnimArgs
_080DADD0: .4byte gMain
_080DADD4: .4byte 0x0000043d
_080DADD8: .4byte gBanksBySide
-_080DADDC: .4byte gBattleAnimEnemyMonIndex
+_080DADDC: .4byte gBattleAnimBankTarget
_080DADE0:
adds r0, r2, 0
movs r1, 0x1
@@ -34173,7 +34173,7 @@ _080DADEE:
ldrsh r0, [r0, r1]
cmp r0, 0
beq _080DAE24
- ldr r0, _080DAE20 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DAE20 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
lsls r0, 24
@@ -34191,9 +34191,9 @@ _080DADEE:
b _080DAE58
.align 2, 0
_080DAE1C: .4byte gBattleAnimArgs
-_080DAE20: .4byte gBattleAnimEnemyMonIndex
+_080DAE20: .4byte gBattleAnimBankTarget
_080DAE24:
- ldr r0, _080DAE40 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DAE40 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8079ED4
movs r1, 0x3
@@ -34207,9 +34207,9 @@ _080DAE24:
strb r0, [r4, 0x5]
b _080DAE58
.align 2, 0
-_080DAE40: .4byte gBattleAnimEnemyMonIndex
+_080DAE40: .4byte gBattleAnimBankTarget
_080DAE44:
- ldr r0, _080DAEFC @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DAEFC @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
bl sub_8077ABC
@@ -34303,7 +34303,7 @@ _080DAEF2:
pop {r0}
bx r0
.align 2, 0
-_080DAEFC: .4byte gBattleAnimEnemyMonIndex
+_080DAEFC: .4byte gBattleAnimBankTarget
_080DAF00: .4byte gSineTable
_080DAF04: .4byte gOamMatrices
_080DAF08: .4byte sub_80DAF0C
@@ -34463,7 +34463,7 @@ _080DB024:
ldrsh r0, [r4, r2]
cmp r0, 0
bne _080DB03C
- ldr r0, _080DB090 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DB090 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -34474,7 +34474,7 @@ _080DB03C:
ldrsh r0, [r4, r1]
cmp r0, 0x1
bne _080DB058
- ldr r0, _080DB094 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DB094 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -34512,8 +34512,8 @@ _080DB058:
bx r0
.align 2, 0
_080DB08C: .4byte gBattleAnimArgs
-_080DB090: .4byte gBattleAnimPlayerMonIndex
-_080DB094: .4byte gBattleAnimEnemyMonIndex
+_080DB090: .4byte gBattleAnimBankAttacker
+_080DB094: .4byte gBattleAnimBankTarget
_080DB098: .4byte 0x00000ccc
_080DB09C: .4byte sub_80DB0A0
thumb_func_end sub_80DB000
@@ -34599,7 +34599,7 @@ sub_80DB0E8: @ 80DB0E8
strh r0, [r4, 0x6]
ldr r0, _080DB18C @ =gBattleAnimSpriteTemplate_83DB538
mov r8, r0
- ldr r5, _080DB190 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DB190 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -34637,7 +34637,7 @@ _080DB180: .4byte gTasks
_080DB184: .4byte gAnimVisualTaskCount
_080DB188: .4byte gBattleAnimArgs
_080DB18C: .4byte gBattleAnimSpriteTemplate_83DB538
-_080DB190: .4byte gBattleAnimEnemyMonIndex
+_080DB190: .4byte gBattleAnimBankTarget
thumb_func_end sub_80DB0E8
thumb_func_start sub_80DB194
@@ -34656,7 +34656,7 @@ _080DB1A6:
movs r1, 0x1
bl sub_80787B0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _080DB1D4 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -34709,7 +34709,7 @@ _080DB20A:
beq _080DB240
b _080DB27E
_080DB210:
- ldr r0, _080DB228 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DB228 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
bl sub_8077ABC
@@ -34721,7 +34721,7 @@ _080DB210:
strh r0, [r4, 0x26]
b _080DB238
.align 2, 0
-_080DB228: .4byte gBattleAnimEnemyMonIndex
+_080DB228: .4byte gBattleAnimBankTarget
_080DB22C:
ldrh r0, [r4, 0x26]
adds r0, 0xA
@@ -34748,7 +34748,7 @@ _080DB240:
cmp r0, r1
bge _080DB27E
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _080DB284 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -34786,7 +34786,7 @@ sub_80DB288: @ 80DB288
ldr r0, _080DB2C8 @ =sub_80DB2D0
str r0, [r4, 0x1C]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _080DB2CC @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -34919,13 +34919,13 @@ _080DB388:
ldrsh r0, [r0, r2]
cmp r0, 0
bne _080DB3A0
- ldr r4, _080DB39C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DB39C @ =gBattleAnimBankAttacker
b _080DB3A2
.align 2, 0
_080DB398: .4byte gBattleAnimArgs
-_080DB39C: .4byte gBattleAnimPlayerMonIndex
+_080DB39C: .4byte gBattleAnimBankAttacker
_080DB3A0:
- ldr r4, _080DB3DC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DB3DC @ =gBattleAnimBankTarget
_080DB3A2:
ldrb r0, [r4]
movs r1, 0
@@ -34954,7 +34954,7 @@ _080DB3A2:
strh r0, [r5, 0x2E]
b _080DB44C
.align 2, 0
-_080DB3DC: .4byte gBattleAnimEnemyMonIndex
+_080DB3DC: .4byte gBattleAnimBankTarget
_080DB3E0:
movs r1, 0x32
ldrsh r0, [r5, r1]
@@ -35079,13 +35079,13 @@ _080DB4C0:
ldrsh r0, [r2, r1]
cmp r0, 0
bne _080DB4D4
- ldr r4, _080DB4D0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DB4D0 @ =gBattleAnimBankAttacker
b _080DB4D6
.align 2, 0
_080DB4CC: .4byte gBattleAnimArgs
-_080DB4D0: .4byte gBattleAnimPlayerMonIndex
+_080DB4D0: .4byte gBattleAnimBankAttacker
_080DB4D4:
- ldr r4, _080DB500 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DB500 @ =gBattleAnimBankTarget
_080DB4D6:
ldrb r0, [r4]
movs r1, 0
@@ -35106,7 +35106,7 @@ _080DB4D6:
pop {r0}
bx r0
.align 2, 0
-_080DB500: .4byte gBattleAnimEnemyMonIndex
+_080DB500: .4byte gBattleAnimBankTarget
_080DB504: .4byte sub_80DB508
thumb_func_end sub_80DB458
@@ -35245,7 +35245,7 @@ sub_80DB5E4: @ 80DB5E4
mov r8, r0
ldrh r4, [r0, 0x20]
ldrh r5, [r0, 0x22]
- ldr r6, _080DB698 @ =gBattleAnimPlayerMonIndex
+ ldr r6, _080DB698 @ =gBattleAnimBankAttacker
ldrb r0, [r6]
movs r1, 0x2
bl sub_8077ABC
@@ -35321,7 +35321,7 @@ sub_80DB5E4: @ 80DB5E4
pop {r0}
bx r0
.align 2, 0
-_080DB698: .4byte gBattleAnimPlayerMonIndex
+_080DB698: .4byte gBattleAnimBankAttacker
_080DB69C: .4byte sub_80DB6A0
thumb_func_end sub_80DB5E4
@@ -35375,7 +35375,7 @@ unref_sub_80DB6E4: @ 80DB6E4
cmp r0, 0
bne _080DB71C
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, _080DB718 @ =gSprites
@@ -35393,7 +35393,7 @@ _080DB714: .4byte gBattleAnimArgs
_080DB718: .4byte gSprites
_080DB71C:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, _080DB748 @ =gSprites
@@ -35421,13 +35421,13 @@ _080DB748: .4byte gSprites
sub_80DB74C: @ 80DB74C
push {r4-r7,lr}
adds r6, r0, 0
- ldr r0, _080DB804 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DB804 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
cmp r0, 0
beq _080DB768
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DB77E
@@ -35444,7 +35444,7 @@ _080DB768:
movs r0, 0xC8
strb r0, [r1]
_080DB77E:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DB7DA
@@ -35463,7 +35463,7 @@ _080DB77E:
orrs r1, r0
lsrs r5, r1, 31
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080DB7BC
@@ -35475,7 +35475,7 @@ _080DB7BC:
adds r4, r0, 0
eors r4, r7
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080DB7DA
@@ -35485,7 +35485,7 @@ _080DB7BC:
adds r1, r5, 0
bl sub_8076034
_080DB7DA:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DB810
@@ -35493,7 +35493,7 @@ _080DB7DA:
lsls r0, 24
cmp r0, 0
beq _080DB810
- ldr r0, _080DB804 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DB804 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -35504,14 +35504,14 @@ _080DB7DA:
movs r0, 0x50
b _080DB84A
.align 2, 0
-_080DB804: .4byte gBattleAnimPlayerMonIndex
+_080DB804: .4byte gBattleAnimBankAttacker
_080DB808:
movs r0, 0xB0
strh r0, [r6, 0x20]
movs r0, 0x28
b _080DB84A
_080DB810:
- ldr r5, _080DB880 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080DB880 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankSide
lsls r0, 24
@@ -35540,7 +35540,7 @@ _080DB826:
adds r0, r4
_080DB84A:
strh r0, [r6, 0x22]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DB85C
@@ -35565,7 +35565,7 @@ _080DB85C:
pop {r0}
bx r0
.align 2, 0
-_080DB880: .4byte gBattleAnimPlayerMonIndex
+_080DB880: .4byte gBattleAnimBankAttacker
_080DB884: .4byte gBattleAnimArgs
_080DB888: .4byte sub_80DB88C
thumb_func_end sub_80DB74C
@@ -35679,7 +35679,7 @@ sub_80DB92C: @ 80DB92C
negs r1, r1
cmp r0, r1
bne _080DB9CC
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DB9BC
@@ -35689,7 +35689,7 @@ sub_80DB92C: @ 80DB92C
lsrs r4, r0, 24
adds r6, r4, 0
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080DB98E
@@ -35712,7 +35712,7 @@ _080DB98E:
adds r4, r0, 0
eors r4, r6
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080DB9BC
@@ -35754,7 +35754,7 @@ _080DB9E0: .4byte sub_80DB9E4
sub_80DB9E4: @ 80DB9E4
push {r4-r6,lr}
adds r6, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DBA3C
@@ -35772,7 +35772,7 @@ sub_80DB9E4: @ 80DB9E4
orrs r1, r0
lsrs r5, r1, 31
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080DBA22
@@ -35782,7 +35782,7 @@ _080DBA22:
movs r0, 0x2
eors r4, r0
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080DBA3C
@@ -35816,7 +35816,7 @@ sub_80DBA4C: @ 80DBA4C
bne _080DBA66
movs r6, 0x1
_080DBA66:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DBAAE
@@ -35824,7 +35824,7 @@ _080DBA66:
lsls r0, 24
cmp r0, 0
beq _080DBAAE
- ldr r0, _080DBA9C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DBA9C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -35840,7 +35840,7 @@ _080DBA66:
b _080DBAD0
.align 2, 0
_080DBA98: .4byte gBattleAnimArgs
-_080DBA9C: .4byte gBattleAnimPlayerMonIndex
+_080DBA9C: .4byte gBattleAnimBankAttacker
_080DBAA0:
ldrh r0, [r5]
adds r0, 0xB0
@@ -35890,7 +35890,7 @@ _080DBAEC:
sub_80DBAF4: @ 80DBAF4
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _080DBB3C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DBB3C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -35920,7 +35920,7 @@ sub_80DBAF4: @ 80DBAF4
ldr r0, _080DBB40 @ =0x0000ffff
b _080DBB52
.align 2, 0
-_080DBB3C: .4byte gBattleAnimPlayerMonIndex
+_080DBB3C: .4byte gBattleAnimBankAttacker
_080DBB40: .4byte 0x0000ffff
_080DBB44:
ldrh r0, [r5, 0x20]
@@ -35934,7 +35934,7 @@ _080DBB52:
strh r0, [r5, 0x30]
ldr r1, _080DBB68 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080DBB6C @ =sub_8078600
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -35949,7 +35949,7 @@ _080DBB6C: .4byte sub_8078600
sub_80DBB70: @ 80DBB70
push {r4-r7,lr}
adds r5, r0, 0
- ldr r6, _080DBBF4 @ =gBattleAnimPlayerMonIndex
+ ldr r6, _080DBBF4 @ =gBattleAnimBankAttacker
ldrb r0, [r6]
movs r1, 0x1
bl sub_807A100
@@ -36003,14 +36003,14 @@ _080DBBB6:
_080DBBE2:
ldr r1, _080DBBF8 @ =sub_80DBC00
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080DBBFC @ =sub_8078600
str r0, [r5, 0x1C]
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_080DBBF4: .4byte gBattleAnimPlayerMonIndex
+_080DBBF4: .4byte gBattleAnimBankAttacker
_080DBBF8: .4byte sub_80DBC00
_080DBBFC: .4byte sub_8078600
thumb_func_end sub_80DBB70
@@ -36105,7 +36105,7 @@ sub_80DBC94: @ 80DBC94
ldr r0, _080DBCC4 @ =gTasks
adds r4, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -36159,14 +36159,14 @@ sub_80DBCFC: @ 80DBCFC
ldr r0, _080DBD48 @ =gTasks
adds r4, r1, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
movs r1, 0
strh r0, [r4, 0x8]
strh r1, [r4, 0xA]
strh r1, [r4, 0xC]
- ldr r0, _080DBD4C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DBD4C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -36187,7 +36187,7 @@ _080DBD30:
bx r0
.align 2, 0
_080DBD48: .4byte gTasks
-_080DBD4C: .4byte gBattleAnimPlayerMonIndex
+_080DBD4C: .4byte gBattleAnimBankAttacker
_080DBD50: .4byte gUnknown_083DA8C4
_080DBD54: .4byte sub_80DBD58
thumb_func_end sub_80DBCFC
@@ -36294,7 +36294,7 @@ sub_80DBE00: @ 80DBE00
movs r7, 0x10
strh r7, [r5, 0xE]
strh r0, [r5, 0x10]
- ldr r4, _080DBE88 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DBE88 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -36345,7 +36345,7 @@ _080DBE6A:
bx r0
.align 2, 0
_080DBE84: .4byte gTasks
-_080DBE88: .4byte gBattleAnimPlayerMonIndex
+_080DBE88: .4byte gBattleAnimBankAttacker
_080DBE8C: .4byte REG_BLDCNT
_080DBE90: .4byte REG_BLDALPHA
_080DBE94: .4byte sub_80DBE98
@@ -36614,7 +36614,7 @@ sub_80DC068: @ 80DC068
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080DC094
- ldr r4, _080DC0A8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DC0A8 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -36637,7 +36637,7 @@ _080DC094:
bx r0
.align 2, 0
_080DC0A4: .4byte gBattleAnimArgs
-_080DC0A8: .4byte gBattleAnimPlayerMonIndex
+_080DC0A8: .4byte gBattleAnimBankAttacker
_080DC0AC: .4byte sub_80DC020
thumb_func_end sub_80DC068
@@ -36651,7 +36651,7 @@ sub_80DC0B0: @ 80DC0B0
lsls r1, 3
ldr r0, _080DC10C @ =gTasks
adds r5, r1, r0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC154
@@ -36662,7 +36662,7 @@ sub_80DC0B0: @ 80DC0B0
bne _080DC120
ldr r0, _080DC114 @ =0x0000fff6
strh r0, [r5, 0x1C]
- ldr r4, _080DC118 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DC118 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x5
bl sub_807A100
@@ -36673,7 +36673,7 @@ sub_80DC0B0: @ 80DC0B0
bl sub_807A100
adds r0, 0x8
strh r0, [r5, 0x20]
- ldr r4, _080DC11C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DC11C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x5
bl sub_807A100
@@ -36688,12 +36688,12 @@ sub_80DC0B0: @ 80DC0B0
_080DC10C: .4byte gTasks
_080DC110: .4byte gBattleAnimArgs
_080DC114: .4byte 0x0000fff6
-_080DC118: .4byte gBattleAnimEnemyMonIndex
-_080DC11C: .4byte gBattleAnimPlayerMonIndex
+_080DC118: .4byte gBattleAnimBankTarget
+_080DC11C: .4byte gBattleAnimBankAttacker
_080DC120:
movs r0, 0xA
strh r0, [r5, 0x1C]
- ldr r4, _080DC14C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DC14C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x4
bl sub_807A100
@@ -36704,15 +36704,15 @@ _080DC120:
bl sub_807A100
subs r0, 0x8
strh r0, [r5, 0x20]
- ldr r4, _080DC150 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DC150 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x4
bl sub_807A100
adds r0, 0x8
b _080DC1D2
.align 2, 0
-_080DC14C: .4byte gBattleAnimPlayerMonIndex
-_080DC150: .4byte gBattleAnimEnemyMonIndex
+_080DC14C: .4byte gBattleAnimBankAttacker
+_080DC150: .4byte gBattleAnimBankTarget
_080DC154:
ldr r0, _080DC198 @ =gBattleAnimArgs
movs r1, 0
@@ -36721,7 +36721,7 @@ _080DC154:
bne _080DC1A8
ldr r0, _080DC19C @ =0x0000fff6
strh r0, [r5, 0x1C]
- ldr r4, _080DC1A0 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DC1A0 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x4
bl sub_807A100
@@ -36732,7 +36732,7 @@ _080DC154:
bl sub_807A100
adds r0, 0x8
strh r0, [r5, 0x20]
- ldr r4, _080DC1A4 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DC1A4 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x4
bl sub_807A100
@@ -36746,12 +36746,12 @@ _080DC154:
.align 2, 0
_080DC198: .4byte gBattleAnimArgs
_080DC19C: .4byte 0x0000fff6
-_080DC1A0: .4byte gBattleAnimEnemyMonIndex
-_080DC1A4: .4byte gBattleAnimPlayerMonIndex
+_080DC1A0: .4byte gBattleAnimBankTarget
+_080DC1A4: .4byte gBattleAnimBankAttacker
_080DC1A8:
movs r0, 0xA
strh r0, [r5, 0x1C]
- ldr r4, _080DC1F0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DC1F0 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x5
bl sub_807A100
@@ -36762,7 +36762,7 @@ _080DC1A8:
bl sub_807A100
subs r0, 0x8
strh r0, [r5, 0x20]
- ldr r4, _080DC1F4 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DC1F4 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x5
bl sub_807A100
@@ -36783,8 +36783,8 @@ _080DC1DE:
pop {r0}
bx r0
.align 2, 0
-_080DC1F0: .4byte gBattleAnimPlayerMonIndex
-_080DC1F4: .4byte gBattleAnimEnemyMonIndex
+_080DC1F0: .4byte gBattleAnimBankAttacker
+_080DC1F4: .4byte gBattleAnimBankTarget
_080DC1F8: .4byte sub_80DC1FC
thumb_func_end sub_80DC0B0
@@ -36909,7 +36909,7 @@ sub_80DC2D4: @ 80DC2D4
lsls r1, 3
ldr r0, _080DC30C @ =gTasks
adds r4, r1, r0
- ldr r0, _080DC310 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DC310 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl sub_8077FC0
lsls r0, 24
@@ -36929,7 +36929,7 @@ sub_80DC2D4: @ 80DC2D4
b _080DC346
.align 2, 0
_080DC30C: .4byte gTasks
-_080DC310: .4byte gBattleAnimEnemyMonIndex
+_080DC310: .4byte gBattleAnimBankTarget
_080DC314: .4byte gBattleAnimArgs
_080DC318:
cmp r0, 0x2
@@ -36967,7 +36967,7 @@ _080DC346:
movs r0, 0
strh r0, [r4, 0x24]
_080DC352:
- ldr r0, _080DC36C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DC36C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -36980,7 +36980,7 @@ _080DC352:
ldr r0, _080DC374 @ =REG_BG1HOFS
b _080DC380
.align 2, 0
-_080DC36C: .4byte gBattleAnimEnemyMonIndex
+_080DC36C: .4byte gBattleAnimBankTarget
_080DC370: .4byte gUnknown_030042C0
_080DC374: .4byte REG_BG1HOFS
_080DC378:
@@ -37282,7 +37282,7 @@ _080DC554:
bl CalcCenterToCornerVec
ldr r1, _080DC5EC @ =gBattleAnimArgs
ldrb r0, [r1]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x22]
@@ -37461,7 +37461,7 @@ _080DC716:
beq _080DC808
b _080DC818
_080DC720:
- ldr r4, _080DC76C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DC76C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -37474,7 +37474,7 @@ _080DC720:
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC74E
@@ -37498,7 +37498,7 @@ _080DC74E:
strh r0, [r2]
b _080DC7A2
.align 2, 0
-_080DC76C: .4byte gBattleAnimPlayerMonIndex
+_080DC76C: .4byte gBattleAnimBankAttacker
_080DC770: .4byte REG_BLDCNT
_080DC774: .4byte REG_BLDALPHA
_080DC778:
@@ -37594,7 +37594,7 @@ _080DC820: .4byte REG_BLDCNT
sub_80DC824: @ 80DC824
push {r4-r6,lr}
adds r6, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC850
@@ -37612,7 +37612,7 @@ sub_80DC824: @ 80DC824
.align 2, 0
_080DC84C: .4byte gBattleAnimArgs
_080DC850:
- ldr r0, _080DC8E4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DC8E4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -37635,7 +37635,7 @@ _080DC850:
negs r0, r0
strh r0, [r1]
_080DC880:
- ldr r5, _080DC8E4 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DC8E4 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077EE4
@@ -37675,12 +37675,12 @@ _080DC880:
str r0, [r6, 0x1C]
ldr r1, _080DC8F0 @ =move_anim_8072740
adds r0, r6, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080DC8E4: .4byte gBattleAnimEnemyMonIndex
+_080DC8E4: .4byte gBattleAnimBankTarget
_080DC8E8: .4byte gBattleAnimArgs
_080DC8EC: .4byte sub_8078B34
_080DC8F0: .4byte move_anim_8072740
@@ -37690,7 +37690,7 @@ _080DC8F0: .4byte move_anim_8072740
sub_80DC8F4: @ 80DC8F4
push {r4-r6,lr}
adds r6, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC918
@@ -37705,7 +37705,7 @@ sub_80DC8F4: @ 80DC8F4
.align 2, 0
_080DC914: .4byte gBattleAnimArgs
_080DC918:
- ldr r0, _080DC990 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DC990 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -37719,7 +37719,7 @@ _080DC918:
negs r1, r1
strh r1, [r0]
_080DC934:
- ldr r5, _080DC990 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DC990 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077EE4
@@ -37755,12 +37755,12 @@ _080DC934:
str r0, [r6, 0x1C]
ldr r1, _080DC99C @ =move_anim_8072740
adds r0, r6, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080DC990: .4byte gBattleAnimEnemyMonIndex
+_080DC990: .4byte gBattleAnimBankTarget
_080DC994: .4byte gBattleAnimArgs
_080DC998: .4byte sub_8078B34
_080DC99C: .4byte move_anim_8072740
@@ -37770,7 +37770,7 @@ _080DC99C: .4byte move_anim_8072740
sub_80DC9A0: @ 80DC9A0
push {r4,r5,lr}
adds r5, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC9BC
@@ -37796,7 +37796,7 @@ _080DC9BC:
ldrsh r0, [r1, r2]
cmp r0, 0
bne _080DCA04
- ldr r4, _080DCA00 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DCA00 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -37812,9 +37812,9 @@ _080DC9BC:
b _080DCA16
.align 2, 0
_080DC9FC: .4byte gBattleAnimArgs
-_080DCA00: .4byte gBattleAnimEnemyMonIndex
+_080DCA00: .4byte gBattleAnimBankTarget
_080DCA04:
- ldr r0, _080DCA2C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DCA2C @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -37834,7 +37834,7 @@ _080DCA16:
pop {r0}
bx r0
.align 2, 0
-_080DCA2C: .4byte gBattleAnimEnemyMonIndex
+_080DCA2C: .4byte gBattleAnimBankTarget
_080DCA30: .4byte gBattleAnimArgs
_080DCA34: .4byte sub_80DCA38
thumb_func_end sub_80DC9A0
@@ -37874,7 +37874,7 @@ _080DCA6A:
sub_80DCA70: @ 80DCA70
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080DCAA0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DCAA0 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -37882,7 +37882,7 @@ sub_80DCA70: @ 80DCA70
adds r3, 0x22
movs r1, 0
bl sub_807A3FC
- ldr r0, _080DCAA4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DCAA4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -37895,8 +37895,8 @@ sub_80DCA70: @ 80DCA70
strh r1, [r4, 0x20]
b _080DCAB8
.align 2, 0
-_080DCAA0: .4byte gBattleAnimEnemyMonIndex
-_080DCAA4: .4byte gBattleAnimPlayerMonIndex
+_080DCAA0: .4byte gBattleAnimBankTarget
+_080DCAA4: .4byte gBattleAnimBankAttacker
_080DCAA8: .4byte gBattleAnimArgs
_080DCAAC:
ldr r1, _080DCAE0 @ =gBattleAnimArgs
@@ -37910,7 +37910,7 @@ _080DCAB8:
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x22]
- ldr r0, _080DCAE4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DCAE4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -37927,7 +37927,7 @@ _080DCAD4:
bx r0
.align 2, 0
_080DCAE0: .4byte gBattleAnimArgs
-_080DCAE4: .4byte gBattleAnimEnemyMonIndex
+_080DCAE4: .4byte gBattleAnimBankTarget
_080DCAE8: .4byte sub_80DCAEC
thumb_func_end sub_80DCA70
@@ -38063,7 +38063,7 @@ sub_80DCBCC: @ 80DCBCC
push {r4-r7,lr}
sub sp, 0x4
adds r7, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DCBEC
@@ -38075,7 +38075,7 @@ sub_80DCBCC: @ 80DCBCC
.align 2, 0
_080DCBE8: .4byte gBattleAnimArgs
_080DCBEC:
- ldr r0, _080DCCE8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DCCE8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -38092,15 +38092,15 @@ _080DCBEC:
negs r0, r0
strh r0, [r1, 0x6]
_080DCC0E:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DCC5E
- ldr r0, _080DCCE8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DCCE8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
adds r4, r0, 0
- ldr r5, _080DCCF0 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DCCF0 @ =gBattleAnimBankTarget
ldrb r0, [r5]
bl GetBankSide
lsls r4, 24
@@ -38132,7 +38132,7 @@ _080DCC5E:
adds r0, r7, 0
movs r1, 0x1
bl sub_80787B0
- ldr r5, _080DCCF0 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DCCF0 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -38186,15 +38186,15 @@ _080DCC5E:
str r0, [r7, 0x1C]
ldr r1, _080DCCF8 @ =move_anim_8072740
adds r0, r7, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_080DCCE8: .4byte gBattleAnimPlayerMonIndex
+_080DCCE8: .4byte gBattleAnimBankAttacker
_080DCCEC: .4byte gBattleAnimArgs
-_080DCCF0: .4byte gBattleAnimEnemyMonIndex
+_080DCCF0: .4byte gBattleAnimBankTarget
_080DCCF4: .4byte sub_8078B34
_080DCCF8: .4byte move_anim_8072740
thumb_func_end sub_80DCBCC
@@ -38205,7 +38205,7 @@ sub_80DCCFC: @ 80DCCFC
adds r6, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _080DCD68 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DCD68 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -38219,7 +38219,7 @@ _080DCD1C:
ldr r4, _080DCD6C @ =gBattleAnimArgs
ldrh r0, [r4, 0x8]
strh r0, [r6, 0x2E]
- ldr r5, _080DCD70 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DCD70 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -38252,9 +38252,9 @@ _080DCD1C:
pop {r0}
bx r0
.align 2, 0
-_080DCD68: .4byte gBattleAnimPlayerMonIndex
+_080DCD68: .4byte gBattleAnimBankAttacker
_080DCD6C: .4byte gBattleAnimArgs
-_080DCD70: .4byte gBattleAnimEnemyMonIndex
+_080DCD70: .4byte gBattleAnimBankTarget
_080DCD74: .4byte sub_80DCD78
thumb_func_end sub_80DCCFC
@@ -38370,13 +38370,13 @@ sub_80DCE40: @ 80DCE40
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080DCE5C
- ldr r4, _080DCE58 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DCE58 @ =gBattleAnimBankAttacker
b _080DCE5E
.align 2, 0
_080DCE54: .4byte gBattleAnimArgs
-_080DCE58: .4byte gBattleAnimPlayerMonIndex
+_080DCE58: .4byte gBattleAnimBankAttacker
_080DCE5C:
- ldr r4, _080DCE90 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DCE90 @ =gBattleAnimBankTarget
_080DCE5E:
ldrb r0, [r4]
movs r1, 0x2
@@ -38393,14 +38393,14 @@ _080DCE5E:
strh r0, [r5, 0x22]
ldr r1, _080DCE94 @ =move_anim_8074EE0
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080DCE98 @ =sub_80785E4
str r0, [r5, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080DCE90: .4byte gBattleAnimEnemyMonIndex
+_080DCE90: .4byte gBattleAnimBankTarget
_080DCE94: .4byte move_anim_8074EE0
_080DCE98: .4byte sub_80785E4
thumb_func_end sub_80DCE40
@@ -38414,7 +38414,7 @@ sub_80DCE9C: @ 80DCE9C
ldrsh r0, [r6, r1]
cmp r0, 0
beq _080DCEBC
- ldr r0, _080DCF0C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DCF0C @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x20
@@ -38448,7 +38448,7 @@ _080DCEBC:
strh r0, [r5, 0x38]
ldr r1, _080DCF14 @ =sub_80DCF1C
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r1, _080DCF18 @ =sub_8078278
str r1, [r5, 0x1C]
adds r0, r5, 0
@@ -38458,7 +38458,7 @@ _080DCEBC:
bx r0
.align 2, 0
_080DCF08: .4byte gBattleAnimArgs
-_080DCF0C: .4byte gBattleAnimEnemyMonIndex
+_080DCF0C: .4byte gBattleAnimBankTarget
_080DCF10: .4byte 0x0000ffba
_080DCF14: .4byte sub_80DCF1C
_080DCF18: .4byte sub_8078278
@@ -38483,7 +38483,7 @@ sub_80DCF1C: @ 80DCF1C
strh r0, [r4, 0x36]
ldr r1, _080DCF58 @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r1, _080DCF5C @ =sub_8078278
str r1, [r4, 0x1C]
adds r0, r4, 0
@@ -38506,7 +38506,7 @@ sub_80DCF60: @ 80DCF60
bl StartSpriteAnim
adds r0, r5, 0
bl AnimateSprite
- ldr r0, _080DCF8C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DCF8C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -38518,7 +38518,7 @@ sub_80DCF60: @ 80DCF60
b _080DCF96
.align 2, 0
_080DCF88: .4byte gBattleAnimArgs
-_080DCF8C: .4byte gBattleAnimPlayerMonIndex
+_080DCF8C: .4byte gBattleAnimBankAttacker
_080DCF90:
ldrh r0, [r4]
ldrh r1, [r5, 0x20]
@@ -38550,7 +38550,7 @@ _080DCF96:
str r0, [r5, 0x1C]
ldr r1, _080DCFE0 @ =move_anim_8074EE0
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -38668,7 +38668,7 @@ do_boulder_dust: @ 80DD078
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DD0C4
@@ -38710,7 +38710,7 @@ _080DD0C4:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DD120
@@ -38726,7 +38726,7 @@ _080DD120:
ldrsh r0, [r0, r1]
cmp r0, 0
beq _080DD13A
- ldr r0, _080DD184 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DD184 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -38759,7 +38759,7 @@ _080DD174: .4byte gBattleAnimBackgroundTilemap_SandstormBrew
_080DD178: .4byte gBattleAnimBackgroundImage_SandstormBrew
_080DD17C: .4byte gBattleAnimSpritePalette_261
_080DD180: .4byte gBattleAnimArgs
-_080DD184: .4byte gBattleAnimPlayerMonIndex
+_080DD184: .4byte gBattleAnimBankAttacker
_080DD188: .4byte gTasks
_080DD18C: .4byte sub_80DD190
thumb_func_end do_boulder_dust
@@ -38972,7 +38972,7 @@ _080DD2F6:
ldr r1, _080DD394 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DD344
@@ -39044,7 +39044,7 @@ sub_80DD3AC: @ 80DD3AC
ldrsh r0, [r4, r2]
cmp r0, 0
beq _080DD3F8
- ldr r0, _080DD3F4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DD3F4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -39067,7 +39067,7 @@ sub_80DD3AC: @ 80DD3AC
b _080DD3FC
.align 2, 0
_080DD3F0: .4byte gBattleAnimArgs
-_080DD3F4: .4byte gBattleAnimPlayerMonIndex
+_080DD3F4: .4byte gBattleAnimBankAttacker
_080DD3F8:
ldr r0, _080DD41C @ =0x0000ffc0
strh r0, [r5, 0x20]
@@ -39169,7 +39169,7 @@ sub_80DD490: @ 80DD490
str r0, [r4, 0x1C]
ldr r1, _080DD4D0 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -39193,7 +39193,7 @@ sub_80DD4D4: @ 80DD4D4
lsls r1, 3
ldr r0, _080DD554 @ =gTasks
adds r6, r1, r0
- ldr r5, _080DD558 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080DD558 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -39209,7 +39209,7 @@ sub_80DD4D4: @ 80DD4D4
lsls r1, 13
adds r0, r1
lsrs r7, r0, 16
- ldr r4, _080DD55C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DD55C @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -39243,8 +39243,8 @@ _080DD544:
b _080DD566
.align 2, 0
_080DD554: .4byte gTasks
-_080DD558: .4byte gBattleAnimPlayerMonIndex
-_080DD55C: .4byte gBattleAnimEnemyMonIndex
+_080DD558: .4byte gBattleAnimBankAttacker
+_080DD55C: .4byte gBattleAnimBankTarget
_080DD560:
lsls r1, r5, 3
movs r0, 0x30
@@ -39308,7 +39308,7 @@ _080DD57E:
strh r0, [r6, 0x24]
strh r5, [r6, 0xA]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x26]
@@ -39787,7 +39787,7 @@ _080DD972:
sub_80DD978: @ 80DD978
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080DD9A0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DD9A0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -39804,14 +39804,14 @@ _080DD994:
pop {r0}
bx r0
.align 2, 0
-_080DD9A0: .4byte gBattleAnimPlayerMonIndex
+_080DD9A0: .4byte gBattleAnimBankAttacker
thumb_func_end sub_80DD978
thumb_func_start sub_80DD9A4
sub_80DD9A4: @ 80DD9A4
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _080DD9F0 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DD9F0 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0
bl sub_8077ABC
@@ -39844,7 +39844,7 @@ sub_80DD9A4: @ 80DD9A4
pop {r0}
bx r0
.align 2, 0
-_080DD9F0: .4byte gBattleAnimEnemyMonIndex
+_080DD9F0: .4byte gBattleAnimBankTarget
_080DD9F4: .4byte gBattleAnimArgs
_080DD9F8: .4byte sub_80DD9FC
thumb_func_end sub_80DD9A4
@@ -40049,7 +40049,7 @@ sub_80DDB6C: @ 80DDB6C
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
strh r0, [r4, 0x30]
- ldr r5, _080DDBCC @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080DDBCC @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -40083,7 +40083,7 @@ sub_80DDB6C: @ 80DDB6C
bx r0
.align 2, 0
_080DDBC8: .4byte gBattleAnimArgs
-_080DDBCC: .4byte gBattleAnimEnemyMonIndex
+_080DDBCC: .4byte gBattleAnimBankTarget
_080DDBD0: .4byte sub_80DDBD8
_080DDBD4: .4byte REG_BLDCNT
thumb_func_end sub_80DDB6C
@@ -40389,7 +40389,7 @@ sub_80DDDF0: @ 80DDDF0
adds r0, r2, 0
strh r0, [r1]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -40506,7 +40506,7 @@ sub_80DDED0: @ 80DDED0
_080DDEF4: .4byte gTasks
_080DDEF8:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r1, r0, 24
ldrh r0, [r4, 0x8]
@@ -40551,7 +40551,7 @@ sub_80DDF40: @ 80DDF40
adds r4, r0, 0
ldrh r5, [r4, 0x20]
ldrh r6, [r4, 0x22]
- ldr r0, _080DDFDC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DDFDC @ =gBattleAnimBankAttacker
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
@@ -40618,7 +40618,7 @@ sub_80DDF40: @ 80DDF40
pop {r0}
bx r0
.align 2, 0
-_080DDFDC: .4byte gBattleAnimPlayerMonIndex
+_080DDFDC: .4byte gBattleAnimBankAttacker
_080DDFE0: .4byte gBattleAnimArgs
_080DDFE4: .4byte sub_80DDFE8
thumb_func_end sub_80DDF40
@@ -40671,7 +40671,7 @@ _080DE032:
lsls r0, 16
cmp r0, 0
bgt _080DE0F6
- ldr r4, _080DE098 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DE098 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -40712,7 +40712,7 @@ _080DE032:
strh r0, [r5, 0x3C]
b _080DE0E2
.align 2, 0
-_080DE098: .4byte gBattleAnimEnemyMonIndex
+_080DE098: .4byte gBattleAnimBankTarget
_080DE09C:
ldrh r0, [r5, 0x3A]
ldrh r1, [r5, 0x36]
@@ -40734,7 +40734,7 @@ _080DE09C:
lsls r0, 16
cmp r0, 0
bgt _080DE0F6
- ldr r4, _080DE0EC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DE0EC @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -40753,7 +40753,7 @@ _080DE0E2:
strh r0, [r5, 0x2E]
b _080DE0F6
.align 2, 0
-_080DE0EC: .4byte gBattleAnimEnemyMonIndex
+_080DE0EC: .4byte gBattleAnimBankTarget
_080DE0F0:
adds r0, r5, 0
bl move_anim_8074EE0
@@ -40917,7 +40917,7 @@ _080DE1E0:
adds r0, r4
movs r1, 0x50
strh r1, [r0, 0x2E]
- ldr r0, _080DE250 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DE250 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -40943,7 +40943,7 @@ _080DE1E0:
_080DE244: .4byte REG_BLDCNT
_080DE248: .4byte REG_BLDALPHA
_080DE24C: .4byte gSprites
-_080DE250: .4byte gBattleAnimEnemyMonIndex
+_080DE250: .4byte gBattleAnimBankTarget
_080DE254: .4byte 0x0000ff70
_080DE258:
movs r2, 0x8
@@ -40986,7 +40986,7 @@ _080DE276:
lsls r0, 2
adds r0, r4
ldr r1, _080DE2D0 @ =SpriteCallbackDummy
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
movs r0, 0x8
ldrsh r1, [r5, r0]
lsls r0, r1, 4
@@ -41156,7 +41156,7 @@ sub_80DE3D4: @ 80DE3D4
lsls r0, 3
ldr r1, _080DE40C @ =gTasks
adds r5, r0, r1
- ldr r0, _080DE410 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DE410 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -41174,7 +41174,7 @@ _080DE400:
mov pc, r0
.align 2, 0
_080DE40C: .4byte gTasks
-_080DE410: .4byte gBattleAnimEnemyMonIndex
+_080DE410: .4byte gBattleAnimBankTarget
_080DE414: .4byte _080DE418
.align 2, 0
_080DE418:
@@ -41250,7 +41250,7 @@ _080DE464:
movs r0, 0x10
strh r0, [r5, 0xE]
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -41516,7 +41516,7 @@ sub_80DE6B0: @ 80DE6B0
lsls r0, 3
ldr r1, _080DE6E0 @ =gTasks
adds r4, r0, r1
- ldr r0, _080DE6E4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080DE6E4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -41532,7 +41532,7 @@ sub_80DE6B0: @ 80DE6B0
b _080DE7AA
.align 2, 0
_080DE6E0: .4byte gTasks
-_080DE6E4: .4byte gBattleAnimEnemyMonIndex
+_080DE6E4: .4byte gBattleAnimBankTarget
_080DE6E8:
cmp r0, 0x2
beq _080DE740
@@ -41542,7 +41542,7 @@ _080DE6EE:
movs r0, 0x3
strb r0, [r1, 0x15]
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
@@ -41648,7 +41648,7 @@ sub_80DE7B8: @ 80DE7B8
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080DE800
- ldr r4, _080DE7F8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DE7F8 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -41663,14 +41663,14 @@ sub_80DE7B8: @ 80DE7B8
lsls r2, 13
adds r0, r2
lsrs r5, r0, 16
- ldr r4, _080DE7FC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DE7FC @ =gBattleAnimBankTarget
b _080DE824
.align 2, 0
_080DE7F4: .4byte gBattleAnimArgs
-_080DE7F8: .4byte gBattleAnimPlayerMonIndex
-_080DE7FC: .4byte gBattleAnimEnemyMonIndex
+_080DE7F8: .4byte gBattleAnimBankAttacker
+_080DE7FC: .4byte gBattleAnimBankTarget
_080DE800:
- ldr r4, _080DE8C8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DE8C8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -41685,7 +41685,7 @@ _080DE800:
lsls r2, 13
adds r0, r2
lsrs r5, r0, 16
- ldr r4, _080DE8CC @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DE8CC @ =gBattleAnimBankAttacker
_080DE824:
ldrb r0, [r4]
movs r1, 0
@@ -41765,8 +41765,8 @@ _080DE824:
pop {r0}
bx r0
.align 2, 0
-_080DE8C8: .4byte gBattleAnimEnemyMonIndex
-_080DE8CC: .4byte gBattleAnimPlayerMonIndex
+_080DE8C8: .4byte gBattleAnimBankTarget
+_080DE8CC: .4byte gBattleAnimBankAttacker
_080DE8D0: .4byte gBattleAnimArgs
_080DE8D4: .4byte sub_80DE8D8
thumb_func_end sub_80DE7B8
@@ -41844,7 +41844,7 @@ sub_80DE918: @ 80DE918
ldr r2, _080DEA70 @ =gBattleAnimArgs
ldrh r0, [r2]
strh r0, [r1, 0x1C]
- ldr r4, _080DEA74 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DEA74 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -41857,7 +41857,7 @@ sub_80DE918: @ 80DE918
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DE988
@@ -41867,7 +41867,7 @@ _080DE988:
_080DE98A:
lsls r1, r4, 16
asrs r3, r1, 16
- ldr r0, _080DEA74 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DEA74 @ =gBattleAnimBankAttacker
ldrb r2, [r0]
str r1, [sp, 0x10]
cmp r3, r2
@@ -41879,7 +41879,7 @@ _080DE98A:
lsls r0, r4, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080DEA56
@@ -41975,7 +41975,7 @@ _080DEA56:
_080DEA68: .4byte gTasks
_080DEA6C: .4byte REG_BLDCNT
_080DEA70: .4byte gBattleAnimArgs
-_080DEA74: .4byte gBattleAnimPlayerMonIndex
+_080DEA74: .4byte gBattleAnimBankAttacker
_080DEA78: .4byte gSpriteTemplate_83DAF08
_080DEA7C: .4byte gSprites
_080DEA80: .4byte gSprites + 0x1C
@@ -42290,13 +42290,13 @@ sub_80DECB0: @ 80DECB0
adds r1, 0x4
movs r0, 0x10
strh r0, [r1]
- ldr r0, _080DED08 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DED08 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
cmp r0, 0
bne _080DECF4
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DED0C
@@ -42308,7 +42308,7 @@ _080DECF8: .4byte gUnknown_030042C4
_080DECFC: .4byte gUnknown_03004240
_080DED00: .4byte REG_WININ
_080DED04: .4byte 0x00003f3f
-_080DED08: .4byte gBattleAnimPlayerMonIndex
+_080DED08: .4byte gBattleAnimBankAttacker
_080DED0C:
movs r6, 0xC8
_080DED0E:
@@ -42571,7 +42571,7 @@ sub_80DEF3C: @ 80DEF3C
adds r4, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _080DEF68 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DEF68 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -42588,7 +42588,7 @@ sub_80DEF3C: @ 80DEF3C
strb r1, [r4, 0x3]
b _080DEF74
.align 2, 0
-_080DEF68: .4byte gBattleAnimPlayerMonIndex
+_080DEF68: .4byte gBattleAnimBankAttacker
_080DEF6C: .4byte 0x0000fffe
_080DEF70:
ldr r2, _080DEF90 @ =0x0000ffe8
@@ -42662,7 +42662,7 @@ _080DEFAA:
str r0, [r3, 0x1C]
ldr r1, _080DF008 @ =sub_80DF018
adds r0, r3, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
b _080DF010
.align 2, 0
_080DEFFC: .4byte 0x000003ff
@@ -42775,7 +42775,7 @@ sub_80DF0B8: @ 80DF0B8
movs r1, 0xC
bl Sin
strh r0, [r4, 0x24]
- ldr r0, _080DF120 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DF120 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -42819,7 +42819,7 @@ _080DF0DC:
strh r0, [r1]
b _080DF17E
.align 2, 0
-_080DF120: .4byte gBattleAnimPlayerMonIndex
+_080DF120: .4byte gBattleAnimBankAttacker
_080DF124: .4byte 0x0000050b
_080DF128: .4byte REG_BLDCNT
_080DF12C:
@@ -42908,7 +42908,7 @@ sub_80DF1A4: @ 80DF1A4
mov r8, r0
mov r2, r8
strh r2, [r4, 0xA]
- ldr r5, _080DF240 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080DF240 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -42965,7 +42965,7 @@ sub_80DF1A4: @ 80DF1A4
bx r0
.align 2, 0
_080DF23C: .4byte gTasks
-_080DF240: .4byte gBattleAnimPlayerMonIndex
+_080DF240: .4byte gBattleAnimBankAttacker
_080DF244: .4byte REG_BLDCNT
_080DF248: .4byte sub_80DF24C
thumb_func_end sub_80DF1A4
@@ -43022,7 +43022,7 @@ _080DF292:
lsls r0, 2
adds r5, r0, r1
strh r7, [r5, 0x2E]
- ldr r0, _080DF2FC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DF2FC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
movs r1, 0
@@ -43056,7 +43056,7 @@ _080DF2E6:
.align 2, 0
_080DF2F4: .4byte gSpriteTemplate_83DAF80
_080DF2F8: .4byte gSprites
-_080DF2FC: .4byte gBattleAnimPlayerMonIndex
+_080DF2FC: .4byte gBattleAnimBankAttacker
_080DF300:
ldrh r0, [r4, 0xA]
adds r0, 0x1
@@ -43289,7 +43289,7 @@ sub_80DF49C: @ 80DF49C
orrs r1, r2
strb r1, [r3]
ldr r2, _080DF4E0 @ =gObjectBankIDs
- ldr r1, _080DF4E4 @ =gBattleAnimPlayerMonIndex
+ ldr r1, _080DF4E4 @ =gBattleAnimBankAttacker
ldrb r1, [r1]
adds r1, r2
ldrb r1, [r1]
@@ -43318,7 +43318,7 @@ sub_80DF49C: @ 80DF49C
bx lr
.align 2, 0
_080DF4E0: .4byte gObjectBankIDs
-_080DF4E4: .4byte gBattleAnimPlayerMonIndex
+_080DF4E4: .4byte gBattleAnimBankAttacker
_080DF4E8: .4byte gBattleAnimArgs
_080DF4EC: .4byte sub_80DF4F4
_080DF4F0: .4byte gSprites
@@ -43415,7 +43415,7 @@ _080DF59C: .4byte move_anim_8074EE0
sub_80DF5A0: @ 80DF5A0
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _080DF5E8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DF5E8 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -43447,7 +43447,7 @@ sub_80DF5A0: @ 80DF5A0
adds r1, r2, 0
b _080DF5FA
.align 2, 0
-_080DF5E8: .4byte gBattleAnimPlayerMonIndex
+_080DF5E8: .4byte gBattleAnimBankAttacker
_080DF5EC: .4byte gBattleAnimArgs
_080DF5F0:
ldr r1, _080DF630 @ =gBattleAnimArgs
@@ -43476,7 +43476,7 @@ _080DF5FA:
strb r0, [r2]
ldr r1, _080DF634 @ =move_anim_8074EE0
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080DF638 @ =sub_8078504
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -43493,7 +43493,7 @@ sub_80DF63C: @ 80DF63C
push {r4,r5,lr}
adds r5, r0, 0
bl sub_8078650
- ldr r4, _080DF694 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DF694 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -43506,7 +43506,7 @@ sub_80DF63C: @ 80DF63C
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
- ldr r0, _080DF698 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DF698 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -43530,8 +43530,8 @@ sub_80DF63C: @ 80DF63C
strh r0, [r5, 0x36]
b _080DF6CA
.align 2, 0
-_080DF694: .4byte gBattleAnimEnemyMonIndex
-_080DF698: .4byte gBattleAnimPlayerMonIndex
+_080DF694: .4byte gBattleAnimBankTarget
+_080DF698: .4byte gBattleAnimBankAttacker
_080DF69C: .4byte gBattleAnimArgs
_080DF6A0:
ldr r1, _080DF6E4 @ =gBattleAnimArgs
@@ -43562,7 +43562,7 @@ _080DF6CA:
str r0, [r5, 0x1C]
ldr r1, _080DF6EC @ =move_anim_8074EE0
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -43581,13 +43581,13 @@ sub_80DF6F0: @ 80DF6F0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080DF70C
- ldr r4, _080DF708 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DF708 @ =gBattleAnimBankAttacker
b _080DF70E
.align 2, 0
_080DF704: .4byte gBattleAnimArgs
-_080DF708: .4byte gBattleAnimPlayerMonIndex
+_080DF708: .4byte gBattleAnimBankAttacker
_080DF70C:
- ldr r4, _080DF750 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080DF750 @ =gBattleAnimBankTarget
_080DF70E:
ldrb r0, [r4]
movs r1, 0
@@ -43614,12 +43614,12 @@ _080DF70E:
str r0, [r5, 0x1C]
ldr r1, _080DF75C @ =move_anim_8074EE0
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080DF750: .4byte gBattleAnimEnemyMonIndex
+_080DF750: .4byte gBattleAnimBankTarget
_080DF754: .4byte gBattleAnimArgs
_080DF758: .4byte sub_8078600
_080DF75C: .4byte move_anim_8074EE0
@@ -43629,7 +43629,7 @@ _080DF75C: .4byte move_anim_8074EE0
sub_80DF760: @ 80DF760
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080DF788 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DF788 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -43645,14 +43645,14 @@ _080DF77A:
pop {r0}
bx r0
.align 2, 0
-_080DF788: .4byte gBattleAnimPlayerMonIndex
+_080DF788: .4byte gBattleAnimBankAttacker
thumb_func_end sub_80DF760
thumb_func_start sub_80DF78C
sub_80DF78C: @ 80DF78C
push {r4-r7,lr}
adds r6, r0, 0
- ldr r4, _080DF7E0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080DF7E0 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -43688,7 +43688,7 @@ sub_80DF78C: @ 80DF78C
lsrs r0, r7, 17
b _080DF7EE
.align 2, 0
-_080DF7E0: .4byte gBattleAnimPlayerMonIndex
+_080DF7E0: .4byte gBattleAnimBankAttacker
_080DF7E4: .4byte gBattleAnimArgs
_080DF7E8: .4byte gBankAttacker
_080DF7EC:
@@ -43864,7 +43864,7 @@ sub_80DF924: @ 80DF924
lsls r1, 3
ldr r0, _080DF950 @ =gTasks
adds r4, r1, r0
- ldr r0, _080DF954 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DF954 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -43877,7 +43877,7 @@ sub_80DF924: @ 80DF924
b _080DF966
.align 2, 0
_080DF950: .4byte gTasks
-_080DF954: .4byte gBattleAnimPlayerMonIndex
+_080DF954: .4byte gBattleAnimBankAttacker
_080DF958: .4byte REG_BG1HOFS
_080DF95C: .4byte gUnknown_030042C0
_080DF960:
@@ -43895,7 +43895,7 @@ _080DF966:
strb r0, [r1, 0x8]
mov r0, sp
strb r5, [r0, 0x9]
- ldr r0, _080DF9E8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DF9E8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8077FC0
lsls r0, 24
@@ -43948,7 +43948,7 @@ _080DF9C4:
_080DF9DC: .4byte REG_BG2HOFS
_080DF9E0: .4byte gUnknown_03004288
_080DF9E4: .4byte 0xa2600001
-_080DF9E8: .4byte gBattleAnimPlayerMonIndex
+_080DF9E8: .4byte gBattleAnimBankAttacker
_080DF9EC: .4byte gUnknown_03004DE0
_080DF9F0: .4byte sub_80DF9F4
thumb_func_end sub_80DF924
@@ -44128,7 +44128,7 @@ sub_80DFB28: @ 80DFB28
movs r1, 0x5
bl __divsi3
adds r6, r0, 0
- ldr r1, _080DFBCC @ =gBattleAnimPlayerMonIndex
+ ldr r1, _080DFBCC @ =gBattleAnimBankAttacker
mov r8, r1
ldrb r0, [r1]
movs r1, 0x2
@@ -44194,7 +44194,7 @@ _080DFBB0:
bx r0
.align 2, 0
_080DFBC8: .4byte gBattleAnimArgs
-_080DFBCC: .4byte gBattleAnimPlayerMonIndex
+_080DFBCC: .4byte gBattleAnimBankAttacker
_080DFBD0: .4byte sub_80DFBD8
_080DFBD4: .4byte gUnknown_03000730
thumb_func_end sub_80DFB28
@@ -44251,7 +44251,7 @@ sub_80DFC24: @ 80DFC24
ldr r0, _080DFC5C @ =gBattleAnimArgs
ldrh r0, [r0]
strh r0, [r1, 0x8]
- ldr r0, _080DFC60 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DFC60 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
movs r2, 0x10
strh r2, [r1, 0xA]
@@ -44268,7 +44268,7 @@ sub_80DFC24: @ 80DFC24
.align 2, 0
_080DFC58: .4byte gTasks
_080DFC5C: .4byte gBattleAnimArgs
-_080DFC60: .4byte gBattleAnimPlayerMonIndex
+_080DFC60: .4byte gBattleAnimBankAttacker
_080DFC64: .4byte REG_BLDALPHA
_080DFC68: .4byte REG_BLDCNT
_080DFC6C: .4byte 0x00003f42
@@ -44331,7 +44331,7 @@ sub_80DFC9C: @ 80DFC9C
bne _080DFD1E
ldr r2, _080DFD0C @ =gSprites
ldr r1, _080DFD10 @ =gObjectBankIDs
- ldr r0, _080DFD14 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DFD14 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -44352,7 +44352,7 @@ _080DFD04: .4byte gTasks
_080DFD08: .4byte REG_BLDALPHA
_080DFD0C: .4byte gSprites
_080DFD10: .4byte gObjectBankIDs
-_080DFD14: .4byte gBattleAnimPlayerMonIndex
+_080DFD14: .4byte gBattleAnimBankAttacker
_080DFD18:
ldrh r0, [r4, 0xC]
adds r0, 0x1
@@ -44454,7 +44454,7 @@ sub_80DFDC0: @ 80DFDC0
lsls r2, 5
adds r0, r2, 0
strh r0, [r1]
- ldr r0, _080DFDEC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DFDEC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -44466,7 +44466,7 @@ sub_80DFDC0: @ 80DFDC0
b _080DFDFC
.align 2, 0
_080DFDE8: .4byte REG_BLDALPHA
-_080DFDEC: .4byte gBattleAnimPlayerMonIndex
+_080DFDEC: .4byte gBattleAnimBankAttacker
_080DFDF0: .4byte REG_BLDCNT
_080DFDF4: .4byte 0x00003f42
_080DFDF8:
@@ -44489,14 +44489,14 @@ _080DFE10: .4byte 0x00003f44
sub_80DFE14: @ 80DFE14
push {r4-r6,lr}
adds r4, r0, 0
- ldr r6, _080DFE80 @ =gBattleAnimEnemyMonIndex
+ ldr r6, _080DFE80 @ =gBattleAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
bl sub_8077ABC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
- ldr r5, _080DFE84 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080DFE84 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -44535,8 +44535,8 @@ sub_80DFE14: @ 80DFE14
pop {r0}
bx r0
.align 2, 0
-_080DFE80: .4byte gBattleAnimEnemyMonIndex
-_080DFE84: .4byte gBattleAnimPlayerMonIndex
+_080DFE80: .4byte gBattleAnimBankTarget
+_080DFE84: .4byte gBattleAnimBankAttacker
_080DFE88: .4byte 0x0000ffd8
_080DFE8C: .4byte sub_80DFE90
thumb_func_end sub_80DFE14
@@ -44724,13 +44724,13 @@ sub_80DFFD0: @ 80DFFD0
adds r3, r0, 0
cmp r1, 0
bne _080DFFEC
- ldr r0, _080DFFE8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080DFFE8 @ =gBattleAnimBankAttacker
b _080DFFEE
.align 2, 0
_080DFFE4: .4byte gBattleAnimArgs
-_080DFFE8: .4byte gBattleAnimPlayerMonIndex
+_080DFFE8: .4byte gBattleAnimBankAttacker
_080DFFEC:
- ldr r0, _080E001C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E001C @ =gBattleAnimBankTarget
_080DFFEE:
ldrb r5, [r0]
movs r6, 0x14
@@ -44755,7 +44755,7 @@ _080DFFEE:
beq _080E0032
b _080E00A0
.align 2, 0
-_080E001C: .4byte gBattleAnimEnemyMonIndex
+_080E001C: .4byte gBattleAnimBankTarget
_080E0020: .4byte 0x000003ff
_080E0024: .4byte 0xfffffc00
_080E0028:
@@ -44867,7 +44867,7 @@ sub_80E00EC: @ 80E00EC
lsls r1, 3
ldr r0, _080E0150 @ =gTasks
adds r5, r1, r0
- ldr r4, _080E0154 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080E0154 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x1
bl sub_8077ABC
@@ -44906,13 +44906,13 @@ sub_80E00EC: @ 80E00EC
b _080E015E
.align 2, 0
_080E0150: .4byte gTasks
-_080E0154: .4byte gBattleAnimPlayerMonIndex
+_080E0154: .4byte gBattleAnimBankAttacker
_080E0158: .4byte 0x0000fff4
_080E015C:
ldr r0, _080E01A8 @ =0x0000ffc0
_080E015E:
strh r0, [r5, 0x18]
- ldr r0, _080E01AC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E01AC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -44938,7 +44938,7 @@ _080E015E:
ldr r0, _080E01BC @ =REG_BG1VOFS
str r0, [sp]
movs r7, 0x2
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E01F4
@@ -44946,7 +44946,7 @@ _080E015E:
b _080E01EE
.align 2, 0
_080E01A8: .4byte 0x0000ffc0
-_080E01AC: .4byte gBattleAnimPlayerMonIndex
+_080E01AC: .4byte gBattleAnimBankAttacker
_080E01B0: .4byte gUnknown_030041B4
_080E01B4: .4byte REG_BLDCNT
_080E01B8: .4byte 0x00003f42
@@ -44967,7 +44967,7 @@ _080E01C4:
ldr r0, _080E0284 @ =REG_BG2VOFS
str r0, [sp]
movs r7, 0x4
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E01F4
@@ -45235,7 +45235,7 @@ _080E03EC:
.4byte _080E053C
.4byte _080E05A4
_080E0400:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -45260,7 +45260,7 @@ _080E0430: .4byte gUnknown_03004240
_080E0434: .4byte REG_WININ
_080E0438: .4byte 0x00003f3f
_080E043C:
- ldr r0, _080E045C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E045C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -45275,7 +45275,7 @@ _080E043C:
ldr r1, _080E0468 @ =gUnknown_03004288
b _080E0476
.align 2, 0
-_080E045C: .4byte gBattleAnimEnemyMonIndex
+_080E045C: .4byte gBattleAnimBankTarget
_080E0460: .4byte REG_BLDCNT
_080E0464: .4byte 0x00003f42
_080E0468: .4byte gUnknown_03004288
@@ -45328,7 +45328,7 @@ _080E04C4:
.align 2, 0
_080E04CC: .4byte gUnknown_03004280
_080E04D0:
- ldr r4, _080E051C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080E051C @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x1
bl sub_8077ABC
@@ -45363,7 +45363,7 @@ _080E04D0:
ldr r0, _080E0520 @ =0x0000fff4
b _080E0526
.align 2, 0
-_080E051C: .4byte gBattleAnimEnemyMonIndex
+_080E051C: .4byte gBattleAnimBankTarget
_080E0520: .4byte 0x0000fff4
_080E0524:
ldr r0, _080E0538 @ =0x0000ffc0
@@ -45865,7 +45865,7 @@ sub_80E08CC: @ 80E08CC
_080E08E2:
lsls r0, r4, 24
lsrs r0, 24
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
@@ -45901,7 +45901,7 @@ sub_80E0918: @ 80E0918
lsls r0, 24
lsrs r0, 24
mov r10, r0
- ldr r6, _080E09B8 @ =gBattleAnimPlayerMonIndex
+ ldr r6, _080E09B8 @ =gBattleAnimBankAttacker
ldrb r0, [r6]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -45935,7 +45935,7 @@ sub_80E0918: @ 80E0918
ldrb r0, [r6]
movs r5, 0x2
eors r0, r5
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080E09A2
@@ -45969,7 +45969,7 @@ _080E09A2:
pop {r0}
bx r0
.align 2, 0
-_080E09B8: .4byte gBattleAnimPlayerMonIndex
+_080E09B8: .4byte gBattleAnimBankAttacker
_080E09BC: .4byte gSprites
_080E09C0: .4byte gObjectBankIDs
thumb_func_end sub_80E0918
@@ -45979,7 +45979,7 @@ sub_80E09C4: @ 80E09C4
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- ldr r4, _080E0A0C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080E0A0C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -45994,7 +45994,7 @@ sub_80E09C4: @ 80E09C4
ldrb r1, [r4]
movs r0, 0x2
eors r0, r1
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080E0A00
@@ -46009,7 +46009,7 @@ _080E0A00:
pop {r0}
bx r0
.align 2, 0
-_080E0A0C: .4byte gBattleAnimPlayerMonIndex
+_080E0A0C: .4byte gBattleAnimBankAttacker
thumb_func_end sub_80E09C4
thumb_func_start sub_80E0A10
@@ -46032,7 +46032,7 @@ sub_80E0A10: @ 80E0A10
str r0, [r4, 0x1C]
ldr r1, _080E0A48 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4}
pop {r0}
bx r0
@@ -46092,7 +46092,7 @@ sub_80E0A4C: @ 80E0A4C
movs r0, 0x3F
ands r0, r1
strb r0, [r5, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E0AC4
@@ -46108,11 +46108,11 @@ _080E0AC4:
lsls r0, 24
cmp r0, 0
beq _080E0B40
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E0B40
- ldr r4, _080E0B74 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080E0B74 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankIdentity
lsls r0, 24
@@ -46128,7 +46128,7 @@ _080E0AF4:
ldrb r0, [r4]
movs r6, 0x2
eors r0, r6
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -46163,7 +46163,7 @@ _080E0AF4:
strb r0, [r5]
movs r7, 0x1
_080E0B40:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E0B84
@@ -46180,12 +46180,12 @@ _080E0B64: .4byte REG_BLDCNT
_080E0B68: .4byte 0x00003f42
_080E0B6C: .4byte 0x00000c08
_080E0B70: .4byte REG_BG1CNT
-_080E0B74: .4byte gBattleAnimPlayerMonIndex
+_080E0B74: .4byte gBattleAnimBankAttacker
_080E0B78: .4byte gSprites
_080E0B7C: .4byte gObjectBankIDs
_080E0B80: .4byte 0x02019348
_080E0B84:
- ldr r4, _080E0BA4 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080E0BA4 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -46201,7 +46201,7 @@ _080E0B84:
ldr r1, _080E0BAC @ =gEnemyParty
b _080E0BC0
.align 2, 0
-_080E0BA4: .4byte gBattleAnimPlayerMonIndex
+_080E0BA4: .4byte gBattleAnimBankAttacker
_080E0BA8: .4byte gBattlePartyID
_080E0BAC: .4byte gEnemyParty
_080E0BB0:
@@ -46221,11 +46221,11 @@ _080E0BC0:
lsrs r5, r0, 16
_080E0BCC:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, _080E0C60 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E0C60 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r1, r4, 0
adds r2, r5, 0
@@ -46286,7 +46286,7 @@ _080E0BCC:
.align 2, 0
_080E0C58: .4byte gBattlePartyID
_080E0C5C: .4byte gPlayerParty
-_080E0C60: .4byte gBattleAnimPlayerMonIndex
+_080E0C60: .4byte gBattleAnimBankAttacker
_080E0C64: .4byte 0x040000d4
_080E0C68: .4byte 0x85000400
_080E0C6C: .4byte gUnknown_08D1D574
@@ -46379,7 +46379,7 @@ sub_80E0CD0: @ 80E0CD0
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E0D40
@@ -46403,7 +46403,7 @@ _080E0D40:
adds r0, 0x2
strh r5, [r0]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
ldr r6, _080E0E10 @ =gSprites
@@ -46446,7 +46446,7 @@ _080E0D84:
cmp r0, 0x1
bne _080E0DE2
ldr r2, _080E0E1C @ =gObjectBankIDs
- ldr r0, _080E0E20 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E0E20 @ =gBattleAnimBankAttacker
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
@@ -46489,7 +46489,7 @@ _080E0E10: .4byte gSprites
_080E0E14: .4byte 0x040000d4
_080E0E18: .4byte 0x85000200
_080E0E1C: .4byte gObjectBankIDs
-_080E0E20: .4byte gBattleAnimPlayerMonIndex
+_080E0E20: .4byte gBattleAnimBankAttacker
thumb_func_end sub_80E0CD0
thumb_func_start sub_80E0E24
@@ -46524,7 +46524,7 @@ _080E0E4C:
.4byte _080E0E84
_080E0E6C:
ldrb r0, [r2]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r2, r0, 24
b _080E0E8A
@@ -46552,7 +46552,7 @@ _080E0E90:
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080E0EB4
@@ -46622,7 +46622,7 @@ _080E0F18: .4byte gBattleAnimArgs
sub_80E0F1C: @ 80E0F1C
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _080E0F74 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080E0F74 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -46637,7 +46637,7 @@ sub_80E0F1C: @ 80E0F1C
strh r0, [r4, 0x22]
movs r0, 0x14
strh r0, [r4, 0x2E]
- ldr r5, _080E0F78 @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080E0F78 @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -46660,8 +46660,8 @@ sub_80E0F1C: @ 80E0F1C
pop {r0}
bx r0
.align 2, 0
-_080E0F74: .4byte gBattleAnimPlayerMonIndex
-_080E0F78: .4byte gBattleAnimEnemyMonIndex
+_080E0F74: .4byte gBattleAnimBankAttacker
+_080E0F78: .4byte gBattleAnimBankTarget
_080E0F7C: .4byte 0x0000ffd8
_080E0F80: .4byte sub_80E0F84
thumb_func_end sub_80E0F1C
@@ -46687,7 +46687,7 @@ sub_80E0F84: @ 80E0F84
strh r1, [r5, 0x24]
movs r0, 0x14
strh r0, [r5, 0x2E]
- ldr r4, _080E0FE0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080E0FE0 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -46711,7 +46711,7 @@ _080E0FD8:
pop {r0}
bx r0
.align 2, 0
-_080E0FE0: .4byte gBattleAnimPlayerMonIndex
+_080E0FE0: .4byte gBattleAnimBankAttacker
_080E0FE4: .4byte sub_80E0FE8
thumb_func_end sub_80E0F84
@@ -46737,7 +46737,7 @@ sub_80E1004: @ 80E1004
adds r6, r0, 0
movs r1, 0x1
bl sub_8078764
- ldr r0, _080E1064 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E1064 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -46751,7 +46751,7 @@ _080E1024:
ldr r4, _080E1068 @ =gBattleAnimArgs
ldrh r0, [r4, 0x8]
strh r0, [r6, 0x2E]
- ldr r5, _080E106C @ =gBattleAnimEnemyMonIndex
+ ldr r5, _080E106C @ =gBattleAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -46772,14 +46772,14 @@ _080E1024:
str r0, [r6, 0x1C]
ldr r1, _080E1074 @ =move_anim_8072740
adds r0, r6, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080E1064: .4byte gBattleAnimPlayerMonIndex
+_080E1064: .4byte gBattleAnimBankAttacker
_080E1068: .4byte gBattleAnimArgs
-_080E106C: .4byte gBattleAnimEnemyMonIndex
+_080E106C: .4byte gBattleAnimBankTarget
_080E1070: .4byte sub_8078B34
_080E1074: .4byte move_anim_8072740
thumb_func_end sub_80E1004
@@ -46792,7 +46792,7 @@ sub_80E1078: @ 80E1078
adds r6, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r4, _080E10F8 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _080E10F8 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077EE4
@@ -46839,14 +46839,14 @@ _080E10D0:
str r0, [r6, 0x1C]
ldr r1, _080E1104 @ =move_anim_8074EE0
adds r0, r6, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_080E10F8: .4byte gBattleAnimEnemyMonIndex
+_080E10F8: .4byte gBattleAnimBankTarget
_080E10FC: .4byte gBattleAnimArgs
_080E1100: .4byte sub_8078B34
_080E1104: .4byte move_anim_8074EE0
@@ -46872,7 +46872,7 @@ sub_80E1108: @ 80E1108
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080E117C
- ldr r4, _080E1174 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080E1174 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -46905,7 +46905,7 @@ _080E1162:
_080E1168: .4byte 0x000003ff
_080E116C: .4byte 0xfffffc00
_080E1170: .4byte gBattleAnimArgs
-_080E1174: .4byte gBattleAnimPlayerMonIndex
+_080E1174: .4byte gBattleAnimBankAttacker
_080E1178: .4byte sub_80E1198
_080E117C:
ldrh r0, [r6, 0x2]
@@ -47086,11 +47086,11 @@ _080E12B0:
.4byte _080E1414
_080E12C4:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
- ldr r0, _080E12EC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E12EC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -47104,7 +47104,7 @@ _080E12C4:
ldr r0, _080E12F4 @ =gUnknown_030041B4
b _080E1300
.align 2, 0
-_080E12EC: .4byte gBattleAnimPlayerMonIndex
+_080E12EC: .4byte gBattleAnimBankAttacker
_080E12F0: .4byte gUnknown_030042C0
_080E12F4: .4byte gUnknown_030041B4
_080E12F8:
@@ -47115,7 +47115,7 @@ _080E12F8:
_080E1300:
ldrh r0, [r0]
strh r0, [r4, 0x22]
- ldr r0, _080E1344 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E1344 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8077FC0
lsls r0, 24
@@ -47146,7 +47146,7 @@ _080E1322:
.align 2, 0
_080E133C: .4byte gUnknown_03004288
_080E1340: .4byte gUnknown_03004280
-_080E1344: .4byte gBattleAnimPlayerMonIndex
+_080E1344: .4byte gBattleAnimBankAttacker
_080E1348: .4byte gSprites
_080E134C:
ldrb r0, [r4, 0x1E]
@@ -47281,7 +47281,7 @@ sub_80E143C: @ 80E143C
lsls r0, 24
lsrs r5, r0, 24
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, _080E147C @ =gSprites
@@ -47298,7 +47298,7 @@ sub_80E143C: @ 80E143C
movs r4, 0
strh r4, [r1, 0x24]
strh r4, [r1, 0x26]
- ldr r0, _080E1480 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E1480 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -47309,7 +47309,7 @@ sub_80E143C: @ 80E143C
b _080E148A
.align 2, 0
_080E147C: .4byte gSprites
-_080E1480: .4byte gBattleAnimPlayerMonIndex
+_080E1480: .4byte gBattleAnimBankAttacker
_080E1484: .4byte gUnknown_030041B4
_080E1488:
ldr r0, _080E1498 @ =gUnknown_03004280
@@ -47379,7 +47379,7 @@ sub_80E14DC: @ 80E14DC
_080E14FC: .4byte gTasks
_080E1500:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
@@ -47459,11 +47459,11 @@ _080E158C:
.4byte _080E165C
_080E15A0:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
- ldr r0, _080E15C4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E15C4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -47474,14 +47474,14 @@ _080E15A0:
ldr r0, _080E15C8 @ =gUnknown_030042C0
b _080E15CE
.align 2, 0
-_080E15C4: .4byte gBattleAnimPlayerMonIndex
+_080E15C4: .4byte gBattleAnimBankAttacker
_080E15C8: .4byte gUnknown_030042C0
_080E15CC:
ldr r0, _080E15EC @ =gUnknown_03004288
_080E15CE:
ldrh r0, [r0]
strh r0, [r4, 0x20]
- ldr r0, _080E15F0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E15F0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8077FC0
lsls r0, 24
@@ -47494,7 +47494,7 @@ _080E15CE:
b _080E164A
.align 2, 0
_080E15EC: .4byte gUnknown_03004288
-_080E15F0: .4byte gBattleAnimPlayerMonIndex
+_080E15F0: .4byte gBattleAnimBankAttacker
_080E15F4:
ldrb r0, [r4, 0x1E]
movs r1, 0x26
@@ -47668,13 +47668,13 @@ sub_80E1728: @ 80E1728
adds r7, r0, 0
cmp r1, 0
bne _080E1744
- ldr r0, _080E1740 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E1740 @ =gBattleAnimBankAttacker
b _080E1746
.align 2, 0
_080E173C: .4byte gBattleAnimArgs
-_080E1740: .4byte gBattleAnimPlayerMonIndex
+_080E1740: .4byte gBattleAnimBankAttacker
_080E1744:
- ldr r0, _080E17A8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E17A8 @ =gBattleAnimBankTarget
_080E1746:
ldrb r4, [r0]
movs r6, 0x18
@@ -47723,7 +47723,7 @@ _080E1762:
pop {r0}
bx r0
.align 2, 0
-_080E17A8: .4byte gBattleAnimEnemyMonIndex
+_080E17A8: .4byte gBattleAnimBankTarget
_080E17AC: .4byte sub_80E17B0
thumb_func_end sub_80E1728
@@ -47752,13 +47752,13 @@ sub_80E17CC: @ 80E17CC
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080E17E8
- ldr r0, _080E17E4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E17E4 @ =gBattleAnimBankAttacker
b _080E17EA
.align 2, 0
_080E17E0: .4byte gBattleAnimArgs
-_080E17E4: .4byte gBattleAnimPlayerMonIndex
+_080E17E4: .4byte gBattleAnimBankAttacker
_080E17E8:
- ldr r0, _080E1848 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E1848 @ =gBattleAnimBankTarget
_080E17EA:
ldrb r5, [r0]
adds r0, r5, 0
@@ -47796,7 +47796,7 @@ _080E17EA:
strh r0, [r6, 0x4]
ldr r1, _080E185C @ =move_anim_8072740
adds r0, r6, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldrh r0, [r4, 0x4]
strh r0, [r6, 0x2E]
ldr r0, _080E1860 @ =sub_80782D8
@@ -47805,7 +47805,7 @@ _080E17EA:
pop {r0}
bx r0
.align 2, 0
-_080E1848: .4byte gBattleAnimEnemyMonIndex
+_080E1848: .4byte gBattleAnimBankTarget
_080E184C: .4byte 0x0000fff0
_080E1850: .4byte gBattleAnimArgs
_080E1854: .4byte 0x000003ff
@@ -47870,7 +47870,7 @@ _080E18C8:
_080E18CE:
lsls r0, r5, 24
lsrs r0, 24
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080E18F8
@@ -47899,7 +47899,7 @@ _080E18F8:
_080E1904: .4byte gObjectBankIDs
_080E1908:
ldrb r0, [r6]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1A]
@@ -48282,13 +48282,13 @@ sub_80E1BB0: @ 80E1BB0
adds r6, r2, 0
cmp r0, 0
beq _080E1BD0
- ldr r0, _080E1BCC @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E1BCC @ =gBattleAnimBankTarget
b _080E1BD2
.align 2, 0
_080E1BC8: .4byte gBattleAnimArgs
-_080E1BCC: .4byte gBattleAnimEnemyMonIndex
+_080E1BCC: .4byte gBattleAnimBankTarget
_080E1BD0:
- ldr r0, _080E1C40 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E1C40 @ =gBattleAnimBankAttacker
_080E1BD2:
ldrb r0, [r0]
adds r5, r0, 0
@@ -48343,7 +48343,7 @@ _080E1BE2:
pop {r0}
bx r0
.align 2, 0
-_080E1C40: .4byte gBattleAnimPlayerMonIndex
+_080E1C40: .4byte gBattleAnimBankAttacker
_080E1C44: .4byte sub_80E1C58
_080E1C48: .4byte gTasks
_080E1C4C: .4byte 0x000001ff
@@ -48412,7 +48412,7 @@ sub_80E1CB4: @ 80E1CB4
strh r0, [r4, 0x22]
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x2E]
- ldr r0, _080E1CF0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E1CF0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -48427,7 +48427,7 @@ sub_80E1CB4: @ 80E1CB4
b _080E1D02
.align 2, 0
_080E1CEC: .4byte gBattleAnimArgs
-_080E1CF0: .4byte gBattleAnimPlayerMonIndex
+_080E1CF0: .4byte gBattleAnimBankAttacker
_080E1CF4:
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x30]
@@ -48763,7 +48763,7 @@ sub_80E1F3C: @ 80E1F3C
strh r2, [r4, 0x38]
ldr r1, _080E1F84 @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r1, _080E1F88 @ =sub_8078174
str r1, [r4, 0x1C]
adds r0, r4, 0
@@ -49265,9 +49265,9 @@ sub_80E2324: @ 80E2324
lsrs r0, 24
mov r8, r0
movs r2, 0
- ldr r0, _080E239C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E239C @ =gBattleAnimBankAttacker
ldrb r6, [r0]
- ldr r0, _080E23A0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E23A0 @ =gBattleAnimBankTarget
ldrb r7, [r0]
ldr r4, _080E23A4 @ =gBattleAnimArgs
ldrh r1, [r4]
@@ -49317,8 +49317,8 @@ _080E2382:
pop {r0}
bx r0
.align 2, 0
-_080E239C: .4byte gBattleAnimPlayerMonIndex
-_080E23A0: .4byte gBattleAnimEnemyMonIndex
+_080E239C: .4byte gBattleAnimBankAttacker
+_080E23A0: .4byte gBattleAnimBankTarget
_080E23A4: .4byte gBattleAnimArgs
thumb_func_end sub_80E2324
@@ -49361,10 +49361,10 @@ _080E23EA:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
- ldr r0, _080E24A4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E24A4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
mov r9, r0
- ldr r0, _080E24A8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E24A8 @ =gBattleAnimBankTarget
ldrb r0, [r0]
mov r10, r0
ldrh r1, [r4, 0xC]
@@ -49451,8 +49451,8 @@ _080E248E:
.align 2, 0
_080E249C: .4byte gTasks
_080E24A0: .4byte gBattleAnimArgs
-_080E24A4: .4byte gBattleAnimPlayerMonIndex
-_080E24A8: .4byte gBattleAnimEnemyMonIndex
+_080E24A4: .4byte gBattleAnimBankAttacker
+_080E24A8: .4byte gBattleAnimBankTarget
_080E24AC: .4byte 0x0000ffff
_080E24B0: .4byte gSprites
_080E24B4: .4byte gHealthboxIDs
@@ -49506,14 +49506,14 @@ _080E2508:
ldr r1, _080E2514 @ =gSpriteCoordOffsetX
_080E250A:
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
b _080E2520
.align 2, 0
_080E2514: .4byte gSpriteCoordOffsetX
_080E2518:
ldr r1, _080E2550 @ =gSpriteCoordOffsetY
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_080E2520:
movs r0, 0x3A
ldrsh r1, [r4, r0]
@@ -49643,7 +49643,7 @@ sub_80E260C: @ 80E260C
push {r4-r6,lr}
ldr r6, _080E2680 @ =gSprites
ldr r4, _080E2684 @ =gObjectBankIDs
- ldr r5, _080E2688 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080E2688 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
adds r0, r4
ldrb r0, [r0]
@@ -49658,7 +49658,7 @@ sub_80E260C: @ 80E260C
adds r0, r2, 0
ands r0, r3
strb r0, [r1]
- ldr r3, _080E268C @ =gBattleAnimEnemyMonIndex
+ ldr r3, _080E268C @ =gBattleAnimBankTarget
ldrb r0, [r3]
adds r0, r4
ldrb r1, [r0]
@@ -49700,8 +49700,8 @@ sub_80E260C: @ 80E260C
.align 2, 0
_080E2680: .4byte gSprites
_080E2684: .4byte gObjectBankIDs
-_080E2688: .4byte gBattleAnimPlayerMonIndex
-_080E268C: .4byte gBattleAnimEnemyMonIndex
+_080E2688: .4byte gBattleAnimBankAttacker
+_080E268C: .4byte gBattleAnimBankTarget
_080E2690: .4byte gBattleAnimArgs
_080E2694:
cmp r0, 0
@@ -49874,7 +49874,7 @@ _080E27CC:
str r0, [r5, 0x1C]
ldr r1, _080E27E4 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -49912,7 +49912,7 @@ _080E2814:
str r0, [r5, 0x1C]
ldr r1, _080E2834 @ =sub_80DA48C
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -49926,13 +49926,13 @@ _080E2834: .4byte sub_80DA48C
sub_80E2838: @ 80E2838
push {r4,lr}
adds r4, r0, 0
- ldr r0, _080E2868 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E2868 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
cmp r0, 0
beq _080E285C
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E285C
@@ -49947,7 +49947,7 @@ _080E285C:
pop {r0}
bx r0
.align 2, 0
-_080E2868: .4byte gBattleAnimPlayerMonIndex
+_080E2868: .4byte gBattleAnimBankAttacker
_080E286C: .4byte gBattleAnimArgs
thumb_func_end sub_80E2838
@@ -50007,7 +50007,7 @@ _080E28B4:
strh r0, [r4, 0x26]
ldr r1, _080E2900 @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080E2904 @ =sub_80785E4
str r0, [r4, 0x1C]
pop {r4,r5}
@@ -50026,7 +50026,7 @@ sub_80E2908: @ 80E2908
adds r4, r0, 0
ldr r5, _080E2968 @ =gBattleAnimArgs
ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x2E]
@@ -50060,7 +50060,7 @@ sub_80E2908: @ 80E2908
bl StartSpriteAffineAnim
ldr r1, _080E2970 @ =move_anim_8074EE0
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080E2974 @ =sub_80785E4
str r0, [r4, 0x1C]
pop {r4,r5}
@@ -50098,7 +50098,7 @@ _080E299C:
strh r0, [r4, 0x2E]
ldr r1, _080E29B8 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _080E29BC @ =sub_80782D8
str r0, [r4, 0x1C]
pop {r4}
@@ -50247,33 +50247,33 @@ _080E2AD0:
movs r5, 0
_080E2AD2:
mov r0, sp
- ldr r1, _080E2AD8 @ =gBattleAnimPlayerMonIndex
+ ldr r1, _080E2AD8 @ =gBattleAnimBankAttacker
b _080E2AE2
.align 2, 0
-_080E2AD8: .4byte gBattleAnimPlayerMonIndex
+_080E2AD8: .4byte gBattleAnimBankAttacker
_080E2ADC:
movs r5, 0
_080E2ADE:
mov r0, sp
- ldr r1, _080E2AE8 @ =gBattleAnimEnemyMonIndex
+ ldr r1, _080E2AE8 @ =gBattleAnimBankTarget
_080E2AE2:
ldrb r1, [r1]
strb r1, [r0]
b _080E2B26
.align 2, 0
-_080E2AE8: .4byte gBattleAnimEnemyMonIndex
+_080E2AE8: .4byte gBattleAnimBankTarget
_080E2AEC:
mov r1, sp
- ldr r0, _080E2AFC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E2AFC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
strb r0, [r1]
- ldr r0, _080E2B00 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E2B00 @ =gBattleAnimBankTarget
ldrb r0, [r0]
strb r0, [r1, 0x1]
b _080E2B26
.align 2, 0
-_080E2AFC: .4byte gBattleAnimPlayerMonIndex
-_080E2B00: .4byte gBattleAnimEnemyMonIndex
+_080E2AFC: .4byte gBattleAnimBankAttacker
+_080E2B00: .4byte gBattleAnimBankTarget
_080E2B04:
mov r1, sp
movs r0, 0xFF
@@ -50282,14 +50282,14 @@ _080E2B04:
_080E2B0C:
movs r5, 0
mov r2, sp
- ldr r0, _080E2B14 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E2B14 @ =gBattleAnimBankAttacker
b _080E2B1E
.align 2, 0
-_080E2B14: .4byte gBattleAnimPlayerMonIndex
+_080E2B14: .4byte gBattleAnimBankAttacker
_080E2B18:
movs r5, 0
mov r2, sp
- ldr r0, _080E2B70 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E2B70 @ =gBattleAnimBankTarget
_080E2B1E:
ldrb r0, [r0]
movs r1, 0x2
@@ -50306,7 +50306,7 @@ _080E2B2A:
cmp r4, r0
beq _080E2B54
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080E2B54
@@ -50332,7 +50332,7 @@ _080E2B54:
pop {r0}
bx r0
.align 2, 0
-_080E2B70: .4byte gBattleAnimEnemyMonIndex
+_080E2B70: .4byte gBattleAnimBankTarget
thumb_func_end sub_80E2A7C
thumb_func_start sub_80E2B74
@@ -50880,7 +50880,7 @@ sub_80E2F2C: @ 80E2F2C
movs r1, 0x20
orrs r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E2FAC
@@ -50896,11 +50896,11 @@ _080E2FAC:
lsls r0, 24
cmp r0, 0
beq _080E3028
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3028
- ldr r5, _080E305C @ =gBattleAnimPlayerMonIndex
+ ldr r5, _080E305C @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankIdentity
lsls r0, 24
@@ -50916,7 +50916,7 @@ _080E2FDC:
ldrb r0, [r5]
movs r6, 0x2
eors r0, r6
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -50951,7 +50951,7 @@ _080E2FDC:
strb r0, [r4]
movs r7, 0x1
_080E3028:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E306C
@@ -50968,12 +50968,12 @@ _080E304C: .4byte REG_BLDCNT
_080E3050: .4byte 0x00003f42
_080E3054: .4byte 0x00000c08
_080E3058: .4byte REG_BG1CNT
-_080E305C: .4byte gBattleAnimPlayerMonIndex
+_080E305C: .4byte gBattleAnimBankAttacker
_080E3060: .4byte gSprites
_080E3064: .4byte gObjectBankIDs
_080E3068: .4byte 0x02019348
_080E306C:
- ldr r4, _080E308C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _080E308C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -50989,7 +50989,7 @@ _080E306C:
ldr r1, _080E3094 @ =gEnemyParty
b _080E30A8
.align 2, 0
-_080E308C: .4byte gBattleAnimPlayerMonIndex
+_080E308C: .4byte gBattleAnimBankAttacker
_080E3090: .4byte gBattlePartyID
_080E3094: .4byte gEnemyParty
_080E3098:
@@ -51009,10 +51009,10 @@ _080E30A8:
lsrs r4, r0, 16
_080E30B4:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _080E3168 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E3168 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r1, r5, 0
adds r2, r4, 0
@@ -51033,7 +51033,7 @@ _080E30B4:
ldr r0, [r2, 0x8]
ldr r0, _080E3174 @ =gUnknown_08D20A30
bl LZDecompressVram
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E3106
@@ -51089,7 +51089,7 @@ _080E3106:
.align 2, 0
_080E3160: .4byte gBattlePartyID
_080E3164: .4byte gPlayerParty
-_080E3168: .4byte gBattleAnimPlayerMonIndex
+_080E3168: .4byte gBattleAnimBankAttacker
_080E316C: .4byte 0x040000d4
_080E3170: .4byte 0x85000400
_080E3174: .4byte gUnknown_08D20A30
@@ -51150,7 +51150,7 @@ sub_80E3194: @ 80E3194
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3208
@@ -51174,7 +51174,7 @@ _080E3208:
adds r0, 0x2
strh r5, [r0]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r0, _080E32CC @ =gSprites
mov r8, r0
movs r2, 0x8
@@ -51200,7 +51200,7 @@ _080E3208:
cmp r0, 0x1
bne _080E3288
ldr r2, _080E32D8 @ =gObjectBankIDs
- ldr r0, _080E32DC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E32DC @ =gBattleAnimBankAttacker
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
@@ -51253,7 +51253,7 @@ _080E32CC: .4byte gSprites
_080E32D0: .4byte 0x040000d4
_080E32D4: .4byte 0x85000200
_080E32D8: .4byte gObjectBankIDs
-_080E32DC: .4byte gBattleAnimPlayerMonIndex
+_080E32DC: .4byte gBattleAnimBankAttacker
thumb_func_end sub_80E3194
thumb_func_start sub_80E32E0
@@ -51344,13 +51344,13 @@ _080E336C:
ldrsh r0, [r7, r1]
cmp r0, 0
bne _080E3390
- ldr r0, _080E338C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E338C @ =gBattleAnimBankAttacker
b _080E3392
.align 2, 0
_080E3388: .4byte gTasks
-_080E338C: .4byte gBattleAnimPlayerMonIndex
+_080E338C: .4byte gBattleAnimBankAttacker
_080E3390:
- ldr r0, _080E34B4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E34B4 @ =gBattleAnimBankTarget
_080E3392:
ldrb r5, [r0]
movs r0, 0x2
@@ -51358,7 +51358,7 @@ _080E3392:
mov r2, r8
eors r2, r0
mov r8, r2
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E33BC
@@ -51367,7 +51367,7 @@ _080E3392:
cmp r0, 0
beq _080E33C0
mov r0, r8
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
bne _080E33C0
@@ -51420,7 +51420,7 @@ _080E33C0:
movs r1, 0x20
orrs r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3432
@@ -51453,7 +51453,7 @@ _080E3432:
bne _080E34A4
_080E345E:
mov r0, r8
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -51487,7 +51487,7 @@ _080E345E:
movs r2, 0x1
str r2, [sp, 0x20]
_080E34A4:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E34E4
@@ -51495,7 +51495,7 @@ _080E34A4:
ldrh r4, [r0]
b _080E3522
.align 2, 0
-_080E34B4: .4byte gBattleAnimEnemyMonIndex
+_080E34B4: .4byte gBattleAnimBankTarget
_080E34B8: .4byte gUnknown_030042C4
_080E34BC: .4byte gUnknown_03004240
_080E34C0: .4byte REG_WININ
@@ -51581,7 +51581,7 @@ _080E3578:
ldr r1, [sp, 0x4]
bl LZDecompressVram
_080E3580:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E3598
@@ -51884,7 +51884,7 @@ _080E378E:
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E37E8
@@ -52181,7 +52181,7 @@ sub_80E3A08: @ 80E3A08
lsrs r6, r0, 24
movs r4, 0
movs r2, 0
- ldr r0, _080E3A50 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E3A50 @ =gBattleAnimBankAttacker
ldrb r3, [r0]
movs r5, 0x1
_080E3A18:
@@ -52214,7 +52214,7 @@ _080E3A34:
pop {r0}
bx r0
.align 2, 0
-_080E3A50: .4byte gBattleAnimPlayerMonIndex
+_080E3A50: .4byte gBattleAnimBankAttacker
_080E3A54: .4byte gBattleAnimArgs
thumb_func_end sub_80E3A08
@@ -52235,7 +52235,7 @@ sub_80E3A58: @ 80E3A58
ldrsh r0, [r4, r1]
cmp r0, 0
beq _080E3A94
- ldr r0, _080E3AC8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E3AC8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -52271,7 +52271,7 @@ _080E3A94:
.align 2, 0
_080E3AC0: .4byte sub_80E3AD0
_080E3AC4: .4byte gBattleAnimArgs
-_080E3AC8: .4byte gBattleAnimPlayerMonIndex
+_080E3AC8: .4byte gBattleAnimBankAttacker
_080E3ACC: .4byte gTasks
thumb_func_end sub_80E3A58
@@ -52343,7 +52343,7 @@ sub_80E3B4C: @ 80E3B4C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, _080E3B70 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E3B70 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
ldr r1, _080E3B74 @ =gBattleAnimArgs
@@ -52356,7 +52356,7 @@ sub_80E3B4C: @ 80E3B4C
pop {r0}
bx r0
.align 2, 0
-_080E3B70: .4byte gBattleAnimPlayerMonIndex
+_080E3B70: .4byte gBattleAnimBankAttacker
_080E3B74: .4byte gBattleAnimArgs
thumb_func_end sub_80E3B4C
@@ -52366,7 +52366,7 @@ sub_80E3B78: @ 80E3B78
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, _080E3B9C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E3B9C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
ldr r1, _080E3BA0 @ =gBattleAnimArgs
@@ -52379,7 +52379,7 @@ sub_80E3B78: @ 80E3B78
pop {r0}
bx r0
.align 2, 0
-_080E3B9C: .4byte gBattleAnimEnemyMonIndex
+_080E3B9C: .4byte gBattleAnimBankTarget
_080E3BA0: .4byte gBattleAnimArgs
thumb_func_end sub_80E3B78
@@ -52390,10 +52390,10 @@ sub_80E3BA4: @ 80E3BA4
lsrs r3, r0, 24
ldr r5, _080E3BD0 @ =gBattleAnimArgs
movs r4, 0
- ldr r0, _080E3BD4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E3BD4 @ =gBattleAnimBankAttacker
ldrb r2, [r0]
movs r0, 0x2
- ldr r1, _080E3BD8 @ =gBattleAnimEnemyMonIndex
+ ldr r1, _080E3BD8 @ =gBattleAnimBankTarget
eors r0, r2
ldrb r1, [r1]
cmp r0, r1
@@ -52408,8 +52408,8 @@ _080E3BC0:
bx r0
.align 2, 0
_080E3BD0: .4byte gBattleAnimArgs
-_080E3BD4: .4byte gBattleAnimPlayerMonIndex
-_080E3BD8: .4byte gBattleAnimEnemyMonIndex
+_080E3BD4: .4byte gBattleAnimBankAttacker
+_080E3BD8: .4byte gBattleAnimBankTarget
thumb_func_end sub_80E3BA4
thumb_func_start sub_80E3BDC
@@ -52420,13 +52420,13 @@ sub_80E3BDC: @ 80E3BDC
movs r4, 0
ldr r6, _080E3C3C @ =gSprites
_080E3BE6:
- ldr r0, _080E3C40 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E3C40 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
cmp r4, r0
beq _080E3C24
lsls r0, r4, 24
lsrs r0, 24
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080E3C24
@@ -52463,7 +52463,7 @@ _080E3C24:
bx r0
.align 2, 0
_080E3C3C: .4byte gSprites
-_080E3C40: .4byte gBattleAnimPlayerMonIndex
+_080E3C40: .4byte gBattleAnimBankAttacker
_080E3C44: .4byte gObjectBankIDs
_080E3C48: .4byte gBattleAnimArgs
thumb_func_end sub_80E3BDC
@@ -52505,7 +52505,7 @@ sub_80E3C4C: @ 80E3C4C
movs r0, 0x2
adds r6, r7, 0
eors r6, r0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3CAE
@@ -52513,7 +52513,7 @@ sub_80E3C4C: @ 80E3C4C
cmp r1, 0
beq _080E3CB2
adds r0, r6, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
bne _080E3CB2
@@ -52565,7 +52565,7 @@ _080E3CB2:
movs r1, 0x20
orrs r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3D22
@@ -52577,7 +52577,7 @@ _080E3CB2:
orrs r1, r0
strb r1, [r4]
_080E3D22:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E3D58
@@ -52651,7 +52651,7 @@ _080E3DC0:
ldr r1, [sp, 0x4]
ldr r0, [sp, 0x50]
bl LZDecompressVram
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E3DE6
@@ -52865,7 +52865,7 @@ _080E3F32:
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3F90
@@ -52986,14 +52986,14 @@ _080E4068: .4byte gBattleAnimArgs
_080E406C:
cmp r0, 0x1
bne _080E4078
- ldr r0, _080E4074 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E4074 @ =gBattleAnimBankAttacker
b _080E407E
.align 2, 0
-_080E4074: .4byte gBattleAnimPlayerMonIndex
+_080E4074: .4byte gBattleAnimBankAttacker
_080E4078:
cmp r0, 0x2
bne _080E4084
- ldr r0, _080E409C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E409C @ =gBattleAnimBankTarget
_080E407E:
ldrb r0, [r0]
adds r4, r0, 0
@@ -53003,14 +53003,14 @@ _080E4084:
movs r1, 0x2
ldrsh r0, [r0, r1]
lsls r5, r0, 5
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E40A8
ldr r0, _080E40A4 @ =0x02014800
b _080E40AA
.align 2, 0
-_080E409C: .4byte gBattleAnimEnemyMonIndex
+_080E409C: .4byte gBattleAnimBankTarget
_080E40A0: .4byte gBattleAnimArgs
_080E40A4: .4byte 0x02014800
_080E40A8:
@@ -53073,14 +53073,14 @@ _080E4110: .4byte gBattleAnimArgs
_080E4114:
cmp r0, 0x1
bne _080E4120
- ldr r0, _080E411C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E411C @ =gBattleAnimBankAttacker
b _080E4126
.align 2, 0
-_080E411C: .4byte gBattleAnimPlayerMonIndex
+_080E411C: .4byte gBattleAnimBankAttacker
_080E4120:
cmp r0, 0x2
bne _080E412C
- ldr r0, _080E4148 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E4148 @ =gBattleAnimBankTarget
_080E4126:
ldrb r0, [r0]
adds r4, r0, 0
@@ -53093,14 +53093,14 @@ _080E412C:
movs r1, 0x2
ldrsh r0, [r0, r1]
lsls r4, r0, 5
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E4158
ldr r0, _080E4154 @ =0x02014800
b _080E415A
.align 2, 0
-_080E4148: .4byte gBattleAnimEnemyMonIndex
+_080E4148: .4byte gBattleAnimBankTarget
_080E414C: .4byte gPlttBufferUnfaded
_080E4150: .4byte gBattleAnimArgs
_080E4154: .4byte 0x02014800
@@ -53160,14 +53160,14 @@ _080E41B8: .4byte gBattleAnimArgs
_080E41BC:
cmp r0, 0x1
bne _080E41C8
- ldr r0, _080E41C4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E41C4 @ =gBattleAnimBankAttacker
b _080E41CE
.align 2, 0
-_080E41C4: .4byte gBattleAnimPlayerMonIndex
+_080E41C4: .4byte gBattleAnimBankAttacker
_080E41C8:
cmp r0, 0x2
bne _080E41D4
- ldr r0, _080E41F4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E41F4 @ =gBattleAnimBankTarget
_080E41CE:
ldrb r0, [r0]
adds r4, r0, 0
@@ -53187,7 +53187,7 @@ _080E41D4:
pop {r0}
bx r0
.align 2, 0
-_080E41F4: .4byte gBattleAnimEnemyMonIndex
+_080E41F4: .4byte gBattleAnimBankTarget
_080E41F8: .4byte gPlttBufferUnfaded
_080E41FC: .4byte gPlttBufferFaded
thumb_func_end sub_80E4178
@@ -53197,7 +53197,7 @@ sub_80E4200: @ 80E4200
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -53226,11 +53226,11 @@ sub_80E4234: @ 80E4234
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, _080E4254 @ =gBattleAnimPlayerMonIndex
+ ldr r2, _080E4254 @ =gBattleAnimBankAttacker
ldr r1, _080E4258 @ =gBankTarget
ldrb r1, [r1]
strb r1, [r2]
- ldr r2, _080E425C @ =gBattleAnimEnemyMonIndex
+ ldr r2, _080E425C @ =gBattleAnimBankTarget
ldr r1, _080E4260 @ =gEffectBank
ldrb r1, [r1]
strb r1, [r2]
@@ -53238,9 +53238,9 @@ sub_80E4234: @ 80E4234
pop {r0}
bx r0
.align 2, 0
-_080E4254: .4byte gBattleAnimPlayerMonIndex
+_080E4254: .4byte gBattleAnimBankAttacker
_080E4258: .4byte gBankTarget
-_080E425C: .4byte gBattleAnimEnemyMonIndex
+_080E425C: .4byte gBattleAnimBankTarget
_080E4260: .4byte gEffectBank
thumb_func_end sub_80E4234
@@ -53249,11 +53249,11 @@ sub_80E4264: @ 80E4264
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _080E428C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E428C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
adds r4, r0, 0
- ldr r0, _080E4290 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _080E4290 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r4, 24
@@ -53264,8 +53264,8 @@ sub_80E4264: @ 80E4264
movs r0, 0x1
b _080E429C
.align 2, 0
-_080E428C: .4byte gBattleAnimPlayerMonIndex
-_080E4290: .4byte gBattleAnimEnemyMonIndex
+_080E428C: .4byte gBattleAnimBankAttacker
+_080E4290: .4byte gBattleAnimBankTarget
_080E4294: .4byte gBattleAnimArgs
_080E4298:
ldr r1, _080E42AC @ =gBattleAnimArgs
@@ -53286,7 +53286,7 @@ sub_80E42B0: @ 80E42B0
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, _080E42C8 @ =gBattleAnimEnemyMonIndex
+ ldr r2, _080E42C8 @ =gBattleAnimBankTarget
ldr r1, _080E42CC @ =gBankTarget
ldrb r1, [r1]
strb r1, [r2]
@@ -53294,7 +53294,7 @@ sub_80E42B0: @ 80E42B0
pop {r0}
bx r0
.align 2, 0
-_080E42C8: .4byte gBattleAnimEnemyMonIndex
+_080E42C8: .4byte gBattleAnimBankTarget
_080E42CC: .4byte gBankTarget
thumb_func_end sub_80E42B0
@@ -53303,11 +53303,11 @@ sub_80E42D0: @ 80E42D0
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, _080E42F0 @ =gBattleAnimPlayerMonIndex
+ ldr r2, _080E42F0 @ =gBattleAnimBankAttacker
ldr r1, _080E42F4 @ =gBankAttacker
ldrb r1, [r1]
strb r1, [r2]
- ldr r2, _080E42F8 @ =gBattleAnimEnemyMonIndex
+ ldr r2, _080E42F8 @ =gBattleAnimBankTarget
ldr r1, _080E42FC @ =gEffectBank
ldrb r1, [r1]
strb r1, [r2]
@@ -53315,9 +53315,9 @@ sub_80E42D0: @ 80E42D0
pop {r0}
bx r0
.align 2, 0
-_080E42F0: .4byte gBattleAnimPlayerMonIndex
+_080E42F0: .4byte gBattleAnimBankAttacker
_080E42F4: .4byte gBankAttacker
-_080E42F8: .4byte gBattleAnimEnemyMonIndex
+_080E42F8: .4byte gBattleAnimBankTarget
_080E42FC: .4byte gEffectBank
thumb_func_end sub_80E42D0
@@ -53326,7 +53326,7 @@ sub_80E4300: @ 80E4300
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E4318
@@ -53339,7 +53339,7 @@ _080E4318:
adds r3, r4
lsls r3, 3
adds r3, r0
- ldr r1, _080E4358 @ =gBattleAnimPlayerMonIndex
+ ldr r1, _080E4358 @ =gBattleAnimBankAttacker
ldrb r0, [r1]
lsls r0, 2
ldr r2, _080E435C @ =0x02017800
@@ -53367,7 +53367,7 @@ _080E434E:
bx r0
.align 2, 0
_080E4354: .4byte gTasks
-_080E4358: .4byte gBattleAnimPlayerMonIndex
+_080E4358: .4byte gBattleAnimBankAttacker
_080E435C: .4byte 0x02017800
_080E4360: .4byte sub_80E4368
_080E4364: .4byte gAnimVisualTaskCount
@@ -53385,7 +53385,7 @@ sub_80E4368: @ 80E4368
lsls r0, 5
cmp r1, r0
bne _080E43A8
- ldr r0, _080E43B4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _080E43B4 @ =gBattleAnimBankAttacker
ldrb r3, [r0]
lsls r3, 2
ldr r0, _080E43B8 @ =0x02017800
@@ -53412,7 +53412,7 @@ _080E43A8:
bx r0
.align 2, 0
_080E43B0: .4byte gBattleAnimArgs
-_080E43B4: .4byte gBattleAnimPlayerMonIndex
+_080E43B4: .4byte gBattleAnimBankAttacker
_080E43B8: .4byte 0x02017800
_080E43BC: .4byte gTasks
thumb_func_end sub_80E4368
diff --git a/asm/battle_anim_81258BC.s b/asm/battle_anim_81258BC.s
index 951c0e2fc..a42f7693e 100644
--- a/asm/battle_anim_81258BC.s
+++ b/asm/battle_anim_81258BC.s
@@ -377,7 +377,7 @@ sub_812B18C: @ 812B18C
bl sub_8076F98
lsls r0, 24
lsrs r6, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812B1CC
@@ -403,29 +403,29 @@ _0812B1CC:
adds r2, r0, 0
cmp r1, 0
bne _0812B1E8
- ldr r0, _0812B1E4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812B1E4 @ =gBattleAnimBankAttacker
ldrb r4, [r0]
b _0812B20E
.align 2, 0
_0812B1E0: .4byte gBattleAnimArgs
-_0812B1E4: .4byte gBattleAnimPlayerMonIndex
+_0812B1E4: .4byte gBattleAnimBankAttacker
_0812B1E8:
cmp r1, 0x1
bne _0812B1F8
- ldr r0, _0812B1F4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812B1F4 @ =gBattleAnimBankTarget
ldrb r4, [r0]
b _0812B20E
.align 2, 0
-_0812B1F4: .4byte gBattleAnimEnemyMonIndex
+_0812B1F4: .4byte gBattleAnimBankTarget
_0812B1F8:
cmp r1, 0x2
bne _0812B204
- ldr r0, _0812B200 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812B200 @ =gBattleAnimBankAttacker
b _0812B206
.align 2, 0
-_0812B200: .4byte gBattleAnimPlayerMonIndex
+_0812B200: .4byte gBattleAnimBankAttacker
_0812B204:
- ldr r0, _0812B230 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812B230 @ =gBattleAnimBankTarget
_0812B206:
ldrb r1, [r0]
movs r0, 0x2
@@ -440,7 +440,7 @@ _0812B20E:
bne _0812B234
_0812B21A:
adds r0, r4, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
bne _0812B234
@@ -448,7 +448,7 @@ _0812B21A:
bl DestroyAnimVisualTask
b _0812B2B0
.align 2, 0
-_0812B230: .4byte gBattleAnimEnemyMonIndex
+_0812B230: .4byte gBattleAnimBankTarget
_0812B234:
adds r0, r4, 0
bl GetBankSide
@@ -524,7 +524,7 @@ sub_812B2B8: @ 812B2B8
bl sub_8076F98
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812B2DC
@@ -534,7 +534,7 @@ sub_812B2B8: @ 812B2B8
_0812B2D8: .4byte 0x02019348
_0812B2DC:
ldr r1, _0812B304 @ =gUnknown_0202F7CA
- ldr r0, _0812B308 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812B308 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -554,7 +554,7 @@ _0812B2F6:
bx r0
.align 2, 0
_0812B304: .4byte gUnknown_0202F7CA
-_0812B308: .4byte gBattleAnimPlayerMonIndex
+_0812B308: .4byte gBattleAnimBankAttacker
thumb_func_end sub_812B2B8
thumb_func_start sub_812B30C
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s
index bae3d9bc2..2ff8bc1ca 100644
--- a/asm/battle_anim_812C144.s
+++ b/asm/battle_anim_812C144.s
@@ -90,7 +90,7 @@ sub_812C1D0: @ 812C1D0
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r6, _0812C21C @ =gBattleAnimEnemyMonIndex
+ ldr r6, _0812C21C @ =gBattleAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
bl sub_8077ABC
@@ -120,7 +120,7 @@ sub_812C1D0: @ 812C1D0
pop {r0}
bx r0
.align 2, 0
-_0812C21C: .4byte gBattleAnimEnemyMonIndex
+_0812C21C: .4byte gBattleAnimBankTarget
thumb_func_end sub_812C1D0
thumb_func_start sub_812C220
@@ -135,7 +135,7 @@ sub_812C220: @ 812C220
strh r0, [r4, 0x30]
ldr r1, _0812C25C @ =sub_812C268
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r1, _0812C260 @ =REG_BLDCNT
movs r2, 0xFD
lsls r2, 6
@@ -211,7 +211,7 @@ sub_812C2BC: @ 812C2BC
push {r4-r7,lr}
sub sp, 0x4
adds r5, r0, 0
- ldr r4, _0812C348 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _0812C348 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -241,7 +241,7 @@ sub_812C2BC: @ 812C2BC
lsls r1, 23
adds r0, r1
lsrs r4, r0, 16
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812C31A
@@ -267,13 +267,13 @@ _0812C31A:
str r0, [r5, 0x1C]
ldr r1, _0812C354 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_0812C348: .4byte gBattleAnimEnemyMonIndex
+_0812C348: .4byte gBattleAnimBankTarget
_0812C34C: .4byte gBattleAnimArgs
_0812C350: .4byte sub_8078B34
_0812C354: .4byte move_anim_8072740
@@ -797,7 +797,7 @@ sub_812C720: @ 812C720
adds r4, r0, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _0812C784 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812C784 @ =gBattleAnimBankTarget
ldrb r0, [r0]
mov r5, sp
adds r5, 0x2
@@ -805,7 +805,7 @@ sub_812C720: @ 812C720
mov r2, sp
adds r3, r5, 0
bl sub_807A3FC
- ldr r0, _0812C788 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812C788 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -839,8 +839,8 @@ _0812C754:
pop {r0}
bx r0
.align 2, 0
-_0812C784: .4byte gBattleAnimEnemyMonIndex
-_0812C788: .4byte gBattleAnimPlayerMonIndex
+_0812C784: .4byte gBattleAnimBankTarget
+_0812C788: .4byte gBattleAnimBankAttacker
_0812C78C: .4byte gBattleAnimArgs
_0812C790: .4byte 0x0000ffce
_0812C794: .4byte sub_812C798
@@ -862,7 +862,7 @@ sub_812C798: @ 812C798
str r0, [r4, 0x1C]
ldr r1, _0812C7C4 @ =sub_812C7C8
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
_0812C7BA:
pop {r4}
pop {r0}
@@ -929,7 +929,7 @@ sub_812C80C: @ 812C80C
str r0, [r4, 0x1C]
ldr r1, _0812C844 @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
pop {r4,r5}
pop {r0}
bx r0
@@ -954,11 +954,11 @@ sub_812C848: @ 812C848
ldrsh r1, [r5, r2]
adds r0, r4, 0
bl sub_807867C
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812C89C
- ldr r0, _0812C888 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812C888 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -968,7 +968,7 @@ sub_812C848: @ 812C848
b _0812C8A2
.align 2, 0
_0812C884: .4byte gBattleAnimArgs
-_0812C888: .4byte gBattleAnimPlayerMonIndex
+_0812C888: .4byte gBattleAnimBankAttacker
_0812C88C:
movs r1, 0x4
ldrsh r0, [r5, r1]
@@ -1058,7 +1058,7 @@ sub_812C924: @ 812C924
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, _0812C940 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812C940 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -1069,7 +1069,7 @@ sub_812C924: @ 812C924
movs r0, 0
b _0812C94C
.align 2, 0
-_0812C940: .4byte gBattleAnimEnemyMonIndex
+_0812C940: .4byte gBattleAnimBankTarget
_0812C944: .4byte gBattleAnimArgs
_0812C948:
ldr r1, _0812C95C @ =gBattleAnimArgs
@@ -1307,7 +1307,7 @@ sub_812CAFC: @ 812CAFC
ldrsh r0, [r6, r1]
cmp r0, 0
bne _0812CB28
- ldr r4, _0812CB74 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0812CB74 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -1358,7 +1358,7 @@ _0812CB28:
b _0812CB8A
.align 2, 0
_0812CB70: .4byte gBattleAnimArgs
-_0812CB74: .4byte gBattleAnimPlayerMonIndex
+_0812CB74: .4byte gBattleAnimBankAttacker
_0812CB78: .4byte 0x000003ff
_0812CB7C: .4byte 0xfffffc00
_0812CB80: .4byte 0x0000fff4
@@ -1473,7 +1473,7 @@ sub_812CC44: @ 812CC44
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812CC7A
@@ -1518,7 +1518,7 @@ sub_812CCA8: @ 812CCA8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812CCCA
@@ -1553,13 +1553,13 @@ sub_812CCE8: @ 812CCE8
ldrsh r0, [r6, r1]
cmp r0, 0
bne _0812CD04
- ldr r4, _0812CD00 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0812CD00 @ =gBattleAnimBankAttacker
b _0812CD06
.align 2, 0
_0812CCFC: .4byte gBattleAnimArgs
-_0812CD00: .4byte gBattleAnimPlayerMonIndex
+_0812CD00: .4byte gBattleAnimBankAttacker
_0812CD04:
- ldr r4, _0812CD58 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _0812CD58 @ =gBattleAnimBankTarget
_0812CD06:
ldrb r0, [r4]
movs r1, 0
@@ -1602,7 +1602,7 @@ _0812CD3E:
pop {r0}
bx r0
.align 2, 0
-_0812CD58: .4byte gBattleAnimEnemyMonIndex
+_0812CD58: .4byte gBattleAnimBankTarget
_0812CD5C: .4byte gBattleAnimArgs
_0812CD60: .4byte sub_812CD64
thumb_func_end sub_812CCE8
@@ -1675,14 +1675,14 @@ sub_812CDC8: @ 812CDC8
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0812CDF4
- ldr r4, _0812CDF0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0812CDF0 @ =gBattleAnimBankAttacker
b _0812CDF6
.align 2, 0
_0812CDE8: .4byte gTasks
_0812CDEC: .4byte gBattleAnimArgs
-_0812CDF0: .4byte gBattleAnimPlayerMonIndex
+_0812CDF0: .4byte gBattleAnimBankAttacker
_0812CDF4:
- ldr r4, _0812CE3C @ =gBattleAnimEnemyMonIndex
+ ldr r4, _0812CE3C @ =gBattleAnimBankTarget
_0812CDF6:
ldrb r0, [r4]
bl sub_8077FC0
@@ -1718,7 +1718,7 @@ _0812CE20:
ldr r0, _0812CE44 @ =gUnknown_030042C0
b _0812CE4A
.align 2, 0
-_0812CE3C: .4byte gBattleAnimEnemyMonIndex
+_0812CE3C: .4byte gBattleAnimBankTarget
_0812CE40: .4byte gBattleAnimArgs
_0812CE44: .4byte gUnknown_030042C0
_0812CE48:
@@ -1975,7 +1975,7 @@ sub_812D008: @ 812D008
movs r5, 0
strh r5, [r4, 0x8]
strh r5, [r4, 0xA]
- ldr r6, _0812D060 @ =gBattleAnimPlayerMonIndex
+ ldr r6, _0812D060 @ =gBattleAnimBankAttacker
ldrb r0, [r6]
movs r1, 0x2
bl sub_8077ABC
@@ -1994,7 +1994,7 @@ sub_812D008: @ 812D008
strh r0, [r4, 0x12]
strh r5, [r4, 0x14]
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -2005,7 +2005,7 @@ sub_812D008: @ 812D008
bx r0
.align 2, 0
_0812D05C: .4byte gTasks
-_0812D060: .4byte gBattleAnimPlayerMonIndex
+_0812D060: .4byte gBattleAnimBankAttacker
_0812D064: .4byte 0x0000ffec
_0812D068: .4byte sub_812D06C
thumb_func_end sub_812D008
@@ -2350,7 +2350,7 @@ _0812D2F0:
bne _0812D33C
ldr r1, _0812D344 @ =move_anim_8072740
adds r0, r5, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldrh r0, [r5, 0x24]
ldrh r2, [r5, 0x20]
adds r0, r2
@@ -2364,7 +2364,7 @@ _0812D2F0:
strh r1, [r5, 0x26]
movs r0, 0x14
strh r0, [r5, 0x2E]
- ldr r4, _0812D348 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _0812D348 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -2385,7 +2385,7 @@ _0812D33C:
bx r0
.align 2, 0
_0812D344: .4byte move_anim_8072740
-_0812D348: .4byte gBattleAnimEnemyMonIndex
+_0812D348: .4byte gBattleAnimBankTarget
_0812D34C: .4byte sub_8078B34
thumb_func_end sub_812D294
@@ -2410,7 +2410,7 @@ sub_812D350: @ 812D350
_0812D370: .4byte gTasks
_0812D374:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2442,7 +2442,7 @@ sub_812D3AC: @ 812D3AC
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r6, r0, 24
movs r1, 0x2E
@@ -2461,7 +2461,7 @@ _0812D3CC:
beq _0812D490
b _0812D4AE
_0812D3D6:
- ldr r4, _0812D408 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0812D408 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -2483,7 +2483,7 @@ _0812D3D6:
strh r0, [r5, 0x32]
b _0812D484
.align 2, 0
-_0812D408: .4byte gBattleAnimPlayerMonIndex
+_0812D408: .4byte gBattleAnimBankAttacker
_0812D40C:
ldrh r0, [r5, 0x30]
adds r0, 0x60
@@ -2575,7 +2575,7 @@ _0812D4AE:
sub_812D4B4: @ 812D4B4
push {r4,lr}
adds r4, r0, 0
- ldr r0, _0812D4CC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812D4CC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -2584,7 +2584,7 @@ sub_812D4B4: @ 812D4B4
ldr r0, _0812D4D0 @ =0x0000fff0
b _0812D4D8
.align 2, 0
-_0812D4CC: .4byte gBattleAnimPlayerMonIndex
+_0812D4CC: .4byte gBattleAnimBankAttacker
_0812D4D0: .4byte 0x0000fff0
_0812D4D4:
movs r0, 0x80
@@ -2609,7 +2609,7 @@ sub_812D4EC: @ 812D4EC
ldrh r0, [r4, 0x2E]
adds r0, 0x48
strh r0, [r4, 0x2E]
- ldr r0, _0812D50C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812D50C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -2620,7 +2620,7 @@ sub_812D4EC: @ 812D4EC
asrs r0, 20
b _0812D518
.align 2, 0
-_0812D50C: .4byte gBattleAnimPlayerMonIndex
+_0812D50C: .4byte gBattleAnimBankAttacker
_0812D510:
ldrh r0, [r4, 0x2E]
lsls r0, 16
@@ -2830,7 +2830,7 @@ sub_812D674: @ 812D674
cmp r0, 0
bne _0812D6B4
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2874,7 +2874,7 @@ sub_812D6CC: @ 812D6CC
cmp r0, 0
bne _0812D70C
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2920,7 +2920,7 @@ _0812D736:
movs r0, 0x90
lsls r0, 4
strh r0, [r4, 0x30]
- ldr r0, _0812D75C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812D75C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
bl sub_8077ABC
@@ -2932,7 +2932,7 @@ _0812D736:
strh r0, [r4, 0x2E]
b _0812D788
.align 2, 0
-_0812D75C: .4byte gBattleAnimPlayerMonIndex
+_0812D75C: .4byte gBattleAnimBankAttacker
_0812D760:
ldrh r2, [r4, 0x30]
lsls r1, r2, 16
@@ -2975,7 +2975,7 @@ sub_812D790: @ 812D790
cmp r0, 0
bne _0812D7D0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3044,7 +3044,7 @@ _0812D834:
ldr r1, _0812D850 @ =REG_MOSAIC
movs r0, 0
strh r0, [r1]
- ldr r0, _0812D854 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812D854 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -3055,7 +3055,7 @@ _0812D834:
b _0812D85E
.align 2, 0
_0812D850: .4byte REG_MOSAIC
-_0812D854: .4byte gBattleAnimPlayerMonIndex
+_0812D854: .4byte gBattleAnimBankAttacker
_0812D858: .4byte REG_BG1CNT
_0812D85C:
ldr r0, _0812D87C @ =REG_BG2CNT
@@ -3111,9 +3111,9 @@ _0812D8BC:
.align 2, 0
_0812D8C0: .4byte REG_MOSAIC
_0812D8C4:
- ldr r5, _0812D8F4 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _0812D8F4 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
- ldr r1, _0812D8F8 @ =gBattleAnimEnemyMonIndex
+ ldr r1, _0812D8F8 @ =gBattleAnimBankTarget
ldrb r1, [r1]
mov r2, r8
lsls r4, r2, 2
@@ -3125,7 +3125,7 @@ _0812D8C4:
ldrb r1, [r5]
mov r0, sp
bl sub_8078954
- bl IsContest
+ bl NotInBattle
lsls r0, 24
mov r9, r4
cmp r0, 0
@@ -3133,8 +3133,8 @@ _0812D8C4:
movs r1, 0
b _0812D906
.align 2, 0
-_0812D8F4: .4byte gBattleAnimPlayerMonIndex
-_0812D8F8: .4byte gBattleAnimEnemyMonIndex
+_0812D8F4: .4byte gBattleAnimBankAttacker
+_0812D8F8: .4byte gBattleAnimBankTarget
_0812D8FC:
ldrb r0, [r5]
bl GetBankIdentity
@@ -3145,7 +3145,7 @@ _0812D906:
lsls r1, 2
adds r1, r0
ldr r2, _0812D9D0 @ =gBattleMonForms
- ldr r0, _0812D9D4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812D9D4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r2
ldrb r0, [r0]
@@ -3159,7 +3159,7 @@ _0812D906:
ldr r1, _0812D9DC @ =0x84000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812DA20
@@ -3229,7 +3229,7 @@ _0812D9A2:
beq _0812D9F0
ldr r3, _0812D9E4 @ =gSprites
ldr r4, _0812D9E8 @ =gObjectBankIDs
- ldr r2, _0812D9D4 @ =gBattleAnimPlayerMonIndex
+ ldr r2, _0812D9D4 @ =gBattleAnimBankAttacker
ldrb r0, [r2]
adds r0, r4
ldrb r1, [r0]
@@ -3244,7 +3244,7 @@ _0812D9A2:
.align 2, 0
_0812D9CC: .4byte gUnknown_081FAF4C
_0812D9D0: .4byte gBattleMonForms
-_0812D9D4: .4byte gBattleAnimPlayerMonIndex
+_0812D9D4: .4byte gBattleAnimBankAttacker
_0812D9D8: .4byte 0x040000d4
_0812D9DC: .4byte 0x84000200
_0812D9E0: .4byte 0x02019348
@@ -3254,7 +3254,7 @@ _0812D9EC: .4byte gSpriteAffineAnimTable_81E7C18
_0812D9F0:
ldr r3, _0812DA34 @ =gSprites
ldr r4, _0812DA38 @ =gObjectBankIDs
- ldr r2, _0812DA3C @ =gBattleAnimPlayerMonIndex
+ ldr r2, _0812DA3C @ =gBattleAnimBankAttacker
ldrb r0, [r2]
adds r0, r4
ldrb r1, [r0]
@@ -3290,7 +3290,7 @@ _0812DA2A:
.align 2, 0
_0812DA34: .4byte gSprites
_0812DA38: .4byte gObjectBankIDs
-_0812DA3C: .4byte gBattleAnimPlayerMonIndex
+_0812DA3C: .4byte gBattleAnimBankAttacker
_0812DA40: .4byte gSpriteAffineAnimTable_81E7BEC
_0812DA44: .4byte gTasks
_0812DA48:
@@ -3329,7 +3329,7 @@ _0812DA84:
ldr r1, _0812DAA0 @ =REG_MOSAIC
movs r0, 0
strh r0, [r1]
- ldr r0, _0812DAA4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812DAA4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -3340,7 +3340,7 @@ _0812DA84:
b _0812DAAE
.align 2, 0
_0812DAA0: .4byte REG_MOSAIC
-_0812DAA4: .4byte gBattleAnimPlayerMonIndex
+_0812DAA4: .4byte gBattleAnimBankAttacker
_0812DAA8: .4byte REG_BG1CNT
_0812DAAC:
ldr r2, _0812DB08 @ =REG_BG2CNT
@@ -3350,11 +3350,11 @@ _0812DAAE:
negs r0, r0
ands r0, r1
strb r0, [r2]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812DAF4
- ldr r4, _0812DB0C @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0812DB0C @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -3390,7 +3390,7 @@ _0812DAFA:
bx r0
.align 2, 0
_0812DB08: .4byte REG_BG2CNT
-_0812DB0C: .4byte gBattleAnimPlayerMonIndex
+_0812DB0C: .4byte gBattleAnimBankAttacker
_0812DB10: .4byte gTasks
_0812DB14: .4byte 0x02017800
thumb_func_end sub_812D7E8
@@ -3403,7 +3403,7 @@ c3_80DFBE4: @ 812DB18
ldr r4, _0812DB48 @ =gBattleAnimArgs
ldr r3, _0812DB4C @ =gSprites
ldr r2, _0812DB50 @ =gObjectBankIDs
- ldr r1, _0812DB54 @ =gBattleAnimPlayerMonIndex
+ ldr r1, _0812DB54 @ =gBattleAnimBankAttacker
ldrb r1, [r1]
adds r1, r2
ldrb r2, [r1]
@@ -3424,7 +3424,7 @@ c3_80DFBE4: @ 812DB18
_0812DB48: .4byte gBattleAnimArgs
_0812DB4C: .4byte gSprites
_0812DB50: .4byte gObjectBankIDs
-_0812DB54: .4byte gBattleAnimPlayerMonIndex
+_0812DB54: .4byte gBattleAnimBankAttacker
thumb_func_end c3_80DFBE4
thumb_func_start sub_812DB58
@@ -3433,9 +3433,9 @@ sub_812DB58: @ 812DB58
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, _0812DB7C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812DB7C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
- ldr r1, _0812DB80 @ =gBattleAnimEnemyMonIndex
+ ldr r1, _0812DB80 @ =gBattleAnimBankTarget
ldrb r1, [r1]
movs r2, 0x1
bl sub_8031FC4
@@ -3445,8 +3445,8 @@ sub_812DB58: @ 812DB58
pop {r0}
bx r0
.align 2, 0
-_0812DB7C: .4byte gBattleAnimPlayerMonIndex
-_0812DB80: .4byte gBattleAnimEnemyMonIndex
+_0812DB7C: .4byte gBattleAnimBankAttacker
+_0812DB80: .4byte gBattleAnimBankTarget
thumb_func_end sub_812DB58
thumb_func_start sub_812DB84
@@ -3507,7 +3507,7 @@ _0812DBD0:
movs r1, 0x1
orrs r0, r1
strb r0, [r4]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812DC12
@@ -3542,7 +3542,7 @@ _0812DC12:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812DC9C
@@ -3572,7 +3572,7 @@ _0812DC90: .4byte gUnknown_030042C0
_0812DC94: .4byte 0x0000ffc8
_0812DC98: .4byte gUnknown_030041B4
_0812DC9C:
- ldr r0, _0812DCB4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812DCB4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -3583,7 +3583,7 @@ _0812DC9C:
adds r0, r4, 0
b _0812DCC6
.align 2, 0
-_0812DCB4: .4byte gBattleAnimPlayerMonIndex
+_0812DCB4: .4byte gBattleAnimBankAttacker
_0812DCB8: .4byte gUnknown_030042C0
_0812DCBC: .4byte 0x0000ff79
_0812DCC0:
@@ -3786,7 +3786,7 @@ _0812DE0C:
ldr r1, _0812DE98 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812DE5A
@@ -3856,7 +3856,7 @@ sub_812DEAC: @ 812DEAC
lsls r0, 16
lsrs r5, r0, 16
_0812DED6:
- ldr r4, _0812DFD0 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0812DFD0 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8077ABC
@@ -3975,7 +3975,7 @@ _0812DED6:
pop {r0}
bx r0
.align 2, 0
-_0812DFD0: .4byte gBattleAnimPlayerMonIndex
+_0812DFD0: .4byte gBattleAnimBankAttacker
_0812DFD4: .4byte gBattleAnimArgs
_0812DFD8: .4byte gBattleAnimSpriteTemplate_84025EC
_0812DFDC: .4byte gSprites
@@ -4226,7 +4226,7 @@ _0812E194:
movs r1, 0x1
orrs r0, r1
strb r0, [r4]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812E1D4
@@ -4261,7 +4261,7 @@ _0812E1D4:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812E260
@@ -4292,7 +4292,7 @@ _0812E254: .4byte gUnknown_030042C0
_0812E258: .4byte 0x0000ffc8
_0812E25C: .4byte gUnknown_030041B4
_0812E260:
- ldr r0, _0812E2A0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812E2A0 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankIdentity
lsls r0, 24
@@ -4326,7 +4326,7 @@ _0812E296:
ldr r2, _0812E2B0 @ =0x0000ffec
b _0812E2C8
.align 2, 0
-_0812E2A0: .4byte gBattleAnimEnemyMonIndex
+_0812E2A0: .4byte gBattleAnimBankTarget
_0812E2A4: .4byte gUnknown_030042C0
_0812E2A8: .4byte 0x0000ff65
_0812E2AC: .4byte 0x0000ff8d
@@ -4377,7 +4377,7 @@ _0812E300:
adds r5, r0, r1
movs r0, 0
strh r0, [r5, 0xE]
- ldr r0, _0812E338 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812E338 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -4397,7 +4397,7 @@ _0812E300:
b _0812E356
.align 2, 0
_0812E334: .4byte gTasks
-_0812E338: .4byte gBattleAnimEnemyMonIndex
+_0812E338: .4byte gBattleAnimBankTarget
_0812E33C: .4byte gUnknown_030042C0
_0812E340: .4byte gUnknown_08402604
_0812E344:
@@ -4529,7 +4529,7 @@ _0812E420:
ldr r0, _0812E484 @ =0x85000200
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812E450
@@ -4588,7 +4588,7 @@ sub_812E498: @ 812E498
cmp r0, 0
bne _0812E4D8
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4643,7 +4643,7 @@ _0812E50E:
ldrh r0, [r4, 0x32]
adds r0, 0x80
strh r0, [r4, 0x32]
- ldr r0, _0812E53C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812E53C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -4655,7 +4655,7 @@ _0812E50E:
negs r0, r0
b _0812E546
.align 2, 0
-_0812E53C: .4byte gBattleAnimPlayerMonIndex
+_0812E53C: .4byte gBattleAnimBankAttacker
_0812E540:
ldrh r0, [r4, 0x30]
lsls r0, 16
@@ -4740,7 +4740,7 @@ _0812E5AC:
subs r0, 0x1
strh r0, [r4, 0x14]
ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -4748,12 +4748,12 @@ _0812E5AC:
ldrsh r0, [r5, r1]
cmp r0, 0
bne _0812E5F8
- ldr r0, _0812E5F4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812E5F4 @ =gBattleAnimBankAttacker
b _0812E5FA
.align 2, 0
-_0812E5F4: .4byte gBattleAnimPlayerMonIndex
+_0812E5F4: .4byte gBattleAnimBankAttacker
_0812E5F8:
- ldr r0, _0812E630 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812E630 @ =gBattleAnimBankTarget
_0812E5FA:
ldrb r0, [r0]
bl GetBankSide
@@ -4782,7 +4782,7 @@ _0812E628:
pop {r0}
bx r0
.align 2, 0
-_0812E630: .4byte gBattleAnimEnemyMonIndex
+_0812E630: .4byte gBattleAnimBankTarget
_0812E634: .4byte sub_812E638
thumb_func_end sub_812E568
@@ -4971,7 +4971,7 @@ _0812E798:
sub_812E7A0: @ 812E7A0
push {r4,lr}
adds r4, r0, 0
- ldr r0, _0812E7BC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812E7BC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -4983,7 +4983,7 @@ sub_812E7A0: @ 812E7A0
ldrh r0, [r1]
b _0812E7CE
.align 2, 0
-_0812E7BC: .4byte gBattleAnimPlayerMonIndex
+_0812E7BC: .4byte gBattleAnimBankAttacker
_0812E7C0: .4byte gBattleAnimArgs
_0812E7C4:
movs r0, 0xF0
@@ -5015,7 +5015,7 @@ sub_812E7F0: @ 812E7F0
ldrh r0, [r4, 0x2E]
adds r0, 0x3
strh r0, [r4, 0x2E]
- ldr r0, _0812E830 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812E830 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -5041,7 +5041,7 @@ _0812E822:
bl Sin
b _0812E858
.align 2, 0
-_0812E830: .4byte gBattleAnimPlayerMonIndex
+_0812E830: .4byte gBattleAnimBankAttacker
_0812E834:
ldrh r1, [r4, 0x20]
subs r1, 0x5
@@ -5091,7 +5091,7 @@ sub_812E860: @ 812E860
strh r0, [r4, 0x24]
ldr r0, _0812E8AC @ =gBattleAnimArgs
ldrb r0, [r0]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -5330,7 +5330,7 @@ sub_812EA4C: @ 812EA4C
ldrsh r0, [r6, r2]
cmp r0, 0
bne _0812EA80
- ldr r4, _0812EAA8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0812EAA8 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -5364,7 +5364,7 @@ _0812EA80:
b _0812EB0A
.align 2, 0
_0812EAA4: .4byte gBattleAnimArgs
-_0812EAA8: .4byte gBattleAnimPlayerMonIndex
+_0812EAA8: .4byte gBattleAnimBankAttacker
_0812EAAC:
ldrh r1, [r5, 0x30]
lsls r0, r1, 16
@@ -5441,20 +5441,20 @@ sub_812EB10: @ 812EB10
mov r8, r0
cmp r1, 0
bne _0812EB4C
- ldr r0, _0812EB48 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812EB48 @ =gBattleAnimBankAttacker
b _0812EB4E
.align 2, 0
_0812EB40: .4byte gTasks
_0812EB44: .4byte gBattleAnimArgs
-_0812EB48: .4byte gBattleAnimPlayerMonIndex
+_0812EB48: .4byte gBattleAnimBankAttacker
_0812EB4C:
- ldr r0, _0812EB88 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812EB88 @ =gBattleAnimBankTarget
_0812EB4E:
ldrb r0, [r0]
strh r0, [r2, 0x1E]
mov r1, r8
ldrb r0, [r1]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r5, r0, 24
ldr r1, _0812EB8C @ =gTasks
@@ -5478,7 +5478,7 @@ _0812EB4E:
lsls r2, r5, 4
b _0812EBF8
.align 2, 0
-_0812EB88: .4byte gBattleAnimEnemyMonIndex
+_0812EB88: .4byte gBattleAnimBankTarget
_0812EB8C: .4byte gTasks
_0812EB90:
cmp r0, 0x2
@@ -5513,7 +5513,7 @@ _0812EBC2:
bl obj_id_set_rotscale
adds r0, r5, 0
bl sub_8079A64
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812EBE8
@@ -5893,7 +5893,7 @@ _0812EEA0: .4byte 0x00003f3f
sub_812EEA4: @ 812EEA4
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _0812EEE0 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _0812EEE0 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl sub_8077ABC
@@ -5919,7 +5919,7 @@ sub_812EEA4: @ 812EEA4
pop {r0}
bx r0
.align 2, 0
-_0812EEE0: .4byte gBattleAnimPlayerMonIndex
+_0812EEE0: .4byte gBattleAnimBankAttacker
_0812EEE4: .4byte gBattleAnimArgs
_0812EEE8: .4byte sub_812EEEC
thumb_func_end sub_812EEA4
@@ -5954,15 +5954,15 @@ sub_812EEEC: @ 812EEEC
cmp r0, 0xC3
ble _0812EF38
_0812EF26:
- ldr r0, _0812EF34 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812EF34 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079E90
subs r0, 0x1
b _0812EF42
.align 2, 0
-_0812EF34: .4byte gBattleAnimPlayerMonIndex
+_0812EF34: .4byte gBattleAnimBankAttacker
_0812EF38:
- ldr r0, _0812EF84 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812EF84 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079E90
adds r0, 0x1
@@ -6000,7 +6000,7 @@ _0812EF42:
strh r0, [r4, 0x38]
b _0812EFB8
.align 2, 0
-_0812EF84: .4byte gBattleAnimPlayerMonIndex
+_0812EF84: .4byte gBattleAnimBankAttacker
_0812EF88:
cmp r2, 0x1
bne _0812EFB8
@@ -6046,8 +6046,8 @@ sub_812EFC8: @ 812EFC8
lsrs r0, 24
str r0, [sp, 0x10]
movs r0, 0
- bl obj_id_for_side_relative_to_move
- bl IsContest
+ bl GetAnimBankSpriteId
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812F004
@@ -6064,7 +6064,7 @@ sub_812EFC8: @ 812EFC8
.align 2, 0
_0812F000: .4byte 0x02019348
_0812F004:
- ldr r0, _0812F070 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812F070 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -6073,7 +6073,7 @@ _0812F004:
movs r0, 0
str r0, [sp, 0x14]
ldr r6, _0812F074 @ =gBattlePartyID
- ldr r4, _0812F078 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _0812F078 @ =gBattleAnimBankTarget
ldrb r0, [r4]
lsls r0, 1
adds r0, r6
@@ -6114,9 +6114,9 @@ _0812F004:
adds r0, r7
b _0812F092
.align 2, 0
-_0812F070: .4byte gBattleAnimPlayerMonIndex
+_0812F070: .4byte gBattleAnimBankAttacker
_0812F074: .4byte gBattlePartyID
-_0812F078: .4byte gBattleAnimEnemyMonIndex
+_0812F078: .4byte gBattleAnimBankTarget
_0812F07C: .4byte gPlayerParty
_0812F080: .4byte 0x02017800
_0812F084:
@@ -6145,7 +6145,7 @@ _0812F0AC:
movs r2, 0x1
str r2, [sp, 0x14]
ldr r6, _0812F10C @ =gBattlePartyID
- ldr r4, _0812F110 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _0812F110 @ =gBattleAnimBankTarget
ldrb r0, [r4]
lsls r0, 1
adds r0, r6
@@ -6188,7 +6188,7 @@ _0812F0AC:
b _0812F12C
.align 2, 0
_0812F10C: .4byte gBattlePartyID
-_0812F110: .4byte gBattleAnimEnemyMonIndex
+_0812F110: .4byte gBattleAnimBankTarget
_0812F114: .4byte gEnemyParty
_0812F118: .4byte 0x02017800
_0812F11C: .4byte gPlayerParty
@@ -6212,12 +6212,12 @@ _0812F13A:
_0812F13C:
mov r10, r3
_0812F13E:
- ldr r0, _0812F21C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812F21C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079ED4
lsls r0, 24
lsrs r7, r0, 24
- ldr r5, _0812F21C @ =gBattleAnimPlayerMonIndex
+ ldr r5, _0812F21C @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
bl sub_8077ABC
@@ -6318,7 +6318,7 @@ _0812F13E:
bx r0
.align 2, 0
_0812F218: .4byte 0x0000ffec
-_0812F21C: .4byte gBattleAnimPlayerMonIndex
+_0812F21C: .4byte gBattleAnimBankAttacker
_0812F220: .4byte gSprites
_0812F224: .4byte 0x00007fff
_0812F228: .4byte REG_BLDCNT
@@ -6455,14 +6455,14 @@ sub_812F314: @ 812F314
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0812F340
- ldr r0, _0812F33C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812F33C @ =gBattleAnimBankAttacker
b _0812F342
.align 2, 0
_0812F334: .4byte gTasks
_0812F338: .4byte gBattleAnimArgs
-_0812F33C: .4byte gBattleAnimPlayerMonIndex
+_0812F33C: .4byte gBattleAnimBankAttacker
_0812F340:
- ldr r0, _0812F3C0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812F3C0 @ =gBattleAnimBankTarget
_0812F342:
ldrb r5, [r0]
movs r6, 0
@@ -6504,7 +6504,7 @@ _0812F388:
strh r0, [r4, 0x24]
ldr r0, _0812F3C4 @ =gBattleAnimArgs
ldrb r0, [r0]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -6525,7 +6525,7 @@ _0812F388:
ldr r0, _0812F3D8 @ =gUnknown_030041B4
b _0812F3EE
.align 2, 0
-_0812F3C0: .4byte gBattleAnimEnemyMonIndex
+_0812F3C0: .4byte gBattleAnimBankTarget
_0812F3C4: .4byte gBattleAnimArgs
_0812F3C8: .4byte REG_BG1HOFS
_0812F3CC: .4byte REG_BLDCNT
@@ -6975,7 +6975,7 @@ sub_812F724: @ 812F724
strh r0, [r4, 0x8]
ldr r0, _0812F760 @ =gBattleAnimArgs
ldrb r0, [r0]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7250,7 +7250,7 @@ sub_812F948: @ 812F948
ldrb r1, [r6]
adds r0, r5, 0
bl StartSpriteAffineAnim
- ldr r0, _0812F9A4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812F9A4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -7260,7 +7260,7 @@ sub_812F948: @ 812F948
negs r0, r0
strh r0, [r6, 0x2]
_0812F96E:
- ldr r4, _0812F9A8 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0812F9A8 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -7284,8 +7284,8 @@ _0812F96E:
bx r0
.align 2, 0
_0812F9A0: .4byte gBattleAnimArgs
-_0812F9A4: .4byte gBattleAnimEnemyMonIndex
-_0812F9A8: .4byte gBattleAnimPlayerMonIndex
+_0812F9A4: .4byte gBattleAnimBankTarget
+_0812F9A8: .4byte gBattleAnimBankAttacker
_0812F9AC: .4byte sub_80DA48C
thumb_func_end sub_812F948
@@ -7674,7 +7674,7 @@ sub_812FC68: @ 812FC68
mov r1, r8
adds r4, r0, r1
ldr r1, _0812FCCC @ =gObjectBankIDs
- ldr r2, _0812FCD0 @ =gBattleAnimPlayerMonIndex
+ ldr r2, _0812FCD0 @ =gBattleAnimBankAttacker
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
@@ -7711,7 +7711,7 @@ _0812FCAC:
.align 2, 0
_0812FCC8: .4byte gTasks
_0812FCCC: .4byte gObjectBankIDs
-_0812FCD0: .4byte gBattleAnimPlayerMonIndex
+_0812FCD0: .4byte gBattleAnimBankAttacker
_0812FCD4: .4byte gBattleAnimArgs
_0812FCD8: .4byte 0xffff8000
_0812FCDC:
@@ -7822,14 +7822,14 @@ _0812FD9C:
ldrsh r0, [r4, r1]
cmp r0, 0
bne _0812FDC0
- ldr r0, _0812FDBC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0812FDBC @ =gBattleAnimBankAttacker
b _0812FDC2
.align 2, 0
_0812FDB4: .4byte gTasks
_0812FDB8: .4byte gBattleAnimArgs
-_0812FDBC: .4byte gBattleAnimPlayerMonIndex
+_0812FDBC: .4byte gBattleAnimBankAttacker
_0812FDC0:
- ldr r0, _0812FE10 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0812FE10 @ =gBattleAnimBankTarget
_0812FDC2:
ldrb r4, [r0]
adds r0, r4, 0
@@ -7851,7 +7851,7 @@ _0812FDC2:
strh r0, [r5, 0x14]
ldr r0, _0812FE14 @ =gBattleAnimArgs
ldrb r0, [r0]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7865,7 +7865,7 @@ _0812FDC2:
pop {r0}
bx r0
.align 2, 0
-_0812FE10: .4byte gBattleAnimEnemyMonIndex
+_0812FE10: .4byte gBattleAnimBankTarget
_0812FE14: .4byte gBattleAnimArgs
_0812FE18: .4byte gUnknown_084028AC
_0812FE1C: .4byte sub_812FE20
@@ -8124,7 +8124,7 @@ sub_812FFE4: @ 812FFE4
ldrh r0, [r1, 0x2]
strh r0, [r4, 0xA]
ldrb r0, [r1]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, _08130034 @ =gSprites
@@ -8215,7 +8215,7 @@ sub_81300A4: @ 81300A4
lsrs r0, 24
movs r2, 0xD0
lsls r2, 1
- ldr r1, _081300E0 @ =gBattleAnimPlayerMonIndex
+ ldr r1, _081300E0 @ =gBattleAnimBankAttacker
ldrb r3, [r1]
ldr r1, _081300E4 @ =gBattleAnimArgs
ldrb r1, [r1]
@@ -8238,7 +8238,7 @@ sub_81300A4: @ 81300A4
pop {r0}
bx r0
.align 2, 0
-_081300E0: .4byte gBattleAnimPlayerMonIndex
+_081300E0: .4byte gBattleAnimBankAttacker
_081300E4: .4byte gBattleAnimArgs
_081300E8: .4byte gUnknown_08D2E014
_081300EC: .4byte gUnknown_08D2E170
@@ -8249,7 +8249,7 @@ _081300F0: .4byte gUnknown_08D2E150
sub_81300F4: @ 81300F4
push {r4-r6,lr}
adds r5, r0, 0
- ldr r6, _0813014C @ =gBattleAnimPlayerMonIndex
+ ldr r6, _0813014C @ =gBattleAnimBankAttacker
ldrb r0, [r6]
bl GetBankSide
lsls r0, 24
@@ -8289,7 +8289,7 @@ _08130110:
strh r0, [r5, 0x30]
b _08130180
.align 2, 0
-_0813014C: .4byte gBattleAnimPlayerMonIndex
+_0813014C: .4byte gBattleAnimBankAttacker
_08130150: .4byte gBattleAnimArgs
_08130154: .4byte 0x0000fd80
_08130158:
@@ -8314,7 +8314,7 @@ _08130172:
lsls r0, 2
strh r0, [r5, 0x2E]
_08130180:
- ldr r0, _081301AC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _081301AC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -8336,7 +8336,7 @@ _081301A0:
pop {r0}
bx r0
.align 2, 0
-_081301AC: .4byte gBattleAnimPlayerMonIndex
+_081301AC: .4byte gBattleAnimBankAttacker
_081301B0: .4byte sub_81301B4
thumb_func_end sub_81300F4
@@ -8382,7 +8382,7 @@ sub_81301EC: @ 81301EC
lsls r1, 3
ldr r0, _08130218 @ =gTasks
adds r6, r1, r0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -8403,7 +8403,7 @@ _0813021C:
strh r0, [r6, 0x14]
strh r1, [r6, 0x16]
_08130226:
- ldr r5, _0813025C @ =gBattleAnimPlayerMonIndex
+ ldr r5, _0813025C @ =gBattleAnimBankAttacker
ldrb r0, [r5]
bl GetBankSide
lsls r0, 24
@@ -8428,7 +8428,7 @@ _08130254:
adds r0, r4, r0
b _08130284
.align 2, 0
-_0813025C: .4byte gBattleAnimPlayerMonIndex
+_0813025C: .4byte gBattleAnimBankAttacker
_08130260:
ldrb r0, [r5]
movs r1, 0x2
@@ -8449,7 +8449,7 @@ _08130280:
subs r0, r4, r0
_08130284:
strh r0, [r6, 0x1E]
- ldr r5, _081302D8 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _081302D8 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x3
bl sub_8077ABC
@@ -8468,7 +8468,7 @@ _081302A8:
asrs r0, 2
subs r0, r4, r0
strh r0, [r6, 0x20]
- ldr r4, _081302DC @ =gBattleAnimEnemyMonIndex
+ ldr r4, _081302DC @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -8487,8 +8487,8 @@ _081302A8:
pop {r0}
bx r0
.align 2, 0
-_081302D8: .4byte gBattleAnimPlayerMonIndex
-_081302DC: .4byte gBattleAnimEnemyMonIndex
+_081302D8: .4byte gBattleAnimBankAttacker
+_081302DC: .4byte gBattleAnimBankTarget
_081302E0: .4byte sub_81302E4
thumb_func_end sub_81301EC
@@ -8810,7 +8810,7 @@ sub_813051C: @ 813051C
strh r0, [r4, 0x2E]
ldr r1, _0813054C @ =move_anim_8072740
adds r0, r4, 0
- bl oamt_set_x3A_32
+ bl StoreSpriteCallbackInData6
ldr r0, _08130550 @ =sub_8078CC0
str r0, [r4, 0x1C]
pop {r4}
@@ -8837,7 +8837,7 @@ sub_8130554: @ 8130554
lsls r0, 3
ldr r1, _08130674 @ =gTasks
adds r7, r0, r1
- ldr r0, _08130678 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08130678 @ =gBattleAnimBankAttacker
mov r10, r0
ldrb r0, [r0]
movs r1, 0x2
@@ -8852,7 +8852,7 @@ sub_8130554: @ 8130554
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x20]
- ldr r0, _0813067C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0813067C @ =gBattleAnimBankTarget
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
@@ -8962,8 +8962,8 @@ _0813066E:
b _08130696
.align 2, 0
_08130674: .4byte gTasks
-_08130678: .4byte gBattleAnimPlayerMonIndex
-_0813067C: .4byte gBattleAnimEnemyMonIndex
+_08130678: .4byte gBattleAnimBankAttacker
+_0813067C: .4byte gBattleAnimBankTarget
_08130680: .4byte gSpriteTemplate_84029AC
_08130684: .4byte gSprites
_08130688: .4byte 0x0000ffe0
@@ -9129,13 +9129,13 @@ sub_81307B0: @ 81307B0
adds r6, r0, 0
cmp r1, 0
bne _081307CC
- ldr r0, _081307C8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _081307C8 @ =gBattleAnimBankAttacker
b _081307CE
.align 2, 0
_081307C4: .4byte gBattleAnimArgs
-_081307C8: .4byte gBattleAnimPlayerMonIndex
+_081307C8: .4byte gBattleAnimBankAttacker
_081307CC:
- ldr r0, _08130834 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _08130834 @ =gBattleAnimBankTarget
_081307CE:
ldrb r5, [r0]
ldrh r2, [r4, 0x4]
@@ -9188,7 +9188,7 @@ _081307FC:
subs r0, 0x8
b _0813084A
.align 2, 0
-_08130834: .4byte gBattleAnimEnemyMonIndex
+_08130834: .4byte gBattleAnimBankTarget
_08130838: .4byte 0x000003ff
_0813083C: .4byte 0xfffffc00
_08130840:
@@ -9337,7 +9337,7 @@ _08130934:
ldrh r0, [r2, 0x2]
strh r0, [r4, 0x8]
ldrb r0, [r2]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -9461,13 +9461,13 @@ sub_8130A2C: @ 8130A2C
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08130A48
- ldr r4, _08130A44 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _08130A44 @ =gBattleAnimBankAttacker
b _08130A4A
.align 2, 0
_08130A40: .4byte gBattleAnimArgs
-_08130A44: .4byte gBattleAnimPlayerMonIndex
+_08130A44: .4byte gBattleAnimBankAttacker
_08130A48:
- ldr r4, _08130A88 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _08130A88 @ =gBattleAnimBankTarget
_08130A4A:
ldrb r0, [r4]
movs r1, 0x2
@@ -9500,7 +9500,7 @@ _08130A6E:
pop {r0}
bx r0
.align 2, 0
-_08130A88: .4byte gBattleAnimEnemyMonIndex
+_08130A88: .4byte gBattleAnimBankTarget
_08130A8C: .4byte gBattleAnimArgs
_08130A90: .4byte sub_8130A94
thumb_func_end sub_8130A2C
@@ -9859,11 +9859,11 @@ sub_8130D20: @ 8130D20
ldr r0, _08130D7C @ =gTasks
adds r6, r1, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x26]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _08130DA8
@@ -9872,7 +9872,7 @@ sub_8130D20: @ 8130D20
lsrs r7, r0, 24
cmp r7, 0x1
bne _08130D8C
- ldr r5, _08130D80 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _08130D80 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
bl sub_8077ABC
@@ -9892,14 +9892,14 @@ sub_8130D20: @ 8130D20
b _08130DAC
.align 2, 0
_08130D7C: .4byte gTasks
-_08130D80: .4byte gBattleAnimPlayerMonIndex
+_08130D80: .4byte gBattleAnimBankAttacker
_08130D84:
ldr r0, _08130D88 @ =0x0000ffff
b _08130DAA
.align 2, 0
_08130D88: .4byte 0x0000ffff
_08130D8C:
- ldr r0, _08130DA0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08130DA0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -9908,7 +9908,7 @@ _08130D8C:
ldr r0, _08130DA4 @ =0x0000ffff
b _08130DAA
.align 2, 0
-_08130DA0: .4byte gBattleAnimPlayerMonIndex
+_08130DA0: .4byte gBattleAnimBankAttacker
_08130DA4: .4byte 0x0000ffff
_08130DA8:
movs r0, 0x1
@@ -10153,13 +10153,13 @@ sub_8130F5C: @ 8130F5C
adds r0, r4, 0
movs r1, 0x1
bl sub_80787B0
- ldr r0, _08130F7C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08130F7C @ =gBattleAnimBankAttacker
b _08130F82
.align 2, 0
_08130F78: .4byte gBattleAnimArgs
-_08130F7C: .4byte gBattleAnimPlayerMonIndex
+_08130F7C: .4byte gBattleAnimBankAttacker
_08130F80:
- ldr r0, _08130FD8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _08130FD8 @ =gBattleAnimBankTarget
_08130F82:
ldrb r0, [r0]
strh r0, [r4, 0x3C]
@@ -10204,7 +10204,7 @@ _08130FA6:
pop {r0}
bx r0
.align 2, 0
-_08130FD8: .4byte gBattleAnimEnemyMonIndex
+_08130FD8: .4byte gBattleAnimBankTarget
_08130FDC: .4byte sub_8130FE0
thumb_func_end sub_8130F5C
@@ -10545,7 +10545,7 @@ _08131260: .4byte gSpriteTemplate_8402500
sub_8131264: @ 8131264
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _081312A0 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _081312A0 @ =gBattleAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -10557,7 +10557,7 @@ sub_8131264: @ 8131264
lsls r0, 24
cmp r0, 0
beq _08131290
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _081312A8
@@ -10571,7 +10571,7 @@ _08131290:
subs r1, r0
b _081312B6
.align 2, 0
-_081312A0: .4byte gBattleAnimEnemyMonIndex
+_081312A0: .4byte gBattleAnimBankTarget
_081312A4: .4byte gBattleAnimArgs
_081312A8:
ldr r2, _081312DC @ =gBattleAnimArgs
@@ -10615,7 +10615,7 @@ sub_81312E4: @ 81312E4
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r5, r0, 24
adds r2, r5, 0
@@ -10686,11 +10686,11 @@ _08131378:
.align 2, 0
_08131380: .4byte gSprites
_08131384:
- ldr r4, _081313F4 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _081313F4 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl refresh_graphics_maybe
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _081313C6
@@ -10743,7 +10743,7 @@ _081313E8:
pop {r0}
bx r0
.align 2, 0
-_081313F4: .4byte gBattleAnimPlayerMonIndex
+_081313F4: .4byte gBattleAnimBankAttacker
_081313F8: .4byte gSprites
_081313FC: .4byte gObjectBankIDs
_08131400: .4byte gSpriteAffineAnimTable_81E7C18
@@ -10756,7 +10756,7 @@ sub_8131408: @ 8131408
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r3, r0, 24
ldr r1, _08131434 @ =gTasks
@@ -10932,7 +10932,7 @@ _08131560: .4byte gSprites
sub_8131564: @ 8131564
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _08131588 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _08131588 @ =gBattleAnimBankTarget
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -10947,7 +10947,7 @@ sub_8131564: @ 8131564
ldr r4, _0813158C @ =0x0000ff70
b _081315A0
.align 2, 0
-_08131588: .4byte gBattleAnimEnemyMonIndex
+_08131588: .4byte gBattleAnimBankTarget
_0813158C: .4byte 0x0000ff70
_08131590:
ldrb r0, [r4]
@@ -10958,7 +10958,7 @@ _08131590:
strb r0, [r1]
ldr r4, _081315BC @ =0x0000ffa0
_081315A0:
- ldr r0, _081315C0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _081315C0 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x3
bl sub_8077ABC
@@ -10973,7 +10973,7 @@ _081315A0:
bx r0
.align 2, 0
_081315BC: .4byte 0x0000ffa0
-_081315C0: .4byte gBattleAnimEnemyMonIndex
+_081315C0: .4byte gBattleAnimBankTarget
_081315C4: .4byte sub_81315C8
thumb_func_end sub_8131564
@@ -11140,7 +11140,7 @@ sub_81316F8: @ 81316F8
lsls r0, 24
lsrs r4, r0, 24
mov r10, r4
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
@@ -11474,7 +11474,7 @@ _0813197C:
.4byte _08131DC4
_08131990:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, _081319DC @ =gTasks
@@ -11489,7 +11489,7 @@ _08131990:
ldrh r1, [r6, 0xA]
adds r0, r1
strh r0, [r6, 0xA]
- ldr r0, _081319E0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _081319E0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -11510,7 +11510,7 @@ _08131990:
b _08131A02
.align 2, 0
_081319DC: .4byte gTasks
-_081319E0: .4byte gBattleAnimPlayerMonIndex
+_081319E0: .4byte gBattleAnimBankAttacker
_081319E4: .4byte gSprites
_081319E8:
ldr r3, _08131A3C @ =gSprites
@@ -11560,7 +11560,7 @@ _08131A2E:
_08131A3C: .4byte gSprites
_08131A40: .4byte gTasks
_08131A44:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _08131A74
@@ -11570,7 +11570,7 @@ _08131A44:
ldr r3, [r0, 0xC]
mov r9, r3
ldrh r5, [r0]
- ldr r0, _08131A70 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08131A70 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl sub_8079E90
lsls r0, 24
@@ -11579,9 +11579,9 @@ _08131A44:
b _08131B92
.align 2, 0
_08131A6C: .4byte 0x02019348
-_08131A70: .4byte gBattleAnimPlayerMonIndex
+_08131A70: .4byte gBattleAnimBankAttacker
_08131A74:
- ldr r4, _08131AD4 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _08131AD4 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -11626,7 +11626,7 @@ _08131A74:
lsrs r5, r0, 16
b _08131AE6
.align 2, 0
-_08131AD4: .4byte gBattleAnimPlayerMonIndex
+_08131AD4: .4byte gBattleAnimBankAttacker
_08131AD8: .4byte gBattlePartyID
_08131ADC: .4byte gPlayerParty
_08131AE0: .4byte 0x02017800
@@ -11634,7 +11634,7 @@ _08131AE4:
ldrh r5, [r1, 0x2]
_08131AE6:
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _08131B0C @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -11700,7 +11700,7 @@ _08131B70:
ldrh r5, [r1, 0x2]
_08131B72:
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _08131C04 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -11717,7 +11717,7 @@ _08131B72:
_08131B92:
ldr r6, _08131C08 @ =0x0000ffe0
_08131B94:
- ldr r0, _08131C0C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _08131C0C @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
bl sub_8077ABC
@@ -11737,7 +11737,7 @@ _08131B94:
bl sub_8079F44
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _08131C10 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08131C10 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
lsls r0, 2
ldr r1, _08131C14 @ =0x02017800
@@ -11773,8 +11773,8 @@ _08131BF2:
.align 2, 0
_08131C04: .4byte gSprites
_08131C08: .4byte 0x0000ffe0
-_08131C0C: .4byte gBattleAnimEnemyMonIndex
-_08131C10: .4byte gBattleAnimPlayerMonIndex
+_08131C0C: .4byte gBattleAnimBankTarget
+_08131C10: .4byte gBattleAnimBankAttacker
_08131C14: .4byte 0x02017800
_08131C18: .4byte 0x00007fff
_08131C1C: .4byte gTasks
@@ -11794,7 +11794,7 @@ _08131C20:
ldrh r2, [r6, 0xA]
adds r0, r2
strh r0, [r6, 0xA]
- ldr r0, _08131C70 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08131C70 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -11817,7 +11817,7 @@ _08131C20:
b _08131C8E
.align 2, 0
_08131C6C: .4byte gTasks
-_08131C70: .4byte gBattleAnimPlayerMonIndex
+_08131C70: .4byte gBattleAnimBankAttacker
_08131C74: .4byte gSprites
_08131C78:
ldr r2, _08131CDC @ =gSprites
@@ -11851,7 +11851,7 @@ _08131C8E:
ldrsh r0, [r6, r1]
cmp r0, 0
bne _08131D0E
- ldr r0, _08131CE4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08131CE4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -11859,7 +11859,7 @@ _08131C8E:
bne _08131CEC
lsls r4, r5, 16
asrs r4, 16
- ldr r0, _08131CE8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _08131CE8 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0
bl sub_8077ABC
@@ -11871,12 +11871,12 @@ _08131C8E:
.align 2, 0
_08131CDC: .4byte gSprites
_08131CE0: .4byte gTasks
-_08131CE4: .4byte gBattleAnimPlayerMonIndex
-_08131CE8: .4byte gBattleAnimEnemyMonIndex
+_08131CE4: .4byte gBattleAnimBankAttacker
+_08131CE8: .4byte gBattleAnimBankTarget
_08131CEC:
lsls r4, r5, 16
asrs r4, 16
- ldr r0, _08131D30 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _08131D30 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0
bl sub_8077ABC
@@ -11911,13 +11911,13 @@ _08131D20:
strh r0, [r1, 0xA]
b _08131DB6
.align 2, 0
-_08131D30: .4byte gBattleAnimEnemyMonIndex
+_08131D30: .4byte gBattleAnimBankTarget
_08131D34: .4byte gBattleAnimArgs
_08131D38: .4byte 0x0000ffff
_08131D3C: .4byte gTasks
_08131D40:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, _08131D8C @ =gTasks
@@ -11935,7 +11935,7 @@ _08131D40:
ldr r5, _08131D90 @ =gSprites
adds r0, r5
bl sub_807A0F4
- ldr r0, _08131D94 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08131D94 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -11954,7 +11954,7 @@ _08131D40:
.align 2, 0
_08131D8C: .4byte gTasks
_08131D90: .4byte gSprites
-_08131D94: .4byte gBattleAnimPlayerMonIndex
+_08131D94: .4byte gBattleAnimBankAttacker
_08131D98:
lsls r0, r7, 4
adds r0, r7
@@ -11981,7 +11981,7 @@ _08131DB6:
_08131DC0: .4byte gTasks
_08131DC4:
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, _08131E38 @ =gTasks
@@ -11996,7 +11996,7 @@ _08131DC4:
ldrh r3, [r2, 0xA]
adds r0, r3
strh r0, [r2, 0xA]
- ldr r0, _08131E3C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08131E3C @ =gBattleAnimBankAttacker
mov r10, r0
ldrb r0, [r0]
str r2, [sp, 0x10]
@@ -12036,7 +12036,7 @@ _08131DC4:
b _08131E7C
.align 2, 0
_08131E38: .4byte gTasks
-_08131E3C: .4byte gBattleAnimPlayerMonIndex
+_08131E3C: .4byte gBattleAnimBankAttacker
_08131E40: .4byte gSprites
_08131E44:
ldr r1, _08131EB0 @ =gSprites
@@ -12124,7 +12124,7 @@ _08131ECA:
asrs r1, 24
movs r0, 0x7A
bl PlaySE12WithPanning
- ldr r0, _08131F54 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _08131F54 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
bl sub_8077ABC
@@ -12144,19 +12144,19 @@ _08131ECA:
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r0, _08131F5C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08131F5C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08131FF4
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _08131FF4
movs r0, 0x1
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
ldr r2, _08131F60 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -12173,9 +12173,9 @@ _08131ECA:
b _08131FF4
.align 2, 0
_08131F50: .4byte gBattleAnimArgs
-_08131F54: .4byte gBattleAnimEnemyMonIndex
+_08131F54: .4byte gBattleAnimBankTarget
_08131F58: .4byte 0x0000ffe0
-_08131F5C: .4byte gBattleAnimPlayerMonIndex
+_08131F5C: .4byte gBattleAnimBankAttacker
_08131F60: .4byte gSprites
_08131F64:
adds r0, r4, 0
@@ -12218,7 +12218,7 @@ _08131FA6:
ldrh r1, [r4, 0x32]
adds r0, r1
strh r0, [r4, 0x32]
- ldr r0, _08131FD0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08131FD0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -12233,7 +12233,7 @@ _08131FA6:
adds r1, r2, 0
b _08131FE0
.align 2, 0
-_08131FD0: .4byte gBattleAnimPlayerMonIndex
+_08131FD0: .4byte gBattleAnimBankAttacker
_08131FD4:
ldrh r1, [r4, 0x32]
lsls r0, r1, 16
@@ -12290,14 +12290,14 @@ _0813202C:
.4byte _08132104
.4byte _0813216A
_08132040:
- ldr r0, _08132084 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08132084 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
movs r1, 0
bl sub_8077ABC
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
- ldr r0, _08132088 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _08132088 @ =gBattleAnimBankTarget
ldrb r0, [r0]
movs r1, 0
bl sub_8077ABC
@@ -12323,12 +12323,12 @@ _08132076:
strh r0, [r1, 0x26]
b _08132188
.align 2, 0
-_08132084: .4byte gBattleAnimPlayerMonIndex
-_08132088: .4byte gBattleAnimEnemyMonIndex
+_08132084: .4byte gBattleAnimBankAttacker
+_08132088: .4byte gBattleAnimBankTarget
_0813208C: .4byte gTasks
_08132090:
ldr r1, _081320CC @ =gObjectBankIDs
- ldr r0, _081320D0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _081320D0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r2, [r0]
@@ -12359,7 +12359,7 @@ _08132090:
b _0813215E
.align 2, 0
_081320CC: .4byte gObjectBankIDs
-_081320D0: .4byte gBattleAnimPlayerMonIndex
+_081320D0: .4byte gBattleAnimBankAttacker
_081320D4: .4byte gSprites
_081320D8:
movs r3, 0x20
@@ -12387,7 +12387,7 @@ _081320EC:
b _08132188
_08132104:
ldr r1, _08132144 @ =gObjectBankIDs
- ldr r0, _08132148 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08132148 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r2, [r0]
@@ -12420,7 +12420,7 @@ _08132104:
b _08132162
.align 2, 0
_08132144: .4byte gObjectBankIDs
-_08132148: .4byte gBattleAnimPlayerMonIndex
+_08132148: .4byte gBattleAnimBankAttacker
_0813214C: .4byte gSprites
_08132150:
movs r3, 0x20
@@ -12440,7 +12440,7 @@ _08132162:
b _08132188
_0813216A:
ldr r1, _08132190 @ =gObjectBankIDs
- ldr r0, _08132194 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08132194 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r2, [r0]
@@ -12459,7 +12459,7 @@ _08132188:
bx r0
.align 2, 0
_08132190: .4byte gObjectBankIDs
-_08132194: .4byte gBattleAnimPlayerMonIndex
+_08132194: .4byte gBattleAnimBankAttacker
_08132198: .4byte gSprites
thumb_func_end sub_8131FFC
@@ -12474,12 +12474,12 @@ sub_813219C: @ 813219C
ldr r0, _08132204 @ =gTasks
adds r4, r1, r0
movs r0, 0
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r4, 0xE]
- ldr r0, _08132208 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08132208 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -12518,7 +12518,7 @@ _081321D0:
bx r0
.align 2, 0
_08132204: .4byte gTasks
-_08132208: .4byte gBattleAnimPlayerMonIndex
+_08132208: .4byte gBattleAnimBankAttacker
_0813220C: .4byte gSprites
_08132210: .4byte sub_8132214
thumb_func_end sub_813219C
@@ -12662,7 +12662,7 @@ _08132312:
sub_8132318: @ 8132318
push {r4,lr}
adds r4, r0, 0
- ldr r0, _0813236C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0813236C @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -12699,14 +12699,14 @@ _0813235E:
pop {r0}
bx r0
.align 2, 0
-_0813236C: .4byte gBattleAnimEnemyMonIndex
+_0813236C: .4byte gBattleAnimBankTarget
thumb_func_end sub_8132318
thumb_func_start sub_8132370
sub_8132370: @ 8132370
push {r4,lr}
adds r4, r0, 0
- ldr r0, _081323A8 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _081323A8 @ =gBattleAnimBankTarget
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -12730,7 +12730,7 @@ sub_8132370: @ 8132370
bl StartSpriteAffineAnim
b _081323CE
.align 2, 0
-_081323A8: .4byte gBattleAnimEnemyMonIndex
+_081323A8: .4byte gBattleAnimBankTarget
_081323AC: .4byte gBattleAnimArgs
_081323B0: .4byte 0x0000fff5
_081323B4:
@@ -12762,7 +12762,7 @@ _081323DC: .4byte sub_8132318
sub_81323E0: @ 81323E0
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, _08132424 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _08132424 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_8077ABC
@@ -12793,7 +12793,7 @@ _0813240A:
pop {r0}
bx r0
.align 2, 0
-_08132424: .4byte gBattleAnimPlayerMonIndex
+_08132424: .4byte gBattleAnimBankAttacker
_08132428: .4byte sub_8132430
_0813242C: .4byte REG_BLDALPHA
thumb_func_end sub_81323E0
@@ -12997,7 +12997,7 @@ sub_813257C: @ 813257C
strh r0, [r4, 0x8]
ldr r0, _081325B8 @ =gBattleAnimArgs
ldrb r0, [r0]
- bl obj_id_for_side_relative_to_move
+ bl GetAnimBankSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s
index a5ab2fb83..6fa77321f 100644
--- a/asm/battle_anim_813F0F4.s
+++ b/asm/battle_anim_813F0F4.s
@@ -17,7 +17,7 @@ unref_sub_813F0F4: @ 813F0F4
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x10]
- ldr r0, _0813F2AC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0813F2AC @ =gBattleAnimBankAttacker
ldrb r3, [r0]
ldr r0, _0813F2B0 @ =gUnknown_030042C4
movs r1, 0
@@ -220,7 +220,7 @@ unref_sub_813F0F4: @ 813F0F4
pop {r0}
bx r0
.align 2, 0
-_0813F2AC: .4byte gBattleAnimPlayerMonIndex
+_0813F2AC: .4byte gBattleAnimBankAttacker
_0813F2B0: .4byte gUnknown_030042C4
_0813F2B4: .4byte gUnknown_03004240
_0813F2B8: .4byte REG_WININ
@@ -252,7 +252,7 @@ sub_813F300: @ 813F300
sub sp, 0x10
lsls r0, 24
lsrs r7, r0, 24
- ldr r0, _0813F34C @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0813F34C @ =gBattleAnimBankAttacker
ldrb r0, [r0]
mov r9, r0
ldr r1, _0813F350 @ =gTasks
@@ -284,7 +284,7 @@ sub_813F300: @ 813F300
beq _0813F35E
b _0813F4B2
.align 2, 0
-_0813F34C: .4byte gBattleAnimPlayerMonIndex
+_0813F34C: .4byte gBattleAnimBankAttacker
_0813F350: .4byte gTasks
_0813F354: .4byte gUnknown_030041B4
_0813F358:
@@ -368,7 +368,7 @@ _0813F3AC:
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0813F406
@@ -495,7 +495,7 @@ sub_813F4EC: @ 813F4EC
lsrs r0, 24
str r0, [sp]
ldr r1, _0813F5D0 @ =gHealthboxIDs
- ldr r0, _0813F5D4 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0813F5D4 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -595,7 +595,7 @@ sub_813F4EC: @ 813F4EC
bx r0
.align 2, 0
_0813F5D0: .4byte gHealthboxIDs
-_0813F5D4: .4byte gBattleAnimPlayerMonIndex
+_0813F5D4: .4byte gBattleAnimBankAttacker
_0813F5D8: .4byte gSprites
_0813F5DC: .4byte 0x0000d709
_0813F5E0: .4byte 0x0000d70a
@@ -614,7 +614,7 @@ sub_813F5E8: @ 813F5E8
lsrs r0, 24
mov r8, r0
ldr r1, _0813F684 @ =gHealthboxIDs
- ldr r0, _0813F688 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0813F688 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -678,7 +678,7 @@ sub_813F5E8: @ 813F5E8
bx r0
.align 2, 0
_0813F684: .4byte gHealthboxIDs
-_0813F688: .4byte gBattleAnimPlayerMonIndex
+_0813F688: .4byte gBattleAnimBankAttacker
_0813F68C: .4byte gSprites
_0813F690: .4byte 0x0000d709
_0813F694: .4byte 0x0000d70a
@@ -820,7 +820,7 @@ sub_813F798: @ 813F798
lsls r0, 24
lsrs r6, r0, 24
ldr r1, _0813F7C4 @ =gObjectBankIDs
- ldr r0, _0813F7C8 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _0813F7C8 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r5, [r0]
@@ -840,7 +840,7 @@ sub_813F798: @ 813F798
b _0813F838
.align 2, 0
_0813F7C4: .4byte gObjectBankIDs
-_0813F7C8: .4byte gBattleAnimPlayerMonIndex
+_0813F7C8: .4byte gBattleAnimBankAttacker
_0813F7CC: .4byte gTasks
_0813F7D0:
cmp r0, 0x2
@@ -911,7 +911,7 @@ sub_813F844: @ 813F844
lsls r0, 24
lsrs r5, r0, 24
ldr r1, _0813F87C @ =gObjectBankIDs
- ldr r4, _0813F880 @ =gBattleAnimPlayerMonIndex
+ ldr r4, _0813F880 @ =gBattleAnimBankAttacker
ldrb r0, [r4]
adds r1, r0, r1
ldrb r1, [r1]
@@ -931,7 +931,7 @@ sub_813F844: @ 813F844
b _0813F89C
.align 2, 0
_0813F87C: .4byte gObjectBankIDs
-_0813F880: .4byte gBattleAnimPlayerMonIndex
+_0813F880: .4byte gBattleAnimBankAttacker
_0813F884: .4byte gBattlePartyID
_0813F888: .4byte gPlayerParty
_0813F88C:
@@ -970,7 +970,7 @@ _0813F8CC: .4byte gBattlePartyID
_0813F8D0: .4byte gEnemyParty
_0813F8D4: .4byte gTasks
_0813F8D8:
- ldr r5, _0813F950 @ =gBattleAnimPlayerMonIndex
+ ldr r5, _0813F950 @ =gBattleAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
bl sub_8077ABC
@@ -1025,7 +1025,7 @@ _0813F8D8:
strh r0, [r6, 0x8]
b _0813F982
.align 2, 0
-_0813F950: .4byte gBattleAnimPlayerMonIndex
+_0813F950: .4byte gBattleAnimBankAttacker
_0813F954: .4byte gSprites
_0813F958:
movs r1, 0x1C
@@ -1235,7 +1235,7 @@ sub_813FA94: @ 813FA94
adds r6, r4, r1
movs r0, 0x22
strh r0, [r6, 0x2E]
- ldr r2, _0813FB64 @ =gBattleAnimEnemyMonIndex
+ ldr r2, _0813FB64 @ =gBattleAnimBankTarget
mov r8, r2
ldrb r0, [r2]
movs r1, 0
@@ -1297,7 +1297,7 @@ sub_813FA94: @ 813FA94
_0813FB58: .4byte gLastUsedItem
_0813FB5C: .4byte gBallSpriteTemplates
_0813FB60: .4byte gSprites
-_0813FB64: .4byte gBattleAnimEnemyMonIndex
+_0813FB64: .4byte gBattleAnimBankTarget
_0813FB68: .4byte sub_813FD90
_0813FB6C: .4byte 0x02017840
_0813FB70: .4byte gObjectBankIDs
@@ -1397,7 +1397,7 @@ _0813FBE0:
adds r6, r4, r0
movs r0, 0x22
strh r0, [r6, 0x2E]
- ldr r1, _0813FCA8 @ =gBattleAnimEnemyMonIndex
+ ldr r1, _0813FCA8 @ =gBattleAnimBankTarget
mov r8, r1
ldrb r0, [r1]
movs r1, 0
@@ -1449,7 +1449,7 @@ _0813FBE0:
_0813FC9C: .4byte gLastUsedItem
_0813FCA0: .4byte gBallSpriteTemplates
_0813FCA4: .4byte gSprites
-_0813FCA8: .4byte gBattleAnimEnemyMonIndex
+_0813FCA8: .4byte gBattleAnimBankTarget
_0813FCAC: .4byte SpriteCallbackDummy
_0813FCB0: .4byte gObjectBankIDs
_0813FCB4: .4byte gTasks
@@ -1652,7 +1652,7 @@ _0813FE10:
movs r2, 0x1
movs r3, 0x1C
bl sub_814086C
- ldr r0, _0813FE6C @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0813FE6C @ =gBattleAnimBankTarget
ldrb r1, [r0]
movs r0, 0
movs r2, 0xE
@@ -1666,7 +1666,7 @@ _0813FE5A:
.align 2, 0
_0813FE64: .4byte sub_813FE70
_0813FE68: .4byte gLastUsedItem
-_0813FE6C: .4byte gBattleAnimEnemyMonIndex
+_0813FE6C: .4byte gBattleAnimBankTarget
thumb_func_end sub_813FDC0
thumb_func_start sub_813FE70
@@ -1690,7 +1690,7 @@ sub_813FE70: @ 813FE70
str r0, [r4, 0x1C]
ldr r2, _0813FEBC @ =gSprites
ldr r1, _0813FEC0 @ =gObjectBankIDs
- ldr r0, _0813FEC4 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0813FEC4 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -1709,7 +1709,7 @@ _0813FEB4: .4byte TaskDummy
_0813FEB8: .4byte sub_813FEC8
_0813FEBC: .4byte gSprites
_0813FEC0: .4byte gObjectBankIDs
-_0813FEC4: .4byte gBattleAnimEnemyMonIndex
+_0813FEC4: .4byte gBattleAnimBankTarget
thumb_func_end sub_813FE70
thumb_func_start sub_813FEC8
@@ -1717,7 +1717,7 @@ sub_813FEC8: @ 813FEC8
push {r4-r7,lr}
adds r7, r0, 0
ldr r1, _0813FF0C @ =gObjectBankIDs
- ldr r0, _0813FF10 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _0813FF10 @ =gBattleAnimBankTarget
ldrb r0, [r0]
adds r0, r1
ldrb r4, [r0]
@@ -1750,7 +1750,7 @@ _0813FEFA:
b _0813FFDC
.align 2, 0
_0813FF0C: .4byte gObjectBankIDs
-_0813FF10: .4byte gBattleAnimEnemyMonIndex
+_0813FF10: .4byte gBattleAnimBankTarget
_0813FF14: .4byte gTasks
_0813FF18:
cmp r0, 0x2
@@ -2451,7 +2451,7 @@ _08140450: .4byte sub_8140454
sub_8140454: @ 8140454
push {r4-r7,lr}
adds r6, r0, 0
- ldr r7, _08140484 @ =gBattleAnimEnemyMonIndex
+ ldr r7, _08140484 @ =gBattleAnimBankTarget
ldrh r0, [r6, 0x36]
adds r0, 0x1
strh r0, [r6, 0x36]
@@ -2471,7 +2471,7 @@ sub_8140454: @ 8140454
bl PlaySE
b _081404CC
.align 2, 0
-_08140484: .4byte gBattleAnimEnemyMonIndex
+_08140484: .4byte gBattleAnimBankTarget
_08140488: .4byte gDoingBattleAnim
_0814048C: .4byte 0x00000173
_08140490:
@@ -2690,7 +2690,7 @@ sub_81405F4: @ 81405F4
movs r2, 0x1
movs r3, 0x1C
bl sub_814086C
- ldr r0, _081406B0 @ =gBattleAnimEnemyMonIndex
+ ldr r0, _081406B0 @ =gBattleAnimBankTarget
ldrb r1, [r0]
movs r0, 0x1
movs r2, 0xE
@@ -2699,7 +2699,7 @@ sub_81405F4: @ 81405F4
_08140646:
ldr r6, _081406B4 @ =gSprites
ldr r5, _081406B8 @ =gObjectBankIDs
- ldr r4, _081406B0 @ =gBattleAnimEnemyMonIndex
+ ldr r4, _081406B0 @ =gBattleAnimBankTarget
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -2747,7 +2747,7 @@ _08140646:
.align 2, 0
_081406A8: .4byte sub_81406BC
_081406AC: .4byte gLastUsedItem
-_081406B0: .4byte gBattleAnimEnemyMonIndex
+_081406B0: .4byte gBattleAnimBankTarget
_081406B4: .4byte gSprites
_081406B8: .4byte gObjectBankIDs
thumb_func_end sub_81405F4
@@ -2772,7 +2772,7 @@ sub_81406BC: @ 81406BC
_081406DA:
ldr r4, _08140708 @ =gSprites
ldr r3, _0814070C @ =gObjectBankIDs
- ldr r2, _08140710 @ =gBattleAnimEnemyMonIndex
+ ldr r2, _08140710 @ =gBattleAnimBankTarget
ldrb r0, [r2]
adds r0, r3
ldrb r1, [r0]
@@ -2794,7 +2794,7 @@ _081406DA:
.align 2, 0
_08140708: .4byte gSprites
_0814070C: .4byte gObjectBankIDs
-_08140710: .4byte gBattleAnimEnemyMonIndex
+_08140710: .4byte gBattleAnimBankTarget
_08140714:
ldr r6, _0814079C @ =0xfffffee0
adds r0, r6, 0
@@ -2824,7 +2824,7 @@ _08140734:
beq _08140796
ldr r4, _081407A0 @ =gSprites
ldr r3, _081407A4 @ =gObjectBankIDs
- ldr r2, _081407A8 @ =gBattleAnimEnemyMonIndex
+ ldr r2, _081407A8 @ =gBattleAnimBankTarget
ldrb r0, [r2]
adds r0, r3
ldrb r1, [r0]
@@ -2869,7 +2869,7 @@ _08140796:
_0814079C: .4byte 0xfffffee0
_081407A0: .4byte gSprites
_081407A4: .4byte gObjectBankIDs
-_081407A8: .4byte gBattleAnimEnemyMonIndex
+_081407A8: .4byte gBattleAnimBankTarget
_081407AC: .4byte 0x02017840
_081407B0: .4byte sub_81405C8
_081407B4: .4byte gDoingBattleAnim
@@ -4583,7 +4583,7 @@ sub_814151C: @ 814151C
movs r0, 0
mov r8, r0
ldr r0, _08141550 @ =gObjectBankIDs
- ldr r3, _08141554 @ =gBattleAnimPlayerMonIndex
+ ldr r3, _08141554 @ =gBattleAnimBankAttacker
ldrb r2, [r3]
adds r0, r2, r0
ldrb r6, [r0]
@@ -4603,7 +4603,7 @@ sub_814151C: @ 814151C
b _081416B6
.align 2, 0
_08141550: .4byte gObjectBankIDs
-_08141554: .4byte gBattleAnimPlayerMonIndex
+_08141554: .4byte gBattleAnimBankAttacker
_08141558: .4byte gTasks
_0814155C:
cmp r0, 0x2
@@ -4738,7 +4738,7 @@ _08141654:
adds r0, r1
ldrb r1, [r0, 0x8]
strh r1, [r0, 0x8]
- ldr r0, _08141690 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08141690 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -4759,7 +4759,7 @@ _08141654:
.align 2, 0
_08141688: .4byte gSprites
_0814168C: .4byte gTasks
-_08141690: .4byte gBattleAnimPlayerMonIndex
+_08141690: .4byte gBattleAnimBankAttacker
_08141694:
ldr r0, _081416C0 @ =gSprites
adds r1, r4, r6
@@ -4816,7 +4816,7 @@ _081416EC:
beq _0814177C
b _081417B8
_081416F2:
- ldr r0, _08141708 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08141708 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
bl GetBankIdentity_permutated
lsls r0, 24
@@ -4827,7 +4827,7 @@ _081416F2:
ldr r2, _08141710 @ =0x00003f42
b _08141718
.align 2, 0
-_08141708: .4byte gBattleAnimPlayerMonIndex
+_08141708: .4byte gBattleAnimBankAttacker
_0814170C: .4byte REG_BLDCNT
_08141710: .4byte 0x00003f42
_08141714:
@@ -4884,7 +4884,7 @@ _08141744:
_08141778: .4byte REG_BLDALPHA
_0814177C:
ldr r1, _081417C0 @ =gObjectBankIDs
- ldr r3, _081417C4 @ =gBattleAnimPlayerMonIndex
+ ldr r3, _081417C4 @ =gBattleAnimBankAttacker
ldrb r0, [r3]
adds r0, r1
ldrb r1, [r0]
@@ -4918,7 +4918,7 @@ _081417B8:
bx r0
.align 2, 0
_081417C0: .4byte gObjectBankIDs
-_081417C4: .4byte gBattleAnimPlayerMonIndex
+_081417C4: .4byte gBattleAnimBankAttacker
_081417C8: .4byte gSprites
_081417CC: .4byte 0x06010000
_081417D0: .4byte 0x040000d4
@@ -4931,7 +4931,7 @@ sub_81417D8: @ 81417D8
lsls r0, 24
lsrs r0, 24
ldr r3, _081417FC @ =gBattleAnimArgs
- ldr r1, _08141800 @ =gBattleAnimPlayerMonIndex
+ ldr r1, _08141800 @ =gBattleAnimBankAttacker
ldrb r1, [r1]
lsls r1, 2
ldr r2, _08141804 @ =0x02017800
@@ -4945,7 +4945,7 @@ sub_81417D8: @ 81417D8
bx r0
.align 2, 0
_081417FC: .4byte gBattleAnimArgs
-_08141800: .4byte gBattleAnimPlayerMonIndex
+_08141800: .4byte gBattleAnimBankAttacker
_08141804: .4byte 0x02017800
thumb_func_end sub_81417D8
@@ -4954,7 +4954,7 @@ sub_8141808: @ 8141808
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, _08141820 @ =gBattleAnimEnemyMonIndex
+ ldr r2, _08141820 @ =gBattleAnimBankTarget
ldr r1, _08141824 @ =gEffectBank
ldrb r1, [r1]
strb r1, [r2]
@@ -4962,7 +4962,7 @@ sub_8141808: @ 8141808
pop {r0}
bx r0
.align 2, 0
-_08141820: .4byte gBattleAnimEnemyMonIndex
+_08141820: .4byte gBattleAnimBankTarget
_08141824: .4byte gEffectBank
thumb_func_end sub_8141808
@@ -4994,7 +4994,7 @@ sub_8141828: @ 8141828
bl GetMonData
adds r4, r0, 0
adds r0, r6, 0
- bl b_side_obj__get_some_boolean
+ bl IsAnimBankSpriteVisible
lsls r0, 24
cmp r0, 0
beq _081418FC
@@ -5511,7 +5511,7 @@ sub_8141C30: @ 8141C30
adds r0, r4, 0
bl sub_80786EC
ldr r1, _08141CAC @ =gObjectBankIDs
- ldr r0, _08141CB0 @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08141CB0 @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -5531,7 +5531,7 @@ sub_8141C30: @ 8141C30
_08141CA4: .4byte gBattleAnimArgs
_08141CA8: .4byte 0x0000ffe0
_08141CAC: .4byte gObjectBankIDs
-_08141CB0: .4byte gBattleAnimPlayerMonIndex
+_08141CB0: .4byte gBattleAnimBankAttacker
_08141CB4: .4byte gSprites
_08141CB8: .4byte sub_8141CBC
thumb_func_end sub_8141C30
@@ -5542,7 +5542,7 @@ sub_8141CBC: @ 8141CBC
adds r3, r0, 0
ldr r2, _08141CE4 @ =gSprites
ldr r1, _08141CE8 @ =gObjectBankIDs
- ldr r0, _08141CEC @ =gBattleAnimPlayerMonIndex
+ ldr r0, _08141CEC @ =gBattleAnimBankAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -5562,7 +5562,7 @@ _08141CE0:
.align 2, 0
_08141CE4: .4byte gSprites
_08141CE8: .4byte gObjectBankIDs
-_08141CEC: .4byte gBattleAnimPlayerMonIndex
+_08141CEC: .4byte gBattleAnimBankAttacker
_08141CF0: .4byte sub_8141CF4
thumb_func_end sub_8141CBC
@@ -5598,7 +5598,7 @@ sub_8141D20: @ 8141D20
adds r4, r0, 0
ldr r5, _08141D70 @ =gSprites
ldr r3, _08141D74 @ =gObjectBankIDs
- ldr r2, _08141D78 @ =gBattleAnimPlayerMonIndex
+ ldr r2, _08141D78 @ =gBattleAnimBankAttacker
ldrb r0, [r2]
adds r0, r3
ldrb r1, [r0]
@@ -5635,7 +5635,7 @@ _08141D68:
.align 2, 0
_08141D70: .4byte gSprites
_08141D74: .4byte gObjectBankIDs
-_08141D78: .4byte gBattleAnimPlayerMonIndex
+_08141D78: .4byte gBattleAnimBankAttacker
thumb_func_end sub_8141D20
thumb_func_start sub_8141D7C
@@ -5646,11 +5646,11 @@ sub_8141D7C: @ 8141D7C
lsrs r4, 24
movs r0, 0
bl GetBankByPlayerAI
- ldr r1, _08141DA4 @ =gBattleAnimPlayerMonIndex
+ ldr r1, _08141DA4 @ =gBattleAnimBankAttacker
strb r0, [r1]
movs r0, 0x1
bl GetBankByPlayerAI
- ldr r1, _08141DA8 @ =gBattleAnimEnemyMonIndex
+ ldr r1, _08141DA8 @ =gBattleAnimBankTarget
strb r0, [r1]
adds r0, r4, 0
bl DestroyAnimVisualTask
@@ -5658,8 +5658,8 @@ sub_8141D7C: @ 8141D7C
pop {r0}
bx r0
.align 2, 0
-_08141DA4: .4byte gBattleAnimPlayerMonIndex
-_08141DA8: .4byte gBattleAnimEnemyMonIndex
+_08141DA4: .4byte gBattleAnimBankAttacker
+_08141DA8: .4byte gBattleAnimBankTarget
thumb_func_end sub_8141D7C
thumb_func_start sub_8141DAC
@@ -5721,20 +5721,20 @@ sub_8141E10: @ 8141E10
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, _08141E2C @ =gBattleAnimPlayerMonIndex
+ ldr r2, _08141E2C @ =gBattleAnimBankAttacker
ldr r1, _08141E30 @ =0x02017840
ldrh r1, [r1]
strb r1, [r2]
- ldr r2, _08141E34 @ =gBattleAnimEnemyMonIndex
+ ldr r2, _08141E34 @ =gBattleAnimBankTarget
lsrs r1, 8
strb r1, [r2]
bl DestroyAnimVisualTask
pop {r0}
bx r0
.align 2, 0
-_08141E2C: .4byte gBattleAnimPlayerMonIndex
+_08141E2C: .4byte gBattleAnimBankAttacker
_08141E30: .4byte 0x02017840
-_08141E34: .4byte gBattleAnimEnemyMonIndex
+_08141E34: .4byte gBattleAnimBankTarget
thumb_func_end sub_8141E10
.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 65fbd0c05..000000000
--- a/asm/battle_tower.s
+++ /dev/null
@@ -1,3663 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8134548
-sub_8134548: @ 8134548
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_0813454E:
- ldr r0, _08134568 @ =gSaveBlock2
- ldr r1, _0813456C @ =0x00000556
- adds r0, r1
- adds r0, r5, r0
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _08134590
- lsls r0, 2
- ldr r1, _08134570 @ =_08134574
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08134568: .4byte gSaveBlock2
-_0813456C: .4byte 0x00000556
-_08134570: .4byte _08134574
- .align 2, 0
-_08134574:
- .4byte _08134590
- .4byte _081345A8
- .4byte _081345C8
- .4byte _081345D8
- .4byte _081345B8
- .4byte _081345C0
- .4byte _081345D8
-_08134590:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_813461C
- cmp r4, 0
- bne _081345D8
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x5
- bl VarSet
- b _081345D8
-_081345A8:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_813461C
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x1
- b _081345CE
-_081345B8:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x2
- b _081345CE
-_081345C0:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x3
- b _081345CE
-_081345C8:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x4
-_081345CE:
- bl VarSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081345D8:
- adds r5, 0x1
- cmp r5, 0x1
- ble _0813454E
- ldr r1, _08134610 @ =gSaveBlock2
- ldr r2, _08134614 @ =0x00000556
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _081345EE
- cmp r0, 0x6
- bne _08134606
-_081345EE:
- ldr r2, _08134618 @ =0x00000557
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _081345FC
- cmp r0, 0x6
- bne _08134606
-_081345FC:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x5
- bl VarSet
-_08134606:
- bl sub_8135C44
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08134610: .4byte gSaveBlock2
-_08134614: .4byte 0x00000556
-_08134618: .4byte 0x00000557
- thumb_func_end sub_8134548
-
- thumb_func_start sub_813461C
-sub_813461C: @ 813461C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08134644 @ =gSaveBlock2
- ldr r2, _08134648 @ =0x00000556
- adds r1, r3, r2
- adds r1, r0, r1
- movs r2, 0
- strb r2, [r1]
- lsls r0, 1
- movs r2, 0xAB
- lsls r2, 3
- adds r1, r3, r2
- adds r1, r0, r1
- movs r2, 0x1
- strh r2, [r1]
- ldr r1, _0813464C @ =0x0000055c
- adds r3, r1
- adds r0, r3
- strh r2, [r0]
- bx lr
- .align 2, 0
-_08134644: .4byte gSaveBlock2
-_08134648: .4byte 0x00000556
-_0813464C: .4byte 0x0000055c
- thumb_func_end sub_813461C
-
- thumb_func_start sub_8134650
-sub_8134650: @ 8134650
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- add r4, sp, 0x28
- movs r0, 0
- strb r0, [r4]
- bl sub_813601C
- ldr r0, _08134684 @ =gScriptResult
- ldrh r0, [r0]
- adds r7, r4, 0
- cmp r0, 0
- bne _08134680
- ldr r1, _08134688 @ =gSaveBlock2
- ldr r2, _0813468C @ =0x0000049a
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, r6
- beq _08134690
-_08134680:
- movs r0, 0
- b _081346E2
- .align 2, 0
-_08134684: .4byte gScriptResult
-_08134688: .4byte gSaveBlock2
-_0813468C: .4byte 0x0000049a
-_08134690:
- movs r6, 0x32
- cmp r5, 0
- beq _08134698
- movs r6, 0x64
-_08134698:
- movs r4, 0
- mov r8, r1
-_0813469C:
- movs r0, 0x2C
- muls r0, r4
- mov r3, r8
- adds r1, r0, r3
- movs r2, 0x9B
- lsls r2, 3
- adds r0, r1, r2
- ldrb r2, [r0]
- cmp r2, r6
- bne _08134680
- ldr r3, _081346F0 @ =0x000004cc
- adds r0, r1, r3
- ldrh r0, [r0]
- adds r3, 0x2
- adds r1, r3
- ldrh r1, [r1]
- str r2, [sp]
- add r2, sp, 0x10
- str r2, [sp, 0x4]
- add r2, sp, 0x1C
- str r2, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r2, 0x1
- adds r3, r5, 0
- bl CheckMonBattleTowerBanlist
- adds r4, 0x1
- cmp r4, 0x2
- ble _0813469C
- movs r1, 0
- ldrb r0, [r7]
- cmp r0, 0x3
- bne _081346E0
- movs r1, 0x1
-_081346E0:
- adds r0, r1, 0
-_081346E2:
- add sp, 0x2C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081346F0: .4byte 0x000004cc
- thumb_func_end sub_8134650
-
- thumb_func_start sub_81346F4
-sub_81346F4: @ 81346F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- movs r0, 0
- mov r9, r0
- ldr r4, _08134738 @ =gSaveBlock2
- ldr r1, _0813473C @ =0x00000554
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r7, r0, 31
- adds r0, r7, 0
- bl sub_8135D3C
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r7, 0
- mov r1, r8
- bl sub_8134650
- lsls r0, 24
- adds r1, r4, 0
- cmp r0, 0
- beq _08134744
- ldr r2, _08134740 @ =0x00000564
- adds r1, r2
- movs r0, 0xC8
- strb r0, [r1]
- b _081347DE
- .align 2, 0
-_08134738: .4byte gSaveBlock2
-_0813473C: .4byte 0x00000554
-_08134740: .4byte 0x00000564
-_08134744:
- movs r5, 0
- movs r3, 0xA4
- mov r12, r3
- mov r10, sp
-_0813474C:
- mov r0, r12
- muls r0, r5
- movs r4, 0
- movs r1, 0
- movs r2, 0
- adds r6, r5, 0x1
- str r6, [sp, 0x14]
- ldr r6, _081347B4 @ =gSaveBlock2 + 0x14C
- adds r3, r0, r6
-_0813475E:
- ldm r3!, {r0}
- orrs r4, r0
- adds r1, r0
- adds r2, 0x1
- cmp r2, 0x27
- bls _0813475E
- mov r3, r12
- muls r3, r5
- ldr r0, _081347B8 @ =gSaveBlock2
- adds r2, r3, r0
- movs r6, 0xA7
- lsls r6, 1
- adds r0, r2, r6
- ldrh r0, [r0]
- cmp r0, r8
- bne _081347A4
- subs r6, 0x2
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r7
- bne _081347A4
- cmp r4, 0
- beq _081347A4
- ldr r2, _081347BC @ =gSaveBlock2 + 0x1EC
- adds r0, r3, r2
- ldr r0, [r0]
- cmp r0, r1
- bne _081347A4
- mov r3, r10
- adds r3, 0x4
- mov r10, r3
- subs r3, 0x4
- stm r3!, {r5}
- movs r6, 0x1
- add r9, r6
-_081347A4:
- ldr r5, [sp, 0x14]
- cmp r5, 0x4
- ble _0813474C
- mov r0, r9
- cmp r0, 0
- bne _081347C0
- movs r0, 0
- b _081347E0
- .align 2, 0
-_081347B4: .4byte gSaveBlock2 + 0x14C
-_081347B8: .4byte gSaveBlock2
-_081347BC: .4byte gSaveBlock2 + 0x1EC
-_081347C0:
- bl Random
- ldr r4, _081347F0 @ =gSaveBlock2
- lsls r0, 16
- lsrs r0, 16
- mov r1, r9
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- adds r0, 0x64
- ldr r1, _081347F4 @ =0x00000564
- adds r4, r1
- strb r0, [r4]
-_081347DE:
- movs r0, 0x1
-_081347E0:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081347F0: .4byte gSaveBlock2
-_081347F4: .4byte 0x00000564
- thumb_func_end sub_81346F4
-
- thumb_func_start sub_81347F8
-sub_81347F8: @ 81347F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r5, _08134838 @ =gSaveBlock2
- ldr r1, _0813483C @ =0x00000554
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r6, r0, 31
- bl sub_81346F4
- lsls r0, 24
- cmp r0, 0
- beq _08134848
- ldr r2, _08134840 @ =0x00000564
- adds r4, r5, r2
- ldrb r0, [r4]
- bl sub_81349FC
- lsls r0, r6, 1
- movs r3, 0xAB
- lsls r3, 3
- adds r1, r5, r3
- adds r0, r1
- ldrh r0, [r0]
- adds r0, r5, r0
- ldr r1, _08134844 @ =0x00000569
- adds r0, r1
- ldrb r1, [r4]
- b _081349DC
- .align 2, 0
-_08134838: .4byte gSaveBlock2
-_0813483C: .4byte 0x00000554
-_08134840: .4byte 0x00000564
-_08134844: .4byte 0x00000569
-_08134848:
- lsls r0, r6, 1
- ldr r2, _081348D8 @ =0x0000055c
- adds r1, r5, r2
- adds r1, r0, r1
- ldrh r1, [r1]
- adds r7, r0, 0
- cmp r1, 0x7
- bls _0813485A
- b _0813495C
-_0813485A:
- movs r3, 0xAB
- lsls r3, 3
- adds r0, r5, r3
- adds r1, r7, r0
- ldrh r0, [r1]
- cmp r0, 0x7
- bne _081348E4
- adds r6, r5, 0
- mov r9, r7
- adds r5, r1, 0
- ldr r0, _081348DC @ =0x0000056a
- adds r0, r6
- mov r10, r0
- mov r8, r5
-_08134876:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r2, r1, 2
- adds r2, r1
- ldr r1, _081348D8 @ =0x0000055c
- adds r4, r6, r1
- mov r3, r9
- adds r0, r3, r4
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x14
- lsrs r2, 7
- adds r2, r0
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0
- ldrh r0, [r5]
- subs r0, 0x1
- cmp r1, r0
- bge _081348C8
- mov r3, r10
- ldrb r0, [r3]
- cmp r0, r2
- beq _081348C8
- subs r0, r4, 0x4
- adds r0, r7, r0
- ldrh r0, [r0]
- subs r3, r0, 0x1
- adds r4, 0xE
-_081348BA:
- adds r1, 0x1
- cmp r1, r3
- bge _081348C8
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r2
- bne _081348BA
-_081348C8:
- mov r3, r8
- ldrh r0, [r3]
- subs r0, 0x1
- ldr r4, _081348E0 @ =gSaveBlock2
- cmp r1, r0
- bne _08134876
- b _081349B6
- .align 2, 0
-_081348D8: .4byte 0x0000055c
-_081348DC: .4byte 0x0000056a
-_081348E0: .4byte gSaveBlock2
-_081348E4:
- adds r6, r5, 0
- mov r9, r7
- adds r5, r1, 0
- ldr r2, _08134950 @ =0x0000056a
- adds r2, r6
- mov r10, r2
- mov r8, r5
-_081348F2:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r0, r1, 2
- adds r0, r1
- lsrs r2, r0, 6
- ldr r3, _08134954 @ =0x0000055c
- adds r4, r6, r3
- mov r1, r9
- adds r0, r1, r4
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- ldrh r0, [r5]
- subs r0, 0x1
- cmp r1, r0
- bge _08134942
- mov r3, r10
- ldrb r0, [r3]
- cmp r0, r2
- beq _08134942
- subs r0, r4, 0x4
- adds r0, r7, r0
- ldrh r0, [r0]
- subs r3, r0, 0x1
- adds r4, 0xE
-_08134934:
- adds r1, 0x1
- cmp r1, r3
- bge _08134942
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r2
- bne _08134934
-_08134942:
- mov r3, r8
- ldrh r0, [r3]
- subs r0, 0x1
- ldr r4, _08134958 @ =gSaveBlock2
- cmp r1, r0
- bne _081348F2
- b _081349B6
- .align 2, 0
-_08134950: .4byte 0x0000056a
-_08134954: .4byte 0x0000055c
-_08134958: .4byte gSaveBlock2
-_0813495C:
- movs r2, 0xAB
- lsls r2, 3
- adds r0, r5, r2
- adds r6, r7, r0
- ldr r3, _081349EC @ =0x0000056a
- adds r3, r5
- mov r8, r3
- adds r5, r6, 0
-_0813496C:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 1
- asrs r0, 8
- adds r0, 0x46
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- ldrh r0, [r6]
- subs r0, 0x1
- cmp r1, r0
- bge _081349AC
- mov r3, r8
- ldrb r0, [r3]
- ldr r4, _081349F0 @ =gSaveBlock2
- cmp r0, r2
- beq _081349AC
- ldrh r0, [r5]
- subs r3, r0, 0x1
- ldr r0, _081349EC @ =0x0000056a
- adds r4, r0
-_0813499E:
- adds r1, 0x1
- cmp r1, r3
- bge _081349AC
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r2
- bne _0813499E
-_081349AC:
- ldrh r0, [r6]
- subs r0, 0x1
- ldr r4, _081349F0 @ =gSaveBlock2
- cmp r1, r0
- bne _0813496C
-_081349B6:
- ldr r1, _081349F4 @ =0x00000564
- adds r0, r4, r1
- strb r2, [r0]
- ldr r2, _081349F4 @ =0x00000564
- adds r5, r4, r2
- ldrb r0, [r5]
- bl sub_81349FC
- movs r3, 0xAB
- lsls r3, 3
- adds r0, r4, r3
- adds r1, r7, r0
- ldrh r0, [r1]
- cmp r0, 0x6
- bhi _081349DE
- adds r0, r4, r0
- ldr r1, _081349F8 @ =0x00000569
- adds r0, r1
- ldrb r1, [r5]
-_081349DC:
- strb r1, [r0]
-_081349DE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081349EC: .4byte 0x0000056a
-_081349F0: .4byte gSaveBlock2
-_081349F4: .4byte 0x00000564
-_081349F8: .4byte 0x00000569
- thumb_func_end sub_81347F8
-
- thumb_func_start sub_81349FC
-sub_81349FC: @ 81349FC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, r2, 0
- cmp r2, 0x63
- bhi _08134A18
- ldr r1, _08134A14 @ =gBattleTowerTrainers
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- b _08134A38
- .align 2, 0
-_08134A14: .4byte gBattleTowerTrainers
-_08134A18:
- cmp r1, 0xC7
- bhi _08134A34
- ldr r2, _08134A2C @ =gSaveBlock2
- subs r1, 0x64
- movs r0, 0xA4
- muls r0, r1
- adds r0, r2
- ldr r1, _08134A30 @ =0x0000014d
- b _08134A38
- .align 2, 0
-_08134A2C: .4byte gSaveBlock2
-_08134A30: .4byte 0x0000014d
-_08134A34:
- ldr r0, _08134A5C @ =gSaveBlock2
- ldr r1, _08134A60 @ =0x00000499
-_08134A38:
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0
- ldr r3, _08134A64 @ =gUnknown_08405E60
- ldrb r0, [r3]
- cmp r0, r1
- beq _08134A54
-_08134A46:
- adds r2, 0x1
- cmp r2, 0x1D
- bhi _08134A54
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, r1
- bne _08134A46
-_08134A54:
- cmp r2, 0x1E
- beq _08134A6C
- ldr r0, _08134A68 @ =gUnknown_08405E92
- b _08134A8A
- .align 2, 0
-_08134A5C: .4byte gSaveBlock2
-_08134A60: .4byte 0x00000499
-_08134A64: .4byte gUnknown_08405E60
-_08134A68: .4byte gUnknown_08405E92
-_08134A6C:
- movs r2, 0
- ldr r3, _08134A98 @ =gUnknown_08405E7E
- ldrb r0, [r3]
- cmp r0, r1
- beq _08134A84
-_08134A76:
- adds r2, 0x1
- cmp r2, 0x13
- bhi _08134A84
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, r1
- bne _08134A76
-_08134A84:
- cmp r2, 0x14
- beq _08134AA4
- ldr r0, _08134A9C @ =gUnknown_08405EB0
-_08134A8A:
- adds r0, r2, r0
- ldrb r1, [r0]
- ldr r0, _08134AA0 @ =0x00004010
- bl VarSet
- b _08134AAC
- .align 2, 0
-_08134A98: .4byte gUnknown_08405E7E
-_08134A9C: .4byte gUnknown_08405EB0
-_08134AA0: .4byte 0x00004010
-_08134AA4:
- ldr r0, _08134AB0 @ =0x00004010
- movs r1, 0x7
- bl VarSet
-_08134AAC:
- pop {r0}
- bx r0
- .align 2, 0
-_08134AB0: .4byte 0x00004010
- thumb_func_end sub_81349FC
-
- thumb_func_start sub_8134AB4
-sub_8134AB4: @ 8134AB4
- push {lr}
- movs r0, 0xC8
- bl sub_81349FC
- pop {r0}
- bx r0
- thumb_func_end sub_8134AB4
-
- thumb_func_start sub_8134AC0
-sub_8134AC0: @ 8134AC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- movs r7, 0
- mov r8, r0
- movs r5, 0
- ldr r0, _08134B3C @ =gSaveBlock2
- mov r12, r0
- mov r1, r8
- ldrb r1, [r1, 0xC]
- str r1, [sp, 0x18]
- movs r2, 0xAA
- lsls r2, 1
- add r2, r12
- mov r10, r2
- mov r9, r5
-_08134AE6:
- movs r6, 0
- movs r3, 0
- ldr r0, _08134B40 @ =gSaveBlock2 + 0x158
- add r0, r9
- ldrb r0, [r0]
- ldr r1, [sp, 0x18]
- cmp r0, r1
- bne _08134B14
- movs r0, 0xA4
- muls r0, r5
- ldr r1, _08134B40 @ =gSaveBlock2 + 0x158
- adds r2, r0, r1
- mov r4, r8
- adds r4, 0xC
-_08134B02:
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08134B14
- adds r1, r4, r3
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08134B02
-_08134B14:
- cmp r3, 0x4
- bne _08134B54
- movs r6, 0
- mov r2, r10
- ldrb r0, [r2]
- mov r3, r8
- ldrb r3, [r3, 0x8]
- cmp r0, r3
- bne _08134B54
- adds r1, r0, 0
- movs r0, 0xA4
- muls r0, r5
- adds r0, 0x4
- ldr r3, _08134B44 @ =gSaveBlock2 + 0x150
- adds r2, r0, r3
-_08134B32:
- cmp r1, 0xFF
- bne _08134B48
- movs r6, 0x7
- b _08134B54
- .align 2, 0
-_08134B3C: .4byte gSaveBlock2
-_08134B40: .4byte gSaveBlock2 + 0x158
-_08134B44: .4byte gSaveBlock2 + 0x150
-_08134B48:
- adds r6, 0x1
- cmp r6, 0x6
- bgt _08134B54
- ldrb r0, [r2]
- cmp r0, r1
- beq _08134B32
-_08134B54:
- cmp r6, 0x7
- beq _08134B64
- movs r0, 0xA4
- add r10, r0
- add r9, r0
- adds r5, 0x1
- cmp r5, 0x4
- ble _08134AE6
-_08134B64:
- cmp r5, 0x4
- bgt _08134B76
- movs r0, 0xA4
- muls r0, r5
- add r0, r12
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r1
- b _08134B9E
-_08134B76:
- movs r5, 0
- movs r1, 0xA7
- lsls r1, 1
- add r1, r12
- b _08134B88
-_08134B80:
- adds r1, 0xA4
- adds r5, 0x1
- cmp r5, 0x4
- bgt _08134BA8
-_08134B88:
- ldrh r0, [r1]
- cmp r0, 0
- bne _08134B80
- cmp r5, 0x4
- bgt _08134BA8
- movs r0, 0xA4
- muls r0, r5
- add r0, r12
- movs r2, 0xA6
- lsls r2, 1
- adds r0, r2
-_08134B9E:
- mov r1, r8
- movs r2, 0xA4
- bl memcpy
- b _08134C5E
-_08134BA8:
- mov r2, sp
- movs r3, 0xA7
- lsls r3, 1
- mov r1, r12
- adds r0, r1, r3
- ldrh r0, [r0]
- movs r1, 0
- strh r0, [r2]
- add r0, sp, 0xC
- strh r1, [r0]
- adds r7, 0x1
- movs r5, 0x1
- add r2, sp, 0xC
- mov r9, r2
- mov r10, r3
-_08134BC6:
- movs r3, 0
- adds r0, r5, 0x1
- mov r12, r0
- cmp r3, r7
- bge _08134C0A
- movs r1, 0xA4
- adds r0, r5, 0
- muls r0, r1
- ldr r2, _08134BFC @ =gSaveBlock2
- adds r0, r2
- mov r1, r10
- adds r4, r0, r1
- mov r6, sp
-_08134BE0:
- lsls r0, r3, 1
- add r0, sp
- ldrh r2, [r4]
- adds r1, r2, 0
- ldrh r0, [r0]
- cmp r1, r0
- bcs _08134C00
- movs r3, 0
- movs r7, 0x1
- strh r2, [r6]
- mov r2, r9
- strh r5, [r2]
- b _08134C0A
- .align 2, 0
-_08134BFC: .4byte gSaveBlock2
-_08134C00:
- cmp r1, r0
- bhi _08134C0A
- adds r3, 0x1
- cmp r3, r7
- blt _08134BE0
-_08134C0A:
- cmp r3, r7
- bne _08134C2A
- lsls r1, r7, 1
- mov r3, sp
- adds r2, r3, r1
- movs r3, 0xA4
- adds r0, r5, 0
- muls r0, r3
- ldr r3, _08134C70 @ =gSaveBlock2
- adds r0, r3
- add r0, r10
- ldrh r0, [r0]
- strh r0, [r2]
- add r1, r9
- strh r5, [r1]
- adds r7, 0x1
-_08134C2A:
- mov r5, r12
- cmp r5, 0x4
- ble _08134BC6
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r7, 0
- bl __modsi3
- adds r5, r0, 0
- ldr r2, _08134C70 @ =gSaveBlock2
- lsls r0, r5, 1
- add r0, sp
- adds r0, 0xC
- ldrh r1, [r0]
- movs r0, 0xA4
- muls r0, r1
- adds r0, r2
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r1
- mov r1, r8
- movs r2, 0xA4
- bl memcpy
-_08134C5E:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08134C70: .4byte gSaveBlock2
- thumb_func_end sub_8134AC0
-
- thumb_func_start get_trainer_class_pic_index
-get_trainer_class_pic_index: @ 8134C74
- push {lr}
- ldr r3, _08134C90 @ =gSaveBlock2
- ldr r0, _08134C94 @ =0x00000564
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _08134CA0
- ldr r1, _08134C98 @ =gTrainerClassToPicIndex
- ldr r2, _08134C9C @ =0x00000499
- adds r0, r3, r2
- ldrb r0, [r0]
- adds r0, r1
- b _08134CD2
- .align 2, 0
-_08134C90: .4byte gSaveBlock2
-_08134C94: .4byte 0x00000564
-_08134C98: .4byte gTrainerClassToPicIndex
-_08134C9C: .4byte 0x00000499
-_08134CA0:
- cmp r0, 0x63
- bls _08134CC0
- ldr r2, _08134CBC @ =gTrainerClassToPicIndex
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r3
- adds r1, 0xA9
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
- b _08134CD2
- .align 2, 0
-_08134CBC: .4byte gTrainerClassToPicIndex
-_08134CC0:
- ldr r3, _08134CD8 @ =gTrainerClassToPicIndex
- ldr r2, _08134CDC @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
-_08134CD2:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_08134CD8: .4byte gTrainerClassToPicIndex
-_08134CDC: .4byte gBattleTowerTrainers
- thumb_func_end get_trainer_class_pic_index
-
- thumb_func_start get_trainer_class_name_index
-get_trainer_class_name_index: @ 8134CE0
- push {lr}
- ldr r3, _08134CFC @ =gSaveBlock2
- ldr r0, _08134D00 @ =0x00000564
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _08134D0C
- ldr r1, _08134D04 @ =gTrainerClassToNameIndex
- ldr r2, _08134D08 @ =0x00000499
- adds r0, r3, r2
- ldrb r0, [r0]
- adds r0, r1
- b _08134D40
- .align 2, 0
-_08134CFC: .4byte gSaveBlock2
-_08134D00: .4byte 0x00000564
-_08134D04: .4byte gTrainerClassToNameIndex
-_08134D08: .4byte 0x00000499
-_08134D0C:
- cmp r0, 0x63
- bhi _08134D2C
- ldr r3, _08134D24 @ =gTrainerClassToNameIndex
- ldr r2, _08134D28 @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- b _08134D40
- .align 2, 0
-_08134D24: .4byte gTrainerClassToNameIndex
-_08134D28: .4byte gBattleTowerTrainers
-_08134D2C:
- ldr r2, _08134D48 @ =gTrainerClassToNameIndex
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r3
- adds r1, 0xA9
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
-_08134D40:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_08134D48: .4byte gTrainerClassToNameIndex
- thumb_func_end get_trainer_class_name_index
-
- thumb_func_start get_trainer_name
-get_trainer_name: @ 8134D4C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, _08134D74 @ =gSaveBlock2
- ldr r0, _08134D78 @ =0x00000564
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _08134D80
- movs r3, 0
- ldr r5, _08134D7C @ =0x0000049c
- adds r2, r5
-_08134D62:
- adds r0, r4, r3
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x6
- ble _08134D62
- b _08134DC8
- .align 2, 0
-_08134D74: .4byte gSaveBlock2
-_08134D78: .4byte 0x00000564
-_08134D7C: .4byte 0x0000049c
-_08134D80:
- cmp r0, 0x63
- bhi _08134DA8
- movs r3, 0
- ldr r2, _08134DA4 @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, 0x1
- adds r2, r0, r2
-_08134D94:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x6
- ble _08134D94
- b _08134DC8
- .align 2, 0
-_08134DA4: .4byte gBattleTowerTrainers
-_08134DA8:
- movs r3, 0
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r1, r0
- movs r5, 0xA8
- lsls r5, 1
- adds r0, r2, r5
- adds r2, r1, r0
-_08134DBA:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x6
- ble _08134DBA
-_08134DC8:
- adds r1, r4, r3
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end get_trainer_name
-
- thumb_func_start sub_8134DD4
-sub_8134DD4: @ 8134DD4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- movs r0, 0
- str r0, [sp, 0x18]
- movs r1, 0x3C
- str r1, [sp, 0x1C]
- add r4, sp, 0xC
- movs r0, 0xFF
- strb r0, [r4]
- bl ZeroEnemyPartyMons
- ldr r1, _08134E04 @ =gSaveBlock2
- ldr r2, _08134E08 @ =0x00000564
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x13
- bhi _08134E0C
- movs r3, 0x6
- str r3, [sp, 0x14]
- b _08134ED8
- .align 2, 0
-_08134E04: .4byte gSaveBlock2
-_08134E08: .4byte 0x00000564
-_08134E0C:
- cmp r0, 0x1D
- bhi _08134E1A
- movs r0, 0x9
- str r0, [sp, 0x14]
- movs r1, 0x1E
- str r1, [sp, 0x18]
- b _08134ED8
-_08134E1A:
- cmp r0, 0x27
- bhi _08134E28
- movs r2, 0xC
- str r2, [sp, 0x14]
- movs r3, 0x3C
- str r3, [sp, 0x18]
- b _08134ED8
-_08134E28:
- cmp r0, 0x31
- bhi _08134E36
- movs r0, 0xF
- str r0, [sp, 0x14]
- movs r1, 0x5A
- str r1, [sp, 0x18]
- b _08134ED8
-_08134E36:
- cmp r0, 0x3B
- bhi _08134E44
- movs r2, 0x12
- str r2, [sp, 0x14]
- movs r3, 0x78
- str r3, [sp, 0x18]
- b _08134ED8
-_08134E44:
- cmp r0, 0x45
- bhi _08134E52
- movs r0, 0x15
- str r0, [sp, 0x14]
- movs r1, 0x96
- str r1, [sp, 0x18]
- b _08134ED8
-_08134E52:
- cmp r0, 0x4F
- bhi _08134E60
- movs r2, 0x1F
- str r2, [sp, 0x14]
- movs r3, 0xB4
- str r3, [sp, 0x18]
- b _08134ED8
-_08134E60:
- cmp r0, 0x63
- bhi _08134E72
- movs r0, 0x1F
- str r0, [sp, 0x14]
- movs r1, 0xC8
- str r1, [sp, 0x18]
- movs r2, 0x64
- str r2, [sp, 0x1C]
- b _08134ED8
-_08134E72:
- cmp r0, 0xC8
- bne _08134E9C
- movs r6, 0
-_08134E78:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08134E94 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- muls r1, r6
- ldr r2, _08134E98 @ =gSaveBlock2 + 0x4CC
- adds r1, r2
- bl sub_803ADE8
- adds r6, 0x1
- cmp r6, 0x2
- ble _08134E78
- b _08135082
- .align 2, 0
-_08134E94: .4byte gEnemyParty
-_08134E98: .4byte gSaveBlock2 + 0x4CC
-_08134E9C:
- movs r6, 0
- adds r4, r1, 0
- ldr r3, _08134ECC @ =0xffffc158
- adds r5, r4, r3
-_08134EA4:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08134ED0 @ =gEnemyParty
- adds r0, r1
- ldr r2, _08134ED4 @ =0x00000564
- adds r1, r4, r2
- ldrb r2, [r1]
- movs r1, 0xA4
- muls r1, r2
- adds r1, r5
- movs r2, 0x2C
- muls r2, r6
- adds r1, r2
- bl sub_803ADE8
- adds r6, 0x1
- cmp r6, 0x2
- ble _08134EA4
- b _08135082
- .align 2, 0
-_08134ECC: .4byte 0xffffc158
-_08134ED0: .4byte gEnemyParty
-_08134ED4: .4byte 0x00000564
-_08134ED8:
- ldr r2, _08134EF4 @ =gSaveBlock2
- ldr r3, _08134EF8 @ =0x00000554
- adds r0, r2, r3
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r1, r2, 0
- cmp r0, 0
- beq _08134F00
- ldr r0, _08134EFC @ =gBattleTowerLevel100Mons
- mov r10, r0
- movs r2, 0x64
- str r2, [sp, 0x10]
- b _08134F08
- .align 2, 0
-_08134EF4: .4byte gSaveBlock2
-_08134EF8: .4byte 0x00000554
-_08134EFC: .4byte gBattleTowerLevel100Mons
-_08134F00:
- ldr r3, _08134F54 @ =gBattleTowerLevel50Mons
- mov r10, r3
- movs r0, 0x32
- str r0, [sp, 0x10]
-_08134F08:
- ldr r2, _08134F58 @ =gBattleTowerTrainers
- ldr r3, _08134F5C @ =0x00000564
- adds r0, r1, r3
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x9]
- str r0, [sp, 0x20]
- movs r6, 0
-_08134F1E:
- bl Random
- movs r1, 0xFF
- ands r1, r0
- ldr r2, [sp, 0x1C]
- adds r0, r1, 0
- muls r0, r2
- asrs r0, 8
- ldr r3, [sp, 0x18]
- adds r7, r0, r3
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _08134F48
- lsls r0, r7, 4
- add r0, r10
- ldrb r0, [r0, 0x3]
- ldr r1, [sp, 0x20]
- ands r0, r1
- cmp r0, r1
- beq _08134F48
- b _0813507C
-_08134F48:
- movs r5, 0
- lsls r0, r7, 4
- mov r2, r10
- adds r3, r0, r2
- movs r4, 0
- b _08134F64
- .align 2, 0
-_08134F54: .4byte gBattleTowerLevel50Mons
-_08134F58: .4byte gBattleTowerTrainers
-_08134F5C: .4byte 0x00000564
-_08134F60:
- adds r4, 0x64
- adds r5, 0x1
-_08134F64:
- cmp r5, r6
- bge _08134F7E
- ldr r1, _08135094 @ =gEnemyParty
- adds r0, r4, r1
- movs r1, 0xB
- movs r2, 0
- str r3, [sp, 0x24]
- bl GetMonData
- ldr r3, [sp, 0x24]
- ldrh r2, [r3]
- cmp r0, r2
- bne _08134F60
-_08134F7E:
- cmp r5, r6
- bne _0813507C
- movs r5, 0
- cmp r5, r6
- bge _08134FCC
- ldr r3, _08135098 @ =gBattleTowerHeldItems
- mov r9, r3
- lsls r0, r7, 4
- add r0, r10
- mov r8, r0
- movs r3, 0
-_08134F94:
- ldr r0, _08135094 @ =gEnemyParty
- adds r4, r3, r0
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0
- str r3, [sp, 0x24]
- bl GetMonData
- ldr r3, [sp, 0x24]
- cmp r0, 0
- beq _08134FC4
- adds r0, r4, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- mov r2, r8
- ldrb r1, [r2, 0x2]
- lsls r1, 1
- add r1, r9
- ldr r3, [sp, 0x24]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08134FCC
-_08134FC4:
- adds r3, 0x64
- adds r5, 0x1
- cmp r5, r6
- blt _08134F94
-_08134FCC:
- cmp r5, r6
- bne _0813507C
- movs r5, 0
- cmp r5, r6
- bge _08134FEE
- add r0, sp, 0x4
- ldrh r0, [r0]
- cmp r0, r7
- beq _08134FEE
- add r1, sp, 0x4
-_08134FE0:
- adds r1, 0x2
- adds r5, 0x1
- cmp r5, r6
- bge _08134FEE
- ldrh r0, [r1]
- cmp r0, r7
- bne _08134FE0
-_08134FEE:
- cmp r5, r6
- bne _0813507C
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0x4
- strh r7, [r0]
- movs r3, 0x64
- adds r0, r6, 0
- muls r0, r3
- ldr r1, _08135094 @ =gEnemyParty
- adds r0, r1
- lsls r4, r7, 4
- mov r3, r10
- adds r2, r4, r3
- ldrh r1, [r2]
- ldrb r2, [r2, 0xC]
- str r2, [sp]
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl CreateMonWithEVSpread
- movs r5, 0
- adds r0, r6, 0x1
- mov r9, r0
- mov r8, r4
- movs r0, 0x64
- adds r7, r6, 0
- muls r7, r0
- mov r0, r10
- adds r0, 0x4
- adds r4, r0
- ldr r3, _08135094 @ =gEnemyParty
-_0813502E:
- ldrh r1, [r4]
- lsls r2, r5, 24
- lsrs r2, 24
- adds r0, r7, r3
- str r3, [sp, 0x24]
- bl SetMonMoveSlot
- ldrh r0, [r4]
- ldr r3, [sp, 0x24]
- cmp r0, 0xDA
- bne _0813504A
- movs r0, 0
- mov r1, sp
- strb r0, [r1, 0xC]
-_0813504A:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _0813502E
- movs r2, 0x64
- adds r4, r6, 0
- muls r4, r2
- ldr r3, _08135094 @ =gEnemyParty
- adds r4, r3
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- mov r0, r8
- add r0, r10
- ldrb r2, [r0, 0x2]
- lsls r2, 1
- ldr r0, _08135098 @ =gBattleTowerHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r6, r9
-_0813507C:
- cmp r6, 0x3
- beq _08135082
- b _08134F1E
-_08135082:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135094: .4byte gEnemyParty
-_08135098: .4byte gBattleTowerHeldItems
- thumb_func_end sub_8134DD4
-
- thumb_func_start CalcBattleTowerBanlistSeenCount
-CalcBattleTowerBanlistSeenCount: @ 813509C
- push {r4-r6,lr}
- movs r5, 0
- ldr r2, _081350D8 @ =gBattleTowerBanlist
- ldrh r0, [r2]
- ldr r1, _081350DC @ =0x0000ffff
- cmp r0, r1
- beq _081350CE
- adds r6, r1, 0
- adds r4, r2, 0
-_081350AE:
- ldrh r0, [r4]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetNationalPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _081350C6
- adds r5, 0x1
-_081350C6:
- adds r4, 0x2
- ldrh r0, [r4]
- cmp r0, r6
- bne _081350AE
-_081350CE:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081350D8: .4byte gBattleTowerBanlist
-_081350DC: .4byte 0x0000ffff
- thumb_func_end CalcBattleTowerBanlistSeenCount
-
- thumb_func_start AppendBattleTowerBannedSpeciesName
-AppendBattleTowerBannedSpeciesName: @ 81350E0
- 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 GetNationalPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _081351E6
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- subs r0, r4, 0x1
- cmp r0, 0xA
- bhi _081351B0
- lsls r0, 2
- ldr r1, _08135118 @ =_0813511C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08135118: .4byte _0813511C
- .align 2, 0
-_0813511C:
- .4byte _08135148
- .4byte _08135178
- .4byte _08135148
- .4byte _081351B0
- .4byte _08135148
- .4byte _081351B0
- .4byte _08135148
- .4byte _081351B0
- .4byte _08135148
- .4byte _081351B0
- .4byte _08135148
-_08135148:
- cmp r5, r4
- bne _08135160
- ldr r0, _08135158 @ =gStringVar1
- ldr r1, _0813515C @ =gUnknown_08400E23
- bl StringAppend
- b _081351D8
- .align 2, 0
-_08135158: .4byte gStringVar1
-_0813515C: .4byte gUnknown_08400E23
-_08135160:
- cmp r5, r4
- ble _081351D8
- ldr r0, _08135170 @ =gStringVar1
- ldr r1, _08135174 @ =gUnknown_08400E29
- bl StringAppend
- b _081351D8
- .align 2, 0
-_08135170: .4byte gStringVar1
-_08135174: .4byte gUnknown_08400E29
-_08135178:
- cmp r4, r5
- bne _08135190
- ldr r0, _08135188 @ =gStringVar1
- ldr r1, _0813518C @ =gUnknown_08400E23
- bl StringAppend
- b _08135198
- .align 2, 0
-_08135188: .4byte gStringVar1
-_0813518C: .4byte gUnknown_08400E23
-_08135190:
- ldr r0, _081351A4 @ =gStringVar1
- ldr r1, _081351A8 @ =gUnknown_08400E29
- bl StringAppend
-_08135198:
- ldr r0, _081351A4 @ =gStringVar1
- ldr r1, _081351AC @ =gUnknown_08400E30
- bl StringAppend
- b _081351D8
- .align 2, 0
-_081351A4: .4byte gStringVar1
-_081351A8: .4byte gUnknown_08400E29
-_081351AC: .4byte gUnknown_08400E30
-_081351B0:
- cmp r4, r5
- bne _081351C8
- ldr r0, _081351C0 @ =gStringVar1
- ldr r1, _081351C4 @ =gUnknown_08400E23
- bl StringAppend
- b _081351D0
- .align 2, 0
-_081351C0: .4byte gStringVar1
-_081351C4: .4byte gUnknown_08400E23
-_081351C8:
- ldr r0, _081351F0 @ =gStringVar1
- ldr r1, _081351F4 @ =gUnknown_08400E29
- bl StringAppend
-_081351D0:
- ldr r0, _081351F0 @ =gStringVar1
- ldr r1, _081351F8 @ =gUnknown_08400E2E
- bl StringAppend
-_081351D8:
- ldr r0, _081351F0 @ =gStringVar1
- movs r1, 0xB
- muls r1, r6
- ldr r2, _081351FC @ =gSpeciesNames
- adds r1, r2
- bl StringAppend
-_081351E6:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081351F0: .4byte gStringVar1
-_081351F4: .4byte gUnknown_08400E29
-_081351F8: .4byte gUnknown_08400E2E
-_081351FC: .4byte gSpeciesNames
- thumb_func_end AppendBattleTowerBannedSpeciesName
-
- thumb_func_start CheckMonBattleTowerBanlist
-CheckMonBattleTowerBanlist: @ 8135200
- 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 _081352CE
- cmp r4, 0
- beq _081352CE
- ldr r0, _081352DC @ =gBattleTowerBanlist
- ldrh r1, [r0]
- ldr r5, _081352E0 @ =0x0000ffff
- adds r3, r0, 0
- cmp r1, r5
- beq _08135264
- cmp r1, r4
- beq _08135258
- adds r1, r3, 0
-_0813524A:
- adds r1, 0x2
- adds r2, 0x1
- ldrh r0, [r1]
- cmp r0, r5
- beq _08135264
- cmp r0, r4
- bne _0813524A
-_08135258:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r1, [r0]
- ldr r0, _081352E0 @ =0x0000ffff
- cmp r1, r0
- bne _081352CE
-_08135264:
- mov r0, r12
- cmp r0, 0
- bne _08135270
- mov r1, r8
- cmp r1, 0x32
- bhi _081352CE
-_08135270:
- movs r2, 0
- ldrb r3, [r7]
- cmp r2, r3
- bge _08135290
- mov r1, r9
- ldrh r0, [r1]
- cmp r0, r4
- beq _08135290
- adds r5, r3, 0
-_08135282:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r5
- bge _08135290
- ldrh r0, [r1]
- cmp r0, r4
- bne _08135282
-_08135290:
- cmp r2, r3
- bne _081352CE
- cmp r6, 0
- beq _081352BA
- movs r2, 0
- cmp r2, r3
- bge _081352B6
- mov r1, r10
- ldrh r0, [r1]
- cmp r0, r6
- beq _081352B6
- adds r5, r3, 0
-_081352A8:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r5
- bge _081352B6
- ldrh r0, [r1]
- cmp r0, r6
- bne _081352A8
-_081352B6:
- cmp r2, r3
- bne _081352CE
-_081352BA:
- 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]
-_081352CE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081352DC: .4byte gBattleTowerBanlist
-_081352E0: .4byte 0x0000ffff
- thumb_func_end CheckMonBattleTowerBanlist
-
- thumb_func_start CheckPartyBattleTowerBanlist
-CheckPartyBattleTowerBanlist: @ 81352E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- add r1, sp, 0x28
- movs r0, 0
- strb r0, [r1]
- movs r7, 0
- mov r9, r1
- add r0, sp, 0x1C
- mov r10, r0
-_081352FE:
- movs r0, 0x64
- adds r5, r7, 0
- muls r5, r0
- ldr r0, _081353C4 @ =gPlayerParty
- adds r5, r0
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- mov r8, r0
- mov r1, r8
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, _081353C8 @ =gScriptResult
- ldrb r3, [r5]
- str r4, [sp]
- add r0, sp, 0x10
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- mov r0, r8
- adds r1, r6, 0
- bl CheckMonBattleTowerBanlist
- adds r7, 0x1
- cmp r7, 0x5
- ble _081352FE
- mov r1, r9
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _08135420
- ldr r1, _081353CC @ =gStringVar1
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, _081353D0 @ =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0
- mov r1, r9
- strb r0, [r1]
- bl CalcBattleTowerBanlistSeenCount
- adds r6, r0, 0
- ldr r2, _081353D4 @ =gBattleTowerBanlist
- ldrh r0, [r2]
- ldr r1, _081353D8 @ =0x0000ffff
- cmp r0, r1
- beq _081353A8
- mov r5, r9
- adds r7, r1, 0
- adds r4, r2, 0
-_08135394:
- ldrh r0, [r4]
- ldrb r1, [r5]
- adds r2, r6, 0
- bl AppendBattleTowerBannedSpeciesName
- strb r0, [r5]
- adds r4, 0x2
- ldrh r0, [r4]
- cmp r0, r7
- bne _08135394
-_081353A8:
- mov r0, r9
- ldrb r1, [r0]
- cmp r1, 0
- bne _081353E4
- ldr r4, _081353CC @ =gStringVar1
- ldr r1, _081353DC @ =gUnknown_08400E2C
- adds r0, r4, 0
- bl StringAppend
- ldr r1, _081353E0 @ =gUnknown_08400E32
- adds r0, r4, 0
- bl StringAppend
- b _0813543E
- .align 2, 0
-_081353C4: .4byte gPlayerParty
-_081353C8: .4byte gScriptResult
-_081353CC: .4byte gStringVar1
-_081353D0: .4byte gSpecialVar_0x8004
-_081353D4: .4byte gBattleTowerBanlist
-_081353D8: .4byte 0x0000ffff
-_081353DC: .4byte gUnknown_08400E2C
-_081353E0: .4byte gUnknown_08400E32
-_081353E4:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08135400
- ldr r0, _081353F8 @ =gStringVar1
- ldr r1, _081353FC @ =gUnknown_08400E2E
- bl StringAppend
- b _08135408
- .align 2, 0
-_081353F8: .4byte gStringVar1
-_081353FC: .4byte gUnknown_08400E2E
-_08135400:
- ldr r0, _08135414 @ =gStringVar1
- ldr r1, _08135418 @ =gUnknown_08400E2C
- bl StringAppend
-_08135408:
- ldr r0, _08135414 @ =gStringVar1
- ldr r1, _0813541C @ =gUnknown_08400E36
- bl StringAppend
- b _0813543E
- .align 2, 0
-_08135414: .4byte gStringVar1
-_08135418: .4byte gUnknown_08400E2C
-_0813541C: .4byte gUnknown_08400E36
-_08135420:
- ldr r1, _08135450 @ =gSpecialVar_0x8004
- movs r0, 0
- strh r0, [r1]
- ldr r2, _08135454 @ =gSaveBlock2
- ldrb r0, [r5]
- ldr r1, _08135458 @ =0x00000554
- adds r2, r1
- movs r1, 0x1
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_0813543E:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135450: .4byte gSpecialVar_0x8004
-_08135454: .4byte gSaveBlock2
-_08135458: .4byte 0x00000554
- thumb_func_end CheckPartyBattleTowerBanlist
-
- thumb_func_start sub_813545C
-sub_813545C: @ 813545C
- push {lr}
- adds r1, r0, 0
- ldr r0, _08135470 @ =gStringVar4
- movs r2, 0x2
- movs r3, 0x3
- bl sub_80EB544
- pop {r0}
- bx r0
- .align 2, 0
-_08135470: .4byte gStringVar4
- thumb_func_end sub_813545C
-
- thumb_func_start sub_8135474
-sub_8135474: @ 8135474
- push {lr}
- ldr r2, _08135490 @ =gSaveBlock2
- ldr r0, _08135494 @ =0x00000564
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _08135498
- movs r1, 0x95
- lsls r1, 3
- adds r0, r2, r1
- bl sub_813545C
- b _081354C4
- .align 2, 0
-_08135490: .4byte gSaveBlock2
-_08135494: .4byte 0x00000564
-_08135498:
- cmp r0, 0x63
- bhi _081354B4
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, _081354B0 @ =gBattleTowerTrainers + 0xC
- adds r0, r1
- bl sub_813545C
- b _081354C4
- .align 2, 0
-_081354B0: .4byte gBattleTowerTrainers + 0xC
-_081354B4:
- ldrb r1, [r1]
- movs r0, 0xA4
- muls r0, r1
- ldr r3, _081354C8 @ =0xffffc14c
- adds r1, r2, r3
- adds r0, r1
- bl sub_813545C
-_081354C4:
- pop {r0}
- bx r0
- .align 2, 0
-_081354C8: .4byte 0xffffc14c
- thumb_func_end sub_8135474
-
- thumb_func_start sub_81354CC
-sub_81354CC: @ 81354CC
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _081354E4 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _081354E8
- cmp r0, 0x1
- ble _08135520
- cmp r0, 0x2
- beq _0813551C
- b _08135520
- .align 2, 0
-_081354E4: .4byte gSpecialVar_0x8004
-_081354E8:
- movs r5, 0
-_081354EA:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08135514 @ =gSaveBlock1 + 0x238
- adds r0, r4, r0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- ldr r0, _08135518 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
- cmp r5, 0x5
- ble _081354EA
- b _08135520
- .align 2, 0
-_08135514: .4byte gSaveBlock1 + 0x238
-_08135518: .4byte gPlayerParty
-_0813551C:
- bl sub_81360D0
-_08135520:
- ldr r0, _08135530 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08135530: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_81354CC
-
- thumb_func_start sub_8135534
-sub_8135534: @ 8135534
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsBattleTransitionDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08135558
- ldr r0, _08135560 @ =gMain
- ldr r1, _08135564 @ =sub_81354CC
- str r1, [r0, 0x8]
- ldr r0, _08135568 @ =sub_800E7C4
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08135558:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135560: .4byte gMain
-_08135564: .4byte sub_81354CC
-_08135568: .4byte sub_800E7C4
- thumb_func_end sub_8135534
-
- thumb_func_start sub_813556C
-sub_813556C: @ 813556C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08135584 @ =gSpecialVar_0x8004
- ldrh r2, [r0]
- cmp r2, 0x1
- beq _081355AC
- cmp r2, 0x1
- bgt _08135588
- cmp r2, 0
- beq _0813558E
- b _08135648
- .align 2, 0
-_08135584: .4byte gSpecialVar_0x8004
-_08135588:
- cmp r2, 0x2
- beq _08135600
- b _08135648
-_0813558E:
- ldr r1, _081355A4 @ =gBattleTypeFlags
- movs r3, 0x84
- lsls r3, 1
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _081355A8 @ =gTrainerBattleOpponent
- strh r2, [r0]
- bl sub_8134DD4
- b _081355D6
- .align 2, 0
-_081355A4: .4byte gBattleTypeFlags
-_081355A8: .4byte gTrainerBattleOpponent
-_081355AC:
- movs r5, 0
-_081355AE:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _081355F4 @ =gPlayerParty
- adds r0, r4, r0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- ldr r0, _081355F8 @ =gSaveBlock1 + 0x238
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
- cmp r5, 0x5
- ble _081355AE
-_081355D6:
- ldr r0, _081355FC @ =sub_8135534
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl current_map_music_set__default_for_battle
- bl BattleSetup_GetBattleTowerBattleTransition
- lsls r0, 24
- lsrs r0, 24
- bl BattleTransition_StartOnField
- b _08135648
- .align 2, 0
-_081355F4: .4byte gPlayerParty
-_081355F8: .4byte gSaveBlock1 + 0x238
-_081355FC: .4byte sub_8135534
-_08135600:
- bl ZeroEnemyPartyMons
- movs r5, 0
-_08135606:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08135650 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- muls r1, r5
- ldr r2, _08135654 @ =gSaveBlock2 + 0x4CC
- adds r1, r2
- bl sub_803ADE8
- adds r5, 0x1
- cmp r5, 0x2
- ble _08135606
- ldr r1, _08135658 @ =gBattleTypeFlags
- ldr r2, _0813565C @ =0x00000808
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08135660 @ =gTrainerBattleOpponent
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08135664 @ =sub_8135534
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl current_map_music_set__default_for_battle
- bl BattleSetup_GetBattleTowerBattleTransition
- lsls r0, 24
- lsrs r0, 24
- bl BattleTransition_StartOnField
-_08135648:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08135650: .4byte gEnemyParty
-_08135654: .4byte gSaveBlock2 + 0x4CC
-_08135658: .4byte gBattleTypeFlags
-_0813565C: .4byte 0x00000808
-_08135660: .4byte gTrainerBattleOpponent
-_08135664: .4byte sub_8135534
- thumb_func_end sub_813556C
-
- thumb_func_start sub_8135668
-sub_8135668: @ 8135668
- push {r4,r5,lr}
- ldr r1, _0813568C @ =gSaveBlock2
- ldr r2, _08135690 @ =0x00000554
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r4, r0, 31
- ldr r0, _08135694 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0xE
- bls _08135682
- b _0813589A
-_08135682:
- lsls r0, 2
- ldr r1, _08135698 @ =_0813569C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813568C: .4byte gSaveBlock2
-_08135690: .4byte 0x00000554
-_08135694: .4byte gSpecialVar_0x8004
-_08135698: .4byte _0813569C
- .align 2, 0
-_0813569C:
- .4byte _081356D8
- .4byte _08135700
- .4byte _0813571C
- .4byte _08135726
- .4byte _08135740
- .4byte _08135754
- .4byte _08135774
- .4byte _081357D0
- .4byte _081357FC
- .4byte _0813589A
- .4byte _08135820
- .4byte _08135834
- .4byte _0813584C
- .4byte _0813586C
- .4byte _08135888
-_081356D8:
- ldr r0, _081356F0 @ =0x02000000
- ldr r3, _081356F4 @ =0x00000556
- adds r1, r5, r3
- adds r1, r4, r1
- ldrb r2, [r1]
- ldr r3, _081356F8 @ =0x000160fb
- adds r0, r3
- strb r2, [r0]
- ldr r0, _081356FC @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- b _08135898
- .align 2, 0
-_081356F0: .4byte 0x02000000
-_081356F4: .4byte 0x00000556
-_081356F8: .4byte 0x000160fb
-_081356FC: .4byte gSpecialVar_0x8005
-_08135700:
- ldr r0, _08135714 @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r1, _08135718 @ =0x00000554
- adds r3, r5, r1
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- b _08135810
- .align 2, 0
-_08135714: .4byte gSpecialVar_0x8005
-_08135718: .4byte 0x00000554
-_0813571C:
- lsls r1, r4, 1
- movs r2, 0xAB
- lsls r2, 3
- adds r0, r5, r2
- b _0813572C
-_08135726:
- lsls r1, r4, 1
- ldr r3, _08135738 @ =0x0000055c
- adds r0, r5, r3
-_0813572C:
- adds r1, r0
- ldr r0, _0813573C @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- strh r0, [r1]
- b _0813589A
- .align 2, 0
-_08135738: .4byte 0x0000055c
-_0813573C: .4byte gSpecialVar_0x8005
-_08135740:
- ldr r0, _0813574C @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- ldr r2, _08135750 @ =0x00000564
- adds r0, r5, r2
- strb r1, [r0]
- b _0813589A
- .align 2, 0
-_0813574C: .4byte gSpecialVar_0x8005
-_08135750: .4byte 0x00000564
-_08135754:
- movs r2, 0
- ldr r4, _0813576C @ =gSaveBlock2 + 0x565
- ldr r3, _08135770 @ =gSelectedOrderFromParty
-_0813575A:
- adds r0, r2, r4
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _0813575A
- b _0813589A
- .align 2, 0
-_0813576C: .4byte gSaveBlock2 + 0x565
-_08135770: .4byte gSelectedOrderFromParty
-_08135774:
- ldr r3, _081357C0 @ =0x00000564
- adds r0, r5, r3
- ldrb r0, [r0]
- cmp r0, 0xC8
- bne _08135788
- movs r1, 0x93
- lsls r1, 3
- adds r0, r5, r1
- bl sub_81360AC
-_08135788:
- movs r3, 0xAE
- lsls r3, 3
- adds r2, r5, r3
- ldrh r1, [r2]
- ldr r0, _081357C4 @ =0x0000270e
- cmp r1, r0
- bhi _0813579A
- adds r0, r1, 0x1
- strh r0, [r2]
-_0813579A:
- lsls r4, 1
- movs r1, 0xAB
- lsls r1, 3
- adds r0, r5, r1
- adds r4, r0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- bl sub_8135A3C
- ldr r1, _081357C8 @ =gScriptResult
- ldrh r0, [r4]
- strh r0, [r1]
- ldr r1, _081357CC @ =gStringVar1
- adds r0, 0xA1
- strb r0, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- b _0813589A
- .align 2, 0
-_081357C0: .4byte 0x00000564
-_081357C4: .4byte 0x0000270e
-_081357C8: .4byte gScriptResult
-_081357CC: .4byte gStringVar1
-_081357D0:
- lsls r0, r4, 1
- ldr r2, _081357F0 @ =0x0000055c
- adds r1, r5, r2
- adds r4, r0, r1
- ldrh r1, [r4]
- ldr r0, _081357F4 @ =0x00000595
- cmp r1, r0
- bhi _081357E4
- adds r0, r1, 0x1
- strh r0, [r4]
-_081357E4:
- bl sub_8135A3C
- ldr r1, _081357F8 @ =gScriptResult
- ldrh r0, [r4]
- strh r0, [r1]
- b _0813589A
- .align 2, 0
-_081357F0: .4byte 0x0000055c
-_081357F4: .4byte 0x00000595
-_081357F8: .4byte gScriptResult
-_081357FC:
- ldr r0, _08135818 @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r1, _0813581C @ =0x00000554
- adds r3, r5, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
-_08135810:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _0813589A
- .align 2, 0
-_08135818: .4byte gSpecialVar_0x8005
-_0813581C: .4byte 0x00000554
-_08135820:
- ldr r2, _08135830 @ =0x00000572
- adds r0, r5, r2
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGameStat
- b _0813589A
- .align 2, 0
-_08135830: .4byte 0x00000572
-_08135834:
- ldr r3, _08135848 @ =0x00000556
- adds r0, r5, r3
- adds r0, r4, r0
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0813589A
- adds r0, r4, 0
- bl sub_813461C
- b _0813589A
- .align 2, 0
-_08135848: .4byte 0x00000556
-_0813584C:
- ldr r1, _08135860 @ =0x00000556
- adds r0, r5, r1
- adds r0, r4, r0
- ldr r1, _08135864 @ =0x02000000
- ldr r2, _08135868 @ =0x000160fb
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- b _0813589A
- .align 2, 0
-_08135860: .4byte 0x00000556
-_08135864: .4byte 0x02000000
-_08135868: .4byte 0x000160fb
-_0813586C:
- adds r0, r4, 0
- bl sub_8135D3C
- ldr r1, _08135880 @ =gSaveBlock2
- lsls r2, r4, 1
- ldr r3, _08135884 @ =0x00000574
- adds r1, r3
- adds r2, r1
- strh r0, [r2]
- b _0813589A
- .align 2, 0
-_08135880: .4byte gSaveBlock2
-_08135884: .4byte 0x00000574
-_08135888:
- ldr r1, _081358A0 @ =0x00000554
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- movs r2, 0xAF
- lsls r2, 3
- adds r1, r5, r2
-_08135898:
- strb r0, [r1]
-_0813589A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081358A0: .4byte 0x00000554
- thumb_func_end sub_8135668
-
- thumb_func_start sub_81358A4
-sub_81358A4: @ 81358A4
- push {r4,lr}
- ldr r1, _081358C8 @ =gSaveBlock2
- ldr r2, _081358CC @ =0x00000554
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r4, r0, 31
- ldr r0, _081358D0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0xE
- bls _081358BE
- b _08135A0A
-_081358BE:
- lsls r0, 2
- ldr r1, _081358D4 @ =_081358D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081358C8: .4byte gSaveBlock2
-_081358CC: .4byte 0x00000554
-_081358D0: .4byte gSpecialVar_0x8004
-_081358D4: .4byte _081358D8
- .align 2, 0
-_081358D8:
- .4byte _08135914
- .4byte _08135928
- .4byte _0813593C
- .4byte _0813594C
- .4byte _08135964
- .4byte _08135A0A
- .4byte _08135A0A
- .4byte _08135A0A
- .4byte _08135978
- .4byte _08135990
- .4byte _081359A0
- .4byte _081359B4
- .4byte _081359BC
- .4byte _081359DC
- .4byte _081359F8
-_08135914:
- ldr r0, _08135920 @ =gScriptResult
- ldr r2, _08135924 @ =0x00000556
- adds r1, r3, r2
- adds r1, r4, r1
- b _0813596A
- .align 2, 0
-_08135920: .4byte gScriptResult
-_08135924: .4byte 0x00000556
-_08135928:
- ldr r1, _08135934 @ =gScriptResult
- ldr r4, _08135938 @ =0x00000554
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 31
- b _08135982
- .align 2, 0
-_08135934: .4byte gScriptResult
-_08135938: .4byte 0x00000554
-_0813593C:
- ldr r2, _08135948 @ =gScriptResult
- lsls r0, r4, 1
- movs r4, 0xAB
- lsls r4, 3
- b _08135952
- .align 2, 0
-_08135948: .4byte gScriptResult
-_0813594C:
- ldr r2, _0813595C @ =gScriptResult
- lsls r0, r4, 1
- ldr r4, _08135960 @ =0x0000055c
-_08135952:
- adds r1, r3, r4
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- b _08135A0A
- .align 2, 0
-_0813595C: .4byte gScriptResult
-_08135960: .4byte 0x0000055c
-_08135964:
- ldr r0, _08135970 @ =gScriptResult
- ldr r2, _08135974 @ =0x00000564
- adds r1, r3, r2
-_0813596A:
- ldrb r1, [r1]
- strh r1, [r0]
- b _08135A0A
- .align 2, 0
-_08135970: .4byte gScriptResult
-_08135974: .4byte 0x00000564
-_08135978:
- ldr r1, _08135988 @ =gScriptResult
- ldr r4, _0813598C @ =0x00000554
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 30
-_08135982:
- lsrs r0, 31
- strh r0, [r1]
- b _08135A0A
- .align 2, 0
-_08135988: .4byte gScriptResult
-_0813598C: .4byte 0x00000554
-_08135990:
- adds r0, r4, 0
- bl sub_8135D3C
- ldr r1, _0813599C @ =gScriptResult
- strh r0, [r1]
- b _08135A0A
- .align 2, 0
-_0813599C: .4byte gScriptResult
-_081359A0:
- ldr r1, _081359B0 @ =0x00000572
- adds r0, r3, r1
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGameStat
- b _08135A0A
- .align 2, 0
-_081359B0: .4byte 0x00000572
-_081359B4:
- adds r0, r4, 0
- bl sub_813461C
- b _08135A0A
-_081359BC:
- ldr r2, _081359D0 @ =0x00000556
- adds r0, r3, r2
- adds r0, r4, r0
- ldr r1, _081359D4 @ =0x02000000
- ldr r3, _081359D8 @ =0x000160fb
- adds r1, r3
- ldrb r1, [r1]
- strb r1, [r0]
- b _08135A0A
- .align 2, 0
-_081359D0: .4byte 0x00000556
-_081359D4: .4byte 0x02000000
-_081359D8: .4byte 0x000160fb
-_081359DC:
- adds r0, r4, 0
- bl sub_8135D3C
- ldr r1, _081359F0 @ =gSaveBlock2
- lsls r2, r4, 1
- ldr r4, _081359F4 @ =0x00000574
- adds r1, r4
- adds r2, r1
- strh r0, [r2]
- b _08135A0A
- .align 2, 0
-_081359F0: .4byte gSaveBlock2
-_081359F4: .4byte 0x00000574
-_081359F8:
- ldr r1, _08135A10 @ =0x00000554
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- movs r2, 0xAF
- lsls r2, 3
- adds r1, r3, r2
- strb r0, [r1]
-_08135A0A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135A10: .4byte 0x00000554
- thumb_func_end sub_81358A4
-
- thumb_func_start sub_8135A14
-sub_8135A14: @ 8135A14
- push {r4,lr}
- movs r2, 0
- ldr r4, _08135A34 @ =gSelectedOrderFromParty
- ldr r3, _08135A38 @ =gSaveBlock2 + 0x565
-_08135A1C:
- adds r0, r2, r4
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _08135A1C
- bl ReducePlayerPartyToThree
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135A34: .4byte gSelectedOrderFromParty
-_08135A38: .4byte gSaveBlock2 + 0x565
- thumb_func_end sub_8135A14
-
- thumb_func_start sub_8135A3C
-sub_8135A3C: @ 8135A3C
- push {r4-r6,lr}
- ldr r6, _08135A84 @ =gSaveBlock2
- ldr r1, _08135A88 @ =0x00000554
- adds r0, r6, r1
- ldrb r4, [r0]
- lsls r4, 31
- lsrs r4, 31
- adds r0, r4, 0
- bl sub_8135D3C
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r4, 1
- movs r3, 0xAC
- lsls r3, 3
- adds r2, r6, r3
- adds r4, r2
- ldrh r0, [r4]
- cmp r0, r5
- bcs _08135A66
- strh r5, [r4]
-_08135A66:
- ldr r0, _08135A8C @ =0x00000562
- adds r1, r6, r0
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bls _08135A94
- adds r5, r0, 0
- movs r0, 0x20
- adds r1, r5, 0
- bl SetGameStat
- ldr r1, _08135A90 @ =0x0000270f
- cmp r5, r1
- bhi _08135AA4
- b _08135AB4
- .align 2, 0
-_08135A84: .4byte gSaveBlock2
-_08135A88: .4byte 0x00000554
-_08135A8C: .4byte 0x00000562
-_08135A90: .4byte 0x0000270f
-_08135A94:
- ldrh r5, [r1]
- movs r0, 0x20
- adds r1, r5, 0
- bl SetGameStat
- ldr r1, _08135AAC @ =0x0000270f
- cmp r5, r1
- bls _08135AB4
-_08135AA4:
- ldr r2, _08135AB0 @ =0x00000572
- adds r0, r6, r2
- strh r1, [r0]
- b _08135ABA
- .align 2, 0
-_08135AAC: .4byte 0x0000270f
-_08135AB0: .4byte 0x00000572
-_08135AB4:
- ldr r3, _08135AC0 @ =0x00000572
- adds r0, r6, r3
- strh r5, [r0]
-_08135ABA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08135AC0: .4byte 0x00000572
- thumb_func_end sub_8135A3C
-
- thumb_func_start sub_8135AC4
-sub_8135AC4: @ 8135AC4
- push {r4-r6,lr}
- ldr r5, _08135AF0 @ =gSaveBlock2 + 0xA8
- adds r2, r5, 0
- subs r2, 0xA8
- ldr r1, _08135AF4 @ =0x000004ac
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r6, r0, 31
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _08135AFC
- ldr r4, _08135AF8 @ =gUnknown_08405E7E
- 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 _08135B0E
- .align 2, 0
-_08135AF0: .4byte gSaveBlock2 + 0xA8
-_08135AF4: .4byte 0x000004ac
-_08135AF8: .4byte gUnknown_08405E7E
-_08135AFC:
- ldr r4, _08135B84 @ =gUnknown_08405E60
- 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
-_08135B0E:
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- strb r6, [r5]
- strb r0, [r5, 0x1]
- adds r0, r5, 0
- adds r0, 0xC
- ldr r4, _08135B88 @ =gSaveBlock2 + 0xA
- adds r1, r4, 0
- bl copy_word_to_mem
- adds r0, r5, 0x4
- subs r4, 0xA
- adds r1, r4, 0
- bl StringCopy8
- adds r0, r6, 0
- bl sub_8135D3C
- strh r0, [r5, 0x2]
- ldr r0, _08135B8C @ =gSaveBlock1
- ldr r1, _08135B90 @ =0x00002b28
- adds r2, r0, r1
- adds r1, r5, 0
- adds r1, 0x10
- movs r4, 0x5
-_08135B44:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08135B44
- movs r4, 0
- ldr r6, _08135B94 @ =gSaveBlock2 + 0x565
-_08135B56:
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08135B98 @ =gUnknown_030042FC
- adds r0, r1
- movs r1, 0x2C
- muls r1, r4
- adds r1, 0x1C
- adds r1, r5, r1
- bl sub_803AF78
- adds r4, 0x1
- cmp r4, 0x2
- ble _08135B56
- ldr r0, _08135B9C @ =gSaveBlock2 + 0xA8
- bl sub_8135CC4
- bl sub_8135A3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08135B84: .4byte gUnknown_08405E60
-_08135B88: .4byte gSaveBlock2 + 0xA
-_08135B8C: .4byte gSaveBlock1
-_08135B90: .4byte 0x00002b28
-_08135B94: .4byte gSaveBlock2 + 0x565
-_08135B98: .4byte gUnknown_030042FC
-_08135B9C: .4byte gSaveBlock2 + 0xA8
- thumb_func_end sub_8135AC4
-
- thumb_func_start sub_8135BA0
-sub_8135BA0: @ 8135BA0
- push {r4,r5,lr}
- ldr r2, _08135C1C @ =gSaveBlock2
- ldr r1, _08135C20 @ =0x00000554
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r5, r0, 31
- ldr r0, _08135C24 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x3
- beq _08135BBA
- cmp r0, 0
- bne _08135BD8
-_08135BBA:
- lsls r1, r5, 1
- ldr r3, _08135C28 @ =0x0000055c
- adds r0, r2, r3
- adds r0, r1, r0
- ldrh r0, [r0]
- cmp r0, 0x1
- bhi _08135BD4
- subs r3, 0x4
- adds r0, r2, r3
- adds r0, r1, r0
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _08135BD8
-_08135BD4:
- bl sub_8135AC4
-_08135BD8:
- bl sub_8135CFC
- ldr r4, _08135C1C @ =gSaveBlock2
- ldr r0, _08135C2C @ =gBattleOutcome
- ldrb r1, [r0]
- ldr r2, _08135C30 @ =0x00000555
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, _08135C24 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- cmp r1, 0x3
- beq _08135BF8
- ldr r3, _08135C34 @ =0x00000556
- adds r0, r4, r3
- adds r0, r5, r0
- strb r1, [r0]
-_08135BF8:
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r0, _08135C20 @ =0x00000554
- adds r2, r4, r0
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x2
- bl TrySavingData
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08135C1C: .4byte gSaveBlock2
-_08135C20: .4byte 0x00000554
-_08135C24: .4byte gSpecialVar_0x8004
-_08135C28: .4byte 0x0000055c
-_08135C2C: .4byte gBattleOutcome
-_08135C30: .4byte 0x00000555
-_08135C34: .4byte 0x00000556
- thumb_func_end sub_8135BA0
-
- thumb_func_start sub_8135C38
-sub_8135C38: @ 8135C38
- push {lr}
- bl DoSoftReset
- pop {r0}
- bx r0
- thumb_func_end sub_8135C38
-
- thumb_func_start sub_8135C44
-sub_8135C44: @ 8135C44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r3, 0
- movs r1, 0
- ldr r2, _08135CBC @ =gSaveBlock2 + 0xA8
-_08135C50:
- ldm r2!, {r0}
- adds r3, r0
- adds r1, 0x1
- cmp r1, 0x27
- bls _08135C50
- ldr r5, _08135CC0 @ =gSaveBlock2
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- cmp r0, r3
- beq _08135C70
- adds r0, r5, 0
- adds r0, 0xA8
- bl sub_8135CE8
-_08135C70:
- movs r4, 0
- movs r7, 0xA4
- movs r0, 0xA6
- lsls r0, 1
- adds r6, r5, r0
- mov r8, r5
-_08135C7C:
- adds r0, r4, 0
- muls r0, r7
- movs r3, 0
- movs r1, 0
- adds r5, r4, 0x1
- adds r2, r0, r6
-_08135C88:
- ldm r2!, {r0}
- adds r3, r0
- adds r1, 0x1
- cmp r1, 0x27
- bls _08135C88
- adds r1, r4, 0
- muls r1, r7
- movs r0, 0xF6
- lsls r0, 1
- add r0, r8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, r3
- beq _08135CAA
- adds r0, r1, r6
- bl sub_8135CE8
-_08135CAA:
- adds r4, r5, 0
- cmp r4, 0x4
- ble _08135C7C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135CBC: .4byte gSaveBlock2 + 0xA8
-_08135CC0: .4byte gSaveBlock2
- thumb_func_end sub_8135C44
-
- thumb_func_start sub_8135CC4
-sub_8135CC4: @ 8135CC4
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xA0
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_08135CD2:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x27
- bls _08135CD2
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8135CC4
-
- thumb_func_start sub_8135CE8
-sub_8135CE8: @ 8135CE8
- push {lr}
- movs r1, 0
- movs r2, 0
-_08135CEE:
- stm r0!, {r2}
- adds r1, 0x1
- cmp r1, 0x28
- bls _08135CEE
- pop {r0}
- bx r0
- thumb_func_end sub_8135CE8
-
- thumb_func_start sub_8135CFC
-sub_8135CFC: @ 8135CFC
- push {r4,lr}
- ldr r4, _08135D34 @ =gSaveBlock2 + 0x484
- adds r0, r4, 0
- bl get_trainer_name
- ldr r2, _08135D38 @ =gBattleMons
- adds r0, r2, 0
- adds r0, 0x58
- ldrh r1, [r0]
- subs r0, r4, 0x2
- strh r1, [r0]
- ldrh r1, [r2]
- subs r0, r4, 0x4
- strh r1, [r0]
- movs r3, 0
- adds r4, 0x8
- adds r2, 0x30
-_08135D1E:
- adds r0, r3, r4
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _08135D1E
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135D34: .4byte gSaveBlock2 + 0x484
-_08135D38: .4byte gBattleMons
- thumb_func_end sub_8135CFC
-
- thumb_func_start sub_8135D3C
-sub_8135D3C: @ 8135D3C
- push {lr}
- lsls r0, 24
- ldr r3, _08135D74 @ =gSaveBlock2
- lsrs r0, 23
- ldr r2, _08135D78 @ =0x0000055c
- adds r1, r3, r2
- adds r1, r0, r1
- ldrh r2, [r1]
- subs r2, 0x1
- lsls r1, r2, 3
- subs r1, r2
- movs r2, 0xAB
- lsls r2, 3
- adds r3, r2
- adds r0, r3
- ldr r2, _08135D7C @ =0x0000ffff
- adds r1, r2
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- lsrs r0, r1, 16
- ldr r1, _08135D80 @ =0x0000270f
- cmp r0, r1
- bls _08135D6E
- adds r0, r1, 0
-_08135D6E:
- pop {r1}
- bx r1
- .align 2, 0
-_08135D74: .4byte gSaveBlock2
-_08135D78: .4byte 0x0000055c
-_08135D7C: .4byte 0x0000ffff
-_08135D80: .4byte 0x0000270f
- thumb_func_end sub_8135D3C
-
- thumb_func_start sub_8135D84
-sub_8135D84: @ 8135D84
- push {r4,r5,lr}
- ldr r5, _08135DB0 @ =gSaveBlock2
- ldr r1, _08135DB4 @ =0x00000554
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- lsls r0, 1
- ldr r2, _08135DB8 @ =0x0000055c
- adds r1, r5, r2
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x5
- ble _08135DC0
- bl Random
- ldr r4, _08135DBC @ =gUnknown_08405EE6
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x9
- b _08135DCC
- .align 2, 0
-_08135DB0: .4byte gSaveBlock2
-_08135DB4: .4byte 0x00000554
-_08135DB8: .4byte 0x0000055c
-_08135DBC: .4byte gUnknown_08405EE6
-_08135DC0:
- bl Random
- ldr r4, _08135DE8 @ =gUnknown_08405EDA
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
-_08135DCC:
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r4
- ldrh r1, [r0]
- movs r2, 0xAD
- lsls r2, 3
- adds r0, r5, r2
- strh r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08135DE8: .4byte gUnknown_08405EDA
- thumb_func_end sub_8135D84
-
- thumb_func_start sub_8135DEC
-sub_8135DEC: @ 8135DEC
- push {r4-r7,lr}
- ldr r5, _08135E20 @ =gSaveBlock2
- ldr r1, _08135E24 @ =0x00000554
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r7, r0, 31
- movs r0, 0xAD
- lsls r0, 3
- adds r6, r5, r0
- ldrh r0, [r6]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _08135E30
- ldrh r0, [r6]
- ldr r1, _08135E28 @ =gStringVar1
- bl CopyItemName
- ldr r0, _08135E2C @ =gScriptResult
- strh r4, [r0]
- b _08135E40
- .align 2, 0
-_08135E20: .4byte gSaveBlock2
-_08135E24: .4byte 0x00000554
-_08135E28: .4byte gStringVar1
-_08135E2C: .4byte gScriptResult
-_08135E30:
- ldr r1, _08135E48 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- ldr r1, _08135E4C @ =0x00000556
- adds r0, r5, r1
- adds r0, r7, r0
- movs r1, 0x6
- strb r1, [r0]
-_08135E40:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135E48: .4byte gScriptResult
-_08135E4C: .4byte 0x00000556
- thumb_func_end sub_8135DEC
-
- thumb_func_start sub_8135E50
-sub_8135E50: @ 8135E50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _08135ED4 @ =gSaveBlock2
- ldr r1, _08135ED8 @ =0x00000554
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r0, 0
- movs r7, 0x44
- cmp r1, 0
- beq _08135E6C
- movs r7, 0x45
-_08135E6C:
- ldr r4, _08135EDC @ =gScriptResult
- movs r0, 0
- strh r0, [r4]
- adds r0, r1, 0
- bl sub_8135D3C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x37
- bls _08135EBA
- movs r5, 0
- ldr r0, _08135EE0 @ =0x00000565
- adds r0, r6
- mov r8, r0
- adds r6, r4, 0
-_08135E8A:
- mov r1, r8
- adds r0, r5, r1
- ldrb r0, [r0]
- subs r0, 0x1
- movs r1, 0x64
- muls r1, r0
- ldr r0, _08135EE4 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl GetMonData
- cmp r0, 0
- bne _08135EB4
- movs r0, 0x1
- strh r0, [r6]
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl SetMonData
-_08135EB4:
- adds r5, 0x1
- cmp r5, 0x2
- ble _08135E8A
-_08135EBA:
- ldr r0, _08135EDC @ =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0
- beq _08135EC8
- movs r0, 0x2A
- bl IncrementGameStat
-_08135EC8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135ED4: .4byte gSaveBlock2
-_08135ED8: .4byte 0x00000554
-_08135EDC: .4byte gScriptResult
-_08135EE0: .4byte 0x00000565
-_08135EE4: .4byte gPlayerParty
- thumb_func_end sub_8135E50
-
- thumb_func_start unref_sub_8135EE8
-unref_sub_8135EE8: @ 8135EE8
- push {r4-r7,lr}
- ldr r7, _08135F0C @ =gSaveBlock2 + 0x498
- ldr r0, _08135F10 @ =0xfffffb68
- adds r2, r7, r0
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _08135F18
- ldr r4, _08135F14 @ =gUnknown_08405E7E
- 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 _08135F2A
- .align 2, 0
-_08135F0C: .4byte gSaveBlock2 + 0x498
-_08135F10: .4byte 0xfffffb68
-_08135F14: .4byte gUnknown_08405E7E
-_08135F18:
- ldr r4, _08135FA8 @ =gUnknown_08405E60
- 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
-_08135F2A:
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r7, 0x1]
- adds r0, r7, 0
- adds r0, 0xC
- ldr r4, _08135FAC @ =gSaveBlock2 + 0xA
- adds r1, r4, 0
- bl copy_word_to_mem
- adds r0, r7, 0x4
- subs r4, 0xA
- adds r1, r4, 0
- bl StringCopy8
- movs r0, 0x1
- strh r0, [r7, 0x2]
- movs r5, 0x7
- movs r4, 0
- ldr r0, _08135FB0 @ =gSaveBlock1
- ldr r1, _08135FB4 @ =0x00002b28
- adds r6, r0, r1
- adds r3, r7, 0
- adds r3, 0x10
- adds r2, r7, 0
- adds r2, 0x28
- adds r1, r7, 0
- adds r1, 0x1C
-_08135F64:
- ldrh r0, [r6]
- strh r0, [r3]
- strh r5, [r1]
- adds r0, r5, 0x6
- strh r0, [r2]
- adds r5, 0x1
- adds r6, 0x2
- adds r3, 0x2
- adds r2, 0x2
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x5
- ble _08135F64
- movs r4, 0
-_08135F80:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _08135FB8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- muls r1, r4
- adds r1, 0x34
- adds r1, r7, r1
- bl sub_803AF78
- adds r4, 0x1
- cmp r4, 0x2
- ble _08135F80
- adds r0, r7, 0
- bl sub_8136088
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135FA8: .4byte gUnknown_08405E60
-_08135FAC: .4byte gSaveBlock2 + 0xA
-_08135FB0: .4byte gSaveBlock1
-_08135FB4: .4byte 0x00002b28
-_08135FB8: .4byte gPlayerParty
- thumb_func_end unref_sub_8135EE8
-
- thumb_func_start sub_8135FBC
-sub_8135FBC: @ 8135FBC
- ldr r1, _08135FCC @ =gTrainerClassToPicIndex
- ldr r0, _08135FD0 @ =gSaveBlock2
- ldr r2, _08135FD4 @ =0x00000499
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08135FCC: .4byte gTrainerClassToPicIndex
-_08135FD0: .4byte gSaveBlock2
-_08135FD4: .4byte 0x00000499
- thumb_func_end sub_8135FBC
-
- thumb_func_start sub_8135FD8
-sub_8135FD8: @ 8135FD8
- ldr r1, _08135FE8 @ =gTrainerClassToNameIndex
- ldr r0, _08135FEC @ =gSaveBlock2
- ldr r2, _08135FF0 @ =0x00000499
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08135FE8: .4byte gTrainerClassToNameIndex
-_08135FEC: .4byte gSaveBlock2
-_08135FF0: .4byte 0x00000499
- thumb_func_end sub_8135FD8
-
- thumb_func_start sub_8135FF4
-sub_8135FF4: @ 8135FF4
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r4, _08136018 @ =gSaveBlock2 + 0x49C
-_08135FFC:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x6
- ble _08135FFC
- adds r1, r3, r2
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08136018: .4byte gSaveBlock2 + 0x49C
- thumb_func_end sub_8135FF4
-
- thumb_func_start sub_813601C
-sub_813601C: @ 813601C
- push {r4,r5,lr}
- ldr r1, _08136044 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- ldr r5, _08136048 @ =gSaveBlock2 + 0x498
- movs r3, 0
- movs r2, 0
- adds r4, r1, 0
- adds r1, r5, 0
-_0813602E:
- ldm r1!, {r0}
- orrs r3, r0
- adds r2, 0x1
- cmp r2, 0x2D
- bls _0813602E
- cmp r3, 0
- bne _0813604C
- movs r0, 0x1
- strh r0, [r4]
- b _08136078
- .align 2, 0
-_08136044: .4byte gScriptResult
-_08136048: .4byte gSaveBlock2 + 0x498
-_0813604C:
- movs r3, 0
- movs r2, 0
- ldr r4, _08136080 @ =gSaveBlock2
- adds r1, r5, 0
-_08136054:
- ldm r1!, {r0}
- adds r3, r0
- adds r2, 0x1
- cmp r2, 0x2D
- bls _08136054
- movs r1, 0xAA
- lsls r1, 3
- adds r0, r4, r1
- ldr r0, [r0]
- cmp r0, r3
- beq _08136078
- subs r1, 0xB8
- adds r0, r4, r1
- bl sub_81360AC
- ldr r1, _08136084 @ =gScriptResult
- movs r0, 0x1
- strh r0, [r1]
-_08136078:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08136080: .4byte gSaveBlock2
-_08136084: .4byte gScriptResult
- thumb_func_end sub_813601C
-
- thumb_func_start sub_8136088
-sub_8136088: @ 8136088
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xB8
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_08136096:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x2D
- bls _08136096
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8136088
-
- thumb_func_start sub_81360AC
-sub_81360AC: @ 81360AC
- push {lr}
- movs r1, 0
- movs r2, 0
-_081360B2:
- stm r0!, {r2}
- adds r1, 0x1
- cmp r1, 0x2E
- bls _081360B2
- pop {r0}
- bx r0
- thumb_func_end sub_81360AC
-
- thumb_func_start sub_81360C0
-sub_81360C0: @ 81360C0
- push {lr}
- ldr r0, _081360CC @ =gSaveBlock2 + 0x4A8
- bl sub_813545C
- pop {r0}
- bx r0
- .align 2, 0
-_081360CC: .4byte gSaveBlock2 + 0x4A8
- thumb_func_end sub_81360C0
-
- thumb_func_start sub_81360D0
-sub_81360D0: @ 81360D0
- push {lr}
- ldr r0, _081360E4 @ =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _081360EC
- ldr r1, _081360E8 @ =gStringVar4
- movs r0, 0xFF
- strb r0, [r1]
- b _08136102
- .align 2, 0
-_081360E4: .4byte gBattleOutcome
-_081360E8: .4byte gStringVar4
-_081360EC:
- cmp r0, 0x1
- bne _081360FC
- ldr r0, _081360F8 @ =gSaveBlock2 + 0x4C0
- bl sub_813545C
- b _08136102
- .align 2, 0
-_081360F8: .4byte gSaveBlock2 + 0x4C0
-_081360FC:
- ldr r0, _08136108 @ =gSaveBlock2 + 0x4B4
- bl sub_813545C
-_08136102:
- pop {r0}
- bx r0
- .align 2, 0
-_08136108: .4byte gSaveBlock2 + 0x4B4
- thumb_func_end sub_81360D0
-
- thumb_func_start sub_813610C
-sub_813610C: @ 813610C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0813612C @ =gSaveBlock2 + 0x556
-_08136112:
- adds r0, r4, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0813611E
- bl sub_80BFD20
-_0813611E:
- adds r4, 0x1
- cmp r4, 0x1
- ble _08136112
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813612C: .4byte gSaveBlock2 + 0x556
- thumb_func_end sub_813610C
-
-.ifdef GERMAN
- thumb_func_start de_sub_81364AC
-de_sub_81364AC: @ 81364AC
- push {lr}
- ldr r2, _DE_081364C0 @ =gSaveBlock2
- ldr r0, _DE_081364C4 @ =0x00000564
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xC8
- bne _DE_081364CC
- ldr r1, _DE_081364C8 @ =0x00000499
- adds r0, r2, r1
- b _DE_081364F2
- .align 2, 0
-_DE_081364C0: .4byte gSaveBlock2
-_DE_081364C4: .4byte 0x00000564
-_DE_081364C8: .4byte 0x00000499
-_DE_081364CC:
- cmp r0, 0x63
- bhi _DE_081364E4
- ldr r2, _DE_081364E0 @ =gBattleTowerTrainers
- ldrb r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- b _DE_081364F2
- .align 2, 0
-_DE_081364E0: .4byte gBattleTowerTrainers
-_DE_081364E4:
- ldrb r0, [r1]
- subs r0, 0x64
- movs r1, 0xA4
- muls r0, r1
- adds r0, r2
- adds r1, 0xA9
- adds r0, r1
-_DE_081364F2:
- ldrb r0, [r0]
- pop {r1}
- bx r1
- thumb_func_end de_sub_81364AC
-
- thumb_func_start de_sub_81364F8
-de_sub_81364F8: @ 81364F8
- ldr r0, _DE_08136504 @ =gSaveBlock2
- ldr r1, _DE_08136508 @ =0x00000499
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_DE_08136504: .4byte gSaveBlock2
-_DE_08136508: .4byte 0x00000499
- thumb_func_end de_sub_81364F8
-.endif
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_car.s b/asm/cable_car.s
index e4d989844..385cd404d 100644
--- a/asm/cable_car.s
+++ b/asm/cable_car.s
@@ -256,22 +256,22 @@ _081233EC:
ldr r0, _0812345C @ =gCableCarMtChimneyTilemap
ldr r4, _08123460 @ =0x02019000
adds r1, r4, 0
- bl sub_800D238
+ bl LZDecompressWram
ldr r0, _08123464 @ =gCableCarTreeTilemap
movs r2, 0xB4
lsls r2, 1
adds r1, r4, r2
- bl sub_800D238
+ bl LZDecompressWram
ldr r0, _08123468 @ =gCableCarMountainTilemap
movs r2, 0xA5
lsls r2, 3
adds r1, r4, r2
- bl sub_800D238
+ bl LZDecompressWram
ldr r0, _0812346C @ =gCableCarPylonStemTilemap
ldr r1, _08123470 @ =0x000009d8
adds r4, r1
adds r1, r4, 0
- bl sub_800D238
+ bl LZDecompressWram
ldr r0, _08123474 @ =gCableCarBG_Pal
movs r1, 0
movs r2, 0x80
diff --git a/asm/contest.s b/asm/contest.s
index 4a85f3d16..c5dfe3e2e 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -6904,7 +6904,7 @@ sub_80AE9FC: @ 80AE9FC
adds r0, r5, 0
mov r1, r8
adds r2, r6, 0
- bl species_and_otid_get_pal
+ bl GetMonSpritePalFromOtIdPersonality
movs r1, 0x90
lsls r1, 1
movs r2, 0x20
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s
index 93dd26eee..b91a9665b 100644
--- a/asm/contest_link_80C2020.s
+++ b/asm/contest_link_80C2020.s
@@ -1361,7 +1361,7 @@ _080C2B14:
adds r0, r6, 0
ldr r1, [sp, 0xC]
adds r2, r4, 0
- bl sub_80409C8
+ bl GetMonSpritePalStructFromOtIdPersonality
adds r4, r0, 0
bl LoadCompressedObjectPalette
adds r0, r6, 0
@@ -1601,7 +1601,7 @@ _080C2D42:
lsls r0, 16
lsrs r0, 16
movs r1, 0x2
- bl GetNationalPokedexFlag
+ bl GetSetPokedexFlag
adds r5, 0x40
subs r4, 0x1
cmp r4, 0
diff --git a/asm/daycare.s b/asm/daycare.s
deleted file mode 100644
index a0ea9124a..000000000
--- a/asm/daycare.s
+++ /dev/null
@@ -1,2399 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80416A0
-sub_80416A0: @ 80416A0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- lsls r0, r4, 2
- mov r8, r0
- add r4, r8
- lsls r4, 4
- adds r4, r5, r4
- adds r0, r4, 0
- bl GetLevelFromBoxMonExp
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x88
- lsls r0, 1
- adds r5, r0
- add r5, r8
- ldr r1, [r5]
- adds r0, r4, 0
- bl Daycare_GetLevelAfterSteps
- lsls r0, 24
- lsrs r0, 24
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80416A0
-
- thumb_func_start sub_80416E8
-sub_80416E8: @ 80416E8
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- adds r1, r4, 0
- bl sub_80416A0
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- adds r6, r0
- ldr r1, _08041720 @ =gStringVar1
- adds r0, r6, 0
- bl GetBoxMonNick
- ldr r0, _08041724 @ =gStringVar2
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08041720: .4byte gStringVar1
-_08041724: .4byte gStringVar2
- thumb_func_end sub_80416E8
-
- thumb_func_start sub_8041728
-sub_8041728: @ 8041728
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- adds r1, r4, 0
- bl sub_80416A0
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- adds r6, r0
- ldr r1, _08041768 @ =gStringVar1
- adds r0, r6, 0
- bl GetBoxMonNick
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- adds r4, 0x64
- ldr r0, _0804176C @ =gStringVar2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08041768: .4byte gStringVar1
-_0804176C: .4byte gStringVar2
- thumb_func_end sub_8041728
-
- thumb_func_start sub_8041770
-sub_8041770: @ 8041770
- push {lr}
- ldr r0, _08041784 @ =gSaveBlock1 + 0x2F9C
- ldr r1, _08041788 @ =gSpecialVar_0x8004
- ldrb r1, [r1]
- bl sub_8041728
- ldr r1, _0804178C @ =gSpecialVar_0x8005
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08041784: .4byte gSaveBlock1 + 0x2F9C
-_08041788: .4byte gSpecialVar_0x8004
-_0804178C: .4byte gSpecialVar_0x8005
- thumb_func_end sub_8041770
-
- thumb_func_start sub_8041790
-sub_8041790: @ 8041790
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080417AC @ =gSaveBlock1
- ldr r1, _080417B0 @ =0x000030ac
- adds r3, r2, r1
- ldr r1, [r3]
- adds r1, r0
- str r1, [r3]
- ldr r1, _080417B4 @ =0x000030b0
- adds r2, r1
- ldr r1, [r2]
- adds r1, r0
- str r1, [r2]
- bx lr
- .align 2, 0
-_080417AC: .4byte gSaveBlock1
-_080417B0: .4byte 0x000030ac
-_080417B4: .4byte 0x000030b0
- thumb_func_end sub_8041790
-
- thumb_func_start sub_80417B8
-sub_80417B8: @ 80417B8
- push {r4,r5,lr}
- ldr r5, _080417D8 @ =gSpecialVar_0x8004
- ldrh r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- ldr r4, _080417DC @ =gSaveBlock1 + 0x2F9C
- adds r0, r4
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _080417E0
- movs r0, 0
- b _080417EC
- .align 2, 0
-_080417D8: .4byte gSpecialVar_0x8004
-_080417DC: .4byte gSaveBlock1 + 0x2F9C
-_080417E0:
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_80416E8
- lsls r0, 24
- lsrs r0, 24
-_080417EC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80417B8
-
- thumb_func_start sub_80417F4
-sub_80417F4: @ 80417F4
- push {lr}
- movs r3, 0
- movs r2, 0x7
- adds r1, r0, 0
- adds r1, 0x2B
-_080417FE:
- strb r3, [r1]
- subs r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _080417FE
- adds r2, r0, 0
- adds r2, 0x2C
- movs r3, 0
- adds r1, r0, 0
- adds r1, 0x36
-_08041812:
- strb r3, [r1]
- subs r1, 0x1
- cmp r1, r2
- bge _08041812
- bl ClearMailStruct
- pop {r0}
- bx r0
- thumb_func_end sub_80417F4
-
- thumb_func_start unref_sub_8041824
-unref_sub_8041824: @ 8041824
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
-_0804182A:
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 4
- adds r0, r6, r0
- bl ZeroBoxMonData
- movs r1, 0x88
- lsls r1, 1
- adds r0, r6, r1
- adds r0, r4
- movs r4, 0
- str r4, [r0]
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 3
- adds r0, 0xA0
- adds r0, r6, r0
- bl sub_80417F4
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0804182A
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r6, r2
- movs r1, 0
- strh r4, [r0]
- adds r2, 0x2
- adds r0, r6, r2
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_8041824
-
- thumb_func_start sub_8041870
-sub_8041870: @ 8041870
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0
- mov r8, r0
- ldr r0, _0804189C @ =gEvolutionTable
- mov r12, r0
-_08041882:
- movs r7, 0
- movs r6, 0x1
- movs r4, 0x80
- lsls r4, 9
- movs r5, 0x28
- mov r3, r12
- adds r3, 0x28
-_08041890:
- movs r1, 0
- ldrh r0, [r3, 0x4]
- cmp r0, r2
- bne _080418A0
- lsrs r2, r4, 16
- b _080418CC
- .align 2, 0
-_0804189C: .4byte gEvolutionTable
-_080418A0:
- adds r1, 0x1
- cmp r1, 0x4
- bgt _080418B6
- lsls r0, r1, 3
- adds r0, r5
- add r0, r12
- ldrh r0, [r0, 0x4]
- cmp r0, r2
- bne _080418A0
- lsrs r2, r4, 16
- movs r7, 0x1
-_080418B6:
- cmp r7, 0
- bne _080418CC
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r5, 0x28
- adds r3, 0x28
- adds r6, 0x1
- ldr r0, _080418EC @ =0x0000019b
- cmp r6, r0
- ble _08041890
-_080418CC:
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- beq _080418DE
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x4
- ble _08041882
-_080418DE:
- adds r0, r2, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080418EC: .4byte 0x0000019b
- thumb_func_end sub_8041870
-
- thumb_func_start sub_80418F0
-sub_80418F0: @ 80418F0
- push {r4,lr}
- adds r4, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08041918 @ =0x0000fffe
- bl __umodsi3
- adds r0, 0x1
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r1
- strh r0, [r4]
- movs r0, 0x86
- bl FlagSet
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08041918: .4byte 0x0000fffe
- thumb_func_end sub_80418F0
-
- thumb_func_start sub_804191C
-sub_804191C: @ 804191C
- push {r4,lr}
- adds r4, r0, 0
- bl Random
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- movs r2, 0x8C
- lsls r2, 1
- adds r4, r2
- orrs r1, r0
- strh r1, [r4]
- movs r0, 0x86
- bl FlagSet
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_804191C
-
- thumb_func_start sub_8041940
-sub_8041940: @ 8041940
- push {lr}
- ldr r0, _0804194C @ =gSaveBlock1 + 0x2F9C
- bl sub_80418F0
- pop {r0}
- bx r0
- .align 2, 0
-_0804194C: .4byte gSaveBlock1 + 0x2F9C
- thumb_func_end sub_8041940
-
- thumb_func_start sub_8041950
-sub_8041950: @ 8041950
- push {lr}
- ldr r0, _0804195C @ =gSaveBlock1 + 0x2F9C
- bl sub_804191C
- pop {r0}
- bx r0
- .align 2, 0
-_0804195C: .4byte gSaveBlock1 + 0x2F9C
- thumb_func_end sub_8041950
-
- thumb_func_start sub_8041960
-sub_8041960: @ 8041960
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r1, r4, r1
- movs r0, 0xFF
- strb r0, [r1]
- movs r2, 0
-_08041972:
- mov r1, sp
- adds r0, r1, r2
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x5
- ble _08041972
- movs r3, 0
- movs r2, 0
-_08041986:
- mov r1, sp
- adds r0, r1, r2
- ldrb r1, [r0]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _08041998
- adds r0, r4, r3
- strb r1, [r0]
- adds r3, 0x1
-_08041998:
- adds r2, 0x1
- cmp r2, 0x5
- ble _08041986
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8041960
-
- thumb_func_start sub_80419A8
-sub_80419A8: @ 80419A8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r9, r0
- mov r8, r1
- movs r5, 0
- add r1, sp, 0x4
- add r7, sp, 0xC
- adds r2, r1, 0
-_080419BE:
- adds r0, r2, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080419BE
- movs r5, 0
- adds r6, r1, 0
-_080419D0:
- bl Random
- mov r1, sp
- adds r4, r1, r5
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- subs r1, r5
- bl __modsi3
- adds r0, r6, r0
- ldrb r0, [r0]
- strb r0, [r4]
- ldrb r1, [r4]
- adds r0, r6, 0
- bl sub_8041960
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080419D0
- movs r5, 0
- movs r4, 0x1
-_08041A00:
- bl Random
- adds r1, r7, r5
- lsls r0, 16
- lsrs r0, 16
- ands r0, r4
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _08041A00
- movs r5, 0
-_08041A1A:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _08041B02
- lsls r0, 2
- ldr r1, _08041A30 @ =_08041A34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08041A30: .4byte _08041A34
- .align 2, 0
-_08041A34:
- .4byte _08041A4C
- .4byte _08041A6C
- .4byte _08041A88
- .4byte _08041AA4
- .4byte _08041AC0
- .4byte _08041AE2
-_08041A4C:
- adds r0, r7, r5
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- add r0, r8
- movs r1, 0x27
- bl GetBoxMonData
- add r2, sp, 0x10
- strb r0, [r2]
- mov r0, r9
- movs r1, 0x27
- bl SetMonData
- b _08041B02
-_08041A6C:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- add r0, r8
- movs r1, 0x28
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x28
- b _08041ADA
-_08041A88:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- add r0, r8
- movs r1, 0x29
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x29
- b _08041ADA
-_08041AA4:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- add r0, r8
- movs r1, 0x2A
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x2A
- b _08041ADA
-_08041AC0:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- add r0, r8
- movs r1, 0x2B
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x2B
-_08041ADA:
- adds r2, r4, 0
- bl SetMonData
- b _08041B02
-_08041AE2:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- add r0, r8
- movs r1, 0x2C
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x2C
- adds r2, r4, 0
- bl SetMonData
-_08041B02:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _08041A1A
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80419A8
-
- thumb_func_start pokemon_get_eggmoves
-pokemon_get_eggmoves: @ 8041B1C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- movs r6, 0
- movs r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r5, _08041B44 @ =gEggMoves
- ldrh r1, [r5]
- ldr r7, _08041B48 @ =0x00004e20
- adds r0, r3, r7
- cmp r1, r0
- bne _08041B4C
- movs r4, 0x1
- b _08041B6E
- .align 2, 0
-_08041B44: .4byte gEggMoves
-_08041B48: .4byte 0x00004e20
-_08041B4C:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _08041BB8 @ =0x00000471
- ldr r5, _08041BBC @ =gEggMoves
- cmp r2, r0
- bhi _08041B6E
- lsls r0, r2, 1
- adds r0, r5
- ldrh r1, [r0]
- ldr r7, _08041BC0 @ =0x00004e20
- adds r0, r3, r7
- cmp r1, r0
- bne _08041B4C
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_08041B6E:
- movs r2, 0
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- ldr r1, _08041BC0 @ =0x00004e20
- cmp r0, r1
- bhi _08041BAA
- adds r7, r5, 0
- adds r3, r1, 0
-_08041B80:
- lsls r1, r2, 1
- add r1, r8
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bhi _08041BAA
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, r3
- bls _08041B80
-_08041BAA:
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08041BB8: .4byte 0x00000471
-_08041BBC: .4byte gEggMoves
-_08041BC0: .4byte 0x00004e20
- thumb_func_end pokemon_get_eggmoves
-
- thumb_func_start daycare_build_child_moveset
-daycare_build_child_moveset: @ 8041BC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r7, r0, 0
- mov r10, r1
- mov r9, r2
- movs r0, 0
- str r0, [sp]
- movs r6, 0
- ldr r5, _08041CC8 @ =gUnknown_03000500
- movs r2, 0
- ldr r4, _08041CCC @ =gUnknown_030004D8
- ldr r3, _08041CD0 @ =gUnknown_030004E0
-_08041BE4:
- lsls r1, r6, 1
- adds r0, r1, r5
- strh r2, [r0]
- adds r0, r1, r4
- strh r2, [r0]
- adds r1, r3
- strh r2, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _08041BE4
- movs r6, 0
- ldr r2, _08041CD4 @ =gUnknown_030004E8
- movs r1, 0
-_08041C02:
- lsls r0, r6, 1
- adds r0, r2
- strh r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x9
- bls _08041C02
- movs r6, 0
- ldr r2, _08041CD8 @ =gUnknown_03000470
- movs r1, 0
-_08041C18:
- lsls r0, r6, 1
- adds r0, r2
- strh r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x31
- bls _08041C18
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08041CD8 @ =gUnknown_03000470
- bl GetLevelUpMovesBySpecies
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r6, 0
- ldr r1, _08041CCC @ =gUnknown_030004D8
- mov r8, r1
-_08041C46:
- adds r5, r6, 0
- adds r5, 0xD
- mov r0, r10
- adds r1, r5, 0
- bl GetBoxMonData
- lsls r4, r6, 1
- mov r2, r8
- adds r1, r4, r2
- strh r0, [r1]
- mov r0, r9
- adds r1, r5, 0
- bl GetBoxMonData
- ldr r1, _08041CC8 @ =gUnknown_03000500
- adds r4, r1
- strh r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _08041C46
- ldr r1, _08041CD4 @ =gUnknown_030004E8
- adds r0, r7, 0
- bl pokemon_get_eggmoves
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r6, 0
-_08041C82:
- ldr r0, _08041CCC @ =gUnknown_030004D8
- lsls r1, r6, 1
- adds r2, r1, r0
- ldrh r1, [r2]
- mov r9, r0
- cmp r1, 0
- beq _08041CF8
- movs r5, 0
- cmp r5, r8
- bcs _08041CEA
- adds r4, r2, 0
- ldr r2, _08041CDC @ =0x0000ffff
-_08041C9A:
- ldr r0, _08041CD4 @ =gUnknown_030004E8
- lsls r1, r5, 1
- adds r1, r0
- ldrh r0, [r4]
- ldrh r1, [r1]
- cmp r0, r1
- bne _08041CE0
- adds r1, r0, 0
- adds r0, r7, 0
- str r2, [sp, 0x8]
- bl GiveMoveToMon
- lsls r0, 16
- lsrs r0, 16
- ldr r2, [sp, 0x8]
- cmp r0, r2
- bne _08041CEA
- ldrh r1, [r4]
- adds r0, r7, 0
- bl DeleteFirstMoveAndGiveMoveToMon
- b _08041CEA
- .align 2, 0
-_08041CC8: .4byte gUnknown_03000500
-_08041CCC: .4byte gUnknown_030004D8
-_08041CD0: .4byte gUnknown_030004E0
-_08041CD4: .4byte gUnknown_030004E8
-_08041CD8: .4byte gUnknown_03000470
-_08041CDC: .4byte 0x0000ffff
-_08041CE0:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _08041C9A
-_08041CEA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, _08041E14 @ =gUnknown_030004D8
- mov r9, r3
- cmp r6, 0x3
- bls _08041C82
-_08041CF8:
- movs r6, 0
-_08041CFA:
- lsls r0, r6, 1
- mov r2, r9
- adds r1, r0, r2
- ldrh r1, [r1]
- adds r2, r0, 0
- adds r6, 0x1
- mov r8, r6
- cmp r1, 0
- beq _08041D5C
- movs r5, 0
- ldr r0, _08041E14 @ =gUnknown_030004D8
- adds r4, r2, r0
- ldr r6, _08041E18 @ =0x0000ffff
- mov r9, r0
-_08041D16:
- ldr r3, _08041E1C @ =0x00000121
- adds r0, r5, r3
- lsls r0, 16
- lsrs r0, 16
- bl ItemIdToBattleMoveId
- ldrh r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bne _08041D52
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r7, 0
- bl CanMonLearnTMHM
- cmp r0, 0
- beq _08041D52
- ldrh r1, [r4]
- adds r0, r7, 0
- bl GiveMoveToMon
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r6
- bne _08041D52
- ldrh r1, [r4]
- adds r0, r7, 0
- bl DeleteFirstMoveAndGiveMoveToMon
-_08041D52:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x39
- bls _08041D16
-_08041D5C:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _08041CFA
- movs r6, 0
- mov r2, r9
- ldrh r0, [r2]
- ldr r3, _08041E20 @ =gUnknown_030004E0
- mov r10, r3
- cmp r0, 0
- beq _08041DC6
- mov r4, r9
- ldr r0, _08041E24 @ =gUnknown_03000500
- mov r9, r0
- mov r12, r10
-_08041D7C:
- movs r5, 0
- lsls r2, r6, 1
- adds r6, 0x1
- mov r8, r6
- adds r3, r2, r4
-_08041D86:
- lsls r0, r5, 1
- add r0, r9
- ldrh r2, [r3]
- adds r1, r2, 0
- ldrh r0, [r0]
- cmp r1, r0
- bne _08041DA8
- cmp r1, 0
- beq _08041DA8
- ldr r1, [sp]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 1
- add r1, r12
- strh r2, [r1]
-_08041DA8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _08041D86
- mov r1, r8
- lsls r0, r1, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bhi _08041DC6
- lsls r0, r6, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _08041D7C
-_08041DC6:
- movs r6, 0
- mov r2, r10
- ldrh r0, [r2]
- cmp r0, 0
- beq _08041E50
-_08041DD0:
- movs r5, 0
- adds r3, r6, 0x1
- mov r8, r3
- ldr r0, [sp, 0x4]
- cmp r5, r0
- bcs _08041E38
- ldr r2, _08041E18 @ =0x0000ffff
-_08041DDE:
- ldr r1, _08041E28 @ =gUnknown_03000470
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, 0
- beq _08041E2C
- lsls r0, r6, 1
- mov r3, r10
- adds r4, r0, r3
- ldrh r0, [r4]
- cmp r0, r1
- bne _08041E2C
- adds r1, r0, 0
- adds r0, r7, 0
- str r2, [sp, 0x8]
- bl GiveMoveToMon
- lsls r0, 16
- lsrs r0, 16
- ldr r2, [sp, 0x8]
- cmp r0, r2
- bne _08041E38
- ldrh r1, [r4]
- adds r0, r7, 0
- bl DeleteFirstMoveAndGiveMoveToMon
- b _08041E38
- .align 2, 0
-_08041E14: .4byte gUnknown_030004D8
-_08041E18: .4byte 0x0000ffff
-_08041E1C: .4byte 0x00000121
-_08041E20: .4byte gUnknown_030004E0
-_08041E24: .4byte gUnknown_03000500
-_08041E28: .4byte gUnknown_03000470
-_08041E2C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [sp, 0x4]
- cmp r5, r0
- bcc _08041DDE
-_08041E38:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bhi _08041E50
- ldr r0, _08041E60 @ =gUnknown_030004E0
- lsls r1, r6, 1
- adds r1, r0
- ldrh r1, [r1]
- mov r10, r0
- cmp r1, 0
- bne _08041DD0
-_08041E50:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08041E60: .4byte gUnknown_030004E0
- thumb_func_end daycare_build_child_moveset
-
- thumb_func_start sub_8041E64
-sub_8041E64: @ 8041E64
- adds r3, r0, 0
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r3, r1
- movs r2, 0
- movs r1, 0
- strh r1, [r0]
- movs r1, 0x8D
- lsls r1, 1
- adds r0, r3, r1
- strb r2, [r0]
- bx lr
- thumb_func_end sub_8041E64
-
- thumb_func_start sub_8041E7C
-sub_8041E7C: @ 8041E7C
- push {lr}
- ldr r0, _08041E88 @ =gSaveBlock1 + 0x2F9C
- bl sub_8041E64
- pop {r0}
- bx r0
- .align 2, 0
-_08041E88: .4byte gSaveBlock1 + 0x2F9C
- thumb_func_end sub_8041E7C
-
- thumb_func_start incense_effects
-incense_effects: @ 8041E8C
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrh r1, [r4]
- movs r7, 0xB4
- lsls r7, 1
- cmp r1, r7
- beq _08041EA4
- movs r0, 0xAF
- lsls r0, 1
- cmp r1, r0
- bne _08041EE6
-_08041EA4:
- adds r0, r5, 0
- movs r1, 0xC
- bl GetBoxMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r0, 0x50
- movs r1, 0xC
- bl GetBoxMonData
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r4]
- cmp r0, r7
- bne _08041ED0
- cmp r6, 0xDD
- beq _08041ED0
- cmp r2, 0xDD
- beq _08041ED0
- movs r0, 0xCA
- strh r0, [r4]
-_08041ED0:
- ldrh r1, [r4]
- movs r0, 0xAF
- lsls r0, 1
- cmp r1, r0
- bne _08041EE6
- cmp r6, 0xDC
- beq _08041EE6
- cmp r2, 0xDC
- beq _08041EE6
- movs r0, 0xB7
- strh r0, [r4]
-_08041EE6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end incense_effects
-
- thumb_func_start sub_8041EEC
-sub_8041EEC: @ 8041EEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- adds r6, r1, 0
- movs r4, 0
- movs r7, 0x1
-_08041EFC:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetBoxMonData
- lsls r1, r4, 1
- add r1, sp
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x84
- bne _08041F26
- adds r0, r4, 0
- eors r0, r7
- strb r0, [r6]
- strb r4, [r6, 0x1]
- b _08041F3C
-_08041F26:
- adds r0, r5, 0
- bl GetBoxMonGender
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFE
- bne _08041F3C
- strb r4, [r6]
- adds r0, r4, 0
- eors r0, r7
- strb r0, [r6, 0x1]
-_08041F3C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08041EFC
- ldrb r0, [r6]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- bl sub_8041870
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bne _08041F6E
- movs r0, 0x8C
- lsls r0, 1
- add r0, r8
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08041F6E
- movs r4, 0x20
-_08041F6E:
- ldr r0, _08041FC0 @ =0x00000183
- cmp r4, r0
- bne _08041F88
- subs r0, 0x6B
- add r0, r8
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08041F88
- movs r4, 0xC1
- lsls r4, 1
-_08041F88:
- ldrb r0, [r6, 0x1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- cmp r0, 0x84
- bne _08041FB2
- ldrb r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- add r0, r8
- bl GetBoxMonGender
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFE
- beq _08041FB2
- ldrb r1, [r6, 0x1]
- ldrb r0, [r6]
- strb r0, [r6, 0x1]
- strb r1, [r6]
-_08041FB2:
- adds r0, r4, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08041FC0: .4byte 0x00000183
- thumb_func_end sub_8041EEC
-
- thumb_func_start sub_8041FC4
-sub_8041FC4: @ 8041FC4
- push {r4-r6,lr}
- sub sp, 0x6C
- adds r5, r0, 0
- add r6, sp, 0x64
- adds r1, r6, 0
- bl sub_8041EEC
- add r4, sp, 0x68
- strh r0, [r4]
- adds r0, r4, 0
- adds r1, r5, 0
- bl incense_effects
- ldrh r1, [r4]
- mov r0, sp
- adds r2, r5, 0
- bl sub_80420FC
- mov r0, sp
- adds r1, r5, 0
- bl sub_80419A8
- ldrb r0, [r6, 0x1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 4
- adds r1, r5, r1
- ldrb r0, [r6]
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 4
- adds r2, r5, r2
- mov r0, sp
- bl daycare_build_child_moveset
- mov r2, sp
- adds r2, 0x6A
- movs r0, 0x1
- strb r0, [r2]
- mov r0, sp
- movs r1, 0x2D
- bl SetMonData
- ldr r0, _08042040 @ =gPlayerParty
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1
- mov r1, sp
- movs r2, 0x64
- bl memcpy
- bl party_compaction
- bl CalculatePlayerPartyCount
- adds r0, r5, 0
- bl sub_8041E64
- add sp, 0x6C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08042040: .4byte gPlayerParty
- thumb_func_end sub_8041FC4
-
- thumb_func_start sub_8042044
-sub_8042044: @ 8042044
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- adds r7, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r1, r5, 0
- movs r2, 0x5
- movs r3, 0x20
- bl CreateMon
- movs r0, 0x12
- add r0, sp
- mov r8, r0
- strb r4, [r0]
- movs r1, 0x4
- add r0, sp, 0x10
- strh r1, [r0]
- mov r4, sp
- adds r4, 0x13
- movs r0, 0x1
- mov r9, r0
- mov r0, r9
- strb r0, [r4]
- adds r0, r7, 0
- movs r1, 0x26
- add r2, sp, 0x10
- bl SetMonData
- ldr r2, _080420F4 @ =gUnknown_08209AD4
- adds r0, r7, 0
- movs r1, 0x2
- bl SetMonData
- lsls r2, r5, 3
- subs r2, r5
- lsls r2, 2
- ldr r0, _080420F8 @ =gBaseStats + 0x11 @ egg cycles offset
- adds r2, r0
- adds r0, r7, 0
- movs r1, 0x20
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x24
- mov r2, r8
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl SetMonData
- cmp r6, 0
- beq _080420D6
- add r2, sp, 0x14
- movs r0, 0xFD
- strb r0, [r2]
- adds r0, r7, 0
- movs r1, 0x23
- bl SetMonData
-_080420D6:
- mov r2, sp
- adds r2, 0x15
- mov r0, r9
- strb r0, [r2]
- adds r0, r7, 0
- movs r1, 0x2D
- bl SetMonData
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080420F4: .4byte gUnknown_08209AD4
-_080420F8: .4byte gBaseStats + 0x11 @ egg cycles offset
- thumb_func_end sub_8042044
-
- thumb_func_start sub_80420FC
-sub_80420FC: @ 80420FC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 16
- lsrs r5, 16
- bl Random
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r1
- ldrh r1, [r4]
- lsls r0, 16
- orrs r1, r0
- movs r0, 0x1
- mov r8, r0
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x5
- movs r3, 0x20
- bl CreateMon
- movs r1, 0x12
- add r1, sp
- mov r9, r1
- strb r4, [r1]
- movs r1, 0x4
- add r0, sp, 0x10
- strh r1, [r0]
- mov r4, sp
- adds r4, 0x13
- mov r0, r8
- strb r0, [r4]
- adds r0, r6, 0
- movs r1, 0x26
- add r2, sp, 0x10
- bl SetMonData
- ldr r2, _08042198 @ =gUnknown_08209AD4
- adds r0, r6, 0
- movs r1, 0x2
- bl SetMonData
- lsls r2, r5, 3
- subs r2, r5
- lsls r2, 2
- ldr r0, _0804219C @ =gBaseStats + 0x11 @ egg cycles offset
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x20
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x24
- mov r2, r9
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl SetMonData
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08042198: .4byte gUnknown_08209AD4
-_0804219C: .4byte gBaseStats + 0x11 @ egg cycles offset
- thumb_func_end sub_80420FC
-
- thumb_func_start sp0B8_daycare
-sp0B8_daycare: @ 80421A0
- push {lr}
- ldr r0, _080421AC @ =gSaveBlock1 + 0x2F9C
- bl sub_8041FC4
- pop {r0}
- bx r0
- .align 2, 0
-_080421AC: .4byte gSaveBlock1 + 0x2F9C
- thumb_func_end sp0B8_daycare
-
- thumb_func_start sub_80421B0
-sub_80421B0: @ 80421B0
- push {r4-r7,lr}
- sub sp, 0x8
- adds r7, r0, 0
- movs r2, 0
- movs r6, 0
- adds r5, r7, 0
-_080421BC:
- lsls r4, r6, 2
- adds r0, r5, 0
- movs r1, 0x5
- str r2, [sp, 0x4]
- bl GetBoxMonData
- ldr r2, [sp, 0x4]
- cmp r0, 0
- beq _080421DE
- movs r0, 0x88
- lsls r0, 1
- adds r1, r7, r0
- adds r1, r4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- adds r2, 0x1
-_080421DE:
- adds r5, 0x50
- adds r6, 0x1
- cmp r6, 0x1
- bls _080421BC
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _08042226
- cmp r2, 0x2
- bne _08042226
- subs r1, 0x4
- adds r0, r7, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08042226
- adds r0, r7, 0
- bl daycare_relationship_score
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- muls r0, r1
- ldr r1, _08042240 @ =0x0000ffff
- bl __udivsi3
- cmp r4, r0
- bls _08042226
- bl sub_8041940
-_08042226:
- movs r0, 0x8D
- lsls r0, 1
- adds r1, r7, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08042290
- movs r6, 0
- b _08042288
- .align 2, 0
-_08042240: .4byte 0x0000ffff
-_08042244:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _08042270 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _08042286
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- str r0, [sp]
- cmp r0, 0
- bne _08042278
- ldr r0, _08042274 @ =gSpecialVar_0x8004
- strh r6, [r0]
- movs r0, 0x1
- b _08042292
- .align 2, 0
-_08042270: .4byte gPlayerParty
-_08042274: .4byte gSpecialVar_0x8004
-_08042278:
- subs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x20
- mov r2, sp
- bl SetMonData
-_08042286:
- adds r6, 0x1
-_08042288:
- ldr r0, _0804229C @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r6, r0
- bcc _08042244
-_08042290:
- movs r0, 0
-_08042292:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0804229C: .4byte gPlayerPartyCount
- thumb_func_end sub_80421B0
-
- thumb_func_start sub_80422A0
-sub_80422A0: @ 80422A0
- push {lr}
- ldr r0, _080422B0 @ =gSaveBlock1 + 0x2F9C
- bl sub_80421B0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080422B0: .4byte gSaveBlock1 + 0x2F9C
- thumb_func_end sub_80422A0
-
- thumb_func_start sub_80422B4
-sub_80422B4: @ 80422B4
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldrh r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- thumb_func_end sub_80422B4
-
- thumb_func_start sub_80422C4
-sub_80422C4: @ 80422C4
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _080422FC
- ldr r1, _0804231C @ =gStringVar1
- adds r0, r6, 0
- bl GetBoxMonNick
- adds r0, r6, 0
- movs r1, 0x3
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08042320 @ =gStringVar3
- adds r0, r6, 0
- movs r1, 0x7
- adds r2, r5, 0
- bl GetBoxMonData
- adds r0, r5, 0
- adds r1, r4, 0
- bl ConvertInternationalString
-_080422FC:
- adds r4, r6, 0
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08042314
- ldr r1, _08042324 @ =gStringVar2
- adds r0, r4, 0
- bl GetBoxMonNick
-_08042314:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804231C: .4byte gStringVar1
-_08042320: .4byte gStringVar3
-_08042324: .4byte gStringVar2
- thumb_func_end sub_80422C4
-
- thumb_func_start sub_8042328
-sub_8042328: @ 8042328
- push {r4-r6,lr}
- ldr r6, _08042354 @ =gLastFieldPokeMenuOpened
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _08042358 @ =gPlayerParty
- adds r0, r4
- ldr r1, _0804235C @ =gStringVar1
- bl GetBoxMonNick
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetBoxMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08042354: .4byte gLastFieldPokeMenuOpened
-_08042358: .4byte gPlayerParty
-_0804235C: .4byte gStringVar1
- thumb_func_end sub_8042328
-
- thumb_func_start sp0B5_daycare
-sp0B5_daycare: @ 8042360
- push {lr}
- ldr r0, _0804236C @ =gSaveBlock1 + 0x2F9C
- bl sub_80422C4
- pop {r0}
- bx r0
- .align 2, 0
-_0804236C: .4byte gSaveBlock1 + 0x2F9C
- thumb_func_end sp0B5_daycare
-
- thumb_func_start sp0B6_daycare
-sp0B6_daycare: @ 8042370
- push {r4,lr}
- ldr r4, _08042384 @ =gSaveBlock1 + 0x2F9C
- adds r0, r4, 0
- bl sub_80422B4
- lsls r0, 24
- cmp r0, 0
- beq _08042388
- movs r0, 0x1
- b _080423A0
- .align 2, 0
-_08042384: .4byte gSaveBlock1 + 0x2F9C
-_08042388:
- adds r0, r4, 0
- bl Daycare_CountPokemon
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0804239A
- movs r0, 0
- b _080423A0
-_0804239A:
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_080423A0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sp0B6_daycare
-
- thumb_func_start sub_80423A8
-sub_80423A8: @ 80423A8
- push {r4-r6,lr}
- adds r5, r1, 0
- movs r4, 0
- adds r1, r0, 0
-_080423B0:
- movs r3, 0
- ldrh r0, [r1]
- adds r2, r5, 0
-_080423B6:
- ldrh r6, [r2]
- cmp r0, r6
- bne _080423C0
- movs r0, 0x1
- b _080423D2
-_080423C0:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x1
- ble _080423B6
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x1
- ble _080423B0
- movs r0, 0
-_080423D2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80423A8
-
- thumb_func_start daycare_relationship_score
-daycare_relationship_score: @ 80423D8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- movs r1, 0
- mov r8, r1
- mov r2, sp
- adds r2, 0x8
- str r2, [sp, 0x1C]
- add r1, sp, 0xC
- mov r10, r1
- adds r2, 0xC
- str r2, [sp, 0x20]
- mov r1, sp
- adds r1, 0x2
- ldr r2, _08042488 @ =gBaseStats
- mov r9, r2
- ldr r5, [sp, 0x1C]
- adds r7, r1, 0
- mov r6, sp
- ldr r1, [sp, 0x20]
- str r1, [sp, 0x24]
- mov r2, r10
- str r2, [sp, 0x28]
- adds r4, r0, 0
-_0804240E:
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBoxMonData
- ldr r1, [sp, 0x28]
- stm r1!, {r0}
- str r1, [sp, 0x28]
- adds r0, r4, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- ldrh r0, [r5]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x24]
- stm r2!, {r0}
- str r2, [sp, 0x24]
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r0, [r0, 0x14]
- strh r0, [r6]
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r0, [r0, 0x15]
- strh r0, [r7]
- adds r5, 0x2
- adds r7, 0x4
- adds r6, 0x4
- adds r4, 0x50
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x1
- bls _0804240E
- mov r0, sp
- ldrh r1, [r0]
- cmp r1, 0xF
- beq _08042484
- ldrh r0, [r0, 0x4]
- cmp r0, 0xF
- beq _08042484
- cmp r1, 0xD
- bne _0804248C
- cmp r0, 0xD
- bne _08042490
-_08042484:
- movs r0, 0
- b _080424E4
- .align 2, 0
-_08042488: .4byte gBaseStats
-_0804248C:
- cmp r0, 0xD
- bne _0804249C
-_08042490:
- ldr r1, [sp, 0xC]
- mov r2, r10
- ldr r0, [r2, 0x4]
- cmp r1, r0
- beq _080424DE
- b _080424E2
-_0804249C:
- ldr r0, [sp, 0x14]
- ldr r2, [sp, 0x20]
- ldr r1, [r2, 0x4]
- cmp r0, r1
- beq _08042484
- cmp r0, 0xFF
- beq _08042484
- cmp r1, 0xFF
- beq _08042484
- add r1, sp, 0x4
- mov r0, sp
- bl sub_80423A8
- lsls r0, 24
- cmp r0, 0
- beq _08042484
- ldr r0, [sp, 0x1C]
- ldrh r1, [r0, 0x2]
- ldrh r0, [r0]
- cmp r0, r1
- bne _080424D4
- ldr r1, [sp, 0xC]
- mov r2, r10
- ldr r0, [r2, 0x4]
- cmp r1, r0
- beq _080424E2
- movs r0, 0x46
- b _080424E4
-_080424D4:
- ldr r1, [sp, 0xC]
- mov r2, r10
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bne _080424E2
-_080424DE:
- movs r0, 0x14
- b _080424E4
-_080424E2:
- movs r0, 0x32
-_080424E4:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end daycare_relationship_score
-
- thumb_func_start daycare_relationship_score_from_savegame
-daycare_relationship_score_from_savegame: @ 80424F4
- push {lr}
- ldr r0, _08042504 @ =gSaveBlock1 + 0x2F9C
- bl daycare_relationship_score
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08042504: .4byte gSaveBlock1 + 0x2F9C
- thumb_func_end daycare_relationship_score_from_savegame
-
- thumb_func_start sp0B9_daycare_relationship_comment
-sp0B9_daycare_relationship_comment: @ 8042508
- push {lr}
- bl daycare_relationship_score_from_savegame
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- movs r1, 0
- cmp r0, 0
- bne _0804251C
- movs r1, 0x3
-_0804251C:
- cmp r0, 0x14
- bne _08042522
- movs r1, 0x2
-_08042522:
- cmp r0, 0x32
- bne _08042528
- movs r1, 0x1
-_08042528:
- cmp r2, 0x46
- bne _0804252E
- movs r1, 0
-_0804252E:
- ldr r0, _08042540 @ =gStringVar4
- ldr r2, _08042544 @ =gUnknown_08209AC4
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .align 2, 0
-_08042540: .4byte gStringVar4
-_08042544: .4byte gUnknown_08209AC4
- thumb_func_end sp0B9_daycare_relationship_comment
-
- thumb_func_start NameHasGenderSymbol
-NameHasGenderSymbol: @ 8042548
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- mov r2, sp
- mov r1, sp
- movs r0, 0
- strb r0, [r1, 0x1]
- strb r0, [r2]
- movs r3, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _0804258C
-_08042564:
- adds r1, r4, r3
- ldrb r0, [r1]
- cmp r0, 0xB5
- bne _08042572
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
-_08042572:
- ldrb r0, [r1]
- cmp r0, 0xB6
- bne _0804257E
- ldrb r0, [r2, 0x1]
- adds r0, 0x1
- strb r0, [r2, 0x1]
-_0804257E:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08042564
-_0804258C:
- cmp r5, 0
- bne _080425A0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _080425A0
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080425B4
-_080425A0:
- cmp r5, 0xFE
- bne _080425B8
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080425B8
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _080425B8
-_080425B4:
- movs r0, 0x1
- b _080425BA
-_080425B8:
- movs r0, 0
-_080425BA:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end NameHasGenderSymbol
-
- thumb_func_start AppendGenderSymbol
-AppendGenderSymbol: @ 80425C4
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _080425E4
- movs r1, 0
- bl NameHasGenderSymbol
- lsls r0, 24
- cmp r0, 0
- bne _08042600
- ldr r1, _080425E0 @ =gOtherText_MaleSymbol3
- b _08042602
- .align 2, 0
-_080425E0: .4byte gOtherText_MaleSymbol3
-_080425E4:
- cmp r1, 0xFE
- bne _08042600
- adds r0, r4, 0
- movs r1, 0xFE
- bl NameHasGenderSymbol
- lsls r0, 24
- cmp r0, 0
- bne _08042600
- ldr r1, _080425FC @ =gOtherText_FemaleSymbol3
- b _08042602
- .align 2, 0
-_080425FC: .4byte gOtherText_FemaleSymbol3
-_08042600:
- ldr r1, _08042610 @ =gOtherText_GenderlessSymbol
-_08042602:
- adds r0, r4, 0
- bl StringAppend
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08042610: .4byte gOtherText_GenderlessSymbol
- thumb_func_end AppendGenderSymbol
-
- thumb_func_start MonAppendGenderSymbol
-MonAppendGenderSymbol: @ 8042614
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- bl GetBoxMonGender
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl AppendGenderSymbol
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MonAppendGenderSymbol
-
- thumb_func_start DaycareLevelMenuGetText
-DaycareLevelMenuGetText: @ 8042630
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x28
- mov r8, r0
- adds r7, r1, 0
- movs r0, 0xFF
- strb r0, [r7]
- movs r6, 0
- add r0, sp, 0x14
- mov r9, r0
-_08042648:
- lsls r0, r6, 2
- adds r0, r6
- lsls r4, r0, 4
- add r4, r8
- lsls r0, 2
- mov r1, sp
- adds r5, r1, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBoxMonNick
- adds r0, r5, 0
- adds r1, r4, 0
- bl MonAppendGenderSymbol
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- bls _08042648
- adds r0, r7, 0
- mov r1, sp
- bl StringCopy
- ldr r4, _080426A8 @ =gOtherText_NewLine2
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringAppend
- adds r0, r7, 0
- mov r1, r9
- bl StringAppend
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringAppend
- ldr r1, _080426AC @ =gOtherText_CancelAndLv
- adds r0, r7, 0
- bl StringAppend
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080426A8: .4byte gOtherText_NewLine2
-_080426AC: .4byte gOtherText_CancelAndLv
- thumb_func_end DaycareLevelMenuGetText
-
- thumb_func_start DaycareLevelMenuGetLevelText
-DaycareLevelMenuGetLevelText: @ 80426B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r0, 0xFF
- strb r0, [r4]
- movs r5, 0
- movs r0, 0xFC
- mov r8, r0
- movs r7, 0x14
-_080426C6:
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 4
- adds r0, r6, r0
- movs r3, 0x88
- lsls r3, 1
- adds r1, r6, r3
- adds r1, r2
- ldr r1, [r1]
- bl Daycare_GetLevelAfterSteps
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x34
- strb r0, [r4]
- mov r0, r8
- strb r0, [r4, 0x1]
- strb r7, [r4, 0x2]
- movs r0, 0x6
- strb r0, [r4, 0x3]
- adds r0, r4, 0x4
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r4, r0, 0
- mov r3, r8
- strb r3, [r4]
- strb r7, [r4, 0x1]
- movs r0, 0
- strb r0, [r4, 0x2]
- adds r0, r4, 0x3
- ldr r1, _08042728 @ =gOtherText_NewLine2
- bl StringCopy
- adds r4, r0, 0
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _080426C6
- movs r0, 0xFF
- strb r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08042728: .4byte gOtherText_NewLine2
- thumb_func_end DaycareLevelMenuGetLevelText
-
- thumb_func_start DaycareLevelMenuProcessKeyInput
-DaycareLevelMenuProcessKeyInput: @ 804272C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, _08042760 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08042768
- ldr r0, _08042764 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08042816
- subs r0, r2, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x1
- negs r0, r0
- b _0804278A
- .align 2, 0
-_08042760: .4byte gMain
-_08042764: .4byte gTasks
-_08042768:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804279C
- ldr r0, _08042798 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0x2
- beq _08042816
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x1
-_0804278A:
- bl MoveMenuCursor
- movs r0, 0x5
- bl PlaySE
- b _08042816
- .align 2, 0
-_08042798: .4byte gTasks
-_0804279C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080427E8
- bl HandleDestroyMenuCursors
- movs r0, 0x5
- bl PlaySE
- ldr r3, _080427DC @ =gLastFieldPokeMenuOpened
- ldr r2, _080427E0 @ =gScriptResult
- ldr r1, _080427E4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- strh r0, [r2]
- strb r0, [r3]
- adds r0, r4, 0
- bl DestroyTask
- movs r0, 0xF
- movs r1, 0x6
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- bl EnableBothScriptContexts
- b _08042816
- .align 2, 0
-_080427DC: .4byte gLastFieldPokeMenuOpened
-_080427E0: .4byte gScriptResult
-_080427E4: .4byte gTasks
-_080427E8:
- movs r4, 0x2
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08042816
- bl HandleDestroyMenuCursors
- ldr r0, _0804281C @ =gLastFieldPokeMenuOpened
- ldr r1, _08042820 @ =gScriptResult
- strh r4, [r1]
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r5, 0
- bl DestroyTask
- movs r0, 0xF
- movs r1, 0x6
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- bl EnableBothScriptContexts
-_08042816:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804281C: .4byte gLastFieldPokeMenuOpened
-_08042820: .4byte gScriptResult
- thumb_func_end DaycareLevelMenuProcessKeyInput
-
- thumb_func_start ShowDaycareLevelMenu
-ShowDaycareLevelMenu: @ 8042824
- push {r4,lr}
- sub sp, 0x6C
- movs r0, 0xF
- movs r1, 0x6
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuDrawTextWindow
- ldr r4, _08042880 @ =gSaveBlock1 + 0x2F9C
- adds r0, r4, 0
- add r1, sp, 0x8
- bl DaycareLevelMenuGetText
- add r0, sp, 0x8
- movs r1, 0x10
- movs r2, 0x7
- bl MenuPrint
- adds r0, r4, 0
- add r1, sp, 0x8
- bl DaycareLevelMenuGetLevelText
- add r0, sp, 0x8
- movs r1, 0xCE
- movs r2, 0x38
- movs r3, 0x1
- bl MenuPrint_PixelCoords
- movs r0, 0
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x7
- movs r3, 0x3
- bl InitMenu
- ldr r0, _08042884 @ =DaycareLevelMenuProcessKeyInput
- movs r1, 0x3
- bl CreateTask
- add sp, 0x6C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08042880: .4byte gSaveBlock1 + 0x2F9C
-_08042884: .4byte DaycareLevelMenuProcessKeyInput
- thumb_func_end ShowDaycareLevelMenu
-
- thumb_func_start ChooseSendDaycareMon
-ChooseSendDaycareMon: @ 8042888
- push {lr}
- movs r0, 0x6
- movs r1, 0
- bl OpenPartyMenu
- ldr r1, _0804289C @ =gMain
- ldr r0, _080428A0 @ =c2_exit_to_overworld_2_switch
- str r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_0804289C: .4byte gMain
-_080428A0: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end ChooseSendDaycareMon
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 6b85e1e76..7bb496641 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -9975,7 +9975,7 @@ _080EAE50:
lsls r0, 16
lsrs r0, 16
movs r1, 0
- bl GetNationalPokedexFlag
+ bl GetSetPokedexFlag
b _080EAE7C
_080EAE62:
ldr r0, _080EAE74 @ =gUnknown_083DB694
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s
deleted file mode 100644
index 5e54550e3..000000000
--- a/asm/field_effect_helpers.s
+++ /dev/null
@@ -1,4349 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetUpReflection
-SetUpReflection: @ 812680C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r5, r2, 24
- lsrs r5, 24
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x22
- ldrsh r2, [r4, r0]
- adds r0, r4, 0
- movs r3, 0x98
- bl obj_unfreeze
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _081268BC @ =gSprites
- adds r7, r1, r0
- ldr r0, _081268C0 @ =sub_81269E0
- str r0, [r7, 0x1C]
- ldrb r1, [r7, 0x5]
- movs r0, 0xC
- orrs r1, r0
- strb r1, [r7, 0x5]
- ldr r2, _081268C4 @ =gUnknown_0830FD14
- lsrs r0, r1, 4
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 4
- movs r2, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x5]
- movs r1, 0x3F
- adds r1, r7
- mov r8, r1
- ldrb r0, [r1]
- movs r1, 0x40
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- ldr r0, _081268C8 @ =gDummySpriteAnimTable
- str r0, [r7, 0x8]
- adds r0, r7, 0
- movs r1, 0
- bl StartSpriteAnim
- ldr r0, _081268CC @ =gDummySpriteAffineAnimTable
- str r0, [r7, 0x10]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x8
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- adds r2, r7, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x2E]
- strh r0, [r7, 0x2E]
- ldrb r0, [r6, 0x8]
- strh r0, [r7, 0x30]
- strh r5, [r7, 0x3C]
- adds r0, r6, 0
- adds r1, r7, 0
- bl npc_pal_op
- cmp r5, 0
- bne _081268B2
- ldrb r0, [r7, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r7, 0x1]
-_081268B2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081268BC: .4byte gSprites
-_081268C0: .4byte sub_81269E0
-_081268C4: .4byte gUnknown_0830FD14
-_081268C8: .4byte gDummySpriteAnimTable
-_081268CC: .4byte gDummySpriteAffineAnimTable
- thumb_func_end SetUpReflection
-
- thumb_func_start sub_81268D0
-sub_81268D0: @ 81268D0
- push {lr}
- ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldrh r0, [r0, 0xA]
- subs r0, 0x2
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_81268D0
-
- thumb_func_start npc_pal_op
-npc_pal_op: @ 81268E4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _0812693C @ =gUnknown_08401E2C
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldrb r1, [r0, 0xC]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08126940
- ldrb r0, [r5, 0x1F]
- bl sub_8057450
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08126926
- ldrb r0, [r5, 0x1E]
- bl sub_8057450
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08126940
-_08126926:
- subs r0, 0x1
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x32]
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r0, r5, 0
- bl npc_pal_op_A
- b _0812694A
- .align 2, 0
-_0812693C: .4byte gUnknown_08401E2C
-_08126940:
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r0, r5, 0
- bl npc_pal_op_B
-_0812694A:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end npc_pal_op
-
- thumb_func_start npc_pal_op_B
-npc_pal_op_B: @ 8126954
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r2, r0, 0
- ldrh r1, [r2, 0x4]
- ldr r0, _08126980 @ =0x000011ff
- cmp r1, r0
- beq _081269A8
- ldrb r0, [r2, 0xC]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0
- bne _08126984
- ldrh r0, [r2, 0x2]
- adds r1, r4, 0
- bl npc_load_two_palettes__no_record
- b _081269A2
- .align 2, 0
-_08126980: .4byte 0x000011ff
-_08126984:
- cmp r1, 0xA
- bne _08126992
- ldrh r0, [r2, 0x2]
- adds r1, r4, 0
- bl npc_load_two_palettes__and_record
- b _081269A2
-_08126992:
- adds r0, r4, 0
- bl npc_paltag_by_palslot
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl pal_patch_for_npc
-_081269A2:
- adds r0, r4, 0
- bl sub_807D78C
-_081269A8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end npc_pal_op_B
-
- thumb_func_start npc_pal_op_A
-npc_pal_op_A: @ 81269B0
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r2, r0, 0
- ldrh r1, [r2, 0x4]
- ldr r0, _081269DC @ =0x000011ff
- cmp r1, r0
- beq _081269D4
- adds r0, r1, 0
- adds r1, r4, 0
- bl pal_patch_for_npc
- adds r0, r4, 0
- bl sub_807D78C
-_081269D4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081269DC: .4byte 0x000011ff
- thumb_func_end npc_pal_op_A
-
- thumb_func_start sub_81269E0
-sub_81269E0: @ 81269E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08126A28 @ =gMapObjects
- adds r7, r0, r1
- ldrb r1, [r7, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08126A2C @ =gSprites
- adds r5, r0, r1
- ldr r0, [r7]
- ldr r1, _08126A30 @ =0x00020001
- ands r0, r1
- cmp r0, r1
- bne _08126A18
- ldrb r1, [r7, 0x8]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _08126A34
-_08126A18:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _08126B3E
- .align 2, 0
-_08126A28: .4byte gMapObjects
-_08126A2C: .4byte gSprites
-_08126A30: .4byte 0x00020001
-_08126A34:
- ldr r1, _08126B4C @ =gUnknown_0830FD14
- ldrb r0, [r5, 0x5]
- lsrs r0, 4
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 4
- ldrb r2, [r4, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldrb r1, [r5, 0x1]
- lsrs r1, 6
- lsls r1, 6
- ldrb r2, [r4, 0x1]
- movs r3, 0x3F
- adds r0, r3, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r5, 0x3]
- lsrs r0, 6
- lsls r0, 6
- ldrb r2, [r4, 0x3]
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x3]
- ldrb r0, [r5, 0x3]
- lsls r0, 26
- lsrs r0, 27
- movs r2, 0x10
- orrs r0, r2
- lsls r0, 1
- subs r2, 0x4F
- mov r9, r2
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x3]
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- ldrh r2, [r4, 0x4]
- ldr r0, _08126B50 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r0, [r5, 0x18]
- str r0, [r4, 0x18]
- adds r0, r5, 0
- adds r0, 0x42
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 26
- adds r2, r4, 0
- adds r2, 0x42
- ands r3, r0
- ldrb r1, [r2]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- movs r0, 0x3E
- adds r0, r5
- mov r8, r0
- ldrb r0, [r0]
- adds r6, r4, 0
- adds r6, 0x3E
- movs r1, 0x4
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- ldrh r0, [r5, 0x20]
- strh r0, [r4, 0x20]
- adds r0, r7, 0
- bl sub_81268D0
- ldrh r1, [r5, 0x22]
- adds r0, r1
- ldrh r1, [r4, 0x32]
- adds r1, r0
- strh r1, [r4, 0x22]
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, r4, 0
- adds r0, 0x28
- strb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x29
- strb r0, [r1]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x26]
- negs r0, r0
- strh r0, [r4, 0x26]
- mov r2, r8
- ldrb r0, [r2]
- movs r1, 0x2
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08126B3E
- ldrb r0, [r4, 0x3]
- mov r2, r9
- ands r2, r0
- strb r2, [r4, 0x3]
- ldrb r0, [r5, 0x3]
- lsls r0, 26
- lsrs r0, 27
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08126B3E
- movs r1, 0x2
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r4, 0x3]
-_08126B3E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08126B4C: .4byte gUnknown_0830FD14
-_08126B50: .4byte 0xfffffc00
- thumb_func_end sub_81269E0
-
- thumb_func_start sub_8126B54
-sub_8126B54: @ 8126B54
- push {r4,lr}
- ldr r0, _08126B9C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x20]
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0x40
- beq _08126B92
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08126BA0 @ =gSprites
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x5]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- orrs r0, r3
- strb r0, [r1]
-_08126B92:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08126B9C: .4byte gFieldEffectObjectTemplatePointers
-_08126BA0: .4byte gSprites
- thumb_func_end sub_8126B54
-
- thumb_func_start objid_set_invisible
-objid_set_invisible: @ 8126BA4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08126BC0 @ =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
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08126BC0: .4byte gSprites
- thumb_func_end objid_set_invisible
-
- thumb_func_start sub_8126BC4
-sub_8126BC4: @ 8126BC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, _08126C68 @ =gSprites
- adds r2, r0, r1
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08126C0E
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- lsls r0, r7, 16
- asrs r0, 16
- cmp r1, r0
- bne _08126C0E
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- lsls r0, r6, 16
- asrs r0, 16
- cmp r1, r0
- beq _08126C5A
-_08126C0E:
- lsls r0, r7, 16
- asrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- mov r4, sp
- adds r4, 0x2
- mov r2, sp
- adds r3, r4, 0
- bl sub_80603CC
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, _08126C68 @ =gSprites
- adds r2, r0, r1
- mov r0, sp
- ldrh r0, [r0]
- adds r0, 0x8
- strh r0, [r2, 0x20]
- ldrh r0, [r4]
- adds r0, 0x8
- strh r0, [r2, 0x22]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- strh r7, [r2, 0x2E]
- strh r6, [r2, 0x30]
- mov r1, r8
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_08126C5A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08126C68: .4byte gSprites
- thumb_func_end sub_8126BC4
-
- thumb_func_start FldEff_Shadow
-FldEff_Shadow: @ 8126C6C
- push {r4,r5,lr}
- ldr r5, _08126CF8 @ =gFieldEffectArguments
- ldrb r0, [r5]
- ldrb r1, [r5, 0x4]
- ldrb r2, [r5, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08126CFC @ =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r4, r0, 0
- ldr r2, _08126D00 @ =gFieldEffectObjectTemplatePointers
- ldr r1, _08126D04 @ =gUnknown_08401E32
- ldrb r0, [r4, 0xC]
- lsls r0, 26
- lsrs r0, 30
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- movs r3, 0x94
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08126CF0
- ldr r0, _08126D08 @ =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, 0x2
- orrs r0, r1
- strb r0, [r3]
- ldr r0, [r5]
- strh r0, [r2, 0x2E]
- ldr r0, [r5, 0x4]
- strh r0, [r2, 0x30]
- ldr r0, [r5, 0x8]
- strh r0, [r2, 0x32]
- ldrh r1, [r4, 0xA]
- lsls r1, 16
- asrs r1, 17
- ldr r3, _08126D0C @ =gUnknown_08401E36
- ldrb r0, [r4, 0xC]
- lsls r0, 26
- lsrs r0, 30
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r2, 0x34]
-_08126CF0:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08126CF8: .4byte gFieldEffectArguments
-_08126CFC: .4byte gMapObjects
-_08126D00: .4byte gFieldEffectObjectTemplatePointers
-_08126D04: .4byte gUnknown_08401E32
-_08126D08: .4byte gSprites
-_08126D0C: .4byte gUnknown_08401E36
- thumb_func_end FldEff_Shadow
-
- thumb_func_start oamc_shadow
-oamc_shadow: @ 8126D10
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r5, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _08126D3E
- adds r0, r5, 0
- movs r1, 0x3
- bl FieldEffectStop
- b _08126DC4
-_08126D3E:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08126DCC @ =gMapObjects
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08126DD0 @ =gSprites
- adds r1, r0
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- ands r2, r0
- ldrb r3, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r5, 0x5]
- ldrh r0, [r1, 0x20]
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x34]
- ldrh r1, [r1, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldr r0, [r4]
- ldr r1, _08126DD4 @ =0x00400001
- ands r0, r1
- cmp r0, r1
- bne _08126DBC
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPokeGrass
- lsls r0, 24
- cmp r0, 0
- bne _08126DBC
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _08126DBC
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _08126DBC
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- bne _08126DBC
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- beq _08126DC4
-_08126DBC:
- adds r0, r5, 0
- movs r1, 0x3
- bl FieldEffectStop
-_08126DC4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08126DCC: .4byte gMapObjects
-_08126DD0: .4byte gSprites
-_08126DD4: .4byte 0x00400001
- thumb_func_end oamc_shadow
-
- thumb_func_start FldEff_TallGrass
-FldEff_TallGrass: @ 8126DD8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08126E70 @ =gFieldEffectArguments
- ldrh r1, [r5]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r5, 0x4]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08126E74 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x10]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08126E64
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08126E78 @ =gSprites
- adds r3, r0, r1
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x3
- ldrb r1, [r5, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r5, 0x8]
- strh r0, [r3, 0x2E]
- ldr r0, [r5]
- strh r0, [r3, 0x30]
- ldr r0, [r5, 0x4]
- strh r0, [r3, 0x32]
- ldr r0, [r5, 0x10]
- strh r0, [r3, 0x34]
- ldr r0, [r5, 0x14]
- strh r0, [r3, 0x36]
- ldr r0, [r5, 0x18]
- strh r0, [r3, 0x38]
- ldr r0, [r5, 0x1C]
- cmp r0, 0
- beq _08126E64
- adds r0, r3, 0
- movs r1, 0x4
- bl SeekSpriteAnim
-_08126E64:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08126E70: .4byte gFieldEffectArguments
-_08126E74: .4byte gFieldEffectObjectTemplatePointers
-_08126E78: .4byte gSprites
- thumb_func_end FldEff_TallGrass
-
- thumb_func_start unc_grass_normal
-unc_grass_normal: @ 8126E7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- lsrs r4, r0, 8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, _08126F24 @ =gUnknown_0202E844
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08126EC6
- ldr r2, _08126F28 @ =gSaveBlock1
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r0, r4
- bne _08126EAC
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r0, r7
- beq _08126EC6
-_08126EAC:
- ldr r1, [r3, 0x4]
- ldrh r0, [r5, 0x30]
- subs r0, r1
- strh r0, [r5, 0x30]
- ldr r1, [r3, 0x8]
- ldrh r0, [r5, 0x32]
- subs r0, r1
- strh r0, [r5, 0x32]
- ldrb r1, [r2, 0x5]
- lsls r1, 8
- ldrb r0, [r2, 0x4]
- orrs r0, r1
- strh r0, [r5, 0x38]
-_08126EC6:
- ldrh r0, [r5, 0x34]
- lsrs r1, r0, 8
- mov r8, r1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r0, [r5, 0x36]
- lsls r0, 24
- lsrs r7, r0, 24
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- movs r2, 0x32
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08126F1A
- adds r0, r6, 0
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _08126F1A
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08126F2C
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08126F2C
-_08126F1A:
- adds r0, r5, 0
- movs r1, 0x4
- bl FieldEffectStop
- b _08126F70
- .align 2, 0
-_08126F24: .4byte gUnknown_0202E844
-_08126F28: .4byte gSaveBlock1
-_08126F2C:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08126F7C @ =gMapObjects
- adds r2, r0, r1
- ldr r0, [r2, 0x10]
- ldr r1, [r5, 0x30]
- cmp r0, r1
- beq _08126F4C
- ldr r0, [r2, 0x14]
- cmp r0, r1
- beq _08126F4C
- movs r0, 0x1
- strh r0, [r5, 0x3C]
-_08126F4C:
- movs r6, 0
- adds r0, r5, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- bne _08126F5A
- movs r6, 0x4
-_08126F5A:
- adds r0, r5, 0
- movs r1, 0
- bl sub_806487C
- ldrh r1, [r5, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_812882C
-_08126F70:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08126F7C: .4byte gMapObjects
- thumb_func_end unc_grass_normal
-
- thumb_func_start FldEff_JumpTallGrass
-FldEff_JumpTallGrass: @ 8126F80
- push {r4,lr}
- ldr r4, _08126FE4 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0xC
- bl sub_8060470
- ldr r0, _08126FE8 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x28]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08126FDC
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08126FEC @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0xC
- strh r0, [r2, 0x30]
-_08126FDC:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08126FE4: .4byte gFieldEffectArguments
-_08126FE8: .4byte gFieldEffectObjectTemplatePointers
-_08126FEC: .4byte gSprites
- thumb_func_end FldEff_JumpTallGrass
-
- thumb_func_start sub_8126FF0
-sub_8126FF0: @ 8126FF0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r5, 0
- ldr r0, _08127060 @ =gSprites
- mov r8, r0
- lsls r3, 16
- asrs r3, 16
- lsls r4, 16
- asrs r4, 16
-_08127014:
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- mov r1, r8
- adds r2, r0, r1
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _08127068
- ldr r1, [r2, 0x1C]
- ldr r0, _08127064 @ =unc_grass_normal
- cmp r1, r0
- bne _08127068
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r3, r0
- bne _08127068
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r4, r0
- bne _08127068
- ldrh r1, [r2, 0x34]
- lsrs r0, r1, 8
- cmp r12, r0
- bne _08127068
- movs r0, 0xFF
- ands r0, r1
- cmp r7, r0
- bne _08127068
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r6, r0
- bne _08127068
- adds r0, r5, 0
- b _08127074
- .align 2, 0
-_08127060: .4byte gSprites
-_08127064: .4byte unc_grass_normal
-_08127068:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3F
- bls _08127014
- movs r0, 0x40
-_08127074:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8126FF0
-
- thumb_func_start FldEff_LongGrass
-FldEff_LongGrass: @ 8127080
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0812711C @ =gFieldEffectArguments
- ldrh r1, [r5]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r5, 0x4]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127120 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x3C]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08127110
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08127124 @ =gSprites
- adds r4, r0, r1
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r5, 0x8]
- bl ZCoordToPriority
- 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 r0, [r5, 0x8]
- strh r0, [r4, 0x2E]
- ldr r0, [r5]
- strh r0, [r4, 0x30]
- ldr r0, [r5, 0x4]
- strh r0, [r4, 0x32]
- ldr r0, [r5, 0x10]
- strh r0, [r4, 0x34]
- ldr r0, [r5, 0x14]
- strh r0, [r4, 0x36]
- ldr r0, [r5, 0x18]
- strh r0, [r4, 0x38]
- ldr r0, [r5, 0x1C]
- cmp r0, 0
- beq _08127110
- adds r0, r4, 0
- movs r1, 0x6
- bl SeekSpriteAnim
-_08127110:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0812711C: .4byte gFieldEffectArguments
-_08127120: .4byte gFieldEffectObjectTemplatePointers
-_08127124: .4byte gSprites
- thumb_func_end FldEff_LongGrass
-
- thumb_func_start unc_grass_tall
-unc_grass_tall: @ 8127128
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- lsrs r7, r0, 8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, _081271D0 @ =gUnknown_0202E844
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08127172
- ldr r2, _081271D4 @ =gSaveBlock1
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r0, r7
- bne _08127158
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r0, r6
- beq _08127172
-_08127158:
- ldr r1, [r3, 0x4]
- ldrh r0, [r5, 0x30]
- subs r0, r1
- strh r0, [r5, 0x30]
- ldr r1, [r3, 0x8]
- ldrh r0, [r5, 0x32]
- subs r0, r1
- strh r0, [r5, 0x32]
- ldrb r1, [r2, 0x5]
- lsls r1, 8
- ldrb r0, [r2, 0x4]
- orrs r0, r1
- strh r0, [r5, 0x38]
-_08127172:
- ldrh r0, [r5, 0x34]
- lsrs r1, r0, 8
- mov r8, r1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r5, 0x36]
- lsls r0, 24
- lsrs r6, r0, 24
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- movs r2, 0x32
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, r8
- adds r1, r7, 0
- adds r2, r6, 0
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _081271C6
- adds r0, r4, 0
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _081271C6
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081271D8
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081271D8
-_081271C6:
- adds r0, r5, 0
- movs r1, 0x11
- bl FieldEffectStop
- b _0812720E
- .align 2, 0
-_081271D0: .4byte gUnknown_0202E844
-_081271D4: .4byte gSaveBlock1
-_081271D8:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0812721C @ =gMapObjects
- adds r2, r0, r1
- ldr r0, [r2, 0x10]
- ldr r1, [r5, 0x30]
- cmp r0, r1
- beq _081271F8
- ldr r0, [r2, 0x14]
- cmp r0, r1
- beq _081271F8
- movs r0, 0x1
- strh r0, [r5, 0x3C]
-_081271F8:
- adds r0, r5, 0
- movs r1, 0
- bl sub_806487C
- ldrh r1, [r5, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- movs r2, 0
- bl sub_812882C
-_0812720E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812721C: .4byte gMapObjects
- thumb_func_end unc_grass_tall
-
- thumb_func_start FldEff_JumpLongGrass
-FldEff_JumpLongGrass: @ 8127220
- push {r4,lr}
- ldr r4, _08127284 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127288 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x40]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0812727C
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _0812728C @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0x12
- strh r0, [r2, 0x30]
-_0812727C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08127284: .4byte gFieldEffectArguments
-_08127288: .4byte gFieldEffectObjectTemplatePointers
-_0812728C: .4byte gSprites
- thumb_func_end FldEff_JumpLongGrass
-
- thumb_func_start FldEff_ShortGrass
-FldEff_ShortGrass: @ 8127290
- push {r4-r6,lr}
- ldr r6, _08127324 @ =gFieldEffectArguments
- ldrb r0, [r6]
- ldrb r1, [r6, 0x4]
- ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _08127328 @ =gMapObjects
- adds r5, r1, r0
- ldr r0, _0812732C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x78]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0812731C
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r4, _08127330 @ =gSprites
- adds r2, r4
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- movs r1, 0xC
- ands r1, r0
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r6]
- strh r0, [r2, 0x2E]
- ldr r0, [r6, 0x4]
- strh r0, [r2, 0x30]
- ldr r0, [r6, 0x8]
- strh r0, [r2, 0x32]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r2, 0x34]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x36]
-_0812731C:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08127324: .4byte gFieldEffectArguments
-_08127328: .4byte gMapObjects
-_0812732C: .4byte gFieldEffectObjectTemplatePointers
-_08127330: .4byte gSprites
- thumb_func_end FldEff_ShortGrass
-
- thumb_func_start sub_8127334
-sub_8127334: @ 8127334
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08127372
- ldr r5, _0812737C @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1, 0x2]
- lsls r0, 29
- cmp r0, 0
- blt _08127380
-_08127372:
- adds r0, r4, 0
- movs r1, 0x29
- bl FieldEffectStop
- b _08127416
- .align 2, 0
-_0812737C: .4byte gMapObjects
-_08127380:
- ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
- mov r8, r0
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08127424 @ =gSprites
- adds r6, r0, r1
- ldrh r5, [r6, 0x22]
- ldrh r7, [r6, 0x20]
- movs r0, 0x20
- ldrsh r1, [r6, r0]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _081273BC
- lsls r0, r5, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _081273D6
-_081273BC:
- strh r7, [r4, 0x34]
- strh r5, [r4, 0x36]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081273D6
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_081273D6:
- strh r7, [r4, 0x20]
- strh r5, [r4, 0x22]
- mov r1, r8
- ldrh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 17
- subs r0, 0x8
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r0, [r6, 0x5]
- movs r1, 0xC
- ands r1, r0
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r0, r6, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- adds r0, r4, 0
- bl sub_806487C
-_08127416:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08127424: .4byte gSprites
- thumb_func_end sub_8127334
-
- thumb_func_start FldEff_SandFootprints
-FldEff_SandFootprints: @ 8127428
- push {r4,lr}
- ldr r4, _08127490 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127494 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x2C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08127486
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08127498 @ =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- movs r1, 0x3
- ldrb r2, [r4, 0xC]
- ands r2, r1
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0xD
- strh r1, [r0, 0x3C]
- ldrb r1, [r4, 0x10]
- bl StartSpriteAnim
-_08127486:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08127490: .4byte gFieldEffectArguments
-_08127494: .4byte gFieldEffectObjectTemplatePointers
-_08127498: .4byte gSprites
- thumb_func_end FldEff_SandFootprints
-
- thumb_func_start FldEff_DeepSandFootprints
-FldEff_DeepSandFootprints: @ 812749C
- push {r4,r5,lr}
- ldr r4, _08127504 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127508 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x5C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- adds r5, r1, 0
- cmp r1, 0x40
- beq _081274FC
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0812750C @ =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- movs r1, 0x3
- ldrb r2, [r4, 0xC]
- ands r2, r1
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x18
- strh r1, [r0, 0x3C]
- ldrb r1, [r4, 0x10]
- bl StartSpriteAnim
-_081274FC:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08127504: .4byte gFieldEffectArguments
-_08127508: .4byte gFieldEffectObjectTemplatePointers
-_0812750C: .4byte gSprites
- thumb_func_end FldEff_DeepSandFootprints
-
- thumb_func_start FldEff_BikeTireTracks
-FldEff_BikeTireTracks: @ 8127510
- push {r4,r5,lr}
- ldr r4, _08127578 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _0812757C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x6C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- adds r5, r1, 0
- cmp r1, 0x40
- beq _08127570
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08127580 @ =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- movs r1, 0x3
- ldrb r2, [r4, 0xC]
- ands r2, r1
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x23
- strh r1, [r0, 0x3C]
- ldrb r1, [r4, 0x10]
- bl StartSpriteAnim
-_08127570:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08127578: .4byte gFieldEffectArguments
-_0812757C: .4byte gFieldEffectObjectTemplatePointers
-_08127580: .4byte gSprites
- thumb_func_end FldEff_BikeTireTracks
-
- thumb_func_start sub_8127584
-sub_8127584: @ 8127584
- push {lr}
- ldr r2, _0812759C @ =gUnknown_08401E40
- movs r3, 0x2E
- ldrsh r1, [r0, r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_0812759C: .4byte gUnknown_08401E40
- thumb_func_end sub_8127584
-
- thumb_func_start sub_81275A0
-sub_81275A0: @ 81275A0
- 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, 0x28
- ble _081275B6
- movs r0, 0x1
- strh r0, [r1, 0x2E]
-_081275B6:
- adds r0, r1, 0
- movs r1, 0
- bl sub_806487C
- pop {r0}
- bx r0
- thumb_func_end sub_81275A0
-
- thumb_func_start sub_81275C4
-sub_81275C4: @ 81275C4
- push {r4,lr}
- adds r4, r0, 0
- 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]
- ldrb r1, [r3]
- lsls r1, 29
- lsrs r1, 31
- adds r0, r4, 0
- bl sub_806487C
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x38
- ble _08127608
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldEffectStop
-_08127608:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81275C4
-
- thumb_func_start FldEff_Splash
-FldEff_Splash: @ 8127610
- push {r4-r6,lr}
- ldr r6, _081276A4 @ =gFieldEffectArguments
- ldrb r0, [r6]
- ldrb r1, [r6, 0x4]
- ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _081276A8 @ =gMapObjects
- adds r5, r1, r0
- ldr r0, _081276AC @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x34]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x40
- beq _0812769A
- ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- ldr r4, _081276B0 @ =gSprites
- adds r3, r4
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r1, [r1]
- movs r2, 0x2
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- ldrb r2, [r5, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r4, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r2
- strb r1, [r3, 0x5]
- ldr r1, [r6]
- strh r1, [r3, 0x2E]
- ldr r1, [r6, 0x4]
- strh r1, [r3, 0x30]
- ldr r1, [r6, 0x8]
- strh r1, [r3, 0x32]
- ldrh r0, [r0, 0xA]
- lsls r0, 16
- asrs r0, 17
- subs r0, 0x4
- strh r0, [r3, 0x26]
- movs r0, 0x46
- bl PlaySE
-_0812769A:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081276A4: .4byte gFieldEffectArguments
-_081276A8: .4byte gMapObjects
-_081276AC: .4byte gFieldEffectObjectTemplatePointers
-_081276B0: .4byte gSprites
- thumb_func_end FldEff_Splash
-
- thumb_func_start sub_81276B4
-sub_81276B4: @ 81276B4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _081276E4
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _081276EE
-_081276E4:
- adds r0, r4, 0
- movs r1, 0xF
- bl FieldEffectStop
- b _0812772E
-_081276EE:
- ldr r3, _08127738 @ =gSprites
- ldr r2, _0812773C @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x20]
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806487C
-_0812772E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08127738: .4byte gSprites
-_0812773C: .4byte gMapObjects
- thumb_func_end sub_81276B4
-
- thumb_func_start FldEff_JumpSmallSplash
-FldEff_JumpSmallSplash: @ 8127740
- push {r4,lr}
- ldr r4, _081277A4 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0xC
- bl sub_8060470
- ldr r0, _081277A8 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x38]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0812779C
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _081277AC @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0x10
- strh r0, [r2, 0x30]
-_0812779C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_081277A4: .4byte gFieldEffectArguments
-_081277A8: .4byte gFieldEffectObjectTemplatePointers
-_081277AC: .4byte gSprites
- thumb_func_end FldEff_JumpSmallSplash
-
- thumb_func_start FldEff_JumpBigSplash
-FldEff_JumpBigSplash: @ 81277B0
- push {r4,lr}
- ldr r4, _08127814 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127818 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x30]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0812780C
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _0812781C @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0xE
- strh r0, [r2, 0x30]
-_0812780C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08127814: .4byte gFieldEffectArguments
-_08127818: .4byte gFieldEffectObjectTemplatePointers
-_0812781C: .4byte gSprites
- thumb_func_end FldEff_JumpBigSplash
-
- thumb_func_start FldEff_FeetInFlowingWater
-FldEff_FeetInFlowingWater: @ 8127820
- push {r4-r7,lr}
- ldr r7, _081278C0 @ =gFieldEffectArguments
- ldrb r0, [r7]
- ldrb r1, [r7, 0x4]
- ldrb r2, [r7, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _081278C4 @ =gMapObjects
- adds r6, r1, r0
- ldr r0, _081278C8 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x34]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _081278B6
- ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r4, r0, 0
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r3, _081278CC @ =gSprites
- adds r0, r3
- ldr r1, _081278D0 @ =sub_81278D8
- str r1, [r0, 0x1C]
- adds r5, r0, 0
- adds r5, 0x3E
- ldrb r1, [r5]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r5]
- ldrb r2, [r6, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, [r7]
- strh r1, [r0, 0x2E]
- ldr r1, [r7, 0x4]
- strh r1, [r0, 0x30]
- ldr r1, [r7, 0x8]
- strh r1, [r0, 0x32]
- ldr r1, _081278D4 @ =0x0000ffff
- strh r1, [r0, 0x34]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x36]
- ldrh r1, [r4, 0xA]
- lsls r1, 16
- asrs r1, 17
- subs r1, 0x4
- strh r1, [r0, 0x26]
- movs r1, 0x1
- bl StartSpriteAnim
-_081278B6:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081278C0: .4byte gFieldEffectArguments
-_081278C4: .4byte gMapObjects
-_081278C8: .4byte gFieldEffectObjectTemplatePointers
-_081278CC: .4byte gSprites
-_081278D0: .4byte sub_81278D8
-_081278D4: .4byte 0x0000ffff
- thumb_func_end FldEff_FeetInFlowingWater
-
- thumb_func_start sub_81278D8
-sub_81278D8: @ 81278D8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08127912
- ldr r2, _0812791C @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r2
- ldrb r0, [r5, 0x2]
- lsls r0, 28
- cmp r0, 0
- blt _08127920
-_08127912:
- adds r0, r4, 0
- movs r1, 0x22
- bl FieldEffectStop
- b _0812796A
- .align 2, 0
-_0812791C: .4byte gMapObjects
-_08127920:
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08127974 @ =gSprites
- adds r0, r1
- ldrh r1, [r0, 0x20]
- strh r1, [r4, 0x20]
- ldrh r1, [r0, 0x22]
- strh r1, [r4, 0x22]
- adds r0, 0x43
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806487C
- ldr r1, [r5, 0x10]
- ldr r0, [r4, 0x34]
- cmp r1, r0
- beq _0812796A
- ldrh r0, [r5, 0x10]
- strh r0, [r4, 0x34]
- ldrh r0, [r5, 0x12]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0812796A
- movs r0, 0x46
- bl PlaySE
-_0812796A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08127974: .4byte gSprites
- thumb_func_end sub_81278D8
-
- thumb_func_start FldEff_Ripple
-FldEff_Ripple: @ 8127978
- push {r4,lr}
- ldr r0, _081279CC @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x14]
- ldr r4, _081279D0 @ =gFieldEffectArguments
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _081279C4
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _081279D4 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x5
- strh r0, [r2, 0x2E]
-_081279C4:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_081279CC: .4byte gFieldEffectObjectTemplatePointers
-_081279D0: .4byte gFieldEffectArguments
-_081279D4: .4byte gSprites
- thumb_func_end FldEff_Ripple
-
- thumb_func_start FldEff_HotSpringsWater
-FldEff_HotSpringsWater: @ 81279D8
- push {r4-r6,lr}
- ldr r6, _08127A6C @ =gFieldEffectArguments
- ldrb r0, [r6]
- ldrb r1, [r6, 0x4]
- ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _08127A70 @ =gMapObjects
- adds r5, r1, r0
- ldr r0, _08127A74 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x7C]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08127A64
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r4, _08127A78 @ =gSprites
- adds r2, r4
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- movs r1, 0xC
- ands r1, r0
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r6]
- strh r0, [r2, 0x2E]
- ldr r0, [r6, 0x4]
- strh r0, [r2, 0x30]
- ldr r0, [r6, 0x8]
- strh r0, [r2, 0x32]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r2, 0x34]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x36]
-_08127A64:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08127A6C: .4byte gFieldEffectArguments
-_08127A70: .4byte gMapObjects
-_08127A74: .4byte gFieldEffectObjectTemplatePointers
-_08127A78: .4byte gSprites
- thumb_func_end FldEff_HotSpringsWater
-
- thumb_func_start sub_8127A7C
-sub_8127A7C: @ 8127A7C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08127AB6
- ldr r5, _08127AC0 @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1, 0x2]
- lsls r0, 26
- cmp r0, 0
- blt _08127AC4
-_08127AB6:
- adds r0, r4, 0
- movs r1, 0x2A
- bl FieldEffectStop
- b _08127B08
- .align 2, 0
-_08127AC0: .4byte gMapObjects
-_08127AC4:
- ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
- mov r1, sp
- ldrb r2, [r1]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, _08127B10 @ =gSprites
- adds r1, r2
- ldrh r2, [r1, 0x20]
- strh r2, [r4, 0x20]
- ldrh r0, [r0, 0xA]
- lsls r0, 16
- asrs r0, 17
- ldrh r2, [r1, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r4, 0x22]
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806487C
-_08127B08:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08127B10: .4byte gSprites
- thumb_func_end sub_8127A7C
-
- thumb_func_start FldEff_Unknown19
-FldEff_Unknown19: @ 8127B14
- push {r4,lr}
- ldr r4, _08127B74 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127B78 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x44]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08127B6C
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08127B7C @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x13
- strh r0, [r2, 0x2E]
-_08127B6C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08127B74: .4byte gFieldEffectArguments
-_08127B78: .4byte gFieldEffectObjectTemplatePointers
-_08127B7C: .4byte gSprites
- thumb_func_end FldEff_Unknown19
-
- thumb_func_start FldEff_Unknown20
-FldEff_Unknown20: @ 8127B80
- push {r4,lr}
- ldr r4, _08127BE0 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127BE4 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x48]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08127BD8
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08127BE8 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x14
- strh r0, [r2, 0x2E]
-_08127BD8:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08127BE0: .4byte gFieldEffectArguments
-_08127BE4: .4byte gFieldEffectObjectTemplatePointers
-_08127BE8: .4byte gSprites
- thumb_func_end FldEff_Unknown20
-
- thumb_func_start FldEff_Unknown21
-FldEff_Unknown21: @ 8127BEC
- push {r4,lr}
- ldr r4, _08127C4C @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127C50 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x4C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08127C44
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08127C54 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x15
- strh r0, [r2, 0x2E]
-_08127C44:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08127C4C: .4byte gFieldEffectArguments
-_08127C50: .4byte gFieldEffectObjectTemplatePointers
-_08127C54: .4byte gSprites
- thumb_func_end FldEff_Unknown21
-
- thumb_func_start FldEff_Unknown22
-FldEff_Unknown22: @ 8127C58
- push {r4,lr}
- ldr r4, _08127CB8 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127CBC @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x50]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08127CB0
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08127CC0 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x16
- strh r0, [r2, 0x2E]
-_08127CB0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08127CB8: .4byte gFieldEffectArguments
-_08127CBC: .4byte gFieldEffectObjectTemplatePointers
-_08127CC0: .4byte gSprites
- thumb_func_end FldEff_Unknown22
-
- thumb_func_start ash
-ash: @ 8127CC4
- push {r4,lr}
- lsls r2, 16
- lsrs r2, 16
- ldr r4, _08127CF4 @ =gFieldEffectArguments
- lsls r0, 16
- asrs r0, 16
- str r0, [r4]
- lsls r1, 16
- asrs r1, 16
- str r1, [r4, 0x4]
- movs r0, 0x52
- str r0, [r4, 0x8]
- movs r0, 0x1
- str r0, [r4, 0xC]
- str r2, [r4, 0x10]
- lsls r3, 16
- asrs r3, 16
- str r3, [r4, 0x14]
- movs r0, 0x7
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08127CF4: .4byte gFieldEffectArguments
- thumb_func_end ash
-
- thumb_func_start FldEff_Ash
-FldEff_Ash: @ 8127CF8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08127D78 @ =gFieldEffectArguments
- ldrh r1, [r5]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r5, 0x4]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127D7C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x18]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- ldrb r3, [r5, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08127D6E
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08127D80 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r5, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r5]
- strh r0, [r2, 0x30]
- ldr r0, [r5, 0x4]
- strh r0, [r2, 0x32]
- ldr r0, [r5, 0x10]
- strh r0, [r2, 0x34]
- ldr r0, [r5, 0x14]
- strh r0, [r2, 0x36]
-_08127D6E:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08127D78: .4byte gFieldEffectArguments
-_08127D7C: .4byte gFieldEffectObjectTemplatePointers
-_08127D80: .4byte gSprites
- thumb_func_end FldEff_Ash
-
- thumb_func_start sub_8127D84
-sub_8127D84: @ 8127D84
- push {lr}
- ldr r2, _08127D9C @ =gUnknown_08401E48
- movs r3, 0x2E
- ldrsh r1, [r0, r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08127D9C: .4byte gUnknown_08401E48
- thumb_func_end sub_8127D84
-
- thumb_func_start sub_8127DA0
-sub_8127DA0: @ 8127DA0
- 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]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x36]
- subs r0, 0x1
- strh r0, [r3, 0x36]
- lsls r0, 16
- cmp r0, 0
- bne _08127DCA
- movs r0, 0x1
- strh r0, [r3, 0x2E]
-_08127DCA:
- pop {r0}
- bx r0
- thumb_func_end sub_8127DA0
-
- thumb_func_start sub_8127DD0
-sub_8127DD0: @ 8127DD0
- 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]
- subs r2, 0x12
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- ldrh r2, [r4, 0x34]
- bl MapGridSetMetatileIdAt
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- ldr r2, _08127E28 @ =gMapObjects
- ldr r0, _08127E2C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x2
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08127E28: .4byte gMapObjects
-_08127E2C: .4byte gPlayerAvatar
- thumb_func_end sub_8127DD0
-
- thumb_func_start sub_8127E30
-sub_8127E30: @ 8127E30
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_806487C
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08127E50
- adds r0, r4, 0
- movs r1, 0x7
- bl FieldEffectStop
-_08127E50:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8127E30
-
- thumb_func_start FldEff_SurfBlob
-FldEff_SurfBlob: @ 8127E58
- push {r4,r5,lr}
- ldr r4, _08127EC0 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08127EC4 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x1C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0x96
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- cmp r0, 0x40
- beq _08127EB2
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08127EC8 @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r1, 0x32]
- ldr r0, _08127ECC @ =0x0000ffff
- strh r0, [r1, 0x34]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1, 0x3A]
- strh r0, [r1, 0x3C]
-_08127EB2:
- movs r0, 0x8
- bl FieldEffectActiveListRemove
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08127EC0: .4byte gFieldEffectArguments
-_08127EC4: .4byte gFieldEffectObjectTemplatePointers
-_08127EC8: .4byte gSprites
-_08127ECC: .4byte 0x0000ffff
- thumb_func_end FldEff_SurfBlob
-
- thumb_func_start sub_8127ED0
-sub_8127ED0: @ 8127ED0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _08127EF8 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrh r0, [r2, 0x2E]
- movs r3, 0x10
- negs r3, r3
- ands r3, r0
- movs r0, 0xF0
- lsls r0, 20
- ands r0, r1
- lsrs r0, 24
- orrs r0, r3
- strh r0, [r2, 0x2E]
- bx lr
- .align 2, 0
-_08127EF8: .4byte gSprites
- thumb_func_end sub_8127ED0
-
- thumb_func_start sub_8127EFC
-sub_8127EFC: @ 8127EFC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _08127F24 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrh r0, [r2, 0x2E]
- movs r3, 0xF1
- negs r3, r3
- ands r3, r0
- movs r0, 0xF0
- lsls r0, 20
- ands r0, r1
- lsrs r0, 20
- orrs r3, r0
- strh r3, [r2, 0x2E]
- bx lr
- .align 2, 0
-_08127F24: .4byte gSprites
- thumb_func_end sub_8127EFC
-
- thumb_func_start sub_8127F28
-sub_8127F28: @ 8127F28
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r4, _08127F54 @ =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r4
- ldrh r0, [r3, 0x2E]
- ldr r4, _08127F58 @ =0xfffff0ff
- ands r4, r0
- movs r0, 0xF0
- lsls r0, 20
- ands r0, r1
- lsrs r0, 16
- orrs r4, r0
- strh r4, [r3, 0x2E]
- strh r2, [r3, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08127F54: .4byte gSprites
-_08127F58: .4byte 0xfffff0ff
- thumb_func_end sub_8127F28
-
- thumb_func_start sub_8127F5C
-sub_8127F5C: @ 8127F5C
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF
- ands r0, r1
- bx lr
- thumb_func_end sub_8127F5C
-
- thumb_func_start sub_8127F64
-sub_8127F64: @ 8127F64
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF0
- ands r0, r1
- lsrs r0, 4
- bx lr
- thumb_func_end sub_8127F64
-
- thumb_func_start sub_8127F70
-sub_8127F70: @ 8127F70
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF0
- lsls r0, 4
- ands r0, r1
- lsrs r0, 8
- bx lr
- thumb_func_end sub_8127F70
-
- thumb_func_start sub_8127F7C
-sub_8127F7C: @ 8127F7C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08127FCC @ =gMapObjects
- adds r4, r0
- ldrb r0, [r4, 0x4]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, _08127FD0 @ =gSprites
- adds r5, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8127FD4
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_812800C
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_81280A0
- ldrb r0, [r5, 0x5]
- movs r1, 0xC
- ands r1, r0
- ldrb r2, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08127FCC: .4byte gMapObjects
-_08127FD0: .4byte gSprites
- thumb_func_end sub_8127F7C
-
- thumb_func_start sub_8127FD4
-sub_8127FD4: @ 8127FD4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _08128008 @ =gUnknown_08401E54
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- adds r0, r4, 0
- bl sub_8127F64
- lsls r0, 24
- cmp r0, 0
- bne _08128000
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- add r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl StartSpriteAnimIfDifferent
-_08128000:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08128008: .4byte gUnknown_08401E54
- thumb_func_end sub_8127FD4
-
- thumb_func_start sub_812800C
-sub_812800C: @ 812800C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r1, 0
- ldrh r2, [r0, 0x10]
- mov r1, sp
- strh r2, [r1]
- ldrh r1, [r0, 0x12]
- mov r0, sp
- adds r0, 0x2
- strh r1, [r0]
- movs r2, 0x26
- ldrsh r3, [r4, r2]
- mov r8, r0
- cmp r3, 0
- bne _08128094
- mov r0, sp
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r5, 0x3A
- ldrsh r0, [r4, r5]
- cmp r2, r0
- bne _08128048
- lsls r0, r1, 16
- asrs r0, 16
- movs r5, 0x3C
- ldrsh r1, [r4, r5]
- cmp r0, r1
- beq _08128094
-_08128048:
- strh r3, [r4, 0x38]
- strh r2, [r4, 0x3A]
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- strh r0, [r4, 0x3C]
- movs r5, 0x1
- mov r7, r8
- mov r6, sp
-_0812805A:
- adds r0, r5, 0
- mov r1, sp
- adds r2, r7, 0
- bl MoveCoords
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0
- ldrsh r1, [r7, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _08128080
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- b _08128094
-_08128080:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4, 0x3A]
- strh r0, [r6]
- ldrh r0, [r4, 0x3C]
- mov r1, r8
- strh r0, [r1]
- cmp r5, 0x4
- bls _0812805A
-_08128094:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_812800C
-
- thumb_func_start sub_81280A0
-sub_81280A0: @ 81280A0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r1, _08128104 @ =gUnknown_08401E5A
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r0, r4, 0
- bl sub_8127F5C
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- cmp r2, 0
- beq _0812811A
- ldrh r1, [r4, 0x36]
- adds r1, 0x1
- strh r1, [r4, 0x36]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _081280E0
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
-_081280E0:
- ldrh r1, [r4, 0x36]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _081280F0
- ldrh r0, [r4, 0x34]
- negs r0, r0
- strh r0, [r4, 0x34]
-_081280F0:
- cmp r2, 0x2
- beq _0812811A
- adds r0, r4, 0
- bl sub_8127F70
- lsls r0, 24
- cmp r0, 0
- bne _08128108
- ldrh r0, [r4, 0x26]
- b _0812810E
- .align 2, 0
-_08128104: .4byte gUnknown_08401E5A
-_08128108:
- ldrh r0, [r4, 0x26]
- ldrh r3, [r4, 0x30]
- adds r0, r3
-_0812810E:
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x20]
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r4, 0x22]
-_0812811A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81280A0
-
- thumb_func_start sub_8128124
-sub_8128124: @ 8128124
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08128168 @ =gDummySpriteTemplate
- movs r1, 0
- movs r2, 0
- movs r3, 0xFF
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, _0812816C @ =gSprites
- adds r2, r1
- ldr r1, _08128170 @ =sub_8128174
- str r1, [r2, 0x1C]
- movs r1, 0x3E
- adds r1, r2
- mov r12, r1
- ldrb r1, [r1]
- movs r3, 0x4
- orrs r1, r3
- mov r3, r12
- strb r1, [r3]
- strh r4, [r2, 0x2E]
- movs r1, 0x1
- strh r1, [r2, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08128168: .4byte gDummySpriteTemplate
-_0812816C: .4byte gSprites
-_08128170: .4byte sub_8128174
- thumb_func_end sub_8128124
-
- thumb_func_start sub_8128174
-sub_8128174: @ 8128174
- push {lr}
- adds r2, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081281B0 @ =gSprites
- adds r3, r0, r1
- ldrh r1, [r2, 0x32]
- adds r0, r1, 0x1
- strh r0, [r2, 0x32]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0812819C
- ldrh r0, [r2, 0x30]
- ldrh r1, [r3, 0x26]
- adds r0, r1
- strh r0, [r3, 0x26]
-_0812819C:
- ldrh r1, [r2, 0x32]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _081281AC
- ldrh r0, [r2, 0x30]
- negs r0, r0
- strh r0, [r2, 0x30]
-_081281AC:
- pop {r0}
- bx r0
- .align 2, 0
-_081281B0: .4byte gSprites
- thumb_func_end sub_8128174
-
- thumb_func_start FldEff_Dust
-FldEff_Dust: @ 81281B4
- push {r4,lr}
- ldr r4, _08128218 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0xC
- bl sub_8060470
- ldr r0, _0812821C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x24]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08128210
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08128220 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0xA
- strh r0, [r2, 0x30]
-_08128210:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08128218: .4byte gFieldEffectArguments
-_0812821C: .4byte gFieldEffectObjectTemplatePointers
-_08128220: .4byte gSprites
- thumb_func_end FldEff_Dust
-
- thumb_func_start FldEff_SandPile
-FldEff_SandPile: @ 8128224
- push {r4-r7,lr}
- ldr r7, _081282D0 @ =gFieldEffectArguments
- ldrb r0, [r7]
- ldrb r1, [r7, 0x4]
- ldrb r2, [r7, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _081282D4 @ =gMapObjects
- adds r6, r1, r0
- ldr r0, _081282D8 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x74]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x40
- beq _081282C8
- ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r5, r0, 0
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r4, _081282DC @ =gSprites
- adds r0, r4
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- ldrb r2, [r6, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, [r7]
- strh r1, [r0, 0x2E]
- ldr r1, [r7, 0x4]
- strh r1, [r0, 0x30]
- ldr r1, [r7, 0x8]
- strh r1, [r0, 0x32]
- ldrb r2, [r6, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x20]
- strh r1, [r0, 0x34]
- ldrb r2, [r6, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x36]
- ldrh r1, [r5, 0xA]
- lsls r1, 16
- asrs r1, 17
- subs r1, 0x2
- strh r1, [r0, 0x26]
- movs r1, 0x2
- bl SeekSpriteAnim
-_081282C8:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081282D0: .4byte gFieldEffectArguments
-_081282D4: .4byte gMapObjects
-_081282D8: .4byte gFieldEffectObjectTemplatePointers
-_081282DC: .4byte gSprites
- thumb_func_end FldEff_SandPile
-
- thumb_func_start sub_81282E0
-sub_81282E0: @ 81282E0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0812831A
- ldr r2, _08128324 @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1, 0x2]
- lsls r0, 27
- cmp r0, 0
- blt _08128328
-_0812831A:
- adds r0, r4, 0
- movs r1, 0x27
- bl FieldEffectStop
- b _0812839A
- .align 2, 0
-_08128324: .4byte gMapObjects
-_08128328:
- ldr r2, _081283A4 @ =gSprites
- ldrb r1, [r1, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r5, [r0, 0x22]
- ldrh r6, [r0, 0x20]
- movs r2, 0x20
- ldrsh r1, [r0, r2]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08128350
- lsls r0, r5, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _0812836A
-_08128350:
- strh r6, [r4, 0x34]
- strh r5, [r4, 0x36]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0812836A
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_0812836A:
- strh r6, [r4, 0x20]
- strh r5, [r4, 0x22]
- ldr r3, _081283A4 @ =gSprites
- ldr r2, _081283A8 @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x43
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806487C
-_0812839A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081283A4: .4byte gSprites
-_081283A8: .4byte gMapObjects
- thumb_func_end sub_81282E0
-
- thumb_func_start FldEff_Bubbles
-FldEff_Bubbles: @ 81283AC
- push {r4,lr}
- ldr r4, _08128404 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0
- bl sub_8060470
- ldr r0, _08128408 @ =gFieldEffectObjectTemplatePointers
- adds r0, 0x88
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _081283FC
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _0812840C @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x5]
-_081283FC:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08128404: .4byte gFieldEffectArguments
-_08128408: .4byte gFieldEffectObjectTemplatePointers
-_0812840C: .4byte gSprites
- thumb_func_end FldEff_Bubbles
-
- thumb_func_start sub_8128410
-sub_8128410: @ 8128410
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- movs r1, 0x80
- lsls r1, 1
- ands r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x22]
- subs r1, r0
- strh r1, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806487C
- ldrh r1, [r4, 0x3E]
- ldr r0, _0812844C @ =0x00001004
- ands r0, r1
- cmp r0, 0
- beq _08128444
- adds r0, r4, 0
- movs r1, 0x35
- bl FieldEffectStop
-_08128444:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812844C: .4byte 0x00001004
- thumb_func_end sub_8128410
-
- thumb_func_start FldEff_BerryTreeGrowthSparkle
-FldEff_BerryTreeGrowthSparkle: @ 8128450
- push {r4,lr}
- ldr r4, _081284B8 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x4
- bl sub_8060470
- ldr r0, _081284BC @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x58]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _081284B0
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _081284C0 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x50
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x17
- strh r0, [r2, 0x2E]
-_081284B0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_081284B8: .4byte gFieldEffectArguments
-_081284BC: .4byte gFieldEffectObjectTemplatePointers
-_081284C0: .4byte gSprites
- thumb_func_end FldEff_BerryTreeGrowthSparkle
-
- thumb_func_start FldEff_TreeDisguise
-FldEff_TreeDisguise: @ 81284C4
- push {lr}
- movs r0, 0x1C
- movs r1, 0x18
- movs r2, 0x4
- bl ShowDisguiseFieldEffect
- pop {r1}
- bx r1
- thumb_func_end FldEff_TreeDisguise
-
- thumb_func_start FldEff_MountainDisguise
-FldEff_MountainDisguise: @ 81284D4
- push {lr}
- movs r0, 0x1D
- movs r1, 0x19
- movs r2, 0x3
- bl ShowDisguiseFieldEffect
- pop {r1}
- bx r1
- thumb_func_end FldEff_MountainDisguise
-
- thumb_func_start FldEff_SandDisguise
-FldEff_SandDisguise: @ 81284E4
- push {lr}
- movs r0, 0x24
- movs r1, 0x1C
- movs r2, 0x2
- bl ShowDisguiseFieldEffect
- pop {r1}
- bx r1
- thumb_func_end FldEff_SandDisguise
-
- thumb_func_start ShowDisguiseFieldEffect
-ShowDisguiseFieldEffect: @ 81284F4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r5, _08128528 @ =gFieldEffectArguments
- ldrb r0, [r5]
- ldrb r1, [r5, 0x4]
- ldrb r2, [r5, 0x8]
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _0812852C
- adds r0, r4, 0
- bl FieldEffectActiveListRemove
- movs r0, 0x40
- b _08128598
- .align 2, 0
-_08128528: .4byte gFieldEffectArguments
-_0812852C:
- ldr r1, _081285A4 @ =gFieldEffectObjectTemplatePointers
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- mov r1, sp
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08128594
- mov r0, sp
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _081285A8 @ =gSprites
- adds r2, r0
- movs r0, 0x3E
- adds r0, r2
- mov r12, r0
- ldrb r3, [r0]
- lsls r1, r3, 30
- lsrs r1, 31
- adds r1, 0x1
- movs r0, 0x1
- ands r1, r0
- lsls r1, 1
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- lsls r3, r7, 4
- ldrb r1, [r2, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x5]
- mov r0, r8
- strh r0, [r2, 0x30]
- ldr r0, [r5]
- strh r0, [r2, 0x32]
- ldr r0, [r5, 0x4]
- strh r0, [r2, 0x34]
- ldr r0, [r5, 0x8]
- strh r0, [r2, 0x36]
-_08128594:
- mov r0, sp
- ldrb r0, [r0]
-_08128598:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081285A4: .4byte gFieldEffectObjectTemplatePointers
-_081285A8: .4byte gSprites
- thumb_func_end ShowDisguiseFieldEffect
-
- thumb_func_start sub_81285AC
-sub_81285AC: @ 81285AC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x34]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r5, 0x36]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _081285DC
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldEffectStop
-_081285DC:
- ldr r4, _08128694 @ =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
- mov r1, sp
- ldrb r2, [r1]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- ldr r1, _08128698 @ =gSprites
- adds r2, r1
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r1, [r1]
- movs r3, 0x3E
- adds r3, r5
- mov r12, r3
- movs r3, 0x4
- ands r3, r1
- mov r1, r12
- ldrb r4, [r1]
- movs r1, 0x5
- negs r1, r1
- ands r1, r4
- orrs r1, r3
- mov r3, r12
- strb r1, [r3]
- ldrh r1, [r2, 0x20]
- strh r1, [r5, 0x20]
- ldrh r0, [r0, 0xA]
- lsls r0, 16
- asrs r0, 17
- ldrh r1, [r2, 0x22]
- adds r0, r1
- subs r0, 0x10
- strh r0, [r5, 0x22]
- adds r2, 0x43
- ldrb r0, [r2]
- subs r0, 0x1
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x1
- bne _0812865C
- adds r0, r1, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_0812865C:
- movs r3, 0x2E
- ldrsh r0, [r5, r3]
- ldrh r2, [r5, 0x2E]
- cmp r0, 0x2
- bne _08128678
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08128678
- movs r0, 0x1
- strh r0, [r5, 0x3C]
-_08128678:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0812868C
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldEffectStop
-_0812868C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08128694: .4byte gMapObjects
-_08128698: .4byte gSprites
- thumb_func_end sub_81285AC
-
- thumb_func_start sub_812869C
-sub_812869C: @ 812869C
- push {lr}
- adds r1, r0, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081286BA
- ldr r2, _081286C0 @ =gSprites
- ldrb r1, [r1, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
-_081286BA:
- pop {r0}
- bx r0
- .align 2, 0
-_081286C0: .4byte gSprites
- thumb_func_end sub_812869C
-
- thumb_func_start sub_81286C4
-sub_81286C4: @ 81286C4
- push {lr}
- adds r2, r0, 0
- adds r2, 0x21
- ldrb r1, [r2]
- cmp r1, 0x2
- beq _081286FA
- cmp r1, 0
- beq _081286FA
- ldrb r1, [r0, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081286EC @ =gSprites
- adds r1, r0, r1
- movs r3, 0x3C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _081286F0
- movs r0, 0
- b _081286FC
- .align 2, 0
-_081286EC: .4byte gSprites
-_081286F0:
- movs r0, 0x2
- strb r0, [r2]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
-_081286FA:
- movs r0, 0x1
-_081286FC:
- pop {r1}
- bx r1
- thumb_func_end sub_81286C4
-
- thumb_func_start FldEff_Sparkle
-FldEff_Sparkle: @ 8128700
- push {r4,lr}
- ldr r4, _08128768 @ =gFieldEffectArguments
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- ldr r0, [r4, 0x4]
- adds r0, 0x7
- str r0, [r4, 0x4]
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _0812876C @ =gFieldEffectObjectTemplatePointers
- adds r0, 0x8C
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08128760
- ldr r0, _08128770 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r0, 0x3
- ldrb r2, [r4, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
-_08128760:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08128768: .4byte gFieldEffectArguments
-_0812876C: .4byte gFieldEffectObjectTemplatePointers
-_08128770: .4byte gSprites
- thumb_func_end FldEff_Sparkle
-
- thumb_func_start sub_8128774
-sub_8128774: @ 8128774
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _081287A8
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081287A0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
-_081287A0:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _081287BE
-_081287A8:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x22
- ble _081287BE
- adds r0, r2, 0
- movs r1, 0x36
- bl FieldEffectStop
-_081287BE:
- pop {r0}
- bx r0
- thumb_func_end sub_8128774
-
- thumb_func_start sub_81287C4
-sub_81287C4: @ 81287C4
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081287E2
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldEffectStop
- b _081287F8
-_081287E2:
- adds r0, r4, 0
- movs r1, 0
- bl sub_806487C
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- movs r2, 0
- bl SetObjectSubpriorityByZCoord
-_081287F8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81287C4
-
- thumb_func_start sub_8128800
-sub_8128800: @ 8128800
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0812881E
- ldrh r1, [r2, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl FieldEffectStop
- b _08128826
-_0812881E:
- adds r0, r2, 0
- movs r1, 0
- bl sub_806487C
-_08128826:
- pop {r0}
- bx r0
- thumb_func_end sub_8128800
-
- thumb_func_start sub_812882C
-sub_812882C: @ 812882C
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r1, r6, 0
- bl SetObjectSubpriorityByZCoord
- movs r7, 0
-_08128842:
- lsls r0, r7, 3
- adds r0, r7
- lsls r0, 2
- ldr r1, _081288DC @ =gMapObjects
- adds r4, r0, r1
- ldrb r0, [r4]
- lsls r0, 31
- cmp r0, 0
- beq _081288E4
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081288E0 @ =gSprites
- adds r5, r0, r1
- adds r0, r6, 0
- adds r0, 0x28
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldrh r0, [r6, 0x20]
- adds r1, r0, r2
- subs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x20
- ldrsh r2, [r5, r0]
- cmp r1, r2
- bge _081288E4
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, r2
- ble _081288E4
- adds r0, r5, 0
- adds r0, 0x29
- movs r3, 0
- ldrsb r3, [r0, r3]
- ldrh r2, [r5, 0x22]
- adds r2, r3
- ldrh r4, [r5, 0x22]
- adds r0, r6, 0
- adds r0, 0x29
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrh r0, [r6, 0x22]
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- adds r3, r0, r3
- lsls r2, 16
- asrs r2, 16
- lsls r3, 16
- asrs r3, 16
- cmp r2, r3
- blt _081288BC
- cmp r2, r0
- bge _081288E4
-_081288BC:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, r3
- ble _081288E4
- adds r2, r6, 0
- adds r2, 0x43
- adds r0, r5, 0
- adds r0, 0x43
- ldrb r1, [r0]
- ldrb r0, [r2]
- cmp r0, r1
- bhi _081288E4
- adds r0, r1, 0x2
- strb r0, [r2]
- b _081288EE
- .align 2, 0
-_081288DC: .4byte gMapObjects
-_081288E0: .4byte gSprites
-_081288E4:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bls _08128842
-_081288EE:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_812882C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
deleted file mode 100644
index c8c402217..000000000
--- a/asm/field_map_obj.s
+++ /dev/null
@@ -1,628 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
-.ifndef NONMATCHING
- thumb_func_start sub_805F3EC
-sub_805F3EC: @ 805F3EC
- movs r0, 0
- bx lr
- thumb_func_end sub_805F3EC
-
- thumb_func_start sub_805F3F0
-sub_805F3F0: @ 805F3F0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r1, _0805F434 @ =gUnknown_0836DC09
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- bl state_to_direction
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F434: .4byte gUnknown_0836DC09
- thumb_func_end sub_805F3F0
-
- thumb_func_start sub_805F438
-sub_805F438: @ 805F438
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, _0805F4EC @ =gUnknown_0836DC09
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl GetGoSpeed0AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0805F4BE
- mov r1, r8
- cmp r1, 0
- beq _0805F4D2
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _0805F4D2
-_0805F4BE:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_0805F4D2:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F4EC: .4byte gUnknown_0836DC09
- thumb_func_end sub_805F438
-.endif
-
- thumb_func_start sub_805F4F0
-sub_805F4F0: @ 805F4F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, _0805F5A4 @ =gUnknown_0836DC09
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl sub_8060744
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0805F576
- mov r1, r8
- cmp r1, 0
- beq _0805F58A
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _0805F58A
-_0805F576:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_0805F58A:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F5A4: .4byte gUnknown_0836DC09
- thumb_func_end sub_805F4F0
-
- thumb_func_start sub_805F5A8
-sub_805F5A8: @ 805F5A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, _0805F65C @ =gUnknown_0836DC09
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl sub_806079C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0805F62E
- mov r1, r8
- cmp r1, 0
- beq _0805F642
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _0805F642
-_0805F62E:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_0805F642:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F65C: .4byte gUnknown_0836DC09
- thumb_func_end sub_805F5A8
-
- thumb_func_start sub_805F660
-sub_805F660: @ 805F660
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, _0805F714 @ =gUnknown_0836DC09
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl sub_80607C8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0805F6E6
- mov r1, r8
- cmp r1, 0
- beq _0805F6FA
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _0805F6FA
-_0805F6E6:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_0805F6FA:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F714: .4byte gUnknown_0836DC09
- thumb_func_end sub_805F660
-
- thumb_func_start cph_IM_DIFFERENT
-cph_IM_DIFFERENT: @ 805F718
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r1, _0805F75C @ =gUnknown_0836DC09
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- bl state_to_direction
- bl sub_806084C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F75C: .4byte gUnknown_0836DC09
- thumb_func_end cph_IM_DIFFERENT
-
- thumb_func_start sub_805F760
-sub_805F760: @ 805F760
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, _0805F814 @ =gUnknown_0836DC09
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl sub_80608A4
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0805F7E6
- mov r1, r8
- cmp r1, 0
- beq _0805F7FA
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _0805F7FA
-_0805F7E6:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_0805F7FA:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F814: .4byte gUnknown_0836DC09
- thumb_func_end sub_805F760
-
- thumb_func_start oac_hopping
-oac_hopping: @ 805F818
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, _0805F8DC @ =gUnknown_0836DC09
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- ldrh r1, [r4, 0x10]
- add r0, sp, 0x4
- strh r1, [r0]
- ldrh r0, [r4, 0x12]
- mov r5, sp
- adds r5, 0x6
- strh r0, [r5]
- movs r0, 0x2
- str r0, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- movs r3, 0x2
- bl sub_8060320
- adds r0, r6, 0
- bl GetJumpLedgeAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- add r0, sp, 0x4
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0805F8AC
- mov r1, r8
- cmp r1, 0
- beq _0805F8C0
- add r0, sp, 0x4
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _0805F8C0
-_0805F8AC:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_0805F8C0:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F8DC: .4byte gUnknown_0836DC09
- thumb_func_end oac_hopping
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index 9fddd9194..960b300b7 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -1,10 +1,10 @@
@ Does nothing.
- .macro snop
+ .macro nop
.byte 0x00
.endm
@ Does nothing.
- .macro snop1
+ .macro nop1
.byte 0x01
.endm
@@ -25,27 +25,27 @@
.endm
@ Jumps to destination and continues script execution from there.
- .macro jump destination
+ .macro goto destination
.byte 0x05
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there.
- .macro jumpif condition, destination
+ .macro goto_if condition, destination
.byte 0x06
.byte \condition
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls destination.
- .macro callif condition, destination
+ .macro call_if condition, destination
.byte 0x07
.byte \condition
.4byte \destination
.endm
@ Jumps to the standard function at index function.
- .macro jumpstd function
+ .macro gotostd function
.byte 0x08
.byte \function
.endm
@@ -57,58 +57,58 @@
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function.
- .macro jumpstdif condition, function
+ .macro gotostd_if condition, function
.byte 0x0a
.byte \condition
.byte \function
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function.
- .macro callstdif condition, function
+ .macro callstd_if condition, function
.byte 0x0b
.byte \condition
.byte \function
.endm
@ Executes a script stored in a default RAM location.
- .macro jumpram
+ .macro gotoram
.byte 0x0c
.endm
@ Terminates script execution and "resets the script RAM".
- .macro die
+ .macro killscript
.byte 0x0d
.endm
- @ Pads the specified value to a dword, and then writes that dword to a predefined address (0x0203AAA8).
- .macro setbyte value
+ @ Sets mystery event status
+ .macro setmysteryeventstatus value
.byte 0x0e
.byte \value
.endm
- @ Sets the specified script bank to value.
- .macro loadptr destination, value
+ @ Sets the specified script bank to immediate value.
+ .macro loadword destination, value
.byte 0x0f
.byte \destination
.4byte \value
.endm
- @ Sets the specified script bank to value.
- .macro setbufferbyte destination, value
+ @ Sets the specified script bank to immediate value.
+ .macro loadbyte destination, value
.byte 0x10
.byte \destination
.byte \value
.endm
@ Sets the byte at offset to value.
- .macro writebytetooffset value, offset
+ .macro writebytetoaddr value, offset
.byte 0x11
.byte \value
.4byte \offset
.endm
@ Copies the byte value at source into the specified script bank.
- .macro loadbytefrompointer destination, source
+ .macro loadbytefromaddr destination, source
.byte 0x12
.byte \destination
.4byte \source
@@ -122,7 +122,7 @@
.endm
@ Copies the contents of bank source into bank destination.
- .macro copybuffers destination, source
+ .macro copylocal destination, source
.byte 0x14
.byte \destination
.byte \source
@@ -171,71 +171,83 @@
.endm
@ Compares the values of script banks a and b, after forcing the values to bytes.
- .macro comparebuffers byte1, byte2
+ .macro compare_local_to_local byte1, byte2
.byte 0x1b
.byte \byte1
.byte \byte2
.endm
@ Compares the least-significant byte of the value of script bank a to a fixed byte value (b).
- .macro comparebuffertobyte a, b
+ .macro compare_local_to_value a, b
.byte 0x1c
.byte \a
.byte \b
.endm
@ Compares the least-significant byte of the value of script bank a to the byte located at offset b.
- .macro comparebuffertoptrbyte a, b
+ .macro compare_local_to_addr a, b
.byte 0x1d
.byte \a
.4byte \b
.endm
@ Compares the byte located at offset a to the least-significant byte of the value of script bank b.
- .macro compareptrbytetobuffer a, b
+ .macro compare_addr_to_local a, b
.byte 0x1e
.4byte \a
.byte \b
.endm
@ Compares the byte located at offset a to a fixed byte value (b).
- .macro compareptrbytetobyte a, b
+ .macro compare_addr_to_value a, b
.byte 0x1f
.4byte \a
.byte \b
.endm
@ Compares the byte located at offset a to the byte located at offset b.
- .macro compareptrbytes a, b
+ .macro compare_addr_to_addr a, b
.byte 0x20
.4byte \a
.4byte \b
.endm
@ Compares the value of `var` to a fixed word value (b).
- .macro compare var, value
+ .macro compare_var_to_value var, value
.byte 0x21
.2byte \var
.2byte \value
.endm
@ Compares the value of `var` to the value of `var2`.
- .macro comparevars var1, var2
+ .macro compare_var_to_var var1, var2
.byte 0x22
.2byte \var1
.2byte \var2
.endm
- @ Calls the ASM routine stored at code. Script execution is blocked until the ASM returns (bx lr, mov pc, lr, etc.). Remember to add 1 to the offset when calling THUMB code.
- .macro callasm code
+ @ 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
+ .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8)
+ compare_var_to_var \arg1, \arg2
+ .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF)
+ compare_var_to_value \arg1, \arg2
+ .else
+ .error "Invalid arguments for 'compare'"
+ .endif
+ .endm
+
+ @ Calls the native C function stored at `func`.
+ .macro callnative func
.byte 0x23
- .4byte \code
+ .4byte \func
.endm
- @ Replaces a pointer in the script engine RAM with asm_pointer.
- .macro jumpasm asm_pointer
+ @ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE.
+ .macro gotonative func
.byte 0x24
- .4byte \asm_pointer
+ .4byte \func
.endm
@ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers.
@@ -245,7 +257,7 @@
.endm
@ Calls a special function. That function's output (if any) will be written to the variable you specify.
- .macro specialval output, function
+ .macro specialvar output, function
.byte 0x26
.2byte \output
.2byte SPECIAL_\function
@@ -257,7 +269,7 @@
.endm
@ Blocks script execution for time (frames? milliseconds?).
- .macro pause time
+ .macro delay time
.byte 0x28
.2byte \time
.endm
@@ -281,33 +293,35 @@
.endm
@ In FireRed, this command is a nop.
- .macro compareflags
+ .macro initclock hour minute
.byte 0x2c
+ .byte \hour
+ .byte \minute
.endm
@ In FireRed, this command is a nop.
- .macro checkdailyflags
+ .macro dodailyevents
.byte 0x2d
.endm
@ Resets the values of variables 0x8000, 0x8001, and 0x8002. Related to RTC in RSE?
- .macro resetvars
+ .macro gettime
.byte 0x2e
.endm
@ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones.
- .macro playsfx sound_number
+ .macro playse sound_number
.byte 0x2f
.2byte \sound_number
.endm
@ Blocks script execution until the currently-playing sound (triggered by sound) finishes playing.
- .macro checksound
+ .macro waitse
.byte 0x30
.endm
@ Plays the specified (fanfare_number) fanfare.
- .macro fanfare fanfare_number
+ .macro playfanfare fanfare_number
.byte 0x31
.2byte \fanfare_number
.endm
@@ -318,37 +332,37 @@
.endm
@ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00.
- .macro playmusic song_number, unknown
+ .macro playbgm song_number, unknown
.byte 0x33
.2byte \song_number
.byte \unknown
.endm
@ Plays the specified (song_number) song.
- .macro playmusicbattle song_number
+ .macro savebgm song_number
.byte 0x34
.2byte \song_number
.endm
@ Crossfades the currently-playing song into the map's default song.
- .macro fadedefault
+ .macro fadedefaultbgm
.byte 0x35
.endm
@ Crossfades the currently-playng song into the specified (song_number) song.
- .macro fademusic song_number
+ .macro fadenewbgm song_number
.byte 0x36
.2byte \song_number
.endm
@ Fades out the currently-playing song.
- .macro fadeout speed
+ .macro fadeoutbgm speed
.byte 0x37
.byte \speed
.endm
@ Fades the currently-playing song back in.
- .macro fadein speed
+ .macro fadeinbgm speed
.byte 0x38
.byte \speed
.endm
@@ -363,7 +377,7 @@
.endm
@ Clone of warp that does not play a sound effect.
- .macro warpmuted map, warp, X, Y
+ .macro warpsilent map, warp, X, Y
.byte 0x3a
map \map
.byte \warp
@@ -372,7 +386,7 @@
.endm
@ Clone of warp that uses "a walking effect".
- .macro warpwalk map, warp, X, Y
+ .macro warpdoor map, warp, X, Y
.byte 0x3b
map \map
.byte \warp
@@ -396,7 +410,7 @@
.endm
@ Clone of warp. Used by an (unused?) Safari Zone script to return the player to the gatehouse and end the Safari Game.
- .macro warp3 map, warp, X, Y
+ .macro setwarp map, warp, X, Y
.byte 0x3e
map \map
.byte \warp
@@ -405,7 +419,7 @@
.endm
@ Sets a default warp place. If a warp tries to send the player to Warp 127 on Map 127.127, they will instead be sent here. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
- .macro warpplace map, warp, X, Y
+ .macro setdynamicwarp map, warp, X, Y
.byte 0x3f
map \map
.byte \warp
@@ -414,7 +428,7 @@
.endm
@ Clone of warp3, except that this writes data to different offsets...
- .macro warp4 map, warp, X, Y
+ .macro setdivewarp map, warp, X, Y
.byte 0x40
map \map
.byte \warp
@@ -423,7 +437,7 @@
.endm
@ Clone of warp3, except that this writes data to different offsets...
- .macro warp5 map, warp, X, Y
+ .macro setholewarp map, warp, X, Y
.byte 0x41
map \map
.byte \warp
@@ -504,7 +518,7 @@
.endm
@ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro testdecor a
+ .macro hasdecor a
.byte 0x4d
.2byte \a
.endm
@@ -516,148 +530,146 @@
.endm
@ Applies the movement data at movements to the specified (index) Person event. Also closes any standard message boxes that are still open.
- .macro move index, movements
- .byte 0x4f
- .2byte \index
- .4byte \movements
- .endm
-
- @ Apparent clone of applymovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything.
@ This command in fact uses variables to access the Person event ID. So, for example, if you setvar 0x8000 to 0x3, and then use applymovementpos 0x8000 @move1, Person event 3 will have the movements at @move1 applied to them. Thank you Shiny Quagsire for bringing this to my attention.
- .macro movecoords variable, movements, x, y
- .byte 0x50
- .2byte \variable
- .4byte \movements
- .byte \x
- .byte \y
+ .macro applymovement index, movements, mapGroup, mapNum
+ .ifb \mapGroup
+ .byte 0x4f
+ .2byte \index
+ .4byte \movements
+ .else
+ .byte 0x50
+ .2byte \index
+ .4byte \movements
+ .byte \mapGroup
+ .byte \mapNum
+ .endif
.endm
@ Blocks script execution until the movements being applied to the specified (index) Person event finish. If the specified Person event is 0x0000, then the command will block script execution until all Person events affected by applymovement finish their movements. If the specified Person event is not currently being manipulated with applymovement, then this command does nothing.
- .macro waitmove index
- .byte 0x51
- .2byte \index
- .endm
-
- @ Apparent clone of waitmovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything.
- .macro waitmovexy index, X, Y
- .byte 0x52
- .2byte \index
- .byte \X
- .byte \Y
- .endm
-
- @ Attempts to hide the specified (local_ID, a local ID) Person event on the current map, by setting its visibility flag if it has a valid one. If the Person does not have a valid visibility flag, this command does nothing.
- .macro disappear local_ID
- .byte 0x53
- .2byte \local_ID
- .endm
-
- @ Clone of hidesprite that also moves the Person? Test it!
- .macro disappearxy index, X, Y
- .byte 0x54
- .2byte \index
- .byte \X
- .byte \Y
- .endm
-
- .macro reappear word
- .byte 0x55
- .2byte \word
- .endm
-
- .macro reappearxy word, byte1, byte2
- .byte 0x56
- .2byte \word
- .byte \byte1
- .byte \byte2
- .endm
-
- .macro movesprite word1, word2, word3
- .byte 0x57
- .2byte \word1
- .2byte \word2
- .2byte \word3
- .endm
-
- .macro spritevisible word, byte1, byte2
- .byte 0x58
- .2byte \word
- .byte \byte1
- .byte \byte2
- .endm
-
- .macro spriteinvisible word, byte1, byte2
- .byte 0x59
- .2byte \word
- .byte \byte1
- .byte \byte2
+ .macro waitmovement index, mapBank, mapNum
+ .ifb \mapBank
+ .byte 0x51
+ .2byte \index
+ .else
+ .byte 0x52
+ .2byte \index
+ .byte \mapBank
+ .byte \mapNum
+ .endif
+ .endm
+
+ @ Attempts to hide the specified (local_ID, a local ID) Person event on the specified map, by setting its visibility flag if it has a valid one. If the Person does not have a valid visibility flag, this command does nothing.
+ @ If no map is specified, then the current map is used
+ .macro removeobject localId, mapGroup, mapNum
+ .ifb \mapGroup
+ .byte 0x53
+ .2byte \localId
+ .else
+ .byte 0x54
+ .2byte \localId
+ .byte \mapGroup
+ .byte \mapNum
+ .endif
+ .endm
+
+ .macro addobject localId, mapGroup, mapNum
+ .ifb \mapGroup
+ .byte 0x55
+ .2byte \localId
+ .else
+ .byte 0x56
+ .2byte \localId
+ .byte \mapGroup
+ .byte \mapNum
+ .endif
+ .endm
+
+ .macro setobjectxy word1, word2, word3
+ .byte 0x57
+ .2byte \word1
+ .2byte \word2
+ .2byte \word3
+ .endm
+
+ .macro showobject word, byte1, byte2
+ .byte 0x58
+ .2byte \word
+ .byte \byte1
+ .byte \byte2
+ .endm
+
+ .macro hideobject word, byte1, byte2
+ .byte 0x59
+ .2byte \word
+ .byte \byte1
+ .byte \byte2
.endm
@ If the script was called by a Person event, then that Person will turn to face toward the tile that the player is stepping off of.
.macro faceplayer
- .byte 0x5a
+ .byte 0x5a
.endm
- .macro spriteface word, byte
- .byte 0x5b
- .2byte \word
- .byte \byte
+ .macro turnobject word, byte
+ .byte 0x5b
+ .2byte \word
+ .byte \byte
.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
- .byte 0x5c
- .byte \type
- .2byte \trainer
- .2byte \word
- .if \type == 0
- .4byte \pointer1 @ text
- .4byte \pointer2 @ text
- .elseif \type == 1
- .4byte \pointer1 @ text
- .4byte \pointer2 @ text
- .4byte \pointer3 @ event script
- .elseif \type == 2
- .4byte \pointer1 @ text
- .4byte \pointer2 @ text
- .4byte \pointer3 @ event script
- .elseif \type == 3
- .4byte \pointer1 @ text
- .elseif \type == 4
- .4byte \pointer1 @ text
- .4byte \pointer2 @ text
- .4byte \pointer3 @ text
- .elseif \type == 5
- .4byte \pointer1 @ text
- .4byte \pointer2 @ text
- .elseif \type == 6
- .4byte \pointer1 @ text
- .4byte \pointer2 @ text
- .4byte \pointer3 @ text
- .4byte \pointer4 @ event script
- .elseif \type == 7
- .4byte \pointer1 @ text
- .4byte \pointer2 @ text
- .4byte \pointer3 @ text
- .elseif \type == 8
- .4byte \pointer1 @ text
- .4byte \pointer2 @ text
- .4byte \pointer3 @ text
- .4byte \pointer4 @ event script
- .endif
+ .byte 0x5c
+ .byte \type
+ .2byte \trainer
+ .2byte \word
+ .if \type == 0
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 1
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ event script
+ .elseif \type == 2
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ event script
+ .elseif \type == 3
+ .4byte \pointer1 @ text
+ .elseif \type == 4
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .elseif \type == 5
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 6
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .4byte \pointer4 @ event script
+ .elseif \type == 7
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .elseif \type == 8
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .4byte \pointer4 @ event script
+ .endif
.endm
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes.
- .macro reptrainerbattle
+ .macro battlebegin
.byte 0x5d
.endm
- .macro endtrainerbattle
+ .macro ontrainerbattleend
.byte 0x5e
.endm
- .macro endtrainerbattle2
+ .macro ontrainerbattleendgoto
.byte 0x5f
.endm
@@ -668,37 +680,37 @@
.endm
@ Sets Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.)
- .macro cleartrainerflag trainer
+ .macro settrainerflag trainer
.byte 0x61
.2byte \trainer
.endm
@ Clears Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.)
- .macro settrainerflag trainer
+ .macro cleartrainerflag trainer
.byte 0x62
.2byte \trainer
.endm
- .macro movespriteperm word1, word2, word3
+ .macro setobjectxyperm word1, word2, word3
.byte 0x63
.2byte \word1
.2byte \word2
.2byte \word3
.endm
- .macro moveoffscreen word
+ .macro moveobjectoffscreen word
.byte 0x64
.2byte \word
.endm
- .macro spritebehave word, byte
+ .macro setobjectmovementtype word, byte
.byte 0x65
.2byte \word
.byte \byte
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn.
- .macro waittext
+ .macro waitmessage
.byte 0x66
.endm
@@ -709,7 +721,7 @@
.endm
@ Holds the current message box open until the player presses a key. The message box is then closed.
- .macro closebutton
+ .macro closemessage
.byte 0x68
.endm
@@ -755,7 +767,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 multichoicedef X, Y, list, default, B
+ .macro multichoicedefault X, Y, list, default, B
.byte 0x70
.byte \X
.byte \Y
@@ -765,7 +777,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 multichoicerow X, Y, list, per_row, B
+ .macro multichoicegrid X, Y, list, per_row, B
.byte 0x71
.byte \X
.byte \Y
@@ -774,7 +786,7 @@
.byte \B
.endm
- .macro showbox byte1, byte2, byte3, byte4
+ .macro drawbox byte1, byte2, byte3, byte4
.byte 0x72
.byte \byte1
.byte \byte2
@@ -782,7 +794,7 @@
.byte \byte4
.endm
- .macro hidebox byte1, byte2, byte3, byte4
+ .macro erasebox byte1, byte2, byte3, byte4
.byte 0x73
.byte \byte1
.byte \byte2
@@ -790,7 +802,7 @@
.byte \byte4
.endm
- .macro clearbox byte1, byte2, byte3, byte4
+ .macro drawboxtext byte1, byte2, byte3, byte4
.byte 0x74
.byte \byte1
.byte \byte2
@@ -799,7 +811,7 @@
.endm
@ Displays a box containing the front sprite for the specified (species) Pokmon species.
- .macro showpokepic species, X, Y
+ .macro drawpokepic species, X, Y
.byte 0x75
.2byte \species
.byte \X
@@ -807,24 +819,24 @@
.endm
@ Hides all boxes displayed with showpokepic.
- .macro hidepokepic
+ .macro erasepokepic
.byte 0x76
.endm
@ In FireRed, this command is a nop. (The argument is discarded.)
- .macro showcontestwinner a
+ .macro drawcontestwinner a
.byte 0x77
.byte \a
.endm
@ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters.
- .macro braillemsg text
+ .macro braillemessage text
.byte 0x78
.4byte \text
.endm
@ Gives the player one of the specified (species) Pokmon at level level holding item. The unknown arguments should all be zeroes.
- .macro givepokemon species, level, item, unknown1, unknown2, unknown3
+ .macro givepoke species, level, item, unknown1, unknown2, unknown3
.byte 0x79
.2byte \species
.byte \level
@@ -847,68 +859,68 @@
.endm
@ Checks if at least one Pokmon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the Pokmon that knows the move. If not, LASTRESULT is set to 0x0006.
- .macro checkattack index
+ .macro checkpokemove index
.byte 0x7c
.2byte \index
.endm
@ Writes the name of the Pokmon at index species to the specified buffer.
- .macro bufferpoke out, species
+ .macro getspeciesname out, species
.byte 0x7d
.byte \out
.2byte \species
.endm
@ Writes the name of the first Pokmon in the player's party to the specified buffer.
- .macro bufferfirstpoke out
+ .macro getfirstpartypokename out
.byte 0x7e
.byte \out
.endm
@ Writes the name of the Pokmon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
- .macro bufferpartypoke out, slot
+ .macro getpartypokename out, slot
.byte 0x7f
.byte \out
.2byte \slot
.endm
@ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro bufferitem out, item
+ .macro getitemname out, item
.byte 0x80
.byte \out
.2byte \item
.endm
@ In FireRed, this command is a nop. (The first argument is discarded immediately. The second argument is read, but not used for anything.)
- .macro bufferdecor a, b
+ .macro getdecorname a, b
.byte 0x81
.byte \a
.2byte \b
.endm
@ Writes the name of the attack at index attack to the specified buffer.
- .macro bufferattack out, attack
+ .macro getmovename out, attack
.byte 0x82
.byte \out
.2byte \attack
.endm
@ Converts the value of input to a decimal string, and writes that string to the specified buffer.
- .macro buffernum out, input
+ .macro getnumberstring out, input
.byte 0x83
.byte \out
.2byte \input
.endm
@ Writes the standard string identified by index to the specified buffer. Specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption (I've observed destruction of the stored player name and crashes when entering/exiting certain menu screens).
- .macro bufferstd out, index
+ .macro getstdstring out, index
.byte 0x84
.byte \out
.2byte \index
.endm
@ Copies the string at offset to the specified buffer.
- .macro buffertext out, offset
+ .macro getstring out, offset
.byte 0x85
.byte \out
.4byte \offset
@@ -932,13 +944,13 @@
.4byte \products
.endm
- .macro pokecasino word
+ .macro playslotmachine word
.byte 0x89
.2byte \word
.endm
@ In FireRed, this command is a nop.
- .macro event_8a byte1, byte2, byte3
+ .macro plantberrytree byte1, byte2, byte3
.byte 0x8a
.byte \byte1, \byte2, \byte3
.endm
@@ -977,7 +989,7 @@
.endm
@ If check is 0x00, this command subtracts value from the player's money.
- .macro paymoney value, check
+ .macro takemoney value, check
.byte 0x91
.4byte \value
.byte \check
@@ -991,28 +1003,28 @@
.endm
@ Spawns a secondary box showing how much money the player has.
- .macro showmoney X, Y
+ .macro showmoneybox X, Y
.byte 0x93
.byte \X
.byte \Y
.endm
@ Hides the secondary box spawned by showmoney.
- .macro hidemoney X, Y
+ .macro hidemoneybox X, Y
.byte 0x94
.byte \X
.byte \Y
.endm
@ Updates the secondary box spawned by showmoney. (What does it do with its arguments?)
- .macro updatemoney X, Y
+ .macro updatemoneybox X, Y
.byte 0x95
.byte \X
.byte \Y
.endm
@ In FireRed, this command is a nop.
- .macro event_96 word
+ .macro getpricereduction word
.byte 0x96
.2byte \word
.endm
@@ -1029,36 +1041,36 @@
.byte \byte2
.endm
- .macro darken word
+ .macro setdarklevel word
.byte 0x99
.2byte \word
.endm
- .macro lighten byte
+ .macro animdarklevel byte
.byte 0x9a
.byte \byte
.endm
- .macro message2 pointer
+ .macro messageautoscroll pointer
.byte 0x9b
.4byte \pointer
.endm
@ Executes the specified field move animation.
- .macro doanimation animation
+ .macro dofieldeffect animation
.byte 0x9c
.2byte \animation
.endm
@ Tells the game which party Pokmon to use for the next field move animation.
- .macro setanimation animation, slot
+ .macro setfieldeffect animation, slot
.byte 0x9d
.byte \animation
.2byte \slot
.endm
@ Blocks script execution until all playing field move animations complete.
- .macro checkanimation animation
+ .macro waitfieldeffect animation
.byte 0x9e
.2byte \animation
.endm
@@ -1070,12 +1082,12 @@
.endm
@ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT.
- .macro checkgender
+ .macro checkplayergender
.byte 0xa0
.endm
@ Plays the specified (species) Pokmon's cry. You can use waitcry to block script execution until the sound finishes.
- .macro pokecry species, effect
+ .macro playpokecry species, effect
.byte 0xa1
.2byte \species
.2byte \effect
@@ -1112,12 +1124,12 @@
.byte \subroutine
.endm
- .macro setmapfooter word
+ .macro setmaplayoutindex word
.byte 0xa7
.2byte \word
.endm
- .macro spritelevelup word, byte1, byte2, byte3
+ .macro setobjectpriority word, byte1, byte2, byte3
.byte 0xa8
.2byte \word
.byte \byte1
@@ -1125,14 +1137,14 @@
.byte \byte3
.endm
- .macro restorespritelevel word, byte1, byte2
+ .macro resetobjectpriority word, byte1, byte2
.byte 0xa9
.2byte \word
.byte \byte1
.byte \byte2
.endm
- .macro createvsprite byte1, byte2, word1, word2, byte3, byte4
+ .macro createvobject byte1, byte2, word1, word2, byte3, byte4
.byte 0xaa
.byte \byte1
.byte \byte2
@@ -1142,52 +1154,52 @@
.byte \byte4
.endm
- .macro vspriteface byte1, byte2
+ .macro turnvobject byte1, byte2
.byte 0xab
.byte \byte1
.byte \byte2
.endm
@ Queues the opening of the door tile at (X, Y) with an animation.
- .macro setdooropened X, Y
+ .macro opendoor X, Y
.byte 0xac
.2byte \X
.2byte \Y
.endm
@ Queues the closing of the door tile at (X, Y) with an animation.
- .macro setdoorclosed X, Y
+ .macro closedoor X, Y
.byte 0xad
.2byte \X
.2byte \Y
.endm
@ Executes the state changes queued with setdooropened, setdoorclosed, setdooropened2, and setdoorclosed2.
- .macro doorchange
+ .macro waitdooranim
.byte 0xae
.endm
@ Queues the opening of the door tile at (X, Y) without an animation.
- .macro setdooropened2 X, Y
+ .macro setdooropen X, Y
.byte 0xaf
.2byte \X
.2byte \Y
.endm
@ Queues the closing of the door tile at (X, Y) without an animation.
- .macro setdoorclosed2 X, Y
+ .macro setdoorclosed X, Y
.byte 0xb0
.2byte \X
.2byte \Y
.endm
@ In FireRed, this command is a nop.
- .macro event_b1
+ .macro addelevmenuitem
.byte 0xb1
.endm
@ In FireRed, this command is a nop.
- .macro event_b2
+ .macro showelevmenu
.byte 0xb2
.endm
@@ -1201,7 +1213,7 @@
.2byte \word
.endm
- .macro removecoins word
+ .macro takecoins word
.byte 0xb5
.2byte \word
.endm
@@ -1225,7 +1237,7 @@
.2byte \word
.endm
- .macro vjump pointer
+ .macro vgoto pointer
.byte 0xb9
.4byte \pointer
.endm
@@ -1235,63 +1247,63 @@
.4byte \pointer
.endm
- .macro if5 byte, pointer
+ .macro vgoto_if byte, pointer
.byte 0xbb
.byte \byte
.4byte \pointer
.endm
- .macro if6 byte, pointer
+ .macro vcall_if byte, pointer
.byte 0xbc
.byte \byte
.4byte \pointer
.endm
- .macro vtext pointer
+ .macro vmessage pointer
.byte 0xbd
.4byte \pointer
.endm
- .macro vloadptr pointer
+ .macro vloadword pointer
.byte 0xbe
.4byte \pointer
.endm
- .macro vbuffer byte, pointer
+ .macro vgetstring byte, pointer
.byte 0xbf
.byte \byte
.4byte \pointer
.endm
@ Spawns a secondary box showing how many Coins the player has.
- .macro showcoins X, Y
+ .macro showcoinsbox X, Y
.byte 0xc0
.byte \X
.byte \Y
.endm
@ Hides the secondary box spawned by showcoins. It doesn't appear to use its arguments, but they are still required.
- .macro hidecoins X, Y
+ .macro hidecoinsbox X, Y
.byte 0xc1
.byte \X
.byte \Y
.endm
@ Updates the secondary box spawned by showcoins. (What does it do with its arguments?)
- .macro updatecoins X, Y
+ .macro updatecoinsbox X, Y
.byte 0xc2
.byte \X
.byte \Y
.endm
@ Increases the value of the specified hidden variable by 1. The hidden variable's value will not be allowed to exceed 0x00FFFFFF.
- .macro inccounter a
+ .macro incrementgamestat a
.byte 0xc3
.byte \a
.endm
@ Clone of warp... Except that it doesn't appear to have any effect when used in some of FireRed's default level scripts. (If it did, Berry Forest would be impossible to enter...)
- .macro warp6 map, warp, X, Y
+ .macro setescapewarp map, warp, X, Y
.byte 0xc4
map \map
.byte \warp
@@ -1475,8 +1487,8 @@
@ Supplementary
- .macro jumpeq dest
- jumpif 1, \dest
+ .macro goto_if_eq dest
+ goto_if 1, \dest
.endm
.macro switch var
@@ -1484,12 +1496,12 @@
.endm
.macro case condition, dest
- compare 0x8000, \condition
- jumpeq \dest
+ compare_var_to_value 0x8000, \condition
+ goto_if_eq \dest
.endm
.macro msgbox text, type=4
- loadptr 0, \text
+ loadword 0, \text
callstd \type
.endm
diff --git a/asm/party_menu.s b/asm/party_menu.s
deleted file mode 100644
index ec6754b86..000000000
--- a/asm/party_menu.s
+++ /dev/null
@@ -1,8225 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_806AEDC
-sub_806AEDC: @ 806AEDC
- push {r4-r6,lr}
- sub sp, 0x4
- bl AnimateSprites
- bl BuildOamBuffer
- ldr r0, _0806AF2C @ =gUnknown_0202E8FA
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- ldr r1, _0806AF30 @ =gUnknown_08376BB4
- adds r5, r0, r1
- movs r6, 0
-_0806AEF8:
- ldrb r0, [r5]
- lsls r0, 3
- ldrb r1, [r5, 0x1]
- lsls r1, 3
- ldr r2, [r5, 0x4]
- lsls r3, r6, 5
- movs r4, 0x80
- lsls r4, 2
- orrs r3, r4
- str r3, [sp]
- movs r3, 0
- bl sub_800142C
- adds r5, 0x8
- adds r6, 0x1
- cmp r6, 0x5
- ble _0806AEF8
- bl RunTasks
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AF2C: .4byte gUnknown_0202E8FA
-_0806AF30: .4byte gUnknown_08376BB4
- thumb_func_end sub_806AEDC
-
- thumb_func_start sub_806AF34
-sub_806AF34: @ 806AF34
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_806B548
- pop {r0}
- bx r0
- thumb_func_end sub_806AF34
-
- thumb_func_start sub_806AF4C
-sub_806AF4C: @ 806AF4C
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- cmp r1, 0xFF
- beq _0806AF64
- ldr r0, _0806AF84 @ =gBattleTypeFlags
- strh r1, [r0]
-_0806AF64:
- ldr r0, _0806AF88 @ =0x0201b000
- movs r5, 0x96
- lsls r5, 2
- adds r1, r0, r5
- strb r2, [r1]
- movs r2, 0x97
- lsls r2, 2
- adds r1, r0, r2
- str r4, [r1]
- adds r5, 0x1
- adds r0, r5
- strb r3, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AF84: .4byte gBattleTypeFlags
-_0806AF88: .4byte 0x0201b000
- thumb_func_end sub_806AF4C
-
- thumb_func_start sub_806AF8C
-sub_806AF8C: @ 806AF8C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- bl sub_806AF4C
- ldr r0, _0806AFA8 @ =sub_806B460
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0806AFA8: .4byte sub_806B460
- thumb_func_end sub_806AF8C
-
- thumb_func_start OpenPartyMenu
-OpenPartyMenu: @ 806AFAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0806AFCC @ =gUnknown_08376C74
- lsls r3, r0, 1
- adds r3, r0
- lsls r3, 2
- adds r3, r2
- ldr r2, [r3]
- ldrb r3, [r3, 0x8]
- bl sub_806AF8C
- pop {r0}
- bx r0
- .align 2, 0
-_0806AFCC: .4byte gUnknown_08376C74
- thumb_func_end OpenPartyMenu
-
- thumb_func_start sub_806AFD0
-sub_806AFD0: @ 806AFD0
- push {r4,r5,lr}
- ldr r1, _0806AFF0 @ =0x0201b000
- movs r2, 0x99
- lsls r2, 2
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x9
- bls _0806AFE6
- b _0806B11A
-_0806AFE6:
- lsls r0, 2
- ldr r1, _0806AFF4 @ =_0806AFF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806AFF0: .4byte 0x0201b000
-_0806AFF4: .4byte _0806AFF8
- .align 2, 0
-_0806AFF8:
- .4byte _0806B020
- .4byte _0806B060
- .4byte _0806B066
- .4byte _0806B07A
- .4byte _0806B0A4
- .4byte _0806B0AA
- .4byte _0806B0BC
- .4byte _0806B0C2
- .4byte _0806B0D4
- .4byte _0806B0EC
-_0806B020:
- ldr r0, _0806B048 @ =0x00000266
- adds r5, r4, r0
- movs r1, 0
- ldrsh r3, [r5, r1]
- ldr r0, _0806B04C @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r3, r0
- bge _0806B054
- movs r2, 0x98
- lsls r2, 2
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r1, [r5]
- movs r2, 0x64
- muls r2, r3
- ldr r3, _0806B050 @ =gPlayerParty
- adds r2, r3
- bl TryCreatePartyMenuMonIcon
- b _0806B114
- .align 2, 0
-_0806B048: .4byte 0x00000266
-_0806B04C: .4byte gPlayerPartyCount
-_0806B050: .4byte gPlayerParty
-_0806B054:
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r4, r0
- b _0806B0E0
-_0806B060:
- bl LoadHeldItemIconGraphics
- b _0806B0D8
-_0806B066:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- bl CreateHeldItemIcons_806DC34
- movs r2, 0x99
- lsls r2, 2
- adds r1, r4, r2
- b _0806B0E0
-_0806B07A:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r2, _0806B0A0 @ =0x00000266
- adds r5, r4, r2
- ldrb r1, [r5]
- bl sub_806BD58
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B114
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r4, r0
- b _0806B0E0
- .align 2, 0
-_0806B0A0: .4byte 0x00000266
-_0806B0A4:
- bl PartyMenuPrintMonsLevelOrStatus
- b _0806B0D8
-_0806B0AA:
- bl PrintPartyMenuMonNicknames
- ldr r1, _0806B0B8 @ =0x0201b000
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _0806B0E0
- .align 2, 0
-_0806B0B8: .4byte 0x0201b000
-_0806B0BC:
- bl PartyMenuTryPrintMonsHP
- b _0806B0D8
-_0806B0C2:
- bl nullsub_13
- ldr r1, _0806B0D0 @ =0x0201b000
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _0806B0E0
- .align 2, 0
-_0806B0D0: .4byte 0x0201b000
-_0806B0D4:
- bl PartyMenuDrawHPBars
-_0806B0D8:
- ldr r1, _0806B0E8 @ =0x0201b000
- movs r2, 0x99
- lsls r2, 2
- adds r1, r2
-_0806B0E0:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0806B11A
- .align 2, 0
-_0806B0E8: .4byte 0x0201b000
-_0806B0EC:
- ldr r0, _0806B110 @ =0x00000266
- adds r5, r4, r0
- ldrb r0, [r5]
- bl sub_806B58C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B114
- movs r1, 0
- strh r1, [r5]
- movs r2, 0x99
- lsls r2, 2
- adds r0, r4, r2
- strh r1, [r0]
- movs r0, 0x1
- b _0806B11C
- .align 2, 0
-_0806B110: .4byte 0x00000266
-_0806B114:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0806B11A:
- movs r0, 0
-_0806B11C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806AFD0
-
- thumb_func_start sub_806B124
-sub_806B124: @ 806B124
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r0, _0806B144 @ =gMain
- ldr r1, _0806B148 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x11
- bls _0806B13A
- b _0806B450
-_0806B13A:
- lsls r0, 2
- ldr r1, _0806B14C @ =_0806B150
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806B144: .4byte gMain
-_0806B148: .4byte 0x0000043c
-_0806B14C: .4byte _0806B150
- .align 2, 0
-_0806B150:
- .4byte _0806B198
- .4byte _0806B240
- .4byte _0806B246
- .4byte _0806B27C
- .4byte _0806B282
- .4byte _0806B2AC
- .4byte _0806B2B2
- .4byte _0806B2D0
- .4byte _0806B2EC
- .4byte _0806B318
- .4byte _0806B344
- .4byte _0806B37C
- .4byte _0806B382
- .4byte _0806B3C0
- .4byte _0806B3CC
- .4byte _0806B3E4
- .4byte _0806B40C
- .4byte _0806B440
-_0806B198:
- movs r0, 0
- bl SetVBlankCallback
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r2, sp, 0x8
- mov r8, r2
- add r2, sp, 0x4
- movs r6, 0
- ldr r1, _0806B22C @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0806B230 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0806B1BC:
- strh r6, [r2]
- add r0, sp, 0x4
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0806B1BC
- strh r6, [r2]
- add r2, sp, 0x4
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r3, r12
- orrs r0, r3
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x8]
- ldr r2, _0806B22C @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0x4
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r2, _0806B234 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _0806B238 @ =gMain
- ldr r2, _0806B23C @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B22C: .4byte 0x040000d4
-_0806B230: .4byte 0x81000800
-_0806B234: .4byte gPaletteFade
-_0806B238: .4byte gMain
-_0806B23C: .4byte 0x0000043c
-_0806B240:
- bl remove_some_task
- b _0806B426
-_0806B246:
- bl sub_806B4A8
- ldr r1, _0806B26C @ =0x0201b000
- movs r2, 0x99
- lsls r2, 2
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- ldr r3, _0806B270 @ =0x00000266
- adds r0, r1, r3
- strh r2, [r0]
- movs r0, 0x9A
- lsls r0, 2
- adds r1, r0
- strh r2, [r1]
- ldr r1, _0806B274 @ =gMain
- ldr r2, _0806B278 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B26C: .4byte 0x0201b000
-_0806B270: .4byte 0x00000266
-_0806B274: .4byte gMain
-_0806B278: .4byte 0x0000043c
-_0806B27C:
- bl ResetSpriteData
- b _0806B426
-_0806B282:
- ldr r0, _0806B2A0 @ =0x0201b000
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806B298
- cmp r0, 0x5
- beq _0806B298
- bl ResetTasks
-_0806B298:
- ldr r1, _0806B2A4 @ =gMain
- ldr r2, _0806B2A8 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B2A0: .4byte 0x0201b000
-_0806B2A4: .4byte gMain
-_0806B2A8: .4byte 0x0000043c
-_0806B2AC:
- bl FreeAllSpritePalettes
- b _0806B426
-_0806B2B2:
- ldr r4, _0806B2CC @ =0x0201b000
- movs r1, 0x97
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- movs r2, 0x98
- lsls r2, 2
- adds r1, r4, r2
- strb r0, [r1]
- b _0806B426
- .align 2, 0
-_0806B2CC: .4byte 0x0201b000
-_0806B2D0:
- ldr r0, _0806B2E0 @ =gWindowConfig_81E6C90
- bl SetUpWindowConfig
- ldr r1, _0806B2E4 @ =gMain
- ldr r0, _0806B2E8 @ =0x0000043c
- adds r1, r0
- b _0806B42C
- .align 2, 0
-_0806B2E0: .4byte gWindowConfig_81E6C90
-_0806B2E4: .4byte gMain
-_0806B2E8: .4byte 0x0000043c
-_0806B2EC:
- ldr r4, _0806B308 @ =gUnknown_03004210
- ldr r1, _0806B30C @ =gWindowConfig_81E6C90
- adds r0, r4, 0
- bl InitWindowFromConfig
- adds r0, r4, 0
- movs r1, 0x1
- bl MultistepInitWindowTileData
- ldr r1, _0806B310 @ =gMain
- ldr r2, _0806B314 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B308: .4byte gUnknown_03004210
-_0806B30C: .4byte gWindowConfig_81E6C90
-_0806B310: .4byte gMain
-_0806B314: .4byte 0x0000043c
-_0806B318:
- bl MultistepLoadFont
- cmp r0, 0
- bne _0806B322
- b _0806B450
-_0806B322:
- ldr r0, _0806B338 @ =0x0201b000
- movs r3, 0x99
- lsls r3, 2
- adds r0, r3
- movs r1, 0x1
- strh r1, [r0]
- ldr r1, _0806B33C @ =gMain
- ldr r0, _0806B340 @ =0x0000043c
- adds r1, r0
- b _0806B42C
- .align 2, 0
-_0806B338: .4byte 0x0201b000
-_0806B33C: .4byte gMain
-_0806B340: .4byte 0x0000043c
-_0806B344:
- ldr r0, _0806B368 @ =0x0201b000
- movs r1, 0x99
- lsls r1, 2
- adds r4, r0, r1
- ldrb r0, [r4]
- bl sub_806D718
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B374
- movs r0, 0
- strh r0, [r4]
- ldr r1, _0806B36C @ =gMain
- ldr r2, _0806B370 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B368: .4byte 0x0201b000
-_0806B36C: .4byte gMain
-_0806B370: .4byte 0x0000043c
-_0806B374:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0806B450
-_0806B37C:
- bl sub_809D51C
- b _0806B426
-_0806B382:
- ldr r2, _0806B3B0 @ =gUnknown_08376C74
- ldr r0, _0806B3B4 @ =0x0201b000
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B450
- ldr r1, _0806B3B8 @ =gMain
- ldr r2, _0806B3BC @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B3B0: .4byte gUnknown_08376C74
-_0806B3B4: .4byte 0x0201b000
-_0806B3B8: .4byte gMain
-_0806B3BC: .4byte 0x0000043c
-_0806B3C0:
- ldr r0, _0806B3C8 @ =gWindowConfig_81E6CC8
- bl MultistepInitMenuWindowBegin
- b _0806B426
- .align 2, 0
-_0806B3C8: .4byte gWindowConfig_81E6CC8
-_0806B3CC:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _0806B450
- ldr r1, _0806B3DC @ =gMain
- ldr r0, _0806B3E0 @ =0x0000043c
- adds r1, r0
- b _0806B42C
- .align 2, 0
-_0806B3DC: .4byte gMain
-_0806B3E0: .4byte 0x0000043c
-_0806B3E4:
- ldr r0, _0806B3FC @ =0x0201b000
- ldr r1, _0806B400 @ =0x00000259
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_806D538
- ldr r1, _0806B404 @ =gMain
- ldr r2, _0806B408 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B3FC: .4byte 0x0201b000
-_0806B400: .4byte 0x00000259
-_0806B404: .4byte gMain
-_0806B408: .4byte 0x0000043c
-_0806B40C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _0806B434 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
-_0806B426:
- ldr r1, _0806B438 @ =gMain
- ldr r3, _0806B43C @ =0x0000043c
- adds r1, r3
-_0806B42C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0806B450
- .align 2, 0
-_0806B434: .4byte gPaletteFade
-_0806B438: .4byte gMain
-_0806B43C: .4byte 0x0000043c
-_0806B440:
- ldr r0, _0806B44C @ =sub_806AF34
- bl SetVBlankCallback
- movs r0, 0x1
- b _0806B452
- .align 2, 0
-_0806B44C: .4byte sub_806AF34
-_0806B450:
- movs r0, 0
-_0806B452:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806B124
-
- thumb_func_start sub_806B460
-sub_806B460: @ 806B460
- push {lr}
- b _0806B470
-_0806B464:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806B49C
-_0806B470:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B464
- ldr r1, _0806B4A0 @ =0x0201b000
- movs r2, 0x96
- lsls r2, 2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _0806B496
- adds r2, 0x8
- adds r0, r1, r2
- ldrb r0, [r0]
- movs r1, 0
- bl sub_806BF74
-_0806B496:
- ldr r0, _0806B4A4 @ =sub_806AEDC
- bl SetMainCallback2
-_0806B49C:
- pop {r0}
- bx r0
- .align 2, 0
-_0806B4A0: .4byte 0x0201b000
-_0806B4A4: .4byte sub_806AEDC
- thumb_func_end sub_806B460
-
- thumb_func_start sub_806B4A8
-sub_806B4A8: @ 806B4A8
- push {lr}
- movs r0, 0
- bl SetHBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x8
- ldr r2, _0806B50C @ =0x00001e05
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0806B510 @ =0x00000703
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0806B514 @ =0x00000f08
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0806B518 @ =0x00000602
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0806B51C @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- subs r0, 0x40
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r2, _0806B520 @ =REG_BG3VOFS
- strh r1, [r2]
- ldr r1, _0806B524 @ =0x0000ffff
- adds r0, r1, 0
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0806B50C: .4byte 0x00001e05
-_0806B510: .4byte 0x00000703
-_0806B514: .4byte 0x00000f08
-_0806B518: .4byte 0x00000602
-_0806B51C: .4byte REG_BLDCNT
-_0806B520: .4byte REG_BG3VOFS
-_0806B524: .4byte 0x0000ffff
- thumb_func_end sub_806B4A8
-
- thumb_func_start IsLinkDoubleBattle
-IsLinkDoubleBattle: @ 806B528
- push {lr}
- ldr r0, _0806B53C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x4B
- ands r0, r1
- cmp r0, 0x4B
- beq _0806B540
- movs r0, 0
- b _0806B542
- .align 2, 0
-_0806B53C: .4byte gBattleTypeFlags
-_0806B540:
- movs r0, 0x1
-_0806B542:
- pop {r1}
- bx r1
- thumb_func_end IsLinkDoubleBattle
-
- thumb_func_start sub_806B548
-sub_806B548: @ 806B548
- push {r4,lr}
- ldr r0, _0806B574 @ =0x0201b000
- ldr r1, _0806B578 @ =0x00000261
- adds r4, r0, r1
- ldrb r3, [r4]
- cmp r3, 0
- beq _0806B56E
- ldr r1, _0806B57C @ =gBGTilemapBuffers + 0x1000
- ldr r2, _0806B580 @ =0x06003000
- ldr r0, _0806B584 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0806B588 @ =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- cmp r3, 0x2
- bne _0806B56E
- movs r0, 0
- strb r0, [r4]
-_0806B56E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806B574: .4byte 0x0201b000
-_0806B578: .4byte 0x00000261
-_0806B57C: .4byte gBGTilemapBuffers + 0x1000
-_0806B580: .4byte 0x06003000
-_0806B584: .4byte 0x040000d4
-_0806B588: .4byte 0x80000400
- thumb_func_end sub_806B548
-
- thumb_func_start sub_806B58C
-sub_806B58C: @ 806B58C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0806B5A8
- ldr r0, _0806B5A4 @ =gUnknown_0202E8FA
- strb r2, [r0]
- b _0806B5C8
- .align 2, 0
-_0806B5A4: .4byte gUnknown_0202E8FA
-_0806B5A8:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B5C0
- ldr r1, _0806B5BC @ =gUnknown_0202E8FA
- movs r0, 0x2
- b _0806B5C4
- .align 2, 0
-_0806B5BC: .4byte gUnknown_0202E8FA
-_0806B5C0:
- ldr r1, _0806B5E4 @ =gUnknown_0202E8FA
- movs r0, 0x1
-_0806B5C4:
- strb r0, [r1]
- adds r0, r1, 0
-_0806B5C8:
- ldrb r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _0806B5E8 @ =gUnknown_083769A8
- adds r4, r1, r0
- cmp r5, 0x8
- bls _0806B5DA
- b _0806B900
-_0806B5DA:
- lsls r0, r5, 2
- ldr r1, _0806B5EC @ =_0806B5F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806B5E4: .4byte gUnknown_0202E8FA
-_0806B5E8: .4byte gUnknown_083769A8
-_0806B5EC: .4byte _0806B5F0
- .align 2, 0
-_0806B5F0:
- .4byte _0806B614
- .4byte _0806B628
- .4byte _0806B638
- .4byte _0806B694
- .4byte _0806B71A
- .4byte _0806B7A2
- .4byte _0806B832
- .4byte _0806B8C6
- .4byte _0806B8E8
-_0806B614:
- ldr r0, _0806B624 @ =gBGTilemapBuffers + 0x1000
- movs r2, 0x80
- lsls r2, 4
- movs r1, 0
- bl memset
- b _0806B900
- .align 2, 0
-_0806B624: .4byte gBGTilemapBuffers + 0x1000
-_0806B628:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r2, 0x3
- bl sub_806B9A4
- adds r0, r4, 0
- movs r1, 0
- b _0806B8A8
-_0806B638:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B666
- ldr r0, _0806B65C @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _0806B660
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4, 0x3]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x2
- movs r1, 0x1
- b _0806B8A8
- .align 2, 0
-_0806B65C: .4byte gPlayerPartyCount
-_0806B660:
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4, 0x3]
- b _0806B8BC
-_0806B666:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B684
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4, 0x3]
- movs r2, 0x4
- bl sub_806B9A4
- adds r0, r4, 0x2
- movs r1, 0x1
- movs r2, 0x4
- b _0806B8AA
-_0806B684:
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4, 0x3]
- movs r2, 0x3
- bl sub_806B9A4
- adds r0, r4, 0x2
- movs r1, 0x1
- b _0806B8A8
-_0806B694:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B6C2
- ldr r0, _0806B6B8 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x2
- bls _0806B6BC
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x4
- movs r1, 0x2
- b _0806B8A8
- .align 2, 0
-_0806B6B8: .4byte gPlayerPartyCount
-_0806B6BC:
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- b _0806B8BC
-_0806B6C2:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B6F6
- ldr r0, _0806B6EC @ =gPlayerParty + 2 * 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B6F0
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x4
- movs r1, 0x2
- b _0806B8A8
- .align 2, 0
-_0806B6EC: .4byte gPlayerParty + 2 * 0x64
-_0806B6F0:
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- b _0806B8BC
-_0806B6F6:
- ldr r0, _0806B710 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x2
- bls _0806B714
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x4
- movs r1, 0x2
- b _0806B8A8
- .align 2, 0
-_0806B710: .4byte gPlayerPartyCount
-_0806B714:
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- b _0806B8BC
-_0806B71A:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B74A
- ldr r0, _0806B740 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _0806B744
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x6
- movs r1, 0x3
- b _0806B8A8
- .align 2, 0
-_0806B740: .4byte gPlayerPartyCount
-_0806B744:
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- b _0806B8BC
-_0806B74A:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B77E
- ldr r0, _0806B774 @ =gPlayerParty + 3 * 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B778
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x6
- movs r1, 0x3
- b _0806B8A8
- .align 2, 0
-_0806B774: .4byte gPlayerParty + 3 * 0x64
-_0806B778:
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- b _0806B8BC
-_0806B77E:
- ldr r0, _0806B798 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _0806B79C
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x6
- movs r1, 0x3
- b _0806B8A8
- .align 2, 0
-_0806B798: .4byte gPlayerPartyCount
-_0806B79C:
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- b _0806B8BC
-_0806B7A2:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B7D2
- ldr r0, _0806B7C8 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0806B7CC
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0x4
- b _0806B8A8
- .align 2, 0
-_0806B7C8: .4byte gPlayerPartyCount
-_0806B7CC:
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- b _0806B8BC
-_0806B7D2:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B80A
- ldr r0, _0806B800 @ =gPlayerParty + 4 * 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B804
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- movs r2, 0
- movs r3, 0x4
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0x4
- movs r2, 0x4
- b _0806B8AA
- .align 2, 0
-_0806B800: .4byte gPlayerParty + 4 * 0x64
-_0806B804:
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- b _0806B884
-_0806B80A:
- ldr r0, _0806B828 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0806B82C
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0x4
- b _0806B8A8
- .align 2, 0
-_0806B828: .4byte gPlayerPartyCount
-_0806B82C:
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- b _0806B8BC
-_0806B832:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B84C
- ldr r0, _0806B848 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _0806B896
- b _0806B8B8
- .align 2, 0
-_0806B848: .4byte gPlayerPartyCount
-_0806B84C:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B88E
- ldr r0, _0806B87C @ =gPlayerParty + 5 * 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B880
- ldrb r0, [r4, 0xA]
- ldrb r1, [r4, 0xB]
- movs r2, 0
- movs r3, 0x4
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0xA
- movs r1, 0x5
- movs r2, 0x4
- b _0806B8AA
- .align 2, 0
-_0806B87C: .4byte gPlayerParty + 5 * 0x64
-_0806B880:
- ldrb r0, [r4, 0xA]
- ldrb r1, [r4, 0xB]
-_0806B884:
- movs r2, 0x1
- movs r3, 0x4
- bl sub_806BA94
- b _0806B900
-_0806B88E:
- ldr r0, _0806B8B4 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _0806B8B8
-_0806B896:
- ldrb r0, [r4, 0xA]
- ldrb r1, [r4, 0xB]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0xA
- movs r1, 0x5
-_0806B8A8:
- movs r2, 0x3
-_0806B8AA:
- movs r3, 0
- bl sub_806BF24
- b _0806B900
- .align 2, 0
-_0806B8B4: .4byte gPlayerPartyCount
-_0806B8B8:
- ldrb r0, [r4, 0xA]
- ldrb r1, [r4, 0xB]
-_0806B8BC:
- movs r2, 0x1
- movs r3, 0x3
- bl sub_806BA94
- b _0806B900
-_0806B8C6:
- ldr r0, _0806B8E4 @ =0x0201b000
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0806B8DA
- movs r0, 0x1
- bl sub_806BB9C
-_0806B8DA:
- movs r0, 0x1
- bl sub_806BBEC
- b _0806B900
- .align 2, 0
-_0806B8E4: .4byte 0x0201b000
-_0806B8E8:
- ldr r0, _0806B8F8 @ =0x0201b000
- ldr r1, _0806B8FC @ =0x00000261
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x1
- b _0806B902
- .align 2, 0
-_0806B8F8: .4byte 0x0201b000
-_0806B8FC: .4byte 0x00000261
-_0806B900:
- movs r0, 0
-_0806B902:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806B58C
-
- thumb_func_start sub_806B908
-sub_806B908: @ 806B908
- push {r4,r5,lr}
- ldr r0, _0806B948 @ =gBGTilemapBuffers + 0x1000
- movs r2, 0x80
- lsls r2, 4
- movs r1, 0
- bl memset
- ldr r1, _0806B94C @ =gUnknown_0202E8FA
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, _0806B950 @ =gUnknown_083769A8
- adds r4, r0, 0
- adds r4, 0x24
- ldr r5, _0806B954 @ =gPlayerParty + 1 * 0x64
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r2, 0x3
- bl sub_806B9A4
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B958
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- b _0806B964
- .align 2, 0
-_0806B948: .4byte gBGTilemapBuffers + 0x1000
-_0806B94C: .4byte gUnknown_0202E8FA
-_0806B950: .4byte gUnknown_083769A8
-_0806B954: .4byte gPlayerParty + 1 * 0x64
-_0806B958:
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0x1
- movs r3, 0x3
- bl sub_806BA94
-_0806B964:
- adds r0, r5, 0
- adds r0, 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B980
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- b _0806B98C
-_0806B980:
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0x1
- movs r3, 0x3
- bl sub_806BA94
-_0806B98C:
- ldr r0, _0806B99C @ =0x0201b000
- ldr r1, _0806B9A0 @ =0x00000261
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806B99C: .4byte 0x0201b000
-_0806B9A0: .4byte 0x00000261
- thumb_func_end sub_806B908
-
- thumb_func_start sub_806B9A4
-sub_806B9A4: @ 806B9A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r1, 21
- lsrs r1, 16
- str r1, [sp, 0x4]
- movs r1, 0
- lsls r0, 16
- mov r8, r0
- asrs r0, 16
- mov r10, r0
- ldr r4, _0806BA2C @ =gUnknown_083769D8
- mov r9, r4
-_0806B9CA:
- movs r3, 0
- adds r7, r1, 0x1
- mov r0, r10
- cmp r0, 0x1F
- bgt _0806BA12
- mov r4, r8
- asrs r2, r4, 16
- lsls r0, r1, 5
- ldr r4, [sp, 0x4]
- adds r6, r4, r0
- ldr r0, _0806BA30 @ =gBGTilemapBuffers + 0x1000
- mov r12, r0
- ldr r4, [sp]
- lsls r5, r4, 12
- movs r0, 0xB
- adds r4, r1, 0
- muls r4, r0
-_0806B9EC:
- adds r0, r2, r3
- cmp r0, 0
- blt _0806BA02
- adds r0, r6, r0
- lsls r0, 1
- add r0, r12
- adds r1, r4, r3
- add r1, r9
- ldrb r1, [r1]
- orrs r1, r5
- strh r1, [r0]
-_0806BA02:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xA
- bhi _0806BA12
- adds r0, r2, r3
- cmp r0, 0x1F
- ble _0806B9EC
-_0806BA12:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- cmp r1, 0x6
- bls _0806B9CA
- 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
-_0806BA2C: .4byte gUnknown_083769D8
-_0806BA30: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_806B9A4
-
- thumb_func_start sub_806BA34
-sub_806BA34: @ 806BA34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 21
- lsrs r1, 16
- mov r8, r1
- movs r1, 0
- lsls r7, r0, 16
- asrs r0, r7, 16
- mov r12, r0
-_0806BA48:
- movs r2, 0
- adds r4, r1, 0x1
- mov r5, r12
- cmp r5, 0x1F
- bgt _0806BA7C
- asrs r3, r7, 16
- lsls r0, r1, 5
- mov r5, r8
- adds r1, r5, r0
- ldr r6, _0806BA90 @ =gBGTilemapBuffers + 0x1000
- movs r5, 0
-_0806BA5E:
- adds r0, r3, r2
- cmp r0, 0
- blt _0806BA6C
- adds r0, r1, r0
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
-_0806BA6C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bhi _0806BA7C
- adds r0, r3, r2
- cmp r0, 0x1F
- ble _0806BA5E
-_0806BA7C:
- lsls r0, r4, 24
- lsrs r1, r0, 24
- cmp r1, 0x6
- bls _0806BA48
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BA90: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_806BA34
-
- thumb_func_start sub_806BA94
-sub_806BA94: @ 806BA94
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- ldr r1, _0806BB30 @ =gUnknown_08376A5E
- mov r9, r1
- cmp r2, 0
- bne _0806BABC
- ldr r1, _0806BB34 @ =gUnknown_08376A25
- mov r9, r1
-_0806BABC:
- lsls r0, 21
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r1, 0
- lsls r4, 16
- mov r12, r4
- asrs r4, 16
- mov r10, r4
-_0806BACC:
- movs r2, 0
- adds r7, r1, 0x1
- mov r0, r10
- cmp r0, 0x1F
- bgt _0806BB16
- mov r4, r12
- asrs r3, r4, 16
- lsls r0, r1, 5
- ldr r4, [sp, 0x4]
- adds r6, r4, r0
- ldr r0, _0806BB38 @ =gBGTilemapBuffers + 0x1000
- mov r8, r0
- ldr r4, [sp]
- lsls r5, r4, 12
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- subs r4, r0, r1
-_0806BAF0:
- adds r0, r3, r2
- cmp r0, 0
- blt _0806BB06
- adds r0, r6, r0
- lsls r0, 1
- add r0, r8
- adds r1, r4, r2
- add r1, r9
- ldrb r1, [r1]
- orrs r1, r5
- strh r1, [r0]
-_0806BB06:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bhi _0806BB16
- adds r0, r3, r2
- cmp r0, 0x1F
- ble _0806BAF0
-_0806BB16:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _0806BACC
- 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
-_0806BB30: .4byte gUnknown_08376A5E
-_0806BB34: .4byte gUnknown_08376A25
-_0806BB38: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_806BA94
-
- thumb_func_start sub_806BB3C
-sub_806BB3C: @ 806BB3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 21
- lsrs r1, 16
- mov r8, r1
- movs r1, 0
- lsls r7, r0, 16
- asrs r0, r7, 16
- mov r12, r0
-_0806BB50:
- movs r2, 0
- adds r4, r1, 0x1
- mov r5, r12
- cmp r5, 0x1F
- bgt _0806BB84
- asrs r3, r7, 16
- lsls r0, r1, 5
- mov r5, r8
- adds r1, r5, r0
- ldr r6, _0806BB98 @ =gBGTilemapBuffers + 0x1000
- movs r5, 0
-_0806BB66:
- adds r0, r3, r2
- cmp r0, 0
- blt _0806BB74
- adds r0, r1, r0
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
-_0806BB74:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bhi _0806BB84
- adds r0, r3, r2
- cmp r0, 0x1F
- ble _0806BB66
-_0806BB84:
- lsls r0, r4, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _0806BB50
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BB98: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_806BB3C
-
- thumb_func_start sub_806BB9C
-sub_806BB9C: @ 806BB9C
- push {r4,lr}
- sub sp, 0x18
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0806BBE4 @ =gUnknown_08376CD4
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldr r3, _0806BBE8 @ =0x06003c30
- movs r2, 0
- lsls r4, 12
-_0806BBB6:
- lsls r0, r2, 1
- adds r1, r0, r3
- add r0, sp
- ldrh r0, [r0]
- adds r0, r4
- strh r0, [r1]
- adds r1, 0x40
- adds r0, r2, 0x6
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- adds r0, r4
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0806BBB6
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BBE4: .4byte gUnknown_08376CD4
-_0806BBE8: .4byte 0x06003c30
- thumb_func_end sub_806BB9C
-
- thumb_func_start sub_806BBEC
-sub_806BBEC: @ 806BBEC
- push {r4,lr}
- sub sp, 0x18
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0806BC34 @ =gUnknown_08376CEC
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldr r3, _0806BC38 @ =0x06003cb0
- movs r2, 0
- lsls r4, 12
-_0806BC06:
- lsls r0, r2, 1
- adds r1, r0, r3
- add r0, sp
- ldrh r0, [r0]
- adds r0, r4
- strh r0, [r1]
- adds r1, 0x40
- adds r0, r2, 0x6
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- adds r0, r4
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0806BC06
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BC34: .4byte gUnknown_08376CEC
-_0806BC38: .4byte 0x06003cb0
- thumb_func_end sub_806BBEC
-
- thumb_func_start sub_806BC3C
-sub_806BC3C: @ 806BC3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _0806BCB0 @ =gUnknown_08376918
- bl IsDoubleBattle
- lsls r4, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r4, r1
- adds r4, r6
- ldr r7, [r4]
- movs r6, 0
- adds r0, r5, 0
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r4, r0, 19
- ldr r5, _0806BCB4 @ =gUnknown_08E9A300
- movs r0, 0x86
- lsls r0, 1
- adds r3, r0, 0
-_0806BC7C:
- adds r1, r6, r4
- lsls r2, r6, 1
- adds r2, r7
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- adds r0, r3, r0
- strh r0, [r2]
- adds r2, 0x40
- adds r1, 0x20
- lsls r1, 1
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r3, r1
- strh r0, [r2]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x6
- bls _0806BC7C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BCB0: .4byte gUnknown_08376918
-_0806BCB4: .4byte gUnknown_08E9A300
- thumb_func_end sub_806BC3C
-
- thumb_func_start unref_sub_806BCB8
-unref_sub_806BCB8: @ 806BCB8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _0806BCE4 @ =gPlayerPartyCount
- ldrb r1, [r0]
- cmp r4, r1
- bcs _0806BCDE
- adds r6, r0, 0
-_0806BCCA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806BC3C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- cmp r4, r0
- bcc _0806BCCA
-_0806BCDE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BCE4: .4byte gPlayerPartyCount
- thumb_func_end unref_sub_806BCB8
-
- thumb_func_start sub_806BCE8
-sub_806BCE8: @ 806BCE8
- push {r4,r5,lr}
- movs r5, 0
- b _0806BD46
-_0806BCEE:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0806BD20 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806BD38
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0806BD24
- cmp r0, 0xFE
- beq _0806BD2E
- adds r0, r5, 0
- movs r1, 0x46
- bl sub_806BC3C
- b _0806BD40
- .align 2, 0
-_0806BD20: .4byte gPlayerParty
-_0806BD24:
- adds r0, r5, 0
- movs r1, 0x54
- bl sub_806BC3C
- b _0806BD40
-_0806BD2E:
- adds r0, r5, 0
- movs r1, 0x62
- bl sub_806BC3C
- b _0806BD40
-_0806BD38:
- adds r0, r5, 0
- movs r1, 0x46
- bl sub_806BC3C
-_0806BD40:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0806BD46:
- ldr r0, _0806BD54 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- bcc _0806BCEE
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BD54: .4byte gPlayerPartyCount
- thumb_func_end sub_806BCE8
-
- thumb_func_start sub_806BD58
-sub_806BD58: @ 806BD58
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0806BD7C @ =SpriteCallbackDummy
- bl CreateInvisibleSpriteWithCallback
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806CA18
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BD7C: .4byte SpriteCallbackDummy
- thumb_func_end sub_806BD58
-
- thumb_func_start sub_806BD80
-sub_806BD80: @ 806BD80
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _0806BD9C @ =gMain
- ldrh r0, [r0, 0x30]
- cmp r0, 0x20
- beq _0806BDB2
- cmp r0, 0x20
- bgt _0806BDA0
- cmp r0, 0x10
- beq _0806BDB6
- b _0806BDB8
- .align 2, 0
-_0806BD9C: .4byte gMain
-_0806BDA0:
- cmp r0, 0x40
- beq _0806BDAA
- cmp r0, 0x80
- beq _0806BDAE
- b _0806BDB8
-_0806BDAA:
- movs r4, 0xFF
- b _0806BDB8
-_0806BDAE:
- movs r4, 0x1
- b _0806BDB8
-_0806BDB2:
- movs r4, 0xFE
- b _0806BDB8
-_0806BDB6:
- movs r4, 0x2
-_0806BDB8:
- lsls r0, r4, 24
- cmp r0, 0
- bne _0806BDDC
- bl sub_80F92BC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BDD0
- cmp r0, 0x2
- beq _0806BDD4
- b _0806BDD6
-_0806BDD0:
- movs r4, 0xFF
- b _0806BDD6
-_0806BDD4:
- movs r4, 0x1
-_0806BDD6:
- lsls r0, r4, 24
- cmp r0, 0
- beq _0806BDF0
-_0806BDDC:
- asrs r1, r0, 24
- adds r0, r5, 0
- bl sub_806BF74
- ldr r0, _0806BDEC @ =gMain
- ldrh r0, [r0, 0x30]
- b _0806BE2C
- .align 2, 0
-_0806BDEC: .4byte gMain
-_0806BDF0:
- ldr r0, _0806BE1C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806BE24
- ldr r4, _0806BE20 @ =gSprites
- adds r0, r5, 0
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _0806BE24
- movs r0, 0x2
- b _0806BE2C
- .align 2, 0
-_0806BE1C: .4byte gMain
-_0806BE20: .4byte gSprites
-_0806BE24:
- ldr r0, _0806BE34 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
-_0806BE2C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BE34: .4byte gMain
- thumb_func_end sub_806BD80
-
- thumb_func_start sub_806BE38
-sub_806BE38: @ 806BE38
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _0806BE54 @ =gMain
- ldrh r1, [r0, 0x30]
- adds r6, r0, 0
- cmp r1, 0x20
- beq _0806BE6A
- cmp r1, 0x20
- bgt _0806BE58
- cmp r1, 0x10
- beq _0806BE6E
- b _0806BE70
- .align 2, 0
-_0806BE54: .4byte gMain
-_0806BE58:
- cmp r1, 0x40
- beq _0806BE62
- cmp r1, 0x80
- beq _0806BE66
- b _0806BE70
-_0806BE62:
- movs r4, 0xFF
- b _0806BE8E
-_0806BE66:
- movs r4, 0x1
- b _0806BE8E
-_0806BE6A:
- movs r4, 0xFE
- b _0806BE8E
-_0806BE6E:
- movs r4, 0x2
-_0806BE70:
- cmp r4, 0
- bne _0806BE8E
- bl sub_80F92BC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BE86
- cmp r0, 0x2
- beq _0806BE8A
- b _0806BE8C
-_0806BE86:
- movs r4, 0xFF
- b _0806BE8C
-_0806BE8A:
- movs r4, 0x1
-_0806BE8C:
- ldr r6, _0806BEA4 @ =gMain
-_0806BE8E:
- ldrh r2, [r6, 0x2E]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0806BEA8
- adds r0, r5, 0
- bl sub_806C890
- movs r0, 0x8
- b _0806BEF0
- .align 2, 0
-_0806BEA4: .4byte gMain
-_0806BEA8:
- lsls r0, r4, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0806BEBA
- adds r0, r5, 0
- bl sub_806C658
- ldrh r0, [r6, 0x30]
- b _0806BEF0
-_0806BEBA:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0806BEE8
- ldr r4, _0806BEE4 @ =gSprites
- adds r0, r5, 0
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _0806BEE8
- movs r0, 0x2
- b _0806BEF0
- .align 2, 0
-_0806BEE4: .4byte gSprites
-_0806BEE8:
- ldr r0, _0806BEF8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
-_0806BEF0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BEF8: .4byte gMain
- thumb_func_end sub_806BE38
-
- thumb_func_start task_pc_turn_off
-task_pc_turn_off: @ 806BEFC
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- ldrb r0, [r2]
- cmp r0, 0
- beq _0806BF14
- ldrb r1, [r2, 0x1]
- movs r2, 0
- bl sub_806BA94
- b _0806BF1E
-_0806BF14:
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- adds r2, r3, 0
- bl sub_806B9A4
-_0806BF1E:
- pop {r0}
- bx r0
- thumb_func_end task_pc_turn_off
-
- thumb_func_start sub_806BF24
-sub_806BF24: @ 806BF24
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r0, 0x64
- muls r1, r0
- ldr r0, _0806BF70 @ =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806BF56
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _0806BF56
- movs r4, 0x5
-_0806BF56:
- cmp r6, 0x1
- bne _0806BF60
- adds r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
-_0806BF60:
- adds r0, r7, 0
- adds r1, r4, 0
- bl task_pc_turn_off
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BF70: .4byte gPlayerParty
- thumb_func_end sub_806BF24
-
- thumb_func_start sub_806BF74
-sub_806BF74: @ 806BF74
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0806C0C4 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r9
- adds r1, r5, 0
- movs r2, 0
- bl UpdateMonIconFrame_806DA44
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BFB6
- b _0806C0D8
-_0806BFB6:
- cmp r5, 0
- beq _0806BFC2
- cmp r5, 0x2
- beq _0806BFC2
- cmp r5, 0x3
- bne _0806BFD2
-_0806BFC2:
- lsls r0, r5, 1
- ldr r1, _0806C0C8 @ =gUnknown_083769C0
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
-_0806BFD2:
- cmp r5, 0x1
- beq _0806BFDE
- cmp r5, 0x4
- beq _0806BFDE
- cmp r5, 0x5
- bne _0806BFEE
-_0806BFDE:
- lsls r0, r5, 1
- ldr r1, _0806C0C8 @ =gUnknown_083769C0
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x4
- movs r3, 0
- bl sub_806BF24
-_0806BFEE:
- cmp r5, 0x7
- bne _0806BFF8
- movs r0, 0x1
- bl sub_806BBEC
-_0806BFF8:
- lsls r2, r4, 24
- asrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_806C490
- ldr r2, _0806C0C4 @ =gSprites
- lsls r1, r6, 4
- adds r0, r1, r6
- lsls r0, 2
- adds r0, r2
- movs r2, 0x2E
- ldrsh r0, [r0, r2]
- mov r8, r1
- cmp r0, 0
- beq _0806C020
- cmp r0, 0x2
- beq _0806C020
- cmp r0, 0x3
- bne _0806C042
-_0806C020:
- ldr r0, _0806C0C4 @ =gSprites
- mov r4, r8
- adds r1, r4, r6
- lsls r1, 2
- adds r1, r0
- movs r7, 0x2E
- ldrsh r0, [r1, r7]
- lsls r0, 1
- ldr r2, _0806C0C8 @ =gUnknown_083769C0
- adds r0, r2
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
-_0806C042:
- ldr r1, _0806C0C4 @ =gSprites
- mov r2, r8
- adds r0, r2, r6
- lsls r0, 2
- adds r0, r1
- movs r4, 0x2E
- ldrsh r0, [r0, r4]
- cmp r0, 0x1
- beq _0806C05C
- cmp r0, 0x4
- beq _0806C05C
- cmp r0, 0x5
- bne _0806C07E
-_0806C05C:
- ldr r0, _0806C0C4 @ =gSprites
- mov r7, r8
- adds r1, r7, r6
- lsls r1, 2
- adds r1, r0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r2, _0806C0C8 @ =gUnknown_083769C0
- adds r0, r2
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x4
- movs r3, 0x1
- bl sub_806BF24
-_0806C07E:
- ldr r7, _0806C0C4 @ =gSprites
- mov r4, r8
- adds r0, r4, r6
- lsls r0, 2
- adds r4, r0, r7
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bne _0806C096
- movs r0, 0x2
- bl sub_806BBEC
-_0806C096:
- ldr r0, _0806C0CC @ =0x0201b000
- ldr r2, _0806C0D0 @ =0x00000261
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, _0806C0D4 @ =gUnknown_083768B8
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- adds r0, 0x40
- ldrb r0, [r0]
- strh r0, [r4, 0x20]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- adds r0, 0x41
- ldrb r0, [r0]
- strh r0, [r4, 0x22]
- adds r0, r7, 0
- b _0806C1A4
- .align 2, 0
-_0806C0C4: .4byte gSprites
-_0806C0C8: .4byte gUnknown_083769C0
-_0806C0CC: .4byte 0x0201b000
-_0806C0D0: .4byte 0x00000261
-_0806C0D4: .4byte gUnknown_083768B8
-_0806C0D8:
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r5, 0x5
- bhi _0806C104
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- lsls r1, r5, 1
- adds r0, r1
- ldr r1, _0806C100 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
- b _0806C10A
- .align 2, 0
-_0806C100: .4byte gUnknown_083769A8
-_0806C104:
- movs r0, 0x1
- bl sub_806BBEC
-_0806C10A:
- cmp r7, 0
- bne _0806C11C
- lsls r2, r4, 24
- asrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_806C1E4
- b _0806C128
-_0806C11C:
- lsls r2, r4, 24
- asrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_806C310
-_0806C128:
- ldr r1, _0806C160 @ =gSprites
- lsls r2, r6, 4
- adds r0, r2, r6
- lsls r0, 2
- adds r1, r0, r1
- ldrh r3, [r1, 0x2E]
- movs r4, 0x2E
- ldrsh r0, [r1, r4]
- mov r8, r2
- cmp r0, 0x5
- bgt _0806C168
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- movs r2, 0x2E
- ldrsh r1, [r1, r2]
- lsls r1, 1
- adds r0, r1
- ldr r1, _0806C164 @ =gUnknown_083769A8
- adds r0, r1
- lsls r1, r3, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
- b _0806C16E
- .align 2, 0
-_0806C160: .4byte gSprites
-_0806C164: .4byte gUnknown_083769A8
-_0806C168:
- movs r0, 0x2
- bl sub_806BBEC
-_0806C16E:
- ldr r0, _0806C1D4 @ =0x0201b000
- ldr r4, _0806C1D8 @ =0x00000261
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
- ldr r4, _0806C1DC @ =gSprites
- mov r0, r8
- adds r1, r0, r6
- lsls r1, 2
- adds r1, r4
- ldr r3, _0806C1E0 @ =gUnknown_083768B8
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 2
- lsls r2, r7, 5
- adds r0, r2
- adds r0, r3
- ldrb r0, [r0]
- strh r0, [r1, 0x20]
- movs r7, 0x2E
- ldrsh r0, [r1, r7]
- lsls r0, 2
- adds r0, r2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- strh r0, [r1, 0x22]
- adds r0, r4, 0
-_0806C1A4:
- mov r1, r8
- adds r4, r1, r6
- lsls r4, 2
- adds r4, r0
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- mov r0, r9
- movs r2, 0x1
- bl UpdateMonIconFrame_806DA44
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r5, r0
- beq _0806C1C8
- movs r0, 0x5
- bl PlaySE
-_0806C1C8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C1D4: .4byte 0x0201b000
-_0806C1D8: .4byte 0x00000261
-_0806C1DC: .4byte gSprites
-_0806C1E0: .4byte gUnknown_083768B8
- thumb_func_end sub_806BF74
-
- thumb_func_start sub_806C1E4
-sub_806C1E4: @ 806C1E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0x80
- lsls r0, 18
- adds r2, r0
- asrs r0, r2, 24
- cmp r0, 0x4
- bls _0806C200
- b _0806C306
-_0806C200:
- lsls r0, 2
- ldr r1, _0806C20C @ =_0806C210
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806C20C: .4byte _0806C210
- .align 2, 0
-_0806C210:
- .4byte _0806C2EC
- .4byte _0806C238
- .4byte _0806C224
- .4byte _0806C25C
- .4byte _0806C2BC
-_0806C224:
- ldr r0, _0806C234 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x30]
- b _0806C306
- .align 2, 0
-_0806C234: .4byte gSprites
-_0806C238:
- cmp r3, 0
- beq _0806C266
- cmp r3, 0x7
- bne _0806C298
- ldr r2, _0806C254 @ =gSprites
- lsls r3, r4, 4
- adds r1, r3, r4
- lsls r1, 2
- adds r1, r2
- ldr r0, _0806C258 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _0806C2AA
- .align 2, 0
-_0806C254: .4byte gSprites
-_0806C258: .4byte gPlayerPartyCount
-_0806C25C:
- ldr r0, _0806C278 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bne _0806C280
-_0806C266:
- ldr r2, _0806C27C @ =gSprites
- lsls r3, r4, 4
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0x7
- strh r1, [r0, 0x2E]
- b _0806C2AC
- .align 2, 0
-_0806C278: .4byte gPlayerPartyCount
-_0806C27C: .4byte gSprites
-_0806C280:
- cmp r3, 0x7
- bne _0806C298
- ldr r2, _0806C294 @ =gSprites
- lsls r3, r4, 4
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- b _0806C2AC
- .align 2, 0
-_0806C294: .4byte gSprites
-_0806C298:
- ldr r2, _0806C2B8 @ =gSprites
- lsls r3, r4, 4
- adds r1, r3, r4
- lsls r1, 2
- adds r1, r2
- lsls r0, r5, 24
- asrs r0, 24
- ldrh r5, [r1, 0x2E]
- adds r0, r5
-_0806C2AA:
- strh r0, [r1, 0x2E]
-_0806C2AC:
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x30]
- b _0806C306
- .align 2, 0
-_0806C2B8: .4byte gSprites
-_0806C2BC:
- ldr r0, _0806C2E4 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _0806C306
- cmp r3, 0
- bne _0806C306
- ldr r0, _0806C2E8 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0806C2DE
- movs r0, 0x1
- strh r0, [r1, 0x30]
-_0806C2DE:
- ldrh r0, [r1, 0x30]
- strh r0, [r1, 0x2E]
- b _0806C306
- .align 2, 0
-_0806C2E4: .4byte gPlayerPartyCount
-_0806C2E8: .4byte gSprites
-_0806C2EC:
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _0806C306
- ldr r0, _0806C30C @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r3, [r1, 0x30]
-_0806C306:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C30C: .4byte gSprites
- thumb_func_end sub_806C1E4
-
- thumb_func_start sub_806C310
-sub_806C310: @ 806C310
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0x80
- lsls r0, 18
- adds r2, r0
- asrs r0, r2, 24
- cmp r0, 0x4
- bls _0806C32C
- b _0806C486
-_0806C32C:
- lsls r0, 2
- ldr r1, _0806C338 @ =_0806C33C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806C338: .4byte _0806C33C
- .align 2, 0
-_0806C33C:
- .4byte _0806C44E
- .4byte _0806C38C
- .4byte _0806C350
- .4byte _0806C364
- .4byte _0806C3E8
-_0806C350:
- ldr r0, _0806C360 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x30]
- b _0806C486
- .align 2, 0
-_0806C360: .4byte gSprites
-_0806C364:
- cmp r3, 0x7
- bne _0806C37C
- ldr r2, _0806C378 @ =gSprites
- lsls r3, r4, 4
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- b _0806C3D8
- .align 2, 0
-_0806C378: .4byte gSprites
-_0806C37C:
- ldr r0, _0806C388 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- beq _0806C390
- b _0806C3C4
- .align 2, 0
-_0806C388: .4byte gPlayerPartyCount
-_0806C38C:
- cmp r3, 0
- bne _0806C3A4
-_0806C390:
- ldr r2, _0806C3A0 @ =gSprites
- lsls r3, r4, 4
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0x7
- strh r1, [r0, 0x2E]
- b _0806C3D8
- .align 2, 0
-_0806C3A0: .4byte gSprites
-_0806C3A4:
- cmp r3, 0x7
- bne _0806C3C4
- ldr r2, _0806C3BC @ =gSprites
- lsls r3, r4, 4
- adds r1, r3, r4
- lsls r1, 2
- adds r1, r2
- ldr r0, _0806C3C0 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _0806C3D6
- .align 2, 0
-_0806C3BC: .4byte gSprites
-_0806C3C0: .4byte gPlayerPartyCount
-_0806C3C4:
- ldr r2, _0806C3E4 @ =gSprites
- lsls r3, r4, 4
- adds r1, r3, r4
- lsls r1, 2
- adds r1, r2
- lsls r0, r5, 24
- asrs r0, 24
- ldrh r5, [r1, 0x2E]
- adds r0, r5
-_0806C3D6:
- strh r0, [r1, 0x2E]
-_0806C3D8:
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x30]
- b _0806C486
- .align 2, 0
-_0806C3E4: .4byte gSprites
-_0806C3E8:
- cmp r3, 0
- bne _0806C418
- ldr r0, _0806C410 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x2
- bls _0806C486
- ldr r0, _0806C414 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x30]
- subs r0, r2, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0806C43A
- movs r0, 0x2
- strh r0, [r1, 0x2E]
- b _0806C486
- .align 2, 0
-_0806C410: .4byte gPlayerPartyCount
-_0806C414: .4byte gSprites
-_0806C418:
- cmp r3, 0x1
- bne _0806C486
- ldr r0, _0806C440 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0806C486
- ldr r0, _0806C444 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x30]
- subs r0, r2, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0806C448
-_0806C43A:
- strh r2, [r1, 0x2E]
- b _0806C486
- .align 2, 0
-_0806C440: .4byte gPlayerPartyCount
-_0806C444: .4byte gSprites
-_0806C448:
- movs r0, 0x4
- strh r0, [r1, 0x2E]
- b _0806C486
-_0806C44E:
- subs r0, r3, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806C46C
- ldr r0, _0806C468 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- b _0806C482
- .align 2, 0
-_0806C468: .4byte gSprites
-_0806C46C:
- subs r0, r3, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806C486
- ldr r0, _0806C48C @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
-_0806C482:
- strh r0, [r1, 0x2E]
- strh r3, [r1, 0x30]
-_0806C486:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C48C: .4byte gSprites
- thumb_func_end sub_806C310
-
- thumb_func_start sub_806C490
-sub_806C490: @ 806C490
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- movs r0, 0x80
- lsls r0, 18
- adds r2, r0
- asrs r0, r2, 24
- cmp r0, 0x4
- bls _0806C4AA
- b _0806C64E
-_0806C4AA:
- lsls r0, 2
- ldr r1, _0806C4B4 @ =_0806C4B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806C4B4: .4byte _0806C4B8
- .align 2, 0
-_0806C4B8:
- .4byte _0806C618
- .4byte _0806C524
- .4byte _0806C4CC
- .4byte _0806C4E0
- .4byte _0806C57C
-_0806C4CC:
- ldr r0, _0806C4DC @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x30]
- b _0806C64E
- .align 2, 0
-_0806C4DC: .4byte gSprites
-_0806C4E0:
- cmp r4, 0x7
- bne _0806C4FC
- ldr r2, _0806C4F8 @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- adds r1, r2, 0
- adds r6, r3, 0
- b _0806C566
- .align 2, 0
-_0806C4F8: .4byte gSprites
-_0806C4FC:
- lsls r6, r5, 4
- b _0806C518
-_0806C500:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0806C520 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _0806C528
-_0806C518:
- cmp r4, 0x5
- bne _0806C500
- b _0806C558
- .align 2, 0
-_0806C520: .4byte gPlayerParty
-_0806C524:
- lsls r6, r5, 4
- b _0806C554
-_0806C528:
- ldr r1, _0806C534 @ =gSprites
- adds r0, r6, r5
- lsls r0, 2
- adds r0, r1
- strh r4, [r0, 0x2E]
- b _0806C566
- .align 2, 0
-_0806C534: .4byte gSprites
-_0806C538:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- beq _0806C554
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0806C574 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _0806C528
-_0806C554:
- cmp r4, 0
- bne _0806C538
-_0806C558:
- ldr r0, _0806C578 @ =gSprites
- adds r1, r6, r5
- lsls r1, 2
- adds r1, r0
- movs r2, 0x7
- strh r2, [r1, 0x2E]
- adds r1, r0, 0
-_0806C566:
- adds r0, r6, r5
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x30]
- b _0806C64E
- .align 2, 0
-_0806C574: .4byte gPlayerParty
-_0806C578: .4byte gSprites
-_0806C57C:
- cmp r4, 0
- bne _0806C5C8
- ldr r0, _0806C5AC @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r4, r1, r0
- ldrh r1, [r4, 0x30]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0806C5E2
- ldr r5, _0806C5B0 @ =gPlayerParty + 2 * 0x64
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806C5B4
- movs r0, 0x2
- strh r0, [r4, 0x2E]
- b _0806C64E
- .align 2, 0
-_0806C5AC: .4byte gSprites
-_0806C5B0: .4byte gPlayerParty + 2 * 0x64
-_0806C5B4:
- adds r0, r5, 0
- adds r0, 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806C64E
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- b _0806C64E
-_0806C5C8:
- cmp r4, 0x1
- bne _0806C64E
- ldr r0, _0806C5E8 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r4, r1, r0
- ldrh r1, [r4, 0x30]
- subs r0, r1, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0806C5EC
-_0806C5E2:
- strh r1, [r4, 0x2E]
- b _0806C64E
- .align 2, 0
-_0806C5E8: .4byte gSprites
-_0806C5EC:
- ldr r5, _0806C600 @ =gPlayerParty + 4 * 0x64
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806C604
- movs r0, 0x4
- strh r0, [r4, 0x2E]
- b _0806C64E
- .align 2, 0
-_0806C600: .4byte gPlayerParty + 4 * 0x64
-_0806C604:
- adds r0, r5, 0
- adds r0, 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806C64E
- movs r0, 0x5
- strh r0, [r4, 0x2E]
- b _0806C64E
-_0806C618:
- subs r0, r4, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806C634
- ldr r0, _0806C630 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- b _0806C64A
- .align 2, 0
-_0806C630: .4byte gSprites
-_0806C634:
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806C64E
- ldr r0, _0806C654 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
-_0806C64A:
- strh r0, [r1, 0x2E]
- strh r4, [r1, 0x30]
-_0806C64E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C654: .4byte gSprites
- thumb_func_end sub_806C490
-
- thumb_func_start sub_806C658
-sub_806C658: @ 806C658
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0806C6A0 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl UpdateMonIconFrame_806DA44
- cmp r6, 0x5
- bhi _0806C6A8
- lsls r0, r6, 1
- ldr r1, _0806C6A4 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r6, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
- b _0806C6BA
- .align 2, 0
-_0806C6A0: .4byte gSprites
-_0806C6A4: .4byte gUnknown_083769A8
-_0806C6A8:
- cmp r6, 0x6
- bne _0806C6B4
- movs r0, 0x1
- bl sub_806BB9C
- b _0806C6BA
-_0806C6B4:
- movs r0, 0x1
- bl sub_806BBEC
-_0806C6BA:
- lsls r1, r4, 24
- movs r2, 0x80
- lsls r2, 18
- adds r0, r1, r2
- asrs r0, 24
- lsls r4, r5, 4
- adds r7, r1, 0
- cmp r0, 0x4
- bls _0806C6CE
- b _0806C7EA
-_0806C6CE:
- lsls r0, 2
- ldr r1, _0806C6D8 @ =_0806C6DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806C6D8: .4byte _0806C6DC
- .align 2, 0
-_0806C6DC:
- .4byte _0806C7D0
- .4byte _0806C708
- .4byte _0806C6F0
- .4byte _0806C740
- .4byte _0806C7A0
-_0806C6F0:
- ldr r1, _0806C704 @ =gSprites
- lsls r2, r5, 4
- adds r0, r2, r5
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x30]
- adds r4, r2, 0
- b _0806C7EA
- .align 2, 0
-_0806C704: .4byte gSprites
-_0806C708:
- cmp r6, 0
- bne _0806C720
- ldr r2, _0806C71C @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0x7
- strh r1, [r0, 0x2E]
- b _0806C78E
- .align 2, 0
-_0806C71C: .4byte gSprites
-_0806C720:
- cmp r6, 0x6
- bne _0806C77C
- ldr r2, _0806C738 @ =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldr r0, _0806C73C @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _0806C78C
- .align 2, 0
-_0806C738: .4byte gSprites
-_0806C73C: .4byte gPlayerPartyCount
-_0806C740:
- ldr r0, _0806C75C @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- bne _0806C764
- ldr r2, _0806C760 @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x2E]
- b _0806C78E
- .align 2, 0
-_0806C75C: .4byte gPlayerPartyCount
-_0806C760: .4byte gSprites
-_0806C764:
- cmp r6, 0x7
- bne _0806C77C
- ldr r2, _0806C778 @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- b _0806C78E
- .align 2, 0
-_0806C778: .4byte gSprites
-_0806C77C:
- ldr r2, _0806C79C @ =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- asrs r0, r7, 24
- ldrh r4, [r1, 0x2E]
- adds r0, r4
-_0806C78C:
- strh r0, [r1, 0x2E]
-_0806C78E:
- adds r4, r3, 0
- adds r0, r4, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x30]
- b _0806C7EA
- .align 2, 0
-_0806C79C: .4byte gSprites
-_0806C7A0:
- ldr r0, _0806C7C8 @ =gPlayerPartyCount
- ldrb r0, [r0]
- lsls r4, r5, 4
- cmp r0, 0x1
- bls _0806C7EA
- cmp r6, 0
- bne _0806C7EA
- ldr r0, _0806C7CC @ =gSprites
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0806C7C2
- movs r0, 0x1
- strh r0, [r1, 0x30]
-_0806C7C2:
- ldrh r0, [r1, 0x30]
- strh r0, [r1, 0x2E]
- b _0806C7EA
- .align 2, 0
-_0806C7C8: .4byte gPlayerPartyCount
-_0806C7CC: .4byte gSprites
-_0806C7D0:
- subs r0, r6, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r5, 4
- cmp r0, 0x4
- bhi _0806C7EA
- ldr r0, _0806C82C @ =gSprites
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r6, [r1, 0x30]
-_0806C7EA:
- ldr r1, _0806C82C @ =gSprites
- adds r0, r4, r5
- lsls r0, 2
- adds r2, r0, r1
- ldr r1, _0806C830 @ =gUnknown_083768B8
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r2, 0x20]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- strh r0, [r2, 0x22]
- ldrh r3, [r2, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x5
- bgt _0806C838
- lsls r0, 1
- ldr r1, _0806C834 @ =gUnknown_083769A8
- adds r0, r1
- lsls r1, r3, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
- b _0806C84A
- .align 2, 0
-_0806C82C: .4byte gSprites
-_0806C830: .4byte gUnknown_083768B8
-_0806C834: .4byte gUnknown_083769A8
-_0806C838:
- cmp r0, 0x6
- bne _0806C844
- movs r0, 0x2
- bl sub_806BB9C
- b _0806C84A
-_0806C844:
- movs r0, 0x2
- bl sub_806BBEC
-_0806C84A:
- ldr r0, _0806C884 @ =0x0201b000
- ldr r2, _0806C888 @ =0x00000261
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, _0806C88C @ =gSprites
- adds r4, r5
- lsls r4, 2
- adds r4, r0
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- movs r2, 0x1
- bl UpdateMonIconFrame_806DA44
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r6, r0
- beq _0806C878
- movs r0, 0x5
- bl PlaySE
-_0806C878:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C884: .4byte 0x0201b000
-_0806C888: .4byte 0x00000261
-_0806C88C: .4byte gSprites
- thumb_func_end sub_806C658
-
- thumb_func_start sub_806C890
-sub_806C890: @ 806C890
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl sub_806CA00
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0806C8D4 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- beq _0806C914
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- bl UpdateMonIconFrame_806DA44
- cmp r4, 0x5
- bhi _0806C8DC
- lsls r0, r4, 1
- ldr r1, _0806C8D8 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
- b _0806C8E2
- .align 2, 0
-_0806C8D4: .4byte gSprites
-_0806C8D8: .4byte gUnknown_083769A8
-_0806C8DC:
- movs r0, 0x1
- bl sub_806BBEC
-_0806C8E2:
- ldr r1, _0806C91C @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x30]
- movs r1, 0x6
- strh r1, [r0, 0x2E]
- ldr r2, _0806C920 @ =gUnknown_083768B8
- ldrb r1, [r2, 0x18]
- strh r1, [r0, 0x20]
- ldrb r1, [r2, 0x19]
- strh r1, [r0, 0x22]
- movs r0, 0x2
- bl sub_806BB9C
- ldr r0, _0806C924 @ =0x0201b000
- ldr r1, _0806C928 @ =0x00000261
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x5
- bl PlaySE
-_0806C914:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C91C: .4byte gSprites
-_0806C920: .4byte gUnknown_083768B8
-_0806C924: .4byte 0x0201b000
-_0806C928: .4byte 0x00000261
- thumb_func_end sub_806C890
-
- thumb_func_start sub_806C92C
-sub_806C92C: @ 806C92C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0806C960 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2E]
- lsls r0, 24
- lsrs r6, r0, 24
- ldrh r0, [r1, 0x30]
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806C96A
- cmp r6, 0
- bne _0806C964
- cmp r4, 0
- bne _0806C97C
- movs r4, 0x1
- b _0806C97C
- .align 2, 0
-_0806C960: .4byte gSprites
-_0806C964:
- cmp r4, 0
- beq _0806C97C
- b _0806C97A
-_0806C96A:
- cmp r6, 0x1
- bhi _0806C976
- cmp r4, 0x1
- bhi _0806C97C
- movs r4, 0x2
- b _0806C97C
-_0806C976:
- cmp r4, 0x1
- bls _0806C97C
-_0806C97A:
- movs r4, 0
-_0806C97C:
- ldr r1, _0806C990 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- strh r4, [r0, 0x30]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C990: .4byte gSprites
- thumb_func_end sub_806C92C
-
- thumb_func_start sub_806C994
-sub_806C994: @ 806C994
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806C9C0 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- strh r4, [r1, 0x2E]
- bl sub_806C92C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C9C0: .4byte gSprites
- thumb_func_end sub_806C994
-
- thumb_func_start sub_806C9C4
-sub_806C9C4: @ 806C9C4
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0806C9FC @ =gSprites
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r1, 0x20]
- strh r0, [r2, 0x20]
- ldrh r0, [r1, 0x22]
- strh r0, [r2, 0x22]
- ldrh r0, [r1, 0x2E]
- strh r0, [r2, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C9FC: .4byte gSprites
- thumb_func_end sub_806C9C4
-
- thumb_func_start sub_806CA00
-sub_806CA00: @ 806CA00
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806CA14 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0xE]
- lsrs r0, 8
- bx lr
- .align 2, 0
-_0806CA14: .4byte gTasks
- thumb_func_end sub_806CA00
-
- thumb_func_start sub_806CA18
-sub_806CA18: @ 806CA18
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _0806CA34 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldrb r0, [r2, 0xE]
- lsrs r1, 16
- orrs r0, r1
- strh r0, [r2, 0xE]
- bx lr
- .align 2, 0
-_0806CA34: .4byte gTasks
- thumb_func_end sub_806CA18
-
- thumb_func_start sub_806CA38
-sub_806CA38: @ 806CA38
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806CA5C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0806CA5C: .4byte gSprites
- thumb_func_end sub_806CA38
-
- thumb_func_start sub_806CA60
-sub_806CA60: @ 806CA60
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0806CAD8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806CADC @ =TaskDummy
- str r1, [r0]
- ldr r5, _0806CAE0 @ =0x02001000
- strb r4, [r5]
- ldr r0, _0806CAE4 @ =sub_806CB74
- movs r1, 0
- bl CreateTask
- ldr r0, _0806CAE8 @ =SpriteCallbackDummy
- bl CreateInvisibleSpriteWithCallback
- strb r0, [r5, 0x1]
- ldrb r1, [r5, 0x1]
- adds r0, r4, 0
- bl sub_806C9C4
- adds r0, r4, 0
- bl sub_806CA00
- strb r0, [r5, 0x2]
- ldr r1, _0806CAEC @ =0x0001a272
- adds r0, r5, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_806D538
- ldr r2, _0806CAF0 @ =gSprites
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r2, _0806CAF4 @ =gUnknown_083769A8
- adds r0, r2
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x6
- movs r3, 0
- bl sub_806BF24
- ldr r0, _0806CAF8 @ =0x0001a261
- adds r5, r0
- movs r0, 0x2
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CAD8: .4byte gTasks
-_0806CADC: .4byte TaskDummy
-_0806CAE0: .4byte 0x02001000
-_0806CAE4: .4byte sub_806CB74
-_0806CAE8: .4byte SpriteCallbackDummy
-_0806CAEC: .4byte 0x0001a272
-_0806CAF0: .4byte gSprites
-_0806CAF4: .4byte gUnknown_083769A8
-_0806CAF8: .4byte 0x0001a261
- thumb_func_end sub_806CA60
-
- thumb_func_start sub_806CAFC
-sub_806CAFC: @ 806CAFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _0806CB48 @ =0x02001000
- ldrb r3, [r4, 0x1]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- ldr r3, _0806CB4C @ =gSprites
- adds r5, r2, r3
- ldrb r2, [r4, 0x2]
- lsls r4, r2, 4
- adds r4, r2
- lsls r4, 2
- adds r4, r3
- lsls r1, 24
- asrs r1, 24
- bl sub_806BF74
- ldrh r2, [r5, 0x2E]
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _0806CB54
- adds r0, r1, 0
- lsls r0, 1
- ldr r1, _0806CB50 @ =gUnknown_083769A8
- adds r0, r1
- lsls r1, r2, 24
- lsrs r1, 24
- movs r2, 0x6
- movs r3, 0x1
- bl sub_806BF24
- b _0806CB6A
- .align 2, 0
-_0806CB48: .4byte 0x02001000
-_0806CB4C: .4byte gSprites
-_0806CB50: .4byte gUnknown_083769A8
-_0806CB54:
- movs r3, 0x2E
- ldrsh r0, [r5, r3]
- lsls r0, 1
- ldr r1, _0806CB70 @ =gUnknown_083769A8
- adds r0, r1
- lsls r1, r2, 24
- lsrs r1, 24
- movs r2, 0x6
- movs r3, 0
- bl sub_806BF24
-_0806CB6A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CB70: .4byte gUnknown_083769A8
- thumb_func_end sub_806CAFC
-
- thumb_func_start sub_806CB74
-sub_806CB74: @ 806CB74
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0806CB8C @ =gMain
- ldrh r0, [r0, 0x30]
- cmp r0, 0x20
- beq _0806CBBC
- cmp r0, 0x20
- bgt _0806CB90
- cmp r0, 0x10
- beq _0806CBD0
- b _0806CBDA
- .align 2, 0
-_0806CB8C: .4byte gMain
-_0806CB90:
- cmp r0, 0x40
- beq _0806CB9A
- cmp r0, 0x80
- beq _0806CBAC
- b _0806CBDA
-_0806CB9A:
- ldr r0, _0806CBA8 @ =0x02001000
- ldrb r0, [r0]
- movs r1, 0x1
- negs r1, r1
- bl sub_806CAFC
- b _0806CBDA
- .align 2, 0
-_0806CBA8: .4byte 0x02001000
-_0806CBAC:
- ldr r0, _0806CBB8 @ =0x02001000
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_806CAFC
- b _0806CBDA
- .align 2, 0
-_0806CBB8: .4byte 0x02001000
-_0806CBBC:
- ldr r0, _0806CBCC @ =0x02001000
- ldrb r0, [r0]
- movs r1, 0x2
- negs r1, r1
- bl sub_806CAFC
- b _0806CBDA
- .align 2, 0
-_0806CBCC: .4byte 0x02001000
-_0806CBD0:
- ldr r0, _0806CC04 @ =0x02001000
- ldrb r0, [r0]
- movs r1, 0x2
- bl sub_806CAFC
-_0806CBDA:
- ldr r0, _0806CC08 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806CC10
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0806CC0C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806CC04 @ =0x02001000
- ldr r1, [r1, 0xC]
- str r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _0806CC24
- .align 2, 0
-_0806CC04: .4byte 0x02001000
-_0806CC08: .4byte gMain
-_0806CC0C: .4byte gTasks
-_0806CC10:
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _0806CC24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_806CD44
-_0806CC24:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806CB74
-
- thumb_func_start sub_806CC2C
-sub_806CC2C: @ 806CC2C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0806CC68 @ =0x02001000
- ldrb r1, [r5, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0806CC6C @ =gSprites
- adds r0, r1
- bl DestroySprite
- movs r0, 0
- movs r1, 0
- bl sub_806D538
- ldr r0, _0806CC70 @ =0x0001a261
- adds r1, r5, r0
- movs r0, 0x2
- strb r0, [r1]
- ldrb r0, [r5]
- bl SwitchTaskToFollowupFunc
- adds r0, r4, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CC68: .4byte 0x02001000
-_0806CC6C: .4byte gSprites
-_0806CC70: .4byte 0x0001a261
- thumb_func_end sub_806CC2C
-
- thumb_func_start sub_806CC74
-sub_806CC74: @ 806CC74
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0806CCD8 @ =gSprites
- mov r8, r0
- ldr r6, _0806CCDC @ =0x02001000
- ldrb r0, [r6, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r5, _0806CCE0 @ =gUnknown_083769A8
- adds r0, r5
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
- ldrb r0, [r6, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
- adds r0, r4, 0
- bl sub_806CC2C
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CCD8: .4byte gSprites
-_0806CCDC: .4byte 0x02001000
-_0806CCE0: .4byte gUnknown_083769A8
- thumb_func_end sub_806CC74
-
- thumb_func_start sub_806CCE4
-sub_806CCE4: @ 806CCE4
- push {r4,r5,lr}
- ldr r3, _0806CD38 @ =gSprites
- ldr r2, _0806CD3C @ =0x02001000
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r4, 0x5
- bhi _0806CD1E
- lsls r0, r4, 1
- ldr r1, _0806CD40 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
-_0806CD1E:
- cmp r5, 0x5
- bhi _0806CD32
- lsls r0, r5, 1
- ldr r1, _0806CD40 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
-_0806CD32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CD38: .4byte gSprites
-_0806CD3C: .4byte 0x02001000
-_0806CD40: .4byte gUnknown_083769A8
- thumb_func_end sub_806CCE4
-
- thumb_func_start sub_806CD44
-sub_806CD44: @ 806CD44
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_806CCE4
- adds r0, r4, 0
- bl sub_806CC2C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806CD44
-
- thumb_func_start sub_806CD5C
-sub_806CD5C: @ 806CD5C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r2, _0806CDA8 @ =gSprites
- ldr r6, _0806CDAC @ =0x02001000
- ldrb r1, [r6, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- mov r9, r5
- ldrb r1, [r6, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- cmp r5, r4
- beq _0806CD9E
- cmp r5, 0x7
- beq _0806CD9E
- cmp r4, 0x7
- bne _0806CDB0
-_0806CD9E:
- mov r0, r8
- bl sub_806CD44
- b _0806CED2
- .align 2, 0
-_0806CDA8: .4byte gSprites
-_0806CDAC: .4byte 0x02001000
-_0806CDB0:
- adds r0, r5, 0
- bl sub_806D5B8
- adds r0, r4, 0
- bl sub_806D5B8
- cmp r5, r4
- bls _0806CDC6
- strb r4, [r6, 0x5]
- strb r5, [r6, 0x6]
- b _0806CDCC
-_0806CDC6:
- mov r0, r9
- strb r0, [r6, 0x5]
- strb r7, [r6, 0x6]
-_0806CDCC:
- ldr r4, _0806CE1C @ =0x02001000
- ldrb r0, [r4]
- ldrb r1, [r4, 0x5]
- bl GetMonIconSpriteId_maybe
- strb r0, [r4, 0x3]
- ldrb r0, [r4]
- ldrb r1, [r4, 0x6]
- bl GetMonIconSpriteId_maybe
- strb r0, [r4, 0x4]
- ldrb r3, [r4, 0x5]
- cmp r3, 0
- bne _0806CE34
- ldr r2, _0806CE20 @ =gSprites
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _0806CE24 @ =0x0000fff8
- strh r1, [r0, 0x2E]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _0806CE28 @ =0x0000ff58
- strh r1, [r0, 0x32]
- strh r3, [r4, 0x8]
- movs r0, 0xB
- strh r0, [r4, 0xA]
- ldr r1, _0806CE2C @ =gTasks
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806CE30 @ =sub_806D014
- b _0806CE66
- .align 2, 0
-_0806CE1C: .4byte 0x02001000
-_0806CE20: .4byte gSprites
-_0806CE24: .4byte 0x0000fff8
-_0806CE28: .4byte 0x0000ff58
-_0806CE2C: .4byte gTasks
-_0806CE30: .4byte sub_806D014
-_0806CE34:
- ldr r2, _0806CEE0 @ =gSprites
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0xA8
- strh r1, [r0, 0x32]
- movs r0, 0xB
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- ldr r1, _0806CEE4 @ =gTasks
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806CEE8 @ =sub_806D118
-_0806CE66:
- str r1, [r0]
- ldr r0, _0806CEEC @ =0x0001a261
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r6, r2, 0
- ldr r4, _0806CEF0 @ =0x02001000
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r0, r5
- ldr r2, _0806CEF4 @ =sub_806D37C
- str r2, [r0]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0xA8
- strh r1, [r0, 0x32]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- str r2, [r0]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r5
- adds r0, r6
- ldr r1, [r1]
- bl _call_via_r1
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r5
- adds r0, r6
- ldr r1, [r5]
- bl _call_via_r1
-_0806CED2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CEE0: .4byte gSprites
-_0806CEE4: .4byte gTasks
-_0806CEE8: .4byte sub_806D118
-_0806CEEC: .4byte 0x0001a261
-_0806CEF0: .4byte 0x02001000
-_0806CEF4: .4byte sub_806D37C
- thumb_func_end sub_806CD5C
-
- thumb_func_start sub_806CEF8
-sub_806CEF8: @ 806CEF8
- ldrh r3, [r0]
- ldrh r2, [r1]
- strh r2, [r0]
- strh r3, [r1]
- bx lr
- thumb_func_end sub_806CEF8
-
- thumb_func_start sub_806CF04
-sub_806CF04: @ 806CF04
- push {r4,r5,lr}
- ldr r4, _0806CF94 @ =0x02001000
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _0806CF98 @ =gSprites + 0x20
- adds r0, r5
- ldrb r2, [r4, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- bl sub_806CEF8
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r5, 0x2
- adds r0, r3
- ldrb r2, [r4, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- bl sub_806CEF8
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r5, 0x4
- adds r0, r3
- ldrb r2, [r4, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- bl sub_806CEF8
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r5, 0
- adds r3, 0xE
- adds r0, r3
- ldrb r2, [r4, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- bl sub_806CEF8
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- subs r5, 0x4
- adds r0, r5
- ldr r2, _0806CF9C @ =sub_806D37C
- str r2, [r0]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- str r2, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CF94: .4byte 0x02001000
-_0806CF98: .4byte gSprites + 0x20
-_0806CF9C: .4byte sub_806D37C
- thumb_func_end sub_806CF04
-
- thumb_func_start sub_806CFA0
-sub_806CFA0: @ 806CFA0
- push {r4-r6,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r5, _0806CFDC @ =0x02001000
- ldrb r1, [r5, 0x6]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- movs r1, 0x3
- bl sub_806BA34
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- adds r1, r6, 0
- bl sub_806BB3C
- cmp r4, 0
- bne _0806CFE0
- ldrh r0, [r5, 0x8]
- subs r0, 0x1
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- b _0806CFEA
- .align 2, 0
-_0806CFDC: .4byte 0x02001000
-_0806CFE0:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- subs r0, 0x1
-_0806CFEA:
- strh r0, [r5, 0xA]
- ldr r4, _0806D010 @ =0x02001000
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- movs r2, 0xA
- bl sub_806B9A4
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_806BA94
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D010: .4byte 0x02001000
- thumb_func_end sub_806CFA0
-
- thumb_func_start sub_806D014
-sub_806D014: @ 806D014
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_806CFA0
- ldr r2, _0806D050 @ =0x02001000
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- movs r0, 0xD
- negs r0, r0
- cmp r1, r0
- bge _0806D04A
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x20
- ble _0806D04A
- bl sub_806CF04
- ldr r0, _0806D054 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0806D058 @ =sub_806D05C
- str r0, [r1]
-_0806D04A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D050: .4byte 0x02001000
-_0806D054: .4byte gTasks
-_0806D058: .4byte sub_806D05C
- thumb_func_end sub_806D014
-
- thumb_func_start sub_806D05C
-sub_806D05C: @ 806D05C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806CFA0
- ldr r0, _0806D08C @ =0x02001000
- ldr r1, [r0, 0x8]
- movs r0, 0xB0
- lsls r0, 12
- cmp r1, r0
- bne _0806D084
- ldr r0, _0806D090 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0806D094 @ =sub_806D198
- str r0, [r1]
-_0806D084:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D08C: .4byte 0x02001000
-_0806D090: .4byte gTasks
-_0806D094: .4byte sub_806D198
- thumb_func_end sub_806D05C
-
- thumb_func_start sub_806D098
-sub_806D098: @ 806D098
- push {r4-r7,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r5, _0806D0E0 @ =0x02001000
- ldrb r1, [r5, 0x5]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r1, [r5, 0x6]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- adds r1, r7, 0
- bl sub_806BB3C
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- adds r1, r6, 0
- bl sub_806BB3C
- cmp r4, 0
- bne _0806D0E4
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- b _0806D0EE
- .align 2, 0
-_0806D0E0: .4byte 0x02001000
-_0806D0E4:
- ldrh r0, [r5, 0x8]
- subs r0, 0x1
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- subs r0, 0x1
-_0806D0EE:
- strh r0, [r5, 0xA]
- ldr r4, _0806D114 @ =0x02001000
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_806BA94
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_806BA94
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D114: .4byte 0x02001000
- thumb_func_end sub_806D098
-
- thumb_func_start sub_806D118
-sub_806D118: @ 806D118
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_806D098
- ldr r1, _0806D150 @ =0x02001000
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x20
- ble _0806D14A
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x20
- ble _0806D14A
- bl sub_806CF04
- ldr r0, _0806D154 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0806D158 @ =sub_806D15C
- str r0, [r1]
-_0806D14A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D150: .4byte 0x02001000
-_0806D154: .4byte gTasks
-_0806D158: .4byte sub_806D15C
- thumb_func_end sub_806D118
-
- thumb_func_start sub_806D15C
-sub_806D15C: @ 806D15C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806D098
- ldr r0, _0806D188 @ =0x02001000
- ldr r1, [r0, 0x8]
- ldr r0, _0806D18C @ =0x000b000b
- cmp r1, r0
- bne _0806D182
- ldr r0, _0806D190 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0806D194 @ =sub_806D198
- str r0, [r1]
-_0806D182:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D188: .4byte 0x02001000
-_0806D18C: .4byte 0x000b000b
-_0806D190: .4byte gTasks
-_0806D194: .4byte sub_806D198
- thumb_func_end sub_806D15C
-
- thumb_func_start sub_806D198
-sub_806D198: @ 806D198
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, _0806D364 @ =0x02001000
- ldrb r0, [r4]
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- bl SetMonIconSpriteId_maybe
- ldrb r0, [r4]
- ldrb r1, [r4, 0x6]
- ldrb r2, [r4, 0x3]
- bl SetMonIconSpriteId_maybe
- bl IsDoubleBattle
- ldr r5, _0806D368 @ =gSprites
- ldrb r1, [r4, 0x3]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- ldr r6, _0806D36C @ =gUnknown_08376678
- ldrb r2, [r4, 0x6]
- lsls r2, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r0, [r2]
- movs r1, 0
- mov r8, r1
- strh r0, [r3, 0x20]
- bl IsDoubleBattle
- ldrb r1, [r4, 0x3]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- ldrb r2, [r4, 0x6]
- lsls r2, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r0, [r2, 0x1]
- strh r0, [r3, 0x22]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x26]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- movs r1, 0x1C
- adds r1, r5
- mov r9, r1
- add r0, r9
- ldr r7, _0806D370 @ =UpdateMonIconFrame_806DA38
- str r7, [r0]
- bl IsDoubleBattle
- ldrb r1, [r4, 0x4]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- ldrb r2, [r4, 0x5]
- lsls r2, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r0, [r2]
- strh r0, [r3, 0x20]
- bl IsDoubleBattle
- ldrb r1, [r4, 0x4]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- ldrb r2, [r4, 0x5]
- lsls r2, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r0, [r2, 0x1]
- strh r0, [r3, 0x22]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x26]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- str r7, [r0]
- ldrb r0, [r4]
- ldrb r2, [r4, 0x2]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- ldr r0, _0806D374 @ =UpdateMonIconFrame_806DA0C
- str r0, [r1]
- ldrb r0, [r4, 0x5]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _0806D378 @ =gPlayerParty
- adds r0, r5
- ldrb r1, [r4, 0x6]
- muls r1, r6
- adds r1, r5
- bl sub_806E6F0
- ldrb r0, [r4, 0x5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl PartyMenuPrintMonLevelOrStatus
- ldrb r0, [r4, 0x5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl TryPrintPartyMenuMonNickname
- ldrb r0, [r4, 0x5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl PartyMenuTryPrintHP
- ldrb r0, [r4, 0x5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl nullsub_12
- ldrb r0, [r4, 0x6]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl PartyMenuPrintMonLevelOrStatus
- ldrb r0, [r4, 0x6]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl TryPrintPartyMenuMonNickname
- ldrb r0, [r4, 0x6]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl PartyMenuTryPrintHP
- ldrb r0, [r4, 0x6]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl nullsub_12
- bl PartyMenuDrawHPBars
- mov r0, r10
- bl sub_806CC74
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D364: .4byte 0x02001000
-_0806D368: .4byte gSprites
-_0806D36C: .4byte gUnknown_08376678
-_0806D370: .4byte UpdateMonIconFrame_806DA38
-_0806D374: .4byte UpdateMonIconFrame_806DA0C
-_0806D378: .4byte gPlayerParty
- thumb_func_end sub_806D198
-
- thumb_func_start sub_806D37C
-sub_806D37C: @ 806D37C
- push {r4,lr}
- adds r4, r0, 0
- bl UpdateMonIconFrame
- ldrh r2, [r4, 0x24]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r3, 0x32
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _0806D3A8
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- negs r0, r0
- movs r1, 0
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x32]
- ldr r0, _0806D3A4 @ =UpdateMonIconFrame_806DA38
- str r0, [r4, 0x1C]
- b _0806D3AE
- .align 2, 0
-_0806D3A4: .4byte UpdateMonIconFrame_806DA38
-_0806D3A8:
- ldrh r0, [r4, 0x2E]
- adds r0, r2, r0
- strh r0, [r4, 0x24]
-_0806D3AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806D37C
-
- thumb_func_start sub_806D3B4
-sub_806D3B4: @ 806D3B4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r6, _0806D438 @ =gUnknown_083769C0
- ldr r1, _0806D43C @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0x2]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x3]
- bl sub_806BA34
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x9]
- bl sub_806BB3C
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0xA]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0xB]
- bl sub_806BB3C
- ldrh r1, [r5, 0x8]
- subs r1, 0x1
- strh r1, [r5, 0x8]
- ldrb r0, [r6, 0x2]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x3]
- movs r2, 0x4
- bl sub_806B9A4
- cmp r4, 0
- beq _0806D440
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x9]
- movs r2, 0
- movs r3, 0x4
- bl sub_806BA94
- b _0806D454
- .align 2, 0
-_0806D438: .4byte gUnknown_083769C0
-_0806D43C: .4byte gTasks
-_0806D440:
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x9]
- movs r2, 0x1
- movs r3, 0x4
- bl sub_806BA94
-_0806D454:
- mov r0, r8
- cmp r0, 0
- beq _0806D480
- ldr r1, _0806D47C @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- ldrb r1, [r6, 0xA]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0xB]
- movs r2, 0
- movs r3, 0x4
- bl sub_806BA94
- b _0806D49E
- .align 2, 0
-_0806D47C: .4byte gTasks
-_0806D480:
- ldr r1, _0806D4A8 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- ldrb r1, [r6, 0xA]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0xB]
- movs r2, 0x1
- movs r3, 0x4
- bl sub_806BA94
-_0806D49E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D4A8: .4byte gTasks
- thumb_func_end sub_806D3B4
-
- thumb_func_start sub_806D4AC
-sub_806D4AC: @ 806D4AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsls r2, 24
- lsrs r2, 24
- cmp r1, 0
- beq _0806D4F6
- adds r1, r2, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806D4FC @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r2
- ldr r0, _0806D500 @ =0x0000fff8
- strh r0, [r4, 0x2E]
- ldr r3, _0806D504 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r3
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- lsls r0, 3
- negs r0, r0
- strh r0, [r4, 0x32]
- adds r2, 0x1C
- adds r1, r2
- ldr r0, _0806D508 @ =sub_806D37C
- str r0, [r1]
-_0806D4F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D4FC: .4byte gSprites
-_0806D500: .4byte 0x0000fff8
-_0806D504: .4byte gTasks
-_0806D508: .4byte sub_806D37C
- thumb_func_end sub_806D4AC
-
- thumb_func_start sub_806D50C
-sub_806D50C: @ 806D50C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetMonIconSpriteId_maybe
- ldr r2, _0806D534 @ =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x20]
- adds r0, 0xF0
- strh r0, [r1, 0x20]
- pop {r0}
- bx r0
- .align 2, 0
-_0806D534: .4byte gSprites
- thumb_func_end sub_806D50C
-
- thumb_func_start sub_806D538
-sub_806D538: @ 806D538
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- cmp r4, 0xFF
- beq _0806D59A
- cmp r1, 0x1
- beq _0806D568
- cmp r1, 0x1
- bgt _0806D556
- cmp r1, 0
- beq _0806D560
- b _0806D58A
-_0806D556:
- cmp r0, 0x2
- beq _0806D570
- cmp r0, 0x3
- beq _0806D57E
- b _0806D58A
-_0806D560:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x17
- b _0806D576
-_0806D568:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x13
- b _0806D576
-_0806D570:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x16
-_0806D576:
- movs r3, 0x13
- bl MenuDrawTextWindow
- b _0806D58A
-_0806D57E:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x12
- movs r3, 0x13
- bl MenuDrawTextWindow
-_0806D58A:
- ldr r0, _0806D5A0 @ =gUnknown_08376624
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x1
- movs r2, 0x11
- bl MenuPrint
-_0806D59A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D5A0: .4byte gUnknown_08376624
- thumb_func_end sub_806D538
-
- thumb_func_start sub_806D5A4
-sub_806D5A4: @ 806D5A4
- push {lr}
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_806D5A4
-
- thumb_func_start sub_806D5B8
-sub_806D5B8: @ 806D5B8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _0806D658 @ =gUnknown_08376948
- bl IsDoubleBattle
- lsls r4, r5, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1]
- mov r10, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1, 0x1]
- mov r9, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1, 0x2]
- mov r8, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r4, r1
- adds r4, r6
- ldrb r1, [r4, 0x3]
- ldr r0, _0806D65C @ =gUnknown_03004210
- str r1, [sp]
- mov r1, r10
- mov r2, r9
- mov r3, r8
- bl ZeroFillWindowRect
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r5, 10
- ldr r0, _0806D660 @ =0x06014000
- adds r5, r0
- ldr r2, _0806D664 @ =0x01000100
- add r0, sp, 0x4
- adds r1, r5, 0
- bl CpuFastSet
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D658: .4byte gUnknown_08376948
-_0806D65C: .4byte gUnknown_03004210
-_0806D660: .4byte 0x06014000
-_0806D664: .4byte 0x01000100
- thumb_func_end sub_806D5B8
-
- thumb_func_start sub_806D668
-sub_806D668: @ 806D668
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _0806D708 @ =gUnknown_08376978
- bl IsDoubleBattle
- lsls r4, r5, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1]
- mov r10, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1, 0x1]
- mov r9, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1, 0x2]
- mov r8, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r4, r1
- adds r4, r6
- ldrb r1, [r4, 0x3]
- ldr r0, _0806D70C @ =gUnknown_03004210
- str r1, [sp]
- mov r1, r10
- mov r2, r9
- mov r3, r8
- bl ZeroFillWindowRect
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r5, 10
- ldr r0, _0806D710 @ =0x06014300
- adds r5, r0
- ldr r2, _0806D714 @ =0x01000040
- add r0, sp, 0x4
- adds r1, r5, 0
- bl CpuFastSet
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D708: .4byte gUnknown_08376978
-_0806D70C: .4byte gUnknown_03004210
-_0806D710: .4byte 0x06014300
-_0806D714: .4byte 0x01000040
- thumb_func_end sub_806D668
-
- thumb_func_start sub_806D718
-sub_806D718: @ 806D718
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _0806D7C4 @ =0x00007fff
- mov r0, sp
- strh r1, [r0]
- movs r5, 0
- cmp r4, 0x1
- bhi _0806D736
- ldr r0, _0806D7C8 @ =gPartyMenuMisc_Gfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
-_0806D736:
- cmp r4, 0x2
- beq _0806D73E
- cmp r4, 0
- bne _0806D746
-_0806D73E:
- ldr r0, _0806D7CC @ =gPartyMenuMisc_Tilemap
- ldr r1, _0806D7D0 @ =0x06003800
- bl LZDecompressVram
-_0806D746:
- cmp r4, 0x3
- beq _0806D74E
- cmp r4, 0
- bne _0806D75A
-_0806D74E:
- ldr r0, _0806D7D4 @ =gPartyMenuMisc_Pal
- movs r2, 0xB0
- lsls r2, 1
- movs r1, 0
- bl LoadCompressedPalette
-_0806D75A:
- cmp r4, 0x4
- beq _0806D762
- cmp r4, 0
- bne _0806D776
-_0806D762:
- mov r0, sp
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- ldr r0, _0806D7D8 @ =gFontDefaultPalette
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_0806D776:
- cmp r4, 0x5
- beq _0806D77E
- cmp r4, 0
- bne _0806D786
-_0806D77E:
- ldr r0, _0806D7DC @ =gPartyMenuHpBar_Gfx
- ldr r1, _0806D7E0 @ =0x06006000
- bl LZDecompressVram
-_0806D786:
- cmp r4, 0x6
- beq _0806D78E
- cmp r4, 0
- bne _0806D796
-_0806D78E:
- ldr r0, _0806D7E4 @ =gPartyMenuOrderText_Gfx
- ldr r1, _0806D7E8 @ =0x06006180
- bl LZDecompressVram
-_0806D796:
- cmp r4, 0x7
- beq _0806D79E
- cmp r4, 0
- bne _0806D7A6
-_0806D79E:
- ldr r0, _0806D7EC @ =gStatusGfx_Icons
- ldr r1, _0806D7F0 @ =0x06007180
- bl LZDecompressVram
-_0806D7A6:
- cmp r4, 0x8
- beq _0806D7AE
- cmp r4, 0
- bne _0806D7BA
-_0806D7AE:
- ldr r0, _0806D7F4 @ =gStatusPal_Icons
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadCompressedPalette
- movs r5, 0x1
-_0806D7BA:
- adds r0, r5, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806D7C4: .4byte 0x00007fff
-_0806D7C8: .4byte gPartyMenuMisc_Gfx
-_0806D7CC: .4byte gPartyMenuMisc_Tilemap
-_0806D7D0: .4byte 0x06003800
-_0806D7D4: .4byte gPartyMenuMisc_Pal
-_0806D7D8: .4byte gFontDefaultPalette
-_0806D7DC: .4byte gPartyMenuHpBar_Gfx
-_0806D7E0: .4byte 0x06006000
-_0806D7E4: .4byte gPartyMenuOrderText_Gfx
-_0806D7E8: .4byte 0x06006180
-_0806D7EC: .4byte gStatusGfx_Icons
-_0806D7F0: .4byte 0x06007180
-_0806D7F4: .4byte gStatusPal_Icons
- thumb_func_end sub_806D718
-
- thumb_func_start SetMonIconAnimByHP
-SetMonIconAnimByHP: @ 806D7F8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsls r2, 16
- lsrs r5, r1, 16
- asrs r1, 16
- lsrs r4, r2, 16
- asrs r2, 16
- adds r0, r1, 0
- adds r1, r2, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- cmp r5, r4
- beq _0806D830
- movs r2, 0x1
- cmp r0, 0x3
- beq _0806D830
- movs r2, 0x2
- cmp r0, 0x2
- beq _0806D830
- movs r2, 0x4
- cmp r0, 0x1
- bne _0806D830
- movs r2, 0x3
-_0806D830:
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- ldr r1, _0806D848 @ =gSprites
- adds r0, r1
- adds r1, r2, 0
- bl sub_809D824
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D848: .4byte gSprites
- thumb_func_end SetMonIconAnimByHP
-
- thumb_func_start SetMonIconAnim
-SetMonIconAnim: @ 806D84C
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl SetMonIconAnimByHP
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end SetMonIconAnim
-
- thumb_func_start CreatePartyMenuMonIcon
-CreatePartyMenuMonIcon: @ 806D880
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _0806D904 @ =gUnknown_08376678
- lsls r1, r5, 2
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1]
- mov r9, r0
- ldrb r1, [r1, 0x1]
- mov r10, r1
- mov r0, r8
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0
- bl GetMonData
- ldr r1, _0806D908 @ =sub_809D62C
- movs r2, 0x5
- str r2, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r2, r9
- mov r3, r10
- bl CreateMonIcon
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl SetMonIconSpriteId_maybe
- adds r0, r4, 0
- mov r1, r8
- bl SetMonIconAnim
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D904: .4byte gUnknown_08376678
-_0806D908: .4byte sub_809D62C
- thumb_func_end CreatePartyMenuMonIcon
-
- thumb_func_start TryCreatePartyMenuMonIcon
-TryCreatePartyMenuMonIcon: @ 806D90C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r8, r6
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806D95A
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806D946
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x2
- adds r3, r4, 0
- bl CreatePartyMenuMonIcon
- b _0806D95A
-_0806D946:
- bl IsDoubleBattle
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r0, r8
- adds r1, r7, 0
- adds r3, r4, 0
- bl CreatePartyMenuMonIcon
-_0806D95A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end TryCreatePartyMenuMonIcon
-
- thumb_func_start unref_sub_806D964
-unref_sub_806D964: @ 806D964
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _0806D986
-_0806D96E:
- movs r0, 0x64
- adds r2, r4, 0
- muls r2, r0
- ldr r0, _0806D994 @ =gPlayerParty
- adds r2, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl TryCreatePartyMenuMonIcon
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0806D986:
- ldr r0, _0806D998 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0806D96E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D994: .4byte gPlayerParty
-_0806D998: .4byte gPlayerPartyCount
- thumb_func_end unref_sub_806D964
-
- thumb_func_start CreateMonIcon_806D99C
-CreateMonIcon_806D99C: @ 806D99C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _0806DA04 @ =gUnknown_08376678
- lsls r1, r5, 2
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r3
- ldrb r2, [r1]
- ldrb r3, [r1, 0x1]
- mov r1, r8
- ldrh r0, [r1]
- ldr r1, _0806DA08 @ =sub_809D62C
- movs r4, 0x5
- str r4, [sp]
- mov r7, r8
- ldr r4, [r7, 0x18]
- str r4, [sp, 0x4]
- bl CreateMonIcon
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl SetMonIconSpriteId_maybe
- ldrh r1, [r7, 0x10]
- ldrh r2, [r7, 0x12]
- adds r0, r4, 0
- bl SetMonIconAnimByHP
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DA04: .4byte gUnknown_08376678
-_0806DA08: .4byte sub_809D62C
- thumb_func_end CreateMonIcon_806D99C
-
- thumb_func_start UpdateMonIconFrame_806DA0C
-UpdateMonIconFrame_806DA0C: @ 806DA0C
- push {r4,lr}
- adds r4, r0, 0
- bl UpdateMonIconFrame
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0806DA32
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806DA30
- ldr r0, _0806DA2C @ =0x0000fffd
- strh r0, [r4, 0x26]
- b _0806DA32
- .align 2, 0
-_0806DA2C: .4byte 0x0000fffd
-_0806DA30:
- strh r1, [r4, 0x26]
-_0806DA32:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end UpdateMonIconFrame_806DA0C
-
- thumb_func_start UpdateMonIconFrame_806DA38
-UpdateMonIconFrame_806DA38: @ 806DA38
- push {lr}
- bl UpdateMonIconFrame
- pop {r0}
- bx r0
- thumb_func_end UpdateMonIconFrame_806DA38
-
- thumb_func_start UpdateMonIconFrame_806DA44
-UpdateMonIconFrame_806DA44: @ 806DA44
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r1, 0x5
- bhi _0806DA8E
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0806DA7C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r2, r1, 2
- adds r1, r2, r3
- movs r0, 0
- strh r0, [r1, 0x26]
- strh r0, [r1, 0x2E]
- cmp r4, 0
- bne _0806DA84
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r2, r0
- ldr r1, _0806DA80 @ =UpdateMonIconFrame_806DA38
- b _0806DA8C
- .align 2, 0
-_0806DA7C: .4byte gSprites
-_0806DA80: .4byte UpdateMonIconFrame_806DA38
-_0806DA84:
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r2, r0
- ldr r1, _0806DA94 @ =UpdateMonIconFrame_806DA0C
-_0806DA8C:
- str r1, [r0]
-_0806DA8E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DA94: .4byte UpdateMonIconFrame_806DA0C
- thumb_func_end UpdateMonIconFrame_806DA44
-
- thumb_func_start LoadHeldItemIconGraphics
-LoadHeldItemIconGraphics: @ 806DA98
- push {lr}
- ldr r0, _0806DAAC @ =gUnknown_083765DC
- bl LoadSpriteSheet
- ldr r0, _0806DAB0 @ =gUnknown_083765E4
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_0806DAAC: .4byte gUnknown_083765DC
-_0806DAB0: .4byte gUnknown_083765E4
- thumb_func_end LoadHeldItemIconGraphics
-
- thumb_func_start SpriteCB_HeldItemIcon
-SpriteCB_HeldItemIcon: @ 806DAB4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0806DAE4 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _0806DAE8
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0806DB06
- .align 2, 0
-_0806DAE4: .4byte gSprites
-_0806DAE8:
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
-_0806DB06:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_HeldItemIcon
-
- thumb_func_start CreateHeldItemIcon
-CreateHeldItemIcon: @ 806DB0C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r6, r0, 0
- mov r9, r1
- lsls r6, 24
- lsrs r6, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _0806DB84 @ =gSprites
- mov r8, r0
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- add r0, r8
- adds r0, 0x43
- ldrb r3, [r0]
- ldr r0, _0806DB88 @ =gSpriteTemplate_837660C
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0xFA
- movs r2, 0xAA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- mov r0, r8
- adds r5, r4, r0
- movs r0, 0x4
- strh r0, [r5, 0x24]
- movs r0, 0xA
- strh r0, [r5, 0x26]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, _0806DB8C @ =SpriteCB_HeldItemIcon
- str r0, [r4]
- strh r6, [r5, 0x3C]
- adds r0, r5, 0
- mov r1, r9
- bl StartSpriteAnim
- ldr r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DB84: .4byte gSprites
-_0806DB88: .4byte gSpriteTemplate_837660C
-_0806DB8C: .4byte SpriteCB_HeldItemIcon
- thumb_func_end CreateHeldItemIcon
-
- thumb_func_start CreateHeldItemIcons
-CreateHeldItemIcons: @ 806DB90
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- beq _0806DBA4
- cmp r2, 0x1
- beq _0806DBEC
- b _0806DC28
-_0806DBA4:
- movs r5, 0
- ldrb r0, [r6]
- cmp r5, r0
- bcs _0806DC28
-_0806DBAC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0806DBE8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0806DBD8
- adds r0, r7, r5
- ldrb r4, [r0]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl CreateHeldItemIcon
-_0806DBD8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6]
- cmp r5, r0
- bcc _0806DBAC
- b _0806DC28
- .align 2, 0
-_0806DBE8: .4byte gPlayerParty
-_0806DBEC:
- movs r5, 0
- b _0806DC22
-_0806DBF0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0806DC30 @ =gEnemyParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0806DC1C
- adds r0, r5, r7
- ldrb r4, [r0, 0x6]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl CreateHeldItemIcon
-_0806DC1C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0806DC22:
- ldrb r0, [r6, 0x1]
- cmp r5, r0
- bcc _0806DBF0
-_0806DC28:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DC30: .4byte gEnemyParty
- thumb_func_end CreateHeldItemIcons
-
- thumb_func_start CreateHeldItemIcons_806DC34
-CreateHeldItemIcons_806DC34: @ 806DC34
- 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 r7, 0
- ldr r0, _0806DCC8 @ =gSprites
- mov r9, r0
- movs r1, 0x1C
- add r1, r9
- mov r10, r1
-_0806DC50:
- movs r0, 0x64
- muls r0, r7
- ldr r1, _0806DCCC @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806DCB0
- mov r0, r8
- adds r1, r7, 0
- bl GetMonIconSpriteId_maybe
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0806DCD0 @ =gSpriteTemplate_837660C
- movs r1, 0xFA
- movs r2, 0xAA
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- mov r1, r9
- adds r6, r4, r1
- movs r1, 0x4
- strh r1, [r6, 0x24]
- movs r1, 0xA
- strh r1, [r6, 0x26]
- strh r5, [r6, 0x3C]
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- add r1, r9
- strh r0, [r1, 0x3C]
- mov r0, r8
- adds r1, r7, 0
- bl SetHeldItemIconVisibility
- add r4, r10
- ldr r1, [r4]
- adds r0, r6, 0
- bl _call_via_r1
-_0806DCB0:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x5
- bls _0806DC50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DCC8: .4byte gSprites
-_0806DCCC: .4byte gPlayerParty
-_0806DCD0: .4byte gSpriteTemplate_837660C
- thumb_func_end CreateHeldItemIcons_806DC34
-
- thumb_func_start CreateHeldItemIcon_806DCD4
-CreateHeldItemIcon_806DCD4: @ 806DCD4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r7, r2, 16
- bl GetMonIconSpriteId_maybe
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0806DD2C @ =gSpriteTemplate_837660C
- movs r1, 0xFA
- movs r2, 0xAA
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0806DD30 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r5, r0, r1
- movs r0, 0x4
- strh r0, [r5, 0x24]
- movs r0, 0xA
- strh r0, [r5, 0x26]
- strh r4, [r5, 0x3C]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- strh r6, [r0, 0x3C]
- cmp r7, 0
- bne _0806DD34
- adds r0, r5, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0806DD5C
- .align 2, 0
-_0806DD2C: .4byte gSpriteTemplate_837660C
-_0806DD30: .4byte gSprites
-_0806DD34:
- adds r0, r7, 0
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0806DD46
- adds r0, r5, 0
- movs r1, 0x1
- b _0806DD4A
-_0806DD46:
- adds r0, r5, 0
- movs r1, 0
-_0806DD4A:
- bl StartSpriteAnim
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0806DD5C:
- ldr r2, _0806DD78 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r1, r0, r1
- adds r0, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DD78: .4byte gSprites
- thumb_func_end CreateHeldItemIcon_806DCD4
-
- thumb_func_start SpriteCB_HeldItemIcon_806DD7C
-SpriteCB_HeldItemIcon_806DD7C: @ 806DD7C
- ldrh r2, [r0, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _0806DD9C @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x24]
- ldrh r3, [r1, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_0806DD9C: .4byte gSprites
- thumb_func_end SpriteCB_HeldItemIcon_806DD7C
-
- thumb_func_start GetMonIconSpriteId_maybe
-GetMonIconSpriteId_maybe: @ 806DDA0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, 0x5
- bhi _0806DE38
- lsls r0, 2
- ldr r1, _0806DDB8 @ =_0806DDBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806DDB8: .4byte _0806DDBC
- .align 2, 0
-_0806DDBC:
- .4byte _0806DE38
- .4byte _0806DDD4
- .4byte _0806DDE8
- .4byte _0806DDFC
- .4byte _0806DE10
- .4byte _0806DE24
-_0806DDD4:
- ldr r0, _0806DDE4 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- b _0806DE46
- .align 2, 0
-_0806DDE4: .4byte gTasks
-_0806DDE8:
- ldr r0, _0806DDF8 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- b _0806DE44
- .align 2, 0
-_0806DDF8: .4byte gTasks
-_0806DDFC:
- ldr r0, _0806DE0C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0xA]
- b _0806DE46
- .align 2, 0
-_0806DE0C: .4byte gTasks
-_0806DE10:
- ldr r0, _0806DE20 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- b _0806DE44
- .align 2, 0
-_0806DE20: .4byte gTasks
-_0806DE24:
- ldr r0, _0806DE34 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0xC]
- b _0806DE46
- .align 2, 0
-_0806DE34: .4byte gTasks
-_0806DE38:
- ldr r0, _0806DE4C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
-_0806DE44:
- lsrs r0, 8
-_0806DE46:
- pop {r1}
- bx r1
- .align 2, 0
-_0806DE4C: .4byte gTasks
- thumb_func_end GetMonIconSpriteId_maybe
-
- thumb_func_start SetMonIconSpriteId_maybe
-SetMonIconSpriteId_maybe: @ 806DE50
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r0, 0x5
- bhi _0806DF24
- lsls r0, 2
- ldr r1, _0806DE6C @ =_0806DE70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806DE6C: .4byte _0806DE70
- .align 2, 0
-_0806DE70:
- .4byte _0806DE88
- .4byte _0806DEA0
- .4byte _0806DEC0
- .4byte _0806DED8
- .4byte _0806DEF8
- .4byte _0806DF10
-_0806DE88:
- ldr r1, _0806DE9C @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x8]
- lsls r2, r4, 8
- orrs r1, r2
- strh r1, [r0, 0x8]
- b _0806DF24
- .align 2, 0
-_0806DE9C: .4byte gTasks
-_0806DEA0:
- ldr r0, _0806DEB8 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0x8]
- ldr r0, _0806DEBC @ =0xffffff00
- ands r0, r2
- orrs r0, r4
- strh r0, [r1, 0x8]
- b _0806DF24
- .align 2, 0
-_0806DEB8: .4byte gTasks
-_0806DEBC: .4byte 0xffffff00
-_0806DEC0:
- ldr r1, _0806DED4 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xA]
- lsls r2, r4, 8
- orrs r1, r2
- strh r1, [r0, 0xA]
- b _0806DF24
- .align 2, 0
-_0806DED4: .4byte gTasks
-_0806DED8:
- ldr r0, _0806DEF0 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xA]
- ldr r0, _0806DEF4 @ =0xffffff00
- ands r0, r2
- orrs r0, r4
- strh r0, [r1, 0xA]
- b _0806DF24
- .align 2, 0
-_0806DEF0: .4byte gTasks
-_0806DEF4: .4byte 0xffffff00
-_0806DEF8:
- ldr r1, _0806DF0C @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xC]
- lsls r2, r4, 8
- orrs r1, r2
- strh r1, [r0, 0xC]
- b _0806DF24
- .align 2, 0
-_0806DF0C: .4byte gTasks
-_0806DF10:
- ldr r0, _0806DF2C @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xC]
- ldr r0, _0806DF30 @ =0xffffff00
- ands r0, r2
- orrs r0, r4
- strh r0, [r1, 0xC]
-_0806DF24:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DF2C: .4byte gTasks
-_0806DF30: .4byte 0xffffff00
- thumb_func_end SetMonIconSpriteId_maybe
-
- thumb_func_start GetHeldItemIconSpriteIdByMon_maybe
-GetHeldItemIconSpriteIdByMon_maybe: @ 806DF34
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806DF5C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0806DF5C: .4byte gSprites
- thumb_func_end GetHeldItemIconSpriteIdByMon_maybe
-
- thumb_func_start SetHeldItemIconVisibility
-SetHeldItemIconVisibility: @ 806DF60
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- adds r1, r4, 0
- bl GetHeldItemIconSpriteIdByMon_maybe
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _0806DFA4 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- bne _0806DFAC
- ldr r1, _0806DFA8 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0806DFF6
- .align 2, 0
-_0806DFA4: .4byte gPlayerParty
-_0806DFA8: .4byte gSprites
-_0806DFAC:
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0806DFD8
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r0, _0806DFD4 @ =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x1
- b _0806DFE6
- .align 2, 0
-_0806DFD4: .4byte gSprites
-_0806DFD8:
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- ldr r0, _0806DFFC @ =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0
-_0806DFE6:
- bl StartSpriteAnim
- adds r4, 0x3E
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
-_0806DFF6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DFFC: .4byte gSprites
- thumb_func_end SetHeldItemIconVisibility
-
- thumb_func_start box_print
-box_print: @ 806E000
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- str r0, [sp]
- ldr r5, _0806E040 @ =gTileBuffer
- ldr r2, _0806E044 @ =0x01000100
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- ldr r0, _0806E048 @ =gWindowConfig_81E6CAC
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8004E3C
- lsls r4, 10
- ldr r0, _0806E04C @ =0x06014000
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x80
- bl CpuFastSet
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E040: .4byte gTileBuffer
-_0806E044: .4byte 0x01000100
-_0806E048: .4byte gWindowConfig_81E6CAC
-_0806E04C: .4byte 0x06014000
- thumb_func_end box_print
-
- thumb_func_start PrintPartyMenuMonNickname
-PrintPartyMenuMonNickname: @ 806E050
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r1, sp
- bl GetMonNickname
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl box_print
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end PrintPartyMenuMonNickname
-
- thumb_func_start TryPrintPartyMenuMonNickname
-TryPrintPartyMenuMonNickname: @ 806E07C
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806E0BC
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E0AA
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl PrintPartyMenuMonNickname
- b _0806E0BC
-_0806E0AA:
- bl IsDoubleBattle
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r4, 0
- bl PrintPartyMenuMonNickname
-_0806E0BC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end TryPrintPartyMenuMonNickname
-
- thumb_func_start PrintPartyMenuMonNicknames
-PrintPartyMenuMonNicknames: @ 806E0C4
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x64
- ldr r5, _0806E0E8 @ =gPlayerParty
-_0806E0CC:
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- adds r0, r4, 0
- bl TryPrintPartyMenuMonNickname
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0806E0CC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E0E8: .4byte gPlayerParty
- thumb_func_end PrintPartyMenuMonNicknames
-
- thumb_func_start GetMonNickname
-GetMonNickname: @ 806E0EC
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonNickname
-
- thumb_func_start PartyMenuPutStatusTilemap
-PartyMenuPutStatusTilemap: @ 806E104
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _0806E15C @ =gUnknown_08376738
- lsrs r0, 22
- lsls r3, r1, 1
- adds r3, r1
- lsls r3, 3
- adds r0, r3
- adds r0, r4
- ldrb r1, [r0]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r0, 0x1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 19
- adds r1, r0
- lsls r1, 1
- ldr r0, _0806E160 @ =0x0600f000
- adds r4, r1, r0
- lsls r2, 26
- lsrs r2, 24
- movs r3, 0
- movs r0, 0xC6
- lsls r0, 1
- adds r2, r0
- ldr r0, _0806E164 @ =0xffffb000
- adds r5, r0, 0
-_0806E142:
- lsls r0, r3, 1
- adds r0, r4
- adds r1, r2, r3
- orrs r1, r5
- strh r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0806E142
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E15C: .4byte gUnknown_08376738
-_0806E160: .4byte 0x0600f000
-_0806E164: .4byte 0xffffb000
- thumb_func_end PartyMenuPutStatusTilemap
-
- thumb_func_start PartyMenuClearLevelStatusTilemap
-PartyMenuClearLevelStatusTilemap: @ 806E168
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E17E
- movs r3, 0x2
- b _0806E186
-_0806E17E:
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r3, r0, 24
-_0806E186:
- ldr r1, _0806E1C8 @ =gUnknown_08376738
- lsls r2, r4, 2
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 3
- adds r2, r0
- adds r2, r1
- ldrb r1, [r2]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r2, 0x1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 19
- adds r1, r0
- lsls r1, 1
- ldr r0, _0806E1CC @ =0x0600f000
- adds r1, r0
- movs r3, 0
- movs r2, 0
-_0806E1B0:
- lsls r0, r3, 1
- adds r0, r1
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0806E1B0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E1C8: .4byte gUnknown_08376738
-_0806E1CC: .4byte 0x0600f000
- thumb_func_end PartyMenuClearLevelStatusTilemap
-
- thumb_func_start PartyMenuWriteTilemap
-PartyMenuWriteTilemap: @ 806E1D0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 19
- adds r1, r2
- lsls r1, 1
- ldr r2, _0806E1F0 @ =0x0600f000
- adds r1, r2
- movs r2, 0x86
- lsls r2, 1
- adds r0, r2
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0806E1F0: .4byte 0x0600f000
- thumb_func_end PartyMenuWriteTilemap
-
- thumb_func_start PartyMenuDoPrintLevel
-PartyMenuDoPrintLevel: @ 806E1F4
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r3, _0806E278 @ =gUnknown_08376738
- lsls r2, r4, 2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r2, r3
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x40
- bl PartyMenuWriteTilemap
- ldr r6, _0806E27C @ =gStringVar1
- movs r0, 0xFC
- strb r0, [r6]
- movs r0, 0x12
- strb r0, [r6, 0x1]
- movs r0, 0x8
- strb r0, [r6, 0x2]
- adds r0, r6, 0x3
- adds r1, r5, 0
- bl ConvertIntToDecimalString
- movs r0, 0
- str r0, [sp]
- ldr r5, _0806E280 @ =gUnknown_02039460
- ldr r2, _0806E284 @ =0x01000020
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- ldr r0, _0806E288 @ =gWindowConfig_81E6CAC
- ldr r2, _0806E28C @ =0xffffff00
- adds r1, r5, r2
- adds r2, r6, 0
- bl sub_8004E3C
- lsls r4, 10
- ldr r0, _0806E290 @ =0x06014200
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x20
- bl CpuFastSet
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E278: .4byte gUnknown_08376738
-_0806E27C: .4byte gStringVar1
-_0806E280: .4byte gUnknown_02039460
-_0806E284: .4byte 0x01000020
-_0806E288: .4byte gWindowConfig_81E6CAC
-_0806E28C: .4byte 0xffffff00
-_0806E290: .4byte 0x06014200
- thumb_func_end PartyMenuDoPrintLevel
-
- thumb_func_start PartyMenuPrintLevel
-PartyMenuPrintLevel: @ 806E294
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x38
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl PartyMenuDoPrintLevel
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuPrintLevel
-
- thumb_func_start PartyMenuPrintMonLevelOrStatus
-PartyMenuPrintMonLevelOrStatus: @ 806E2C0
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806E32E
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806E32E
- adds r0, r5, 0
- bl GetMonStatusAndPokerus
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E2FA
- movs r6, 0x2
- b _0806E302
-_0806E2FA:
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r6, r0, 24
-_0806E302:
- cmp r4, 0
- beq _0806E31A
- cmp r4, 0x6
- beq _0806E31A
- subs r2, r4, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r6, 0
- bl PartyMenuPutStatusTilemap
- b _0806E324
-_0806E31A:
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl PartyMenuPrintLevel
-_0806E324:
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl PartyMenuPutNicknameTilemap
-_0806E32E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuPrintMonLevelOrStatus
-
- thumb_func_start PartyMenuPrintMonsLevelOrStatus
-PartyMenuPrintMonsLevelOrStatus: @ 806E334
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x64
- ldr r5, _0806E358 @ =gPlayerParty
-_0806E33C:
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- adds r0, r4, 0
- bl PartyMenuPrintMonLevelOrStatus
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0806E33C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E358: .4byte gPlayerParty
- thumb_func_end PartyMenuPrintMonsLevelOrStatus
-
- thumb_func_start PartyMenuDoPutNicknameTilemap
-PartyMenuDoPutNicknameTilemap: @ 806E35C
- push {r4-r7,lr}
- ldr r4, [sp, 0x14]
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- adds r1, r4, 0
- bl sub_8040D8C
- cmp r0, 0
- bne _0806E3BA
- ldr r2, _0806E3A4 @ =gUnknown_08376738
- lsls r1, r6, 2
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x3
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r7, 0
- beq _0806E3A8
- cmp r7, 0xFE
- beq _0806E3B2
- b _0806E3BA
- .align 2, 0
-_0806E3A4: .4byte gUnknown_08376738
-_0806E3A8:
- movs r0, 0x42
- adds r1, r3, 0
- bl PartyMenuWriteTilemap
- b _0806E3BA
-_0806E3B2:
- movs r0, 0x44
- adds r1, r3, 0
- bl PartyMenuWriteTilemap
-_0806E3BA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuDoPutNicknameTilemap
-
- thumb_func_start PartyMenuPutNicknameTilemap
-PartyMenuPutNicknameTilemap: @ 806E3C0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- adds r6, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _0806E41C @ =gStringVar1
- mov r9, r0
- adds r0, r5, 0
- mov r1, r9
- bl GetMonNickname
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl GetMonGender
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r9
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r6, 0
- mov r3, r8
- bl PartyMenuDoPutNicknameTilemap
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E41C: .4byte gStringVar1
- thumb_func_end PartyMenuPutNicknameTilemap
-
- thumb_func_start PartyMenuDoPrintHP
-PartyMenuDoPrintHP: @ 806E420
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r1, r2, 0
- adds r5, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r2, _0806E48C @ =gStringVar1
- adds r0, r2, 0
- movs r2, 0xF
- movs r3, 0x1
- bl sub_8072C14
- adds r2, r0, 0
- movs r0, 0xBA
- strb r0, [r2]
- adds r2, 0x1
- adds r0, r2, 0
- adds r1, r5, 0
- movs r2, 0x23
- movs r3, 0x1
- bl sub_8072C14
- movs r0, 0
- str r0, [sp]
- ldr r5, _0806E490 @ =gUnknown_02039460
- ldr r2, _0806E494 @ =0x01000040
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- ldr r0, _0806E498 @ =gWindowConfig_81E6CAC
- ldr r2, _0806E49C @ =0xffffff00
- adds r1, r5, r2
- ldr r2, _0806E48C @ =gStringVar1
- bl sub_8004E3C
- lsls r4, 10
- ldr r0, _0806E4A0 @ =0x06014300
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x40
- bl CpuFastSet
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E48C: .4byte gStringVar1
-_0806E490: .4byte gUnknown_02039460
-_0806E494: .4byte 0x01000040
-_0806E498: .4byte gWindowConfig_81E6CAC
-_0806E49C: .4byte 0xffffff00
-_0806E4A0: .4byte 0x06014300
- thumb_func_end PartyMenuDoPrintHP
-
- thumb_func_start PartyMenuPrintHP
-PartyMenuPrintHP: @ 806E4A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl PartyMenuDoPrintHP
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuPrintHP
-
- thumb_func_start PartyMenuTryPrintHP
-PartyMenuTryPrintHP: @ 806E4E8
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806E534
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806E534
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E522
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl PartyMenuPrintHP
- b _0806E534
-_0806E522:
- bl IsDoubleBattle
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r4, 0
- bl PartyMenuPrintHP
-_0806E534:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuTryPrintHP
-
- thumb_func_start PartyMenuTryPrintMonsHP
-PartyMenuTryPrintMonsHP: @ 806E53C
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x64
- ldr r5, _0806E560 @ =gPlayerParty
-_0806E544:
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- adds r0, r4, 0
- bl PartyMenuTryPrintHP
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0806E544
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E560: .4byte gPlayerParty
- thumb_func_end PartyMenuTryPrintMonsHP
-
- thumb_func_start unref_sub_806E564
-unref_sub_806E564: @ 806E564
- bx lr
- thumb_func_end unref_sub_806E564
-
- thumb_func_start unref_sub_806E568
-unref_sub_806E568: @ 806E568
- bx lr
- thumb_func_end unref_sub_806E568
-
- thumb_func_start nullsub_12
-nullsub_12: @ 806E56C
- bx lr
- thumb_func_end nullsub_12
-
- thumb_func_start nullsub_13
-nullsub_13: @ 806E570
- bx lr
- thumb_func_end nullsub_13
-
- thumb_func_start PartyMenuDoDrawHPBar
-PartyMenuDoDrawHPBar: @ 806E574
- push {r4-r6,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r0, _0806E624 @ =0xffff8000
- str r0, [sp, 0x14]
- str r3, [sp]
- str r2, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- lsls r2, 16
- asrs r2, 16
- lsls r3, 16
- asrs r3, 16
- adds r0, r2, 0
- adds r1, r3, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- cmp r3, 0x2
- bls _0806E5BE
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0xC]
-_0806E5BE:
- cmp r3, 0x2
- bne _0806E5D2
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x5
- orrs r0, r1
- strb r0, [r2, 0xC]
-_0806E5D2:
- cmp r4, 0x1
- bhi _0806E5E6
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x6
- orrs r0, r1
- strb r0, [r2, 0xC]
-_0806E5E6:
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp, 0x10]
- ldr r2, _0806E628 @ =gUnknown_08376858
- lsls r1, r6, 2
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldr r4, [r1]
- add r1, sp, 0x14
- mov r0, sp
- adds r2, r4, 0
- movs r3, 0
- bl sub_80460C8
- subs r4, 0x4
- ldr r1, _0806E62C @ =0x00003109
- adds r0, r1, 0
- strh r0, [r4]
- adds r1, 0x1
- adds r0, r1, 0
- strh r0, [r4, 0x2]
- adds r1, 0x1
- adds r0, r1, 0
- strh r0, [r4, 0x10]
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E624: .4byte 0xffff8000
-_0806E628: .4byte gUnknown_08376858
-_0806E62C: .4byte 0x00003109
- thumb_func_end PartyMenuDoDrawHPBar
-
- thumb_func_start PartyMenuDrawHPBar
-PartyMenuDrawHPBar: @ 806E630
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl PartyMenuDoDrawHPBar
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuDrawHPBar
-
- thumb_func_start PartyMenuTryDrawHPBar
-PartyMenuTryDrawHPBar: @ 806E674
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806E6C0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806E6C0
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E6AE
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl PartyMenuDrawHPBar
- b _0806E6C0
-_0806E6AE:
- bl IsDoubleBattle
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r4, 0
- bl PartyMenuDrawHPBar
-_0806E6C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuTryDrawHPBar
-
- thumb_func_start PartyMenuDrawHPBars
-PartyMenuDrawHPBars: @ 806E6C8
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x64
- ldr r5, _0806E6EC @ =gPlayerParty
-_0806E6D0:
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- adds r0, r4, 0
- bl PartyMenuTryDrawHPBar
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0806E6D0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E6EC: .4byte gPlayerParty
- thumb_func_end PartyMenuDrawHPBars
-
- thumb_func_start sub_806E6F0
-sub_806E6F0: @ 806E6F0
- push {r4,r5,lr}
- sub sp, 0x64
- adds r4, r0, 0
- adds r5, r1, 0
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x64
- bl memcpy
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_806E6F0
-
- thumb_func_start sub_806E720
-sub_806E720: @ 806E720
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 21
- adds r0, r3
- ldrb r4, [r0]
- lsls r4, 25
- movs r3, 0x80
- lsls r3, 18
- adds r4, r3
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0x1E
- subs r3, r0
- strb r3, [r1]
- movs r0, 0x14
- subs r0, r4
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806E720
-
- thumb_func_start sub_806E750
-sub_806E750: @ 806E750
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- adds r5, r0, 0
- adds r4, r1, 0
- mov r9, r2
- adds r6, r3, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x9
- add r0, sp
- mov r8, r0
- adds r0, r5, 0
- add r1, sp, 0x8
- mov r2, r8
- adds r3, r4, 0
- bl sub_806E720
- add r0, sp, 0x8
- ldrb r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- lsls r5, 3
- adds r5, r4
- ldrb r2, [r5, 0x1]
- ldrb r3, [r5]
- mov r4, r9
- str r4, [sp]
- ldr r4, [r5, 0x4]
- str r4, [sp, 0x4]
- bl sub_8089C50
- add r0, sp, 0x8
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- ldrb r2, [r0]
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r5]
- str r6, [sp]
- ldrb r0, [r5, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- bl InitMenu
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806E750
-
- thumb_func_start sub_806E7D0
-sub_806E7D0: @ 806E7D0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- mov r5, sp
- adds r5, 0x1
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_806E720
- mov r0, sp
- ldrb r0, [r0]
- ldrb r1, [r5]
- lsls r4, 3
- adds r4, r6
- ldrb r2, [r4, 0x1]
- adds r2, r0, r2
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4]
- lsls r3, 1
- adds r3, r1, r3
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- bl HandleDestroyMenuCursors
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806E7D0
-
- thumb_func_start PartyMenuGetPopupMenuFunc
-PartyMenuGetPopupMenuFunc: @ 806E81C
- lsls r0, 24
- lsls r3, 24
- lsrs r3, 24
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0, 0x4]
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r2
- ldr r0, [r0, 0x4]
- bx lr
- thumb_func_end PartyMenuGetPopupMenuFunc
-
- .section .text_8070968
-
- thumb_func_start sub_8070968
-sub_8070968: @ 8070968
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r7, 0
- ldr r0, _08070A10 @ =0x0201c000
- mov r9, r0
- ldr r1, _08070A14 @ =0xfffff264
- add r1, r9
- mov r10, r1
- ldr r0, _08070A18 @ =gStringVar1
- mov r8, r0
-_08070982:
- mov r1, r9
- ldr r0, [r1]
- ldr r1, _08070A1C @ =gUnknown_08376D1C
- adds r1, r7, r1
- ldrb r1, [r1]
- bl GetMonData
- adds r6, r7, 0x6
- lsls r6, 1
- add r6, r10
- strh r0, [r6]
- adds r0, r7, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 3
- adds r4, r0
- adds r4, 0xB
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- movs r1, 0x3
- bl __umodsi3
- adds r5, r0, 0
- lsls r5, 1
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0xFC
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x14
- strb r0, [r1, 0x1]
- movs r0, 0x6
- strb r0, [r1, 0x2]
- movs r0, 0
- ldrsh r1, [r6, r0]
- mov r0, r8
- adds r0, 0x3
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r4, 0x6
- lsls r4, 3
- adds r4, 0x6
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 3
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl MenuPrint_PixelCoords
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x5
- bls _08070982
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08070A10: .4byte 0x0201c000
-_08070A14: .4byte 0xfffff264
-_08070A18: .4byte gStringVar1
-_08070A1C: .4byte gUnknown_08376D1C
- thumb_func_end sub_8070968
-
- thumb_func_start sub_8070A20
-sub_8070A20: @ 8070A20
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- bl GetMonStatusAndPokerus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08070A3A
- cmp r0, 0x6
- bne _08070A42
-_08070A3A:
- adds r0, r6, 0
- adds r1, r7, 0
- bl PartyMenuUpdateLevelOrStatus
-_08070A42:
- bl IsDoubleBattle
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl PartyMenuDoPrintHP
- adds r0, r7, 0
- adds r1, r6, 0
- bl PartyMenuTryDrawHPBar
- ldr r4, _08070ABC @ =0x0201c000
- ldrb r0, [r4, 0x4]
- adds r1, r7, 0
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, 0
- bl SetMonIconAnim
- bl IsDoubleBattle
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- lsls r1, r7, 1
- adds r0, r1
- ldr r1, _08070AC0 @ =gUnknown_083769A8
- adds r0, r1
- movs r1, 0x7
- bl task_pc_turn_off
- ldr r0, _08070AC4 @ =0xfffff261
- adds r4, r0
- movs r0, 0x2
- strb r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08070ABC: .4byte 0x0201c000
-_08070AC0: .4byte gUnknown_083769A8
-_08070AC4: .4byte 0xfffff261
- thumb_func_end sub_8070A20
-
- thumb_func_start Task_RareCandy3
-Task_RareCandy3: @ 8070AC8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- bne _08070ADC
- b _08070C2C
-_08070ADC:
- ldr r0, _08070B24 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08070AF4
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08070AF4
- b _08070C2C
-_08070AF4:
- movs r0, 0xB
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x7
- bl MenuZeroFillWindowRect
- ldr r7, _08070B28 @ =0x0201c000
- ldr r0, [r7]
- movs r1, 0x1
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _08070B2C @ =0xfffff282
- adds r0, r7, r1
- strh r5, [r0]
- ldr r0, _08070B30 @ =0x0000fffe
- cmp r4, r0
- beq _08070BDC
- cmp r4, r0
- bgt _08070B34
- cmp r4, 0
- beq _08070B40
- b _08070BF4
- .align 2, 0
-_08070B24: .4byte gMain
-_08070B28: .4byte 0x0201c000
-_08070B2C: .4byte 0xfffff282
-_08070B30: .4byte 0x0000fffe
-_08070B34:
- ldr r0, _08070B3C @ =0x0000ffff
- cmp r4, r0
- beq _08070B7C
- b _08070BF4
- .align 2, 0
-_08070B3C: .4byte 0x0000ffff
-_08070B40:
- ldr r0, [r7]
- movs r1, 0
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08070B74
- ldr r1, _08070B6C @ =gCB2_AfterEvolution
- ldr r0, _08070B70 @ =sub_80A53F8
- str r0, [r1]
- ldr r0, [r7]
- ldrb r3, [r7, 0x5]
- adds r1, r2, 0
- movs r2, 0x1
- bl BeginEvolutionScene
- adds r0, r6, 0
- bl DestroyTask
- b _08070C2C
- .align 2, 0
-_08070B6C: .4byte gCB2_AfterEvolution
-_08070B70: .4byte sub_80A53F8
-_08070B74:
- adds r0, r6, 0
- bl sub_8070D90
- b _08070C2C
-_08070B7C:
- ldr r0, [r7]
- ldr r1, _08070BBC @ =gStringVar1
- bl GetMonNickname
- ldr r0, _08070BC0 @ =gStringVar2
- ldr r5, _08070BC4 @ =gMoveToLearn
- ldrh r2, [r5]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _08070BC8 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _08070BCC @ =gStringVar4
- ldr r1, _08070BD0 @ =gOtherText_WantsToLearn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806E834
- ldrh r0, [r5]
- strh r0, [r7, 0x8]
- ldr r1, _08070BD4 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070BD8 @ =sub_806F358
- b _08070C2A
- .align 2, 0
-_08070BBC: .4byte gStringVar1
-_08070BC0: .4byte gStringVar2
-_08070BC4: .4byte gMoveToLearn
-_08070BC8: .4byte gMoveNames
-_08070BCC: .4byte gStringVar4
-_08070BD0: .4byte gOtherText_WantsToLearn
-_08070BD4: .4byte gTasks
-_08070BD8: .4byte sub_806F358
-_08070BDC:
- ldr r0, _08070BEC @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _08070BF0 @ =sub_8070C54
- str r0, [r1]
- b _08070C2C
- .align 2, 0
-_08070BEC: .4byte gTasks
-_08070BF0: .4byte sub_8070C54
-_08070BF4:
- ldr r0, _08070C34 @ =0x0201c000
- ldr r0, [r0]
- ldr r1, _08070C38 @ =gStringVar1
- bl GetMonNickname
- ldr r0, _08070C3C @ =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, _08070C40 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _08070C44 @ =gStringVar4
- ldr r1, _08070C48 @ =gOtherText_LearnedMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806E834
- ldr r1, _08070C4C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070C50 @ =Task_TeamMonTMMove3
-_08070C2A:
- str r1, [r0]
-_08070C2C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08070C34: .4byte 0x0201c000
-_08070C38: .4byte gStringVar1
-_08070C3C: .4byte gStringVar2
-_08070C40: .4byte gMoveNames
-_08070C44: .4byte gStringVar4
-_08070C48: .4byte gOtherText_LearnedMove
-_08070C4C: .4byte gTasks
-_08070C50: .4byte Task_TeamMonTMMove3
- thumb_func_end Task_RareCandy3
-
- thumb_func_start sub_8070C54
-sub_8070C54: @ 8070C54
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, _08070C78 @ =0x0201c000
- ldr r0, [r7]
- movs r1, 0
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _08070C7C @ =0x0000fffe
- cmp r4, r0
- beq _08070D28
- cmp r4, r0
- bgt _08070C80
- cmp r4, 0
- beq _08070C8C
- b _08070D30
- .align 2, 0
-_08070C78: .4byte 0x0201c000
-_08070C7C: .4byte 0x0000fffe
-_08070C80:
- ldr r0, _08070C88 @ =0x0000ffff
- cmp r4, r0
- beq _08070CC8
- b _08070D30
- .align 2, 0
-_08070C88: .4byte 0x0000ffff
-_08070C8C:
- ldr r0, [r7]
- movs r1, 0
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08070CC0
- ldr r1, _08070CB8 @ =gCB2_AfterEvolution
- ldr r0, _08070CBC @ =sub_80A53F8
- str r0, [r1]
- ldr r0, [r7]
- ldrb r3, [r7, 0x5]
- adds r1, r2, 0
- movs r2, 0x1
- bl BeginEvolutionScene
- adds r0, r6, 0
- bl DestroyTask
- b _08070D68
- .align 2, 0
-_08070CB8: .4byte gCB2_AfterEvolution
-_08070CBC: .4byte sub_80A53F8
-_08070CC0:
- adds r0, r6, 0
- bl sub_8070D90
- b _08070D68
-_08070CC8:
- ldr r0, [r7]
- ldr r1, _08070D08 @ =gStringVar1
- bl GetMonNickname
- ldr r0, _08070D0C @ =gStringVar2
- ldr r5, _08070D10 @ =gMoveToLearn
- ldrh r2, [r5]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _08070D14 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _08070D18 @ =gStringVar4
- ldr r1, _08070D1C @ =gOtherText_WantsToLearn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806E834
- ldrh r0, [r5]
- strh r0, [r7, 0x8]
- ldr r1, _08070D20 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070D24 @ =sub_806F358
- b _08070D66
- .align 2, 0
-_08070D08: .4byte gStringVar1
-_08070D0C: .4byte gStringVar2
-_08070D10: .4byte gMoveToLearn
-_08070D14: .4byte gMoveNames
-_08070D18: .4byte gStringVar4
-_08070D1C: .4byte gOtherText_WantsToLearn
-_08070D20: .4byte gTasks
-_08070D24: .4byte sub_806F358
-_08070D28:
- adds r0, r6, 0
- bl sub_8070C54
- b _08070D68
-_08070D30:
- ldr r0, _08070D70 @ =0x0201c000
- ldr r0, [r0]
- ldr r1, _08070D74 @ =gStringVar1
- bl GetMonNickname
- ldr r0, _08070D78 @ =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, _08070D7C @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _08070D80 @ =gStringVar4
- ldr r1, _08070D84 @ =gOtherText_LearnedMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806E834
- ldr r1, _08070D88 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070D8C @ =Task_TeamMonTMMove3
-_08070D66:
- str r1, [r0]
-_08070D68:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08070D70: .4byte 0x0201c000
-_08070D74: .4byte gStringVar1
-_08070D78: .4byte gStringVar2
-_08070D7C: .4byte gMoveNames
-_08070D80: .4byte gStringVar4
-_08070D84: .4byte gOtherText_LearnedMove
-_08070D88: .4byte gTasks
-_08070D8C: .4byte Task_TeamMonTMMove3
- thumb_func_end sub_8070C54
-
- thumb_func_start sub_8070D90
-sub_8070D90: @ 8070D90
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08070DB4 @ =gTasks
- ldr r3, _08070DB8 @ =0x0201c000
- ldrb r2, [r3, 0x4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r4
- ldr r2, [r3, 0x10]
- str r2, [r1]
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08070DB4: .4byte gTasks
-_08070DB8: .4byte 0x0201c000
- thumb_func_end sub_8070D90
-
- thumb_func_start DoEvolutionStoneItemEffect
-DoEvolutionStoneItemEffect: @ 8070DBC
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 16
- lsrs r6, r1, 16
- movs r0, 0x5
- bl PlaySE
- ldr r1, _08070E18 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070E1C @ =TaskDummy
- str r1, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_806E8D0
- ldr r1, _08070E20 @ =gCB2_AfterEvolution
- ldr r0, _08070E24 @ =sub_80A53F8
- str r0, [r1]
- ldr r0, _08070E28 @ =0x0201c000
- ldrb r0, [r0, 0x5]
- adds r1, r6, 0
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _08070E38
- ldr r1, _08070E2C @ =gUnknown_0202E8F4
- movs r0, 0
- strb r0, [r1]
- ldr r0, _08070E30 @ =gOtherText_WontHaveAnyEffect
- movs r1, 0x1
- bl sub_806E834
- ldr r0, _08070E34 @ =sub_806FB0C
- movs r1, 0x5
- bl CreateTask
- b _08070E40
- .align 2, 0
-_08070E18: .4byte gTasks
-_08070E1C: .4byte TaskDummy
-_08070E20: .4byte gCB2_AfterEvolution
-_08070E24: .4byte sub_80A53F8
-_08070E28: .4byte 0x0201c000
-_08070E2C: .4byte gUnknown_0202E8F4
-_08070E30: .4byte gOtherText_WontHaveAnyEffect
-_08070E34: .4byte sub_806FB0C
-_08070E38:
- adds r0, r6, 0
- movs r1, 0x1
- bl RemoveBagItem
-_08070E40:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end DoEvolutionStoneItemEffect
-
- thumb_func_start GetItemEffectType
-GetItemEffectType: @ 8070E48
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _08070E5C
- ldr r4, _08070E58 @ =gSaveBlock1 + 0x3676
- b _08070E66
- .align 2, 0
-_08070E58: .4byte gSaveBlock1 + 0x3676
-_08070E5C:
- ldr r1, _08070E8C @ =gItemEffectTable
- subs r0, 0xD
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
-_08070E66:
- ldrb r1, [r4]
- movs r5, 0x3F
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08070E88
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08070E88
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08070E88
- ldrb r3, [r4, 0x3]
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _08070E90
-_08070E88:
- movs r0, 0
- b _08070F8A
- .align 2, 0
-_08070E8C: .4byte gItemEffectTable
-_08070E90:
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08070E9E
- movs r0, 0xA
- b _08070F8A
-_08070E9E:
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08070EAA
- movs r0, 0x1
- b _08070F8A
-_08070EAA:
- adds r2, r5, 0
- ands r2, r3
- cmp r2, 0
- bne _08070EB8
- lsrs r0, r1, 7
- cmp r0, 0
- beq _08070EFA
-_08070EB8:
- cmp r2, 0x20
- bne _08070EC0
- movs r0, 0x4
- b _08070F8A
-_08070EC0:
- cmp r2, 0x10
- bne _08070EC8
- movs r0, 0x3
- b _08070F8A
-_08070EC8:
- cmp r2, 0x8
- bne _08070ED0
- movs r0, 0x5
- b _08070F8A
-_08070ED0:
- cmp r2, 0x4
- bne _08070ED8
- movs r0, 0x6
- b _08070F8A
-_08070ED8:
- cmp r2, 0x2
- bne _08070EE0
- movs r0, 0x7
- b _08070F8A
-_08070EE0:
- cmp r2, 0x1
- bne _08070EE8
- movs r0, 0x8
- b _08070F8A
-_08070EE8:
- lsrs r0, r1, 7
- cmp r0, 0
- beq _08070EF6
- cmp r2, 0
- bne _08070EF6
- movs r0, 0x9
- b _08070F8A
-_08070EF6:
- movs r0, 0xB
- b _08070F8A
-_08070EFA:
- ldrb r1, [r4, 0x4]
- movs r0, 0x44
- ands r0, r1
- adds r2, r1, 0
- cmp r0, 0
- beq _08070F0A
- movs r0, 0x2
- b _08070F8A
-_08070F0A:
- movs r5, 0x2
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08070F18
- movs r0, 0xC
- b _08070F8A
-_08070F18:
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _08070F26
- movs r0, 0xD
- b _08070F8A
-_08070F26:
- ldrb r1, [r4, 0x5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08070F34
- movs r0, 0xE
- b _08070F8A
-_08070F34:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08070F40
- movs r0, 0xF
- b _08070F8A
-_08070F40:
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08070F4C
- movs r0, 0x10
- b _08070F8A
-_08070F4C:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08070F58
- movs r0, 0x11
- b _08070F8A
-_08070F58:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08070F64
- movs r0, 0x12
- b _08070F8A
-_08070F64:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08070F70
- movs r0, 0x13
- b _08070F8A
-_08070F70:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08070F7C
- movs r0, 0x14
- b _08070F8A
-_08070F7C:
- movs r0, 0x18
- ands r0, r2
- cmp r0, 0
- bne _08070F88
- movs r0, 0x16
- b _08070F8A
-_08070F88:
- movs r0, 0x15
-_08070F8A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetItemEffectType
-
- thumb_func_start unref_sub_8070F90
-unref_sub_8070F90: @ 8070F90
- push {lr}
- ldr r0, _08070FAC @ =0x00000801
- bl FlagSet
- movs r0, 0x80
- lsls r0, 4
- bl FlagSet
- ldr r0, _08070FB0 @ =0x00000802
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_08070FAC: .4byte 0x00000801
-_08070FB0: .4byte 0x00000802
- thumb_func_end unref_sub_8070F90
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index db16c2788..eaf44749b 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -12958,7 +12958,7 @@ _0809C08C:
adds r1, r6, r2
str r0, [r1]
adds r0, r7, 0
- bl pokemon_get_pal
+ bl GetMonSpritePal
ldr r2, _0809C11C @ =0x000011e8
adds r1, r6, r2
str r0, [r1]
@@ -13031,7 +13031,7 @@ _0809C120:
str r2, [r4]
ldrh r0, [r5]
mov r1, r9
- bl species_and_otid_get_pal
+ bl GetMonSpritePalFromOtIdPersonality
ldr r2, _0809C1D0 @ =0x000011e8
adds r1, r6, r2
str r0, [r1]
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index fea619ac8..859fd177f 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -3859,7 +3859,7 @@ _0809F718:
adds r1, r0, 0
adds r0, r5, 0
adds r2, r6, 0
- bl sub_80409C8
+ bl GetMonSpritePalStructFromOtIdPersonality
adds r4, r0, 0
bl LoadCompressedObjectPalette
ldrh r0, [r4, 0x4]
@@ -7620,7 +7620,7 @@ sub_80A1808: @ 80A1808
ldr r0, _080A1868 @ =sub_80A1888
str r0, [r4]
adds r0, r6, 0
- bl sub_8040A3C
+ bl IsPokeSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _080A186C
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 1062abc48..ce72a83e0 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -17787,7 +17787,7 @@ sub_80F4824: @ 80F4824
adds r0, r5, 0
mov r1, r8
adds r2, r4, 0
- bl species_and_otid_get_pal
+ bl GetMonSpritePalFromOtIdPersonality
mov r2, r9
lsls r1, r2, 7
adds r1, r7, r1
@@ -21564,7 +21564,7 @@ _080F65EA:
lsrs r4, r0, 24
mov r0, r9
mov r1, r10
- bl sub_8040D8C
+ bl ShouldHideGenderIcon
cmp r0, 0
beq _080F65FC
movs r4, 0xFF
diff --git a/asm/secret_base.s b/asm/secret_base.s
deleted file mode 100644
index 9fd741aa0..000000000
--- a/asm/secret_base.s
+++ /dev/null
@@ -1,2528 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
-.section .text_80BC1D0
-
- thumb_func_start sub_80BC474
-sub_80BC474: @ 80BC474
- push {r4-r7,lr}
- ldr r0, _080BC4CC @ =gMapHeader
- ldr r4, [r0, 0x4]
- movs r6, 0
- ldrb r0, [r4, 0x3]
- cmp r6, r0
- bcs _080BC504
- ldr r3, _080BC4D0 @ =gSaveBlock1 + 0x1A08
-_080BC484:
- ldr r2, [r4, 0x10]
- lsls r1, r6, 1
- adds r0, r1, r6
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x5]
- adds r7, r1, 0
- cmp r0, 0x8
- bne _080BC4F8
- ldrb r1, [r3]
- ldr r0, [r2, 0x8]
- cmp r1, r0
- bne _080BC4F8
- ldrh r0, [r2]
- adds r0, 0x7
- ldrh r1, [r2, 0x2]
- adds r1, 0x7
- bl MapGridGetMetatileIdAt
- movs r1, 0
- ldr r5, _080BC4D4 @ =gUnknown_083D1358
- lsls r0, 16
- asrs r2, r0, 16
-_080BC4B2:
- lsls r0, r1, 2
- adds r3, r0, r5
- ldrh r0, [r3, 0x2]
- cmp r0, r2
- beq _080BC4D8
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x6
- bls _080BC4B2
-_080BC4C6:
- bl DrawWholeMapView
- b _080BC504
- .align 2, 0
-_080BC4CC: .4byte gMapHeader
-_080BC4D0: .4byte gSaveBlock1 + 0x1A08
-_080BC4D4: .4byte gUnknown_083D1358
-_080BC4D8:
- ldr r0, [r4, 0x10]
- adds r1, r7, r6
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- ldrh r1, [r1, 0x2]
- adds r1, 0x7
- ldrh r3, [r3]
- movs r4, 0xC0
- lsls r4, 4
- adds r2, r4, 0
- orrs r2, r3
- bl MapGridSetMetatileIdAt
- b _080BC4C6
-_080BC4F8:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r0, [r4, 0x3]
- cmp r6, r0
- bcc _080BC484
-_080BC504:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BC474
-
- thumb_func_start sub_80BC50C
-sub_80BC50C: @ 80BC50C
- push {r4,r5,lr}
- bl sub_80BC474
- movs r0, 0x14
- bl IncrementGameStat
- ldr r4, _080BC530 @ =gSaveBlock1
- ldr r0, _080BC534 @ =0x00001a16
- adds r4, r0
- ldrh r5, [r4]
- movs r0, 0
- bl ResetSecretBase
- strh r5, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC530: .4byte gSaveBlock1
-_080BC534: .4byte 0x00001a16
- thumb_func_end sub_80BC50C
-
- thumb_func_start sub_80BC538
-sub_80BC538: @ 80BC538
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0x1
-_080BC53E:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80BC268
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC554
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080BC554:
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BC53E
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC538
-
- thumb_func_start sub_80BC56C
-sub_80BC56C: @ 80BC56C
- push {lr}
- ldr r0, _080BC58C @ =gUnknown_020387DC
- ldrb r0, [r0]
- bl sub_80BC14C
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BC268
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080BC594
- ldr r0, _080BC590 @ =gScriptResult
- strh r1, [r0]
- b _080BC5B2
- .align 2, 0
-_080BC58C: .4byte gUnknown_020387DC
-_080BC590: .4byte gScriptResult
-_080BC594:
- bl sub_80BC538
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bls _080BC5AC
- ldr r1, _080BC5A8 @ =gScriptResult
- movs r0, 0x2
- b _080BC5B0
- .align 2, 0
-_080BC5A8: .4byte gScriptResult
-_080BC5AC:
- ldr r1, _080BC5B8 @ =gScriptResult
- movs r0, 0
-_080BC5B0:
- strh r0, [r1]
-_080BC5B2:
- pop {r0}
- bx r0
- .align 2, 0
-_080BC5B8: .4byte gScriptResult
- thumb_func_end sub_80BC56C
-
- thumb_func_start sub_80BC5BC
-sub_80BC5BC: @ 80BC5BC
- push {lr}
- ldr r0, _080BC5F8 @ =gUnknown_020387DC
- ldrb r0, [r0]
- bl sub_80BC14C
- ldr r2, _080BC5FC @ =gSaveBlock1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BC600 @ =0x00001a09
- adds r1, r0
- ldrb r3, [r1]
- lsrs r2, r3, 6
- movs r0, 0x1
- eors r2, r0
- lsls r2, 6
- movs r0, 0x3F
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
- movs r0, 0x86
- lsls r0, 1
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_080BC5F8: .4byte gUnknown_020387DC
-_080BC5FC: .4byte gSaveBlock1
-_080BC600: .4byte 0x00001a09
- thumb_func_end sub_80BC5BC
-
- thumb_func_start SecretBasePC_Decoration
-SecretBasePC_Decoration: @ 80BC604
- push {lr}
- ldr r0, _080BC614 @ =Task_SecretBasePC_Decoration
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080BC614: .4byte Task_SecretBasePC_Decoration
- thumb_func_end SecretBasePC_Decoration
-
- thumb_func_start SecretBasePC_Registry
-SecretBasePC_Registry: @ 80BC618
- push {lr}
- ldr r0, _080BC628 @ =Task_SecretBasePC_Registry
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080BC628: .4byte Task_SecretBasePC_Registry
- thumb_func_end SecretBasePC_Registry
-
- thumb_func_start Task_SecretBasePC_Registry
-Task_SecretBasePC_Registry: @ 80BC62C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl ScriptContext2_Enable
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080BC688 @ =gTasks + 0x8
- adds r4, r0, r1
- bl sub_80BC538
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- adds r1, r0, 0
- cmp r1, 0
- beq _080BC694
- cmp r1, 0x7
- ble _080BC65E
- movs r0, 0x7
-_080BC65E:
- strh r0, [r4, 0x6]
- movs r0, 0
- strh r0, [r4, 0x2]
- strh r0, [r4, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl sub_80BC7D8
- ldr r1, _080BC68C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BC690 @ =sub_80BC824
- str r1, [r0]
- b _080BC6A0
- .align 2, 0
-_080BC688: .4byte gTasks + 0x8
-_080BC68C: .4byte gTasks
-_080BC690: .4byte sub_80BC824
-_080BC694:
- ldr r1, _080BC6A8 @ =gSecretBaseText_NoRegistry
- ldr r2, _080BC6AC @ =sub_80BCC54
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080BC6A0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC6A8: .4byte gSecretBaseText_NoRegistry
-_080BC6AC: .4byte sub_80BCC54
- thumb_func_end Task_SecretBasePC_Registry
-
- thumb_func_start sub_80BC6B0
-sub_80BC6B0: @ 80BC6B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080BC6D8 @ =gTasks + 0x8
- adds r1, r0
- mov r8, r1
- movs r4, 0
- movs r6, 0
- movs r5, 0x1
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r6, r0
- bne _080BC6DC
- movs r4, 0x1
- b _080BC706
- .align 2, 0
-_080BC6D8: .4byte gTasks + 0x8
-_080BC6DC:
- adds r0, r5, 0
- bl sub_80BC268
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC6F0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080BC6F0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bhi _080BC706
- mov r1, r8
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r4, r0
- bne _080BC6DC
- adds r4, r5, 0
-_080BC706:
- adds r5, r4, 0
- cmp r5, 0x13
- bhi _080BC75A
- ldr r7, _080BC7A0 @ =gStringVar1
-_080BC70E:
- adds r0, r5, 0
- bl sub_80BC268
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC750
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80BC190
- lsls r3, r6, 1
- adds r4, r3, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r3, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x12
- adds r1, r4, 0
- movs r2, 0x1C
- bl MenuFillWindowRectWithBlankTile
- adds r0, r7, 0
- movs r1, 0x12
- adds r2, r4, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x8
- beq _080BC75A
-_080BC750:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BC70E
-_080BC75A:
- cmp r6, 0x7
- bhi _080BC7A8
- lsls r3, r6, 1
- adds r4, r3, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r3, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x12
- adds r1, r4, 0
- movs r2, 0x1C
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080BC7A4 @ =gUnknownText_Exit
- movs r1, 0x12
- adds r2, r4, 0
- bl MenuPrint
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- cmp r6, 0x7
- beq _080BC7B2
- lsls r1, r6, 25
- movs r0, 0x80
- lsls r0, 19
- adds r1, r0
- lsrs r1, 24
- movs r0, 0x12
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- b _080BC7B2
- .align 2, 0
-_080BC7A0: .4byte gStringVar1
-_080BC7A4: .4byte gUnknownText_Exit
-_080BC7A8:
- movs r0, 0x1
- movs r1, 0xBC
- movs r2, 0x98
- bl CreateVerticalScrollIndicators
-_080BC7B2:
- mov r1, r8
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080BC7C4
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- b _080BC7CE
-_080BC7C4:
- movs r0, 0
- movs r1, 0xBC
- movs r2, 0x8
- bl CreateVerticalScrollIndicators
-_080BC7CE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BC6B0
-
- thumb_func_start sub_80BC7D8
-sub_80BC7D8: @ 80BC7D8
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _080BC820 @ =gTasks + 0x8
- adds r4, r0
- movs r0, 0x11
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldrb r3, [r4, 0x6]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x2]
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x12
- movs r2, 0x2
- bl InitMenu
- adds r0, r5, 0
- bl sub_80BC6B0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC820: .4byte gTasks + 0x8
- thumb_func_end sub_80BC7D8
-
- thumb_func_start sub_80BC824
-sub_80BC824: @ 80BC824
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080BC858 @ =gTasks + 0x8
- adds r4, r0, r1
- ldr r2, _080BC85C @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BC874
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080BC860
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080BC8B6
- .align 2, 0
-_080BC858: .4byte gTasks + 0x8
-_080BC85C: .4byte gMain
-_080BC860:
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080BC940
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- b _080BC8A4
-_080BC874:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BC8C2
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080BC8AE
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _080BC940
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
-_080BC8A4:
- strh r0, [r4, 0x4]
- adds r0, r5, 0
- bl sub_80BC6B0
- b _080BC940
-_080BC8AE:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080BC8B6:
- bl MoveMenuCursor
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2]
- b _080BC940
-_080BC8C2:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BC91C
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080BC8FC
- bl HandleDestroyMenuCursors
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl sub_80BCC54
- b _080BC940
-_080BC8FC:
- bl HandleDestroyMenuCursors
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x2]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BC948
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- adds r0, r5, 0
- bl sub_80BC980
- b _080BC940
-_080BC91C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BC940
- movs r0, 0x5
- bl PlaySE
- bl HandleDestroyMenuCursors
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r6, 0
- bl sub_80BCC54
-_080BC940:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BC824
-
- thumb_func_start sub_80BC948
-sub_80BC948: @ 80BC948
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r4, 0x1
-_080BC952:
- adds r0, r4, 0
- bl sub_80BC268
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC96E
- cmp r6, r5
- bne _080BC968
- adds r0, r4, 0
- b _080BC97A
-_080BC968:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080BC96E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _080BC952
- movs r0, 0
-_080BC97A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC948
-
- thumb_func_start sub_80BC980
-sub_80BC980: @ 80BC980
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl PauseVerticalScrollIndicator
- movs r0, 0x1
- bl PauseVerticalScrollIndicator
- movs r0, 0x1
- movs r1, 0
- movs r2, 0xC
- movs r3, 0x5
- bl MenuDrawTextWindow
- ldr r3, _080BC9D8 @ =gUnknown_083D13D4
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x2
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x1
- movs r3, 0x2
- bl InitMenu
- ldr r1, _080BC9DC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BC9E0 @ =sub_80BC9E4
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC9D8: .4byte gUnknown_083D13D4
-_080BC9DC: .4byte gTasks
-_080BC9E0: .4byte sub_80BC9E4
- thumb_func_end sub_80BC980
-
- thumb_func_start sub_80BC9E4
-sub_80BC9E4: @ 80BC9E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _080BCA14 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BCA18
- bl GetMenuCursorPos
- lsls r0, 24
- cmp r0, 0
- beq _080BCA7C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _080BCA7C
- .align 2, 0
-_080BCA14: .4byte gMain
-_080BCA18:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BCA3A
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BCA7C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _080BCA7C
-_080BCA3A:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BCA68
- movs r0, 0x5
- bl PlaySE
- ldr r4, _080BCA64 @ =gUnknown_083D13D4
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 21
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _080BCA7C
- .align 2, 0
-_080BCA64: .4byte gUnknown_083D13D4
-_080BCA68:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BCA7C
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80BCBF8
-_080BCA7C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BC9E4
-
- thumb_func_start sub_80BCA84
-sub_80BCA84: @ 80BCA84
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _080BCAD8 @ =gTasks + 0x8
- adds r4, r0
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- bl HandleDestroyMenuCursors
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r0, _080BCADC @ =gStringVar1
- ldrb r1, [r4, 0x8]
- bl sub_80BC190
- ldr r4, _080BCAE0 @ =gStringVar4
- ldr r1, _080BCAE4 @ =gOtherText_OkayToDeleteFromRegistry
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080BCAE8 @ =sub_80BCAEC
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCAD8: .4byte gTasks + 0x8
-_080BCADC: .4byte gStringVar1
-_080BCAE0: .4byte gStringVar4
-_080BCAE4: .4byte gOtherText_OkayToDeleteFromRegistry
-_080BCAE8: .4byte sub_80BCAEC
- thumb_func_end sub_80BCA84
-
- thumb_func_start sub_80BCAEC
-sub_80BCAEC: @ 80BCAEC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _080BCB0C @ =gUnknown_083D13E4
- adds r0, r4, 0
- bl DoYesNoFuncWithChoice
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCB0C: .4byte gUnknown_083D13E4
- thumb_func_end sub_80BCAEC
-
- thumb_func_start sub_80BCB10
-sub_80BCB10: @ 80BCB10
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, _080BCB80 @ =gTasks + 0x8
- adds r4, r6, r7
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r2, _080BCB84 @ =gSaveBlock1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r2
- ldr r1, _080BCB88 @ =0x00001a09
- adds r0, r1
- ldrb r2, [r0]
- movs r1, 0x3F
- ands r1, r2
- strb r1, [r0]
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r1, [r4, 0x4]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080BCB5C
- subs r0, r1, 0x1
- strh r0, [r4, 0x4]
-_080BCB5C:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bgt _080BCB6A
- ldrh r0, [r4, 0x6]
- subs r0, 0x1
- strh r0, [r4, 0x6]
-_080BCB6A:
- adds r0, r5, 0
- bl sub_80BC7D8
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _080BCB8C @ =sub_80BC824
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCB80: .4byte gTasks + 0x8
-_080BCB84: .4byte gSaveBlock1
-_080BCB88: .4byte 0x00001a09
-_080BCB8C: .4byte sub_80BC824
- thumb_func_end sub_80BCB10
-
- thumb_func_start sub_80BCB90
-sub_80BCB90: @ 80BCB90
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1A
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r1, _080BCBB8 @ =gOtherText_RegisteredDataDeleted
- ldr r2, _080BCBBC @ =sub_80BCB10
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCBB8: .4byte gOtherText_RegisteredDataDeleted
-_080BCBBC: .4byte sub_80BCB10
- thumb_func_end sub_80BCB90
-
- thumb_func_start sub_80BCBC0
-sub_80BCBC0: @ 80BCBC0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_80BC7D8
- ldr r1, _080BCBF0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BCBF4 @ =sub_80BC824
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCBF0: .4byte gTasks
-_080BCBF4: .4byte sub_80BC824
- thumb_func_end sub_80BCBC0
-
- thumb_func_start sub_80BCBF8
-sub_80BCBF8: @ 80BCBF8
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, _080BCC4C @ =gTasks + 0x8
- adds r0, r4, r5
- ldrb r3, [r0, 0x6]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r0, 0x2]
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x12
- movs r2, 0x2
- bl InitMenu
- movs r0, 0x1
- movs r1, 0
- movs r2, 0xC
- movs r3, 0x5
- bl MenuZeroFillWindowRect
- movs r0, 0
- bl StartVerticalScrollIndicators
- movs r0, 0x1
- bl StartVerticalScrollIndicators
- subs r5, 0x8
- adds r4, r5
- ldr r0, _080BCC50 @ =sub_80BC824
- str r0, [r4]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCC4C: .4byte gTasks + 0x8
-_080BCC50: .4byte sub_80BC824
- thumb_func_end sub_80BCBF8
-
- thumb_func_start sub_80BCC54
-sub_80BCC54: @ 80BCC54
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080BCC84 @ =0x00004054
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl BuyMenuFreeMemory
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- cmp r4, 0
- bne _080BCC8C
- ldr r0, _080BCC88 @ =gUnknown_0815F399
- bl ScriptContext1_SetupScript
- b _080BCC92
- .align 2, 0
-_080BCC84: .4byte 0x00004054
-_080BCC88: .4byte gUnknown_0815F399
-_080BCC8C:
- ldr r0, _080BCCA0 @ =gUnknown_0815F49A
- bl ScriptContext1_SetupScript
-_080BCC92:
- adds r0, r5, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCCA0: .4byte gUnknown_0815F49A
- thumb_func_end sub_80BCC54
-
- thumb_func_start sub_80BCCA4
-sub_80BCCA4: @ 80BCCA4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080BCCDC @ =gSaveBlock1
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 5
- adds r4, r1
- ldr r1, _080BCCE0 @ =0x00001a11
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r1, 0x5
- bl __umodsi3
- ldr r1, _080BCCE4 @ =0x00001a09
- adds r4, r1
- ldrb r2, [r4]
- lsls r2, 27
- lsrs r2, 31
- lsls r1, r2, 2
- adds r1, r2
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080BCCDC: .4byte gSaveBlock1
-_080BCCE0: .4byte 0x00001a11
-_080BCCE4: .4byte 0x00001a09
- thumb_func_end sub_80BCCA4
-
- thumb_func_start sub_80BCCE8
-sub_80BCCE8: @ 80BCCE8
- push {lr}
- ldr r0, _080BCD08 @ =0x00004054
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BCCA4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- bne _080BCD10
- ldr r0, _080BCD0C @ =UnknownString_81A1BB2
- b _080BCD72
- .align 2, 0
-_080BCD08: .4byte 0x00004054
-_080BCD0C: .4byte UnknownString_81A1BB2
-_080BCD10:
- cmp r0, 0x1
- bne _080BCD1C
- ldr r0, _080BCD18 @ =UnknownString_81A1F67
- b _080BCD72
- .align 2, 0
-_080BCD18: .4byte UnknownString_81A1F67
-_080BCD1C:
- cmp r0, 0x2
- bne _080BCD28
- ldr r0, _080BCD24 @ =UnknownString_81A2254
- b _080BCD72
- .align 2, 0
-_080BCD24: .4byte UnknownString_81A2254
-_080BCD28:
- cmp r0, 0x3
- bne _080BCD34
- ldr r0, _080BCD30 @ =UnknownString_81A25C3
- b _080BCD72
- .align 2, 0
-_080BCD30: .4byte UnknownString_81A25C3
-_080BCD34:
- cmp r0, 0x4
- bne _080BCD40
- ldr r0, _080BCD3C @ =UnknownString_81A2925
- b _080BCD72
- .align 2, 0
-_080BCD3C: .4byte UnknownString_81A2925
-_080BCD40:
- cmp r0, 0x5
- bne _080BCD4C
- ldr r0, _080BCD48 @ =UnknownString_81A1D74
- b _080BCD72
- .align 2, 0
-_080BCD48: .4byte UnknownString_81A1D74
-_080BCD4C:
- cmp r0, 0x6
- bne _080BCD58
- ldr r0, _080BCD54 @ =UnknownString_81A20C9
- b _080BCD72
- .align 2, 0
-_080BCD54: .4byte UnknownString_81A20C9
-_080BCD58:
- cmp r0, 0x7
- bne _080BCD64
- ldr r0, _080BCD60 @ =UnknownString_81A2439
- b _080BCD72
- .align 2, 0
-_080BCD60: .4byte UnknownString_81A2439
-_080BCD64:
- cmp r1, 0x8
- beq _080BCD70
- ldr r0, _080BCD6C @ =UnknownString_81A2B2A
- b _080BCD72
- .align 2, 0
-_080BCD6C: .4byte UnknownString_81A2B2A
-_080BCD70:
- ldr r0, _080BCD78 @ =UnknownString_81A2754
-_080BCD72:
- pop {r1}
- bx r1
- .align 2, 0
-_080BCD78: .4byte UnknownString_81A2754
- thumb_func_end sub_80BCCE8
-
- thumb_func_start unref_sub_80BCD7C
-unref_sub_80BCD7C: @ 80BCD7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- ldr r7, _080BCDFC @ =gSaveBlock1
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 5
- ldr r0, _080BCE00 @ =0x00001a3c
- adds r0, r7
- mov r10, r0
- ldr r1, _080BCE04 @ =0x00001a54
- adds r1, r7
- mov r9, r1
- ldr r2, _080BCE08 @ =0x00001a84
- adds r2, r7
- mov r8, r2
- ldr r0, _080BCE0C @ =0x00000115
- mov r12, r0
-_080BCDAA:
- lsls r4, r5, 2
- adds r0, r4, r6
- add r0, r10
- adds r3, r5, 0x1
- str r3, [r0]
- lsls r0, r5, 3
- adds r0, r6
- add r0, r9
- strh r3, [r0]
- lsls r1, r5, 1
- adds r1, r6
- mov r2, r8
- adds r0, r1, r2
- mov r2, r12
- strh r2, [r0]
- ldr r2, _080BCE10 @ =0x00001a90
- adds r0, r7, r2
- adds r1, r0
- strh r3, [r1]
- adds r2, r5, r6
- ldr r1, _080BCE14 @ =0x00001a9c
- adds r0, r7, r1
- adds r0, r2, r0
- adds r1, r5, 0x5
- strb r1, [r0]
- ldr r1, _080BCE18 @ =0x00001aa2
- adds r0, r7, r1
- adds r2, r0
- adds r4, r5
- strb r4, [r2]
- lsls r3, 16
- lsrs r5, r3, 16
- cmp r5, 0
- beq _080BCDAA
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCDFC: .4byte gSaveBlock1
-_080BCE00: .4byte 0x00001a3c
-_080BCE04: .4byte 0x00001a54
-_080BCE08: .4byte 0x00001a84
-_080BCE0C: .4byte 0x00000115
-_080BCE10: .4byte 0x00001a90
-_080BCE14: .4byte 0x00001a9c
-_080BCE18: .4byte 0x00001aa2
- thumb_func_end unref_sub_80BCD7C
-
- thumb_func_start sub_80BCE1C
-sub_80BCE1C: @ 80BCE1C
- push {r4,lr}
- ldr r0, _080BCE44 @ =0x00004054
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x1
- bl sub_810FB10
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 5
- ldr r1, _080BCE48 @ =gSaveBlock1 + 0x1A08
- adds r0, r1
- bl CreateSecretBaseEnemyParty
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCE44: .4byte 0x00004054
-_080BCE48: .4byte gSaveBlock1 + 0x1A08
- thumb_func_end sub_80BCE1C
-
- thumb_func_start sub_80BCE4C
-sub_80BCE4C: @ 80BCE4C
- push {lr}
- ldr r0, _080BCE80 @ =0x00004054
- bl VarGet
- ldr r2, _080BCE84 @ =gSaveBlock1
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BCE88 @ =gScriptResult
- ldrb r0, [r0]
- ldr r2, _080BCE8C @ =0x00001a09
- adds r1, r2
- movs r2, 0x1
- ands r2, r0
- lsls r2, 5
- ldrb r3, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080BCE80: .4byte 0x00004054
-_080BCE84: .4byte gSaveBlock1
-_080BCE88: .4byte gScriptResult
-_080BCE8C: .4byte 0x00001a09
- thumb_func_end sub_80BCE4C
-
- thumb_func_start sub_80BCE90
-sub_80BCE90: @ 80BCE90
- push {r4-r7,lr}
- ldr r0, _080BCF04 @ =0x00004054
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080BCF08 @ =0x000008c2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080BCED4
- movs r3, 0
- ldr r7, _080BCF0C @ =gSaveBlock1
- ldr r4, _080BCF10 @ =0x00001a09
- movs r6, 0x21
- negs r6, r6
-_080BCEB2:
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 5
- adds r1, r7
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x13
- bls _080BCEB2
- ldr r0, _080BCF08 @ =0x000008c2
- bl FlagSet
-_080BCED4:
- ldr r4, _080BCF14 @ =gSpecialVar_0x8004
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80BCCA4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r2, _080BCF18 @ =gScriptResult
- ldr r1, _080BCF0C @ =gSaveBlock1
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- adds r0, r1
- ldr r1, _080BCF10 @ =0x00001a09
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 31
- strh r0, [r2]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCF04: .4byte 0x00004054
-_080BCF08: .4byte 0x000008c2
-_080BCF0C: .4byte gSaveBlock1
-_080BCF10: .4byte 0x00001a09
-_080BCF14: .4byte gSpecialVar_0x8004
-_080BCF18: .4byte gScriptResult
- thumb_func_end sub_80BCE90
-
- thumb_func_start sub_80BCF1C
-sub_80BCF1C: @ 80BCF1C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080BCF40 @ =gTasks + 0x8
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080BCF54
- cmp r0, 0x1
- bgt _080BCF44
- cmp r0, 0
- beq _080BCF4A
- b _080BD02C
- .align 2, 0
-_080BCF40: .4byte gTasks + 0x8
-_080BCF44:
- cmp r0, 0x2
- beq _080BD01C
- b _080BD02C
-_080BCF4A:
- adds r0, r4, 0x4
- adds r1, r4, 0x6
- bl PlayerGetDestCoords
- b _080BD028
-_080BCF54:
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080BCF7C
- movs r0, 0
- ldrsh r1, [r5, r0]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _080BD02C
-_080BCF7C:
- strh r2, [r4, 0x4]
- ldrh r0, [r5]
- strh r0, [r4, 0x6]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8057350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BCFA8
- bl DoYellowCave4Sparkle
- b _080BD02C
-_080BCFA8:
- adds r0, r4, 0
- bl sub_8057314
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BCFD8
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- asrs r0, 16
- mov r1, sp
- movs r3, 0
- ldrsh r1, [r1, r3]
- movs r3, 0
- ldrsh r2, [r5, r3]
- bl sub_80C68A4
- b _080BD02C
-_080BCFD8:
- adds r0, r4, 0
- bl sub_8057328
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BCFF6
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl sub_80C6A54
- b _080BD02C
-_080BCFF6:
- adds r0, r4, 0
- bl sub_805733C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD02C
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- asrs r0, 16
- bl DoDecorationSoundEffect
- b _080BD02C
-_080BD01C:
- ldrb r0, [r4, 0x8]
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080BD02C
-_080BD028:
- movs r0, 0x1
- strh r0, [r4, 0x2]
-_080BD02C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BCF1C
-
- thumb_func_start sub_80BD034
-sub_80BD034: @ 80BD034
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BD064 @ =gSaveBlock1
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 5
- adds r4, r2
- ldr r2, _080BD068 @ =0x00001a08
- adds r0, r4, r2
- movs r2, 0xA0
- bl memcpy
- ldr r0, _080BD06C @ =0x00001a09
- adds r4, r0
- ldrb r1, [r4]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD064: .4byte gSaveBlock1
-_080BD068: .4byte 0x00001a08
-_080BD06C: .4byte 0x00001a09
- thumb_func_end sub_80BD034
-
- thumb_func_start sub_80BD070
-sub_80BD070: @ 80BD070
- push {r4,lr}
- movs r2, 0
- adds r4, r0, 0
- adds r4, 0x9
- adds r3, r1, 0
- adds r3, 0x9
-_080BD07C:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080BD08C
- movs r0, 0
- b _080BD098
-_080BD08C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080BD07C
- movs r0, 0x1
-_080BD098:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD070
-
- thumb_func_start sub_80BD0A0
-sub_80BD0A0: @ 80BD0A0
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- movs r3, 0
- ldrb r0, [r6, 0x2]
- cmp r0, 0xFF
- bne _080BD0B4
- ldrb r0, [r5, 0x2]
- cmp r0, 0xFF
- beq _080BD0E2
-_080BD0B4:
- adds r2, r6, 0x2
- adds r0, r2, r3
- adds r4, r5, 0x2
- adds r1, r4, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080BD0C8
- movs r0, 0
- b _080BD0E4
-_080BD0C8:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x6
- bhi _080BD0E2
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BD0B4
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BD0B4
-_080BD0E2:
- movs r0, 0x1
-_080BD0E4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD0A0
-
- thumb_func_start sub_80BD0EC
-sub_80BD0EC: @ 80BD0EC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r2, [r4, 0x1]
- movs r0, 0x10
- adds r1, r0, 0
- ands r1, r2
- ldrb r2, [r5, 0x1]
- ands r0, r2
- cmp r1, r0
- bne _080BD122
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80BD070
- lsls r0, 24
- cmp r0, 0
- beq _080BD122
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80BD0A0
- lsls r0, 24
- cmp r0, 0
- beq _080BD122
- movs r0, 0x1
- b _080BD124
-_080BD122:
- movs r0, 0
-_080BD124:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD0EC
-
- thumb_func_start sub_80BD12C
-sub_80BD12C: @ 80BD12C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r4, _080BD150 @ =gSaveBlock1
- ldr r3, _080BD154 @ =0x00001a08
-_080BD138:
- lsls r0, r1, 16
- asrs r1, r0, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r4
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080BD158
- adds r0, r1, 0
- b _080BD168
- .align 2, 0
-_080BD150: .4byte gSaveBlock1
-_080BD154: .4byte 0x00001a08
-_080BD158:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BD138
- movs r0, 0x1
- negs r0, r0
-_080BD168:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD12C
-
- thumb_func_start sub_80BD170
-sub_80BD170: @ 80BD170
- push {r4,lr}
- movs r2, 0x1
- ldr r4, _080BD194 @ =gSaveBlock1
- ldr r3, _080BD198 @ =0x00001a08
-_080BD178:
- lsls r0, r2, 16
- asrs r1, r0, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r4
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BD19C
- lsls r0, r2, 24
- lsrs r0, 24
- b _080BD1AA
- .align 2, 0
-_080BD194: .4byte gSaveBlock1
-_080BD198: .4byte 0x00001a08
-_080BD19C:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BD178
- movs r0, 0
-_080BD1AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD170
-
- thumb_func_start sub_80BD1B0
-sub_80BD1B0: @ 80BD1B0
- push {r4,lr}
- movs r3, 0x1
- ldr r4, _080BD1DC @ =gSaveBlock1
-_080BD1B6:
- lsls r2, r3, 16
- asrs r1, r2, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r4
- ldr r1, _080BD1E0 @ =0x00001a09
- adds r0, r1
- ldrb r1, [r0]
- lsrs r0, r1, 6
- cmp r0, 0
- bne _080BD1E4
- lsls r0, r1, 28
- cmp r0, 0
- bne _080BD1E4
- lsls r0, r3, 24
- lsrs r0, 24
- b _080BD1F4
- .align 2, 0
-_080BD1DC: .4byte gSaveBlock1
-_080BD1E0: .4byte 0x00001a09
-_080BD1E4:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r2, r1
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BD1B6
- movs r0, 0
-_080BD1F4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD1B0
-
- thumb_func_start sub_80BD1FC
-sub_80BD1FC: @ 80BD1FC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080BD278
- ldrb r0, [r5]
- bl sub_80BD12C
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- beq _080BD278
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080BD254
- ldr r0, _080BD24C @ =gSaveBlock1
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 5
- adds r1, r0
- ldr r0, _080BD250 @ =0x00001a09
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 28
- lsrs r0, 28
- cmp r0, 0x1
- beq _080BD278
- lsrs r0, r1, 6
- cmp r0, 0x2
- bne _080BD246
- ldrb r1, [r5, 0x1]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _080BD278
-_080BD246:
- lsls r4, 24
- lsrs r4, 24
- b _080BD26C
- .align 2, 0
-_080BD24C: .4byte gSaveBlock1
-_080BD250: .4byte 0x00001a09
-_080BD254:
- bl sub_80BD170
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080BD26C
- bl sub_80BD1B0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080BD278
-_080BD26C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80BD034
- adds r0, r4, 0
- b _080BD27A
-_080BD278:
- movs r0, 0
-_080BD27A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD1FC
-
- thumb_func_start sub_80BD280
-sub_80BD280: @ 80BD280
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xA0
- ldr r0, _080BD324 @ =gSaveBlock1 + 0x1A08
- mov r8, r0
- movs r2, 0x1
-_080BD290:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r5, r0, 24
- mov r9, r1
- cmp r5, 0x13
- bhi _080BD30C
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 5
- mov r1, r8
- adds r6, r0, r1
- movs r7, 0xC0
-_080BD2A8:
- ldrb r0, [r6, 0x1]
- adds r3, r7, 0
- ands r3, r0
- cmp r3, 0
- bne _080BD2C6
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 5
- add r0, r8
- ldrb r1, [r0, 0x1]
- adds r0, r7, 0
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0x40
- beq _080BD2DE
-_080BD2C6:
- cmp r3, 0x80
- bne _080BD302
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 5
- add r0, r8
- ldrb r1, [r0, 0x1]
- adds r0, r7, 0
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0x80
- beq _080BD302
-_080BD2DE:
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0xA0
- bl memcpy
- adds r4, r5
- lsls r4, 5
- add r4, r8
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0xA0
- bl memcpy
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0xA0
- bl memcpy
-_080BD302:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD2A8
-_080BD30C:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bls _080BD290
- add sp, 0xA0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD324: .4byte gSaveBlock1 + 0x1A08
- thumb_func_end sub_80BD280
-
- thumb_func_start sub_80BD328
-sub_80BD328: @ 80BD328
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0x1
-_080BD332:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 5
- adds r1, r0, r6
- ldrb r0, [r1, 0x1]
- lsrs r0, 6
- cmp r0, r5
- bne _080BD348
- adds r0, r1, 0
- bl sub_80BD1FC
-_080BD348:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _080BD332
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD328
-
- thumb_func_start sub_80BD358
-sub_80BD358: @ 80BD358
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080BD372
- ldrb r0, [r5, 0x1]
- lsls r0, 27
- ldr r1, _080BD378 @ =gSaveBlock2
- lsrs r0, 31
- adds r4, r1, 0
- ldrb r1, [r4, 0x8]
- cmp r0, r1
- beq _080BD37C
-_080BD372:
- movs r0, 0
- b _080BD3D4
- .align 2, 0
-_080BD378: .4byte gSaveBlock2
-_080BD37C:
- movs r2, 0
- adds r3, r5, 0
- adds r3, 0x9
- adds r6, r4, 0
- adds r6, 0xA
-_080BD386:
- adds r0, r3, r2
- adds r1, r2, r6
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080BD372
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080BD386
- movs r2, 0
- ldrb r0, [r5, 0x2]
- cmp r0, 0xFF
- bne _080BD3AA
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080BD3D2
-_080BD3AA:
- adds r3, r5, 0x2
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080BD372
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bhi _080BD3D2
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BD3AA
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BD3AA
-_080BD3D2:
- movs r0, 0x1
-_080BD3D4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD358
-
- thumb_func_start sub_80BD3DC
-sub_80BD3DC: @ 80BD3DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- mov r9, r1
- mov r8, r2
- movs r5, 0
- movs r6, 0
-_080BD3F0:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- bne _080BD41A
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 5
- mov r1, r10
- adds r4, r1, r0
- adds r0, r4, 0
- bl sub_80BD358
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD41A
- adds r0, r4, 0
- bl sub_80BB4AC
- movs r0, 0x1
- orrs r5, r0
-_080BD41A:
- movs r7, 0x2
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- bne _080BD448
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 5
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- bl sub_80BD358
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD448
- adds r0, r4, 0
- bl sub_80BB4AC
- orrs r5, r7
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080BD448:
- movs r7, 0x4
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- bne _080BD476
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 5
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- bl sub_80BD358
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD476
- adds r0, r4, 0
- bl sub_80BB4AC
- orrs r5, r7
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080BD476:
- cmp r5, 0x7
- beq _080BD484
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x13
- bls _080BD3F0
-_080BD484:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD3DC
-
- thumb_func_start sub_80BD494
-sub_80BD494: @ 80BD494
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- movs r5, 0
-_080BD4A4:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- mov r1, r8
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080BD4FE
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80BD0EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD4FE
- cmp r7, 0
- bne _080BD4D0
- adds r0, r4, 0
- bl sub_80BB4AC
- b _080BD508
-_080BD4D0:
- ldrh r0, [r6, 0xE]
- ldrh r3, [r4, 0xE]
- cmp r0, r3
- bls _080BD4E0
- adds r0, r4, 0
- bl sub_80BB4AC
- b _080BD508
-_080BD4E0:
- ldrb r0, [r6, 0x1]
- lsls r0, 28
- lsrs r0, 28
- ldrb r1, [r4, 0x1]
- movs r3, 0x10
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x1]
- adds r0, r6, 0
- bl sub_80BB4AC
- movs r0, 0x1
- b _080BD50A
-_080BD4FE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD4A4
-_080BD508:
- movs r0, 0
-_080BD50A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD494
-
- thumb_func_start sub_80BD514
-sub_80BD514: @ 80BD514
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- adds r7, r1, 0
- mov r8, r2
- adds r6, r3, 0
- movs r5, 0x1
-_080BD526:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- mov r1, r9
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080BD578
- ldrb r1, [r4, 0x1]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- bne _080BD54E
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
-_080BD54E:
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl sub_80BD494
- lsls r0, 24
- cmp r0, 0
- bne _080BD578
- adds r0, r4, 0
- mov r1, r8
- adds r2, r5, 0
- bl sub_80BD494
- lsls r0, 24
- cmp r0, 0
- bne _080BD578
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80BD494
-_080BD578:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD526
- movs r5, 0
-_080BD584:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- adds r4, r0, r7
- ldrb r0, [r4]
- cmp r0, 0
- beq _080BD5B8
- ldrb r0, [r4, 0x1]
- movs r2, 0x21
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- mov r1, r8
- adds r2, r5, 0
- bl sub_80BD494
- lsls r0, 24
- cmp r0, 0
- bne _080BD5B8
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80BD494
-_080BD5B8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD584
- movs r5, 0
- movs r0, 0x21
- negs r0, r0
- adds r7, r0, 0
-_080BD5CA:
- lsls r0, r5, 2
- adds r0, r5
- lsls r4, r0, 5
- mov r2, r8
- adds r1, r4, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BD5EA
- ldrb r0, [r1, 0x1]
- ands r0, r7
- strb r0, [r1, 0x1]
- adds r0, r1, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80BD494
-_080BD5EA:
- adds r1, r4, r6
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BD5F8
- ldrb r0, [r1, 0x1]
- ands r0, r7
- strb r0, [r1, 0x1]
-_080BD5F8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD5CA
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD514
-
- thumb_func_start sub_80BD610
-sub_80BD610: @ 80BD610
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl sub_80BD3DC
- ldr r0, _080BD670 @ =gSaveBlock1 + 0x1A08
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80BD514
- adds r0, r4, 0
- bl sub_80BD1FC
- adds r0, r5, 0
- bl sub_80BD1FC
- adds r0, r6, 0
- bl sub_80BD1FC
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80BD328
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80BD328
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80BD328
- adds r0, r4, 0
- movs r1, 0
- bl sub_80BD328
- adds r0, r5, 0
- movs r1, 0
- bl sub_80BD328
- adds r0, r6, 0
- movs r1, 0
- bl sub_80BD328
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD670: .4byte gSaveBlock1 + 0x1A08
- thumb_func_end sub_80BD610
-
- thumb_func_start sub_80BD674
-sub_80BD674: @ 80BD674
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r7, r2, 24
- movs r0, 0x60
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080BD68C
- b _080BD790
-_080BD68C:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080BD69E
- cmp r0, 0x3
- beq _080BD6BA
- b _080BD6C8
-_080BD69E:
- lsls r4, r5, 1
- adds r0, r6, r4
- movs r1, 0
- adds r2, r5, 0
- bl memset
- adds r4, r5
- adds r4, r6, r4
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl memset
- b _080BD6C8
-_080BD6BA:
- lsls r0, r5, 1
- adds r0, r5
- adds r0, r6, r0
- movs r1, 0
- adds r2, r5, 0
- bl memset
-_080BD6C8:
- cmp r7, 0x1
- beq _080BD6F0
- cmp r7, 0x1
- bgt _080BD6D6
- cmp r7, 0
- beq _080BD6E0
- b _080BD71C
-_080BD6D6:
- cmp r7, 0x2
- beq _080BD700
- cmp r7, 0x3
- beq _080BD710
- b _080BD71C
-_080BD6E0:
- adds r0, r6, r5
- lsls r2, r5, 1
- adds r1, r6, r2
- adds r2, r5
- adds r2, r6, r2
- bl sub_80BD610
- b _080BD71C
-_080BD6F0:
- lsls r1, r5, 1
- adds r0, r6, r1
- adds r1, r5
- adds r1, r6, r1
- adds r2, r6, 0
- bl sub_80BD610
- b _080BD71C
-_080BD700:
- lsls r0, r5, 1
- adds r0, r5
- adds r0, r6, r0
- adds r2, r6, r5
- adds r1, r6, 0
- bl sub_80BD610
- b _080BD71C
-_080BD710:
- adds r1, r6, r5
- lsls r2, r5, 1
- adds r2, r6, r2
- adds r0, r6, 0
- bl sub_80BD610
-_080BD71C:
- movs r3, 0x1
- ldr r6, _080BD798 @ =gSaveBlock1
- movs r5, 0x10
- negs r5, r5
- ldr r4, _080BD79C @ =0x00001a09
-_080BD726:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 5
- adds r0, r6
- adds r2, r0, r4
- ldrb r1, [r2]
- lsls r0, r1, 28
- lsrs r0, 28
- cmp r0, 0x1
- bne _080BD746
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- ands r0, r5
- strb r0, [r2]
-_080BD746:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x13
- bls _080BD726
- bl sub_80BD280
- movs r3, 0x1
- ldr r4, _080BD798 @ =gSaveBlock1
- ldr r6, _080BD79C @ =0x00001a09
- adds r7, r4, 0
- movs r5, 0x3F
-_080BD75E:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 5
- adds r0, r4
- adds r2, r0, r6
- ldrb r1, [r2]
- lsrs r0, r1, 6
- cmp r0, 0x2
- bne _080BD776
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
-_080BD776:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x13
- bls _080BD75E
- ldr r0, _080BD7A0 @ =0x00001a16
- adds r2, r7, r0
- ldrh r1, [r2]
- ldr r0, _080BD7A4 @ =0x0000ffff
- cmp r1, r0
- beq _080BD790
- adds r0, r1, 0x1
- strh r0, [r2]
-_080BD790:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD798: .4byte gSaveBlock1
-_080BD79C: .4byte 0x00001a09
-_080BD7A0: .4byte 0x00001a16
-_080BD7A4: .4byte 0x0000ffff
- thumb_func_end sub_80BD674
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
index 46af5bc0f..bebe3633e 100644
--- a/asm/slot_machine.s
+++ b/asm/slot_machine.s
@@ -10098,13 +10098,13 @@ sub_81063C0: @ 81063C0
ldr r0, _081063F0 @ =gSlotMachineReelTimeLights_Gfx
ldr r4, _081063F4 @ =0x02010000
adds r1, r4, 0
- bl sub_800D238
+ bl LZDecompressWram
ldr r0, _081063F8 @ =gUnknown_083EDE8C
movs r1, 0xC8
lsls r1, 6
adds r4, r1
adds r1, r4, 0
- bl sub_800D238
+ bl LZDecompressWram
ldr r0, _081063FC @ =gUnknown_083EDC2C
bl LoadSpriteSheets
ldr r0, _08106400 @ =gSlotMachineSpritePalettes
diff --git a/asm/trade.s b/asm/trade.s
deleted file mode 100644
index b07a3b632..000000000
--- a/asm/trade.s
+++ /dev/null
@@ -1,12050 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
-.ifdef ENGLISH
- .set sub_804A96C_alt, sub_804A96C
-.endif
-
- thumb_func_start sub_8047CD8
-sub_8047CD8: @ 8047CD8
- push {lr}
- ldr r0, _08047CE4 @ =sub_8047EC0
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08047CE4: .4byte sub_8047EC0
- thumb_func_end sub_8047CD8
-
- thumb_func_start sub_8047CE8
-sub_8047CE8: @ 8047CE8
- push {r4-r6,lr}
- ldr r6, _08047D44 @ =gWindowConfig_81E725C
- ldr r5, _08047D48 @ =gUnknown_020296CC
- ldr r1, [r5]
- ldr r2, _08047D4C @ =gSaveBlock2
- adds r0, r6, 0
- movs r3, 0xC
- bl sub_804AFB8
- bl GetMultiplayerId
- lsls r0, 24
- ldr r1, [r5, 0xC]
- movs r3, 0x80
- lsls r3, 17
- eors r3, r0
- lsrs r3, 24
- lsls r2, r3, 3
- subs r2, r3
- lsls r2, 2
- ldr r0, _08047D50 @ =gLinkPlayers + 0x8
- adds r2, r0
- adds r0, r6, 0
- movs r3, 0xC
- bl sub_804AFB8
- ldr r1, [r5, 0x18]
- ldr r4, _08047D54 @ =gUnknown_0820C14C
- ldr r2, [r4]
- adds r0, r6, 0
- movs r3, 0x8
- bl sub_804AFB8
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x20]
- movs r2, 0x14
- bl sub_804ACD8
- movs r0, 0x3
- movs r1, 0
- bl nullsub_5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08047D44: .4byte gWindowConfig_81E725C
-_08047D48: .4byte gUnknown_020296CC
-_08047D4C: .4byte gSaveBlock2
-_08047D50: .4byte gLinkPlayers + 0x8
-_08047D54: .4byte gUnknown_0820C14C
- thumb_func_end sub_8047CE8
-
- thumb_func_start sub_8047D58
-sub_8047D58: @ 8047D58
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- ldr r0, _08047E30 @ =gSaveBlock2
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- cmp r0, 0x5
- bls _08047D72
- movs r1, 0x1
-_08047D72:
- movs r5, 0
- lsls r2, r1, 2
- mov r6, sp
- ldr r0, _08047E34 @ =gTradeUnknownSpriteCoords
- adds r1, r0, 0x1
- adds r1, r2
- mov r8, r1
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r4, r0, 16
-_08047D86:
- mov r1, sp
- ldr r0, _08047E38 @ =gSpriteTemplate_820C0EC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldrh r0, [r6]
- adds r0, r5
- strh r0, [r6]
- asrs r1, r4, 16
- mov r0, sp
- mov r3, r8
- ldrb r2, [r3]
- movs r3, 0x1
- bl CreateSprite
- movs r7, 0x80
- lsls r7, 14
- adds r4, r7
- adds r5, 0x1
- cmp r5, 0x2
- ble _08047D86
- bl GetMultiplayerId
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- eors r1, r0
- lsrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _08047E3C @ =gLinkPlayers + 0x8
- adds r0, r1
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- cmp r0, 0x5
- bls _08047DDA
- movs r1, 0x1
-_08047DDA:
- movs r5, 0
- lsls r2, r1, 2
- mov r6, sp
- ldr r0, _08047E40 @ =gTradeUnknownSpriteCoords + 0x3
- adds r1, r2, r0
- mov r8, r1
- subs r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r4, r0, 16
-_08047DEE:
- mov r1, sp
- ldr r0, _08047E38 @ =gSpriteTemplate_820C0EC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r5, 0x3
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r6]
- asrs r1, r4, 16
- mov r0, sp
- mov r3, r8
- ldrb r2, [r3]
- movs r3, 0x1
- bl CreateSprite
- movs r7, 0x80
- lsls r7, 14
- adds r4, r7
- adds r5, 0x1
- cmp r5, 0x2
- ble _08047DEE
- movs r0, 0x5
- movs r1, 0
- bl nullsub_5
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047E30: .4byte gSaveBlock2
-_08047E34: .4byte gTradeUnknownSpriteCoords
-_08047E38: .4byte gSpriteTemplate_820C0EC
-_08047E3C: .4byte gLinkPlayers + 0x8
-_08047E40: .4byte gTradeUnknownSpriteCoords + 0x3
- thumb_func_end sub_8047D58
-
- thumb_func_start sub_8047E44
-sub_8047E44: @ 8047E44
- push {r4-r7,lr}
- sub sp, 0x18
- movs r4, 0
- mov r5, sp
- movs r6, 0xD6
- lsls r6, 16
-_08047E50:
- mov r1, sp
- ldr r0, _08047EBC @ =gSpriteTemplate_820C0EC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r4, 0x6
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- asrs r1, r6, 16
- mov r0, sp
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- movs r2, 0x80
- lsls r2, 14
- adds r6, r2
- adds r4, 0x1
- cmp r4, 0x1
- ble _08047E50
- movs r4, 0
- mov r5, sp
- movs r6, 0xC0
- lsls r6, 13
-_08047E84:
- mov r1, sp
- ldr r0, _08047EBC @ =gSpriteTemplate_820C0EC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r4, 0
- adds r0, 0x8
- ldrh r3, [r5]
- adds r0, r3
- strh r0, [r5]
- asrs r1, r6, 16
- mov r0, sp
- movs r2, 0x96
- movs r3, 0x1
- bl CreateSprite
- movs r7, 0x80
- lsls r7, 14
- adds r6, r7
- adds r4, 0x1
- cmp r4, 0x4
- ble _08047E84
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047EBC: .4byte gSpriteTemplate_820C0EC
- thumb_func_end sub_8047E44
-
- thumb_func_start sub_8047EC0
-sub_8047EC0: @ 8047EC0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- ldr r1, _08047EE4 @ =gMain
- ldr r2, _08047EE8 @ =0x0000043c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x15
- bls _08047ED8
- b _080484C6
-_08047ED8:
- lsls r0, 2
- ldr r1, _08047EEC @ =_08047EF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08047EE4: .4byte gMain
-_08047EE8: .4byte 0x0000043c
-_08047EEC: .4byte _08047EF0
- .align 2, 0
-_08047EF0:
- .4byte _08047F48
- .4byte _08048048
- .4byte _080480B4
- .4byte _080480E0
- .4byte _08048130
- .4byte _08048160
- .4byte _08048172
- .4byte _080482B4
- .4byte _080482DC
- .4byte _08048300
- .4byte _08048328
- .4byte _0804834C
- .4byte _08048360
- .4byte _080483B8
- .4byte _08048400
- .4byte _08048418
- .4byte _08048430
- .4byte _08048448
- .4byte _0804845A
- .4byte _08048470
- .4byte _08048488
- .4byte _080484A8
-_08047F48:
- ldr r5, _08048018 @ =gUnknown_03004824
- ldr r6, _0804801C @ =0x02017000
- str r6, [r5]
- bl sub_804AA88
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, [r5]
- adds r0, 0xC8
- ldr r1, _08048020 @ =0x06002800
- bl sub_804A964
- ldr r0, _08048024 @ =sub_80489F4
- bl SetVBlankCallback
- ldr r0, _08048028 @ =gWindowConfig_81E6CE4
- bl InitMenuWindow
- ldr r4, _0804802C @ =gWindowConfig_81E6F84
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, [r5]
- adds r0, 0x4
- adds r1, r4, 0
- bl InitWindowFromConfig
- movs r0, 0x14
- bl SetTextWindowBaseTileNum
- ldr r1, [r5]
- adds r1, 0x7A
- movs r4, 0
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x4
- bl LoadTextWindowGraphics
- bl MenuZeroFillScreen
- bl sub_809D51C
- ldr r0, [r5]
- adds r0, 0x75
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7C
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x80
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x81
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x86
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x87
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0xB4
- strb r4, [r0]
- ldr r0, _08048030 @ =gUnknown_03000508
- strb r4, [r0]
- ldr r1, _08048034 @ =gMain
- ldr r3, _08048038 @ =0x0000043c
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- bl sub_804AA0C
- add r0, sp, 0x10
- strh r4, [r0]
- movs r0, 0xC0
- lsls r0, 7
- adds r1, r6, r0
- ldr r2, _0804803C @ =0x01000680
- add r0, sp, 0x10
- bl CpuSet
- ldr r1, _08048040 @ =gUnknown_020296CC
- movs r2, 0xD8
- lsls r2, 7
- adds r6, r2
- adds r0, r1, 0
- adds r0, 0x30
- ldr r2, _08048044 @ =0xffffff00
-_0804800A:
- str r6, [r0]
- adds r6, r2
- subs r0, 0x4
- cmp r0, r1
- bge _0804800A
- b _080484C6
- .align 2, 0
-_08048018: .4byte gUnknown_03004824
-_0804801C: .4byte 0x02017000
-_08048020: .4byte 0x06002800
-_08048024: .4byte sub_80489F4
-_08048028: .4byte gWindowConfig_81E6CE4
-_0804802C: .4byte gWindowConfig_81E6F84
-_08048030: .4byte gUnknown_03000508
-_08048034: .4byte gMain
-_08048038: .4byte 0x0000043c
-_0804803C: .4byte 0x01000680
-_08048040: .4byte gUnknown_020296CC
-_08048044: .4byte 0xffffff00
-_08048048:
- ldr r1, _08048098 @ =gLinkType
- ldr r3, _0804809C @ =0x00001122
- adds r0, r3, 0
- strh r0, [r1]
- bl OpenLink
- movs r6, 0
- movs r4, 0
-_08048058:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080480A0 @ =gEnemyParty
- adds r0, r1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0
- movs r2, 0
- movs r3, 0x20
- bl CreateMon
- adds r6, 0x1
- cmp r6, 0x5
- ble _08048058
- ldr r1, _080480A4 @ =gMain
- ldr r0, _080480A8 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, _080480AC @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xB4
- strb r2, [r0]
- ldr r0, _080480B0 @ =sub_8083C50
- movs r1, 0x1
- bl CreateTask
- b _080484C6
- .align 2, 0
-_08048098: .4byte gLinkType
-_0804809C: .4byte 0x00001122
-_080480A0: .4byte gEnemyParty
-_080480A4: .4byte gMain
-_080480A8: .4byte 0x0000043c
-_080480AC: .4byte gUnknown_03004824
-_080480B0: .4byte sub_8083C50
-_080480B4:
- ldr r2, _080480D8 @ =gUnknown_03004824
- ldr r1, [r2]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0xB4
- ldrb r0, [r1]
- cmp r0, 0xB
- bhi _080480CE
- b _080484C6
-_080480CE:
- movs r0, 0
- strb r0, [r1]
- ldr r2, _080480DC @ =0x0000043c
- adds r1, r3, r2
- b _08048498
- .align 2, 0
-_080480D8: .4byte gUnknown_03004824
-_080480DC: .4byte 0x0000043c
-_080480E0:
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl sub_800820C
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcs _080480F4
- b _080484C6
-_080480F4:
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _08048120
- ldr r0, _0804811C @ =gUnknown_03004824
- ldr r1, [r0]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bhi _08048114
- b _080484C6
-_08048114:
- bl sub_8007F4C
- b _08048492
- .align 2, 0
-_0804811C: .4byte gUnknown_03004824
-_08048120:
- ldr r1, _08048128 @ =gMain
- ldr r0, _0804812C @ =0x0000043c
- adds r1, r0
- b _08048498
- .align 2, 0
-_08048128: .4byte gMain
-_0804812C: .4byte 0x0000043c
-_08048130:
- ldr r0, _08048154 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0804813A
- b _080484C6
-_0804813A:
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08048148
- b _080484C6
-_08048148:
- bl CalculatePlayerPartyCount
- ldr r1, _08048158 @ =gMain
- ldr r2, _0804815C @ =0x0000043c
- adds r1, r2
- b _08048498
- .align 2, 0
-_08048154: .4byte gReceivedRemoteLinkPlayers
-_08048158: .4byte gMain
-_0804815C: .4byte 0x0000043c
-_08048160:
- bl sub_8048D44
- lsls r0, 24
- cmp r0, 0
- bne _0804816C
- b _080484C6
-_0804816C:
- bl sub_804AF84
- b _08048492
-_08048172:
- bl CalculateEnemyPartyCount
- ldr r4, _08048294 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x1D
- str r1, [sp]
- movs r1, 0x13
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- ldr r0, [r4]
- ldr r1, _08048298 @ =gPlayerPartyCount
- ldrb r1, [r1]
- adds r0, 0x42
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _0804829C @ =gEnemyPartyCount
- ldrb r1, [r1]
- adds r0, 0x43
- strb r1, [r0]
- movs r6, 0
- ldr r0, [r4]
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r6, r0
- bge _08048216
- mov r8, r4
- ldr r7, _080482A0 @ =gTradeMonSpriteCoords
-_080481BA:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _080482A4 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r1, 0xE0
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, _080482A8 @ =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- ldr r1, _080482AC @ =sub_809D62C
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x34
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r6, r0
- blt _080481BA
-_08048216:
- movs r6, 0
- ldr r1, _08048294 @ =gUnknown_03004824
- ldr r0, [r1]
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r6, r0
- bge _0804828A
- ldr r0, _080482A0 @ =gTradeMonSpriteCoords
- mov r8, r1
- adds r7, r0, 0
- adds r7, 0xC
-_0804822C:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _080482B0 @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r3, 0xE0
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, _080482A8 @ =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- ldr r1, _080482AC @ =sub_809D62C
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x3A
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r6, r0
- blt _0804822C
-_0804828A:
- movs r0, 0x2
- movs r1, 0
- bl nullsub_5
- b _08048492
- .align 2, 0
-_08048294: .4byte gUnknown_03004824
-_08048298: .4byte gPlayerPartyCount
-_0804829C: .4byte gEnemyPartyCount
-_080482A0: .4byte gTradeMonSpriteCoords
-_080482A4: .4byte gPlayerParty
-_080482A8: .4byte 0xfff40000
-_080482AC: .4byte sub_809D62C
-_080482B0: .4byte gEnemyParty
-_080482B4:
- bl LoadHeldItemIconGraphics
- ldr r0, _080482D0 @ =gUnknown_03004824
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x42
- adds r1, 0x34
- movs r2, 0
- bl CreateHeldItemIcons
- ldr r1, _080482D4 @ =gMain
- ldr r0, _080482D8 @ =0x0000043c
- adds r1, r0
- b _08048498
- .align 2, 0
-_080482D0: .4byte gUnknown_03004824
-_080482D4: .4byte gMain
-_080482D8: .4byte 0x0000043c
-_080482DC:
- ldr r0, _080482F4 @ =gUnknown_03004824
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x42
- adds r1, 0x34
- movs r2, 0x1
- bl CreateHeldItemIcons
- ldr r1, _080482F8 @ =gMain
- ldr r2, _080482FC @ =0x0000043c
- adds r1, r2
- b _08048498
- .align 2, 0
-_080482F4: .4byte gUnknown_03004824
-_080482F8: .4byte gMain
-_080482FC: .4byte 0x0000043c
-_08048300:
- bl sub_8047CE8
- ldr r1, _0804831C @ =gMain
- ldr r3, _08048320 @ =0x0000043c
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, _08048324 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xB4
- strb r2, [r0]
- b _080484C6
- .align 2, 0
-_0804831C: .4byte gMain
-_08048320: .4byte 0x0000043c
-_08048324: .4byte gUnknown_03004824
-_08048328:
- movs r0, 0x4
- movs r1, 0
- bl nullsub_5
- bl sub_804ABF8
- lsls r0, 24
- cmp r0, 0
- bne _0804833C
- b _080484C6
-_0804833C:
- ldr r1, _08048344 @ =gMain
- ldr r0, _08048348 @ =0x0000043c
- adds r1, r0
- b _08048498
- .align 2, 0
-_08048344: .4byte gMain
-_08048348: .4byte 0x0000043c
-_0804834C:
- bl sub_8047D58
- ldr r1, _08048358 @ =gMain
- ldr r2, _0804835C @ =0x0000043c
- adds r1, r2
- b _08048498
- .align 2, 0
-_08048358: .4byte gMain
-_0804835C: .4byte 0x0000043c
-_08048360:
- bl sub_8047E44
- ldr r0, _080483A4 @ =gSpriteTemplate_820C134
- ldr r2, _080483A8 @ =gTradeMonSpriteCoords
- ldrb r1, [r2]
- lsls r1, 19
- movs r3, 0x80
- lsls r3, 14
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2, 0x1]
- lsls r2, 3
- movs r3, 0x2
- bl CreateSprite
- ldr r2, _080483AC @ =gUnknown_03004824
- ldr r1, [r2]
- adds r1, 0x40
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x41
- strb r3, [r0]
- ldr r1, _080483B0 @ =gMain
- ldr r0, _080483B4 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x6
- movs r1, 0
- bl nullsub_5
- b _080484C6
- .align 2, 0
-_080483A4: .4byte gSpriteTemplate_820C134
-_080483A8: .4byte gTradeMonSpriteCoords
-_080483AC: .4byte gUnknown_03004824
-_080483B0: .4byte gMain
-_080483B4: .4byte 0x0000043c
-_080483B8:
- movs r0, 0
- bl sub_804ACF4
- movs r0, 0
- bl sub_804A41C
- ldr r2, _080483F0 @ =gUnknown_03004824
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- bl sub_8048C70
- ldr r1, _080483F4 @ =gMain
- ldr r2, _080483F8 @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x7
- movs r1, 0
- bl nullsub_5
- ldr r0, _080483FC @ =0x000001b3
- bl PlayBGM
- b _080484C6
- .align 2, 0
-_080483F0: .4byte gUnknown_03004824
-_080483F4: .4byte gMain
-_080483F8: .4byte 0x0000043c
-_080483FC: .4byte 0x000001b3
-_08048400:
- movs r0, 0x1
- bl sub_804ACF4
- movs r0, 0x1
- bl sub_804A41C
- ldr r1, _08048428 @ =gMain
- ldr r3, _0804842C @ =0x0000043c
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08048418:
- movs r0, 0
- bl sub_8048B0C
- ldr r1, _08048428 @ =gMain
- ldr r0, _0804842C @ =0x0000043c
- adds r1, r0
- b _08048498
- .align 2, 0
-_08048428: .4byte gMain
-_0804842C: .4byte 0x0000043c
-_08048430:
- movs r0, 0x1
- bl sub_8048B0C
- ldr r1, _08048440 @ =gMain
- ldr r2, _08048444 @ =0x0000043c
- adds r1, r2
- b _08048498
- .align 2, 0
-_08048440: .4byte gMain
-_08048444: .4byte 0x0000043c
-_08048448:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08048492
-_0804845A:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0804846C @ =0x0000043c
- adds r1, r3, r0
- b _08048498
- .align 2, 0
-_0804846C: .4byte 0x0000043c
-_08048470:
- movs r0, 0
- bl sub_804AE3C
- ldr r1, _08048480 @ =gMain
- ldr r2, _08048484 @ =0x0000043c
- adds r1, r2
- b _08048498
- .align 2, 0
-_08048480: .4byte gMain
-_08048484: .4byte 0x0000043c
-_08048488:
- movs r0, 0x1
- bl sub_804AE3C
- bl sub_804AF10
-_08048492:
- ldr r1, _080484A0 @ =gMain
- ldr r3, _080484A4 @ =0x0000043c
- adds r1, r3
-_08048498:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080484C6
- .align 2, 0
-_080484A0: .4byte gMain
-_080484A4: .4byte 0x0000043c
-_080484A8:
- ldr r0, _080484E4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080484C6
- ldr r0, _080484E8 @ =sub_80494D8
- str r0, [r3]
- ldr r0, _080484EC @ =sub_8048AB4
- bl SetMainCallback2
- ldr r0, _080484F0 @ =gUnknown_03000508
- strb r4, [r0]
-_080484C6:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080484E4: .4byte gPaletteFade
-_080484E8: .4byte sub_80494D8
-_080484EC: .4byte sub_8048AB4
-_080484F0: .4byte gUnknown_03000508
- thumb_func_end sub_8047EC0
-
- thumb_func_start sub_80484F4
-sub_80484F4: @ 80484F4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r1, _08048518 @ =gMain
- ldr r2, _0804851C @ =0x0000043c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x15
- bls _0804850C
- b _080489CA
-_0804850C:
- lsls r0, 2
- ldr r1, _08048520 @ =_08048524
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08048518: .4byte gMain
-_0804851C: .4byte 0x0000043c
-_08048520: .4byte _08048524
- .align 2, 0
-_08048524:
- .4byte _0804857C
- .4byte _0804865C
- .4byte _08048668
- .4byte _08048674
- .4byte _08048680
- .4byte _08048694
- .4byte _080486A0
- .4byte _080487E8
- .4byte _08048810
- .4byte _08048834
- .4byte _0804885C
- .4byte _08048880
- .4byte _08048894
- .4byte _080489CA
- .4byte _080489CA
- .4byte _08048914
- .4byte _0804891C
- .4byte _08048950
- .4byte _08048970
- .4byte _08048988
- .4byte _08048994
- .4byte _080489B0
-_0804857C:
- ldr r5, _08048630 @ =gUnknown_03004824
- ldr r6, _08048634 @ =0x02017000
- str r6, [r5]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, [r5]
- adds r0, 0xC8
- ldr r1, _08048638 @ =0x06002800
- bl sub_804A964
- ldr r0, _0804863C @ =sub_80489F4
- bl SetVBlankCallback
- ldr r0, _08048640 @ =gWindowConfig_81E6CE4
- bl InitMenuWindow
- ldr r4, _08048644 @ =gWindowConfig_81E6F84
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, [r5]
- adds r0, 0x4
- adds r1, r4, 0
- bl InitWindowFromConfig
- movs r0, 0x14
- bl SetTextWindowBaseTileNum
- ldr r1, [r5]
- adds r1, 0x7A
- movs r4, 0
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x4
- bl LoadTextWindowGraphics
- bl MenuZeroFillScreen
- bl sub_809D51C
- ldr r0, [r5]
- adds r0, 0x75
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7C
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x80
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x81
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x86
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x87
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0xB4
- strb r4, [r0]
- ldr r0, _08048648 @ =gUnknown_03000508
- strb r4, [r0]
- ldr r1, _0804864C @ =gMain
- ldr r3, _08048650 @ =0x0000043c
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, _08048654 @ =gUnknown_020296CC
- movs r5, 0xD8
- lsls r5, 7
- adds r6, r5
- adds r0, r1, 0
- adds r0, 0x30
- ldr r2, _08048658 @ =0xffffff00
-_08048622:
- str r6, [r0]
- adds r6, r2
- subs r0, 0x4
- cmp r0, r1
- bge _08048622
- b _080489CA
- .align 2, 0
-_08048630: .4byte gUnknown_03004824
-_08048634: .4byte 0x02017000
-_08048638: .4byte 0x06002800
-_0804863C: .4byte sub_80489F4
-_08048640: .4byte gWindowConfig_81E6CE4
-_08048644: .4byte gWindowConfig_81E6F84
-_08048648: .4byte gUnknown_03000508
-_0804864C: .4byte gMain
-_08048650: .4byte 0x0000043c
-_08048654: .4byte gUnknown_020296CC
-_08048658: .4byte 0xffffff00
-_0804865C:
- ldr r0, _08048664 @ =0x0000043c
- adds r1, r2, r0
- b _0804883E
- .align 2, 0
-_08048664: .4byte 0x0000043c
-_08048668:
- ldr r3, _08048670 @ =0x0000043c
- adds r1, r2, r3
- b _0804899E
- .align 2, 0
-_08048670: .4byte 0x0000043c
-_08048674:
- ldr r5, _0804867C @ =0x0000043c
- adds r1, r2, r5
- b _0804899E
- .align 2, 0
-_0804867C: .4byte 0x0000043c
-_08048680:
- bl CalculatePlayerPartyCount
- ldr r1, _0804868C @ =gMain
- ldr r0, _08048690 @ =0x0000043c
- adds r1, r0
- b _0804899E
- .align 2, 0
-_0804868C: .4byte gMain
-_08048690: .4byte 0x0000043c
-_08048694:
- ldr r3, _0804869C @ =0x0000043c
- adds r1, r2, r3
- b _0804899E
- .align 2, 0
-_0804869C: .4byte 0x0000043c
-_080486A0:
- bl CalculateEnemyPartyCount
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- ldr r4, _080487C0 @ =gUnknown_03004824
- ldr r0, [r4]
- ldr r1, _080487C4 @ =gPlayerPartyCount
- ldrb r1, [r1]
- adds r0, 0x42
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080487C8 @ =gEnemyPartyCount
- ldrb r1, [r1]
- adds r0, 0x43
- strb r1, [r0]
- movs r0, 0
- bl sub_804A41C
- movs r0, 0x1
- bl sub_804A41C
- movs r6, 0
- ldr r0, [r4]
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r6, r0
- bge _0804873C
- mov r8, r4
- ldr r7, _080487CC @ =gTradeMonSpriteCoords
-_080486DE:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _080487D0 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r1, 0xE0
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, _080487D4 @ =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- ldr r1, _080487D8 @ =sub_809D62C
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x34
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r6, r0
- blt _080486DE
-_0804873C:
- movs r6, 0
- ldr r1, _080487C0 @ =gUnknown_03004824
- ldr r0, [r1]
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r6, r0
- bge _080487B0
- ldr r0, _080487CC @ =gTradeMonSpriteCoords
- mov r8, r1
- adds r7, r0, 0
- adds r7, 0xC
-_08048752:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _080487DC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r3, 0xE0
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, _080487D4 @ =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- ldr r1, _080487D8 @ =sub_809D62C
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x3A
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r6, r0
- blt _08048752
-_080487B0:
- movs r0, 0x2
- movs r1, 0
- bl nullsub_5
- ldr r1, _080487E0 @ =gMain
- ldr r3, _080487E4 @ =0x0000043c
- adds r1, r3
- b _0804899E
- .align 2, 0
-_080487C0: .4byte gUnknown_03004824
-_080487C4: .4byte gPlayerPartyCount
-_080487C8: .4byte gEnemyPartyCount
-_080487CC: .4byte gTradeMonSpriteCoords
-_080487D0: .4byte gPlayerParty
-_080487D4: .4byte 0xfff40000
-_080487D8: .4byte sub_809D62C
-_080487DC: .4byte gEnemyParty
-_080487E0: .4byte gMain
-_080487E4: .4byte 0x0000043c
-_080487E8:
- bl LoadHeldItemIconGraphics
- ldr r0, _08048804 @ =gUnknown_03004824
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x42
- adds r1, 0x34
- movs r2, 0
- bl CreateHeldItemIcons
- ldr r1, _08048808 @ =gMain
- ldr r5, _0804880C @ =0x0000043c
- adds r1, r5
- b _0804899E
- .align 2, 0
-_08048804: .4byte gUnknown_03004824
-_08048808: .4byte gMain
-_0804880C: .4byte 0x0000043c
-_08048810:
- ldr r0, _08048828 @ =gUnknown_03004824
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x42
- adds r1, 0x34
- movs r2, 0x1
- bl CreateHeldItemIcons
- ldr r1, _0804882C @ =gMain
- ldr r0, _08048830 @ =0x0000043c
- adds r1, r0
- b _0804899E
- .align 2, 0
-_08048828: .4byte gUnknown_03004824
-_0804882C: .4byte gMain
-_08048830: .4byte 0x0000043c
-_08048834:
- bl sub_8047CE8
- ldr r1, _08048850 @ =gMain
- ldr r2, _08048854 @ =0x0000043c
- adds r1, r2
-_0804883E:
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, _08048858 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xB4
- strb r2, [r0]
- b _080489CA
- .align 2, 0
-_08048850: .4byte gMain
-_08048854: .4byte 0x0000043c
-_08048858: .4byte gUnknown_03004824
-_0804885C:
- movs r0, 0x4
- movs r1, 0
- bl nullsub_5
- bl sub_804ABF8
- lsls r0, 24
- cmp r0, 0
- bne _08048870
- b _080489CA
-_08048870:
- ldr r1, _08048878 @ =gMain
- ldr r3, _0804887C @ =0x0000043c
- adds r1, r3
- b _0804899E
- .align 2, 0
-_08048878: .4byte gMain
-_0804887C: .4byte 0x0000043c
-_08048880:
- bl sub_8047D58
- ldr r1, _0804888C @ =gMain
- ldr r5, _08048890 @ =0x0000043c
- adds r1, r5
- b _0804899E
- .align 2, 0
-_0804888C: .4byte gMain
-_08048890: .4byte 0x0000043c
-_08048894:
- bl sub_8047E44
- ldr r2, _080488AC @ =0x02018000
- ldr r0, _080488B0 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x41
- ldrb r0, [r1]
- cmp r0, 0x5
- bhi _080488B4
- ldrb r0, [r2, 0x9]
- b _080488B8
- .align 2, 0
-_080488AC: .4byte 0x02018000
-_080488B0: .4byte gUnknown_03004824
-_080488B4:
- ldrb r0, [r2, 0x9]
- adds r0, 0x6
-_080488B8:
- strb r0, [r1]
- ldr r0, _08048900 @ =gSpriteTemplate_820C134
- ldr r3, _08048904 @ =gTradeMonSpriteCoords
- ldr r4, _08048908 @ =gUnknown_03004824
- ldr r1, [r4]
- adds r1, 0x41
- ldrb r2, [r1]
- lsls r2, 1
- adds r1, r2, r3
- ldrb r1, [r1]
- lsls r1, 19
- movs r5, 0x80
- lsls r5, 14
- adds r1, r5
- asrs r1, 16
- adds r3, 0x1
- adds r2, r3
- ldrb r2, [r2]
- lsls r2, 3
- movs r3, 0x2
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x40
- strb r0, [r1]
- ldr r0, _0804890C @ =gMain
- ldr r1, _08048910 @ =0x0000043c
- adds r0, r1
- movs r1, 0xF
- strb r1, [r0]
- movs r0, 0x6
- movs r1, 0
- bl nullsub_5
- b _080489CA
- .align 2, 0
-_08048900: .4byte gSpriteTemplate_820C134
-_08048904: .4byte gTradeMonSpriteCoords
-_08048908: .4byte gUnknown_03004824
-_0804890C: .4byte gMain
-_08048910: .4byte 0x0000043c
-_08048914:
- movs r0, 0
- bl sub_8048B0C
- b _08048998
-_0804891C:
- movs r0, 0x1
- bl sub_8048B0C
- ldr r2, _08048944 @ =gUnknown_03004824
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- bl sub_8048C70
- movs r0, 0x7
- movs r1, 0
- bl nullsub_5
- ldr r1, _08048948 @ =gMain
- ldr r3, _0804894C @ =0x0000043c
- adds r1, r3
- b _0804899E
- .align 2, 0
-_08048944: .4byte gUnknown_03004824
-_08048948: .4byte gMain
-_0804894C: .4byte 0x0000043c
-_08048950:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _08048968 @ =gMain
- ldr r5, _0804896C @ =0x0000043c
- adds r1, r5
- b _0804899E
- .align 2, 0
-_08048968: .4byte gMain
-_0804896C: .4byte 0x0000043c
-_08048970:
- movs r1, 0x80
- lsls r1, 19
- movs r3, 0xFA
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r1]
- ldr r5, _08048984 @ =0x0000043c
- adds r1, r2, r5
- b _0804899E
- .align 2, 0
-_08048984: .4byte 0x0000043c
-_08048988:
- ldr r0, _08048990 @ =0x0000043c
- adds r1, r2, r0
- b _0804899E
- .align 2, 0
-_08048990: .4byte 0x0000043c
-_08048994:
- bl sub_804AF10
-_08048998:
- ldr r1, _080489A8 @ =gMain
- ldr r2, _080489AC @ =0x0000043c
- adds r1, r2
-_0804899E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080489CA
- .align 2, 0
-_080489A8: .4byte gMain
-_080489AC: .4byte 0x0000043c
-_080489B0:
- ldr r0, _080489E8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080489CA
- ldr r0, _080489EC @ =sub_8048AB4
- bl SetMainCallback2
- ldr r0, _080489F0 @ =gUnknown_03000508
- strb r4, [r0]
-_080489CA:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080489E8: .4byte gPaletteFade
-_080489EC: .4byte sub_8048AB4
-_080489F0: .4byte gUnknown_03000508
- thumb_func_end sub_80484F4
-
- thumb_func_start sub_80489F4
-sub_80489F4: @ 80489F4
- push {lr}
- ldr r0, _08048A10 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xC8
- bl sub_804A940
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_08048A10: .4byte gUnknown_03004824
- thumb_func_end sub_80489F4
-
- thumb_func_start sub_8048A14
-sub_8048A14: @ 8048A14
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _08048A4C @ =gUnknown_03004824
- ldr r1, [r4]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _08048A44
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0xA
- strb r1, [r0]
-_08048A44:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048A4C: .4byte gUnknown_03004824
- thumb_func_end sub_8048A14
-
- thumb_func_start sub_8048A50
-sub_8048A50: @ 8048A50
- push {r4,lr}
- ldr r0, _08048A84 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08048A7E
- ldr r2, _08048A88 @ =gUnknown_020297D8
- ldr r4, _08048A8C @ =gUnknown_03004824
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x41
- ldrb r1, [r1]
- strb r1, [r2]
- adds r0, 0x8A
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- bl sub_800832C
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0xD
- strb r1, [r0]
-_08048A7E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048A84: .4byte gPaletteFade
-_08048A88: .4byte gUnknown_020297D8
-_08048A8C: .4byte gUnknown_03004824
- thumb_func_end sub_8048A50
-
- thumb_func_start sub_8048A90
-sub_8048A90: @ 8048A90
- push {lr}
- ldr r0, _08048AA8 @ =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _08048AA4
- ldr r0, _08048AAC @ =gMain
- str r1, [r0]
- ldr r0, _08048AB0 @ =sub_804B41C
- bl SetMainCallback2
-_08048AA4:
- pop {r0}
- bx r0
- .align 2, 0
-_08048AA8: .4byte gReceivedRemoteLinkPlayers
-_08048AAC: .4byte gMain
-_08048AB0: .4byte sub_804B41C
- thumb_func_end sub_8048A90
-
- thumb_func_start sub_8048AB4
-sub_8048AB4: @ 8048AB4
- push {r4,lr}
- bl sub_8049DE0
- bl sub_804AB30
- movs r0, 0
- bl sub_8049ED4
- movs r0, 0x1
- bl sub_8049ED4
- ldr r4, _08048B04 @ =REG_BG2HOFS
- ldr r3, _08048B08 @ =gUnknown_03004824
- ldr r2, [r3]
- ldrb r0, [r2]
- adds r1, r0, 0x1
- strb r1, [r2]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- adds r4, 0x4
- ldr r2, [r3]
- ldrb r0, [r2, 0x1]
- adds r1, r0, 0
- adds r1, 0xFF
- strb r1, [r2, 0x1]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048B04: .4byte REG_BG2HOFS
-_08048B08: .4byte gUnknown_03004824
- thumb_func_end sub_8048AB4
-
- thumb_func_start sub_8048B0C
-sub_8048B0C: @ 8048B0C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08048B1C
- cmp r0, 0x1
- beq _08048BD0
- b _08048C3A
-_08048B1C:
- ldr r5, _08048BA0 @ =gUnknown_08EA0348
- ldr r0, _08048BA4 @ =gTradeStripesBG2Tilemap
- mov r12, r0
- ldr r1, _08048BA8 @ =gUnknown_08EA02C8
- ldr r4, _08048BAC @ =gPlttBufferFaded
- ldr r3, _08048BB0 @ =gPlttBufferUnfaded
- movs r2, 0x2F
-_08048B2A:
- ldrh r0, [r1]
- strh r0, [r3]
- ldrh r0, [r1]
- strh r0, [r4]
- adds r1, 0x2
- adds r4, 0x2
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08048B2A
- adds r3, r5, 0
- movs r4, 0xC0
- lsls r4, 19
- movs r5, 0x94
- lsls r5, 5
- ldr r1, _08048BB4 @ =0x040000d4
- ldr r6, _08048BB8 @ =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_08048B54:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _08048B54
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- ldr r5, _08048BBC @ =0x000003ff
- ldr r4, _08048BC0 @ =gUnknown_03004824
- ldr r3, _08048BC4 @ =gUnknown_08EA15C8
-_08048B7A:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0xDA
- adds r0, r1
- ldrh r1, [r3]
- strh r1, [r0]
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, r5
- ble _08048B7A
- ldr r1, _08048BC8 @ =0x06003000
- ldr r0, _08048BB4 @ =0x040000d4
- mov r2, r12
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _08048BCC @ =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _08048C3A
- .align 2, 0
-_08048BA0: .4byte gUnknown_08EA0348
-_08048BA4: .4byte gTradeStripesBG2Tilemap
-_08048BA8: .4byte gUnknown_08EA02C8
-_08048BAC: .4byte gPlttBufferFaded
-_08048BB0: .4byte gPlttBufferUnfaded
-_08048BB4: .4byte 0x040000d4
-_08048BB8: .4byte 0x80000800
-_08048BBC: .4byte 0x000003ff
-_08048BC0: .4byte gUnknown_03004824
-_08048BC4: .4byte gUnknown_08EA15C8
-_08048BC8: .4byte 0x06003000
-_08048BCC: .4byte 0x80000400
-_08048BD0:
- ldr r1, _08048C40 @ =gTradeStripesBG3Tilemap
- ldr r2, _08048C44 @ =0x06003800
- ldr r0, _08048C48 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08048C4C @ =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- movs r0, 0
- bl sub_804A6DC
- movs r0, 0x1
- bl sub_804A6DC
- ldr r0, _08048C50 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xC8
- bl sub_804A938
- ldr r2, _08048C54 @ =REG_BG0CNT
- ldrh r1, [r2]
- ldr r0, _08048C58 @ =0x0000fffc
- ands r0, r1
- strh r0, [r2]
- ldr r1, _08048C5C @ =REG_BG1CNT
- ldr r2, _08048C60 @ =0x00000501
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _08048C64 @ =0x00000602
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _08048C68 @ =0x00000703
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08048C6C @ =REG_BG0HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0xA
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
-_08048C3A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08048C40: .4byte gTradeStripesBG3Tilemap
-_08048C44: .4byte 0x06003800
-_08048C48: .4byte 0x040000d4
-_08048C4C: .4byte 0x80000400
-_08048C50: .4byte gUnknown_03004824
-_08048C54: .4byte REG_BG0CNT
-_08048C58: .4byte 0x0000fffc
-_08048C5C: .4byte REG_BG1CNT
-_08048C60: .4byte 0x00000501
-_08048C64: .4byte 0x00000602
-_08048C68: .4byte 0x00000703
-_08048C6C: .4byte REG_BG0HOFS
- thumb_func_end sub_8048B0C
-
- thumb_func_start sub_8048C70
-sub_8048C70: @ 8048C70
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r3, 0
- ldr r5, _08048CC0 @ =gUnknown_03004824
- mov r8, r5
- ldr r0, _08048CC4 @ =gSprites
- mov r12, r0
- movs r1, 0x5
- negs r1, r1
- mov r9, r1
- movs r4, 0x6
- movs r7, 0x1
- movs r6, 0
-_08048C8E:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x42
- ldrb r1, [r1]
- cmp r3, r1
- bge _08048CC8
- adds r0, 0x34
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x44
- adds r0, r3
- strb r7, [r0]
- b _08048CCE
- .align 2, 0
-_08048CC0: .4byte gUnknown_03004824
-_08048CC4: .4byte gSprites
-_08048CC8:
- adds r0, 0x44
- adds r0, r3
- strb r6, [r0]
-_08048CCE:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x43
- ldrb r1, [r1]
- cmp r3, r1
- bge _08048CFE
- adds r0, 0x3A
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x44
- adds r0, r4
- strb r7, [r0]
- b _08048D04
-_08048CFE:
- adds r0, 0x44
- adds r0, r4
- strb r6, [r0]
-_08048D04:
- adds r4, 0x1
- adds r3, 0x1
- cmp r3, 0x5
- ble _08048C8E
- ldr r0, [r5]
- adds r0, 0x50
- movs r1, 0x1
- strb r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8048C70
-
- thumb_func_start nullsub_5
-nullsub_5: @ 8048D20
- bx lr
- thumb_func_end nullsub_5
-
- thumb_func_start sub_8048D24
-sub_8048D24: @ 8048D24
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r3, 0
- cmp r3, r2
- bcs _08048D3E
-_08048D30:
- adds r0, r5, r3
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, r2
- bcc _08048D30
-_08048D3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8048D24
-
- thumb_func_start sub_8048D44
-sub_8048D44: @ 8048D44
- push {r4-r7,lr}
- sub sp, 0xC
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, _08048D90 @ =gUnknown_03004824
- ldr r0, [r6]
- adds r0, 0x75
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0x64
- bl __udivsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x64
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetLinkDebugValues
- ldr r0, [r6]
- adds r0, 0x75
- ldrb r0, [r0]
- cmp r0, 0x10
- bls _08048D86
- b _0804907C
-_08048D86:
- lsls r0, 2
- ldr r1, _08048D94 @ =_08048D98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08048D90: .4byte gUnknown_03004824
-_08048D94: .4byte _08048D98
- .align 2, 0
-_08048D98:
- .4byte _08048DDC
- .4byte _08048DF8
- .4byte _08048E28
- .4byte _08048E3C
- .4byte _08048E74
- .4byte _08048E90
- .4byte _08048EA4
- .4byte _08048EDC
- .4byte _08048EF8
- .4byte _08048F0C
- .4byte _08048F44
- .4byte _08048F60
- .4byte _08048F74
- .4byte _08048FAC
- .4byte _08048FC8
- .4byte _08048FDC
- .4byte _08049018
-_08048DDC:
- ldr r0, _08048DEC @ =gBlockSendBuffer
- ldr r1, _08048DF0 @ =gPlayerParty
- movs r2, 0xC8
- bl sub_8048D24
- ldr r0, _08048DF4 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048DEC: .4byte gBlockSendBuffer
-_08048DF0: .4byte gPlayerParty
-_08048DF4: .4byte gUnknown_03004824
-_08048DF8:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _08048E04
- b _0804907C
-_08048E04:
- bl GetBlockReceivedStatus
- lsls r0, 24
- cmp r0, 0
- bne _08048E18
- ldr r0, _08048E14 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E14: .4byte gUnknown_03004824
-_08048E18:
- bl ResetBlockReceivedFlags
- ldr r0, _08048E24 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E24: .4byte gUnknown_03004824
-_08048E28:
- cmp r7, 0
- bne _08048E32
- movs r0, 0x1
- bl sub_8007E9C
-_08048E32:
- ldr r0, _08048E38 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E38: .4byte gUnknown_03004824
-_08048E3C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048E4A
- b _0804907C
-_08048E4A:
- ldr r0, _08048E68 @ =gEnemyParty
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08048E6C @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r0, _08048E70 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E68: .4byte gEnemyParty
-_08048E6C: .4byte gBlockRecvBuffer
-_08048E70: .4byte gUnknown_03004824
-_08048E74:
- ldr r0, _08048E84 @ =gBlockSendBuffer
- ldr r1, _08048E88 @ =gPlayerParty + 2 * 0x64
- movs r2, 0xC8
- bl sub_8048D24
- ldr r0, _08048E8C @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E84: .4byte gBlockSendBuffer
-_08048E88: .4byte gPlayerParty + 2 * 0x64
-_08048E8C: .4byte gUnknown_03004824
-_08048E90:
- cmp r7, 0
- bne _08048E9A
- movs r0, 0x1
- bl sub_8007E9C
-_08048E9A:
- ldr r0, _08048EA0 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048EA0: .4byte gUnknown_03004824
-_08048EA4:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048EB2
- b _0804907C
-_08048EB2:
- ldr r0, _08048ED0 @ =gEnemyParty + 2 * 0x64
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08048ED4 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r0, _08048ED8 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048ED0: .4byte gEnemyParty + 2 * 0x64
-_08048ED4: .4byte gBlockRecvBuffer
-_08048ED8: .4byte gUnknown_03004824
-_08048EDC:
- ldr r0, _08048EEC @ =gBlockSendBuffer
- ldr r1, _08048EF0 @ =gPlayerParty + 4 * 0x64
- movs r2, 0xC8
- bl sub_8048D24
- ldr r0, _08048EF4 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048EEC: .4byte gBlockSendBuffer
-_08048EF0: .4byte gPlayerParty + 4 * 0x64
-_08048EF4: .4byte gUnknown_03004824
-_08048EF8:
- cmp r7, 0
- bne _08048F02
- movs r0, 0x1
- bl sub_8007E9C
-_08048F02:
- ldr r0, _08048F08 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048F08: .4byte gUnknown_03004824
-_08048F0C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048F1A
- b _0804907C
-_08048F1A:
- ldr r0, _08048F38 @ =gEnemyParty + 4 * 0x64
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08048F3C @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r0, _08048F40 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048F38: .4byte gEnemyParty + 4 * 0x64
-_08048F3C: .4byte gBlockRecvBuffer
-_08048F40: .4byte gUnknown_03004824
-_08048F44:
- ldr r0, _08048F54 @ =gBlockSendBuffer
- ldr r1, _08048F58 @ =gSaveBlock1 + 0x2B4C
- movs r2, 0xDC
- bl sub_8048D24
- ldr r0, _08048F5C @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048F54: .4byte gBlockSendBuffer
-_08048F58: .4byte gSaveBlock1 + 0x2B4C
-_08048F5C: .4byte gUnknown_03004824
-_08048F60:
- cmp r7, 0
- bne _08048F6A
- movs r0, 0x3
- bl sub_8007E9C
-_08048F6A:
- ldr r0, _08048F70 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048F70: .4byte gUnknown_03004824
-_08048F74:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048F82
- b _0804907C
-_08048F82:
- ldr r0, _08048FA0 @ =gUnknown_02029700
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08048FA4 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xD8
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r0, _08048FA8 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048FA0: .4byte gUnknown_02029700
-_08048FA4: .4byte gBlockRecvBuffer
-_08048FA8: .4byte gUnknown_03004824
-_08048FAC:
- ldr r0, _08048FBC @ =gBlockSendBuffer
- ldr r1, _08048FC0 @ =gSaveBlock1 + 0x3110
- movs r2, 0xB
- bl sub_8048D24
- ldr r0, _08048FC4 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048FBC: .4byte gBlockSendBuffer
-_08048FC0: .4byte gSaveBlock1 + 0x3110
-_08048FC4: .4byte gUnknown_03004824
-_08048FC8:
- cmp r7, 0
- bne _08048FD2
- movs r0, 0x4
- bl sub_8007E9C
-_08048FD2:
- ldr r0, _08048FD8 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048FD8: .4byte gUnknown_03004824
-_08048FDC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0804907C
- ldr r4, _08049010 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0xB5
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08049014 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xB
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r1, [r4]
-_08049006:
- adds r1, 0x75
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804907C
- .align 2, 0
-_08049010: .4byte gUnknown_03004824
-_08049014: .4byte gBlockRecvBuffer
-_08049018:
- ldr r4, _0804906C @ =gEnemyParty
- ldr r6, _08049070 @ =0x0000012f
- movs r5, 0x5
-_0804901E:
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _0804905E
- cmp r0, r6
- bne _0804905E
- adds r0, r4, 0
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x1
- beq _0804905E
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- ldr r1, _08049074 @ =gUnknown_0820C3B0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _0804905E
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, _08049078 @ =gSpeciesNames + 0xD05
- bl SetMonData
-_0804905E:
- adds r4, 0x64
- subs r5, 0x1
- cmp r5, 0
- bge _0804901E
- movs r0, 0x1
- b _0804907E
- .align 2, 0
-_0804906C: .4byte gEnemyParty
-_08049070: .4byte 0x0000012f
-_08049074: .4byte gUnknown_0820C3B0
-_08049078: .4byte gSpeciesNames + 0xD05
-_0804907C:
- movs r0, 0
-_0804907E:
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8048D44
-
- thumb_func_start sub_8049088
-sub_8049088: @ 8049088
- push {lr}
- sub sp, 0x1C
- ldr r1, _080490B0 @ =gTradeText_TradeOkayPrompt
- mov r0, sp
- bl StringCopy
- ldr r0, _080490B4 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7E
- ldrh r1, [r0]
- lsls r1, 5
- ldr r0, _080490B8 @ =0x06010000
- adds r1, r0
- mov r0, sp
- movs r2, 0x14
- bl sub_804ACD8
- add sp, 0x1C
- pop {r0}
- bx r0
- .align 2, 0
-_080490B0: .4byte gTradeText_TradeOkayPrompt
-_080490B4: .4byte gUnknown_03004824
-_080490B8: .4byte 0x06010000
- thumb_func_end sub_8049088
-
- thumb_func_start sub_80490BC
-sub_80490BC: @ 80490BC
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r3, 0x1
- adds r0, r4, 0
- ands r0, r3
- cmp r0, 0
- beq _08049148
- ldr r1, _080490EC @ =gBlockRecvBuffer
- lsls r0, r2, 8
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _080490F0 @ =0x0000bbbb
- cmp r1, r0
- beq _08049128
- cmp r1, r0
- bgt _080490F8
- ldr r0, _080490F4 @ =0x0000aabb
- cmp r1, r0
- beq _08049118
- b _08049142
- .align 2, 0
-_080490EC: .4byte gBlockRecvBuffer
-_080490F0: .4byte 0x0000bbbb
-_080490F4: .4byte 0x0000aabb
-_080490F8:
- ldr r0, _0804910C @ =0x0000bbcc
- cmp r1, r0
- beq _08049138
- ldr r0, _08049110 @ =0x0000eeaa
- cmp r1, r0
- bne _08049142
- ldr r0, _08049114 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x84
- b _0804913E
- .align 2, 0
-_0804910C: .4byte 0x0000bbcc
-_08049110: .4byte 0x0000eeaa
-_08049114: .4byte gUnknown_03004824
-_08049118:
- ldr r0, _08049124 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x84
- strb r3, [r0]
- b _08049142
- .align 2, 0
-_08049124: .4byte gUnknown_03004824
-_08049128:
- ldr r0, _08049134 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x86
- strb r3, [r0]
- b _08049142
- .align 2, 0
-_08049134: .4byte gUnknown_03004824
-_08049138:
- ldr r0, _08049170 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x86
-_0804913E:
- movs r1, 0x2
- strb r1, [r0]
-_08049142:
- movs r0, 0
- bl ResetBlockReceivedFlag
-_08049148:
- movs r2, 0x2
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _080491DA
- ldr r3, _08049174 @ =gBlockRecvBuffer
- movs r1, 0x80
- lsls r1, 1
- adds r0, r3, r1
- ldrh r1, [r0]
- ldr r0, _08049178 @ =0x0000bbbb
- cmp r1, r0
- beq _080491BC
- cmp r1, r0
- bgt _08049180
- ldr r0, _0804917C @ =0x0000aabb
- cmp r1, r0
- beq _080491A0
- b _080491D4
- .align 2, 0
-_08049170: .4byte gUnknown_03004824
-_08049174: .4byte gBlockRecvBuffer
-_08049178: .4byte 0x0000bbbb
-_0804917C: .4byte 0x0000aabb
-_08049180:
- ldr r0, _08049194 @ =0x0000bbcc
- cmp r1, r0
- beq _080491CC
- ldr r0, _08049198 @ =0x0000eeaa
- cmp r1, r0
- bne _080491D4
- ldr r0, _0804919C @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x85
- b _080491D2
- .align 2, 0
-_08049194: .4byte 0x0000bbcc
-_08049198: .4byte 0x0000eeaa
-_0804919C: .4byte gUnknown_03004824
-_080491A0:
- ldr r2, _080491B8 @ =gUnknown_03004824
- ldr r1, [r2]
- movs r4, 0x81
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- adds r0, 0x6
- adds r1, 0x8A
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x85
- b _080491C2
- .align 2, 0
-_080491B8: .4byte gUnknown_03004824
-_080491BC:
- ldr r0, _080491C8 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x87
-_080491C2:
- movs r1, 0x1
- strb r1, [r0]
- b _080491D4
- .align 2, 0
-_080491C8: .4byte gUnknown_03004824
-_080491CC:
- ldr r0, _080491E0 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x87
-_080491D2:
- strb r2, [r0]
-_080491D4:
- movs r0, 0x1
- bl ResetBlockReceivedFlag
-_080491DA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080491E0: .4byte gUnknown_03004824
- thumb_func_end sub_80490BC
-
- thumb_func_start sub_80491E4
-sub_80491E4: @ 80491E4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _080492BE
- ldr r2, _08049210 @ =gBlockRecvBuffer
- ldrh r1, [r2]
- ldr r0, _08049214 @ =0x0000ddee
- cmp r1, r0
- beq _080492A8
- cmp r1, r0
- bgt _08049220
- ldr r0, _08049218 @ =0x0000ccdd
- cmp r1, r0
- beq _08049288
- ldr r0, _0804921C @ =0x0000dddd
- cmp r1, r0
- beq _0804925C
- b _080492B8
- .align 2, 0
-_08049210: .4byte gBlockRecvBuffer
-_08049214: .4byte 0x0000ddee
-_08049218: .4byte 0x0000ccdd
-_0804921C: .4byte 0x0000dddd
-_08049220:
- ldr r0, _08049230 @ =0x0000eebb
- cmp r1, r0
- beq _08049234
- adds r0, 0x11
- cmp r1, r0
- beq _08049258
- b _080492B8
- .align 2, 0
-_08049230: .4byte 0x0000eebb
-_08049234:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- bl sub_804AA0C
- ldr r0, _08049254 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7B
- movs r1, 0xB
- b _080492B6
- .align 2, 0
-_08049254: .4byte gUnknown_03004824
-_08049258:
- movs r0, 0x5
- b _080492AA
-_0804925C:
- ldr r4, _08049284 @ =gUnknown_03004824
- ldr r1, [r4]
- ldrb r0, [r2, 0x2]
- adds r0, 0x6
- adds r1, 0x8A
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x41
- ldrb r0, [r0]
- bl sub_8049E9C
- ldr r0, [r4]
- adds r0, 0x8A
- ldrb r0, [r0]
- bl sub_8049E9C
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0x7
- b _080492B6
- .align 2, 0
-_08049284: .4byte gUnknown_03004824
-_08049288:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080492A4 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7B
- movs r1, 0xA
- b _080492B6
- .align 2, 0
-_080492A4: .4byte gUnknown_03004824
-_080492A8:
- movs r0, 0x1
-_080492AA:
- bl sub_804AA0C
- ldr r0, _080492D4 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7B
- movs r1, 0x8
-_080492B6:
- strb r1, [r0]
-_080492B8:
- movs r0, 0
- bl ResetBlockReceivedFlag
-_080492BE:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _080492CC
- movs r0, 0x1
- bl ResetBlockReceivedFlag
-_080492CC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080492D4: .4byte gUnknown_03004824
- thumb_func_end sub_80491E4
-
- thumb_func_start sub_80492D8
-sub_80492D8: @ 80492D8
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08049334 @ =gUnknown_03004824
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0x84
- ldrb r0, [r1]
- cmp r0, 0
- bne _080492EC
- b _08049420
-_080492EC:
- adds r0, r2, 0
- adds r0, 0x85
- ldrb r0, [r0]
- cmp r0, 0
- bne _080492F8
- b _08049420
-_080492F8:
- ldrh r1, [r1]
- ldr r0, _08049338 @ =0x00000101
- cmp r1, r0
- bne _08049340
- adds r1, r2, 0
- adds r1, 0x7B
- movs r0, 0x6
- strb r0, [r1]
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0x8C
- movs r4, 0
- ldr r0, _0804933C @ =0x0000dddd
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x41
- ldrb r1, [r0]
- adds r0, 0x4D
- strh r1, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_804AADC
- ldr r0, [r6]
- adds r2, r0, 0
- adds r2, 0x85
- strb r4, [r2]
- adds r0, 0x84
- strb r4, [r0]
- b _08049420
- .align 2, 0
-_08049334: .4byte gUnknown_03004824
-_08049338: .4byte 0x00000101
-_0804933C: .4byte 0x0000dddd
-_08049340:
- ldr r0, _08049388 @ =0x00000201
- cmp r1, r0
- bne _08049390
- movs r0, 0x1
- bl sub_804AA0C
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x8C
- movs r4, 0
- movs r3, 0
- ldr r0, _0804938C @ =0x0000eecc
- strh r0, [r2]
- adds r1, 0x8E
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_804AADC
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x87
- strb r4, [r1]
- adds r0, 0x86
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x85
- strb r4, [r1]
- adds r0, 0x84
- strb r4, [r0]
- ldr r0, [r6]
- adds r0, 0x7B
- movs r1, 0x8
- b _0804941E
- .align 2, 0
-_08049388: .4byte 0x00000201
-_0804938C: .4byte 0x0000eecc
-_08049390:
- movs r0, 0x81
- lsls r0, 1
- cmp r1, r0
- bne _080493DC
- movs r0, 0x5
- bl sub_804AA0C
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x8C
- movs r4, 0
- movs r3, 0
- ldr r0, _080493D8 @ =0x0000ddee
- strh r0, [r2]
- adds r1, 0x8E
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_804AADC
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x87
- strb r4, [r1]
- adds r0, 0x86
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x85
- strb r4, [r1]
- adds r0, 0x84
- strb r4, [r0]
- ldr r0, [r6]
- adds r0, 0x7B
- movs r1, 0x8
- b _0804941E
- .align 2, 0
-_080493D8: .4byte 0x0000ddee
-_080493DC:
- ldr r0, _080494C0 @ =0x00000202
- cmp r1, r0
- bne _08049420
- adds r1, r2, 0
- adds r1, 0x8C
- movs r5, 0
- movs r4, 0
- ldr r0, _080494C4 @ =0x0000eebb
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x8E
- strh r4, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_804AADC
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x85
- strb r5, [r1]
- adds r0, 0x84
- strb r5, [r0]
- ldr r0, [r6]
- adds r0, 0x7B
- movs r1, 0xB
-_0804941E:
- strb r1, [r0]
-_08049420:
- ldr r5, _080494C8 @ =gUnknown_03004824
- ldr r3, [r5]
- adds r1, r3, 0
- adds r1, 0x86
- ldrb r0, [r1]
- cmp r0, 0
- beq _080494B8
- adds r0, r3, 0
- adds r0, 0x87
- ldrb r0, [r0]
- cmp r0, 0
- beq _080494B8
- ldrh r1, [r1]
- ldr r0, _080494CC @ =0x00000101
- cmp r1, r0
- bne _0804946E
- adds r1, r3, 0
- adds r1, 0x8C
- movs r4, 0
- movs r2, 0
- ldr r0, _080494D0 @ =0x0000ccdd
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0x8E
- strh r2, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_804AADC
- ldr r0, [r5]
- adds r0, 0x86
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x87
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7B
- movs r1, 0x9
- strb r1, [r0]
-_0804946E:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x86
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08049484
- adds r0, r1, 0
- adds r0, 0x87
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080494B8
-_08049484:
- movs r0, 0x1
- bl sub_804AA0C
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x8C
- movs r4, 0
- movs r3, 0
- ldr r0, _080494D4 @ =0x0000ddee
- strh r0, [r2]
- adds r1, 0x8E
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_804AADC
- ldr r0, [r5]
- adds r0, 0x86
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x87
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7B
- movs r1, 0x8
- strb r1, [r0]
-_080494B8:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080494C0: .4byte 0x00000202
-_080494C4: .4byte 0x0000eebb
-_080494C8: .4byte gUnknown_03004824
-_080494CC: .4byte 0x00000101
-_080494D0: .4byte 0x0000ccdd
-_080494D4: .4byte 0x0000ddee
- thumb_func_end sub_80492D8
-
- thumb_func_start sub_80494D8
-sub_80494D8: @ 80494D8
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08049504
- cmp r4, 0
- bne _080494FA
- movs r0, 0
- bl sub_80490BC
- b _08049500
-_080494FA:
- adds r0, r4, 0
- bl sub_80491E4
-_08049500:
- bl ResetBlockReceivedFlags
-_08049504:
- cmp r4, 0
- bne _0804950C
- bl sub_80492D8
-_0804950C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80494D8
-
- thumb_func_start sub_8049514
-sub_8049514: @ 8049514
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r6, 0
- movs r5, 0
- ldr r2, _08049548 @ =gUnknown_03004824
- ldr r3, [r2]
- ldr r4, _0804954C @ =gTradeNextSelectedMonTable
- lsls r2, r1, 1
- adds r2, r1
- lsls r2, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r3, 0x44
- adds r2, r1
- adds r2, r4
-_0804953A:
- ldrb r1, [r2]
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08049550
- adds r6, r1, 0
- b _08049558
- .align 2, 0
-_08049548: .4byte gUnknown_03004824
-_0804954C: .4byte gTradeNextSelectedMonTable
-_08049550:
- adds r2, 0x1
- adds r5, 0x1
- cmp r5, 0x5
- ble _0804953A
-_08049558:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8049514
-
- thumb_func_start sub_8049560
-sub_8049560: @ 8049560
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r7]
- bl sub_8049514
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xC
- bne _080495B8
- ldr r5, _080495B0 @ =gUnknown_03004824
- ldr r0, [r5]
- adds r0, 0x40
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080495B4 @ =gSprites
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r2, [r5]
- adds r2, 0x40
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xE0
- strh r1, [r0, 0x20]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xA0
- strh r1, [r0, 0x22]
- b _08049600
- .align 2, 0
-_080495B0: .4byte gUnknown_03004824
-_080495B4: .4byte gSprites
-_080495B8:
- ldr r4, _08049614 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x40
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _08049618 @ =gSprites
- adds r0, r5
- movs r1, 0
- bl StartSpriteAnim
- ldr r4, [r4]
- adds r4, 0x40
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldr r2, _0804961C @ =gTradeMonSpriteCoords
- lsls r3, r6, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x20
- strh r0, [r1, 0x20]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r2, 0x1
- adds r3, r2
- ldrb r0, [r3]
- lsls r0, 3
- strh r0, [r1, 0x22]
-_08049600:
- ldrb r0, [r7]
- cmp r0, r6
- beq _0804960C
- movs r0, 0x5
- bl PlaySE
-_0804960C:
- strb r6, [r7]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049614: .4byte gUnknown_03004824
-_08049618: .4byte gSprites
-_0804961C: .4byte gTradeMonSpriteCoords
- thumb_func_end sub_8049560
-
- thumb_func_start sub_8049620
-sub_8049620: @ 8049620
- push {r4,lr}
- movs r0, 0
- bl sub_804AA0C
- ldr r4, _08049668 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0x5
- strb r1, [r0]
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08049670
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x8C
- ldr r0, _0804966C @ =0x0000aabb
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x41
- ldrb r1, [r0]
- adds r0, 0x4D
- strh r1, [r0]
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x8C
- movs r2, 0x14
- bl SendBlock
- b _08049678
- .align 2, 0
-_08049668: .4byte gUnknown_03004824
-_0804966C: .4byte 0x0000aabb
-_08049670:
- ldr r0, [r4]
- adds r0, 0x84
- movs r1, 0x1
- strb r1, [r0]
-_08049678:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8049620
-
- thumb_func_start sub_8049680
-sub_8049680: @ 8049680
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _080496A0 @ =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080496A8
- ldr r0, _080496A4 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x41
- movs r1, 0
- bl sub_8049560
- b _080496F4
- .align 2, 0
-_080496A0: .4byte gMain
-_080496A4: .4byte gUnknown_03004824
-_080496A8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080496C4
- ldr r0, _080496C0 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x41
- movs r1, 0x1
- bl sub_8049560
- b _080496F4
- .align 2, 0
-_080496C0: .4byte gUnknown_03004824
-_080496C4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080496E0
- ldr r0, _080496DC @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x41
- movs r1, 0x2
- bl sub_8049560
- b _080496F4
- .align 2, 0
-_080496DC: .4byte gUnknown_03004824
-_080496E0:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080496F4
- ldr r0, _08049750 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x41
- movs r1, 0x3
- bl sub_8049560
-_080496F4:
- ldr r0, _08049754 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080497B6
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08049750 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x41
- ldrb r1, [r1]
- cmp r1, 0x5
- bhi _0804975C
- adds r0, 0x4
- movs r1, 0x13
- str r1, [sp]
- movs r1, 0x12
- movs r2, 0xE
- movs r3, 0x1C
- bl DrawTextWindow
- ldr r3, _08049758 @ =gUnknown_0820C320
- movs r0, 0x13
- movs r1, 0xF
- movs r2, 0x2
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x13
- movs r2, 0xF
- movs r3, 0x2
- bl InitMenu
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0x1
- strb r1, [r0]
- b _080497B6
- .align 2, 0
-_08049750: .4byte gUnknown_03004824
-_08049754: .4byte gMain
-_08049758: .4byte gUnknown_0820C320
-_0804975C:
- cmp r1, 0xB
- bhi _0804977A
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0x2
- strb r1, [r0]
- b _080497B6
-_0804977A:
- cmp r1, 0xC
- bne _080497B6
- adds r0, 0x4
- movs r1, 0x13
- str r1, [sp]
- movs r1, 0x18
- movs r2, 0xE
- movs r3, 0x1D
- bl DrawTextWindow
- movs r0, 0x18
- movs r1, 0xE
- movs r2, 0x4
- bl InitYesNoMenu
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0x4
- strb r1, [r0]
- ldr r0, _080497F4 @ =gUnknown_0820C14C
- ldr r0, [r0, 0x10]
- ldr r1, [r4]
- adds r1, 0x7E
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, _080497F8 @ =0x06010000
- adds r1, r2
- movs r2, 0x14
- bl sub_804ACD8
-_080497B6:
- ldr r0, _080497FC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080497EC
- movs r2, 0
- ldr r3, _08049800 @ =gUnknown_03004824
-_080497C8:
- ldr r0, [r3]
- lsls r1, r2, 1
- adds r0, 0x8C
- adds r0, r1
- strh r2, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _080497C8
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08049800 @ =gUnknown_03004824
- ldr r1, [r1]
- adds r1, 0x8C
- movs r2, 0x14
- bl SendBlock
-_080497EC:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080497F4: .4byte gUnknown_0820C14C
-_080497F8: .4byte 0x06010000
-_080497FC: .4byte gMain
-_08049800: .4byte gUnknown_03004824
- thumb_func_end sub_8049680
-
- thumb_func_start sub_8049804
-sub_8049804: @ 8049804
- push {lr}
- bl HandleDestroyMenuCursors
- bl sub_804A80C
- ldr r3, _08049850 @ =gUnknown_03004824
- ldr r0, [r3]
- adds r0, 0x7B
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08049854 @ =gSprites
- ldr r0, [r3]
- adds r0, 0x40
- 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]
- ldr r0, _08049858 @ =gUnknown_0820C14C
- ldr r0, [r0, 0x4]
- ldr r1, [r3]
- adds r1, 0x7E
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, _0804985C @ =0x06010000
- adds r1, r2
- movs r2, 0x14
- bl sub_804ACD8
- pop {r0}
- bx r0
- .align 2, 0
-_08049850: .4byte gUnknown_03004824
-_08049854: .4byte gSprites
-_08049858: .4byte gUnknown_0820C14C
-_0804985C: .4byte 0x06010000
- thumb_func_end sub_8049804
-
- thumb_func_start sub_8049860
-sub_8049860: @ 8049860
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0804987C @ =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08049880
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _08049890
- .align 2, 0
-_0804987C: .4byte gMain
-_08049880:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804989C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_08049890:
- bl MoveMenuCursor
- ldr r1, _080498D8 @ =gUnknown_03004824
- ldr r1, [r1]
- adds r1, 0x7C
- strb r0, [r1]
-_0804989C:
- ldr r0, _080498DC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08049938
- movs r0, 0x5
- bl PlaySE
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080498E0
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080498D8 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7B
- movs r1, 0x2
- strb r1, [r0]
- b _0804994A
- .align 2, 0
-_080498D8: .4byte gUnknown_03004824
-_080498DC: .4byte gMain
-_080498E0:
- ldr r4, _08049910 @ =gUnknown_03004824
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x51
- adds r1, r2, 0
- adds r1, 0x42
- ldrb r1, [r1]
- adds r2, 0x41
- ldrb r2, [r2]
- bl sub_80499F0
- lsls r0, 24
- cmp r0, 0
- bne _08049914
- movs r0, 0x3
- movs r1, 0x2
- bl sub_804AADC
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0x8
- strb r1, [r0]
- b _0804994A
- .align 2, 0
-_08049910: .4byte gUnknown_03004824
-_08049914:
- bl sub_8049620
- ldr r2, _08049934 @ =gSprites
- ldr r0, [r4]
- adds r0, 0x40
- 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]
- b _0804994A
- .align 2, 0
-_08049934: .4byte gSprites
-_08049938:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804994A
- movs r0, 0x5
- bl PlaySE
- bl sub_8049804
-_0804994A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8049860
-
- thumb_func_start sub_8049954
-sub_8049954: @ 8049954
- push {lr}
- ldr r0, _08049978 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0804996A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08049974
-_0804996A:
- movs r0, 0x5
- bl PlaySE
- bl sub_8049804
-_08049974:
- pop {r0}
- bx r0
- .align 2, 0
-_08049978: .4byte gMain
- thumb_func_end sub_8049954
-
- thumb_func_start sub_804997C
-sub_804997C: @ 804997C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080499B4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080499E0
- ldr r0, _080499B8 @ =gUnknown_03004824
- ldr r2, [r0]
- adds r3, r2, 0
- adds r3, 0x41
- ldrb r1, [r3]
- cmp r1, 0x5
- bhi _080499C4
- ldr r0, _080499BC @ =gPlayerParty
- ldrb r1, [r3]
- adds r2, 0x42
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080499C0 @ =sub_80484F4
- movs r4, 0x4
- str r4, [sp]
- bl ShowPokemonSummaryScreen
- b _080499E0
- .align 2, 0
-_080499B4: .4byte gPaletteFade
-_080499B8: .4byte gUnknown_03004824
-_080499BC: .4byte gPlayerParty
-_080499C0: .4byte sub_80484F4
-_080499C4:
- ldr r0, _080499E8 @ =gEnemyParty
- subs r1, 0x6
- lsls r1, 24
- lsrs r1, 24
- adds r2, 0x43
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080499EC @ =sub_80484F4
- movs r4, 0x4
- str r4, [sp]
- bl ShowPokemonSummaryScreen
-_080499E0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080499E8: .4byte gEnemyParty
-_080499EC: .4byte sub_80484F4
- thumb_func_end sub_804997C
-
- thumb_func_start sub_80499F0
-sub_80499F0: @ 80499F0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- movs r3, 0
- cmp r1, r4
- bge _08049A18
-_08049A04:
- cmp r2, r3
- beq _08049A12
- adds r0, r5, r3
- ldrb r0, [r0]
- adds r0, r1, r0
- lsls r0, 24
- lsrs r1, r0, 24
-_08049A12:
- adds r3, 0x1
- cmp r3, r4
- blt _08049A04
-_08049A18:
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80499F0
-
- thumb_func_start sub_8049A20
-sub_8049A20: @ 8049A20
- push {r4,r5,lr}
- sub sp, 0xC
- movs r2, 0
- ldr r0, _08049A80 @ =gUnknown_03004824
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0x42
- adds r5, r0, 0
- ldrb r0, [r3]
- cmp r2, r0
- bge _08049A4C
- adds r4, r1, 0
- adds r4, 0x51
-_08049A3A:
- mov r1, sp
- adds r0, r1, r2
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- ldrb r0, [r3]
- cmp r2, r0
- blt _08049A3A
-_08049A4C:
- adds r4, r5, 0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x42
- ldrb r1, [r1]
- adds r0, 0x41
- ldrb r2, [r0]
- mov r0, sp
- bl sub_80499F0
- lsls r0, 24
- cmp r0, 0
- bne _08049A88
- movs r0, 0x3
- movs r1, 0x2
- bl sub_804AADC
- ldr r0, [r4]
- adds r0, 0x8C
- ldr r1, _08049A84 @ =0x0000bbcc
- strh r1, [r0]
- movs r0, 0xB4
- movs r1, 0
- bl sub_804AADC
- b _08049AB4
- .align 2, 0
-_08049A80: .4byte gUnknown_03004824
-_08049A84: .4byte 0x0000bbcc
-_08049A88:
- movs r0, 0x3
- movs r1, 0x1
- bl sub_804AADC
- ldr r0, [r5]
- adds r0, 0x8C
- ldr r1, _08049ABC @ =0x0000bbbb
- strh r1, [r0]
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _08049AB4
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r5]
- adds r1, 0x8C
- movs r2, 0x14
- bl SendBlock
-_08049AB4:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08049ABC: .4byte 0x0000bbbb
- thumb_func_end sub_8049A20
-
- thumb_func_start sub_8049AC0
-sub_8049AC0: @ 8049AC0
- push {r4,lr}
- ldr r0, _08049ADC @ =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08049AE0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _08049AF0
- .align 2, 0
-_08049ADC: .4byte gMain
-_08049AE0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08049AFC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_08049AF0:
- bl MoveMenuCursor
- ldr r1, _08049B20 @ =gUnknown_03004824
- ldr r1, [r1]
- adds r1, 0x7C
- strb r0, [r1]
-_08049AFC:
- ldr r0, _08049B24 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08049B64
- movs r0, 0x5
- bl PlaySE
- bl GetMenuCursorPos
- lsls r0, 24
- cmp r0, 0
- bne _08049B28
- bl sub_8049A20
- b _08049B56
- .align 2, 0
-_08049B20: .4byte gUnknown_03004824
-_08049B24: .4byte gMain
-_08049B28:
- movs r0, 0x3
- movs r1, 0x1
- bl sub_804AADC
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _08049B56
- ldr r4, _08049B5C @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x8C
- ldr r1, _08049B60 @ =0x0000bbcc
- strh r1, [r0]
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x8C
- movs r2, 0x14
- bl SendBlock
-_08049B56:
- ldr r0, _08049B5C @ =gUnknown_03004824
- ldr r0, [r0]
- b _08049BAA
- .align 2, 0
-_08049B5C: .4byte gUnknown_03004824
-_08049B60: .4byte 0x0000bbcc
-_08049B64:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08049BB0
- movs r0, 0x3
- movs r1, 0x1
- bl sub_804AADC
- bl GetMenuCursorPos
- lsls r0, 24
- cmp r0, 0
- bne _08049B8C
- movs r0, 0x1
- bl MoveMenuCursor
- ldr r1, _08049BB8 @ =gUnknown_03004824
- ldr r1, [r1]
- adds r1, 0x7C
- strb r0, [r1]
-_08049B8C:
- ldr r4, _08049BB8 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x8C
- ldr r1, _08049BBC @ =0x0000bbcc
- strh r1, [r0]
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x8C
- movs r2, 0x14
- bl SendBlock
- ldr r0, [r4]
-_08049BAA:
- adds r0, 0x7B
- movs r1, 0x64
- strb r1, [r0]
-_08049BB0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08049BB8: .4byte gUnknown_03004824
-_08049BBC: .4byte 0x0000bbcc
- thumb_func_end sub_8049AC0
-
- thumb_func_start sub_8049BC0
-sub_8049BC0: @ 8049BC0
- push {r4,r5,lr}
- ldr r0, _08049BDC @ =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08049BE0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _08049BF0
- .align 2, 0
-_08049BDC: .4byte gMain
-_08049BE0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08049BFC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_08049BF0:
- bl MoveMenuCursor
- ldr r1, _08049C5C @ =gUnknown_03004824
- ldr r1, [r1]
- adds r1, 0x7C
- strb r0, [r1]
-_08049BFC:
- ldr r0, _08049C60 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08049C72
- movs r0, 0x5
- bl PlaySE
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08049C6C
- movs r0, 0x4
- bl sub_804AA0C
- ldr r4, _08049C5C @ =gUnknown_03004824
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x8C
- ldr r1, _08049C64 @ =0x0000eeaa
- strh r1, [r2]
- adds r0, 0x8E
- strh r5, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_804AADC
- ldr r2, _08049C68 @ =gSprites
- ldr r0, [r4]
- adds r0, 0x40
- 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]
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0x64
- strb r1, [r0]
- b _08049C84
- .align 2, 0
-_08049C5C: .4byte gUnknown_03004824
-_08049C60: .4byte gMain
-_08049C64: .4byte 0x0000eeaa
-_08049C68: .4byte gSprites
-_08049C6C:
- bl sub_8049804
- b _08049C84
-_08049C72:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08049C84
- movs r0, 0x5
- bl PlaySE
- bl sub_8049804
-_08049C84:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8049BC0
-
- thumb_func_start sub_8049C8C
-sub_8049C8C: @ 8049C8C
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _08049CAE
- ldr r4, _08049CC0 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x41
- ldrb r0, [r0]
- bl sub_8049E9C
- ldr r0, [r4]
- adds r0, 0x8A
- ldrb r0, [r0]
- bl sub_8049E9C
-_08049CAE:
- ldr r0, _08049CC0 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7B
- movs r1, 0x7
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08049CC0: .4byte gUnknown_03004824
- thumb_func_end sub_8049C8C
-
- thumb_func_start sub_8049CC4
-sub_8049CC4: @ 8049CC4
- push {r4,lr}
- ldr r4, _08049CE8 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x80
- ldrh r1, [r0]
- ldr r0, _08049CEC @ =0x00000505
- cmp r1, r0
- bne _08049CE0
- bl sub_8049088
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0xE
- strb r1, [r0]
-_08049CE0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08049CE8: .4byte gUnknown_03004824
-_08049CEC: .4byte 0x00000505
- thumb_func_end sub_8049CC4
-
- thumb_func_start DisplayMessageAndContinueTask
-DisplayMessageAndContinueTask: @ 8049CF0
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _08049D40 @ =gUnknown_03004824
- ldr r1, [r4]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB4
- ldrb r0, [r0]
- cmp r0, 0x78
- bls _08049D36
- adds r0, r1, 0x4
- movs r1, 0x13
- str r1, [sp]
- movs r1, 0x18
- movs r2, 0xE
- movs r3, 0x1D
- bl DrawTextWindow
- movs r0, 0x18
- movs r1, 0xE
- movs r2, 0x4
- bl InitYesNoMenu
- ldr r0, [r4]
- adds r0, 0xB4
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0x3
- strb r1, [r0]
-_08049D36:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08049D40: .4byte gUnknown_03004824
- thumb_func_end DisplayMessageAndContinueTask
-
- thumb_func_start sub_8049D44
-sub_8049D44: @ 8049D44
- push {lr}
- ldr r0, _08049D90 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08049D8A
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_804A840
- movs r0, 0x1
- bl sub_804A840
- ldr r2, _08049D94 @ =gUnknown_03004824
- ldr r0, [r2]
- adds r0, 0x7B
- movs r1, 0
- strb r1, [r0]
- ldr r3, _08049D98 @ =gSprites
- ldr r0, [r2]
- adds r0, 0x40
- ldrb r1, [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]
-_08049D8A:
- pop {r0}
- bx r0
- .align 2, 0
-_08049D90: .4byte gMain
-_08049D94: .4byte gUnknown_03004824
-_08049D98: .4byte gSprites
- thumb_func_end sub_8049D44
-
- thumb_func_start sub_8049D9C
-sub_8049D9C: @ 8049D9C
- push {lr}
- ldr r0, _08049DBC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08049DB8
- bl sub_800832C
- ldr r0, _08049DC0 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7B
- movs r1, 0xC
- strb r1, [r0]
-_08049DB8:
- pop {r0}
- bx r0
- .align 2, 0
-_08049DBC: .4byte gPaletteFade
-_08049DC0: .4byte gUnknown_03004824
- thumb_func_end sub_8049D9C
-
- thumb_func_start sub_8049DC4
-sub_8049DC4: @ 8049DC4
- push {lr}
- ldr r0, _08049DD8 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08049DD4
- ldr r0, _08049DDC @ =sub_805465C
- bl SetMainCallback2
-_08049DD4:
- pop {r0}
- bx r0
- .align 2, 0
-_08049DD8: .4byte gReceivedRemoteLinkPlayers
-_08049DDC: .4byte sub_805465C
- thumb_func_end sub_8049DC4
-
- thumb_func_start sub_8049DE0
-sub_8049DE0: @ 8049DE0
- push {lr}
- ldr r0, _08049DF8 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0xF
- bhi _08049E98
- lsls r0, 2
- ldr r1, _08049DFC @ =_08049E00
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08049DF8: .4byte gUnknown_03004824
-_08049DFC: .4byte _08049E00
- .align 2, 0
-_08049E00:
- .4byte _08049E40
- .4byte _08049E46
- .4byte _08049E4C
- .4byte _08049E52
- .4byte _08049E58
- .4byte _08049E98
- .4byte _08049E5E
- .4byte _08049E64
- .4byte _08049E6A
- .4byte _08049E70
- .4byte _08049E76
- .4byte _08049E7C
- .4byte _08049E82
- .4byte _08049E88
- .4byte _08049E8E
- .4byte _08049E94
-_08049E40:
- bl sub_8049680
- b _08049E98
-_08049E46:
- bl sub_8049860
- b _08049E98
-_08049E4C:
- bl sub_804997C
- b _08049E98
-_08049E52:
- bl sub_8049AC0
- b _08049E98
-_08049E58:
- bl sub_8049BC0
- b _08049E98
-_08049E5E:
- bl sub_8049C8C
- b _08049E98
-_08049E64:
- bl sub_8049CC4
- b _08049E98
-_08049E6A:
- bl sub_8049D44
- b _08049E98
-_08049E70:
- bl sub_8048A14
- b _08049E98
-_08049E76:
- bl sub_8048A50
- b _08049E98
-_08049E7C:
- bl sub_8049D9C
- b _08049E98
-_08049E82:
- bl sub_8049DC4
- b _08049E98
-_08049E88:
- bl sub_8048A90
- b _08049E98
-_08049E8E:
- bl DisplayMessageAndContinueTask
- b _08049E98
-_08049E94:
- bl sub_8049954
-_08049E98:
- pop {r0}
- bx r0
- thumb_func_end sub_8049DE0
-
- thumb_func_start sub_8049E9C
-sub_8049E9C: @ 8049E9C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, _08049ED0 @ =gUnknown_03004824
- ldr r0, [r3]
- adds r0, 0x80
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08049EC8
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x82
- adds r0, r2
- strb r4, [r0]
-_08049EC8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08049ED0: .4byte gUnknown_03004824
- thumb_func_end sub_8049E9C
-
- thumb_func_start sub_8049ED4
-sub_8049ED4: @ 8049ED4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x74
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _08049F24 @ =gUnknown_03004824
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0x82
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x1
- str r1, [sp, 0x6C]
- cmp r0, 0x5
- bhi _08049EFE
- movs r2, 0
- str r2, [sp, 0x6C]
-_08049EFE:
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r5, 0
- adds r0, 0x80
- mov r1, r10
- adds r3, r0, r1
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _08049F1A
- b _0804A0AC
-_08049F1A:
- cmp r0, 0x2
- bgt _08049F28
- cmp r0, 0x1
- beq _08049F36
- b _0804A294
- .align 2, 0
-_08049F24: .4byte gUnknown_03004824
-_08049F28:
- cmp r0, 0x3
- bne _08049F2E
- b _0804A0E4
-_08049F2E:
- cmp r0, 0x4
- bne _08049F34
- b _0804A244
-_08049F34:
- b _0804A294
-_08049F36:
- movs r4, 0
- adds r0, r5, 0
- adds r0, 0x42
- add r0, r10
- ldr r7, _0804A094 @ =gSprites
- ldr r2, [sp, 0x6C]
- lsls r2, 1
- mov r9, r2
- ldr r3, _0804A098 @ =gTradeMonSpriteCoords
- mov r12, r3
- mov r5, r10
- lsls r5, 4
- str r5, [sp, 0x70]
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08049F8E
- adds r6, r7, 0
- ldr r2, _0804A09C @ =gUnknown_03004824
- ldr r0, [sp, 0x6C]
- add r0, r9
- lsls r3, r0, 1
- movs r5, 0x4
-_08049F62:
- ldr r0, [r2]
- adds r1, r4, r3
- adds r0, 0x34
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r5
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r2]
- adds r0, 0x42
- add r0, r10
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08049F62
-_08049F8E:
- ldr r1, _0804A09C @ =gUnknown_03004824
- ldr r0, [r1]
- ldr r5, [sp, 0x6C]
- add r5, r9
- lsls r3, r5, 1
- mov r2, r8
- adds r6, r2, r3
- adds r0, 0x34
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r0, _0804A09C @ =gUnknown_03004824
- ldr r4, [r0]
- adds r4, 0x34
- adds r4, r6
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- movs r1, 0x14
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- lsls r5, 2
- mov r1, r12
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r3, 0x1
- lsls r3, 1
- add r3, r12
- ldrb r1, [r3]
- adds r0, r1
- asrs r0, 1
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r2, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- mov r0, r12
- adds r0, 0x1
- adds r5, r0
- ldrb r0, [r5]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x36]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, _0804A0A0 @ =sub_809D62C
- bl oamt_set_x3A_32
- ldr r2, _0804A09C @ =gUnknown_03004824
- ldr r1, [r2]
- adds r1, 0x80
- add r1, r10
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x34
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl sub_8078A34
- bl HandleDestroyMenuCursors
- ldr r3, _0804A09C @ =gUnknown_03004824
- ldr r0, [r3]
- adds r0, 0x4
- ldr r1, _0804A0A4 @ =gUnknown_0820C330
- mov r5, r9
- adds r2, r5, r1
- ldrb r2, [r2]
- adds r1, 0x1
- add r1, r9
- ldrb r1, [r1]
- str r1, [sp]
- movs r1, 0x13
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- ldr r1, _0804A09C @ =gUnknown_03004824
- ldr r0, [r1]
- adds r0, 0xC8
- ldr r2, [sp, 0x70]
- mov r3, r10
- subs r1, r2, r3
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0804A0A8 @ =gTradePartyBoxTilemap
- movs r2, 0xF
- str r2, [sp]
- movs r2, 0x11
- str r2, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- movs r2, 0
- bl sub_804A96C_alt
- ldr r0, [sp, 0x6C]
- cmp r0, 0
- beq _0804A08C
- b _0804A294
-_0804A08C:
- bl sub_804A80C
- b _0804A294
- .align 2, 0
-_0804A094: .4byte gSprites
-_0804A098: .4byte gTradeMonSpriteCoords
-_0804A09C: .4byte gUnknown_03004824
-_0804A0A0: .4byte sub_809D62C
-_0804A0A4: .4byte gUnknown_0820C330
-_0804A0A8: .4byte gTradePartyBoxTilemap
-_0804A0AC:
- ldr r2, _0804A0DC @ =gSprites
- ldr r1, [sp, 0x6C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r8
- adds r1, r5, 0
- adds r1, 0x34
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0804A0E0 @ =sub_809D62C
- cmp r1, r0
- beq _0804A0D4
- b _0804A294
-_0804A0D4:
- movs r0, 0x3
- strb r0, [r3]
- b _0804A294
- .align 2, 0
-_0804A0DC: .4byte gSprites
-_0804A0E0: .4byte sub_809D62C
-_0804A0E4:
- adds r0, r5, 0
- adds r0, 0xC8
- ldr r2, [sp, 0x6C]
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0804A228 @ =gTradeMovesBoxTilemap
- movs r2, 0xF
- str r2, [sp]
- movs r7, 0x11
- str r7, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- movs r2, 0
- bl sub_804A96C_alt
- ldr r0, _0804A22C @ =gUnknown_03004824
- ldr r3, [r0]
- ldr r1, [sp, 0x6C]
- lsls r6, r1, 1
- adds r1, r6
- mov r9, r1
- lsls r1, 1
- mov r2, r8
- adds r0, r2, r1
- adds r3, 0x34
- adds r3, r0
- ldrb r0, [r3]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r5, _0804A230 @ =gSprites
- adds r2, r5
- ldr r4, _0804A234 @ =gTradeMonSpriteCoords
- mov r0, r9
- lsls r5, r0, 2
- adds r0, r5, r4
- ldrb r0, [r0]
- adds r1, 0x1
- lsls r1, 1
- adds r1, r4
- ldrb r1, [r1]
- adds r0, r1
- asrs r0, 1
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r2, 0x20]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, _0804A230 @ =gSprites
- adds r1, r2
- adds r4, 0x1
- adds r5, r4
- ldrb r0, [r5]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x22]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r5, 0
- strh r5, [r0, 0x24]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x26]
- mov r0, sp
- adds r0, 0x12
- ldr r1, [sp, 0x6C]
- mov r2, r8
- bl sub_804A2B4
- add r1, sp, 0xC
- movs r3, 0xFC
- strb r3, [r1]
- adds r2, r1, 0
- movs r1, 0x6
- strb r1, [r2, 0x1]
- movs r1, 0x4
- strb r1, [r2, 0x2]
- adds r1, r2, 0
- strb r3, [r1, 0x3]
- strb r7, [r1, 0x4]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x40
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- strb r1, [r2, 0x5]
- ldr r0, _0804A22C @ =gUnknown_03004824
- ldr r1, [r0]
- adds r0, r1, 0x4
- adds r1, 0x7A
- ldrb r2, [r1]
- mov r1, r9
- lsls r1, 6
- mov r9, r1
- add r2, r9
- ldr r4, _0804A238 @ =gUnknown_0820C334
- ldr r3, [sp, 0x6C]
- lsls r1, r3, 2
- adds r3, r1, r4
- ldrb r3, [r3]
- ldr r5, _0804A23C @ =gUnknown_0820C334 + 0x1
- adds r1, r5
- ldrb r1, [r1]
- str r1, [sp]
- add r1, sp, 0xC
- bl sub_8003460
- add r7, sp, 0x34
- adds r0, r7, 0
- ldr r1, [sp, 0x6C]
- mov r2, r8
- bl sub_804A33C
- ldr r0, _0804A22C @ =gUnknown_03004824
- ldr r2, [r0]
- adds r0, r2, 0x4
- ldr r1, _0804A240 @ =gOtherText_Terminator2
- adds r2, 0x7A
- ldrb r2, [r2]
- add r2, r9
- adds r2, 0x20
- adds r6, 0x1
- lsls r6, 1
- adds r4, r6, r4
- ldrb r5, [r4]
- ldr r3, _0804A23C @ =gUnknown_0820C334 + 0x1
- adds r6, r3
- ldrb r4, [r6]
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- adds r3, r5, 0
- bl sub_8003460
- ldr r0, _0804A22C @ =gUnknown_03004824
- ldr r1, [r0]
- adds r0, r1, 0x4
- adds r1, 0x7A
- ldrb r2, [r1]
- add r2, r9
- adds r2, 0x26
- str r4, [sp]
- adds r1, r7, 0
- adds r3, r5, 0
- bl sub_8003460
- ldr r2, _0804A22C @ =gUnknown_03004824
- ldr r1, [r2]
- b _0804A28A
- .align 2, 0
-_0804A228: .4byte gTradeMovesBoxTilemap
-_0804A22C: .4byte gUnknown_03004824
-_0804A230: .4byte gSprites
-_0804A234: .4byte gTradeMonSpriteCoords
-_0804A238: .4byte gUnknown_0820C334
-_0804A23C: .4byte gUnknown_0820C334 + 0x1
-_0804A240: .4byte gOtherText_Terminator2
-_0804A244:
- ldr r0, _0804A2A4 @ =gUnknown_0820C14C
- ldr r0, [r0, 0x14]
- adds r1, r5, 0
- adds r1, 0x7E
- ldrh r1, [r1]
- lsls r1, 5
- ldr r3, _0804A2A8 @ =0x06010000
- adds r1, r3
- movs r2, 0x14
- bl sub_804ACD8
- ldr r0, _0804A2AC @ =gUnknown_0820C3D1
- mov r5, r10
- lsls r1, r5, 1
- adds r4, r1, r0
- ldrb r2, [r4]
- adds r2, 0x4
- lsls r2, 24
- lsrs r2, 24
- adds r0, 0x1
- adds r1, r0
- ldrb r3, [r1]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4]
- str r0, [sp]
- ldrb r0, [r1]
- str r0, [sp, 0x4]
- mov r0, r10
- mov r1, r8
- bl sub_804A51C
- ldr r0, _0804A2B0 @ =gUnknown_03004824
- ldr r1, [r0]
-_0804A28A:
- adds r1, 0x80
- add r1, r10
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0804A294:
- add sp, 0x74
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A2A4: .4byte gUnknown_0820C14C
-_0804A2A8: .4byte 0x06010000
-_0804A2AC: .4byte gUnknown_0820C3D1
-_0804A2B0: .4byte gUnknown_03004824
- thumb_func_end sub_8049ED4
-
- thumb_func_start sub_804A2B4
-sub_804A2B4: @ 804A2B4
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r1, 0
- bne _0804A2F4
- movs r0, 0x64
- adds r4, r2, 0
- muls r4, r0
- ldr r0, _0804A2F0 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- adds r0, r5, 0
- mov r1, sp
- bl StringCopy10
- adds r0, r4, 0
- bl GetMonGender
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- b _0804A31E
- .align 2, 0
-_0804A2F0: .4byte gPlayerParty
-_0804A2F4:
- movs r0, 0x64
- adds r4, r2, 0
- muls r4, r0
- ldr r0, _0804A334 @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- adds r0, r5, 0
- mov r1, sp
- bl StringCopy10
- adds r0, r4, 0
- bl GetMonGender
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
-_0804A31E:
- ldr r0, _0804A338 @ =gWindowConfig_81E7294
- adds r1, r5, 0
- bl GetStringWidthGivenWindowConfig
- lsls r0, 24
- lsrs r0, 24
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0804A334: .4byte gEnemyParty
-_0804A338: .4byte gWindowConfig_81E7294
- thumb_func_end sub_804A2B4
-
- thumb_func_start sub_804A33C
-sub_804A33C: @ 804A33C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _0804A384 @ =gUnknown_03004824
- ldr r1, [r0]
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 1
- adds r0, r2, r0
- adds r1, 0x5D
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0804A3F4
- movs r4, 0
- movs r0, 0x64
- adds r5, r2, 0
- muls r5, r0
- ldr r0, _0804A388 @ =gPlayerParty
- mov r9, r0
- ldr r2, _0804A38C @ =gEnemyParty
- mov r8, r2
-_0804A376:
- cmp r7, 0
- bne _0804A390
- adds r1, r4, 0
- adds r1, 0xD
- mov r2, r9
- b _0804A396
- .align 2, 0
-_0804A384: .4byte gUnknown_03004824
-_0804A388: .4byte gPlayerParty
-_0804A38C: .4byte gEnemyParty
-_0804A390:
- adds r1, r4, 0
- adds r1, 0xD
- mov r2, r8
-_0804A396:
- adds r0, r5, r2
- movs r2, 0
- bl GetMonData
- lsls r1, r4, 1
- add r1, sp
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _0804A376
- ldr r1, _0804A3E8 @ =gOtherText_Terminator
- adds r0, r6, 0
- bl StringCopy
- movs r4, 0
-_0804A3B8:
- lsls r0, r4, 1
- mov r2, sp
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0804A3D4
- adds r1, r0, 0
- movs r0, 0xD
- muls r1, r0
- ldr r0, _0804A3EC @ =gMoveNames
- adds r1, r0
- adds r0, r6, 0
- bl StringAppend
-_0804A3D4:
- adds r0, r6, 0
- ldr r1, _0804A3F0 @ =gOtherText_ControlAndMiscText
- bl StringAppend
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _0804A3B8
- b _0804A404
- .align 2, 0
-_0804A3E8: .4byte gOtherText_Terminator
-_0804A3EC: .4byte gMoveNames
-_0804A3F0: .4byte gOtherText_ControlAndMiscText
-_0804A3F4:
- ldr r1, _0804A414 @ =gOtherText_Terminator
- adds r0, r6, 0
- bl StringCopy
- ldr r1, _0804A418 @ =gOtherText_FourQuestions
- adds r0, r6, 0
- bl StringAppend
-_0804A404:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A414: .4byte gOtherText_Terminator
-_0804A418: .4byte gOtherText_FourQuestions
- thumb_func_end sub_804A33C
-
- thumb_func_start sub_804A41C
-sub_804A41C: @ 804A41C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- lsls r0, 24
- lsrs r5, r0, 24
- add r3, sp, 0x1C
- movs r2, 0
- movs r1, 0xFC
- strb r1, [r3]
- movs r0, 0x6
- strb r0, [r3, 0x1]
- movs r0, 0x4
- strb r0, [r3, 0x2]
- strb r1, [r3, 0x3]
- movs r0, 0x11
- strb r0, [r3, 0x4]
- strb r2, [r3, 0x5]
- movs r6, 0
- ldr r1, _0804A470 @ =gUnknown_03004824
- ldr r0, [r1]
- adds r0, 0x42
- adds r0, r5
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0804A504
- mov r8, r3
- adds r7, r1, 0
- ldr r0, _0804A474 @ =gTradeMonSpriteCoords
- mov r9, r0
- movs r4, 0x1
- add r4, r9
- mov r10, r4
-_0804A462:
- cmp r5, 0
- bne _0804A47C
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _0804A478 @ =gPlayerParty
- b _0804A484
- .align 2, 0
-_0804A470: .4byte gUnknown_03004824
-_0804A474: .4byte gTradeMonSpriteCoords
-_0804A478: .4byte gPlayerParty
-_0804A47C:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _0804A514 @ =gEnemyParty
-_0804A484:
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0x4
- bl GetMonData
- mov r0, sp
- adds r0, 0x22
- add r1, sp, 0x4
- bl StringCopy10
- adds r0, r4, 0
- bl GetMonGender
- mov r1, sp
- adds r1, 0x22
- ldr r0, _0804A518 @ =gWindowConfig_81E7294
- bl GetStringWidthGivenWindowConfig
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x32
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- mov r0, r8
- strb r1, [r0, 0x5]
- ldr r1, [r7]
- adds r0, r1, 0x4
- adds r1, 0x7A
- lsls r2, r5, 5
- adds r2, r5
- lsls r2, 2
- ldrb r1, [r1]
- adds r2, r1
- movs r1, 0x16
- muls r1, r6
- adds r2, r1
- lsls r2, 16
- lsrs r2, 16
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 1
- adds r1, r6, r1
- lsls r1, 1
- mov r4, r9
- adds r3, r1, r4
- ldrb r3, [r3]
- add r1, r10
- ldrb r1, [r1]
- str r1, [sp]
- mov r1, r8
- bl sub_8003460
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [r7]
- adds r0, 0x42
- adds r0, r5
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0804A462
-_0804A504:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A514: .4byte gEnemyParty
-_0804A518: .4byte gWindowConfig_81E7294
- thumb_func_end sub_804A41C
-
- thumb_func_start sub_804A51C
-sub_804A51C: @ 804A51C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- ldr r4, [sp, 0x48]
- ldr r5, [sp, 0x4C]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- 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, 0x24]
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0804A59C @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xC8
- ldr r3, _0804A5A0 @ =gTradeMonBoxTilemap
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804A96C
- mov r0, r8
- cmp r0, 0
- bne _0804A5A8
- movs r0, 0x64
- mov r4, r9
- muls r4, r0
- ldr r0, _0804A5A4 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
- b _0804A5D4
- .align 2, 0
-_0804A59C: .4byte gUnknown_03004824
-_0804A5A0: .4byte gTradeMonBoxTilemap
-_0804A5A4: .4byte gPlayerParty
-_0804A5A8:
- movs r0, 0x64
- mov r4, r9
- muls r4, r0
- ldr r0, _0804A65C @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
-_0804A5D4:
- ldr r1, _0804A660 @ =gUnknown_03004824
- ldr r5, [r1]
- mov r3, r8
- lsls r0, r3, 1
- add r0, r8
- lsls r0, 1
- add r0, r9
- adds r1, r5, 0
- adds r1, 0x5D
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0804A690
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [sp, 0x24]
- lsls r2, r0, 5
- cmp r4, 0
- beq _0804A614
- mov r1, r10
- adds r0, r1, r2
- lsls r0, 1
- adds r1, r5, 0
- adds r1, 0xDA
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x60
- strh r0, [r1]
-_0804A614:
- ldr r3, _0804A660 @ =gUnknown_03004824
- ldr r4, [r3]
- mov r0, r10
- adds r5, r0, r2
- adds r0, r5, 0x1
- lsls r0, 1
- adds r4, 0xDA
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x70
- strh r0, [r4]
- cmp r7, 0
- bne _0804A664
- add r0, sp, 0xC
- movs r1, 0
- bl NameHasGenderSymbol
- lsls r0, 24
- cmp r0, 0
- bne _0804A6CC
- ldr r3, _0804A660 @ =gUnknown_03004824
- ldr r1, [r3]
- adds r0, r5, 0
- subs r0, 0x1F
- lsls r0, 1
- adds r1, 0xDA
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- b _0804A6CA
- .align 2, 0
-_0804A65C: .4byte gEnemyParty
-_0804A660: .4byte gUnknown_03004824
-_0804A664:
- cmp r7, 0xFE
- bne _0804A6CC
- add r0, sp, 0xC
- movs r1, 0xFE
- bl NameHasGenderSymbol
- lsls r0, 24
- cmp r0, 0
- bne _0804A6CC
- ldr r0, _0804A68C @ =gUnknown_03004824
- ldr r1, [r0]
- adds r0, r5, 0
- subs r0, 0x1F
- lsls r0, 1
- adds r1, 0xDA
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x2
- b _0804A6CA
- .align 2, 0
-_0804A68C: .4byte gUnknown_03004824
-_0804A690:
- ldr r1, [sp, 0x24]
- lsls r0, r1, 5
- mov r1, r10
- adds r3, r1, r0
- adds r1, r3, 0
- subs r1, 0x20
- lsls r1, 1
- adds r2, r5, 0
- adds r2, 0xDA
- adds r1, r2, r1
- adds r0, r3, 0
- subs r0, 0x21
- lsls r0, 1
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, r3, 0
- subs r1, 0x1F
- lsls r1, 1
- adds r1, r2, r1
- adds r0, r3, 0
- subs r0, 0x24
- lsls r0, 1
- adds r2, r0
- ldrh r2, [r2]
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- orrs r0, r2
-_0804A6CA:
- strh r0, [r1]
-_0804A6CC:
-.ifdef GERMAN
- ldr r0, _0804A6E8 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xD8
- movs r1, 0x1
- strb r1, [r0]
-.endif
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
-.ifdef GERMAN
- .align 2, 0
-_0804A6E8: .4byte gUnknown_03004824
-.endif
- thumb_func_end sub_804A51C
-
- thumb_func_start sub_804A6DC
-sub_804A6DC: @ 804A6DC
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r7, 0
- ldr r0, _0804A734 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x42
- adds r0, r6
- ldrb r0, [r0]
- cmp r7, r0
- bge _0804A72C
- lsls r0, r6, 1
- adds r0, r6
- ldr r1, _0804A738 @ =gTradeLevelDisplayCoords
- lsls r0, 2
- adds r5, r0, r1
- ldr r1, _0804A73C @ =gTradeMonBoxCoords
- adds r4, r0, r1
-_0804A702:
- lsls r1, r7, 24
- lsrs r1, 24
- ldrb r2, [r5]
- ldrb r3, [r5, 0x1]
- ldrb r0, [r4]
- str r0, [sp]
- ldrb r0, [r4, 0x1]
- str r0, [sp, 0x4]
- adds r0, r6, 0
- bl sub_804A51C
- adds r5, 0x2
- adds r4, 0x2
- adds r7, 0x1
- ldr r0, _0804A734 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x42
- adds r0, r6
- ldrb r0, [r0]
- cmp r7, r0
- blt _0804A702
-_0804A72C:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A734: .4byte gUnknown_03004824
-_0804A738: .4byte gTradeLevelDisplayCoords
-_0804A73C: .4byte gTradeMonBoxCoords
- thumb_func_end sub_804A6DC
-
- thumb_func_start sub_804A740
-sub_804A740: @ 804A740
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r7, 0
- ldr r3, _0804A800 @ =gUnknown_03004824
- ldr r0, [r3]
- adds r0, 0x42
- add r0, r12
- ldrb r0, [r0]
- cmp r7, r0
- bge _0804A7F2
- ldr r6, _0804A804 @ =gSprites
- mov r9, r3
- mov r1, r12
- lsls r0, r1, 1
- add r0, r12
- lsls r2, r0, 1
- mov r10, r2
- ldr r1, _0804A808 @ =gTradeMonSpriteCoords
- movs r2, 0
- mov r8, r2
- lsls r0, 2
- adds r5, r0, r1
-_0804A778:
- mov r1, r9
- ldr r0, [r1]
- mov r2, r10
- adds r4, r7, r2
- adds r0, 0x34
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- mov r0, r9
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x34
- adds r2, r4
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r5]
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r1, 0x20]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r5, 0x1]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r2, r8
- strh r2, [r0, 0x26]
- adds r5, 0x2
- adds r7, 0x1
- adds r3, 0x42
- add r3, r12
- ldrb r3, [r3]
- cmp r7, r3
- blt _0804A778
-_0804A7F2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A800: .4byte gUnknown_03004824
-_0804A804: .4byte gSprites
-_0804A808: .4byte gTradeMonSpriteCoords
- thumb_func_end sub_804A740
-
- thumb_func_start sub_804A80C
-sub_804A80C: @ 804A80C
- push {lr}
- sub sp, 0x8
- ldr r0, _0804A838 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x4
- ldr r1, _0804A83C @ =gUnknown_0820C330
- ldrb r2, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- str r1, [sp]
- movs r1, 0x13
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- movs r0, 0x1
- bl sub_804A41C
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0804A838: .4byte gUnknown_03004824
-_0804A83C: .4byte gUnknown_0820C330
- thumb_func_end sub_804A80C
-
- thumb_func_start sub_804A840
-sub_804A840: @ 804A840
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0804A8A8
- ldr r4, _0804A89C @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x4
- ldr r1, _0804A8A0 @ =gUnknown_0820C330
- ldrb r2, [r1]
- ldrb r1, [r1, 0x1]
- str r1, [sp]
- movs r1, 0x13
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- ldr r0, [r4]
- adds r0, 0xC8
- ldr r3, _0804A8A4 @ =gTradePartyBoxTilemap
- movs r1, 0xF
- str r1, [sp]
- movs r1, 0x11
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- bl sub_804A96C_alt
- movs r0, 0
- bl sub_804A6DC
- movs r0, 0
- bl sub_804A41C
- movs r0, 0
- bl sub_804A740
- ldr r0, [r4]
- adds r0, 0xC8
- bl sub_804A938
- b _0804A8FA
- .align 2, 0
-_0804A89C: .4byte gUnknown_03004824
-_0804A8A0: .4byte gUnknown_0820C330
-_0804A8A4: .4byte gTradePartyBoxTilemap
-_0804A8A8:
- bl HandleDestroyMenuCursors
- ldr r4, _0804A924 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x4
- ldr r1, _0804A928 @ =gUnknown_0820C330
- ldrb r2, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- str r1, [sp]
- movs r1, 0x13
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- ldr r0, [r4]
- adds r0, 0xC8
- ldr r3, _0804A92C @ =gTradePartyBoxTilemap
- movs r1, 0xF
- str r1, [sp]
- movs r1, 0x11
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0xF
- movs r2, 0
- bl sub_804A96C_alt
- movs r0, 0x1
- bl sub_804A6DC
- movs r0, 0x1
- bl sub_804A41C
- movs r0, 0x1
- bl sub_804A740
- ldr r0, [r4]
- adds r0, 0xC8
- bl sub_804A938
-_0804A8FA:
- ldr r0, _0804A930 @ =gUnknown_0820C14C
- ldr r0, [r0, 0x4]
- ldr r4, _0804A924 @ =gUnknown_03004824
- ldr r1, [r4]
- adds r1, 0x7E
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, _0804A934 @ =0x06010000
- adds r1, r2
- movs r2, 0x14
- bl sub_804ACD8
- ldr r0, [r4]
- adds r0, 0x80
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A924: .4byte gUnknown_03004824
-_0804A928: .4byte gUnknown_0820C330
-_0804A92C: .4byte gTradePartyBoxTilemap
-_0804A930: .4byte gUnknown_0820C14C
-_0804A934: .4byte 0x06010000
- thumb_func_end sub_804A840
-
- thumb_func_start sub_804A938
-sub_804A938: @ 804A938
- movs r1, 0x1
- strb r1, [r0, 0x10]
- bx lr
- thumb_func_end sub_804A938
-
- thumb_func_start sub_804A940
-sub_804A940: @ 804A940
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _0804A95C
- adds r0, r4, 0
- adds r0, 0x12
- ldr r1, [r4, 0x8]
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- movs r0, 0
- strb r0, [r4, 0x10]
-_0804A95C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_804A940
-
- thumb_func_start sub_804A964
-sub_804A964: @ 804A964
- movs r2, 0
- strb r2, [r0, 0x10]
- str r1, [r0, 0x8]
- bx lr
- thumb_func_end sub_804A964
-
-.section .text.sub_804A9F4
-
- thumb_func_start sub_804A9F4
-sub_804A9F4: @ 804A9F4
- push {lr}
- bl MenuZeroFillScreen
- pop {r0}
- bx r0
- thumb_func_end sub_804A9F4
-
- thumb_func_start sub_804AA00
-sub_804AA00: @ 804AA00
- push {lr}
- bl MenuZeroFillScreen
- pop {r0}
- bx r0
- thumb_func_end sub_804AA00
-
- thumb_func_start sub_804AA0C
-sub_804AA0C: @ 804AA0C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- ldr r0, _0804AA7C @ =gUnknown_03004824
- mov r8, r0
- ldr r0, [r0]
- adds r0, 0x4
- ldr r2, _0804AA80 @ =gTradeMessageWindowRects
- lsrs r4, 22
- adds r1, r4, r2
- ldrb r6, [r1]
- adds r1, r2, 0x1
- adds r1, r4, r1
- ldrb r5, [r1]
- adds r1, r2, 0x2
- adds r1, r4, r1
- ldrb r3, [r1]
- adds r2, 0x3
- adds r2, r4, r2
- ldrb r1, [r2]
- str r1, [sp]
- adds r1, r6, 0
- adds r2, r5, 0
- bl DrawTextWindow
- mov r1, r8
- ldr r3, [r1]
- adds r0, r3, 0x4
- ldr r1, _0804AA84 @ =gUnknown_0820C2F0
- adds r4, r1
- ldr r1, [r4]
- adds r3, 0x7A
- movs r4, 0xC0
- lsls r4, 1
- adds r2, r4, 0
- ldrb r3, [r3]
- adds r2, r3
- adds r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp]
- adds r3, r6, 0
- bl sub_8003460
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AA7C: .4byte gUnknown_03004824
-_0804AA80: .4byte gTradeMessageWindowRects
-_0804AA84: .4byte gUnknown_0820C2F0
- thumb_func_end sub_804AA0C
-
- thumb_func_start sub_804AA88
-sub_804AA88: @ 804AA88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r3, 0
- ldr r5, _0804AAD0 @ =gUnknown_03004824
- ldr r0, _0804AAD4 @ =0x000008dc
- mov r8, r0
- movs r4, 0
- ldr r2, _0804AAD8 @ =0x000008de
- mov r12, r2
- movs r7, 0x8E
- lsls r7, 4
- movs r6, 0xFF
-_0804AAA2:
- ldr r0, [r5]
- lsls r2, r3, 3
- adds r0, r2
- add r0, r8
- strb r4, [r0]
- ldr r1, [r5]
- adds r1, r2
- mov r2, r12
- adds r0, r1, r2
- strh r4, [r0]
- adds r1, r7
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0x3
- ble _0804AAA2
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AAD0: .4byte gUnknown_03004824
-_0804AAD4: .4byte 0x000008dc
-_0804AAD8: .4byte 0x000008de
- thumb_func_end sub_804AA88
-
- thumb_func_start sub_804AADC
-sub_804AADC: @ 804AADC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- movs r3, 0
- ldr r4, _0804AB18 @ =gUnknown_03004824
- mov r12, r4
- ldr r7, _0804AB1C @ =0x000008dc
-_0804AAEE:
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r3, 3
- adds r2, r0, r1
- adds r0, r2, r7
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804AB24
- ldr r3, _0804AB20 @ =0x000008de
- adds r0, r2, r3
- strh r5, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strb r6, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r1, _0804AB1C @ =0x000008dc
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0804AB2A
- .align 2, 0
-_0804AB18: .4byte gUnknown_03004824
-_0804AB1C: .4byte 0x000008dc
-_0804AB20: .4byte 0x000008de
-_0804AB24:
- adds r3, 0x1
- cmp r3, 0x3
- ble _0804AAEE
-_0804AB2A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804AADC
-
- thumb_func_start sub_804AB30
-sub_804AB30: @ 804AB30
- push {r4,r5,lr}
- movs r4, 0
- ldr r3, _0804AB58 @ =gUnknown_03004824
-_0804AB36:
- ldr r0, [r3]
- lsls r1, r4, 3
- adds r2, r0, r1
- ldr r5, _0804AB5C @ =0x000008dc
- adds r0, r2, r5
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _0804ABE2
- ldr r0, _0804AB60 @ =0x000008de
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0804AB64
- subs r0, 0x1
- strh r0, [r1]
- b _0804ABE2
- .align 2, 0
-_0804AB58: .4byte gUnknown_03004824
-_0804AB5C: .4byte 0x000008dc
-_0804AB60: .4byte 0x000008de
-_0804AB64:
- movs r1, 0x8E
- lsls r1, 4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _0804ABD2
- lsls r0, 2
- ldr r1, _0804AB7C @ =_0804AB80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804AB7C: .4byte _0804AB80
- .align 2, 0
-_0804AB80:
- .4byte _0804AB98
- .4byte _0804ABB4
- .4byte _0804ABBC
- .4byte _0804ABC4
- .4byte _0804ABC4
- .4byte _0804ABCC
-_0804AB98:
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0804ABB0 @ =gUnknown_03004824
- ldr r1, [r1]
- adds r1, 0x8C
- movs r2, 0x14
- bl SendBlock
- b _0804ABD2
- .align 2, 0
-_0804ABB0: .4byte gUnknown_03004824
-_0804ABB4:
- movs r0, 0
- bl sub_804AA0C
- b _0804ABD2
-_0804ABBC:
- movs r0, 0x2
- bl sub_804AA0C
- b _0804ABD2
-_0804ABC4:
- movs r0, 0x3
- bl sub_804AA0C
- b _0804ABD2
-_0804ABCC:
- movs r0, 0x3
- bl sub_804AA0C
-_0804ABD2:
- ldr r0, _0804ABF0 @ =gUnknown_03004824
- ldr r1, [r0]
- adds r1, r5
- ldr r2, _0804ABF4 @ =0x000008dc
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- adds r3, r0, 0
-_0804ABE2:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0804AB36
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804ABF0: .4byte gUnknown_03004824
-_0804ABF4: .4byte 0x000008dc
- thumb_func_end sub_804AB30
-
- thumb_func_start sub_804ABF8
-sub_804ABF8: @ 804ABF8
- push {r4,lr}
- ldr r0, _0804AC14 @ =gUnknown_03004824
- ldr r1, [r0]
- adds r1, 0xB4
- ldrb r1, [r1]
- subs r1, 0x8
- adds r4, r0, 0
- cmp r1, 0x8
- bhi _0804ACB0
- lsls r0, r1, 2
- ldr r1, _0804AC18 @ =_0804AC1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804AC14: .4byte gUnknown_03004824
-_0804AC18: .4byte _0804AC1C
- .align 2, 0
-_0804AC1C:
- .4byte _0804AC40
- .4byte _0804ACB0
- .4byte _0804ACB0
- .4byte _0804ACB0
- .4byte _0804ACB0
- .4byte _0804AC60
- .4byte _0804AC74
- .4byte _0804AC88
- .4byte _0804AC9A
-_0804AC40:
- ldr r0, [r4]
- adds r0, 0xB4
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _0804AC5C @ =gUnknown_0820C07C
- adds r0, r1
- bl LoadSpriteSheet
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x7E
- strh r0, [r2]
- b _0804ACC2
- .align 2, 0
-_0804AC5C: .4byte gUnknown_0820C07C
-_0804AC60:
- ldr r0, _0804AC6C @ =gSpritePalette_TradeScreenText
- bl LoadSpritePalette
- ldr r0, _0804AC70 @ =gUnknown_03004824
- ldr r1, [r0]
- b _0804ACC2
- .align 2, 0
-_0804AC6C: .4byte gSpritePalette_TradeScreenText
-_0804AC70: .4byte gUnknown_03004824
-_0804AC74:
- ldr r0, _0804AC80 @ =gUnknown_0820C12C
- bl LoadSpritePalette
- ldr r0, _0804AC84 @ =gUnknown_03004824
- ldr r1, [r0]
- b _0804ACC2
- .align 2, 0
-_0804AC80: .4byte gUnknown_0820C12C
-_0804AC84: .4byte gUnknown_03004824
-_0804AC88:
- ldr r0, _0804ACA8 @ =gUnknown_0820C124
- bl LoadSpriteSheet
- ldr r0, _0804ACAC @ =gUnknown_03004824
- ldr r1, [r0]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0804AC9A:
- ldr r0, _0804ACAC @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xB4
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _0804ACCC
- .align 2, 0
-_0804ACA8: .4byte gUnknown_0820C124
-_0804ACAC: .4byte gUnknown_03004824
-_0804ACB0:
- ldr r0, [r4]
- adds r0, 0xB4
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _0804ACD4 @ =gUnknown_0820C07C
- adds r0, r1
- bl LoadSpriteSheet
- ldr r1, [r4]
-_0804ACC2:
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_0804ACCC:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0804ACD4: .4byte gUnknown_0820C07C
- thumb_func_end sub_804ABF8
-
- thumb_func_start sub_804ACD8
-sub_804ACD8: @ 804ACD8
- push {r4,lr}
- adds r4, r0, 0
- lsls r3, r2, 24
- lsrs r3, 24
- ldr r0, _0804ACF0 @ =gWindowConfig_81E725C
- adds r2, r4, 0
- bl sub_804AFB8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804ACF0: .4byte gWindowConfig_81E725C
- thumb_func_end sub_804ACD8
-
- thumb_func_start sub_804ACF4
-sub_804ACF4: @ 804ACF4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0
- beq _0804AD0C
- cmp r0, 0x1
- beq _0804ADA0
- b _0804AE2C
-_0804AD0C:
- movs r7, 0
- ldr r1, _0804AD4C @ =gUnknown_03004824
- ldr r0, [r1]
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r7, r0
- blt _0804AD1C
- b _0804AE2C
-_0804AD1C:
- adds r6, r1, 0
- movs r5, 0
- mov r9, r5
-_0804AD22:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _0804AD50 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0804AD54
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x5D
- adds r0, r5
- b _0804AD84
- .align 2, 0
-_0804AD4C: .4byte gUnknown_03004824
-_0804AD50: .4byte gPlayerParty
-_0804AD54:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0804AD72
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x5D
- adds r0, r5
- b _0804AD84
-_0804AD72:
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x5D
- adds r0, r5
- mov r1, r9
-_0804AD84:
- strb r1, [r0]
- ldr r0, _0804AD9C @ =gUnknown_03004824
- adds r5, 0x1
- adds r7, 0x1
- ldr r0, [r0]
- adds r0, 0x42
- add r0, r8
- ldrb r0, [r0]
- cmp r7, r0
- blt _0804AD22
- b _0804AE2C
- .align 2, 0
-_0804AD9C: .4byte gUnknown_03004824
-_0804ADA0:
- movs r7, 0
- ldr r1, _0804ADE0 @ =gUnknown_03004824
- ldr r0, [r1]
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r7, r0
- bge _0804AE2C
- adds r6, r1, 0
- movs r5, 0x6
- movs r2, 0
- mov r9, r2
-_0804ADB6:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _0804ADE4 @ =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0804ADE8
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x5D
- adds r0, r5
- b _0804AE18
- .align 2, 0
-_0804ADE0: .4byte gUnknown_03004824
-_0804ADE4: .4byte gEnemyParty
-_0804ADE8:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0804AE06
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x5D
- adds r0, r5
- b _0804AE18
-_0804AE06:
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x5D
- adds r0, r5
- mov r1, r9
-_0804AE18:
- strb r1, [r0]
- ldr r0, _0804AE38 @ =gUnknown_03004824
- adds r5, 0x1
- adds r7, 0x1
- ldr r0, [r0]
- adds r0, 0x42
- add r0, r8
- ldrb r0, [r0]
- cmp r7, r0
- blt _0804ADB6
-_0804AE2C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AE38: .4byte gUnknown_03004824
- thumb_func_end sub_804ACF4
-
- thumb_func_start sub_804AE3C
-sub_804AE3C: @ 804AE3C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0804AE4C
- cmp r0, 0x1
- beq _0804AEAC
- b _0804AF00
-_0804AE4C:
- movs r6, 0
- ldr r1, _0804AEA4 @ =gUnknown_03004824
- ldr r0, [r1]
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0804AF00
- adds r7, r1, 0
-_0804AE5C:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _0804AEA8 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetHPBarLevel
- ldr r1, [r7]
- adds r1, 0x69
- adds r1, r6
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7]
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0804AE5C
- b _0804AF00
- .align 2, 0
-_0804AEA4: .4byte gUnknown_03004824
-_0804AEA8: .4byte gPlayerParty
-_0804AEAC:
- movs r6, 0
- ldr r1, _0804AF08 @ =gUnknown_03004824
- ldr r0, [r1]
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0804AF00
- adds r7, r1, 0
-_0804AEBC:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _0804AF0C @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetHPBarLevel
- ldr r1, [r7]
- adds r1, 0x6F
- adds r1, r6
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7]
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0804AEBC
-_0804AF00:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AF08: .4byte gUnknown_03004824
-_0804AF0C: .4byte gEnemyParty
- thumb_func_end sub_804AE3C
-
- thumb_func_start sub_804AF10
-sub_804AF10: @ 804AF10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
-_0804AF18:
- movs r4, 0
- ldr r2, _0804AF7C @ =gUnknown_03004824
- ldr r0, [r2]
- adds r0, 0x42
- adds r0, r5
- adds r1, r5, 0x1
- mov r8, r1
- ldrb r0, [r0]
- cmp r4, r0
- bge _0804AF6A
- adds r6, r2, 0
- lsls r0, r5, 1
- adds r0, r5
- lsls r7, r0, 1
-_0804AF34:
- ldr r2, [r6]
- adds r3, r4, r7
- adds r0, r2, 0
- adds r0, 0x34
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804AF80 @ =gSprites
- adds r0, r1
- adds r2, 0x69
- adds r2, r3
- ldrb r2, [r2]
- movs r1, 0x4
- subs r1, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_809D824
- adds r4, 0x1
- ldr r0, [r6]
- adds r0, 0x42
- adds r0, r5
- ldrb r0, [r0]
- cmp r4, r0
- blt _0804AF34
-_0804AF6A:
- mov r5, r8
- cmp r5, 0x1
- ble _0804AF18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AF7C: .4byte gUnknown_03004824
-_0804AF80: .4byte gSprites
- thumb_func_end sub_804AF10
-
- thumb_func_start sub_804AF84
-sub_804AF84: @ 804AF84
- push {r4,lr}
- movs r2, 0
- ldr r4, _0804AFB0 @ =gSaveBlock1 + 0x3110
- ldr r3, _0804AFB4 @ =gUnknown_03004824
-_0804AF8C:
- adds r1, r2, r4
- ldrb r0, [r1]
- cmp r0, 0
- bne _0804AFA2
- ldr r0, [r3]
- adds r0, 0xB5
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804AFA2
- strb r0, [r1]
-_0804AFA2:
- adds r2, 0x1
- cmp r2, 0xA
- ble _0804AF8C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AFB0: .4byte gSaveBlock1 + 0x3110
-_0804AFB4: .4byte gUnknown_03004824
- thumb_func_end sub_804AF84
-
- thumb_func_start sub_804AFB8
-sub_804AFB8: @ 804AFB8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r0
- mov r8, r1
- mov r10, r2
- lsls r3, 24
- lsrs r6, r3, 24
- adds r0, r6, 0x3
- lsrs r6, r0, 2
- ldr r7, _0804B054 @ =gTileBuffer
- mov r0, sp
- movs r5, 0
- strh r5, [r0]
- lsls r4, r6, 6
- movs r0, 0x80
- lsls r0, 17
- orrs r4, r0
- mov r0, sp
- adds r1, r7, 0
- adds r2, r4, 0
- bl CpuSet
- mov r0, sp
- adds r0, 0x2
- strh r5, [r0]
- mov r2, r9
- ldrb r1, [r2, 0xD]
- lsls r1, 5
- adds r1, r7
- adds r2, r4, 0
- bl CpuSet
- mov r0, r9
- adds r1, r7, 0
- mov r2, r10
- bl sub_8004E3C
- movs r4, 0
- cmp r4, r6
- bcs _0804B042
-_0804B010:
- lsls r0, r4, 7
- adds r0, r7, r0
- lsls r1, r4, 8
- add r1, r8
- movs r2, 0x40
- bl CpuSet
- lsls r0, r4, 2
- mov r1, r9
- ldrb r1, [r1, 0xD]
- adds r0, r1
- lsls r0, 5
- adds r0, r7, r0
- lsls r1, r4, 3
- adds r1, 0x4
- lsls r1, 5
- add r1, r8
- movs r2, 0x40
- bl CpuSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _0804B010
-_0804B042:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B054: .4byte gTileBuffer
- thumb_func_end sub_804AFB8
-
- thumb_func_start sub_804B058
-sub_804B058: @ 804B058
- 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, 0xA
- bne _0804B074
- movs r0, 0x17
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0804B074:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_804B058
-
- thumb_func_start sub_804B07C
-sub_804B07C: @ 804B07C
- push {lr}
- adds r2, r0, 0
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- bne _0804B0B2
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _0804B098
- strh r1, [r2, 0x2E]
-_0804B098:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- lsls r0, 1
- ldr r1, _0804B0B8 @ =gTradeGlow2PaletteAnimTable
- adds r0, r1
- ldrb r1, [r2, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- adds r1, 0x4
- movs r2, 0x2
- bl LoadPalette
-_0804B0B2:
- pop {r0}
- bx r0
- .align 2, 0
-_0804B0B8: .4byte gTradeGlow2PaletteAnimTable
- thumb_func_end sub_804B07C
-
- thumb_func_start sub_804B0BC
-sub_804B0BC: @ 804B0BC
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- adds r1, 0x1
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xA
- bne _0804B0DA
- adds r0, r2, 0
- bl DestroySprite
-_0804B0DA:
- pop {r0}
- bx r0
- thumb_func_end sub_804B0BC
-
- thumb_func_start sub_804B0E0
-sub_804B0E0: @ 804B0E0
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- adds r1, 0x1
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x26]
- subs r0, 0x1
- strh r0, [r2, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xA
- bne _0804B0FE
- adds r0, r2, 0
- bl DestroySprite
-_0804B0FE:
- pop {r0}
- bx r0
- thumb_func_end sub_804B0E0
-
- thumb_func_start sub_804B104
-sub_804B104: @ 804B104
- 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, 0xF
- bne _0804B120
- movs r0, 0xCC
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0804B120:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_804B104
-
- thumb_func_start sub_804B128
-sub_804B128: @ 804B128
- push {r4,r5,lr}
- sub sp, 0x20
- ldr r0, _0804B1B4 @ =gUnknown_03004828
- ldr r0, [r0]
- mov r12, r0
- movs r0, 0x82
- lsls r0, 1
- add r0, r12
- ldrh r1, [r0]
- lsls r1, 8
- movs r0, 0x83
- lsls r0, 1
- add r0, r12
- ldrh r2, [r0]
- lsls r2, 8
- movs r0, 0x86
- lsls r0, 1
- add r0, r12
- movs r4, 0
- ldrsh r3, [r0, r4]
- movs r0, 0x87
- lsls r0, 1
- add r0, r12
- movs r5, 0
- ldrsh r0, [r0, r5]
- str r0, [sp]
- movs r4, 0x8C
- lsls r4, 1
- add r4, r12
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x4]
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x8]
- movs r0, 0x8E
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- bl DoBgAffineSet
- ldr r1, _0804B1B8 @ =REG_BG2PA
- add r0, sp, 0x10
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- add r0, sp, 0x10
- ldrh r0, [r0, 0x2]
- strh r0, [r1]
- adds r1, 0x2
- add r0, sp, 0x10
- ldrh r0, [r0, 0x4]
- strh r0, [r1]
- adds r1, 0x2
- add r0, sp, 0x10
- ldrh r0, [r0, 0x6]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [sp, 0x18]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [sp, 0x1C]
- str r0, [r1]
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B1B4: .4byte gUnknown_03004828
-_0804B1B8: .4byte REG_BG2PA
- thumb_func_end sub_804B128
-
- thumb_func_start sub_804B1BC
-sub_804B1BC: @ 804B1BC
- push {lr}
- ldr r1, _0804B1FC @ =REG_BG1VOFS
- ldr r0, _0804B200 @ =gUnknown_03004828
- ldr r2, [r0]
- movs r3, 0x88
- lsls r3, 1
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x2
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 19
- ldrh r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0804B208
- ldr r1, _0804B204 @ =REG_BG2VOFS
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x2
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- b _0804B20C
- .align 2, 0
-_0804B1FC: .4byte REG_BG1VOFS
-_0804B200: .4byte gUnknown_03004828
-_0804B204: .4byte REG_BG2VOFS
-_0804B208:
- bl sub_804B128
-_0804B20C:
- pop {r0}
- bx r0
- thumb_func_end sub_804B1BC
-
- thumb_func_start sub_804B210
-sub_804B210: @ 804B210
- push {lr}
- bl sub_804B1BC
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_804B210
-
- thumb_func_start sub_804B228
-sub_804B228: @ 804B228
- push {r4,lr}
- ldr r4, _0804B248 @ =gUnknown_03004828
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xB4
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- adds r1, 0xB2
- strb r3, [r1]
- ldr r0, [r4]
- adds r0, 0xB3
- strb r3, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B248: .4byte gUnknown_03004828
- thumb_func_end sub_804B228
-
- thumb_func_start sub_804B24C
-sub_804B24C: @ 804B24C
- push {r4,r5,lr}
- ldr r1, _0804B270 @ =gUnknown_03004828
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0xB2
- adds r3, r2, 0
- adds r3, 0xB3
- ldrb r0, [r0]
- adds r5, r1, 0
- ldrb r3, [r3]
- cmp r0, r3
- bne _0804B274
- adds r1, r2, 0
- adds r1, 0xB4
- ldrh r0, [r1]
- adds r0, 0x1
- b _0804B27A
- .align 2, 0
-_0804B270: .4byte gUnknown_03004828
-_0804B274:
- adds r1, r2, 0
- adds r1, 0xB4
- movs r0, 0
-_0804B27A:
- strh r0, [r1]
- adds r4, r5, 0
- ldr r3, [r4]
- adds r2, r3, 0
- adds r2, 0xB4
- ldrh r0, [r2]
- cmp r0, 0xB4
- bls _0804B29C
- movs r1, 0
- movs r0, 0
- strh r0, [r2]
- adds r0, r3, 0
- adds r0, 0xB3
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xB2
- strb r1, [r0]
-_0804B29C:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0xB2
- ldrb r1, [r1]
- adds r0, 0xB3
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_804B24C
-
- thumb_func_start sub_804B2B0
-sub_804B2B0: @ 804B2B0
- push {lr}
- ldr r0, _0804B2C0 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804B2C4
- movs r0, 0
- b _0804B2CC
- .align 2, 0
-_0804B2C0: .4byte gReceivedRemoteLinkPlayers
-_0804B2C4:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
-_0804B2CC:
- pop {r1}
- bx r1
- thumb_func_end sub_804B2B0
-
- thumb_func_start sub_804B2D0
-sub_804B2D0: @ 804B2D0
- 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
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- mov r10, r4
- cmp r7, 0
- bne _0804B2FC
- ldr r0, _0804B324 @ =gUnknown_020297D8
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _0804B328 @ =gPlayerParty
- adds r1, r0
- mov r10, r1
- movs r4, 0x1
-_0804B2FC:
- cmp r7, 0x1
- bne _0804B31A
- ldr r0, _0804B324 @ =gUnknown_020297D8
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, _0804B32C @ =gEnemyParty
- adds r1, r0
- mov r10, r1
- movs r4, 0x3
-_0804B31A:
- cmp r5, 0
- beq _0804B330
- cmp r5, 0x1
- beq _0804B3A4
- b _0804B3FA
- .align 2, 0
-_0804B324: .4byte gUnknown_020297D8
-_0804B328: .4byte gPlayerParty
-_0804B32C: .4byte gEnemyParty
-_0804B330:
- mov r0, r10
- movs r1, 0x41
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, r10
- movs r1, 0
- bl GetMonData
- mov r9, r0
- lsls r0, r5, 3
- ldr r1, _0804B390 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _0804B394 @ =gMonFrontPicCoords
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- ldr r3, _0804B398 @ =0x02000000
- ldr r6, _0804B39C @ =gUnknown_081FAF4C
- lsls r7, 1
- mov r8, r7
- mov r4, r8
- adds r4, 0x1
- lsls r4, 2
- adds r4, r6
- ldr r4, [r4]
- str r4, [sp]
- str r5, [sp, 0x4]
- mov r4, r9
- str r4, [sp, 0x8]
- bl HandleLoadSpecialPokePic
- mov r0, r10
- bl sub_8040990
- bl LoadCompressedObjectPalette
- ldr r0, _0804B3A0 @ =gUnknown_03004828
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 1
- adds r0, r1
- add r0, r8
- strh r5, [r0]
- b _0804B3FA
- .align 2, 0
-_0804B390: .4byte gMonFrontPicTable
-_0804B394: .4byte gMonFrontPicCoords
-_0804B398: .4byte 0x02000000
-_0804B39C: .4byte gUnknown_081FAF4C
-_0804B3A0: .4byte gUnknown_03004828
-_0804B3A4:
- mov r0, r10
- bl sub_8040990
- ldrh r0, [r0, 0x4]
- adds r1, r4, 0
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _0804B40C @ =gUnknown_02024E8C
- movs r1, 0x78
- movs r2, 0x3C
- movs r3, 0x6
- bl CreateSprite
- ldr r4, _0804B410 @ =gUnknown_03004828
- ldr r1, [r4]
- adds r1, 0xB8
- adds r1, r7
- strb r0, [r1]
- ldr r3, _0804B414 @ =gSprites
- ldr r0, [r4]
- adds r0, 0xB8
- adds r0, r7
- ldrb r1, [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]
- ldr r0, [r4]
- adds r0, 0xB8
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, _0804B418 @ =SpriteCallbackDummy
- str r1, [r0]
-_0804B3FA:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B40C: .4byte gUnknown_02024E8C
-_0804B410: .4byte gUnknown_03004828
-_0804B414: .4byte gSprites
-_0804B418: .4byte SpriteCallbackDummy
- thumb_func_end sub_804B2D0
-
- thumb_func_start sub_804B41C
-sub_804B41C: @ 804B41C
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r1, _0804B43C @ =gMain
- ldr r2, _0804B440 @ =0x0000043c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xC
- bls _0804B430
- b _0804B76E
-_0804B430:
- lsls r0, 2
- ldr r1, _0804B444 @ =_0804B448
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804B43C: .4byte gMain
-_0804B440: .4byte 0x0000043c
-_0804B444: .4byte _0804B448
- .align 2, 0
-_0804B448:
- .4byte _0804B47C
- .4byte _0804B5AC
- .4byte _0804B5D4
- .4byte _0804B5FC
- .4byte _0804B648
- .4byte _0804B678
- .4byte _0804B6A8
- .4byte _0804B6B2
- .4byte _0804B6CC
- .4byte _0804B6E4
- .4byte _0804B71C
- .4byte _0804B726
- .4byte _0804B75C
-_0804B47C:
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- bl ResetTasks
- bl CloseLink
- ldr r6, _0804B570 @ =gUnknown_03004828
- ldr r5, _0804B574 @ =0x0201f000
- str r5, [r6]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, _0804B578 @ =sub_804B210
- bl SetVBlankCallback
- bl sub_804B228
- ldr r4, _0804B57C @ =gWindowConfig_81E6F84
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, [r6]
- adds r0, 0x4
- adds r1, r4, 0
- bl InitWindowFromConfig
- movs r0, 0x2
- bl SetTextWindowBaseTileNum
- ldr r1, [r6]
- adds r1, 0x34
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x4
- bl LoadTextWindowGraphics
- bl MenuZeroFillScreen
- ldr r1, _0804B580 @ =gLinkType
- ldr r4, _0804B584 @ =0x00001144
- adds r0, r4, 0
- strh r0, [r1]
- ldr r1, _0804B588 @ =gMain
- ldr r0, _0804B58C @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, _0804B590 @ =gUnknown_08D00000
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r0, _0804B594 @ =gUnknown_08D00524
- ldr r1, _0804B598 @ =0xfffe1000
- adds r5, r1
- movs r2, 0x80
- lsls r2, 4
- adds r1, r5, 0
- bl CpuSet
- ldr r1, _0804B59C @ =0x06002800
- ldr r0, _0804B5A0 @ =0x040000d4
- str r5, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0804B5A4 @ =0x80000280
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _0804B5A8 @ =gUnknown_08D004E0
- movs r1, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xB6
- movs r2, 0
- strh r2, [r0]
- adds r0, 0xE
- strh r2, [r0]
- movs r4, 0x8F
- lsls r4, 1
- adds r1, r4
- movs r0, 0x1
- strb r0, [r1]
- ldr r3, [r6]
- movs r1, 0x82
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0x40
- strh r1, [r0]
- subs r4, 0x18
- adds r0, r3, r4
- strh r1, [r0]
- adds r1, 0xC8
- adds r0, r3, r1
- strh r2, [r0]
- adds r4, 0x4
- adds r0, r3, r4
- strh r2, [r0]
- movs r0, 0x86
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x78
- strh r0, [r1]
- adds r4, 0x4
- adds r1, r3, r4
- movs r0, 0x50
- strh r0, [r1]
- adds r0, 0xC8
- adds r1, r3, r0
- subs r0, 0x18
- strh r0, [r1]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r3, r1
- strh r2, [r0]
- b _0804B76E
- .align 2, 0
-_0804B570: .4byte gUnknown_03004828
-_0804B574: .4byte 0x0201f000
-_0804B578: .4byte sub_804B210
-_0804B57C: .4byte gWindowConfig_81E6F84
-_0804B580: .4byte gLinkType
-_0804B584: .4byte 0x00001144
-_0804B588: .4byte gMain
-_0804B58C: .4byte 0x0000043c
-_0804B590: .4byte gUnknown_08D00000
-_0804B594: .4byte gUnknown_08D00524
-_0804B598: .4byte 0xfffe1000
-_0804B59C: .4byte 0x06002800
-_0804B5A0: .4byte 0x040000d4
-_0804B5A4: .4byte 0x80000280
-_0804B5A8: .4byte gUnknown_08D004E0
-_0804B5AC:
- bl OpenLink
- ldr r1, _0804B5C8 @ =gMain
- ldr r2, _0804B5CC @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, _0804B5D0 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0xC0
- str r2, [r0]
- b _0804B76E
- .align 2, 0
-_0804B5C8: .4byte gMain
-_0804B5CC: .4byte 0x0000043c
-_0804B5D0: .4byte gUnknown_03004828
-_0804B5D4:
- ldr r0, _0804B5F4 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bhi _0804B5E8
- b _0804B76E
-_0804B5E8:
- movs r0, 0
- str r0, [r1]
- ldr r4, _0804B5F8 @ =0x0000043c
- adds r1, r2, r4
- b _0804B74C
- .align 2, 0
-_0804B5F4: .4byte gUnknown_03004828
-_0804B5F8: .4byte 0x0000043c
-_0804B5FC:
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- bne _0804B608
- b _0804B746
-_0804B608:
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl sub_800820C
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcs _0804B61C
- b _0804B76E
-_0804B61C:
- ldr r0, _0804B63C @ =gUnknown_03004828
- ldr r1, [r0]
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x1E
- bhi _0804B62E
- b _0804B76E
-_0804B62E:
- bl sub_8007F4C
- ldr r1, _0804B640 @ =gMain
- ldr r0, _0804B644 @ =0x0000043c
- adds r1, r0
- b _0804B74C
- .align 2, 0
-_0804B63C: .4byte gUnknown_03004828
-_0804B640: .4byte gMain
-_0804B644: .4byte 0x0000043c
-_0804B648:
- bl sub_804B24C
- ldr r0, _0804B66C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0804B656
- b _0804B76E
-_0804B656:
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0804B664
- b _0804B76E
-_0804B664:
- ldr r1, _0804B670 @ =gMain
- ldr r4, _0804B674 @ =0x0000043c
- adds r1, r4
- b _0804B74C
- .align 2, 0
-_0804B66C: .4byte gReceivedRemoteLinkPlayers
-_0804B670: .4byte gMain
-_0804B674: .4byte 0x0000043c
-_0804B678:
- ldr r2, _0804B69C @ =gUnknown_03004828
- ldr r0, [r2]
- adds r0, 0x9C
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xBD
- strb r1, [r0]
- movs r0, 0
- bl sub_804B2D0
- ldr r1, _0804B6A0 @ =gMain
- ldr r0, _0804B6A4 @ =0x0000043c
- adds r1, r0
- b _0804B74C
- .align 2, 0
-_0804B69C: .4byte gUnknown_03004828
-_0804B6A0: .4byte gMain
-_0804B6A4: .4byte 0x0000043c
-_0804B6A8:
- movs r0, 0
- movs r1, 0x1
- bl sub_804B2D0
- b _0804B746
-_0804B6B2:
- movs r0, 0x1
- movs r1, 0
- bl sub_804B2D0
- ldr r1, _0804B6C4 @ =gMain
- ldr r4, _0804B6C8 @ =0x0000043c
- adds r1, r4
- b _0804B74C
- .align 2, 0
-_0804B6C4: .4byte gMain
-_0804B6C8: .4byte 0x0000043c
-_0804B6CC:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_804B2D0
- ldr r1, _0804B6DC @ =gMain
- ldr r0, _0804B6E0 @ =0x0000043c
- adds r1, r0
- b _0804B74C
- .align 2, 0
-_0804B6DC: .4byte gMain
-_0804B6E0: .4byte 0x0000043c
-_0804B6E4:
- bl sub_804C164
- ldr r0, _0804B704 @ =gUnknown_0821594C
- bl LoadSpriteSheet
- ldr r0, _0804B708 @ =gUnknown_08215954
- bl LoadSpritePalette
- ldr r1, _0804B70C @ =REG_BG1CNT
- ldr r2, _0804B710 @ =0x00000502
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _0804B714 @ =gMain
- ldr r4, _0804B718 @ =0x0000043c
- adds r1, r4
- b _0804B74C
- .align 2, 0
-_0804B704: .4byte gUnknown_0821594C
-_0804B708: .4byte gUnknown_08215954
-_0804B70C: .4byte REG_BG1CNT
-_0804B710: .4byte 0x00000502
-_0804B714: .4byte gMain
-_0804B718: .4byte 0x0000043c
-_0804B71C:
- ldr r0, _0804B754 @ =0x0000043c
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0804B726:
- movs r0, 0x5
- bl sub_804BBE8
- movs r0, 0
- bl sub_804BBE8
- bl sub_804C1A8
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0804B746:
- ldr r1, _0804B758 @ =gMain
- ldr r2, _0804B754 @ =0x0000043c
- adds r1, r2
-_0804B74C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804B76E
- .align 2, 0
-_0804B754: .4byte 0x0000043c
-_0804B758: .4byte gMain
-_0804B75C:
- ldr r0, _0804B788 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804B76E
- ldr r0, _0804B78C @ =sub_804DB84
- bl SetMainCallback2
-_0804B76E:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B788: .4byte gPaletteFade
-_0804B78C: .4byte sub_804DB84
- thumb_func_end sub_804B41C
-
- thumb_func_start sub_804B790
-sub_804B790: @ 804B790
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- ldr r1, _0804B7B4 @ =gMain
- ldr r2, _0804B7B8 @ =0x0000043c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xC
- bls _0804B7A8
- b _0804B9F2
-_0804B7A8:
- lsls r0, 2
- ldr r1, _0804B7BC @ =_0804B7C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804B7B4: .4byte gMain
-_0804B7B8: .4byte 0x0000043c
-_0804B7BC: .4byte _0804B7C0
- .align 2, 0
-_0804B7C0:
- .4byte _0804B7F4
- .4byte _0804B9F2
- .4byte _0804B9F2
- .4byte _0804B9F2
- .4byte _0804B9F2
- .4byte _0804B914
- .4byte _0804B92C
- .4byte _0804B944
- .4byte _0804B94E
- .4byte _0804B968
- .4byte _0804B9A0
- .4byte _0804B9AA
- .4byte _0804B9E0
-_0804B7F4:
- ldr r1, _0804B8E0 @ =gUnknown_020297D8
- ldr r0, _0804B8E4 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- movs r6, 0
- strb r0, [r1]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- ldr r4, _0804B8E8 @ =gLinkPlayers + 0x8
- ldr r1, _0804B8EC @ =gSaveBlock2
- adds r0, r4, 0
- bl StringCopy
- ldr r0, _0804B8F0 @ =gEnemyParty
- movs r1, 0x7
- add r2, sp, 0x4
- bl GetMonData
- adds r4, 0x1C
- adds r0, r4, 0
- add r1, sp, 0x4
- bl StringCopy
- movs r0, 0x80
- lsls r0, 19
- movs r3, 0
- mov r8, r3
- strh r6, [r0]
- bl ResetTasks
- ldr r5, _0804B8F4 @ =gUnknown_03004828
- ldr r0, _0804B8F8 @ =0x0201f000
- str r0, [r5]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, _0804B8FC @ =sub_804B210
- bl SetVBlankCallback
- bl sub_804B228
- ldr r4, _0804B900 @ =gWindowConfig_81E717C
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, [r5]
- adds r0, 0x4
- adds r1, r4, 0
- bl InitWindowFromConfig
- movs r0, 0x2
- bl SetTextWindowBaseTileNum
- ldr r1, [r5]
- adds r1, 0x34
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x4
- bl LoadTextWindowGraphics
- bl MenuZeroFillScreen
- ldr r1, _0804B904 @ =gLinkType
- ldr r2, _0804B908 @ =0x00001144
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, [r5]
- movs r3, 0x8F
- lsls r3, 1
- adds r0, r3
- mov r1, r8
- strb r1, [r0]
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0xB6
- strh r6, [r0]
- adds r0, 0xE
- strh r6, [r0]
- subs r3, 0x1A
- adds r0, r2, r3
- movs r1, 0x40
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strh r1, [r0]
- adds r1, 0xC8
- adds r0, r2, r1
- strh r6, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- strh r6, [r0]
- movs r0, 0x86
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x78
- strh r0, [r1]
- adds r3, 0x4
- adds r1, r2, r3
- movs r0, 0x50
- strh r0, [r1]
- adds r0, 0xC8
- adds r1, r2, r0
- subs r0, 0x18
- strh r0, [r1]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r2, r1
- strh r6, [r0]
- adds r0, r2, 0
- adds r0, 0xC0
- str r6, [r0]
- ldr r0, _0804B90C @ =gMain
- ldr r2, _0804B910 @ =0x0000043c
- adds r0, r2
- movs r1, 0x5
- strb r1, [r0]
- b _0804B9F2
- .align 2, 0
-_0804B8E0: .4byte gUnknown_020297D8
-_0804B8E4: .4byte gSpecialVar_0x8005
-_0804B8E8: .4byte gLinkPlayers + 0x8
-_0804B8EC: .4byte gSaveBlock2
-_0804B8F0: .4byte gEnemyParty
-_0804B8F4: .4byte gUnknown_03004828
-_0804B8F8: .4byte 0x0201f000
-_0804B8FC: .4byte sub_804B210
-_0804B900: .4byte gWindowConfig_81E717C
-_0804B904: .4byte gLinkType
-_0804B908: .4byte 0x00001144
-_0804B90C: .4byte gMain
-_0804B910: .4byte 0x0000043c
-_0804B914:
- movs r0, 0
- movs r1, 0
- bl sub_804B2D0
- ldr r1, _0804B924 @ =gMain
- ldr r3, _0804B928 @ =0x0000043c
- adds r1, r3
- b _0804B9D0
- .align 2, 0
-_0804B924: .4byte gMain
-_0804B928: .4byte 0x0000043c
-_0804B92C:
- movs r0, 0
- movs r1, 0x1
- bl sub_804B2D0
- ldr r1, _0804B93C @ =gMain
- ldr r0, _0804B940 @ =0x0000043c
- adds r1, r0
- b _0804B9D0
- .align 2, 0
-_0804B93C: .4byte gMain
-_0804B940: .4byte 0x0000043c
-_0804B944:
- movs r0, 0x1
- movs r1, 0
- bl sub_804B2D0
- b _0804B9CA
-_0804B94E:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_804B2D0
- ldr r1, _0804B960 @ =gMain
- ldr r3, _0804B964 @ =0x0000043c
- adds r1, r3
- b _0804B9D0
- .align 2, 0
-_0804B960: .4byte gMain
-_0804B964: .4byte 0x0000043c
-_0804B968:
- bl sub_804C164
- ldr r0, _0804B988 @ =gUnknown_0821594C
- bl LoadSpriteSheet
- ldr r0, _0804B98C @ =gUnknown_08215954
- bl LoadSpritePalette
- ldr r1, _0804B990 @ =REG_BG1CNT
- ldr r2, _0804B994 @ =0x00000502
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _0804B998 @ =gMain
- ldr r3, _0804B99C @ =0x0000043c
- adds r1, r3
- b _0804B9D0
- .align 2, 0
-_0804B988: .4byte gUnknown_0821594C
-_0804B98C: .4byte gUnknown_08215954
-_0804B990: .4byte REG_BG1CNT
-_0804B994: .4byte 0x00000502
-_0804B998: .4byte gMain
-_0804B99C: .4byte 0x0000043c
-_0804B9A0:
- ldr r0, _0804B9D8 @ =0x0000043c
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0804B9AA:
- movs r0, 0x5
- bl sub_804BBE8
- movs r0, 0
- bl sub_804BBE8
- bl sub_804C1A8
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0804B9CA:
- ldr r1, _0804B9DC @ =gMain
- ldr r2, _0804B9D8 @ =0x0000043c
- adds r1, r2
-_0804B9D0:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804B9F2
- .align 2, 0
-_0804B9D8: .4byte 0x0000043c
-_0804B9DC: .4byte gMain
-_0804B9E0:
- ldr r0, _0804BA10 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804B9F2
- ldr r0, _0804BA14 @ =sub_804BBCC
- bl SetMainCallback2
-_0804B9F2:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804BA10: .4byte gPaletteFade
-_0804BA14: .4byte sub_804BBCC
- thumb_func_end sub_804B790
-
- thumb_func_start sub_804BA18
-sub_804BA18: @ 804BA18
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, _0804BA60 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804BA5A
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToNationalPokedexNum
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x2
- bl GetNationalPokedexFlag
- adds r0, r4, 0
- movs r1, 0x3
- bl GetNationalPokedexFlag
-_0804BA5A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804BA60: .4byte gPlayerParty
- thumb_func_end sub_804BA18
-
- thumb_func_start sub_804BA64
-sub_804BA64: @ 804BA64
- push {lr}
- bl GetMultiplayerId
- lsls r0, 24
- ldr r2, _0804BA90 @ =gLinkPlayers
- movs r1, 0x80
- lsls r1, 17
- eors r1, r0
- lsrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x2]
- movs r0, 0x80
- lsls r0, 8
- cmp r1, r0
- bne _0804BA8C
- bl EnableNationalPokedex
-_0804BA8C:
- pop {r0}
- bx r0
- .align 2, 0
-_0804BA90: .4byte gLinkPlayers
- thumb_func_end sub_804BA64
-
- thumb_func_start sub_804BA94
-sub_804BA94: @ 804BA94
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0x64
- mov r1, r9
- muls r1, r5
- ldr r0, _0804BB60 @ =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x40
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r1, r4, 0
- muls r1, r5
- ldr r0, _0804BB64 @ =gEnemyParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x40
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r6, 0xFF
- beq _0804BAE8
- lsls r0, r6, 3
- adds r0, r6
- lsls r0, 2
- ldr r1, _0804BB68 @ =gSaveBlock1 + 0x2B4C
- adds r0, r1
- bl ClearMailStruct
-_0804BAE8:
- ldr r4, _0804BB6C @ =gUnknown_03004828
- ldr r0, [r4]
- adds r0, 0x38
- adds r1, r7, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- ldr r1, [r4]
- adds r1, 0x38
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- movs r1, 0x46
- mov r0, sp
- strb r1, [r0]
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804BB28
- adds r0, r7, 0
- movs r1, 0x20
- mov r2, sp
- bl SetMonData
-_0804BB28:
- mov r0, r8
- cmp r0, 0xFF
- beq _0804BB3E
- lsls r1, r0, 3
- add r1, r8
- lsls r1, 2
- ldr r0, _0804BB70 @ =gUnknown_02029700
- adds r1, r0
- adds r0, r7, 0
- bl GiveMailToMon2
-_0804BB3E:
- mov r0, r9
- bl sub_804BA18
- ldr r0, _0804BB74 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804BB50
- bl sub_804BA64
-_0804BB50:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804BB60: .4byte gPlayerParty
-_0804BB64: .4byte gEnemyParty
-_0804BB68: .4byte gSaveBlock1 + 0x2B4C
-_0804BB6C: .4byte gUnknown_03004828
-_0804BB70: .4byte gUnknown_02029700
-_0804BB74: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_804BA94
-
- thumb_func_start sub_804BB78
-sub_804BB78: @ 804BB78
- push {r4,lr}
- ldr r4, _0804BB8C @ =gUnknown_03004828
- ldr r0, [r4]
- adds r0, 0xBD
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0804BB90
- cmp r0, 0x2
- beq _0804BBB6
- b _0804BBC0
- .align 2, 0
-_0804BB8C: .4byte gUnknown_03004828
-_0804BB90:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _0804BBB6
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x9E
- movs r2, 0x14
- bl SendBlock
- ldr r1, [r4]
- adds r1, 0xBD
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0804BBB6:
- ldr r0, _0804BBC8 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0xBD
- movs r1, 0
- strb r1, [r0]
-_0804BBC0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804BBC8: .4byte gUnknown_03004828
- thumb_func_end sub_804BB78
-
- thumb_func_start sub_804BBCC
-sub_804BBCC: @ 804BBCC
- push {lr}
- bl sub_804C29C
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_804BBCC
-
- thumb_func_start sub_804BBE8
-sub_804BBE8: @ 804BBE8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _0804BBF4
- b _0804C0CA
-_0804BBF4:
- lsls r0, 2
- ldr r1, _0804BC00 @ =_0804BC04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804BC00: .4byte _0804BC04
- .align 2, 0
-_0804BC04:
- .4byte _0804BC24
- .4byte _0804BCC4
- .4byte _0804BD5C
- .4byte _0804BDA4
- .4byte _0804BE48
- .4byte _0804BEF8
- .4byte _0804BFA0
- .4byte _0804C060
-_0804BC24:
- ldr r0, _0804BCA0 @ =gUnknown_0820C9F8
- movs r1, 0x10
- movs r2, 0xA0
- bl LoadPalette
- ldr r3, _0804BCA4 @ =gUnknown_0820CA98
- ldr r4, _0804BCA8 @ =0x06004000
- movs r5, 0x98
- lsls r5, 5
- ldr r1, _0804BCAC @ =0x040000d4
- ldr r6, _0804BCB0 @ =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0804BC42:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0804BC42
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _0804BCB4 @ =gUnknown_0820F798
- ldr r2, _0804BCB8 @ =0x06009000
- ldr r0, _0804BCAC @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0804BCB0 @ =0x80000800
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _0804BCBC @ =gUnknown_03004828
- ldr r2, [r0]
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- strh r0, [r1]
- movs r3, 0x8B
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0xB4
- strh r0, [r1]
- movs r1, 0x80
- lsls r1, 19
- movs r4, 0xBA
- lsls r4, 5
- adds r0, r4, 0
- strh r0, [r1]
- adds r1, 0xC
- ldr r2, _0804BCC0 @ =0x00005206
- adds r0, r2, 0
- strh r0, [r1]
- b _0804C0CA
- .align 2, 0
-_0804BCA0: .4byte gUnknown_0820C9F8
-_0804BCA4: .4byte gUnknown_0820CA98
-_0804BCA8: .4byte 0x06004000
-_0804BCAC: .4byte 0x040000d4
-_0804BCB0: .4byte 0x80000800
-_0804BCB4: .4byte gUnknown_0820F798
-_0804BCB8: .4byte 0x06009000
-_0804BCBC: .4byte gUnknown_03004828
-_0804BCC0: .4byte 0x00005206
-_0804BCC4:
- ldr r0, _0804BD3C @ =gUnknown_03004828
- ldr r2, [r0]
- movs r3, 0x89
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0
- strh r0, [r1]
- movs r4, 0x88
- lsls r4, 1
- adds r0, r2, r4
- movs r1, 0xAE
- lsls r1, 1
- strh r1, [r0]
- ldr r0, _0804BD40 @ =REG_BG1VOFS
- strh r1, [r0]
- ldr r1, _0804BD44 @ =REG_BG1CNT
- ldr r2, _0804BD48 @ =0x00008502
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0804BD4C @ =gUnknown_08210798
- ldr r2, _0804BD50 @ =0x06002800
- movs r3, 0x80
- lsls r3, 5
- adds r1, 0xCA
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- movs r2, 0x80
- lsls r2, 24
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r4, [r1, 0x8]
- ldr r4, _0804BD54 @ =gUnknown_0820CA98
- movs r5, 0xC0
- lsls r5, 19
- movs r6, 0x98
- lsls r6, 5
- adds r7, r0, 0
-_0804BD10:
- str r4, [r1]
- str r5, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r4, r3
- adds r5, r3
- subs r6, r3
- cmp r6, r3
- bhi _0804BD10
- str r4, [r1]
- str r5, [r1, 0x4]
- lsrs r0, r6, 1
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r1, 0x80
- lsls r1, 19
- ldr r3, _0804BD58 @ =0x00001241
- adds r0, r3, 0
- strh r0, [r1]
- b _0804C0CA
- .align 2, 0
-_0804BD3C: .4byte gUnknown_03004828
-_0804BD40: .4byte REG_BG1VOFS
-_0804BD44: .4byte REG_BG1CNT
-_0804BD48: .4byte 0x00008502
-_0804BD4C: .4byte gUnknown_08210798
-_0804BD50: .4byte 0x06002800
-_0804BD54: .4byte gUnknown_0820CA98
-_0804BD58: .4byte 0x00001241
-_0804BD5C:
- ldr r0, _0804BD8C @ =gUnknown_03004828
- ldr r2, [r0]
- movs r4, 0x88
- lsls r4, 1
- adds r0, r2, r4
- movs r1, 0
- strh r1, [r0]
- movs r3, 0x89
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- movs r1, 0x80
- lsls r1, 19
- ldr r4, _0804BD90 @ =0x00001241
- adds r0, r4, 0
- strh r0, [r1]
- ldr r1, _0804BD94 @ =gUnknown_08211798
- ldr r2, _0804BD98 @ =0x06002800
- ldr r0, _0804BD9C @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0804BDA0 @ =0x80000400
- b _0804C0C6
- .align 2, 0
-_0804BD8C: .4byte gUnknown_03004828
-_0804BD90: .4byte 0x00001241
-_0804BD94: .4byte gUnknown_08211798
-_0804BD98: .4byte 0x06002800
-_0804BD9C: .4byte 0x040000d4
-_0804BDA0: .4byte 0x80000400
-_0804BDA4:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x92
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0804BE24 @ =gUnknown_03004828
- ldr r3, [r0]
- movs r4, 0x82
- lsls r4, 1
- adds r1, r3, r4
- movs r2, 0
- movs r0, 0x40
- strh r0, [r1]
- adds r4, 0x2
- adds r1, r3, r4
- strh r0, [r1]
- adds r0, 0xCC
- adds r1, r3, r0
- movs r0, 0x78
- strh r0, [r1]
- adds r4, 0x8
- adds r1, r3, r4
- ldr r0, _0804BE28 @ =0x0000ffba
- strh r0, [r1]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r3, r1
- strh r2, [r0]
- ldr r3, _0804BE2C @ =gUnknown_0820DD98
- ldr r4, _0804BE30 @ =0x06004000
- movs r5, 0xD0
- lsls r5, 5
- ldr r2, _0804BE34 @ =gUnknown_08211F98
- mov r12, r2
- ldr r1, _0804BE38 @ =0x040000d4
- ldr r6, _0804BE3C @ =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0804BDF6:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0804BDF6
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _0804BE40 @ =0x06009000
- ldr r0, _0804BE38 @ =0x040000d4
- mov r3, r12
- str r3, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0804BE44 @ =0x80000080
- b _0804C0C6
- .align 2, 0
-_0804BE24: .4byte gUnknown_03004828
-_0804BE28: .4byte 0x0000ffba
-_0804BE2C: .4byte gUnknown_0820DD98
-_0804BE30: .4byte 0x06004000
-_0804BE34: .4byte gUnknown_08211F98
-_0804BE38: .4byte 0x040000d4
-_0804BE3C: .4byte 0x80000800
-_0804BE40: .4byte 0x06009000
-_0804BE44: .4byte 0x80000080
-_0804BE48:
- movs r1, 0x80
- lsls r1, 19
- ldr r4, _0804BED0 @ =0x00001441
- adds r0, r4, 0
- strh r0, [r1]
- adds r1, 0xC
- ldr r2, _0804BED4 @ =0x00001287
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0804BED8 @ =gUnknown_03004828
- ldr r3, [r0]
- movs r4, 0x82
- lsls r4, 1
- adds r1, r3, r4
- movs r2, 0
- movs r0, 0x40
- strh r0, [r1]
- adds r0, 0xC6
- adds r1, r3, r0
- movs r0, 0x5C
- strh r0, [r1]
- adds r4, 0x14
- adds r1, r3, r4
- movs r0, 0x20
- strh r0, [r1]
- adds r0, 0xFA
- adds r1, r3, r0
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r1]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r3, r1
- strh r2, [r0]
- ldr r3, _0804BEDC @ =gUnknown_08213738
- ldr r4, _0804BEE0 @ =0x06004000
- movs r5, 0x81
- lsls r5, 6
- ldr r2, _0804BEE4 @ =gUnknown_08215778
- mov r12, r2
- ldr r1, _0804BEE8 @ =0x040000d4
- ldr r6, _0804BEEC @ =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0804BEA4:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0804BEA4
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _0804BEF0 @ =0x06009000
- ldr r0, _0804BEE8 @ =0x040000d4
- mov r3, r12
- str r3, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0804BEF4 @ =0x80000080
- b _0804C0C6
- .align 2, 0
-_0804BED0: .4byte 0x00001441
-_0804BED4: .4byte 0x00001287
-_0804BED8: .4byte gUnknown_03004828
-_0804BEDC: .4byte gUnknown_08213738
-_0804BEE0: .4byte 0x06004000
-_0804BEE4: .4byte gUnknown_08215778
-_0804BEE8: .4byte 0x040000d4
-_0804BEEC: .4byte 0x80000800
-_0804BEF0: .4byte 0x06009000
-_0804BEF4: .4byte 0x80000080
-_0804BEF8:
- ldr r0, _0804BF78 @ =gUnknown_03004828
- ldr r2, [r0]
- movs r4, 0x88
- lsls r4, 1
- adds r0, r2, r4
- movs r1, 0
- strh r1, [r0]
- movs r3, 0x89
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _0804BF7C @ =REG_BG1CNT
- ldr r4, _0804BF80 @ =0x00000502
- adds r0, r4, 0
- strh r0, [r1]
- ldr r0, _0804BF84 @ =gUnknown_08D00000
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r0, _0804BF88 @ =gUnknown_08D00524
- ldr r4, _0804BF8C @ =0x02000000
- movs r2, 0x80
- lsls r2, 4
- adds r1, r4, 0
- bl CpuSet
- ldr r0, _0804BF90 @ =gUnknown_08D004E0
- movs r1, 0x70
- movs r2, 0x20
- bl LoadCompressedPalette
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- movs r0, 0xE0
- lsls r0, 7
- adds r2, r0, 0
- movs r1, 0xA0
- lsls r1, 2
-_0804BF4C:
- ldrh r0, [r4]
- orrs r0, r2
- strh r0, [r4]
- adds r4, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _0804BF4C
- ldr r1, _0804BF8C @ =0x02000000
- ldr r2, _0804BF94 @ =0x06002800
- ldr r0, _0804BF98 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0804BF9C @ =0x80000280
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- b _0804C0CA
- .align 2, 0
-_0804BF78: .4byte gUnknown_03004828
-_0804BF7C: .4byte REG_BG1CNT
-_0804BF80: .4byte 0x00000502
-_0804BF84: .4byte gUnknown_08D00000
-_0804BF88: .4byte gUnknown_08D00524
-_0804BF8C: .4byte 0x02000000
-_0804BF90: .4byte gUnknown_08D004E0
-_0804BF94: .4byte 0x06002800
-_0804BF98: .4byte 0x040000d4
-_0804BF9C: .4byte 0x80000280
-_0804BFA0:
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _0804C038 @ =0x00001441
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0xC
- ldr r3, _0804C03C @ =0x00001287
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _0804C040 @ =gUnknown_03004828
- ldr r3, [r0]
- movs r4, 0x82
- lsls r4, 1
- adds r1, r3, r4
- movs r2, 0
- movs r0, 0x40
- strh r0, [r1]
- adds r0, 0xC6
- adds r1, r3, r0
- movs r0, 0x5C
- strh r0, [r1]
- adds r4, 0x14
- adds r1, r3, r4
- adds r0, 0xA4
- strh r0, [r1]
- adds r0, 0x1A
- adds r1, r3, r0
- movs r0, 0x80
- strh r0, [r1]
- subs r4, 0xC
- adds r1, r3, r4
- movs r0, 0x78
- strh r0, [r1]
- adds r0, 0x96
- adds r1, r3, r0
- movs r0, 0x50
- strh r0, [r1]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r3, r1
- strh r2, [r0]
- ldr r3, _0804C044 @ =gUnknown_08213738
- ldr r4, _0804C048 @ =0x06004000
- movs r5, 0x81
- lsls r5, 6
- ldr r2, _0804C04C @ =gUnknown_08215778
- mov r12, r2
- ldr r1, _0804C050 @ =0x040000d4
- ldr r6, _0804C054 @ =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0804C00A:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0804C00A
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _0804C058 @ =0x06009000
- ldr r0, _0804C050 @ =0x040000d4
- mov r3, r12
- str r3, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0804C05C @ =0x80000080
- b _0804C0C6
- .align 2, 0
-_0804C038: .4byte 0x00001441
-_0804C03C: .4byte 0x00001287
-_0804C040: .4byte gUnknown_03004828
-_0804C044: .4byte gUnknown_08213738
-_0804C048: .4byte 0x06004000
-_0804C04C: .4byte gUnknown_08215778
-_0804C050: .4byte 0x040000d4
-_0804C054: .4byte 0x80000800
-_0804C058: .4byte 0x06009000
-_0804C05C: .4byte 0x80000080
-_0804C060:
- ldr r0, _0804C0D0 @ =gUnknown_03004828
- ldr r2, [r0]
- movs r4, 0x8A
- lsls r4, 1
- adds r0, r2, r4
- movs r1, 0
- strh r1, [r0]
- movs r3, 0x8B
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _0804C0D4 @ =REG_BG2CNT
- ldr r4, _0804C0D8 @ =0x00005206
- adds r0, r4, 0
- strh r0, [r1]
- ldr r0, _0804C0DC @ =gUnknown_0820C9F8
- movs r1, 0x10
- movs r2, 0xA0
- bl LoadPalette
- ldr r3, _0804C0E0 @ =gUnknown_0820CA98
- ldr r4, _0804C0E4 @ =0x06004000
- movs r5, 0x98
- lsls r5, 5
- ldr r1, _0804C0E8 @ =0x040000d4
- ldr r6, _0804C0EC @ =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0804C09C:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0804C09C
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _0804C0F0 @ =gUnknown_0820F798
- ldr r2, _0804C0F4 @ =0x06009000
- ldr r0, _0804C0E8 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0804C0EC @ =0x80000800
-_0804C0C6:
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
-_0804C0CA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C0D0: .4byte gUnknown_03004828
-_0804C0D4: .4byte REG_BG2CNT
-_0804C0D8: .4byte 0x00005206
-_0804C0DC: .4byte gUnknown_0820C9F8
-_0804C0E0: .4byte gUnknown_0820CA98
-_0804C0E4: .4byte 0x06004000
-_0804C0E8: .4byte 0x040000d4
-_0804C0EC: .4byte 0x80000800
-_0804C0F0: .4byte gUnknown_0820F798
-_0804C0F4: .4byte 0x06009000
- thumb_func_end sub_804BBE8
-
- thumb_func_start sub_804C0F8
-sub_804C0F8: @ 804C0F8
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0804C130
- ldr r0, _0804C128 @ =gUnknown_03004828
- ldr r2, [r0]
- movs r1, 0x88
- lsls r1, 1
- adds r0, r2, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r0, _0804C12C @ =0x00000109
- cmp r1, r0
- bgt _0804C15A
- adds r0, 0x5
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- b _0804C154
- .align 2, 0
-_0804C128: .4byte gUnknown_03004828
-_0804C12C: .4byte 0x00000109
-_0804C130:
- ldr r0, _0804C160 @ =gUnknown_03004828
- ldr r0, [r0]
- mov r12, r0
- movs r2, 0x87
- lsls r2, 1
- add r2, r12
- ldrh r3, [r2]
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- ble _0804C15A
- subs r0, r3, 0x1
- strh r0, [r2]
- movs r1, 0x8E
- lsls r1, 1
- add r1, r12
-_0804C154:
- ldrh r0, [r1]
- adds r0, 0x40
- strh r0, [r1]
-_0804C15A:
- pop {r0}
- bx r0
- .align 2, 0
-_0804C160: .4byte gUnknown_03004828
- thumb_func_end sub_804C0F8
-
- thumb_func_start sub_804C164
-sub_804C164: @ 804C164
- push {lr}
- ldr r0, _0804C190 @ =gUnknown_082159A4
- bl LoadSpriteSheet
- ldr r0, _0804C194 @ =gUnknown_082159F4
- bl LoadSpriteSheet
- ldr r0, _0804C198 @ =gUnknown_08215A28
- bl LoadSpriteSheet
- ldr r0, _0804C19C @ =gUnknown_08215A78
- bl LoadSpriteSheet
- ldr r0, _0804C1A0 @ =gUnknown_082159AC
- bl LoadSpritePalette
- ldr r0, _0804C1A4 @ =gUnknown_082159B4
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_0804C190: .4byte gUnknown_082159A4
-_0804C194: .4byte gUnknown_082159F4
-_0804C198: .4byte gUnknown_08215A28
-_0804C19C: .4byte gUnknown_08215A78
-_0804C1A0: .4byte gUnknown_082159AC
-_0804C1A4: .4byte gUnknown_082159B4
- thumb_func_end sub_804C164
-
- thumb_func_start sub_804C1A8
-sub_804C1A8: @ 804C1A8
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r0, _0804C21C @ =gUnknown_03004828
- ldr r0, [r0]
- movs r1, 0x8F
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804C23C
- bl GetMultiplayerId
- lsls r0, 24
- ldr r3, _0804C220 @ =gStringVar1
- movs r2, 0x80
- lsls r2, 17
- eors r2, r0
- lsrs r2, 24
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, _0804C224 @ =gLinkPlayers + 0x8
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- ldr r5, _0804C228 @ =gUnknown_020297D8
- ldrb r0, [r5, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x64
- muls r0, r4
- ldr r1, _0804C22C @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, _0804C230 @ =gStringVar3
- mov r1, sp
- bl StringCopy10
- ldrb r0, [r5]
- muls r0, r4
- ldr r1, _0804C234 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, _0804C238 @ =gStringVar2
- mov r1, sp
- bl StringCopy10
- b _0804C278
- .align 2, 0
-_0804C21C: .4byte gUnknown_03004828
-_0804C220: .4byte gStringVar1
-_0804C224: .4byte gLinkPlayers + 0x8
-_0804C228: .4byte gUnknown_020297D8
-_0804C22C: .4byte gEnemyParty
-_0804C230: .4byte gStringVar3
-_0804C234: .4byte gPlayerParty
-_0804C238: .4byte gStringVar2
-_0804C23C:
- ldr r0, _0804C280 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, _0804C284 @ =gIngameTrades
- adds r4, r0
- ldr r0, _0804C288 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x2B
- bl StringCopy
- ldr r0, _0804C28C @ =gStringVar3
- adds r1, r4, 0
- bl StringCopy10
- ldr r0, _0804C290 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0804C294 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, _0804C298 @ =gStringVar2
- mov r1, sp
- bl StringCopy10
-_0804C278:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C280: .4byte gSpecialVar_0x8004
-_0804C284: .4byte gIngameTrades
-_0804C288: .4byte gStringVar1
-_0804C28C: .4byte gStringVar3
-_0804C290: .4byte gSpecialVar_0x8005
-_0804C294: .4byte gPlayerParty
-_0804C298: .4byte gStringVar2
- thumb_func_end sub_804C1A8
-
- thumb_func_start sub_804C29C
-sub_804C29C: @ 804C29C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r1, _0804C2C0 @ =gUnknown_03004828
- ldr r0, [r1]
- adds r0, 0xC4
- ldrh r0, [r0]
- adds r6, r1, 0
- cmp r0, 0xC8
- bls _0804C2B6
- bl _0804D570
-_0804C2B6:
- lsls r0, 2
- ldr r1, _0804C2C4 @ =_0804C2C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804C2C0: .4byte gUnknown_03004828
-_0804C2C4: .4byte _0804C2C8
- .align 2, 0
-_0804C2C8:
- .4byte _0804C5EC
- .4byte _0804C66C
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804C6C8
- .4byte _0804C704
- .4byte _0804C79C
- .4byte _0804D570
- .4byte _0804C824
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804C848
- .4byte _0804C868
- .4byte _0804C87A
- .4byte _0804C89C
- .4byte _0804C8F4
- .4byte _0804C92C
- .4byte _0804C978
- .4byte _0804C9C8
- .4byte _0804CA1C
- .4byte _0804CAB4
- .4byte _0804CAD8
- .4byte _0804CB24
- .4byte _0804CB70
- .4byte _0804CBCC
- .4byte _0804CC2C
- .4byte _0804CC40
- .4byte _0804CC54
- .4byte _0804CC68
- .4byte _0804CD94
- .4byte _0804CE64
- .4byte _0804CEEC
- .4byte _0804CF68
- .4byte _0804CF78
- .4byte _0804CFA0
- .4byte _0804CFFC
- .4byte _0804D028
- .4byte _0804D054
- .4byte _0804D06A
- .4byte _0804D0D4
- .4byte _0804D570
- .4byte _0804D0FC
- .4byte _0804D13C
- .4byte _0804D182
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D1A4
- .4byte _0804D1C4
- .4byte _0804D1D2
- .4byte _0804D1F4
- .4byte _0804D2A8
- .4byte _0804D2E4
- .4byte _0804D314
- .4byte _0804D3C4
- .4byte _0804D41C
- .4byte _0804D48C
- .4byte _0804D4A0
- .4byte _0804D4A6
- .4byte _0804D4CC
- .4byte _0804D528
- .4byte _0804D54C
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804D570
- .4byte _0804CA54
-_0804C5EC:
- ldr r3, _0804C65C @ =gSprites
- ldr r0, [r6]
- adds r0, 0xB8
- ldrb r1, [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]
- ldr r4, [r6]
- adds r2, r4, 0
- adds r2, 0xB8
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _0804C660 @ =0x0000ff4c
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldr r2, _0804C664 @ =gMonFrontPicCoords
- movs r3, 0x90
- lsls r3, 1
- adds r0, r4, r3
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1, 0x26]
- adds r1, r4, 0
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl GetCurrentMapMusic
- ldr r1, [r6]
- movs r7, 0x92
- lsls r7, 1
- adds r1, r7
- strh r0, [r1]
- ldr r0, _0804C668 @ =0x00000179
- bl PlayBGM
- bl _0804D570
- .align 2, 0
-_0804C65C: .4byte gSprites
-_0804C660: .4byte 0x0000ff4c
-_0804C664: .4byte gMonFrontPicCoords
-_0804C668: .4byte 0x00000179
-_0804C66C:
- ldr r4, [r6]
- movs r0, 0x8B
- lsls r0, 1
- adds r5, r4, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- ble _0804C6A0
- ldr r2, _0804C69C @ =gSprites
- adds r0, r4, 0
- adds r0, 0xB8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0x3
- strh r1, [r0, 0x24]
- ldrh r0, [r5]
- subs r0, 0x3
- strh r0, [r5]
- bl _0804D570
- .align 2, 0
-_0804C69C: .4byte gSprites
-_0804C6A0:
- ldr r2, _0804C6C4 @ =gSprites
- adds r0, r4, 0
- adds r0, 0xB8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- strh r1, [r5]
- adds r1, r4, 0
- adds r1, 0xC4
- movs r0, 0xA
- strh r0, [r1]
- bl _0804D570
- .align 2, 0
-_0804C6C4: .4byte gSprites
-_0804C6C8:
- ldr r5, _0804C6F8 @ =gStringVar4
- ldr r1, _0804C6FC @ =gTradeText_WillBeSent
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldr r4, _0804C700 @ =gUnknown_03004828
- ldr r1, [r4]
- adds r0, r1, 0x4
- adds r1, 0x34
- ldrb r2, [r1]
- movs r1, 0xF
- str r1, [sp]
- adds r1, r5, 0
- movs r3, 0x2
- bl sub_8003460
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xC4
- movs r3, 0
- movs r0, 0xB
- bl _0804D40C
- .align 2, 0
-_0804C6F8: .4byte gStringVar4
-_0804C6FC: .4byte gTradeText_WillBeSent
-_0804C700: .4byte gUnknown_03004828
-_0804C704:
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x50
- beq _0804C718
- bl _0804D570
-_0804C718:
- adds r0, r2, 0
- adds r0, 0xB8
- ldrb r0, [r0]
- ldr r2, _0804C78C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, _0804C790 @ =0x000fffff
- str r2, [sp, 0xC]
- movs r2, 0x78
- movs r3, 0x20
- bl sub_8047580
- ldr r1, [r6]
- movs r2, 0x81
- lsls r2, 1
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r2, r0, 0
- adds r2, 0xC4
- ldrh r1, [r2]
- adds r1, 0x1
- strh r1, [r2]
- adds r0, 0x4
- movs r1, 0x13
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1D
- bl ZeroFillWindowRect
- ldr r4, _0804C794 @ =gStringVar4
- ldr r1, _0804C798 @ =gTradeText_ByeBye
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, 0x34
- ldrb r2, [r1]
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x2
- bl sub_8003460
- bl _0804D570
- .align 2, 0
-_0804C78C: .4byte gSprites
-_0804C790: .4byte 0x000fffff
-_0804C794: .4byte gStringVar4
-_0804C798: .4byte gTradeText_ByeBye
-_0804C79C:
- ldr r7, _0804C810 @ =gSprites
- ldr r2, [r6]
- movs r5, 0x81
- lsls r5, 1
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r7, 0
- adds r4, 0x1C
- adds r0, r4
- ldr r1, [r0]
- ldr r0, _0804C814 @ =SpriteCallbackDummy
- cmp r1, r0
- beq _0804C7C0
- bl _0804D570
-_0804C7C0:
- adds r0, r2, 0x4
- bl sub_80035AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0804C7D2
- bl _0804D570
-_0804C7D2:
- ldr r0, _0804C818 @ =gSpriteTemplate_821595C
- movs r1, 0x78
- movs r2, 0x20
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- ldr r2, _0804C81C @ =0x00000103
- adds r1, r2
- strb r0, [r1]
- ldr r3, [r6]
- adds r2, r3, r2
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _0804C820 @ =sub_804D738
- str r1, [r0]
- adds r3, r5
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl DestroySprite
- ldr r1, [r6]
- bl _0804D53C
- .align 2, 0
-_0804C810: .4byte gSprites
-_0804C814: .4byte SpriteCallbackDummy
-_0804C818: .4byte gSpriteTemplate_821595C
-_0804C81C: .4byte 0x00000103
-_0804C820: .4byte sub_804D738
-_0804C824:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0804C844 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0xC4
- movs r1, 0x14
- strh r1, [r0]
- bl _0804D570
- .align 2, 0
-_0804C844: .4byte gUnknown_03004828
-_0804C848:
- ldr r0, _0804C864 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804C858
- bl _0804D570
-_0804C858:
- movs r0, 0x4
- bl sub_804BBE8
- bl _0804D538
- .align 2, 0
-_0804C864: .4byte gPaletteFade
-_0804C868:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl _0804D534
-_0804C87A:
- ldr r0, _0804C898 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804C88A
- bl _0804D570
-_0804C88A:
- ldr r0, [r6]
- adds r0, 0xC4
- movs r1, 0x17
- strh r1, [r0]
- bl _0804D570
- .align 2, 0
-_0804C898: .4byte gPaletteFade
-_0804C89C:
- ldr r4, _0804C8B8 @ =gUnknown_03004828
- ldr r0, [r4]
- movs r3, 0x8D
- lsls r3, 1
- adds r2, r0, r3
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bls _0804C8BC
- adds r0, r1, 0
- subs r0, 0x34
- strh r0, [r2]
- b _0804C8E0
- .align 2, 0
-_0804C8B8: .4byte gUnknown_03004828
-_0804C8BC:
- movs r0, 0x1
- bl sub_804BBE8
- ldr r3, [r4]
- movs r7, 0x8D
- lsls r7, 1
- adds r1, r3, r7
- movs r2, 0
- movs r0, 0x80
- strh r0, [r1]
- adds r1, r3, 0
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0xC0
- str r2, [r0]
-_0804C8E0:
- ldr r0, _0804C8F0 @ =gUnknown_03004828
- ldr r4, [r0]
- movs r1, 0x8D
- lsls r1, 1
- adds r0, r4, r1
- bl _0804D16E
- .align 2, 0
-_0804C8F0: .4byte gUnknown_03004828
-_0804C8F4:
- ldr r1, [r6]
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x14
- bhi _0804C906
- bl _0804D570
-_0804C906:
- movs r0, 0x3
- bl sub_804BBE8
- bl sub_804B128
- ldr r0, _0804C928 @ =gSpriteTemplate_8215A80
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0xBB
- strb r0, [r1]
- ldr r1, [r6]
- bl _0804D53C
- .align 2, 0
-_0804C928: .4byte gSpriteTemplate_8215A80
-_0804C92C:
- ldr r2, _0804C96C @ =gSprites
- ldr r0, [r6]
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0804C94C
- bl _0804D570
-_0804C94C:
- adds r0, r1, 0
- bl DestroySprite
- ldr r1, _0804C970 @ =REG_BLDCNT
- movs r3, 0xC8
- lsls r3, 3
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r7, _0804C974 @ =0x0000040c
- adds r0, r7, 0
- strh r0, [r1]
- ldr r1, [r6]
- bl _0804D53C
- .align 2, 0
-_0804C96C: .4byte gSprites
-_0804C970: .4byte REG_BLDCNT
-_0804C974: .4byte 0x0000040c
-_0804C978:
- ldr r2, [r6]
- movs r3, 0x88
- lsls r3, 1
- adds r0, r2, r3
- ldrh r1, [r0]
- subs r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x9E
- lsls r0, 17
- cmp r1, r0
- bne _0804C99A
- adds r1, r2, 0
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0804C99A:
- ldr r0, [r6]
- adds r0, r3
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- beq _0804C9AE
- bl _0804D570
-_0804C9AE:
- ldr r0, _0804C9C4 @ =gSpriteTemplate_8215A30
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0xBC
- strb r0, [r1]
- bl _0804D570
- .align 2, 0
-_0804C9C4: .4byte gSpriteTemplate_8215A30
-_0804C9C8:
- ldr r0, _0804CA0C @ =gSpriteTemplate_82159BC
- movs r1, 0x80
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- ldr r4, _0804CA10 @ =gUnknown_03004828
- ldr r1, [r4]
- adds r1, 0xBA
- strb r0, [r1]
- ldr r0, _0804CA14 @ =gSpriteTemplate_82159FC
- movs r1, 0x80
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0xBB
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804CA18 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r4]
- bl _0804D53C
- .align 2, 0
-_0804CA0C: .4byte gSpriteTemplate_82159BC
-_0804CA10: .4byte gUnknown_03004828
-_0804CA14: .4byte gSpriteTemplate_82159FC
-_0804CA18: .4byte gSprites
-_0804CA1C:
- ldr r2, [r6]
- movs r3, 0x88
- lsls r3, 1
- adds r1, r2, r3
- ldrh r0, [r1]
- subs r0, 0x2
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA6
- bne _0804CA3A
- adds r1, r2, 0
- adds r1, 0xC4
- movs r0, 0xC8
- strh r0, [r1]
-_0804CA3A:
- movs r0, 0
- bl sub_804C0F8
- movs r1, 0x80
- lsls r1, 19
- ldr r7, _0804CA50 @ =0x00001641
- adds r0, r7, 0
- strh r0, [r1]
- bl _0804D570
- .align 2, 0
-_0804CA50: .4byte 0x00001641
-_0804CA54:
- ldr r4, _0804CAB0 @ =gSprites
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xBA
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- adds r2, 0xBB
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- movs r0, 0
- bl sub_804C0F8
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xBA
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r3, 0x22
- ldrsh r1, [r0, r3]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _0804CAA4
- bl _0804D570
-_0804CAA4:
- adds r1, r2, 0
- adds r1, 0xC4
- movs r0, 0x1D
- strh r0, [r1]
- bl _0804D570
- .align 2, 0
-_0804CAB0: .4byte gSprites
-_0804CAB4:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0804CAD4 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0xC4
- movs r1, 0x1E
- strh r1, [r0]
- bl _0804D570
- .align 2, 0
-_0804CAD4: .4byte gUnknown_03004828
-_0804CAD8:
- ldr r0, _0804CB1C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804CAE8
- bl _0804D570
-_0804CAE8:
- ldr r0, [r6]
- adds r0, 0xBA
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0804CB20 @ =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- movs r0, 0x2
- bl sub_804BBE8
- ldr r1, [r6]
- bl _0804D53C
- .align 2, 0
-_0804CB1C: .4byte gPaletteFade
-_0804CB20: .4byte gSprites
-_0804CB24:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r5, _0804CB68 @ =gSpriteTemplate_82159FC
- adds r0, r5, 0
- movs r1, 0x6F
- movs r2, 0xAA
- movs r3, 0
- bl CreateSprite
- ldr r4, _0804CB6C @ =gUnknown_03004828
- ldr r1, [r4]
- adds r1, 0xBA
- strb r0, [r1]
- movs r2, 0xA
- negs r2, r2
- adds r0, r5, 0
- movs r1, 0x81
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0xBB
- strb r0, [r1]
- ldr r1, [r4]
- bl _0804D53C
- .align 2, 0
-_0804CB68: .4byte gSpriteTemplate_82159FC
-_0804CB6C: .4byte gUnknown_03004828
-_0804CB70:
- ldr r0, _0804CBC0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804CB8E
- movs r0, 0x2E
- bl PlaySE
- ldr r0, _0804CBC4 @ =gUnknown_03004828
- ldr r1, [r0]
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0804CB8E:
- ldr r3, _0804CBC8 @ =gSprites
- ldr r0, _0804CBC4 @ =gUnknown_03004828
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xBA
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0xBB
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- bl _0804D570
- .align 2, 0
-_0804CBC0: .4byte gPaletteFade
-_0804CBC4: .4byte gUnknown_03004828
-_0804CBC8: .4byte gSprites
-_0804CBCC:
- ldr r5, _0804CC28 @ =gSprites
- ldr r4, [r6]
- adds r2, r4, 0
- adds r2, 0xBA
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r6, r4, 0
- adds r6, 0xBB
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r5
- movs r7, 0x26
- ldrsh r1, [r3, r7]
- movs r0, 0x5A
- negs r0, r0
- cmp r1, r0
- ble _0804CC12
- bl _0804D570
-_0804CC12:
- movs r2, 0x1
- strh r2, [r3, 0x30]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x30]
- adds r1, r4, 0
- bl _0804D53C
- .align 2, 0
-_0804CC28: .4byte gSprites
-_0804CC2C:
- ldr r2, _0804CC3C @ =0x0000ffff
- movs r0, 0x1
- movs r1, 0x10
- bl BlendPalettes
- bl _0804D538
- .align 2, 0
-_0804CC3C: .4byte 0x0000ffff
-_0804CC40:
- ldr r2, _0804CC50 @ =0x0000ffff
- movs r0, 0x1
- movs r1, 0
- bl BlendPalettes
- bl _0804D538
- .align 2, 0
-_0804CC50: .4byte 0x0000ffff
-_0804CC54:
- ldr r2, _0804CC64 @ =0x0000ffff
- movs r0, 0x1
- movs r1, 0x10
- bl BlendPalettes
- bl _0804D538
- .align 2, 0
-_0804CC64: .4byte 0x0000ffff
-_0804CC68:
- ldr r5, _0804CCD8 @ =gUnknown_03004828
- ldr r0, [r5]
- movs r1, 0x90
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- bl sub_8040A3C
- lsls r0, 24
- cmp r0, 0
- bne _0804CCE4
- ldr r4, _0804CCDC @ =gSprites
- ldr r2, [r5]
- adds r2, 0xB8
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r1
- ldr r1, _0804CCE0 @ =gSpriteAffineAnimTable_8215AC0
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, [r5]
- adds r0, 0xB8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- ldr r0, [r5]
- adds r0, 0xB8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- b _0804CCFA
- .align 2, 0
-_0804CCD8: .4byte gUnknown_03004828
-_0804CCDC: .4byte gSprites
-_0804CCE0: .4byte gSpriteAffineAnimTable_8215AC0
-_0804CCE4:
- ldr r0, [r5]
- adds r0, 0xB8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804CD88 @ =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAffineAnim
-_0804CCFA:
- ldr r5, _0804CD8C @ =gUnknown_03004828
- ldr r0, [r5]
- adds r0, 0xB9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0804CD88 @ =gSprites
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r2, [r5]
- adds r3, r2, 0
- adds r3, 0xB8
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x3C
- strh r1, [r0, 0x20]
- adds r2, 0xB9
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xB4
- strh r1, [r0, 0x20]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xC0
- strh r1, [r0, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _0804CD90 @ =0x0000ffe0
- strh r1, [r0, 0x22]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0xB9
- ldrb r1, [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]
- ldr r1, [r5]
- bl _0804D53C
- .align 2, 0
-_0804CD88: .4byte gSprites
-_0804CD8C: .4byte gUnknown_03004828
-_0804CD90: .4byte 0x0000ffe0
-_0804CD94:
- ldr r4, _0804CE5C @ =gSprites
- ldr r2, [r6]
- adds r3, r2, 0
- adds r3, 0xB8
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- movs r5, 0
- strh r1, [r0, 0x26]
- adds r2, 0xB9
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x26]
- adds r0, 0xA3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0804CDDC
- movs r0, 0x2D
- bl PlaySE
-_0804CDDC:
- ldr r2, [r6]
- adds r3, r2, 0
- adds r3, 0xB8
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r7, 0x26
- ldrsh r1, [r0, r7]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- blt _0804CDFA
- b _0804D570
-_0804CDFA:
- adds r0, r2, 0
- adds r0, 0xBA
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r0, r2, 0
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r1, r2, 0
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0xB9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r2, _0804CE60 @ =0x0000ffff
- movs r0, 0x1
- movs r1, 0
- bl BlendPalettes
- b _0804D570
- .align 2, 0
-_0804CE5C: .4byte gSprites
-_0804CE60: .4byte 0x0000ffff
-_0804CE64:
- ldr r4, _0804CEE8 @ =gSprites
- ldr r2, [r6]
- adds r3, r2, 0
- adds r3, 0xBA
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0xBB
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- ble _0804CEA6
- b _0804D570
-_0804CEA6:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0xC4
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0xBA
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- b _0804D570
- .align 2, 0
-_0804CEE8: .4byte gSprites
-_0804CEEC:
- ldr r0, _0804CF58 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804CEFA
- b _0804D570
-_0804CEFA:
- ldr r1, [r6]
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- bl sub_804BBE8
- ldr r0, [r6]
- movs r3, 0x88
- lsls r3, 1
- adds r0, r3
- movs r1, 0xA6
- strh r1, [r0]
- ldr r0, _0804CF5C @ =gSpriteTemplate_82159BC
- movs r4, 0x14
- negs r4, r4
- movs r1, 0x80
- adds r2, r4, 0
- movs r3, 0x3
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0xBA
- strb r0, [r1]
- ldr r0, _0804CF60 @ =gSpriteTemplate_82159FC
- movs r1, 0x80
- adds r2, r4, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0xBB
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804CF64 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- b _0804D570
- .align 2, 0
-_0804CF58: .4byte gPaletteFade
-_0804CF5C: .4byte gSpriteTemplate_82159BC
-_0804CF60: .4byte gSpriteTemplate_82159FC
-_0804CF64: .4byte gSprites
-_0804CF68:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- b _0804D534
-_0804CF78:
- movs r1, 0x80
- lsls r1, 19
- ldr r7, _0804CF98 @ =0x00001641
- adds r0, r7, 0
- strh r0, [r1]
- movs r0, 0x1
- bl sub_804C0F8
- ldr r0, _0804CF9C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804CF96
- b _0804D570
-_0804CF96:
- b _0804D538
- .align 2, 0
-_0804CF98: .4byte 0x00001641
-_0804CF9C: .4byte gPaletteFade
-_0804CFA0:
- movs r0, 0x1
- bl sub_804C0F8
- ldr r2, _0804CFF4 @ =gSprites
- ldr r0, _0804CFF8 @ =gUnknown_03004828
- ldr r3, [r0]
- adds r4, r3, 0
- adds r4, 0xBA
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- adds r0, r3, 0
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- movs r7, 0x22
- ldrsh r0, [r0, r7]
- adds r1, r0
- cmp r1, 0x40
- beq _0804CFEE
- b _0804D570
-_0804CFEE:
- adds r1, r3, 0
- b _0804D53C
- .align 2, 0
-_0804CFF4: .4byte gSprites
-_0804CFF8: .4byte gUnknown_03004828
-_0804CFFC:
- movs r0, 0x1
- bl sub_804C0F8
- ldr r0, _0804D024 @ =gUnknown_03004828
- ldr r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r0, 0x2
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x9E
- lsls r3, 1
- cmp r0, r3
- bgt _0804D020
- b _0804D570
-_0804D020:
- strh r3, [r2]
- b _0804D53C
- .align 2, 0
-_0804D024: .4byte gUnknown_03004828
-_0804D028:
- ldr r0, [r6]
- adds r0, 0xBA
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0804D050 @ =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- b _0804D400
- .align 2, 0
-_0804D050: .4byte gSprites
-_0804D054:
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0xA
- beq _0804D066
- b _0804D570
-_0804D066:
- adds r1, 0x4
- b _0804D53E
-_0804D06A:
- ldr r1, [r6]
- movs r4, 0x88
- lsls r4, 1
- adds r2, r1, r4
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0xAE
- lsls r3, 1
- cmp r0, r3
- ble _0804D08E
- strh r3, [r2]
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0804D08E:
- ldr r0, [r6]
- adds r0, r4
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- bne _0804D0B0
- ldr r0, _0804D0C8 @ =gSpriteTemplate_8215A30
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0xBC
- strb r0, [r1]
-_0804D0B0:
- ldr r2, _0804D0CC @ =gSprites
- ldr r0, [r6]
- adds r0, 0xBC
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0804D0D0 @ =sub_804B0E0
- str r1, [r0]
- b _0804D570
- .align 2, 0
-_0804D0C8: .4byte gSpriteTemplate_8215A30
-_0804D0CC: .4byte gSprites
-_0804D0D0: .4byte sub_804B0E0
-_0804D0D4:
- ldr r0, _0804D0F4 @ =gSpriteTemplate_8215A80
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r2, _0804D0F8 @ =gUnknown_03004828
- ldr r1, [r2]
- adds r1, 0xBB
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0xC4
- movs r1, 0x32
- strh r1, [r0]
- b _0804D570
- .align 2, 0
-_0804D0F4: .4byte gSpriteTemplate_8215A80
-_0804D0F8: .4byte gUnknown_03004828
-_0804D0FC:
- ldr r2, _0804D138 @ =gSprites
- ldr r0, [r6]
- adds r0, 0xBB
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0804D11A
- b _0804D570
-_0804D11A:
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x6
- bl sub_804BBE8
- ldr r1, [r6]
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x9F
- bl PlaySE
- b _0804D570
- .align 2, 0
-_0804D138: .4byte gSprites
-_0804D13C:
- ldr r1, [r6]
- movs r3, 0x8D
- lsls r3, 1
- adds r2, r1, r3
- ldrh r3, [r2]
- ldr r0, _0804D154 @ =0x000003ff
- cmp r3, r0
- bhi _0804D158
- adds r0, r3, 0
- adds r0, 0x34
- strh r0, [r2]
- b _0804D166
- .align 2, 0
-_0804D154: .4byte 0x000003ff
-_0804D158:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r2]
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0804D166:
- ldr r4, [r6]
- movs r7, 0x8D
- lsls r7, 1
- adds r0, r4, r7
-_0804D16E:
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- movs r2, 0x8C
- lsls r2, 1
- adds r1, r4, r2
- strh r0, [r1]
- b _0804D570
-_0804D182:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0804D1A0 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0xC4
- movs r1, 0x3C
- strh r1, [r0]
- b _0804D570
- .align 2, 0
-_0804D1A0: .4byte gUnknown_03004828
-_0804D1A4:
- ldr r0, _0804D1C0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804D1B2
- b _0804D570
-_0804D1B2:
- movs r0, 0x5
- bl sub_804BBE8
- movs r0, 0x7
- bl sub_804BBE8
- b _0804D538
- .align 2, 0
-_0804D1C0: .4byte gPaletteFade
-_0804D1C4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- b _0804D534
-_0804D1D2:
- movs r1, 0x80
- lsls r1, 19
- movs r3, 0xA2
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _0804D1F0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804D1EC
- b _0804D570
-_0804D1EC:
- ldr r1, [r6]
- b _0804D53C
- .align 2, 0
-_0804D1F0: .4byte gPaletteFade
-_0804D1F4:
- ldr r0, _0804D290 @ =gSpriteTemplate_821595C
- movs r2, 0x8
- negs r2, r2
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- ldr r6, _0804D294 @ =gUnknown_03004828
- ldr r1, [r6]
- ldr r5, _0804D298 @ =0x00000103
- adds r1, r5
- movs r7, 0
- mov r8, r7
- strb r0, [r1]
- ldr r4, _0804D29C @ =gSprites
- ldr r2, [r6]
- adds r2, r5
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x4A
- strh r1, [r0, 0x34]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0804D2A0 @ =sub_804D80C
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r2, _0804D2A4 @ =0x0000ffff
- movs r1, 0x10
- bl BlendPalettes
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0xC4
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0xC0
- mov r0, r8
- str r0, [r1]
- b _0804D570
- .align 2, 0
-_0804D290: .4byte gSpriteTemplate_821595C
-_0804D294: .4byte gUnknown_03004828
-_0804D298: .4byte 0x00000103
-_0804D29C: .4byte gSprites
-_0804D2A0: .4byte sub_804D80C
-_0804D2A4: .4byte 0x0000ffff
-_0804D2A8:
- ldr r2, _0804D2D8 @ =gSprites
- ldr r0, [r6]
- ldr r1, _0804D2DC @ =0x00000103
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r1, _0804D2E0 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r6]
- b _0804D53C
- .align 2, 0
-_0804D2D8: .4byte gSprites
-_0804D2DC: .4byte 0x00000103
-_0804D2E0: .4byte 0x0000ffff
-_0804D2E4:
- ldr r2, _0804D308 @ =gSprites
- ldr r3, [r6]
- ldr r7, _0804D30C @ =0x00000103
- adds r0, r3, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0804D310 @ =SpriteCallbackDummy
- cmp r1, r0
- beq _0804D302
- b _0804D570
-_0804D302:
- adds r1, r3, 0
- b _0804D53C
- .align 2, 0
-_0804D308: .4byte gSprites
-_0804D30C: .4byte 0x00000103
-_0804D310: .4byte SpriteCallbackDummy
-_0804D314:
- ldr r4, _0804D3B4 @ =gSprites
- ldr r0, [r6]
- mov r8, r0
- mov r5, r8
- adds r5, 0xB9
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r2, _0804D3B8 @ =gMonFrontPicCoords
- movs r0, 0x91
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- adds r0, 0x3C
- strh r0, [r1, 0x22]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x24]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x26]
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, _0804D3BC @ =0x000fffff
- str r2, [sp, 0xC]
- movs r2, 0x78
- movs r3, 0x54
- bl CreatePokeballSprite
- ldr r0, [r6]
- ldr r5, _0804D3C0 @ =0x00000103
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldr r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, [r6]
- b _0804D53C
- .align 2, 0
-_0804D3B4: .4byte gSprites
-_0804D3B8: .4byte gMonFrontPicCoords
-_0804D3BC: .4byte 0x000fffff
-_0804D3C0: .4byte 0x00000103
-_0804D3C4:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xBA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, [r6]
- adds r0, 0x4
- movs r1, 0x13
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1D
- bl ZeroFillWindowRect
- ldr r4, _0804D414 @ =gStringVar4
- ldr r1, _0804D418 @ =gTradeText_SentOverPoke
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, 0x34
- ldrb r2, [r1]
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x2
- bl sub_8003460
-_0804D400:
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0xC4
- ldrh r0, [r2]
- adds r0, 0x1
- movs r3, 0
-_0804D40C:
- strh r0, [r2]
- adds r1, 0xC0
- str r3, [r1]
- b _0804D570
- .align 2, 0
-_0804D414: .4byte gStringVar4
-_0804D418: .4byte gTradeText_SentOverPoke
-_0804D41C:
- ldr r1, [r6]
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x4
- bne _0804D430
- ldr r0, _0804D480 @ =0x00000173
- bl PlayFanfare
-_0804D430:
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xC0
- ldr r0, [r0]
- cmp r0, 0xF0
- beq _0804D43E
- b _0804D570
-_0804D43E:
- adds r1, r2, 0
- adds r1, 0xC4
- ldrh r0, [r1]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r1]
- adds r0, r2, 0x4
- movs r1, 0x13
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1D
- bl ZeroFillWindowRect
- ldr r4, _0804D484 @ =gStringVar4
- ldr r1, _0804D488 @ =gTradeText_TakeGoodCare
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, 0x34
- ldrb r2, [r1]
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x2
- bl sub_8003460
- ldr r0, [r6]
- adds r0, 0xC0
- str r5, [r0]
- b _0804D570
- .align 2, 0
-_0804D480: .4byte 0x00000173
-_0804D484: .4byte gStringVar4
-_0804D488: .4byte gTradeText_TakeGoodCare
-_0804D48C:
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bne _0804D570
- adds r1, 0x4
- b _0804D53E
-_0804D4A0:
- bl sub_804E1DC
- b _0804D538
-_0804D4A6:
- ldr r2, [r6]
- movs r3, 0x8F
- lsls r3, 1
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804D4B8
- movs r0, 0x1
- b _0804D572
-_0804D4B8:
- ldr r0, _0804D4C8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804D570
- adds r1, r2, 0
- b _0804D53C
- .align 2, 0
-_0804D4C8: .4byte gMain
-_0804D4CC:
- ldr r0, _0804D510 @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- movs r1, 0
- bl sub_804BA94
- ldr r1, _0804D514 @ =gCB2_AfterEvolution
- ldr r0, _0804D518 @ =sub_804BBCC
- str r0, [r1]
- ldr r7, _0804D51C @ =gUnknown_020297D8
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _0804D520 @ =gPlayerParty
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0804D538
- ldrb r3, [r7]
- adds r0, r3, 0
- muls r0, r6
- adds r0, r5
- ldr r1, _0804D524 @ =gUnknown_03004828
- ldr r1, [r1]
- adds r1, 0xB9
- ldrb r2, [r1]
- adds r1, r4, 0
- bl TradeEvolutionScene
- b _0804D538
- .align 2, 0
-_0804D510: .4byte gSpecialVar_0x8005
-_0804D514: .4byte gCB2_AfterEvolution
-_0804D518: .4byte sub_804BBCC
-_0804D51C: .4byte gUnknown_020297D8
-_0804D520: .4byte gPlayerParty
-_0804D524: .4byte gUnknown_03004828
-_0804D528:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
-_0804D534:
- bl BeginNormalPaletteFade
-_0804D538:
- ldr r0, _0804D548 @ =gUnknown_03004828
- ldr r1, [r0]
-_0804D53C:
- adds r1, 0xC4
-_0804D53E:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0804D570
- .align 2, 0
-_0804D548: .4byte gUnknown_03004828
-_0804D54C:
- ldr r0, _0804D580 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804D570
- ldr r0, [r6]
- movs r7, 0x92
- lsls r7, 1
- adds r0, r7
- ldrh r0, [r0]
- bl PlayBGM
- ldr r0, _0804D584 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- bl sub_804D8E4
-_0804D570:
- movs r0, 0
-_0804D572:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0804D580: .4byte gPaletteFade
-_0804D584: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_804C29C
-
- thumb_func_start sub_804D588
-sub_804D588: @ 804D588
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _0804D5A0 @ =gMain
- ldr r2, _0804D5A4 @ =0x0000043c
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0804D5A8
- cmp r0, 0x4
- beq _0804D5B8
- b _0804D614
- .align 2, 0
-_0804D5A0: .4byte gMain
-_0804D5A4: .4byte 0x0000043c
-_0804D5A8:
- movs r0, 0x4
- strb r0, [r1]
- ldr r1, _0804D5B4 @ =gSoftResetDisabled
- movs r0, 0x1
- b _0804D612
- .align 2, 0
-_0804D5B4: .4byte gSoftResetDisabled
-_0804D5B8:
- ldr r0, _0804D5F4 @ =gCB2_AfterEvolution
- ldr r1, _0804D5F8 @ =sub_804DC88
- mov r8, r1
- str r1, [r0]
- ldr r7, _0804D5FC @ =gUnknown_020297D8
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _0804D600 @ =gPlayerParty
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0804D608
- ldrb r3, [r7]
- adds r0, r3, 0
- muls r0, r6
- adds r0, r5
- ldr r1, _0804D604 @ =gUnknown_03004828
- ldr r1, [r1]
- adds r1, 0xB9
- ldrb r2, [r1]
- adds r1, r4, 0
- bl TradeEvolutionScene
- b _0804D60E
- .align 2, 0
-_0804D5F4: .4byte gCB2_AfterEvolution
-_0804D5F8: .4byte sub_804DC88
-_0804D5FC: .4byte gUnknown_020297D8
-_0804D600: .4byte gPlayerParty
-_0804D604: .4byte gUnknown_03004828
-_0804D608:
- mov r0, r8
- bl SetMainCallback2
-_0804D60E:
- ldr r1, _0804D638 @ =gUnknown_020297D8
- movs r0, 0xFF
-_0804D612:
- strb r0, [r1]
-_0804D614:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- bne _0804D622
- bl RunTasks
-_0804D622:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D638: .4byte gUnknown_020297D8
- thumb_func_end sub_804D588
-
- thumb_func_start sub_804D63C
-sub_804D63C: @ 804D63C
- push {r4-r6,lr}
- bl sub_804B2B0
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x1
- adds r0, r5, 0
- ands r0, r6
- cmp r0, 0
- beq _0804D67A
- ldr r4, _0804D6A8 @ =gBlockRecvBuffer
- ldrh r1, [r4]
- ldr r0, _0804D6AC @ =0x0000dcba
- cmp r1, r0
- bne _0804D664
- ldr r0, _0804D6B0 @ =sub_804D588
- bl SetMainCallback2
-_0804D664:
- ldrh r1, [r4]
- ldr r0, _0804D6B4 @ =0x0000abcd
- cmp r1, r0
- bne _0804D674
- ldr r0, _0804D6B8 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0x9C
- strb r6, [r0]
-_0804D674:
- movs r0, 0
- bl ResetBlockReceivedFlag
-_0804D67A:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _0804D6A2
- ldr r0, _0804D6A8 @ =gBlockRecvBuffer
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _0804D6B4 @ =0x0000abcd
- cmp r1, r0
- bne _0804D69C
- ldr r0, _0804D6B8 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0x9D
- movs r1, 0x1
- strb r1, [r0]
-_0804D69C:
- movs r0, 0x1
- bl ResetBlockReceivedFlag
-_0804D6A2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D6A8: .4byte gBlockRecvBuffer
-_0804D6AC: .4byte 0x0000dcba
-_0804D6B0: .4byte sub_804D588
-_0804D6B4: .4byte 0x0000abcd
-_0804D6B8: .4byte gUnknown_03004828
- thumb_func_end sub_804D63C
-
- thumb_func_start sub_804D6BC
-sub_804D6BC: @ 804D6BC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- ldrh r4, [r5, 0x22]
- adds r4, r0
- strh r4, [r5, 0x22]
- ldrh r0, [r5, 0x30]
- ldrh r2, [r5, 0x38]
- adds r0, r2
- strh r0, [r5, 0x38]
- movs r1, 0x38
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r5, 0x20]
- lsls r4, 16
- asrs r4, 16
- cmp r4, 0x4C
- ble _0804D70A
- movs r0, 0x4C
- strh r0, [r5, 0x22]
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- muls r0, r1
- negs r0, r0
- movs r1, 0x64
- bl __divsi3
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
-_0804D70A:
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- cmp r0, 0x78
- bne _0804D716
- movs r0, 0
- strh r0, [r5, 0x30]
-_0804D716:
- ldrh r0, [r5, 0x36]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bne _0804D72E
- movs r0, 0x1
- strh r0, [r5, 0x3C]
- ldr r0, _0804D734 @ =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_0804D72E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D734: .4byte SpriteCallbackDummy
- thumb_func_end sub_804D6BC
-
- thumb_func_start sub_804D738
-sub_804D738: @ 804D738
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, _0804D7A0 @ =gTradeBallVerticalVelocityTable
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x16
- bne _0804D760
- movs r0, 0x38
- bl PlaySE
-_0804D760:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2C
- bne _0804D796
- movs r0, 0x8C
- bl PlaySE
- ldr r0, _0804D7A4 @ =sub_804D7AC
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- movs r1, 0x1
- negs r1, r1
- ldr r2, _0804D7A8 @ =0x0000ffff
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0804D796:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D7A0: .4byte gTradeBallVerticalVelocityTable
-_0804D7A4: .4byte sub_804D7AC
-_0804D7A8: .4byte 0x0000ffff
- thumb_func_end sub_804D738
-
- thumb_func_start sub_804D7AC
-sub_804D7AC: @ 804D7AC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x14
- bne _0804D7C0
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0804D7C0:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0804D7FE
- ldr r1, _0804D804 @ =gTradeBallVerticalVelocityTable
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrh r0, [r4, 0x26]
- subs r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- bne _0804D7FE
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, _0804D808 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0xC4
- movs r1, 0xE
- strh r1, [r0]
-_0804D7FE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D804: .4byte gTradeBallVerticalVelocityTable
-_0804D808: .4byte gUnknown_03004828
- thumb_func_end sub_804D7AC
-
- thumb_func_start sub_804D80C
-sub_804D80C: @ 804D80C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0804D83C
- ldrh r0, [r4, 0x22]
- adds r0, 0x4
- strh r0, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- cmp r0, r1
- ble _0804D88C
- adds r0, r2, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0x16
- strh r0, [r4, 0x2E]
- movs r0, 0x38
- bl PlaySE
- b _0804D88C
-_0804D83C:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x42
- bne _0804D84A
- movs r0, 0x39
- bl PlaySE
-_0804D84A:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x5C
- bne _0804D858
- movs r0, 0x3A
- bl PlaySE
-_0804D858:
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0x6B
- bne _0804D866
- movs r0, 0x3B
- bl PlaySE
-_0804D866:
- ldr r1, _0804D894 @ =gTradeBallVerticalVelocityTable
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r3, [r4, 0x26]
- adds r0, r3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6C
- bne _0804D88C
- ldr r0, _0804D898 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0804D88C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D894: .4byte gTradeBallVerticalVelocityTable
-_0804D898: .4byte SpriteCallbackDummy
- thumb_func_end sub_804D80C
-
- thumb_func_start sub_804D89C
-sub_804D89C: @ 804D89C
- push {r4-r6,lr}
- ldr r0, _0804D8D0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, _0804D8D4 @ =gIngameTrades
- adds r4, r0
- ldr r0, _0804D8D8 @ =gStringVar1
- ldrh r1, [r4, 0x38]
- movs r6, 0xB
- muls r1, r6
- ldr r5, _0804D8DC @ =gSpeciesNames
- adds r1, r5
- bl StringCopy
- ldr r0, _0804D8E0 @ =gStringVar2
- ldrh r1, [r4, 0xC]
- muls r1, r6
- adds r1, r5
- bl StringCopy
- ldrh r0, [r4, 0x38]
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0804D8D0: .4byte gSpecialVar_0x8004
-_0804D8D4: .4byte gIngameTrades
-_0804D8D8: .4byte gStringVar1
-_0804D8DC: .4byte gSpeciesNames
-_0804D8E0: .4byte gStringVar2
- thumb_func_end sub_804D89C
-
- thumb_func_start sub_804D8E4
-sub_804D8E4: @ 804D8E4
- push {r4,lr}
- sub sp, 0x20
- ldr r0, _0804D92C @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, _0804D930 @ =gIngameTrades
- adds r4, r0
- ldr r0, _0804D934 @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0804D938 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, _0804D93C @ =gStringVar1
- mov r1, sp
- bl StringCopy10
- ldr r0, _0804D940 @ =gStringVar2
- ldrh r2, [r4, 0xC]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _0804D944 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D92C: .4byte gSpecialVar_0x8004
-_0804D930: .4byte gIngameTrades
-_0804D934: .4byte gSpecialVar_0x8005
-_0804D938: .4byte gPlayerParty
-_0804D93C: .4byte gStringVar1
-_0804D940: .4byte gStringVar2
-_0804D944: .4byte gSpeciesNames
- thumb_func_end sub_804D8E4
-
- thumb_func_start sub_804D948
-sub_804D948: @ 804D948
- push {r4-r7,lr}
- sub sp, 0x38
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r1, 4
- subs r2, r1
- lsls r2, 2
- ldr r1, _0804DAA4 @ =gIngameTrades
- adds r5, r2, r1
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0804DAA8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- add r4, sp, 0x34
- movs r0, 0xFE
- strb r0, [r4]
- ldr r6, _0804DAAC @ =gEnemyParty
- ldrh r1, [r5, 0xC]
- movs r3, 0x1
- str r3, [sp]
- ldr r0, [r5, 0x24]
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- ldr r0, [r5, 0x18]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- movs r3, 0x20
- bl CreateMon
- adds r2, r5, 0
- adds r2, 0xE
- adds r0, r6, 0
- movs r1, 0x27
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0xF
- adds r0, r6, 0
- movs r1, 0x28
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x10
- adds r0, r6, 0
- movs r1, 0x29
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x11
- adds r0, r6, 0
- movs r1, 0x2A
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x12
- adds r0, r6, 0
- movs r1, 0x2B
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x13
- adds r0, r6, 0
- movs r1, 0x2C
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r5, 0
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x2B
- adds r0, r6, 0
- movs r1, 0x7
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x36
- adds r0, r6, 0
- movs r1, 0x31
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x14
- adds r0, r6, 0
- movs r1, 0x2E
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1D
- adds r0, r6, 0
- movs r1, 0x17
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1E
- adds r0, r6, 0
- movs r1, 0x18
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1C
- adds r0, r6, 0
- movs r1, 0x16
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1F
- adds r0, r6, 0
- movs r1, 0x21
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x20
- adds r0, r6, 0
- movs r1, 0x2F
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x37
- adds r0, r6, 0
- movs r1, 0x30
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x23
- adds r2, r4, 0
- bl SetMonData
- mov r4, sp
- adds r4, 0x35
- movs r0, 0
- strb r0, [r4]
- ldrh r0, [r5, 0x28]
- cmp r0, 0
- beq _0804DAC0
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0804DAB4
- add r0, sp, 0x10
- adds r1, r5, 0
- bl sub_804DAD4
- ldr r0, _0804DAB0 @ =gUnknown_02029700
- add r1, sp, 0x10
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- adds r0, r6, 0
- movs r1, 0x40
- adds r2, r4, 0
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x28
- adds r0, r6, 0
- movs r1, 0xC
- bl SetMonData
- b _0804DAC0
- .align 2, 0
-_0804DAA4: .4byte gIngameTrades
-_0804DAA8: .4byte gPlayerParty
-_0804DAAC: .4byte gEnemyParty
-_0804DAB0: .4byte gUnknown_02029700
-_0804DAB4:
- adds r2, r5, 0
- adds r2, 0x28
- adds r0, r6, 0
- movs r1, 0xC
- bl SetMonData
-_0804DAC0:
- ldr r0, _0804DAD0 @ =gEnemyParty
- bl CalculateMonStats
- add sp, 0x38
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804DAD0: .4byte gEnemyParty
- thumb_func_end sub_804D948
-
-.section .text.sub_804DB2C
-
- thumb_func_start sub_804DB2C
-sub_804DB2C: @ 804DB2C
- push {r4-r6,lr}
- ldr r6, _0804DB58 @ =gSpecialVar_0x8005
- ldrh r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _0804DB5C @ =gPlayerParty
- adds r0, r4
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804DB60
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- b _0804DB62
- .align 2, 0
-_0804DB58: .4byte gSpecialVar_0x8005
-_0804DB5C: .4byte gPlayerParty
-_0804DB60:
- movs r0, 0
-_0804DB62:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_804DB2C
-
- thumb_func_start sub_804DB68
-sub_804DB68: @ 804DB68
- push {lr}
- ldr r0, _0804DB7C @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r1, _0804DB80 @ =gSpecialVar_0x8004
- ldrb r1, [r1]
- bl sub_804D948
- pop {r0}
- bx r0
- .align 2, 0
-_0804DB7C: .4byte gSpecialVar_0x8005
-_0804DB80: .4byte gSpecialVar_0x8004
- thumb_func_end sub_804DB68
-
- thumb_func_start sub_804DB84
-sub_804DB84: @ 804DB84
- push {r4-r6,lr}
- bl sub_804C29C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- bne _0804DBE6
- ldr r5, _0804DC04 @ =gUnknown_03004828
- ldr r0, [r5]
- adds r0, 0xB8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0804DC08 @ =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r5]
- adds r0, 0xB9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldr r0, _0804DC0C @ =gUnknown_020297D8
- ldrb r4, [r0]
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_804BA94
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x9E
- ldr r1, _0804DC10 @ =0x0000abcd
- strh r1, [r2]
- adds r0, 0xBD
- strb r6, [r0]
- ldr r0, _0804DC14 @ =sub_804DC18
- bl SetMainCallback2
-_0804DBE6:
- bl sub_804BB78
- bl sub_804D63C
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804DC04: .4byte gUnknown_03004828
-_0804DC08: .4byte gSprites
-_0804DC0C: .4byte gUnknown_020297D8
-_0804DC10: .4byte 0x0000abcd
-_0804DC14: .4byte sub_804DC18
- thumb_func_end sub_804DB84
-
- thumb_func_start sub_804DC18
-sub_804DC18: @ 804DC18
- push {r4,lr}
- bl sub_804B2B0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_804D63C
- cmp r4, 0
- bne _0804DC64
- ldr r4, _0804DC7C @ =gUnknown_03004828
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x9C
- ldrh r1, [r0]
- ldr r0, _0804DC80 @ =0x00000101
- cmp r1, r0
- bne _0804DC64
- adds r1, r2, 0
- adds r1, 0x9E
- ldr r0, _0804DC84 @ =0x0000dcba
- strh r0, [r1]
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x9E
- movs r2, 0x14
- bl SendBlock
- ldr r0, [r4]
- adds r0, 0x9C
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9D
- strb r1, [r0]
-_0804DC64:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804DC7C: .4byte gUnknown_03004828
-_0804DC80: .4byte 0x00000101
-_0804DC84: .4byte 0x0000dcba
- thumb_func_end sub_804DC18
-
- thumb_func_start sub_804DC88
-sub_804DC88: @ 804DC88
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, _0804DCA8 @ =gMain
- ldr r2, _0804DCAC @ =0x0000043c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x65
- bls _0804DC9C
- b _0804E11A
-_0804DC9C:
- lsls r0, 2
- ldr r1, _0804DCB0 @ =_0804DCB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804DCA8: .4byte gMain
-_0804DCAC: .4byte 0x0000043c
-_0804DCB0: .4byte _0804DCB4
- .align 2, 0
-_0804DCB4:
- .4byte _0804DE4C
- .4byte _0804DE9C
- .4byte _0804DF14
- .4byte _0804E11A
- .4byte _0804DFE0
- .4byte _0804E078
- .4byte _0804E0A0
- .4byte _0804E0BC
- .4byte _0804E0E4
- .4byte _0804E10C
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E008
- .4byte _0804E034
- .4byte _0804E04C
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804DF54
- .4byte _0804DF7C
- .4byte _0804DF9C
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804E11A
- .4byte _0804DEB4
- .4byte _0804DEF4
-_0804DE4C:
- ldr r5, _0804DE88 @ =gUnknown_03004828
- ldr r0, _0804DE8C @ =0x0201f000
- str r0, [r5]
- ldr r1, _0804DE90 @ =0x0000043c
- adds r2, r1
- ldrb r1, [r2]
- adds r1, 0x1
- strb r1, [r2]
- adds r0, 0x4
- movs r1, 0x13
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1D
- bl ZeroFillWindowRect
- ldr r4, _0804DE94 @ =gStringVar4
- ldr r1, _0804DE98 @ =gOtherText_LinkStandby2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r1, [r5]
- adds r0, r1, 0x4
- adds r1, 0x34
- ldrb r2, [r1]
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- b _0804DF3E
- .align 2, 0
-_0804DE88: .4byte gUnknown_03004828
-_0804DE8C: .4byte 0x0201f000
-_0804DE90: .4byte 0x0000043c
-_0804DE94: .4byte gStringVar4
-_0804DE98: .4byte gOtherText_LinkStandby2
-_0804DE9C:
- bl sub_80084A4
- ldr r0, _0804DEAC @ =gMain
- ldr r2, _0804DEB0 @ =0x0000043c
- adds r0, r2
- movs r2, 0
- movs r1, 0x64
- b _0804DFEE
- .align 2, 0
-_0804DEAC: .4byte gMain
-_0804DEB0: .4byte 0x0000043c
-_0804DEB4:
- ldr r0, _0804DEE8 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r3, r0, 0
- adds r3, 0xC0
- ldr r0, [r3]
- adds r0, 0x1
- str r0, [r3]
- cmp r0, 0xB4
- bls _0804DED2
- ldr r1, _0804DEEC @ =0x0000043c
- adds r0, r2, r1
- movs r2, 0
- movs r1, 0x65
- strb r1, [r0]
- str r2, [r3]
-_0804DED2:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _0804DEDE
- b _0804E11A
-_0804DEDE:
- ldr r0, _0804DEF0 @ =gMain
- ldr r2, _0804DEEC @ =0x0000043c
- adds r0, r2
- b _0804DF06
- .align 2, 0
-_0804DEE8: .4byte gUnknown_03004828
-_0804DEEC: .4byte 0x0000043c
-_0804DEF0: .4byte gMain
-_0804DEF4:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _0804DF00
- b _0804E11A
-_0804DF00:
- ldr r0, _0804DF0C @ =gMain
- ldr r1, _0804DF10 @ =0x0000043c
- adds r0, r1
-_0804DF06:
- movs r1, 0x2
- strb r1, [r0]
- b _0804E11A
- .align 2, 0
-_0804DF0C: .4byte gMain
-_0804DF10: .4byte 0x0000043c
-_0804DF14:
- ldr r0, _0804DF48 @ =0x0000043c
- adds r1, r2, r0
- movs r0, 0x32
- strb r0, [r1]
- ldr r4, _0804DF4C @ =gUnknown_03004828
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x13
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1D
- bl ZeroFillWindowRect
- ldr r2, [r4]
- adds r0, r2, 0x4
- ldr r1, _0804DF50 @ =gSystemText_Saving
- adds r2, 0x34
- ldrb r2, [r2]
- movs r3, 0xF
- str r3, [sp]
-_0804DF3E:
- movs r3, 0x2
- bl sub_8003460
- b _0804E11A
- .align 2, 0
-_0804DF48: .4byte 0x0000043c
-_0804DF4C: .4byte gUnknown_03004828
-_0804DF50: .4byte gSystemText_Saving
-_0804DF54:
- bl SetSecretBase2Field_9_AndHideBG
- movs r0, 0x15
- bl IncrementGameStat
- bl sub_8125D80
- ldr r1, _0804DF74 @ =gMain
- ldr r2, _0804DF78 @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- b _0804DFF0
- .align 2, 0
-_0804DF74: .4byte gMain
-_0804DF78: .4byte 0x0000043c
-_0804DF7C:
- ldr r0, _0804DF94 @ =gUnknown_03004828
- ldr r1, [r0]
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x5
- beq _0804DF8E
- b _0804E11A
-_0804DF8E:
- ldr r0, _0804DF98 @ =0x0000043c
- adds r1, r2, r0
- b _0804E0FA
- .align 2, 0
-_0804DF94: .4byte gUnknown_03004828
-_0804DF98: .4byte 0x0000043c
-_0804DF9C:
- bl sub_8125DA8
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0804DFC0
- bl ClearSecretBase2Field_9_2
- ldr r0, _0804DFB8 @ =gMain
- ldr r1, _0804DFBC @ =0x0000043c
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- b _0804E11A
- .align 2, 0
-_0804DFB8: .4byte gMain
-_0804DFBC: .4byte 0x0000043c
-_0804DFC0:
- ldr r0, _0804DFD4 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0xC0
- str r1, [r0]
- ldr r0, _0804DFD8 @ =gMain
- ldr r2, _0804DFDC @ =0x0000043c
- adds r0, r2
- movs r1, 0x33
- strb r1, [r0]
- b _0804E11A
- .align 2, 0
-_0804DFD4: .4byte gUnknown_03004828
-_0804DFD8: .4byte gMain
-_0804DFDC: .4byte 0x0000043c
-_0804DFE0:
- bl sub_8125DDC
- ldr r0, _0804DFFC @ =gMain
- ldr r1, _0804E000 @ =0x0000043c
- adds r0, r1
- movs r2, 0
- movs r1, 0x28
-_0804DFEE:
- strb r1, [r0]
-_0804DFF0:
- ldr r0, _0804E004 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0xC0
- str r2, [r0]
- b _0804E11A
- .align 2, 0
-_0804DFFC: .4byte gMain
-_0804E000: .4byte 0x0000043c
-_0804E004: .4byte gUnknown_03004828
-_0804E008:
- ldr r0, _0804E02C @ =gUnknown_03004828
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x32
- bhi _0804E01C
- b _0804E11A
-_0804E01C:
- movs r0, 0
- str r0, [r1]
- ldr r0, _0804E030 @ =0x0000043c
- adds r1, r2, r0
- movs r0, 0x29
- strb r0, [r1]
- b _0804E11A
- .align 2, 0
-_0804E02C: .4byte gUnknown_03004828
-_0804E030: .4byte 0x0000043c
-_0804E034:
- bl sub_80084A4
- ldr r0, _0804E044 @ =gMain
- ldr r1, _0804E048 @ =0x0000043c
- adds r0, r1
- movs r1, 0x2A
- strb r1, [r0]
- b _0804E11A
- .align 2, 0
-_0804E044: .4byte gMain
-_0804E048: .4byte 0x0000043c
-_0804E04C:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _0804E11A
- bl sub_8125E04
- ldr r1, _0804E06C @ =gSoftResetDisabled
- movs r0, 0
- strb r0, [r1]
- ldr r0, _0804E070 @ =gMain
- ldr r2, _0804E074 @ =0x0000043c
- adds r0, r2
- movs r1, 0x5
- strb r1, [r0]
- b _0804E11A
- .align 2, 0
-_0804E06C: .4byte gSoftResetDisabled
-_0804E070: .4byte gMain
-_0804E074: .4byte 0x0000043c
-_0804E078:
- ldr r0, _0804E098 @ =gUnknown_03004828
- ldr r1, [r0]
- adds r1, 0xC0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bls _0804E11A
- ldr r0, _0804E09C @ =0x0000043c
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_80084A4
- b _0804E11A
- .align 2, 0
-_0804E098: .4byte gUnknown_03004828
-_0804E09C: .4byte 0x0000043c
-_0804E0A0:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _0804E11A
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0804E0F4
-_0804E0BC:
- ldr r0, _0804E0D8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804E11A
- movs r0, 0x3
- bl FadeOutBGM
- ldr r1, _0804E0DC @ =gMain
- ldr r0, _0804E0E0 @ =0x0000043c
- adds r1, r0
- b _0804E0FA
- .align 2, 0
-_0804E0D8: .4byte gPaletteFade
-_0804E0DC: .4byte gMain
-_0804E0E0: .4byte 0x0000043c
-_0804E0E4:
- bl IsBGMStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0804E11A
- bl sub_800832C
-_0804E0F4:
- ldr r1, _0804E104 @ =gMain
- ldr r2, _0804E108 @ =0x0000043c
- adds r1, r2
-_0804E0FA:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804E11A
- .align 2, 0
-_0804E104: .4byte gMain
-_0804E108: .4byte 0x0000043c
-_0804E10C:
- ldr r0, _0804E13C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804E11A
- ldr r0, _0804E140 @ =sub_804E144
- bl SetMainCallback2
-_0804E11A:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- bne _0804E128
- bl RunTasks
-_0804E128:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E13C: .4byte gReceivedRemoteLinkPlayers
-_0804E140: .4byte sub_804E144
- thumb_func_end sub_804DC88
-
- thumb_func_start sub_804E144
-sub_804E144: @ 804E144
- push {lr}
- ldr r0, _0804E16C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804E158
- ldr r0, _0804E170 @ =sub_8047CD8
- bl SetMainCallback2
-_0804E158:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- .align 2, 0
-_0804E16C: .4byte gPaletteFade
-_0804E170: .4byte sub_8047CD8
- thumb_func_end sub_804E144
-
- thumb_func_start sub_804E174
-sub_804E174: @ 804E174
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _0804E19C @ =sub_804E1A0
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0804E19C: .4byte sub_804E1A0
- thumb_func_end sub_804E174
-
- thumb_func_start sub_804E1A0
-sub_804E1A0: @ 804E1A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0804E1CC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804E1C4
- ldr r0, _0804E1D0 @ =sub_804B790
- bl SetMainCallback2
- ldr r1, _0804E1D4 @ =gFieldCallback
- ldr r0, _0804E1D8 @ =sub_8080990
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0804E1C4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E1CC: .4byte gPaletteFade
-_0804E1D0: .4byte sub_804B790
-_0804E1D4: .4byte gFieldCallback
-_0804E1D8: .4byte sub_8080990
- thumb_func_end sub_804E1A0
-
- thumb_func_start sub_804E1DC
-sub_804E1DC: @ 804E1DC
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0804E1E2:
- ldr r0, _0804E220 @ =gUnknown_020297D8
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0804E224 @ =gEnemyParty
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x43
- bl GetMonData
- adds r0, r5, r0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xB
- bls _0804E1E2
- cmp r5, 0
- beq _0804E21A
- ldr r0, _0804E228 @ =0x0000083b
- bl FlagSet
-_0804E21A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E220: .4byte gUnknown_020297D8
-_0804E224: .4byte gEnemyParty
-_0804E228: .4byte 0x0000083b
- thumb_func_end sub_804E1DC
-
- thumb_func_start sub_804E22C
-sub_804E22C: @ 804E22C
- push {r4,lr}
- ldr r0, _0804E26C @ =gUnknown_08D00000
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r0, _0804E270 @ =gUnknown_08D00524
- ldr r4, _0804E274 @ =0x02000000
- movs r2, 0x80
- lsls r2, 4
- adds r1, r4, 0
- bl CpuSet
- ldr r1, _0804E278 @ =0x06002800
- ldr r0, _0804E27C @ =0x040000d4
- str r4, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0804E280 @ =0x80000280
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _0804E284 @ =gUnknown_08D004E0
- movs r1, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r1, _0804E288 @ =REG_BG1CNT
- ldr r2, _0804E28C @ =0x00000502
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E26C: .4byte gUnknown_08D00000
-_0804E270: .4byte gUnknown_08D00524
-_0804E274: .4byte 0x02000000
-_0804E278: .4byte 0x06002800
-_0804E27C: .4byte 0x040000d4
-_0804E280: .4byte 0x80000280
-_0804E284: .4byte gUnknown_08D004E0
-_0804E288: .4byte REG_BG1CNT
-_0804E28C: .4byte 0x00000502
- thumb_func_end sub_804E22C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asmdiff.sh b/asmdiff.sh
new file mode 100644
index 000000000..a4b465b6e
--- /dev/null
+++ b/asmdiff.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb"
+OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))"
+$OBJDUMP $OPTIONS baserom.gba > baserom.dump
+$OBJDUMP $OPTIONS pokeruby.gba > pokeruby.dump
+diff baserom.dump pokeruby.dump
diff --git a/common_syms/battle_anim.txt b/common_syms/battle/battle_anim.txt
index a93ac9b5d..a93ac9b5d 100644
--- a/common_syms/battle_anim.txt
+++ b/common_syms/battle/battle_anim.txt
diff --git a/common_syms/mori_debug_menu.txt b/common_syms/debug/mori_debug_menu.txt
index 77ab5531c..77ab5531c 100644
--- a/common_syms/mori_debug_menu.txt
+++ b/common_syms/debug/mori_debug_menu.txt
diff --git a/common_syms/sound_check_menu.txt b/common_syms/debug/sound_check_menu.txt
index ba350ad8e..e9e3032e6 100644
--- a/common_syms/sound_check_menu.txt
+++ b/common_syms/debug/sound_check_menu.txt
@@ -1 +1,2 @@
gUnknown_03005D30
+gSoundTestCryNum
diff --git a/common_syms/link.txt b/common_syms/engine/link.txt
index faafda4d0..faafda4d0 100644
--- a/common_syms/link.txt
+++ b/common_syms/engine/link.txt
diff --git a/common_syms/load_save.txt b/common_syms/engine/load_save.txt
index 3b969deca..3b969deca 100644
--- a/common_syms/load_save.txt
+++ b/common_syms/engine/load_save.txt
diff --git a/common_syms/main.txt b/common_syms/engine/main.txt
index a620083d1..a620083d1 100644
--- a/common_syms/main.txt
+++ b/common_syms/engine/main.txt
diff --git a/common_syms/record_mixing.txt b/common_syms/engine/record_mixing.txt
index a6f4f8df3..a6f4f8df3 100644
--- a/common_syms/record_mixing.txt
+++ b/common_syms/engine/record_mixing.txt
diff --git a/common_syms/rng.txt b/common_syms/engine/rng.txt
index 794439ea5..794439ea5 100644
--- a/common_syms/rng.txt
+++ b/common_syms/engine/rng.txt
diff --git a/common_syms/rtc.txt b/common_syms/engine/rtc.txt
index fa00a34d5..fa00a34d5 100644
--- a/common_syms/rtc.txt
+++ b/common_syms/engine/rtc.txt
diff --git a/common_syms/save.txt b/common_syms/engine/save.txt
index d09a52bcf..d09a52bcf 100644
--- a/common_syms/save.txt
+++ b/common_syms/engine/save.txt
diff --git a/common_syms/sound.txt b/common_syms/engine/sound.txt
index 0f6f2fc75..0f6f2fc75 100644
--- a/common_syms/sound.txt
+++ b/common_syms/engine/sound.txt
diff --git a/common_syms/sprite.txt b/common_syms/engine/sprite.txt
index fe38dc61f..fe38dc61f 100644
--- a/common_syms/sprite.txt
+++ b/common_syms/engine/sprite.txt
diff --git a/common_syms/string_util.txt b/common_syms/engine/string_util.txt
index 1ee62aaad..1ee62aaad 100644
--- a/common_syms/string_util.txt
+++ b/common_syms/engine/string_util.txt
diff --git a/common_syms/task.txt b/common_syms/engine/task.txt
index 6601bd11b..6601bd11b 100644
--- a/common_syms/task.txt
+++ b/common_syms/engine/task.txt
diff --git a/common_syms/field_camera.txt b/common_syms/field/field_camera.txt
index 7aad967f8..7aad967f8 100644
--- a/common_syms/field_camera.txt
+++ b/common_syms/field/field_camera.txt
diff --git a/common_syms/field_control_avatar.txt b/common_syms/field/field_control_avatar.txt
index 040a9e6c1..040a9e6c1 100644
--- a/common_syms/field_control_avatar.txt
+++ b/common_syms/field/field_control_avatar.txt
diff --git a/common_syms/field_map_obj.txt b/common_syms/field/field_map_obj.txt
index 32d8b1915..32d8b1915 100644
--- a/common_syms/field_map_obj.txt
+++ b/common_syms/field/field_map_obj.txt
diff --git a/common_syms/fieldmap.txt b/common_syms/field/fieldmap.txt
index 7819b3b40..7819b3b40 100644
--- a/common_syms/fieldmap.txt
+++ b/common_syms/field/fieldmap.txt
diff --git a/common_syms/overworld.txt b/common_syms/field/overworld.txt
index ecdb190b2..ecdb190b2 100644
--- a/common_syms/overworld.txt
+++ b/common_syms/field/overworld.txt
diff --git a/common_syms/start_menu.txt b/common_syms/field/start_menu.txt
index bc0c247d1..bc0c247d1 100644
--- a/common_syms/start_menu.txt
+++ b/common_syms/field/start_menu.txt
diff --git a/common_syms/tv.txt b/common_syms/field/tv.txt
index 829139f8f..829139f8f 100644
--- a/common_syms/tv.txt
+++ b/common_syms/field/tv.txt
diff --git a/common_syms/agb_flash.txt b/common_syms/libs/agb_flash.txt
index cb421ec80..cb421ec80 100644
--- a/common_syms/agb_flash.txt
+++ b/common_syms/libs/agb_flash.txt
diff --git a/common_syms/m4a_2.txt b/common_syms/libs/m4a_2.txt
index a80d8a79d..a80d8a79d 100644
--- a/common_syms/m4a_2.txt
+++ b/common_syms/libs/m4a_2.txt
diff --git a/common_syms/pokeblock_feed.txt b/common_syms/pokemon/pokeblock_feed.txt
index 827e6526e..827e6526e 100644
--- a/common_syms/pokeblock_feed.txt
+++ b/common_syms/pokemon/pokeblock_feed.txt
diff --git a/common_syms/pokedex.txt b/common_syms/pokemon/pokedex.txt
index 18b14f3ed..18b14f3ed 100644
--- a/common_syms/pokedex.txt
+++ b/common_syms/pokemon/pokedex.txt
diff --git a/common_syms/pokemon_1.txt b/common_syms/pokemon/pokemon_1.txt
index c588d53a7..c588d53a7 100644
--- a/common_syms/pokemon_1.txt
+++ b/common_syms/pokemon/pokemon_1.txt
diff --git a/common_syms/pokemon_menu.txt b/common_syms/pokemon/pokemon_menu.txt
index 98a1bf53b..98a1bf53b 100644
--- a/common_syms/pokemon_menu.txt
+++ b/common_syms/pokemon/pokemon_menu.txt
diff --git a/common_syms/berry_blender.txt b/common_syms/scene/berry_blender.txt
index 524a31411..524a31411 100644
--- a/common_syms/berry_blender.txt
+++ b/common_syms/scene/berry_blender.txt
diff --git a/common_syms/contest_painting.txt b/common_syms/scene/contest_painting.txt
index 2e8490348..2e8490348 100644
--- a/common_syms/contest_painting.txt
+++ b/common_syms/scene/contest_painting.txt
diff --git a/common_syms/cute_sketch.txt b/common_syms/scene/cute_sketch.txt
index e69de29bb..e69de29bb 100644
--- a/common_syms/cute_sketch.txt
+++ b/common_syms/scene/cute_sketch.txt
diff --git a/common_syms/egg_hatch.txt b/common_syms/scene/egg_hatch.txt
index 891ccc104..891ccc104 100644
--- a/common_syms/egg_hatch.txt
+++ b/common_syms/scene/egg_hatch.txt
diff --git a/common_syms/evolution_scene.txt b/common_syms/scene/evolution_scene.txt
index 137cd3e05..137cd3e05 100644
--- a/common_syms/evolution_scene.txt
+++ b/common_syms/scene/evolution_scene.txt
diff --git a/common_syms/intro.txt b/common_syms/scene/intro.txt
index d069b1014..d069b1014 100644
--- a/common_syms/intro.txt
+++ b/common_syms/scene/intro.txt
diff --git a/constants/battle_tower_constants.inc b/constants/battle_tower_constants.inc
deleted file mode 100644
index 136b43bd7..000000000
--- a/constants/battle_tower_constants.inc
+++ /dev/null
@@ -1,70 +0,0 @@
- .set F_EV_SPREAD_HP, 1 << 0
- .set F_EV_SPREAD_ATTACK, 1 << 1
- .set F_EV_SPREAD_DEFENSE, 1 << 2
- .set F_EV_SPREAD_SPEED, 1 << 3
- .set F_EV_SPREAD_SP_ATTACK, 1 << 4
- .set F_EV_SPREAD_SP_DEFENSE, 1 << 5
-
- .set BATTLE_TOWER_ITEM_NONE, 0
- .set BATTLE_TOWER_ITEM_KINGS_ROCK, 1
- .set BATTLE_TOWER_ITEM_SITRUS_BERRY, 2
- .set BATTLE_TOWER_ITEM_ORAN_BERRY, 3
- .set BATTLE_TOWER_ITEM_CHESTO_BERRY, 4
- .set BATTLE_TOWER_ITEM_HARD_STONE, 5
- .set BATTLE_TOWER_ITEM_FOCUS_BAND, 6
- .set BATTLE_TOWER_ITEM_PERSIM_BERRY, 7
- .set BATTLE_TOWER_ITEM_MIRACLE_SEED, 8
- .set BATTLE_TOWER_ITEM_BERRY_JUICE, 9
- .set BATTLE_TOWER_ITEM_MACHO_BRACE, 10
- .set BATTLE_TOWER_ITEM_SILVER_POWDER, 11
- .set BATTLE_TOWER_ITEM_CHERI_BERRY, 12
- .set BATTLE_TOWER_ITEM_BLACK_GLASSES, 13
- .set BATTLE_TOWER_ITEM_BLACK_BELT, 14
- .set BATTLE_TOWER_ITEM_SOUL_DEW, 15
- .set BATTLE_TOWER_ITEM_CHOICE_BAND, 16
- .set BATTLE_TOWER_ITEM_MAGNET, 17
- .set BATTLE_TOWER_ITEM_SILK_SCARF, 18
- .set BATTLE_TOWER_ITEM_WHITE_HERB, 19
- .set BATTLE_TOWER_ITEM_DEEP_SEA_SCALE, 20
- .set BATTLE_TOWER_ITEM_DEEP_SEA_TOOTH, 21
- .set BATTLE_TOWER_ITEM_MYSTIC_WATER, 22
- .set BATTLE_TOWER_ITEM_SHARP_BEAK, 23
- .set BATTLE_TOWER_ITEM_QUICK_CLAW, 24
- .set BATTLE_TOWER_ITEM_LEFTOVERS, 25
- .set BATTLE_TOWER_ITEM_RAWST_BERRY, 26
- .set BATTLE_TOWER_ITEM_LIGHT_BALL, 27
- .set BATTLE_TOWER_ITEM_POISON_BARB, 28
- .set BATTLE_TOWER_ITEM_NEVER_MELT_ICE, 29
- .set BATTLE_TOWER_ITEM_ASPEAR_BERRY, 30
- .set BATTLE_TOWER_ITEM_SPELL_TAG, 31
- .set BATTLE_TOWER_ITEM_BRIGHT_POWDER, 32
- .set BATTLE_TOWER_ITEM_LEPPA_BERRY, 33
- .set BATTLE_TOWER_ITEM_SCOPE_LENS, 34
- .set BATTLE_TOWER_ITEM_TWISTED_SPOON, 35
- .set BATTLE_TOWER_ITEM_METAL_COAT, 36
- .set BATTLE_TOWER_ITEM_MENTAL_HERB, 37
- .set BATTLE_TOWER_ITEM_CHARCOAL, 38
- .set BATTLE_TOWER_ITEM_PECHA_BERRY, 39
- .set BATTLE_TOWER_ITEM_SOFT_SAND, 40
- .set BATTLE_TOWER_ITEM_LUM_BERRY, 41
- .set BATTLE_TOWER_ITEM_DRAGON_SCALE, 42
- .set BATTLE_TOWER_ITEM_DRAGON_FANG, 43
- .set BATTLE_TOWER_ITEM_IAPAPA_BERRY, 44
- .set BATTLE_TOWER_ITEM_WIKI_BERRY, 45
- .set BATTLE_TOWER_ITEM_SEA_INCENSE, 46
- .set BATTLE_TOWER_ITEM_SHELL_BELL, 47
- .set BATTLE_TOWER_ITEM_SALAC_BERRY, 48
- .set BATTLE_TOWER_ITEM_LANSAT_BERRY, 49
- .set BATTLE_TOWER_ITEM_APICOT_BERRY, 50
- .set BATTLE_TOWER_ITEM_STARF_BERRY, 51
- .set BATTLE_TOWER_ITEM_LIECHI_BERRY, 52
- .set BATTLE_TOWER_ITEM_STICK, 53
- .set BATTLE_TOWER_ITEM_LAX_INCENSE, 54
- .set BATTLE_TOWER_ITEM_AGUAV_BERRY, 55
- .set BATTLE_TOWER_ITEM_FIGY_BERRY, 56
- .set BATTLE_TOWER_ITEM_THICK_CLUB, 57
- .set BATTLE_TOWER_ITEM_MAGO_BERRY, 58
- .set BATTLE_TOWER_ITEM_METAL_POWDER, 59
- .set BATTLE_TOWER_ITEM_PETAYA_BERRY, 60
- .set BATTLE_TOWER_ITEM_LUCKY_PUNCH, 61
- .set BATTLE_TOWER_ITEM_GANLON_BERRY, 62
diff --git a/constants/constants.inc b/constants/constants.inc
index 81d3b72fe..bc55f6723 100644
--- a/constants/constants.inc
+++ b/constants/constants.inc
@@ -14,7 +14,6 @@
.include "constants/map_constants.inc"
.include "constants/berry_constants.inc"
.include "constants/map_object_constants.inc"
- .include "constants/battle_tower_constants.inc"
.include "constants/opponent_constants.inc"
.include "constants/decorations.inc"
.include "constants/songs.inc"
diff --git a/data-de/battle_tower/trainers.inc b/data-de/battle_tower/trainers.inc
deleted file mode 100644
index 9791a08a6..000000000
--- a/data-de/battle_tower/trainers.inc
+++ /dev/null
@@ -1,1301 +0,0 @@
- .align 2
-gBattleTowerTrainers:: @ 8402F00
-@ 0
- .byte TRAINER_CLASS_YOUNGSTER
- .string "ALWIN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word READY
- ec_word QUES
- ec_word HERE_I_COME
- ec_word EXCL
-
-@ 1
- .byte TRAINER_CLASS_BIRD_KEEPER
- .string "DIRK$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word OH_KAY
- ec_word I_AM
- ec_word READY
- ec_word EXCL
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 2
- .byte TRAINER_CLASS_LADY
- .string "SIBILLE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THAT
- ec_word BECOMES
- ec_word A
- ec_word CHILD_S_PLAY
- ec_word GO
- .2byte 0xFFFF
-
-@ 3
- .byte TRAINER_CLASS_BLACK_BELT
- .string "OLAF$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word GHOST
- ec_word IS
- ec_word FULL
- ec_word TOUGHNESS
- ec_word SNORT
-
-@ 4
- .byte TRAINER_CLASS_NINJA_BOY
- .string "JOST$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GO
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word FIGHT
- ec_word FIGHT
- ec_word FIGHT
-
-@ 5
- .byte TRAINER_CLASS_SCHOOL_KID_F
- .string "TINA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word STUDY
- ec_word IS
- ec_word BORING
- ec_word LET_S
- ec_word BETTER
- ec_word FIGHT
-
-@ 6
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "HAJO$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TOUGHNESS
- ec_word AND
- ec_move2 TRANSFORM
- ec_word WILL
- ec_word BABE
- ec_word FAINT
-
-@ 7
- .byte TRAINER_CLASS_FISHERMAN
- .string "GEORG$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT
- ec_word GOES
- ec_word NOTHING
- ec_word OVER
- ec_word FISHING
- .2byte 0xFFFF
-
-@ 8
- .byte TRAINER_CLASS_TUBER_F
- .string "ANNE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word POKEMON
- ec_word MUST_BE
- ec_word MAN
- ec_word SIMPLE
- ec_word ADORE
- .2byte 0xFFFF
-
-@ 9
- .byte TRAINER_CLASS_POKEFAN_F
- .string "JULIA$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word CUTE
- ec_word I_AM
- ec_word QUITE
- ec_word AN
- ec_word LADY
-
-@ 10
- .byte TRAINER_CLASS_GENTLEMAN
- .string "JOHANN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_word DAY
- ec_word IS
- ec_word PERFECT
- ec_word FOR
- ec_word BATTLE
-
-@ 11
- .byte TRAINER_CLASS_CAMPER
- .string "KARL$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word NOW
- ec_word ARE
- ec_word YOU
- ec_word MY
- ec_word FRIEND
- .2byte 0xFFFF
-
-@ 12
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F
- .string "KENDRA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word SMART
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word AND
- ec_word YOU
- ec_word QUES
-
-@ 13
- .byte TRAINER_CLASS_HIKER
- .string "DAVID$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAHAHAHA
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word TODAY
- ec_word IS
- ec_move2 PAY_DAY
- .2byte 0xFFFF
-
-@ 14
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "KEA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word TOUGH
- ec_word OR
- ec_word QUES
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 15
- .byte TRAINER_CLASS_PSYCHIC_M
- .string "JULIAN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word FUFUFU
- ec_word YOU
- ec_word CAN_T
- ec_word DON_T
- ec_word WINS
- ec_word KID
-
-@ 16
- .byte TRAINER_CLASS_LASS
- .string "JOSI$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BE
- ec_word KIND
- ec_word TO
- ec_word GIRL
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 17
- .byte TRAINER_CLASS_GUITARIST
- .string "LEIF$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word GREAT
- ec_word YOU_RE
- ec_word RATHER
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word OKAY
-
-@ 18
- .byte TRAINER_CLASS_RICH_BOY
- .string "INGO$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word HAVE
- ec_word ROUGH_SKIN
- ec_word NATURAL_CURE
- ec_word IS
- ec_word ALL_RIGHT
-
-@ 19
- .byte TRAINER_CLASS_BUG_CATCHER
- .string "LUDWIG$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IF_I_WIN
- ec_word IS
- ec_word THAT
- ec_word EXCITING
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 20
- .byte TRAINER_CLASS_PICNICKER
- .string "RAJA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WITH
- ec_word POKEMON
- ec_word TO
- ec_word WALKING
- ec_word IS
- ec_word GREAT
-
-@ 21
- .byte TRAINER_CLASS_COLLECTOR
- .string "HARALD$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HERE_GOES
- ec_word MY
- ec_word HUGE_POWER
- .2byte 0xFFFF
- ec_word POKEMON
- .2byte 0xFFFF
-
-@ 22
- .byte TRAINER_CLASS_TUBER_M
- .string "KIM$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word A
- ec_word GENIUS
- ec_word WE
- ec_word WILL
- ec_word WINS
-
-@ 23
- .byte TRAINER_CLASS_KINDLER
- .string "ERWIN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word FIRE
- ec_word IS
- ec_word VERY
- ec_word HOT
- .2byte 0xFFFF
-
-@ 24
- .byte TRAINER_CLASS_PSYCHIC_F
- .string "EIKA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word FIGHTING
- ec_move1 ASTONISH
- ec_word AND
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 25
- .byte TRAINER_CLASS_SWIMMER_F
- .string "ANNINA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SORRY
- ec_word YOURS
- ec_word POKEMON
- ec_word WILL
- ec_word DON_T
- ec_word WINS
-
-@ 26
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F
- .string "RUTH$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word TOUGH
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word TOO
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
-
-@ 27
- .byte TRAINER_CLASS_POKEMANIAC
- .string "JENS$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word THOSE
- ec_word COOL
- ec_word YOURS
- ec_word LOSE
-
-@ 28
- .byte TRAINER_CLASS_SAILOR
- .string "TITUS$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word FOE
- ec_word IS
- ec_word FINALLY
- ec_word HERE
- ec_word EXCELLENT
-
-@ 29
- .byte TRAINER_CLASS_POKEMON_BREEDER_F
- .string "NICOLA$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word VORACIOUS
- ec_move2 POUND
- ec_word AND
- ec_move2 BELLY_DRUM
- .2byte 0xFFFF
-
-@ 30
- .byte TRAINER_CLASS_HEX_MANIAC
- .string "PAULA$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IS_IT_QUES
- ec_word THOSE_ARE
- ec_word UGLY
- ec_move1 SPITE
- ec_word TO
- ec_word TAKE
-
-@ 31
- .byte TRAINER_CLASS_RUIN_MANIAC
- .string "SÖREN$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ADVENTURE
- ec_word AND
- ec_word BATTLE
- ec_word THOSE
- ec_word WHO_WAS
- ec_word LIKES
-
-@ 32
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "RAINER$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WE
- ec_word CAN
- ec_word VERSUS
- ec_word CHILDREN
- ec_word DON_T
- ec_word LOSE
-
-@ 33
- .byte TRAINER_CLASS_SCHOOL_KID_M
- .string "FABIAN$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DAILY
- ec_word POKEMON
- ec_word IN
- ec_word THE
- ec_word SCHOOL
- ec_word AWESOME
-
-@ 34
- .byte TRAINER_CLASS_POKEMON_RANGER_F
- .string "ELLEN$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word ALL_RIGHT
- ec_word TO
- ec_word POKEMON
- ec_word QUES
-
-@ 35
- .byte TRAINER_CLASS_SWIMMER_M
- .string "ARNIE$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word FIGHTING
- ec_word IS
- ec_word PERFECTION
- ec_word YOUR
- ec_word USELESS
-
-@ 36
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M
- .string "HARDI$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BOY
- ec_word I_AM
- ec_word MAYBE
- ec_word TIRED
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
-
-@ 37
- .byte TRAINER_CLASS_BEAUTY
- .string "LINA$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word A
- ec_word TRAINER
- ec_word HOW_DO
- ec_word YOU
- ec_word IS
- ec_word EXCITING
-
-@ 38
- .byte TRAINER_CLASS_AROMA_LADY
- .string "SELINA$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_VE
- ec_word STENCH
- ec_word OR
- ec_move1 SWEET_SCENT
- ec_word QUES
- .2byte 0xFFFF
-
-@ 39
- .byte TRAINER_CLASS_COLLECTOR
- .string "DANTE$", 8
- .byte 0x81 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOURS
- ec_word POKEMON
- ec_word I
- ec_word WANTS
- ec_word SHE
- ec_word EXCL_EXCL
-
-@ 40
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F
- .string "KATJA$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TODAY
- ec_word WANTS
- ec_word I
- ec_word MY
- ec_word BEST
- ec_word GIVE
-
-@ 41
- .byte TRAINER_CLASS_POKEMON_RANGER_M
- .string "HORST$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAAAH
- ec_word WAAAH
- ec_word WAAAH
- ec_word WAAAH
- ec_word EHEHE
- ec_move1 FAKE_TEARS
-
-@ 42
- .byte TRAINER_CLASS_POKEFAN_M
- .string "GERRIT$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word ANIME
- ec_word SONG
- ec_word IS
- ec_word DON_T
- ec_word LOUSY
-
-@ 43
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M
- .string "NIKO$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BATTLE
- ec_word DON_T
- ec_word JUST
- ec_word DO
- ec_word SOMETHING
- ec_word ELSE
-
-@ 44
- .byte TRAINER_CLASS_POKEMON_BREEDER_M
- .string "BALDO$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word BUSY
- ec_word HAS
- ec_word THAT
- ec_word TIME
-
-@ 45
- .byte TRAINER_CLASS_PARASOL_LADY
- .string "ALMA$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THAT
- ec_move1 MORNING_SUN
- ec_word HAS
- ec_word SO
- ec_word A_LOT
- ec_move1 COSMIC_POWER
-
-@ 46
- .byte TRAINER_CLASS_CAMPER
- .string "ADAM$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word EXCITING
- ec_word BATTLE
- ec_word THOSE
- ec_word GREAT
- ec_word YEEHAW_EXCL
- .2byte 0xFFFF
-
-@ 47
- .byte TRAINER_CLASS_SCHOOL_KID_F
- .string "GRETE$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word WANTS
- ec_word SOMETHING
- ec_move1 GROWTH
- ec_word WORKS
- .2byte 0xFFFF
-
-@ 48
- .byte TRAINER_CLASS_BEAUTY
- .string "NAOMI$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT
- ec_word WAS
- ec_word GREAT
- ec_word YOUNG
- ec_word TO
- ec_word HIS
-
-@ 49
- .byte TRAINER_CLASS_NINJA_BOY
- .string "KENO$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLEASE
- ec_word BE
- ec_word DON_T
- ec_word SO
- ec_word MEAN
- ec_word TO_ME
-
-@ 50
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M
- .string "REMUS$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAKES_UP
- ec_move2 HIDDEN_POWER
- ec_word AND
- ec_move1 ASTONISH
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 51
- .byte TRAINER_CLASS_POKEMON_RANGER_F
- .string "EDITH$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_word BATTLE_TOWER
- ec_word IS
- ec_word SO
- ec_word ENTERTAINING
- ec_word AWESOME
-
-@ 52
- .byte TRAINER_CLASS_RUIN_MANIAC
- .string "ANTON$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THICK_FAT
- ec_word AND
- ec_word CHLOROPHYLL
- ec_word BLEND
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word TASTY
-
-@ 53
- .byte TRAINER_CLASS_SWIMMER_M
- .string "MALTE$", 8
- .byte 0x81 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word AN
- ec_move1 SCARY_FACE
- ec_word IS
- ec_word DON_T
- ec_word QUITE
- ec_word TERRIBLE
-
-@ 54
- .byte TRAINER_CLASS_HEX_MANIAC
- .string "RAOUL$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word RUN_AWAY
- ec_word GIVE_ME
- ec_word SON
- ec_word BEST
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 55
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M
- .string "RICK$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WATER
- ec_word IS
- ec_word TASTY
- ec_word HIP_AND
- ec_word REFRESHING
- ec_word YES_SIR_EXCL
-
-@ 56
- .byte TRAINER_CLASS_POKEFAN_M
- .string "DENNIS$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GO
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 57
- .byte TRAINER_CLASS_PSYCHIC_F
- .string "GLORIA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_word FIGHTING
- ec_word MUST_BE
- ec_word HOT
- ec_word HIS
- ec_word FIERY
-
-@ 58
- .byte TRAINER_CLASS_GUITARIST
- .string "NINO$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MUSIC
- ec_word IS
- ec_word MY
- ec_word EVERY
- ec_word MY
- ec_word DESTINY
-
-@ 59
- .byte TRAINER_CLASS_KINDLER
- .string "FIETE$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word ALL_RIGHT
- ec_word VERY
- ec_word ALL_RIGHT
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 60
- .byte TRAINER_CLASS_AROMA_LADY
- .string "AMANDA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHAT
- ec_word FOR
- ec_word A
- ec_word TRAINER
- ec_word ARE
- ec_word YOU
-
-@ 61
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "MAREK$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WE_VE
- ec_word UNTIL
- ec_word NOW
- ec_word TOTALLY
- ec_word NEVER
- ec_word LOST
-
-@ 62
- .byte TRAINER_CLASS_DRAGON_TAMER
- .string "NATHAN$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DRAGON
- .2byte 0xFFFF
- ec_word POKEMON
- ec_word THOSE
- ec_word FANTASTIC
- .2byte 0xFFFF
-
-@ 63
- .byte TRAINER_CLASS_LASS
- .string "MIRIAM$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word QUITE
- ec_word TOO_STRONG
- ec_word AM
- ec_word BAD
- ec_word NEWS
-
-@ 64
- .byte TRAINER_CLASS_POKEMANIAC
- .string "THEO$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLUSH_DOLL
- ec_word MUST_BE
- ec_word MAN
- ec_word SIMPLE
- ec_word ADORE
- .2byte 0xFFFF
-
-@ 65
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F
- .string "PIA$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HERE_I_COME
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word CUTE
- ec_word A
- ec_word CHANNEL
- ec_word IDOL
-
-@ 66
- .byte TRAINER_CLASS_POKEFAN_F
- .string "ALISSA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOURS
- ec_word POKEMON
- ec_word THOSE
- ec_word PREPOSTEROUS
- ec_word I_AM
- ec_word SHOCKED
-
-@ 67
- .byte TRAINER_CLASS_GENTLEMAN
- .string "ARTUR$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLEASE
- ec_word ALL
- ec_word BATTLE
- ec_word WEREN_T
- ec_word GREAT
- ec_word HIS
-
-@ 68
- .byte TRAINER_CLASS_SWIMMER_F
- .string "MAJA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word PRETTY
- ec_word YOU
- ec_word CAN_T
- ec_word DON_T
- ec_word WINS
-
-@ 69
- .byte TRAINER_CLASS_COOL_TRAINER_M
- .string "MARIUS$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word BATTLE
- ec_word DAILY
- ec_word I
- ec_word WON_T
- ec_word LOSE
-
-@ 70
- .byte TRAINER_CLASS_BIRD_KEEPER
- .string "OLIVER$", 8
- .byte 0x11 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GIGGLE
- ec_word GIGGLE
- ec_word SNORT
- ec_word HAPPILY
- ec_word GIGGLE
- ec_word MUFUFU
-
-@ 71
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F
- .string "MOLLY$", 8
- .byte 0x12 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IS
- ec_word TODAY
- ec_word MONDAY
- ec_word QUES
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 72
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "JÖRG$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WATER
- .2byte 0xFFFF
- ec_word AND
- ec_word BUG
- .2byte 0xFFFF
- ec_word POKEMON
-
-@ 73
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "ANKE$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHAT
- ec_word IS
- ec_word PRESSURE
- ec_word STATIC
- ec_word IS
- ec_word SUPER
-
-@ 74
- .byte TRAINER_CLASS_FISHERMAN
- .string "HANS$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word KID
- ec_word YOU
- ec_word CAN_T
- ec_word DON_T
- ec_word WINS
- .2byte 0xFFFF
-
-@ 75
- .byte TRAINER_CLASS_SAILOR
- .string "PETER$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word QUITE
- ec_word TERRIBLE
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word MODE
- ec_word I
-
-@ 76
- .byte TRAINER_CLASS_EXPERT_F
- .string "MARA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word VERY
- ec_word ALL_RIGHT
- ec_word TRAINS
- ec_word OR
- ec_word QUES
-
-@ 77
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "DARIUS$", 8
- .byte 0x11 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word TOUGH
- ec_word ARE
- ec_word YOU
- ec_word SCARY
-
-@ 78
- .byte TRAINER_CLASS_POKEMON_BREEDER_F
- .string "REGINA$", 8
- .byte 0x12 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TODAY
- ec_word WIN
- ec_word I
- ec_word MAYBE
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
-
-@ 79
- .byte TRAINER_CLASS_PARASOL_LADY
- .string "MAIKE$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SO
- ec_word AN
- ec_move1 SCARY_FACE
- ec_word IS
- ec_word NOT_VERY
- ec_word KIND
-
-@ 80
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F
- .string "SANDRA$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SPORTS
- ec_word IS
- ec_word HEALTHY
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word SPIRALING
- .2byte 0xFFFF
-
-@ 81
- .byte TRAINER_CLASS_POKEMON_RANGER_M
- .string "ARNOLD$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word AWESOME
- ec_word WHO_WAS
- ec_word POKEMON
- ec_word THOSE
- ec_word ROCK_SOLID
- .2byte 0xFFFF
-
-@ 82
- .byte TRAINER_CLASS_BLACK_BELT
- .string "XENO$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HOO_HAH
- ec_word ARE
- ec_word YOU
- ec_word READY
- ec_word FOR
- ec_word SHADY
-
-@ 83
- .byte TRAINER_CLASS_COOL_TRAINER_F
- .string "KARLA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word CAN_T
- ec_word ME
- ec_word NEVER
- ec_word SMITE
- ec_word KID
-
-@ 84
- .byte TRAINER_CLASS_COLLECTOR
- .string "VOLKER$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word FROM
- ec_word PLACE
- ec_word TO
- ec_word PLACE
- ec_word POKEMON
- ec_word WOWEE
-
-@ 85
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "TOBIAS$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THAT
- ec_word ISN_T
- ec_word SPORTS
- ec_word IT_S
- ec_word A
- ec_word FIGHTING
-
-@ 86
- .byte TRAINER_CLASS_GENTLEMAN
- .string "NORBERT$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word MUST_BE
- ec_word WINS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word PLEASE
- ec_word PLEASE
-
-@ 87
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "ZITA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THAT
- ec_word IS
- ec_word SCARY
- ec_word PLEASE
- ec_word BE
- ec_word NICE
-
-@ 88
- .byte TRAINER_CLASS_BEAUTY
- .string "ELKE$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WITHOUT
- ec_move1 FLAIL
- ec_word NONE
- ec_move1 WITHDRAW
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte 0xFFFF
-
-@ 89
- .byte TRAINER_CLASS_HIKER
- .string "VITUS$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YAHOO
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word LISTENS
- ec_word HER
- ec_word TO
- ec_word QUES
-
-@ 90
- .byte TRAINER_CLASS_EXPERT_M
- .string "MALTE$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LEARN
- ec_word CORRECT
- ec_word TO
- ec_word FIGHT
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 91
- .byte TRAINER_CLASS_POKEMON_BREEDER_M
- .string "TIM$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word A
- ec_word FIGHTING
- ec_word NONE
- ec_word CHILD_S_PLAY
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
-
-@ 92
- .byte TRAINER_CLASS_GUITARIST
- .string "GAVIN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SHADY
- ec_word BABY
- ec_word BABY
- ec_word BABY
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 93
- .byte TRAINER_CLASS_PSYCHIC_M
- .string "RALF$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word STICKY_HOLD
- ec_word THOSE
- ec_word IMPORTANT
- ec_word ISN_T_IT_QUES
- .2byte 0xFFFF
- .2byte 0xFFFF
-
-@ 94
- .byte TRAINER_CLASS_COOL_TRAINER_F
- .string "JENNY$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word SEARCH
- ec_word TRAINER
- ec_word ABSOLUTELY
- ec_word TOUGH
- ec_word THOSE
-
-@ 95
- .byte TRAINER_CLASS_EXPERT_M
- .string "JOEL$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BELIEVE
- ec_word ON
- ec_word YOURS
- ec_word POKEMON
- ec_word AND
- ec_word WIN
-
-@ 96
- .byte TRAINER_CLASS_DRAGON_TAMER
- .string "KOLJA$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GIRL
- ec_word WITH
- ec_move2 FORESIGHT
- ec_word THOSE
- ec_word NICE
- .2byte 0xFFFF
-
-@ 97
- .byte TRAINER_CLASS_COOL_TRAINER_M
- .string "BILL$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHO_WAS
- ec_word POWER
- ec_word IS
- ec_word OVERWHELMING
- ec_word DISAPPEAR
- ec_word BETTER
-
-@ 98
- .byte TRAINER_CLASS_EXPERT_F
- .string "CALLA$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TRAINER
- ec_word YOU
- ec_word ARE
- ec_word SEEMS
- ec_word CAPABLE
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
-
-@ 99
- .byte TRAINER_CLASS_LADY
- .string "GESA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word COME_ON
- ec_word ABSOLUTELY
- ec_word TIME
- ec_word BECOMES
- ec_word EXCELLENT
- .2byte 0xFFFF
diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s
index 114bc4d97..677aa9f21 100644
--- a/data-de/event_scripts.s
+++ b/data-de/event_scripts.s
@@ -386,27 +386,27 @@ gStdScripts_End::
gUnknown_0815F36C:: @ 815F36C
lockall
- playsfx 2
+ playse 2
message UnknownString_81A3A72
- doanimation 61
+ dofieldeffect 61
waitstate
- waittext
+ waitmessage
waitbutton
- playsfx 5
- jump EventScript_15F384
+ playse 5
+ goto EventScript_15F384
end
EventScript_15F384:
message UnknownString_81A3A87
- waittext
+ waitmessage
checkflag 268
- jumpeq EventScript_15F3A0
- jump EventScript_15F3E2
+ goto_if_eq EventScript_15F3A0
+ goto EventScript_15F3E2
end
gUnknown_0815F399:: @ 815F399
lockall
- jump EventScript_15F384
+ goto EventScript_15F384
end
EventScript_15F3A0:
@@ -431,8 +431,8 @@ EventScript_15F3E2:
EventScript_15F419:
msgbox UnknownString_81A38FB, 5
compare RESULT, 0
- jumpeq EventScript_15F384
- closebutton
+ goto_if_eq EventScript_15F384
+ closemessage
special SecretBasePC_PackUp
releaseall
end
@@ -448,18 +448,18 @@ EventScript_15F436:
gUnknown_0815F43A:: @ 815F43A
lockall
message UnknownString_81A3A72
- playsfx 2
- doanimation 61
+ playse 2
+ dofieldeffect 61
waitstate
- waittext
+ waitmessage
waitbutton
- playsfx 5
- jump EventScript_15F452
+ playse 5
+ goto EventScript_15F452
end
EventScript_15F452:
message UnknownString_81A3A87
- waittext
+ waitmessage
multichoice 0, 0, 7, 0
switch RESULT
case 0, EventScript_15F4A1
@@ -471,19 +471,19 @@ EventScript_15F452:
gUnknown_0815F49A:: @ 815F49A
lockall
- jump EventScript_15F452
+ goto EventScript_15F452
end
EventScript_15F4A1:
special sub_80BC56C
compare RESULT, 1
- jumpeq EventScript_15F4E0
+ goto_if_eq EventScript_15F4E0
compare RESULT, 2
- jumpeq EventScript_15F503
+ goto_if_eq EventScript_15F503
special sub_80BC224
msgbox UnknownString_81A3958, 5
compare RESULT, 0
- jumpeq EventScript_15F452
+ goto_if_eq EventScript_15F452
msgbox UnknownString_81A3A22, 3
special sub_80BC5BC
special sub_80C683C
@@ -493,7 +493,7 @@ EventScript_15F4A1:
EventScript_15F4E0:
msgbox UnknownString_81A3982, 5
compare RESULT, 0
- jumpeq EventScript_15F452
+ goto_if_eq EventScript_15F452
msgbox UnknownString_81A3A3A, 3
special sub_80BC5BC
special sub_80C683C
@@ -503,37 +503,37 @@ EventScript_15F4E0:
EventScript_15F503:
msgbox UnknownString_81A39C0, 3
special sub_80C683C
- closebutton
+ closemessage
releaseall
end
EventScript_15F511:
message UnknownString_81A3AA2
- waittext
- jump EventScript_15F452
+ waitmessage
+ goto EventScript_15F452
end
EventScript_15F51D:
special sub_80C683C
- closebutton
+ closemessage
releaseall
end
gUnknown_0815F523:: @ 815F523
- doanimation 52
+ dofieldeffect 52
waitstate
end
gUnknown_0815F528:: @ 815F528
special GetShieldToyTVDecorationInfo
compare RESULT, 0
- jumpeq EventScript_15F558
+ goto_if_eq EventScript_15F558
compare RESULT, 1
- jumpeq EventScript_15F561
+ goto_if_eq EventScript_15F561
compare RESULT, 2
- jumpeq EventScript_15F56A
+ goto_if_eq EventScript_15F56A
compare RESULT, 3
- jumpeq EventScript_15F573
+ goto_if_eq EventScript_15F573
end
EventScript_15F558:
@@ -891,7 +891,7 @@ Std_2:
lock
faceplayer
message 0x0
- waittext
+ waitmessage
waitbutton
release
return
@@ -899,20 +899,20 @@ Std_2:
Std_3:
lockall
message 0x0
- waittext
+ waitmessage
waitbutton
releaseall
return
Std_4:
message 0x0
- waittext
+ waitmessage
waitbutton
return
Std_5:
message 0x0
- waittext
+ waitmessage
yesnobox 20, 8
return
@@ -934,63 +934,63 @@ gUnknown_0819F80B:: @ 819F80B
special PlayTrainerEncounterMusic
special ScrSpecial_EndTrainerApproach
waitstate
- jump EventScript_19F8F2
+ goto EventScript_19F8F2
gUnknown_0819F818:: @ 819F818
lock
faceplayer
- move LAST_TALKED, Movement_19F8F0
- waitmove 0
- specialval RESULT, ScrSpecial_HasTrainerBeenFought
+ applymovement LAST_TALKED, Movement_19F8F0
+ waitmovement 0
+ specialvar RESULT, ScrSpecial_HasTrainerBeenFought
compare RESULT, 0
- jumpif 5, EventScript_19F83F
+ goto_if 5, EventScript_19F83F
special PlayTrainerEncounterMusic
special sub_8082524
- jump EventScript_19F8F2
+ goto EventScript_19F8F2
EventScript_19F83F:
- endtrainerbattle
+ ontrainerbattleend
gUnknown_0819F840:: @ 819F840
lock
faceplayer
call EventScript_19F8E5
- specialval RESULT, ScrSpecial_HasTrainerBeenFought
+ specialvar RESULT, ScrSpecial_HasTrainerBeenFought
compare RESULT, 0
- jumpif 5, EventScript_19F877
+ goto_if 5, EventScript_19F877
special CheckForAlivePartyMons
compare RESULT, 0
- jumpif 5, EventScript_19F870
+ goto_if 5, EventScript_19F870
special PlayTrainerEncounterMusic
special sub_8082524
- jump EventScript_19F8F2
+ goto EventScript_19F8F2
EventScript_19F870:
special ScrSpecial_ShowTrainerNonBattlingSpeech
- waittext
+ waitmessage
waitbutton
release
end
EventScript_19F877:
- endtrainerbattle
+ ontrainerbattleend
gUnknown_0819F878:: @ 819F878
- move LAST_TALKED, Movement_19F8F0
- waitmove 0
+ applymovement LAST_TALKED, Movement_19F8F0
+ waitmovement 0
special PlayTrainerEncounterMusic
- reptrainerbattle
- endtrainerbattle
+ battlebegin
+ ontrainerbattleend
gUnknown_0819F887:: @ 819F887
call EventScript_19F8E5
- specialval RESULT, ScrSpecial_GetTrainerEyeRematchFlag
+ specialvar RESULT, ScrSpecial_GetTrainerEyeRematchFlag
compare RESULT, 0
- jumpeq EventScript_19F8AD
+ goto_if_eq EventScript_19F8AD
special PlayTrainerEncounterMusic
special sub_8082524
special ScrSpecial_ShowTrainerIntroSpeech
- waittext
+ waitmessage
waitbutton
special ScrSpecial_StartTrainerEyeRematch
waitstate
@@ -998,19 +998,19 @@ gUnknown_0819F887:: @ 819F887
end
EventScript_19F8AD:
- endtrainerbattle
+ ontrainerbattleend
gUnknown_0819F8AE:: @ 819F8AE
- specialval RESULT, ScrSpecial_GetTrainerEyeRematchFlag
+ specialvar RESULT, ScrSpecial_GetTrainerEyeRematchFlag
compare RESULT, 0
- jumpeq EventScript_19F8DD
+ goto_if_eq EventScript_19F8DD
special CheckForAlivePartyMons
compare RESULT, 0
- jumpif 5, EventScript_19F8DE
+ goto_if 5, EventScript_19F8DE
special PlayTrainerEncounterMusic
special sub_8082524
special ScrSpecial_ShowTrainerIntroSpeech
- waittext
+ waitmessage
waitbutton
special ScrSpecial_StartTrainerEyeRematch
waitstate
@@ -1018,18 +1018,18 @@ gUnknown_0819F8AE:: @ 819F8AE
end
EventScript_19F8DD:
- endtrainerbattle
+ ontrainerbattleend
EventScript_19F8DE:
special ScrSpecial_ShowTrainerNonBattlingSpeech
- waittext
+ waitmessage
waitbutton
release
end
EventScript_19F8E5:
- move LAST_TALKED, Movement_19F8F0
- waitmove 0
+ applymovement LAST_TALKED, Movement_19F8F0
+ waitmovement 0
return
Movement_19F8F0::
@@ -1038,116 +1038,116 @@ Movement_19F8F0::
EventScript_19F8F2:
special ScrSpecial_ShowTrainerIntroSpeech
- waittext
+ waitmessage
waitbutton
- reptrainerbattle
- specialval RESULT, ScrSpecial_GetTrainerBattleMode
+ battlebegin
+ specialvar RESULT, ScrSpecial_GetTrainerBattleMode
compare RESULT, 0
- jumpeq EventScript_19F934
+ goto_if_eq EventScript_19F934
compare RESULT, 2
- jumpeq EventScript_19F936
+ goto_if_eq EventScript_19F936
compare RESULT, 1
- jumpeq EventScript_19F936
+ goto_if_eq EventScript_19F936
compare RESULT, 6
- jumpeq EventScript_19F936
+ goto_if_eq EventScript_19F936
compare RESULT, 8
- jumpeq EventScript_19F936
+ goto_if_eq EventScript_19F936
EventScript_19F934:
releaseall
end
EventScript_19F936:
- endtrainerbattle2
+ ontrainerbattleendgoto
Std_6::
message 0x0
- waittext
+ waitmessage
waitbutton
release
return
Event_ResetBerryTrees: @ 19F940
- event_8a 2, 7, 5
- event_8a 1, 3, 5
- event_8a 11, 7, 5
- event_8a 13, 3, 5
- event_8a 4, 7, 5
- event_8a 76, 1, 5
- event_8a 8, 1, 5
- event_8a 10, 6, 5
- event_8a 25, 20, 5
- event_8a 26, 2, 5
- event_8a 66, 2, 5
- event_8a 67, 20, 5
- event_8a 69, 22, 5
- event_8a 70, 22, 5
- event_8a 71, 22, 5
- event_8a 55, 17, 5
- event_8a 56, 17, 5
- event_8a 5, 1, 5
- event_8a 6, 6, 5
- event_8a 7, 1, 5
- event_8a 16, 18, 5
- event_8a 17, 18, 5
- event_8a 18, 18, 5
- event_8a 29, 19, 5
- event_8a 28, 19, 5
- event_8a 27, 19, 5
- event_8a 24, 4, 5
- event_8a 23, 3, 5
- event_8a 22, 3, 5
- event_8a 21, 4, 5
- event_8a 19, 16, 5
- event_8a 20, 16, 5
- event_8a 80, 7, 5
- event_8a 81, 7, 5
- event_8a 77, 8, 5
- event_8a 78, 8, 5
- event_8a 68, 8, 5
- event_8a 31, 10, 5
- event_8a 33, 10, 5
- event_8a 34, 21, 5
- event_8a 35, 21, 5
- event_8a 36, 21, 5
- event_8a 83, 24, 5
- event_8a 84, 24, 5
- event_8a 85, 10, 5
- event_8a 86, 6, 5
- event_8a 37, 5, 5
- event_8a 38, 5, 5
- event_8a 39, 5, 5
- event_8a 40, 3, 5
- event_8a 41, 3, 5
- event_8a 42, 3, 5
- event_8a 46, 19, 5
- event_8a 45, 20, 5
- event_8a 44, 18, 5
- event_8a 43, 16, 5
- event_8a 47, 8, 5
- event_8a 48, 5, 5
- event_8a 49, 4, 5
- event_8a 50, 2, 5
- event_8a 52, 18, 5
- event_8a 53, 18, 5
- event_8a 62, 6, 5
- event_8a 64, 6, 5
- event_8a 58, 21, 5
- event_8a 59, 21, 5
- event_8a 60, 25, 5
- event_8a 61, 25, 5
- event_8a 79, 23, 5
- event_8a 14, 23, 5
- event_8a 15, 21, 5
- event_8a 30, 21, 5
- event_8a 65, 25, 5
- event_8a 72, 25, 5
- event_8a 73, 23, 5
- event_8a 74, 23, 5
- event_8a 87, 3, 5
- event_8a 88, 10, 5
- event_8a 89, 4, 5
- event_8a 82, 36, 5
+ plantberrytree 2, 7, 5
+ plantberrytree 1, 3, 5
+ plantberrytree 11, 7, 5
+ plantberrytree 13, 3, 5
+ plantberrytree 4, 7, 5
+ plantberrytree 76, 1, 5
+ plantberrytree 8, 1, 5
+ plantberrytree 10, 6, 5
+ plantberrytree 25, 20, 5
+ plantberrytree 26, 2, 5
+ plantberrytree 66, 2, 5
+ plantberrytree 67, 20, 5
+ plantberrytree 69, 22, 5
+ plantberrytree 70, 22, 5
+ plantberrytree 71, 22, 5
+ plantberrytree 55, 17, 5
+ plantberrytree 56, 17, 5
+ plantberrytree 5, 1, 5
+ plantberrytree 6, 6, 5
+ plantberrytree 7, 1, 5
+ plantberrytree 16, 18, 5
+ plantberrytree 17, 18, 5
+ plantberrytree 18, 18, 5
+ plantberrytree 29, 19, 5
+ plantberrytree 28, 19, 5
+ plantberrytree 27, 19, 5
+ plantberrytree 24, 4, 5
+ plantberrytree 23, 3, 5
+ plantberrytree 22, 3, 5
+ plantberrytree 21, 4, 5
+ plantberrytree 19, 16, 5
+ plantberrytree 20, 16, 5
+ plantberrytree 80, 7, 5
+ plantberrytree 81, 7, 5
+ plantberrytree 77, 8, 5
+ plantberrytree 78, 8, 5
+ plantberrytree 68, 8, 5
+ plantberrytree 31, 10, 5
+ plantberrytree 33, 10, 5
+ plantberrytree 34, 21, 5
+ plantberrytree 35, 21, 5
+ plantberrytree 36, 21, 5
+ plantberrytree 83, 24, 5
+ plantberrytree 84, 24, 5
+ plantberrytree 85, 10, 5
+ plantberrytree 86, 6, 5
+ plantberrytree 37, 5, 5
+ plantberrytree 38, 5, 5
+ plantberrytree 39, 5, 5
+ plantberrytree 40, 3, 5
+ plantberrytree 41, 3, 5
+ plantberrytree 42, 3, 5
+ plantberrytree 46, 19, 5
+ plantberrytree 45, 20, 5
+ plantberrytree 44, 18, 5
+ plantberrytree 43, 16, 5
+ plantberrytree 47, 8, 5
+ plantberrytree 48, 5, 5
+ plantberrytree 49, 4, 5
+ plantberrytree 50, 2, 5
+ plantberrytree 52, 18, 5
+ plantberrytree 53, 18, 5
+ plantberrytree 62, 6, 5
+ plantberrytree 64, 6, 5
+ plantberrytree 58, 21, 5
+ plantberrytree 59, 21, 5
+ plantberrytree 60, 25, 5
+ plantberrytree 61, 25, 5
+ plantberrytree 79, 23, 5
+ plantberrytree 14, 23, 5
+ plantberrytree 15, 21, 5
+ plantberrytree 30, 21, 5
+ plantberrytree 65, 25, 5
+ plantberrytree 72, 25, 5
+ plantberrytree 73, 23, 5
+ plantberrytree 74, 23, 5
+ plantberrytree 87, 3, 5
+ plantberrytree 88, 10, 5
+ plantberrytree 89, 4, 5
+ plantberrytree 82, 36, 5
return
gUnknown_0819FA81:: @ 819FA81
@@ -1298,13 +1298,13 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13
clearflag 861
special sub_810FAA0
checkflag 291
- callif 0, EverGrandeCity_HallOfFame_EventScript_19FC62
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC62
checkflag 255
- callif 0, EverGrandeCity_HallOfFame_EventScript_19FC70
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC70
checkflag 298
- callif 0, EverGrandeCity_HallOfFame_EventScript_19FC5A
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5A
checkflag 123
- callif 0, EverGrandeCity_HallOfFame_EventScript_19FC5E
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5E
return
EverGrandeCity_HallOfFame_EventScript_19FC5A:: @ 819FC5A
@@ -1328,25 +1328,25 @@ EverGrandeCity_HallOfFame_EventScript_19FC70:: @ 819FC70
S_WhiteOut:: @ 819FC74
call EverGrandeCity_HallOfFame_EventScript_19FD09
call EventScript_19FC84
- jump gUnknown_0819FC9F
+ goto gUnknown_0819FC9F
end
EventScript_19FC84:
checkflag 221
- jumpeq Route101_EventScript_1A14DC
+ goto_if_eq Route101_EventScript_1A14DC
checkflag 1213
- jumpif 0, Route101_EventScript_1A14DC
+ goto_if 0, Route101_EventScript_1A14DC
clearflag 929
setvar 0x4053, 2
return
gUnknown_0819FC9F:: @ 819FC9F
compare 0x4096, 1
- jumpeq EventScript_19FCC1
+ goto_if_eq EventScript_19FCC1
compare 0x4096, 2
- jumpeq EventScript_19FCD7
+ goto_if_eq EventScript_19FCD7
compare 0x4096, 3
- jumpeq EventScript_19FCF0
+ goto_if_eq EventScript_19FCF0
end
EventScript_19FCC1:
@@ -1399,15 +1399,15 @@ RustboroCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
SlateportCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
VerdanturfTown_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
checkflag 188
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
checkflag 1217
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_1A14DC
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_1A14DC
checkflag 742
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49
checkflag 740
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F
checkflag 741
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55
return
OldaleTown_PokemonCenter_1F_EventScript_19FD49:: @ 819FD49
@@ -1440,52 +1440,52 @@ VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B:: @ 819FD5B
faceplayer
msgbox gText_NurseJoy_Welcome, 5
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FD7C
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FD7C
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDC7
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDC7
end
OldaleTown_PokemonCenter_1F_EventScript_19FD7C:: @ 819FD7C
- inccounter GAME_STAT_USED_POKECENTER
+ incrementgamestat GAME_STAT_USED_POKECENTER
message gText_NurseJoy_OkayIllTakeYourPokemon
- waittext
- move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A083F
- waitmove 0
- doanimation 25
- checkanimation 25
- move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845
- waitmove 0
+ waitmessage
+ applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A083F
+ waitmovement 0
+ dofieldeffect 25
+ waitfieldeffect 25
+ applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845
+ waitmovement 0
special ScrSpecial_HealPlayerParty
checkflag 273
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
- jump OldaleTown_PokemonCenter_1F_EventScript_19FDB0
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
+ goto OldaleTown_PokemonCenter_1F_EventScript_19FDB0
end
OldaleTown_PokemonCenter_1F_EventScript_19FDB0:: @ 819FDB0
message gText_NurseJoy_ThankYouForWaiting
- waittext
- move 0x800b, OldaleTown_PokemonCenter_1F_Movement_19FDF4
- waitmove 0
+ waitmessage
+ applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_19FDF4
+ waitmovement 0
message gText_NurseJoy_WeHopeToSeeYouAgain
- waittext
+ waitmessage
return
OldaleTown_PokemonCenter_1F_EventScript_19FDC7:: @ 819FDC7
message gText_NurseJoy_WeHopeToSeeYouAgain
- waittext
+ waitmessage
return
OldaleTown_PokemonCenter_1F_EventScript_19FDCE:: @ 819FDCE
- specialval RESULT, IsPokerusInParty
+ specialvar RESULT, IsPokerusInParty
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDEA
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDEA
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDB0
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDB0
end
OldaleTown_PokemonCenter_1F_EventScript_19FDEA:: @ 819FDEA
message gText_NurseJoy_Pokerus
- waittext
+ waitmessage
setflag 273
return
@@ -1501,13 +1501,13 @@ Std_ObtainItem: @ 819FDF7
return
Std_ObtainItem_: @ 819FE07
- bufferitem 1, 0x8000
+ getitemname 1, 0x8000
checkitemtype 0x8000
call GetItem_HandlePocket
compare 0x8007, 0x1
- callif 1, Std_ObtainItem_Success
+ call_if 1, Std_ObtainItem_Success
compare 0x8007, 0x0
- callif 1, Std_ObtainItem_Fail
+ call_if 1, Std_ObtainItem_Fail
return
GetItem_HandlePocket:
@@ -1520,39 +1520,39 @@ GetItem_HandlePocket:
end
GetItem_HandlePocket_Items:
- bufferstd 2, 0xE
+ getstdstring 2, 0xE
compare 0x8007, 1
- callif 1, PlayGetItemFanfare
+ call_if 1, PlayGetItemFanfare
return
GetItem_HandlePocket_KeyItems:
- bufferstd 2, 0xF
+ getstdstring 2, 0xF
compare 0x8007, 1
- callif 1, PlayGetItemFanfare
+ call_if 1, PlayGetItemFanfare
return
GetItem_HandlePocket_PokeBalls:
- bufferstd 2, 0x10
+ getstdstring 2, 0x10
compare 0x8007, 1
- callif 1, PlayGetItemFanfare
+ call_if 1, PlayGetItemFanfare
return
GetItem_HandlePocket_TMsHMs:
- bufferstd 2, 0x11
+ getstdstring 2, 0x11
compare 0x8007, 1
- callif 1, PlayGetTMHMFanfare
+ call_if 1, PlayGetTMHMFanfare
return
GetItem_HandlePocket_Berries:
- bufferstd 2, 0x12
+ getstdstring 2, 0x12
compare 0x8007, 1
- callif 1, PlayGetItemFanfare
+ call_if 1, PlayGetItemFanfare
return
Std_ObtainItem_Success: @ 819FEB7
message Message_ObtainedItem
waitfanfare
- waittext
+ waitmessage
msgbox Message_PutAwayItem
setvar RESULT, 1
return
@@ -1562,11 +1562,11 @@ Std_ObtainItem_Fail: @ 819FECC
return
PlayGetItemFanfare:
- fanfare 0x172
+ playfanfare 0x172
return
PlayGetTMHMFanfare:
- fanfare 0x174
+ playfanfare 0x174
return
Std_ObtainDecoration: @ 819FEDA
@@ -1576,18 +1576,18 @@ Std_ObtainDecoration: @ 819FEDA
return
Std_ObtainDecoration_: @ 819FEE8
- bufferdecor 1, 0x8000
+ getdecorname 1, 0x8000
compare 0x8007, 1
- callif 1, Std_ObtainDecoration_Success
+ call_if 1, Std_ObtainDecoration_Success
compare 0x8007, 0
- callif 1, Std_ObtainDecoration_Fail
+ call_if 1, Std_ObtainDecoration_Fail
return
Std_ObtainDecoration_Success: @ 819FF03
- fanfare 0x172
+ playfanfare 0x172
message Message_ObtainedDecoration
waitfanfare
- waittext
+ waitmessage
msgbox Message_TransferredToPC
setvar RESULT, 1
return
@@ -1599,24 +1599,24 @@ Std_ObtainDecoration_Fail: @ 819FF1B
Std_FindItem: @ 819FF21
lock
faceplayer
- checksound
+ waitse
additem 0x8000, 0x8001
copyvar 0x8007, RESULT
- bufferitem 1, 0x8000
+ getitemname 1, 0x8000
checkitemtype 0x8000
call GetItem_HandlePocket
compare 0x8007, 1
- callif 1, Std_FindItem_Success
+ call_if 1, Std_FindItem_Success
compare 0x8007, 0
- callif 1, Std_FindItem_Fail
+ call_if 1, Std_FindItem_Fail
release
return
Std_FindItem_Success: @ 819FF52
- disappear LAST_TALKED
+ removeobject LAST_TALKED
message Message_FoundOneItem
waitfanfare
- waittext
+ waitmessage
msgbox Message_PutAwayItem
return
@@ -1628,22 +1628,22 @@ Std_FindItem_Fail: @ 819FF65
HiddenItemScript:: @ 819FF7B
lockall
- checksound
+ waitse
additem 0x8005, 1
copyvar 0x8007, RESULT
- bufferitem 0x1, 0x8005
+ getitemname 0x1, 0x8005
checkitemtype 0x8005
call GetItem_HandlePocket
compare 0x8007, 1
- jumpeq HiddenItemScript_Success
+ goto_if_eq HiddenItemScript_Success
compare 0x8007, 0
- jumpeq HiddenItemScript_Fail
+ goto_if_eq HiddenItemScript_Fail
end
HiddenItemScript_Success:
message Message_FoundOneItem
waitfanfare
- waittext
+ waitmessage
msgbox Message_PutAwayItem
special SetFlagInVar
releaseall
@@ -1661,10 +1661,10 @@ UnusedMixRecordsScript: @ 819FFD5
faceplayer
msgbox UnusedMixRecordsPromptText, 5
compare RESULT, 1
- jumpeq UnusedMixRecordsScript_Yes
+ goto_if_eq UnusedMixRecordsScript_Yes
compare RESULT, 0
- jumpeq UnusedMixRecordsScript_Done
- jump UnusedMixRecordsScript_Done
+ goto_if_eq UnusedMixRecordsScript_Done
+ goto UnusedMixRecordsScript_Done
UnusedMixRecordsScript_Yes: @ 819FFFA
special sub_80B929C
waitstate
@@ -1672,7 +1672,7 @@ UnusedMixRecordsScript_Yes: @ 819FFFA
faceplayer
UnusedMixRecordsScript_Done: @ 81A0000
message UnusedMixRecordsSeeYouAgainText
- waittext
+ waitmessage
waitbutton
release
end
@@ -1681,17 +1681,17 @@ gUnknown_081A0009:: @ 81A0009
lockall
setvar 0x8004, 0
special DoPCTurnOnEffect
- playsfx 4
+ playse 4
msgbox UnknownString_81A09EC, 4
- jump EventScript_1A0023
+ goto EventScript_1A0023
end
EventScript_1A0023:
message gPCText_WhichPCShouldBeAccessed
- waittext
+ waitmessage
special ScrSpecial_CreatePCMenu
waitstate
- jump EventScript_1A0033
+ goto EventScript_1A0033
end
EventScript_1A0033:
@@ -1704,23 +1704,23 @@ EventScript_1A0033:
end
EventScript_1A0070:
- playsfx 2
+ playse 2
msgbox UnknownString_81A0A54, 4
special PlayerPC
waitstate
- jump EventScript_1A0023
+ goto EventScript_1A0023
end
EventScript_1A0085:
- playsfx 2
+ playse 2
checkflag 2123
- callif 0, EventScript_1A00AC
+ call_if 0, EventScript_1A00AC
checkflag 2123
- callif 1, EventScript_1A00B5
+ call_if 1, EventScript_1A00B5
msgbox UnknownString_81A0A35, 4
special ShowPokemonStorageSystem
waitstate
- jump EventScript_1A0023
+ goto EventScript_1A0023
end
EventScript_1A00AC:
@@ -1733,18 +1733,18 @@ EventScript_1A00B5:
EventScript_1A00BE:
setvar 0x8004, 0
- playsfx 3
+ playse 3
special DoPCTurnOffEffect
releaseall
end
EventScript_1A00CB:
checkflag 2052
- jumpif 0, EventScript_1A00BE
- playsfx 2
+ goto_if 0, EventScript_1A00BE
+ playse 2
special AccessHallOfFamePC
waitstate
- jump EventScript_1A0033
+ goto EventScript_1A0033
end
FallarborTown_EventScript_1A00E1:: @ 81A00E1
@@ -1803,7 +1803,7 @@ RustboroCity_Gym_EventScript_1A00FB:: @ 81A00FB
DewfordTown_EventScript_1A0102:: @ 81A0102
DewfordTown_Hall_EventScript_1A0102:: @ 81A0102
- checkdailyflags
+ dodailyevents
setvar 0x8004, 0
special sub_80FA5BC
return
@@ -1816,17 +1816,17 @@ Route109_EventScript_1A010C:: @ 81A010C
return
UseSurfScript:: @ 81A0117
- checkattack MOVE_SURF
+ checkpokemove MOVE_SURF
compare RESULT, 6
- jumpeq UseSurfScript_NoMon
- bufferpartypoke 0, RESULT
- setanimation 0, RESULT
+ goto_if_eq UseSurfScript_NoMon
+ getpartypokename 0, RESULT
+ setfieldeffect 0, RESULT
lockall
msgbox UseSurfPromptText, 5
compare RESULT, 0
- jumpeq UseSurfScript_No
+ goto_if_eq UseSurfScript_No
msgbox UsedSurfText, 4
- doanimation 9
+ dofieldeffect 9
UseSurfScript_No: @ 81A014C
releaseall
UseSurfScript_NoMon: @ 81A014D
@@ -1841,11 +1841,11 @@ Route103_EventScript_1A014E:: @ 81A014E
Route110_EventScript_1A014E:: @ 81A014E
Route119_EventScript_1A014E:: @ 81A014E
RustboroCity_EventScript_1A014E:: @ 81A014E
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq RustboroCity_EventScript_1A0166
+ goto_if_eq RustboroCity_EventScript_1A0166
compare RESULT, 1
- jumpeq RustboroCity_EventScript_1A016C
+ goto_if_eq RustboroCity_EventScript_1A016C
end
RustboroCity_EventScript_1A0166:: @ 81A0166
@@ -1859,11 +1859,11 @@ RustboroCity_EventScript_1A016C:: @ 81A016C
LavaridgeTown_EventScript_1A0172:: @ 81A0172
Route110_EventScript_1A0172:: @ 81A0172
Route119_EventScript_1A0172:: @ 81A0172
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq LavaridgeTown_EventScript_1A018A
+ goto_if_eq LavaridgeTown_EventScript_1A018A
compare RESULT, 1
- jumpeq LavaridgeTown_EventScript_1A0190
+ goto_if_eq LavaridgeTown_EventScript_1A0190
end
LavaridgeTown_EventScript_1A018A:: @ 81A018A
@@ -1945,66 +1945,66 @@ SootopolisCity_Gym_1F_EventScript_1A01C0:: @ 81A01C0
end
DewfordTown_Gym_EventScript_1A021E:: @ 81A021E
- cleartrainerflag OPPONENT_JOSH
- cleartrainerflag OPPONENT_TOMMY
+ settrainerflag OPPONENT_JOSH
+ settrainerflag OPPONENT_TOMMY
return
DewfordTown_Gym_EventScript_1A0225:: @ 81A0225
- cleartrainerflag OPPONENT_HIDEKI
- cleartrainerflag OPPONENT_TESSA
- cleartrainerflag OPPONENT_LAURA
+ settrainerflag OPPONENT_HIDEKI
+ settrainerflag OPPONENT_TESSA
+ settrainerflag OPPONENT_LAURA
return
DewfordTown_Gym_EventScript_1A022F:: @ 81A022F
- cleartrainerflag OPPONENT_KIRK
- cleartrainerflag OPPONENT_SHAWN
- cleartrainerflag OPPONENT_BEN
- cleartrainerflag OPPONENT_VIVIAN
+ settrainerflag OPPONENT_KIRK
+ settrainerflag OPPONENT_SHAWN
+ settrainerflag OPPONENT_BEN
+ settrainerflag OPPONENT_VIVIAN
return
DewfordTown_Gym_EventScript_1A023C:: @ 81A023C
- cleartrainerflag OPPONENT_COLE
- cleartrainerflag OPPONENT_AXLE
- cleartrainerflag OPPONENT_ANDY
- cleartrainerflag OPPONENT_ZANE
- cleartrainerflag OPPONENT_SADIE
+ settrainerflag OPPONENT_COLE
+ settrainerflag OPPONENT_AXLE
+ settrainerflag OPPONENT_ANDY
+ settrainerflag OPPONENT_ZANE
+ settrainerflag OPPONENT_SADIE
return
DewfordTown_Gym_EventScript_1A024C:: @ 81A024C
- cleartrainerflag OPPONENT_RANDALL
- cleartrainerflag OPPONENT_PARKER
- cleartrainerflag OPPONENT_GEORGE
- cleartrainerflag OPPONENT_BERKE
- cleartrainerflag OPPONENT_MARY
- cleartrainerflag OPPONENT_LORI
- cleartrainerflag OPPONENT_JODY
+ settrainerflag OPPONENT_RANDALL
+ settrainerflag OPPONENT_PARKER
+ settrainerflag OPPONENT_GEORGE
+ settrainerflag OPPONENT_BERKE
+ settrainerflag OPPONENT_MARY
+ settrainerflag OPPONENT_LORI
+ settrainerflag OPPONENT_JODY
return
DewfordTown_Gym_EventScript_1A0262:: @ 81A0262
- cleartrainerflag OPPONENT_JARED
- cleartrainerflag OPPONENT_TERRELL
- cleartrainerflag OPPONENT_KYLEE
- cleartrainerflag OPPONENT_WILL
+ settrainerflag OPPONENT_JARED
+ settrainerflag OPPONENT_TERRELL
+ settrainerflag OPPONENT_KYLEE
+ settrainerflag OPPONENT_WILL
return
DewfordTown_Gym_EventScript_1A026F:: @ 81A026F
- cleartrainerflag OPPONENT_PRESTON
- cleartrainerflag OPPONENT_VIRGIL
- cleartrainerflag OPPONENT_FRITZ
- cleartrainerflag OPPONENT_HANNAH
- cleartrainerflag OPPONENT_SAMANTHA
- cleartrainerflag OPPONENT_MAURA
+ settrainerflag OPPONENT_PRESTON
+ settrainerflag OPPONENT_VIRGIL
+ settrainerflag OPPONENT_FRITZ
+ settrainerflag OPPONENT_HANNAH
+ settrainerflag OPPONENT_SAMANTHA
+ settrainerflag OPPONENT_MAURA
return
DewfordTown_Gym_EventScript_1A0282:: @ 81A0282
- cleartrainerflag OPPONENT_ANDREA
- cleartrainerflag OPPONENT_CRISSY
- cleartrainerflag OPPONENT_BRIANNA_2
- cleartrainerflag OPPONENT_CONNIE
- cleartrainerflag OPPONENT_BRIDGET
- cleartrainerflag OPPONENT_OLIVIA
- cleartrainerflag OPPONENT_TIFFANY
- cleartrainerflag OPPONENT_MARISSA
+ settrainerflag OPPONENT_ANDREA
+ settrainerflag OPPONENT_CRISSY
+ settrainerflag OPPONENT_BRIANNA_2
+ settrainerflag OPPONENT_CONNIE
+ settrainerflag OPPONENT_BRIDGET
+ settrainerflag OPPONENT_OLIVIA
+ settrainerflag OPPONENT_TIFFANY
+ settrainerflag OPPONENT_MARISSA
return
DewfordTown_Gym_EventScript_1A029B:: @ 81A029B
@@ -2101,7 +2101,7 @@ MossdeepCity_Gym_EventScript_1A02C5:: @ 81A02C5
PetalburgCity_Gym_EventScript_1A02C5:: @ 81A02C5
RustboroCity_Gym_EventScript_1A02C5:: @ 81A02C5
SootopolisCity_Gym_1F_EventScript_1A02C5:: @ 81A02C5
- fanfare 369
+ playfanfare 369
waitfanfare
return
@@ -2110,7 +2110,7 @@ Route111_OldLadysRestStop_EventScript_1A02CA:: @ 81A02CA
Route119_WeatherInstitute_1F_EventScript_1A02CA:: @ 81A02CA
SSTidalRooms_EventScript_1A02CA:: @ 81A02CA
fadescreen 1
- fanfare 368
+ playfanfare 368
waitfanfare
special ScrSpecial_HealPlayerParty
fadescreen 0
@@ -2129,37 +2129,37 @@ DewfordTown_EventScript_1A02E7:: @ 81A02E7
Route104_EventScript_1A02E7:: @ 81A02E7
Route109_EventScript_1A02E7:: @ 81A02E7
setflag 0x4001
- playmusic 431, 0
+ playbgm 431, 0
return
DewfordTown_EventScript_1A02EF:: @ 81A02EF
Route104_EventScript_1A02EF:: @ 81A02EF
Route109_EventScript_1A02EF:: @ 81A02EF
clearflag 0x4001
- fadedefault
+ fadedefaultbgm
return
LittlerootTown_ProfessorBirchsLab_EventScript_1A02F4:: @ 81A02F4
Route101_EventScript_1A02F4:: @ 81A02F4
Route103_EventScript_1A02F4:: @ 81A02F4
compare 0x4085, 0
- jumpeq Route101_EventScript_1A14DC
+ goto_if_eq Route101_EventScript_1A14DC
compare 0x4049, 0
- callif 1, Route101_EventScript_1A0358
+ call_if 1, Route101_EventScript_1A0358
compare 0x4049, 1
- callif 1, Route101_EventScript_1A0358
+ call_if 1, Route101_EventScript_1A0358
compare 0x4049, 2
- callif 1, Route101_EventScript_1A0365
+ call_if 1, Route101_EventScript_1A0365
compare 0x4049, 3
- callif 1, Route101_EventScript_1A0365
+ call_if 1, Route101_EventScript_1A0365
compare 0x4049, 4
- callif 1, Route101_EventScript_1A0372
+ call_if 1, Route101_EventScript_1A0372
compare 0x4049, 5
- callif 1, Route101_EventScript_1A0372
+ call_if 1, Route101_EventScript_1A0372
compare 0x4049, 6
- callif 1, Route101_EventScript_1A0358
+ call_if 1, Route101_EventScript_1A0358
compare 0x4049, 7
- callif 1, Route101_EventScript_1A0358
+ call_if 1, Route101_EventScript_1A0358
return
Route101_EventScript_1A0358:: @ 81A0358
@@ -2190,7 +2190,7 @@ Route103_EventScript_1A037F:: @ 81A037F
faceplayer
msgbox Route101_Text_1C4449, 5
compare RESULT, 0
- jumpeq Route101_EventScript_1A039B
+ goto_if_eq Route101_EventScript_1A039B
call Route101_EventScript_1A03B0
release
end
@@ -2203,38 +2203,38 @@ Route101_EventScript_1A039B:: @ 81A039B
Route101_EventScript_1A03A5:: @ 81A03A5
copyvar 0x8004, 0x8009
special ShowPokedexRatingMessage
- waittext
+ waitmessage
waitbutton
return
EverGrandeCity_ChampionsRoom_EventScript_1A03B0:: @ 81A03B0
Route101_EventScript_1A03B0:: @ 81A03B0
setvar 0x8004, 0
- specialval RESULT, ScriptGetPokedexInfo
+ specialvar RESULT, ScriptGetPokedexInfo
copyvar 0x8008, 0x8005
copyvar 0x8009, 0x8006
copyvar 0x800a, RESULT
- buffernum 0, 0x8008
- buffernum 1, 0x8009
+ getnumberstring 0, 0x8008
+ getnumberstring 1, 0x8009
msgbox Route101_Text_1C44DC, 4
call Route101_EventScript_1A03A5
compare 0x800a, 0
- jumpeq Route101_EventScript_1A14DC
+ goto_if_eq Route101_EventScript_1A14DC
setvar 0x8004, 1
- specialval RESULT, ScriptGetPokedexInfo
+ specialvar RESULT, ScriptGetPokedexInfo
copyvar 0x8008, 0x8005
copyvar 0x8009, 0x8006
- buffernum 0, 0x8008
- buffernum 1, 0x8009
+ getnumberstring 0, 0x8008
+ getnumberstring 1, 0x8009
msgbox Route101_Text_1C4B05, 4
return
BattleTower_Outside_EventScript_1A040E:: @ 81A040E
LilycoveCity_Harbor_EventScript_1A040E:: @ 81A040E
SlateportCity_Harbor_EventScript_1A040E:: @ 81A040E
- pause 60
- move 0x8004, SlateportCity_Harbor_Movement_1A041C
- waitmove 0
+ delay 60
+ applymovement 0x8004, SlateportCity_Harbor_Movement_1A041C
+ waitmovement 0
return
SlateportCity_Harbor_Movement_1A041C:: @ 81A041C
@@ -2260,8 +2260,8 @@ PetalburgCity_Gym_EventScript_1A0424:: @ 81A0424
return
RusturfTunnel_EventScript_1A0442:: @ 81A0442
- disappear 1
- disappear 10
+ removeobject 1
+ removeobject 10
clearflag 808
clearflag 984
setvar 0x409a, 6
@@ -2269,14 +2269,14 @@ RusturfTunnel_EventScript_1A0442:: @ 81A0442
return
EventScript_1A0457: @ unreferenced?
- pause 30
- move 255, SlateportCity_OceanicMuseum_2F_Movement_1A0841
- waitmove 0
- spritevisible 255, 0, 0
- pause 30
- move 255, Movement_1A047A
- waitmove 0
- pause 30
+ delay 30
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_1A0841
+ waitmovement 0
+ showobject 255, 0, 0
+ delay 30
+ applymovement 255, Movement_1A047A
+ waitmovement 0
+ delay 30
return
Movement_1A047A:
@@ -2286,18 +2286,18 @@ Movement_1A047A:
BattleTower_Outside_EventScript_1A047C:: @ 81A047C
SouthernIsland_Exterior_EventScript_1A047C:: @ 81A047C
compare FACING, 1
- callif 1, BattleTower_Outside_EventScript_160B2F
+ call_if 1, BattleTower_Outside_EventScript_160B2F
compare FACING, 3
- callif 1, BattleTower_Outside_EventScript_160B3A
- pause 30
- spriteinvisible 255, 0, 0
+ call_if 1, BattleTower_Outside_EventScript_160B3A
+ delay 30
+ hideobject 255, 0, 0
call BattleTower_Outside_EventScript_1A040E
return
CaveOfOrigin_B4F_EventScript_1A04A0:: @ 81A04A0
lockall
- checksound
- pokecry SPECIES_GROUDON_OR_KYOGRE, 2
+ waitse
+ playpokecry SPECIES_GROUDON_OR_KYOGRE, 2
waitpokecry
setvar 0x4005, 1
releaseall
@@ -2309,20 +2309,20 @@ CaveOfOrigin_B2F_EventScript_1A04AF:: @ 81A04AF
CaveOfOrigin_B3F_EventScript_1A04AF:: @ 81A04AF
lockall
setvar 0x4001, 1
- jump CaveOfOrigin_1F_EventScript_1A04D3
+ goto CaveOfOrigin_1F_EventScript_1A04D3
end
CaveOfOrigin_B2F_EventScript_1A04BB:: @ 81A04BB
CaveOfOrigin_B3F_EventScript_1A04BB:: @ 81A04BB
lockall
setvar 0x4002, 1
- jump CaveOfOrigin_B2F_EventScript_1A04D3
+ goto CaveOfOrigin_B2F_EventScript_1A04D3
end
@ 81A04C7
lockall
setvar 0x4003, 1
- jump CaveOfOrigin_B2F_EventScript_1A04D3
+ goto CaveOfOrigin_B2F_EventScript_1A04D3
end
CaveOfOrigin_1F_EventScript_1A04D3:: @ 81A04D3
@@ -2351,9 +2351,9 @@ MagmaHideout_B1F_EventScript_1A04FD:: @ 81A04FD
lock
faceplayer
setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
- checksound
- pokecry SPECIES_ELECTRODE, 2
- pause 40
+ waitse
+ playpokecry SPECIES_ELECTRODE, 2
+ delay 40
waitpokecry
setflag 977
setflag 2145
@@ -2367,9 +2367,9 @@ MagmaHideout_B1F_EventScript_1A051B:: @ 81A051B
lock
faceplayer
setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
- checksound
- pokecry SPECIES_ELECTRODE, 2
- pause 40
+ waitse
+ playpokecry SPECIES_ELECTRODE, 2
+ delay 40
waitpokecry
setflag 978
setflag 2145
@@ -2382,56 +2382,56 @@ Route120_EventScript_1A0539:: @ 81A0539
lock
faceplayer
setvar 0x8004, 1
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route120_EventScript_1A0546:: @ 81A0546
lock
faceplayer
setvar 0x8004, 2
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route120_EventScript_1A0553:: @ 81A0553
lock
faceplayer
setvar 0x8004, 3
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route120_EventScript_1A0560:: @ 81A0560
lock
faceplayer
setvar 0x8004, 4
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route120_EventScript_1A056D:: @ 81A056D
lock
faceplayer
setvar 0x8004, 5
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route119_EventScript_1A057A:: @ 81A057A
lock
faceplayer
setvar 0x8004, 6
- jump Route119_EventScript_1A0594
+ goto Route119_EventScript_1A0594
end
Route119_EventScript_1A0587:: @ 81A0587
lock
faceplayer
setvar 0x8004, 7
- jump Route119_EventScript_1A0594
+ goto Route119_EventScript_1A0594
end
Route119_EventScript_1A0594:: @ 81A0594
Route120_EventScript_1A0594:: @ 81A0594
checkitem ITEM_DEVON_SCOPE, 1
compare RESULT, 1
- jumpeq Route119_EventScript_1A05AE
+ goto_if_eq Route119_EventScript_1A05AE
msgbox Route119_Text_171B93, 4
release
end
@@ -2439,36 +2439,36 @@ Route120_EventScript_1A0594:: @ 81A0594
Route119_EventScript_1A05AE:: @ 81A05AE
msgbox Route119_Text_171BB6, 5
compare RESULT, 1
- jumpeq Route119_EventScript_1A05C3
+ goto_if_eq Route119_EventScript_1A05C3
release
end
Route119_EventScript_1A05C3:: @ 81A05C3
msgbox Route119_Text_171BF6, 4
- closebutton
- move LAST_TALKED, Route119_Movement_1A0839
- waitmove 0
- move LAST_TALKED, Route119_Movement_1A0662
- waitmove 0
- checksound
- pokecry SPECIES_KECLEON, 2
- pause 40
+ closemessage
+ applymovement LAST_TALKED, Route119_Movement_1A0839
+ waitmovement 0
+ applymovement LAST_TALKED, Route119_Movement_1A0662
+ waitmovement 0
+ waitse
+ playpokecry SPECIES_KECLEON, 2
+ delay 40
waitpokecry
setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
compare 0x8004, 1
- callif 1, Route119_EventScript_1A0646
+ call_if 1, Route119_EventScript_1A0646
compare 0x8004, 2
- callif 1, Route119_EventScript_1A064A
+ call_if 1, Route119_EventScript_1A064A
compare 0x8004, 3
- callif 1, Route119_EventScript_1A064E
+ call_if 1, Route119_EventScript_1A064E
compare 0x8004, 4
- callif 1, Route119_EventScript_1A0652
+ call_if 1, Route119_EventScript_1A0652
compare 0x8004, 5
- callif 1, Route119_EventScript_1A0656
+ call_if 1, Route119_EventScript_1A0656
compare 0x8004, 6
- callif 1, Route119_EventScript_1A065A
+ call_if 1, Route119_EventScript_1A065A
compare 0x8004, 7
- callif 1, Route119_EventScript_1A065E
+ call_if 1, Route119_EventScript_1A065E
setflag 2145
dowildbattle
clearflag 2145
@@ -2542,10 +2542,10 @@ FallarborTown_House1_EventScript_1A067F:: @ 81A067F
GraniteCave_StevensRoom_EventScript_1A067F:: @ 81A067F
MtPyre_Summit_EventScript_1A067F:: @ 81A067F
SlateportCity_OceanicMuseum_2F_EventScript_1A067F:: @ 81A067F
- bufferitem 0, 0x8004
- fanfare 372
+ getitemname 0, 0x8004
+ playfanfare 372
message FallarborTown_House1_Text_1A1498
- waittext
+ waitmessage
waitfanfare
removeitem 0x8004, 1
return
@@ -2554,9 +2554,9 @@ EverGrandeCity_DrakesRoom_EventScript_1A0693:: @ 81A0693
EverGrandeCity_GlaciasRoom_EventScript_1A0693:: @ 81A0693
EverGrandeCity_PhoebesRoom_EventScript_1A0693:: @ 81A0693
EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693
- move 255, EverGrandeCity_SidneysRoom_Movement_1A0853
- waitmove 0
- playsfx 8
+ applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0853
+ waitmovement 0
+ playse 8
setmaptile 6, 1, 836, 0
setmaptile 6, 2, 837, 0
setmaptile 0, 2, 734, 1
@@ -2576,9 +2576,9 @@ EverGrandeCity_DrakesRoom_EventScript_1A0710:: @ 81A0710
EverGrandeCity_GlaciasRoom_EventScript_1A0710:: @ 81A0710
EverGrandeCity_PhoebesRoom_EventScript_1A0710:: @ 81A0710
EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710
- move 255, EverGrandeCity_SidneysRoom_Movement_1A0847
- waitmove 0
- playsfx 52
+ applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0847
+ waitmovement 0
+ playse 52
setmaptile 5, 12, 518, 1
setmaptile 6, 12, 518, 1
setmaptile 7, 12, 518, 1
@@ -3264,13 +3264,13 @@ gUnknown_081A14B8:: @ 81A14B8
special ExecuteWhiteOut
waitstate
compare RESULT, 1
- jumpeq EventScript_1A14CA
+ goto_if_eq EventScript_1A14CA
releaseall
end
EventScript_1A14CA::
message UnknownString_81A1141
- waittext
+ waitmessage
waitbutton
special sub_8081924
waitstate
@@ -3619,44 +3619,44 @@ gUnknown_081A2C51:: @ 81A2C51
special sub_80BB70C
special sub_80BB63C
compare RESULT, 1
- jumpeq EventScript_1A2E45
- checkattack MOVE_SECRET_POWER
- setanimation 0, RESULT
- bufferattack 1, MOVE_SECRET_POWER
+ goto_if_eq EventScript_1A2E45
+ checkpokemove MOVE_SECRET_POWER
+ setfieldeffect 0, RESULT
+ getmovename 1, MOVE_SECRET_POWER
compare 0x8007, 1
- jumpeq EventScript_1A2CB0
+ goto_if_eq EventScript_1A2CB0
compare 0x8007, 2
- jumpeq EventScript_1A2CB0
+ goto_if_eq EventScript_1A2CB0
compare 0x8007, 3
- jumpeq EventScript_1A2CB0
+ goto_if_eq EventScript_1A2CB0
compare 0x8007, 4
- jumpeq EventScript_1A2CB0
+ goto_if_eq EventScript_1A2CB0
compare 0x8007, 5
- jumpeq EventScript_1A2D08
+ goto_if_eq EventScript_1A2D08
compare 0x8007, 6
- jumpeq EventScript_1A2D60
+ goto_if_eq EventScript_1A2D60
end
EventScript_1A2CB0:
lockall
compare RESULT, 6
- jumpeq EventScript_1A2CF1
- bufferpartypoke 0, RESULT
+ goto_if_eq EventScript_1A2CF1
+ getpartypokename 0, RESULT
msgbox UnknownString_8198F34, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 11
+ closemessage
+ dofieldeffect 11
waitstate
- jump EventScript_1A2CFA
+ goto EventScript_1A2CFA
end
gUnknown_081A2CE6:: @ 81A2CE6
lockall
- doanimation 11
+ dofieldeffect 11
waitstate
- jump EventScript_1A2CFA
+ goto EventScript_1A2CFA
end
EventScript_1A2CF1:
@@ -3665,29 +3665,29 @@ EventScript_1A2CF1:
EventScript_1A2CFA:
msgbox UnknownString_8198F6E, 4
- jump EventScript_1A2DB8
+ goto EventScript_1A2DB8
end
EventScript_1A2D08:
lockall
compare RESULT, 6
- jumpeq EventScript_1A2D49
- bufferpartypoke 0, RESULT
+ goto_if_eq EventScript_1A2D49
+ getpartypokename 0, RESULT
msgbox UnknownString_81A197B, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 26
+ closemessage
+ dofieldeffect 26
waitstate
- jump EventScript_1A2D52
+ goto EventScript_1A2D52
end
gUnknown_081A2D3E:: @ 81A2D3E
lockall
- doanimation 26
+ dofieldeffect 26
waitstate
- jump EventScript_1A2D52
+ goto EventScript_1A2D52
end
EventScript_1A2D49:
@@ -3696,29 +3696,29 @@ EventScript_1A2D49:
EventScript_1A2D52:
msgbox UnknownString_81A19C4, 4
- jump EventScript_1A2DB8
+ goto EventScript_1A2DB8
end
EventScript_1A2D60:
lockall
compare RESULT, 6
- jumpeq EventScript_1A2DA1
- bufferpartypoke 0, RESULT
+ goto_if_eq EventScript_1A2DA1
+ getpartypokename 0, RESULT
msgbox UnknownString_81A1A4B, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 27
+ closemessage
+ dofieldeffect 27
waitstate
- jump EventScript_1A2DAA
+ goto EventScript_1A2DAA
end
gUnknown_081A2D96:: @ 81A2D96
lockall
- doanimation 27
+ dofieldeffect 27
waitstate
- jump EventScript_1A2DAA
+ goto EventScript_1A2DAA
end
EventScript_1A2DA1:
@@ -3727,12 +3727,12 @@ EventScript_1A2DA1:
EventScript_1A2DAA:
msgbox UnknownString_81A1AA9, 4
- jump EventScript_1A2DB8
+ goto EventScript_1A2DB8
end
EventScript_1A2DB8:
- closebutton
- playsfx 9
+ closemessage
+ playse 9
setvar 0x4097, 0
setflag 173
special sub_80BB8CC
@@ -3745,19 +3745,19 @@ EventScript_1A2DB8:
end
SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE
- move 255, SecretBase_RedCave1_Movement_1A2E11
- waitmove 0
+ applymovement 255, SecretBase_RedCave1_Movement_1A2E11
+ waitmovement 0
setvar 0x4097, 1
msgbox SecretBase_RedCave1_Text_198F89, 5
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A2E08
- closebutton
- playsfx 9
+ goto_if_eq SecretBase_RedCave1_EventScript_1A2E08
+ closemessage
+ playse 9
special sub_80BC440
end
SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08
- closebutton
+ closemessage
setflag 96
special sub_80BBC78
waitstate
@@ -3771,10 +3771,10 @@ SecretBase_RedCave1_Movement_1A2E11:: @ 81A2E11
gUnknown_081A2E14:: @ 81A2E14
lockall
setvar 0x4097, 1
- playsfx 9
+ playse 9
special sub_80BC114
compare RESULT, 0
- jumpeq EventScript_1A2E38
+ goto_if_eq EventScript_1A2E38
clearflag 173
special sub_80BBAF0
setvar 0x4089, 0
@@ -3789,63 +3789,63 @@ EventScript_1A2E38:
end
EventScript_1A2E45:
- checkattack MOVE_SECRET_POWER
+ checkpokemove MOVE_SECRET_POWER
compare RESULT, 6
- jumpeq EventScript_1A2EF7
- setanimation 0, RESULT
+ goto_if_eq EventScript_1A2EF7
+ setfieldeffect 0, RESULT
setorcopyvar 0x8004, RESULT
lockall
special GetSecretBaseNearbyMapName
msgbox UnknownString_81A3C71, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
msgbox UnknownString_81A38FB, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
fadescreen 1
special sub_80BC50C
- closebutton
+ closemessage
fadescreen 0
msgbox UnknownString_81A3CC9, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
- bufferpartypoke 0, 0x8004
- bufferattack 1, MOVE_SECRET_POWER
+ goto_if_eq EventScript_1A2F3A
+ getpartypokename 0, 0x8004
+ getmovename 1, MOVE_SECRET_POWER
msgbox UsedCutRockSmashText, 4
- closebutton
- closebutton
+ closemessage
+ closemessage
compare 0x8007, 1
- jumpeq gUnknown_081A2CE6
+ goto_if_eq gUnknown_081A2CE6
compare 0x8007, 2
- jumpeq gUnknown_081A2CE6
+ goto_if_eq gUnknown_081A2CE6
compare 0x8007, 3
- jumpeq gUnknown_081A2CE6
+ goto_if_eq gUnknown_081A2CE6
compare 0x8007, 4
- jumpeq gUnknown_081A2CE6
+ goto_if_eq gUnknown_081A2CE6
compare 0x8007, 5
- jumpeq gUnknown_081A2D3E
+ goto_if_eq gUnknown_081A2D3E
compare 0x8007, 6
- jumpeq gUnknown_081A2D96
+ goto_if_eq gUnknown_081A2D96
releaseall
end
EventScript_1A2EF7::
compare 0x8007, 1
- jumpeq EventScript_1A2CF1
+ goto_if_eq EventScript_1A2CF1
compare 0x8007, 2
- jumpeq EventScript_1A2CF1
+ goto_if_eq EventScript_1A2CF1
compare 0x8007, 3
- jumpeq EventScript_1A2CF1
+ goto_if_eq EventScript_1A2CF1
compare 0x8007, 4
- jumpeq EventScript_1A2CF1
+ goto_if_eq EventScript_1A2CF1
compare 0x8007, 5
- jumpeq EventScript_1A2D49
+ goto_if_eq EventScript_1A2D49
compare 0x8007, 6
- jumpeq EventScript_1A2DA1
+ goto_if_eq EventScript_1A2DA1
end
EventScript_1A2F3A::
- closebutton
+ closemessage
releaseall
end
@@ -3879,7 +3879,7 @@ SecretBase_RedCave1_EventScript_1A2F68:: @ 81A2F68
gUnknown_081A2F7B:: @ 81A2F7B
setvar 0x8005, 0
- jump EventScript_1A2F86
+ goto EventScript_1A2F86
end
EventScript_1A2F86:
@@ -3888,19 +3888,19 @@ EventScript_1A2F86:
gUnknown_081A2F8A:: @ 81A2F8A
setvar 0x8004, 0
- jump EventScript_1A2F95
+ goto EventScript_1A2F95
end
EventScript_1A2F95:
special sub_8100A7C
compare RESULT, 1
- jumpeq EventScript_1A2FBF
+ goto_if_eq EventScript_1A2FBF
addvar 0x8004, 1
compare 0x8005, 0
- jumpeq EventScript_1A2F95
- disappear 0x8006
+ goto_if_eq EventScript_1A2F95
+ removeobject 0x8006
setflag 0x8005
- jump EventScript_1A2F95
+ goto EventScript_1A2F95
end
EventScript_1A2FBF:
@@ -3932,45 +3932,45 @@ SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0
SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0
special sub_80BCE90
compare 0x8004, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3032
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3032
compare 0x8004, 1
- jumpeq SecretBase_RedCave1_EventScript_1A30AE
+ goto_if_eq SecretBase_RedCave1_EventScript_1A30AE
compare 0x8004, 2
- jumpeq SecretBase_RedCave1_EventScript_1A312A
+ goto_if_eq SecretBase_RedCave1_EventScript_1A312A
compare 0x8004, 3
- jumpeq SecretBase_RedCave1_EventScript_1A31A6
+ goto_if_eq SecretBase_RedCave1_EventScript_1A31A6
compare 0x8004, 4
- jumpeq SecretBase_RedCave1_EventScript_1A3222
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3222
compare 0x8004, 5
- jumpeq SecretBase_RedCave1_EventScript_1A329E
+ goto_if_eq SecretBase_RedCave1_EventScript_1A329E
compare 0x8004, 6
- jumpeq SecretBase_RedCave1_EventScript_1A331A
+ goto_if_eq SecretBase_RedCave1_EventScript_1A331A
compare 0x8004, 7
- jumpeq SecretBase_RedCave1_EventScript_1A3396
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3396
compare 0x8004, 8
- jumpeq SecretBase_RedCave1_EventScript_1A3412
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3412
compare 0x8004, 9
- jumpeq SecretBase_RedCave1_EventScript_1A348E
+ goto_if_eq SecretBase_RedCave1_EventScript_1A348E
end
SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A3086
+ goto_if 0, SecretBase_RedCave1_EventScript_1A3086
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A30A5
+ goto_if_eq SecretBase_RedCave1_EventScript_1A30A5
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A1AEA, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A308F
+ goto_if_eq SecretBase_RedCave1_EventScript_1A308F
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A308F
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A308F
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1B83, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086
@@ -3980,7 +3980,7 @@ SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086
SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1B97, 2
end
@@ -3990,22 +3990,22 @@ SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5
SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A3102
+ goto_if 0, SecretBase_RedCave1_EventScript_1A3102
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3121
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3121
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A1E67, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A310B
+ goto_if_eq SecretBase_RedCave1_EventScript_1A310B
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A310B
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A310B
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1F04, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102
@@ -4015,7 +4015,7 @@ SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102
SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1F2E, 2
end
@@ -4025,22 +4025,22 @@ SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121
SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A317E
+ goto_if 0, SecretBase_RedCave1_EventScript_1A317E
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A319D
+ goto_if_eq SecretBase_RedCave1_EventScript_1A319D
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A218F, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3187
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3187
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3187
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3187
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2220, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E
@@ -4050,7 +4050,7 @@ SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E
SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2230, 2
end
@@ -4060,22 +4060,22 @@ SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D
SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A31FA
+ goto_if 0, SecretBase_RedCave1_EventScript_1A31FA
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3219
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3219
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A24E1, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3203
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3203
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3203
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3203
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A256F, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA
@@ -4085,7 +4085,7 @@ SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA
SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A258A, 2
end
@@ -4095,22 +4095,22 @@ SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219
SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A3276
+ goto_if 0, SecretBase_RedCave1_EventScript_1A3276
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3295
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3295
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A2830, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A327F
+ goto_if_eq SecretBase_RedCave1_EventScript_1A327F
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A327F
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A327F
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A28D7, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276
@@ -4120,7 +4120,7 @@ SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276
SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A28F4, 2
end
@@ -4130,22 +4130,22 @@ SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295
SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A32F2
+ goto_if 0, SecretBase_RedCave1_EventScript_1A32F2
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3311
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3311
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A1CB2, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A32FB
+ goto_if_eq SecretBase_RedCave1_EventScript_1A32FB
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A32FB
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A32FB
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1D48, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2
@@ -4155,7 +4155,7 @@ SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2
SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1D59, 2
end
@@ -4165,22 +4165,22 @@ SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311
SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A336E
+ goto_if 0, SecretBase_RedCave1_EventScript_1A336E
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A338D
+ goto_if_eq SecretBase_RedCave1_EventScript_1A338D
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A2026, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3377
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3377
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3377
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3377
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2095, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E
@@ -4190,7 +4190,7 @@ SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E
SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A20AE, 2
end
@@ -4200,22 +4200,22 @@ SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D
SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A33EA
+ goto_if 0, SecretBase_RedCave1_EventScript_1A33EA
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3409
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3409
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A236A, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A33F3
+ goto_if_eq SecretBase_RedCave1_EventScript_1A33F3
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A33F3
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A33F3
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2405, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA
@@ -4225,7 +4225,7 @@ SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA
SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2420, 2
end
@@ -4235,22 +4235,22 @@ SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409
SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A3466
+ goto_if 0, SecretBase_RedCave1_EventScript_1A3466
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3485
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3485
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A2663, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A346F
+ goto_if_eq SecretBase_RedCave1_EventScript_1A346F
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A346F
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A346F
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2710, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466
@@ -4260,7 +4260,7 @@ SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466
SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2736, 2
end
@@ -4270,22 +4270,22 @@ SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485
SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A34E2
+ goto_if 0, SecretBase_RedCave1_EventScript_1A34E2
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3501
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3501
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A2A13, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A34EB
+ goto_if_eq SecretBase_RedCave1_EventScript_1A34EB
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A34EB
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A34EB
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2AE2, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2
@@ -4295,7 +4295,7 @@ SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2
SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2AFB, 2
end
@@ -4406,7 +4406,7 @@ FallarborTown_ContestLobby_EventScript_1ADE46:: @ 81ADE46
SlateportCity_OceanicMuseum_1F_EventScript_1ADE46:: @ 81ADE46
SlateportCity_PokemonFanClub_EventScript_1ADE46:: @ 81ADE46
special sub_80BDE48
- inccounter GAME_STAT_GOT_INTERVIEWED
+ incrementgamestat GAME_STAT_GOT_INTERVIEWED
release
end
@@ -4414,13 +4414,13 @@ SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D
setvar 0x8005, 1
special sub_80BF2C4
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADED6
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADED6
copyvar 0x8009, 0x8006
msgbox SlateportCity_PokemonFanClub_Text_1A8704, 5
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE84
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE84
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEB9
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9
end
SlateportCity_PokemonFanClub_EventScript_1ADE84:: @ 81ADE84
@@ -4432,9 +4432,9 @@ SlateportCity_PokemonFanClub_EventScript_1ADE84:: @ 81ADE84
lock
faceplayer
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEC3
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEC3
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEB9
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9
end
SlateportCity_PokemonFanClub_EventScript_1ADEB9:: @ 81ADEB9
@@ -4445,7 +4445,7 @@ SlateportCity_PokemonFanClub_EventScript_1ADEB9:: @ 81ADEB9
SlateportCity_PokemonFanClub_EventScript_1ADEC3:: @ 81ADEC3
msgbox SlateportCity_PokemonFanClub_Text_1A8818, 4
setvar 0x8005, 1
- jump SlateportCity_PokemonFanClub_EventScript_1ADE46
+ goto SlateportCity_PokemonFanClub_EventScript_1ADE46
end
SlateportCity_PokemonFanClub_EventScript_1ADED6:: @ 81ADED6
@@ -4459,24 +4459,24 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0
setvar 0x8005, 2
special sub_80BF2C4
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96
copyvar 0x8009, 0x8006
checkflag 105
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25
setflag 105
msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, 5
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44
compare RESULT, 0
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
end
SlateportCity_OceanicMuseum_1F_EventScript_1ADF25:: @ 81ADF25
msgbox SlateportCity_OceanicMuseum_1F_Text_1A934C, 5
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44
compare RESULT, 0
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
end
SlateportCity_OceanicMuseum_1F_EventScript_1ADF44:: @ 81ADF44
@@ -4488,9 +4488,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF44:: @ 81ADF44
lock
faceplayer
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF83
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF83
compare RESULT, 0
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
end
SlateportCity_OceanicMuseum_1F_EventScript_1ADF79:: @ 81ADF79
@@ -4501,7 +4501,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF79:: @ 81ADF79
SlateportCity_OceanicMuseum_1F_EventScript_1ADF83:: @ 81ADF83
msgbox SlateportCity_OceanicMuseum_1F_Text_1A949A, 4
setvar 0x8005, 2
- jump SlateportCity_OceanicMuseum_1F_EventScript_1ADE46
+ goto SlateportCity_OceanicMuseum_1F_EventScript_1ADE46
end
SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96
@@ -4512,19 +4512,19 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96
SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0
lock
faceplayer
- specialval RESULT, sub_80BF544
+ specialvar RESULT, sub_80BF544
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE4D
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE4D
setvar 0x8005, 3
special sub_80BF2C4
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0AC
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0AC
copyvar 0x8009, 0x8006
msgbox SlateportCity_PokemonFanClub_Text_1A82F1, 5
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADFE9
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADFE9
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2
end
SlateportCity_PokemonFanClub_EventScript_1ADFE9:: @ 81ADFE9
@@ -4539,17 +4539,17 @@ SlateportCity_PokemonFanClub_EventScript_1ADFE9:: @ 81ADFE9
SlateportCity_PokemonFanClub_EventScript_1AE020:: @ 81AE020
msgbox SlateportCity_PokemonFanClub_Text_1A8414, 4
- jump SlateportCity_PokemonFanClub_EventScript_1AE04A
+ goto SlateportCity_PokemonFanClub_EventScript_1AE04A
end
SlateportCity_PokemonFanClub_EventScript_1AE02E:: @ 81AE02E
msgbox SlateportCity_PokemonFanClub_Text_1A8470, 4
- jump SlateportCity_PokemonFanClub_EventScript_1AE04A
+ goto SlateportCity_PokemonFanClub_EventScript_1AE04A
end
SlateportCity_PokemonFanClub_EventScript_1AE03C:: @ 81AE03C
msgbox SlateportCity_PokemonFanClub_Text_1A84D5, 4
- jump SlateportCity_PokemonFanClub_EventScript_1AE04A
+ goto SlateportCity_PokemonFanClub_EventScript_1AE04A
end
SlateportCity_PokemonFanClub_EventScript_1AE04A:: @ 81AE04A
@@ -4560,18 +4560,18 @@ SlateportCity_PokemonFanClub_EventScript_1AE04A:: @ 81AE04A
lock
faceplayer
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2
msgbox SlateportCity_PokemonFanClub_Text_1A852D, 4
setvar 0x8006, 1
call SlateportCity_PokemonFanClub_EventScript_1A00F3
lock
faceplayer
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2
msgbox SlateportCity_PokemonFanClub_Text_1A85A6, 4
copyvar 0x8007, 0x800a
setvar 0x8005, 3
- jump SlateportCity_PokemonFanClub_EventScript_1ADE46
+ goto SlateportCity_PokemonFanClub_EventScript_1ADE46
end
SlateportCity_PokemonFanClub_EventScript_1AE0A2:: @ 81AE0A2
@@ -4591,17 +4591,17 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6
lock
faceplayer
checkflag 2
- jumpeq FallarborTown_ContestLobby_EventScript_1AE17E
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E
setvar 0x8005, 6
special sub_80BF2C4
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1AE17E
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E
copyvar 0x8009, 0x8006
msgbox FallarborTown_ContestLobby_Text_1A6F7C, 5
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1AE0F8
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE0F8
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1AE12D
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D
end
FallarborTown_ContestLobby_EventScript_1AE0F8:: @ 81AE0F8
@@ -4613,9 +4613,9 @@ FallarborTown_ContestLobby_EventScript_1AE0F8:: @ 81AE0F8
lock
faceplayer
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1AE137
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE137
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1AE12D
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D
end
FallarborTown_ContestLobby_EventScript_1AE12D:: @ 81AE12D
@@ -4634,11 +4634,11 @@ FallarborTown_ContestLobby_EventScript_1AE137:: @ 81AE137
lock
faceplayer
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1AE12D
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D
msgbox FallarborTown_ContestLobby_Text_1A7153, 4
setflag 2
setvar 0x8005, 6
- jump FallarborTown_ContestLobby_EventScript_1ADE46
+ goto FallarborTown_ContestLobby_EventScript_1ADE46
end
FallarborTown_ContestLobby_EventScript_1AE17E:: @ 81AE17E
@@ -4651,11 +4651,11 @@ LilycoveCity_ContestLobby_EventScript_1AE188:: @ 81AE188
SlateportCity_ContestLobby_EventScript_1AE188:: @ 81AE188
VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188
compare 0x4086, 2
- jumpif 5, FallarborTown_ContestLobby_EventScript_1AE1FE
+ goto_if 5, FallarborTown_ContestLobby_EventScript_1AE1FE
setvar 0x8005, 6
special sub_80BF2C4
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1AE1FE
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE1FE
switch 0x4088
case 0, FallarborTown_ContestLobby_EventScript_1AE1FE
case 2, FallarborTown_ContestLobby_EventScript_1AE1EE
@@ -4688,28 +4688,28 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF
lock
faceplayer
checkflag 2
- jumpeq BattleTower_Lobby_EventScript_1AE2E3
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2E3
setvar 0x8005, 7
special sub_80BF2C4
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1AE2E3
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2E3
copyvar 0x8009, 0x8006
msgbox BattleTower_Lobby_Text_1A776D, 5
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1AE241
+ goto_if_eq BattleTower_Lobby_EventScript_1AE241
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_1AE297
+ goto_if_eq BattleTower_Lobby_EventScript_1AE297
end
BattleTower_Lobby_EventScript_1AE241:: @ 81AE241
message BattleTower_Lobby_Text_1A7823
- waittext
+ waitmessage
multichoice 19, 8, 45, 1
copyvar 0x8008, RESULT
compare RESULT, 0
- callif 1, BattleTower_Lobby_EventScript_1AE2A1
+ call_if 1, BattleTower_Lobby_EventScript_1AE2A1
compare RESULT, 1
- callif 1, BattleTower_Lobby_EventScript_1AE2AA
+ call_if 1, BattleTower_Lobby_EventScript_1AE2AA
msgbox BattleTower_Lobby_Text_1A79EB, 4
setvar 0x8004, 12
copyvar 0x8005, 0x8009
@@ -4717,9 +4717,9 @@ BattleTower_Lobby_EventScript_1AE241:: @ 81AE241
lock
faceplayer
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1AE2B3
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2B3
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_1AE2D9
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2D9
end
BattleTower_Lobby_EventScript_1AE297:: @ 81AE297
@@ -4737,12 +4737,12 @@ BattleTower_Lobby_EventScript_1AE2AA:: @ 81AE2AA
BattleTower_Lobby_EventScript_1AE2B3:: @ 81AE2B3
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_1AE2D9
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2D9
msgbox BattleTower_Lobby_Text_1A7A6E, 4
setflag 2
copyvar 0x8004, 0x8008
setvar 0x8005, 7
- jump BattleTower_Lobby_EventScript_1ADE46
+ goto BattleTower_Lobby_EventScript_1ADE46
end
BattleTower_Lobby_EventScript_1AE2D9:: @ 81AE2D9
@@ -4757,11 +4757,11 @@ BattleTower_Lobby_EventScript_1AE2E3:: @ 81AE2E3
BattleTower_Lobby_EventScript_1AE2ED:: @ 81AE2ED
compare 0x40bc, 0
- jumpeq BattleTower_Lobby_EventScript_1AE30F
+ goto_if_eq BattleTower_Lobby_EventScript_1AE30F
setvar 0x8005, 7
special sub_80BF2C4
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1AE30F
+ goto_if_eq BattleTower_Lobby_EventScript_1AE30F
clearflag 918
return
@@ -4795,8 +4795,8 @@ BattleTower_Lobby_EventScript_1AE30F:: @ 81AE30F
.include "data/text/magma_summit.inc"
gUnknown_081B694A:: @ 81B694A
- lighten 1
- darken 1
+ animdarklevel 1
+ setdarklevel 1
end
.include "data/scripts/players_house.inc"
@@ -4823,25 +4823,25 @@ Text_RepelWoreOff: @ 81C33EF
MauvilleCity_GameCorner_EventScript_1C407E:: @ 81C407E
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 0
- event_96 2
+ getpricereduction 2
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1C40DA
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1C40DA
addvar 0x8004, 128
- jump MauvilleCity_GameCorner_EventScript_1C40DA
+ goto MauvilleCity_GameCorner_EventScript_1C40DA
end
MauvilleCity_GameCorner_EventScript_1C40AC:: @ 81C40AC
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 1
- event_96 2
+ getpricereduction 2
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1C40DA
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1C40DA
addvar 0x8004, 128
- jump MauvilleCity_GameCorner_EventScript_1C40DA
+ goto MauvilleCity_GameCorner_EventScript_1C40DA
end
MauvilleCity_GameCorner_EventScript_1C40DA:: @ 81C40DA
@@ -4902,22 +4902,22 @@ SkyPillar_4F_MapScript1_1C6BBF:: @ 81C6BBF
S_FallDownHole:: @ 81C6BC5
lockall
- pause 20
- move 255, GraniteCave_B1F_Movement_1C6BF7
- waitmove 0
- playsfx 43
- pause 60
+ delay 20
+ applymovement 255, GraniteCave_B1F_Movement_1C6BF7
+ waitmovement 0
+ playse 43
+ delay 60
warphole UNDEFINED
waitstate
end
gUnknown_081C6BDE:: @ 81C6BDE
lockall
- pause 20
- move 255, GraniteCave_B1F_Movement_1C6BF7
- waitmove 0
- playsfx 43
- pause 60
+ delay 20
+ applymovement 255, GraniteCave_B1F_Movement_1C6BF7
+ waitmovement 0
+ playse 43
+ delay 60
special sp13F_fall_to_last_warp
waitstate
end
@@ -4949,9 +4949,9 @@ gUnknown_081C6C02:: @ 81C6C02
@ 81C6C1D
lockall
- braillemsg Underwater_SealedChamber_Braille_1C533D
+ braillemessage Underwater_SealedChamber_Braille_1C533D
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data-de/field_move_scripts.inc b/data-de/field_move_scripts.inc
index 017198c2d..497408299 100644
--- a/data-de/field_move_scripts.inc
+++ b/data-de/field_move_scripts.inc
@@ -1,34 +1,34 @@
S_CuttableTree:: @ 81B0DCC
lockall
checkflag 2055
- jumpif 0, CannotUseCut
- checkattack MOVE_CUT
+ goto_if 0, CannotUseCut
+ checkpokemove MOVE_CUT
compare RESULT, 6
- jumpeq CannotUseCut
- setanimation 0, RESULT
- bufferpartypoke 0, RESULT
- bufferattack 1, MOVE_CUT
+ goto_if_eq CannotUseCut
+ setfieldeffect 0, RESULT
+ getpartypokename 0, RESULT
+ getmovename 1, MOVE_CUT
msgbox UseCutPromptText, 5
compare RESULT, 0
- jumpeq Cut_ChoseNo
+ goto_if_eq Cut_ChoseNo
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 2
+ closemessage
+ dofieldeffect 2
waitstate
- jump DoTreeCutMovement
+ goto DoTreeCutMovement
end
S_UseCut:: @ 81B0E16
lockall
- doanimation 2
+ dofieldeffect 2
waitstate
- jump DoTreeCutMovement
+ goto DoTreeCutMovement
end
DoTreeCutMovement: @ 81B0E21
- move LAST_TALKED, TreeCutMovement @ tree cut animation
- waitmove 0
- disappear LAST_TALKED @ tree disappears
+ applymovement LAST_TALKED, TreeCutMovement @ tree cut animation
+ waitmovement 0
+ removeobject LAST_TALKED @ tree disappears
releaseall
end
@@ -42,7 +42,7 @@ CannotUseCut: @ 81B0E32
end
Cut_ChoseNo: @ 81B0E3C
- closebutton
+ closemessage
releaseall
end
@@ -62,40 +62,40 @@ CannotUseCutText: @ 81B0E8E
S_BreakableRock:: @ 81B0EB7
lockall
checkflag 2057
- jumpif 0, CannotUseRockSmash
- checkattack MOVE_ROCK_SMASH
+ goto_if 0, CannotUseRockSmash
+ checkpokemove MOVE_ROCK_SMASH
compare RESULT, 6
- jumpeq CannotUseRockSmash
- setanimation 0, RESULT
- bufferpartypoke 0, RESULT
- bufferattack 1, MOVE_ROCK_SMASH
+ goto_if_eq CannotUseRockSmash
+ setfieldeffect 0, RESULT
+ getpartypokename 0, RESULT
+ getmovename 1, MOVE_ROCK_SMASH
msgbox UseRockSmashPromptText, 5
compare RESULT, 0
- jumpeq RockSmash_ChoseNo
+ goto_if_eq RockSmash_ChoseNo
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 37
+ closemessage
+ dofieldeffect 37
waitstate
- jump DoRockSmashMovement
+ goto DoRockSmashMovement
end
S_UseRockSmash:: @ 81B0F01
lockall
- doanimation 37
+ dofieldeffect 37
waitstate
- jump DoRockSmashMovement
+ goto DoRockSmashMovement
end
DoRockSmashMovement: @ 81B0F0C
- move LAST_TALKED, RockSmashMovement
- waitmove 0
- disappear LAST_TALKED
- specialval RESULT, sub_810F5BC
+ applymovement LAST_TALKED, RockSmashMovement
+ waitmovement 0
+ removeobject LAST_TALKED
+ specialvar RESULT, sub_810F5BC
compare RESULT, 1
- jumpeq DoRockSmashMovement_Done
+ goto_if_eq DoRockSmashMovement_Done
special ScrSpecial_RockSmashWildEncounter
compare RESULT, 0
- jumpeq DoRockSmashMovement_Done
+ goto_if_eq DoRockSmashMovement_Done
waitstate
releaseall
end
@@ -114,7 +114,7 @@ CannotUseRockSmash: @ 81B0F3E
end
RockSmash_ChoseNo: @ 81B0F48
- closebutton
+ closemessage
releaseall
end
@@ -129,27 +129,27 @@ CannotUseRockSmashText: @ 81B0F90
S_PushableBoulder:: @ 81B0FCB
lockall
checkflag 2058
- jumpif 0, CannotUseStrength
+ goto_if 0, CannotUseStrength
checkflag 2089
- jumpeq AlreadyUsedStrength
- checkattack 70
+ goto_if_eq AlreadyUsedStrength
+ checkpokemove 70
compare RESULT, 6
- jumpeq CannotUseStrength
- setanimation 0, RESULT
+ goto_if_eq CannotUseStrength
+ setfieldeffect 0, RESULT
msgbox UseStrengthPromptText, 5
compare RESULT, 0
- jumpeq Strength_ChoseNo
- closebutton
- doanimation 40
+ goto_if_eq Strength_ChoseNo
+ closemessage
+ dofieldeffect 40
waitstate
- jump UsedStrength
+ goto UsedStrength
end
S_UseStrength:: @ 81B100E
lockall
- doanimation 40
+ dofieldeffect 40
waitstate
- jump UsedStrength
+ goto UsedStrength
end
UsedStrength: @ 81B1019
@@ -169,7 +169,7 @@ AlreadyUsedStrength: @ 81B1030
end
Strength_ChoseNo: @ 81B103A
- closebutton
+ closemessage
releaseall
end
@@ -193,17 +193,17 @@ AlreadyUsedStrengthText: @ 81B1127
S_UseWaterfall:: @ 81B115A
lockall
- checkattack MOVE_WATERFALL
+ checkpokemove MOVE_WATERFALL
compare RESULT, 6
- jumpeq Waterfall_NoMonKnows
- bufferpartypoke 0, RESULT
- setanimation 0, RESULT
+ goto_if_eq Waterfall_NoMonKnows
+ getpartypokename 0, RESULT
+ setfieldeffect 0, RESULT
msgbox UseWaterfallPromptText, 5
compare RESULT, 0
- jumpeq Waterfall_Done
+ goto_if_eq Waterfall_Done
msgbox UsedWaterfallText, 4
- doanimation 43
- jump Waterfall_Done
+ dofieldeffect 43
+ goto Waterfall_Done
S_CannotUseWaterfall:: @ 81B1194
lockall
@@ -226,18 +226,18 @@ UsedWaterfallText: @ 81B120D
UseDiveScript:: @ 81B1220
lockall
- checkattack MOVE_DIVE
+ checkpokemove MOVE_DIVE
compare RESULT, 6
- jumpeq CannotUseDive
- bufferpartypoke 0, RESULT
- setanimation 0, RESULT
- setanimation 1, 1
+ goto_if_eq CannotUseDive
+ getpartypokename 0, RESULT
+ setfieldeffect 0, RESULT
+ setfieldeffect 1, 1
msgbox UseDivePromptText, 5
compare RESULT, 0
- jumpeq Dive_Done
+ goto_if_eq Dive_Done
msgbox UsedDiveText, 4
- doanimation 44
- jump Dive_Done
+ dofieldeffect 44
+ goto Dive_Done
lockall
CannotUseDive: @ 81B125F
@@ -249,23 +249,23 @@ Dive_Done: @ 81B1267
S_UseDiveUnderwater:: @ 81B1269
lockall
- checkattack MOVE_DIVE
+ checkpokemove MOVE_DIVE
compare RESULT, 6
- jumpeq UnderwaterCannotUseDive
- bufferpartypoke 0, RESULT
- setanimation 0, RESULT
- setanimation 1, 1
+ goto_if_eq UnderwaterCannotUseDive
+ getpartypokename 0, RESULT
+ setfieldeffect 0, RESULT
+ setfieldeffect 1, 1
msgbox UnderwaterUseDivePromptText, 5
compare RESULT, 0
- jumpeq UnderwaterDive_Done
+ goto_if_eq UnderwaterDive_Done
msgbox UsedDiveText, 4
- doanimation 44
- jump UnderwaterDive_Done
+ dofieldeffect 44
+ goto UnderwaterDive_Done
UnderwaterCannotUseDive: @ 81B12A7
lockall
msgbox UnderwaterCannotUseDiveText, 4
- jump UnderwaterDive_Done
+ goto UnderwaterDive_Done
@ not used
SurfacingBlocked: @ 81B12B5
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index 0945d75c8..e046794b3 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -3485,7 +3485,7 @@ BattleScript_PerishSongTimerGoesDown:: @ 81D921D
waitmessage 64
end2
-gUnknown_081D9224:: @ 81D9224
+BattleScript_AllStatsUp:: @ 81D9224
jumpifstat USER, 3, 1, 12, BattleScript_1D9251
jumpifstat USER, 3, 2, 12, BattleScript_1D9251
jumpifstat USER, 3, 3, 12, BattleScript_1D9251
@@ -3659,7 +3659,7 @@ BattleScript_1D93EC: @ 81D93EC
waitmessage 64
jump BattleScript_EndTurn
-gUnknown_081D93FA:: @ 81D93FA
+BattleScript_AtkDefDown:: @ 81D93FA
setbyte 0x20160dc, 0
playstatchangeanimation USER, 6, 13
playstatchangeanimation USER, 2, 9
@@ -3731,7 +3731,7 @@ BattleScript_OneHitKOMsg:: @ 81D94A9
waitmessage 64
return
-gUnknown_081D94B0:: @ 81D94B0
+BattleScript_SAtkDown2:: @ 81D94B0
setbyte 0x20160dc, 0
playstatchangeanimation USER, 16, 11
setbyte 0x201601e, 164
diff --git a/data/battle_tower.s b/data/battle_tower.s
deleted file mode 100644
index a45dcf72c..000000000
--- a/data/battle_tower.s
+++ /dev/null
@@ -1,159 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-@ 8402F00
- .include "data/battle_tower/trainers.inc"
-
-@ 8403860
- .include "data/battle_tower/held_items.inc"
-
-@ 84038E0
- .include "data/battle_tower/level_50_mons.inc"
-
-@ 8404BA0
- .include "data/battle_tower/level_100_mons.inc"
-
-gUnknown_08405E60:: @ 8405E60
- .byte 4
- .byte 7
- .byte 8
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 17
- .byte 18
- .byte 19
- .byte 20
- .byte 21
- .byte 23
- .byte 29
- .byte 32
- .byte 34
- .byte 36
- .byte 38
- .byte 39
- .byte 41
- .byte 43
- .byte 45
- .byte 46
- .byte 47
- .byte 53
- .byte 56
- .byte 64
- .byte 66
- .byte 72
- .byte 73
-
-gUnknown_08405E7E:: @ 8405E7E
- .byte 3
- .byte 6
- .byte 9
- .byte 10
- .byte 11
- .byte 12
- .byte 22
- .byte 30
- .byte 33
- .byte 35
- .byte 40
- .byte 42
- .byte 44
- .byte 48
- .byte 49
- .byte 50
- .byte 51
- .byte 65
- .byte 67
- .byte 71
-
-gUnknown_08405E92:: @ 8405E92
- .byte MAP_OBJ_GFX_HIKER
- .byte MAP_OBJ_GFX_TUBER_M
- .byte MAP_OBJ_GFX_MAN_4
- .byte MAP_OBJ_GFX_BOY_4
- .byte MAP_OBJ_GFX_MANIAC
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M
- .byte MAP_OBJ_GFX_BLACK_BELT
- .byte MAP_OBJ_GFX_MAN_6
- .byte MAP_OBJ_GFX_MAN_6
- .byte MAP_OBJ_GFX_CAMPER
- .byte MAP_OBJ_GFX_MANIAC
- .byte MAP_OBJ_GFX_PSYCHIC_M
- .byte MAP_OBJ_GFX_GENTLEMAN
- .byte MAP_OBJ_GFX_SCHOOL_KID_M
- .byte MAP_OBJ_GFX_MAN_3
- .byte MAP_OBJ_GFX_OLD_MAN_1
- .byte MAP_OBJ_GFX_YOUNGSTER
- .byte MAP_OBJ_GFX_FISHERMAN
- .byte MAP_OBJ_GFX_CYCLING_TRIATHLETE_M
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M
- .byte MAP_OBJ_GFX_MAN_4
- .byte MAP_OBJ_GFX_MAN_6
- .byte MAP_OBJ_GFX_LITTLE_BOY_1
- .byte MAP_OBJ_GFX_SAILOR
- .byte MAP_OBJ_GFX_MANIAC
- .byte MAP_OBJ_GFX_MAN_5
- .byte MAP_OBJ_GFX_CAMPER
- .byte MAP_OBJ_GFX_BUG_CATCHER
- .byte MAP_OBJ_GFX_HIKER
-
-gUnknown_08405EB0:: @ 8405EB0
- .byte MAP_OBJ_GFX_WOMAN_3
- .byte MAP_OBJ_GFX_TUBER_F
- .byte MAP_OBJ_GFX_WOMAN_7
- .byte MAP_OBJ_GFX_WOMAN_1
- .byte MAP_OBJ_GFX_WOMAN_3
- .byte MAP_OBJ_GFX_BEAUTY
- .byte MAP_OBJ_GFX_LASS
- .byte MAP_OBJ_GFX_GIRL_3
- .byte MAP_OBJ_GFX_WOMAN_2
- .byte MAP_OBJ_GFX_OLD_WOMAN_1
- .byte MAP_OBJ_GFX_CYCLING_TRIATHLETE_F
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F
- .byte MAP_OBJ_GFX_GIRL_3
- .byte MAP_OBJ_GFX_WOMAN_7
- .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F
- .byte MAP_OBJ_GFX_PICNICKER
- .byte MAP_OBJ_GFX_WOMAN_3
- .byte MAP_OBJ_GFX_PICNICKER
- .byte MAP_OBJ_GFX_LASS
-
- .align 1
-gBattleTowerBanlist:: @ 8405EC4
- .2byte SPECIES_MEW
- .2byte SPECIES_MEWTWO
- .2byte SPECIES_HO_OH
- .2byte SPECIES_LUGIA
- .2byte SPECIES_CELEBI
- .2byte SPECIES_KYOGRE
- .2byte SPECIES_GROUDON
- .2byte SPECIES_RAYQUAZA
- .2byte SPECIES_JIRACHI
- .2byte SPECIES_DEOXYS
- .2byte -1
-
- .align 1
-gUnknown_08405EDA:: @ 8405EDA
- .2byte ITEM_HP_UP
- .2byte ITEM_PROTEIN
- .2byte ITEM_IRON
- .2byte ITEM_CALCIUM
- .2byte ITEM_CARBOS
- .2byte ITEM_ZINC
-
- .align 1
-gUnknown_08405EE6:: @ 8405EE6
- .2byte ITEM_BRIGHT_POWDER
- .2byte ITEM_WHITE_HERB
- .2byte ITEM_QUICK_CLAW
- .2byte ITEM_LEFTOVERS
- .2byte ITEM_MENTAL_HERB
- .2byte ITEM_KINGS_ROCK
- .2byte ITEM_FOCUS_BAND
- .2byte ITEM_SCOPE_LENS
- .2byte ITEM_CHOICE_BAND
diff --git a/data/battle_tower/held_items.inc b/data/battle_tower/held_items.inc
deleted file mode 100644
index 6c4f0838b..000000000
--- a/data/battle_tower/held_items.inc
+++ /dev/null
@@ -1,65 +0,0 @@
- .align 1
-gBattleTowerHeldItems:: @ 8403860
- .2byte ITEM_NONE
- .2byte ITEM_KINGS_ROCK
- .2byte ITEM_SITRUS_BERRY
- .2byte ITEM_ORAN_BERRY
- .2byte ITEM_CHESTO_BERRY
- .2byte ITEM_HARD_STONE
- .2byte ITEM_FOCUS_BAND
- .2byte ITEM_PERSIM_BERRY
- .2byte ITEM_MIRACLE_SEED
- .2byte ITEM_BERRY_JUICE
- .2byte ITEM_MACHO_BRACE
- .2byte ITEM_SILVER_POWDER
- .2byte ITEM_CHERI_BERRY
- .2byte ITEM_BLACK_GLASSES
- .2byte ITEM_BLACK_BELT
- .2byte ITEM_SOUL_DEW
- .2byte ITEM_CHOICE_BAND
- .2byte ITEM_MAGNET
- .2byte ITEM_SILK_SCARF
- .2byte ITEM_WHITE_HERB
- .2byte ITEM_DEEP_SEA_SCALE
- .2byte ITEM_DEEP_SEA_TOOTH
- .2byte ITEM_MYSTIC_WATER
- .2byte ITEM_SHARP_BEAK
- .2byte ITEM_QUICK_CLAW
- .2byte ITEM_LEFTOVERS
- .2byte ITEM_RAWST_BERRY
- .2byte ITEM_LIGHT_BALL
- .2byte ITEM_POISON_BARB
- .2byte ITEM_NEVER_MELT_ICE
- .2byte ITEM_ASPEAR_BERRY
- .2byte ITEM_SPELL_TAG
- .2byte ITEM_BRIGHT_POWDER
- .2byte ITEM_LEPPA_BERRY
- .2byte ITEM_SCOPE_LENS
- .2byte ITEM_TWISTED_SPOON
- .2byte ITEM_METAL_COAT
- .2byte ITEM_MENTAL_HERB
- .2byte ITEM_CHARCOAL
- .2byte ITEM_PECHA_BERRY
- .2byte ITEM_SOFT_SAND
- .2byte ITEM_LUM_BERRY
- .2byte ITEM_DRAGON_SCALE
- .2byte ITEM_DRAGON_FANG
- .2byte ITEM_IAPAPA_BERRY
- .2byte ITEM_WIKI_BERRY
- .2byte ITEM_SEA_INCENSE
- .2byte ITEM_SHELL_BELL
- .2byte ITEM_SALAC_BERRY
- .2byte ITEM_LANSAT_BERRY
- .2byte ITEM_APICOT_BERRY
- .2byte ITEM_STARF_BERRY
- .2byte ITEM_LIECHI_BERRY
- .2byte ITEM_STICK
- .2byte ITEM_LAX_INCENSE
- .2byte ITEM_AGUAV_BERRY
- .2byte ITEM_FIGY_BERRY
- .2byte ITEM_THICK_CLUB
- .2byte ITEM_MAGO_BERRY
- .2byte ITEM_METAL_POWDER
- .2byte ITEM_PETAYA_BERRY
- .2byte ITEM_LUCKY_PUNCH
- .2byte ITEM_GANLON_BERRY
diff --git a/data/battle_tower/level_100_mons.inc b/data/battle_tower/level_100_mons.inc
deleted file mode 100644
index 9e678153e..000000000
--- a/data/battle_tower/level_100_mons.inc
+++ /dev/null
@@ -1,2701 +0,0 @@
- .align 2
-gBattleTowerLevel100Mons:: @ 8404BA0
-@ 0
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_SLASH, MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_SAND_ATTACK
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 1
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_BITE, MOVE_HOWL, MOVE_ODOR_SLEUTH, MOVE_SCARY_FACE
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 2
- .2byte SPECIES_BEAUTIFLY
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_GUST, MOVE_STUN_SPORE, MOVE_PROTECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 3
- .2byte SPECIES_DUSTOX
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_PSYBEAM, MOVE_GUST, MOVE_DOUBLE_TEAM, MOVE_SILVER_WIND
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 4
- .2byte SPECIES_LOMBRE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_ASTONISH, MOVE_GROWL, MOVE_MEGA_DRAIN, MOVE_SURF
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 5
- .2byte SPECIES_NUZLEAF
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x01 @ team flags
- .2byte MOVE_BULLET_SEED, MOVE_RAZOR_WIND, MOVE_FAINT_ATTACK, MOVE_GROWTH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 6
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x42 @ team flags
- .2byte MOVE_AERIAL_ACE, MOVE_GROWL, MOVE_ENDEAVOR, MOVE_FOCUS_ENERGY
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 7
- .2byte SPECIES_PELIPPER
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x02 @ team flags
- .2byte MOVE_SURF, MOVE_WATER_SPORT, MOVE_PROTECT, MOVE_SUPERSONIC
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 8
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x42 @ team flags
- .2byte MOVE_MACH_PUNCH, MOVE_MEGA_DRAIN, MOVE_HEADBUTT, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 9
- .2byte SPECIES_NINJASK
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_SCRATCH, MOVE_SCREECH, MOVE_LEECH_LIFE, MOVE_FLASH
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 10
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_BITE, MOVE_FLY, MOVE_SUPERSONIC, MOVE_HAZE
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 11
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x03 @ team flags
- .2byte MOVE_VICE_GRIP, MOVE_SWEET_SCENT, MOVE_ASTONISH, MOVE_STRENGTH
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 12
- .2byte SPECIES_NOSEPASS
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_ROCK_THROW, MOVE_SANDSTORM, MOVE_HARDEN, MOVE_PROTECT
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 13
- .2byte SPECIES_DELCATTY
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_DOUBLE_SLAP, MOVE_TAIL_WHIP, MOVE_ATTRACT, MOVE_CHARM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 14
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x01 @ team flags
- .2byte MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_GROWL, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 15
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_ORAN_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_POISON_GAS, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_SCREECH
- .byte F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 16
- .2byte SPECIES_SANDSLASH
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x03 @ team flags
- .2byte MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_DEFENSE_CURL, MOVE_SWIFT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 17
- .2byte SPECIES_SPINDA
- .byte BATTLE_TOWER_ITEM_SILK_SCARF
- .byte 0x42 @ team flags
- .2byte MOVE_UPROAR, MOVE_WATER_PULSE, MOVE_THRASH, MOVE_SAFEGUARD
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 18
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_TICKLE, MOVE_MUD_SPORT, MOVE_WATER_GUN, MOVE_WATER_SPORT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 19
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x01 @ team flags
- .2byte MOVE_POISON_STING, MOVE_PIN_MISSILE, MOVE_ABSORB, MOVE_COTTON_SPORE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 20
- .2byte SPECIES_JIGGLYPUFF
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x42 @ team flags
- .2byte MOVE_SING, MOVE_ROLLOUT, MOVE_POUND, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 21
- .2byte SPECIES_MARILL
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x42 @ team flags
- .2byte MOVE_BUBBLE_BEAM, MOVE_DEFENSE_CURL, MOVE_RAIN_DANCE, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 22
- .2byte SPECIES_MAGNETON
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_THUNDER_SHOCK, MOVE_SUPERSONIC, MOVE_FLASH, MOVE_SCREECH
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 23
- .2byte SPECIES_CARVANHA
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x01 @ team flags
- .2byte MOVE_BITE, MOVE_RAGE, MOVE_SCARY_FACE, MOVE_LEER
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 24
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_THIEF, MOVE_LICK, MOVE_BIND, MOVE_FURY_SWIPES
- .byte F_EV_SPREAD_DEFENSE
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 25
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x02 @ team flags
- .2byte MOVE_EMBER, MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_SAFEGUARD
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 26
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_SHOCK_WAVE, MOVE_GROWL, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_DEFENSE
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 27
- .2byte SPECIES_SEALEO
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x01 @ team flags
- .2byte MOVE_ICE_BALL, MOVE_WATER_GUN, MOVE_ENCORE, MOVE_HAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 28
- .2byte SPECIES_GRAVELER
- .byte BATTLE_TOWER_ITEM_HARD_STONE
- .byte 0x01 @ team flags
- .2byte MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_SANDSTORM, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 29
- .2byte SPECIES_SHUPPET
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x03 @ team flags
- .2byte MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SCREECH, MOVE_KNOCK_OFF
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 30
- .2byte SPECIES_LUVDISC
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_ATTRACT, MOVE_FLAIL, MOVE_SWEET_KISS, MOVE_WATER_PULSE
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 31
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_WATER_GUN, MOVE_SPARK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 32
- .2byte SPECIES_CORSOLA
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_MIRROR_COAT, MOVE_BUBBLE, MOVE_HARDEN, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 33
- .2byte SPECIES_WAILMER
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_SURF, MOVE_ROAR, MOVE_GROWL, MOVE_MIST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 34
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_TAKE_DOWN, MOVE_SCARY_FACE, MOVE_TAIL_WHIP, MOVE_ROAR
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 35
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x05 @ team flags
- .2byte MOVE_FURY_ATTACK, MOVE_PURSUIT, MOVE_AERIAL_ACE, MOVE_AGILITY
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 36
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x05 @ team flags
- .2byte MOVE_FURY_SWIPES, MOVE_TAIL_WHIP, MOVE_DISABLE, MOVE_PSYCH_UP
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 37
- .2byte SPECIES_BELLOSSOM
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x0A @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_ACID
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 38
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_STOMP, MOVE_RAZOR_LEAF, MOVE_GUST, MOVE_SYNTHESIS
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 39
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x0A @ team flags
- .2byte MOVE_NIGHT_SHADE, MOVE_FAKE_OUT, MOVE_PSYCH_UP, MOVE_DETECT
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 40
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x03 @ team flags
- .2byte MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_SPARK, MOVE_SELF_DESTRUCT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 41
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x01 @ team flags
- .2byte MOVE_ACID, MOVE_WATER_PULSE, MOVE_BARRIER, MOVE_WRAP
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 42
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x05 @ team flags
- .2byte MOVE_ANCIENT_POWER, MOVE_MUD_SLAP, MOVE_RAPID_SPIN, MOVE_CONFUSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 43
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_PSYBEAM, MOVE_PSYCH_UP, MOVE_BOUNCE, MOVE_MAGIC_COAT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 44
- .2byte SPECIES_CRAWDAUNT
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0x05 @ team flags
- .2byte MOVE_CRABHAMMER, MOVE_BUBBLE_BEAM, MOVE_BRICK_BREAK, MOVE_PROTECT
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 45
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x01 @ team flags
- .2byte MOVE_POISON_TAIL, MOVE_GLARE, MOVE_WRAP, MOVE_THIEF
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 46
- .2byte SPECIES_ZANGOOSE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_FURY_CUTTER, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_DETECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 47
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x03 @ team flags
- .2byte MOVE_DRAGON_BREATH, MOVE_SING, MOVE_SAFEGUARD, MOVE_TAKE_DOWN
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 48
- .2byte SPECIES_ROSELIA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GROWTH, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 49
- .2byte SPECIES_VOLBEAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x09 @ team flags
- .2byte MOVE_SIGNAL_BEAM, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 50
- .2byte SPECIES_ILLUMISE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_CHARM, MOVE_ENCORE, MOVE_SOLAR_BEAM, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 51
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x03 @ team flags
- .2byte MOVE_BITE, MOVE_HOWL, MOVE_THUNDER_WAVE, MOVE_SPARK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 52
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_CRUNCH, MOVE_IRON_DEFENSE, MOVE_TORMENT, MOVE_SANDSTORM
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 53
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_ARM_THRUST, MOVE_FAKE_OUT, MOVE_WHIRLWIND, MOVE_REVERSAL
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 54
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x01 @ team flags
- .2byte MOVE_STEEL_WING, MOVE_AGILITY, MOVE_TAUNT, MOVE_FLY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 55
- .2byte SPECIES_TORKOAL
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_FIRE_SPIN, MOVE_SMOKESCREEN, MOVE_BODY_SLAM, MOVE_AMNESIA
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 56
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_THRASH, MOVE_DRAGON_RAGE, MOVE_TWISTER, MOVE_HYDRO_PUMP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 57
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_CRUNCH, MOVE_HOWL, MOVE_IRON_TAIL, MOVE_TORMENT
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 58
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_SLASH, MOVE_ATTRACT, MOVE_SHOCK_WAVE, MOVE_TOXIC
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 59
- .2byte SPECIES_MASQUERAIN
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_TOXIC, MOVE_STUN_SPORE, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 60
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_BULLET_SEED, MOVE_SLAM, MOVE_SCREECH, MOVE_DETECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 61
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x06 @ team flags
- .2byte MOVE_DOUBLE_KICK, MOVE_FLAMETHROWER, MOVE_DOUBLE_TEAM, MOVE_ROAR
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 62
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x49 @ team flags
- .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_MUD_SPORT, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 63
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x49 @ team flags
- .2byte MOVE_DRAGON_BREATH, MOVE_FLY, MOVE_TOXIC, MOVE_FACADE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 64
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x49 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_SMOKESCREEN, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 65
- .2byte SPECIES_CORSOLA
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_ANCIENT_POWER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_REFLECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 66
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x41 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROAR, MOVE_THUNDERBOLT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 67
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x06 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_COUNTER, MOVE_PROTECT, MOVE_LEER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 68
- .2byte SPECIES_GIRAFARIG
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_CRUNCH, MOVE_BATON_PASS, MOVE_AGILITY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 69
- .2byte SPECIES_XATU
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_FLY, MOVE_CONFUSE_RAY, MOVE_TOXIC
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 70
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x03 @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_PURSUIT, MOVE_TORMENT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 71
- .2byte SPECIES_VILEPLUME
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x89 @ team flags
- .2byte MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER, MOVE_PETAL_DANCE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 72
- .2byte SPECIES_MEDICHAM
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x06 @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_BULK_UP, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 73
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM, MOVE_ATTRACT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 74
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x4B @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_DISABLE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 75
- .2byte SPECIES_SHUPPET
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x43 @ team flags
- .2byte MOVE_GRUDGE, MOVE_SHADOW_BALL, MOVE_CURSE, MOVE_KNOCK_OFF
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 76
- .2byte SPECIES_CASTFORM
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x82 @ team flags
- .2byte MOVE_WEATHER_BALL, MOVE_HAIL, MOVE_SUNNY_DAY, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 77
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x02 @ team flags
- .2byte MOVE_SURF, MOVE_REFRESH, MOVE_RECOVER, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 78
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_CRUNCH, MOVE_FOCUS_ENERGY, MOVE_SCARY_FACE, MOVE_SCREECH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 79
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SAND_ATTACK, MOVE_DRAGON_BREATH, MOVE_SAND_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 80
- .2byte SPECIES_TRAPINCH
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_TOXIC, MOVE_SAND_TOMB, MOVE_CRUNCH, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 81
- .2byte SPECIES_LUNATONE
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x43 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_ROCK_THROW, MOVE_HYPNOSIS, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 82
- .2byte SPECIES_SOLROCK
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_COSMIC_POWER, MOVE_CALM_MIND
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 83
- .2byte SPECIES_BALTOY
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_REFLECT, MOVE_SELF_DESTRUCT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 84
- .2byte SPECIES_CRAWDAUNT
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x06 @ team flags
- .2byte MOVE_CRABHAMMER, MOVE_SURF, MOVE_PROTECT, MOVE_BRICK_BREAK
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 85
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_TICKLE, MOVE_AMNESIA, MOVE_SURF
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 86
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_POISON_TAIL, MOVE_CRUNCH, MOVE_GIGA_DRAIN, MOVE_HAZE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 87
- .2byte SPECIES_MAGCARGO
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x89 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_LIGHT_SCREEN, MOVE_AMNESIA, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 88
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x09 @ team flags
- .2byte MOVE_KARATE_CHOP, MOVE_SEISMIC_TOSS, MOVE_BRICK_BREAK, MOVE_LOW_KICK
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 89
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x86 @ team flags
- .2byte MOVE_YAWN, MOVE_WATER_PULSE, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 90
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0C @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_GIGA_DRAIN, MOVE_FURY_CUTTER, MOVE_DETECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 91
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x0C @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 92
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x4C @ team flags
- .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_MUD_SLAP, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 93
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x04 @ team flags
- .2byte MOVE_CRUNCH, MOVE_HOWL, MOVE_SWAGGER, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 94
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x04 @ team flags
- .2byte MOVE_SLASH, MOVE_REST, MOVE_BELLY_DRUM, MOVE_THUNDERBOLT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 95
- .2byte SPECIES_BEAUTIFLY
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x08 @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_ATTRACT, MOVE_MORNING_SUN, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 96
- .2byte SPECIES_DUSTOX
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x08 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_SILVER_WIND, MOVE_MOONLIGHT, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 97
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x0C @ team flags
- .2byte MOVE_FAKE_OUT, MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_UPROAR
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 98
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0C @ team flags
- .2byte MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_TORMENT, MOVE_SWAGGER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 99
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x88 @ team flags
- .2byte MOVE_FLY, MOVE_ENDEAVOR, MOVE_AERIAL_ACE, MOVE_TOXIC
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 100
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x4A @ team flags
- .2byte MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_PSYCHIC, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 101
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x0C @ team flags
- .2byte MOVE_DYNAMIC_PUNCH, MOVE_MIND_READER, MOVE_SNATCH, MOVE_MEGA_DRAIN
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 102
- .2byte SPECIES_VIGOROTH
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x04 @ team flags
- .2byte MOVE_SLASH, MOVE_UPROAR, MOVE_ENCORE, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 103
- .2byte SPECIES_NINJASK
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x04 @ team flags
- .2byte MOVE_FURY_CUTTER, MOVE_GIGA_DRAIN, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 104
- .2byte SPECIES_SHEDINJA
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0xCA @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_GRUDGE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 105
- .2byte SPECIES_LOUDRED
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x04 @ team flags
- .2byte MOVE_HYPER_VOICE, MOVE_HOWL, MOVE_SHADOW_BALL, MOVE_TORMENT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 106
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x04 @ team flags
- .2byte MOVE_ARM_THRUST, MOVE_BULK_UP, MOVE_BRICK_BREAK, MOVE_HIDDEN_POWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 107
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x88 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_FUTURE_SIGHT, MOVE_DISABLE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 108
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x88 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_MEAN_LOOK, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 109
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x04 @ team flags
- .2byte MOVE_CRUNCH, MOVE_IRON_DEFENSE, MOVE_FAKE_TEARS, MOVE_POISON_FANG
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 110
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x45 @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_FLAMETHROWER, MOVE_METAL_SOUND, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 111
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0xC5 @ team flags
- .2byte MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, MOVE_SELF_DESTRUCT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 112
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x04 @ team flags
- .2byte MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_CHARGE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 113
- .2byte SPECIES_VOLBEAT
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x08 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_SIGNAL_BEAM, MOVE_MOONLIGHT, MOVE_TAIL_GLOW
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 114
- .2byte SPECIES_ILLUMISE
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x08 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_FLATTER, MOVE_WISH, MOVE_ENCORE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 115
- .2byte SPECIES_MASQUERAIN
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x88 @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_SILVER_WIND, MOVE_STUN_SPORE, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 116
- .2byte SPECIES_ROSELIA
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x08 @ team flags
- .2byte MOVE_PETAL_DANCE, MOVE_GROWTH, MOVE_SYNTHESIS, MOVE_GRASS_WHISTLE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 117
- .2byte SPECIES_DELCATTY
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x08 @ team flags
- .2byte MOVE_SING, MOVE_ATTRACT, MOVE_DOUBLE_SLAP, MOVE_HEAL_BELL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 118
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x88 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_ATTRACT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 119
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x8C @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_DRAGON_RAGE, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 120
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x42 @ team flags
- .2byte MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_YAWN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 121
- .2byte SPECIES_MAGCARGO
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_BODY_SLAM, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 122
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0xC3 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_ACID_ARMOR, MOVE_DISABLE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 123
- .2byte SPECIES_SPINDA
- .byte BATTLE_TOWER_ITEM_SILK_SCARF
- .byte 0x42 @ team flags
- .2byte MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE, MOVE_PSYCH_UP, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 124
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x03 @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_REFRESH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 125
- .2byte SPECIES_ZANGOOSE
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_CRUSH_CLAW, MOVE_TAUNT, MOVE_SWORDS_DANCE, MOVE_DETECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 126
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_SWAGGER, MOVE_TAUNT, MOVE_GLARE, MOVE_POISON_TAIL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 127
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_TOXIC, MOVE_BOUNCE, MOVE_CONFUSE_RAY, MOVE_ATTRACT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 128
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x41 @ team flags
- .2byte MOVE_NEEDLE_ARM, MOVE_INGRAIN, MOVE_SPIKES, MOVE_COTTON_SPORE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 129
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SANDSTORM, MOVE_COSMIC_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 130
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0xC1 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_HYDRO_PUMP, MOVE_BARRIER, MOVE_SUPERSONIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 131
- .2byte SPECIES_WIGGLYTUFF
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_SING, MOVE_FOCUS_PUNCH, MOVE_DISABLE, MOVE_FACADE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 132
- .2byte SPECIES_AZUMARILL
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0xC2 @ team flags
- .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_DEFENSE_CURL, MOVE_ROLLOUT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 133
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_MIRROR_COAT, MOVE_LIGHT_SCREEN, MOVE_SELF_DESTRUCT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 134
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x42 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_ATTRACT, MOVE_RECOVER, MOVE_REFRESH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 135
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_SKILL_SWAP, MOVE_ANCIENT_POWER, MOVE_WATER_PULSE, MOVE_THUNDERBOLT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 136
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x43 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_REST, MOVE_MEAN_LOOK
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 137
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 138
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0xC2 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 139
- .2byte SPECIES_PIKACHU
- .byte BATTLE_TOWER_ITEM_LIGHT_BALL
- .byte 0xC2 @ team flags
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_ATTRACT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 140
- .2byte SPECIES_VILEPLUME
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_MOONLIGHT, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 141
- .2byte SPECIES_DONPHAN
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_IRON_TAIL, MOVE_FISSURE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 142
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 143
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x43 @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_ENCORE, MOVE_HAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 144
- .2byte SPECIES_RELICANTH
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x41 @ team flags
- .2byte MOVE_YAWN, MOVE_MUD_SPORT, MOVE_DOUBLE_EDGE, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 145
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x43 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_ICE_BEAM, MOVE_HYDRO_PUMP, MOVE_AGILITY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 146
- .2byte SPECIES_CRADILY
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x43 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_INGRAIN, MOVE_ANCIENT_POWER, MOVE_GIGA_DRAIN
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 147
- .2byte SPECIES_ARMALDO
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_SLASH, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_WATER_PULSE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 148
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x41 @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_AGILITY
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 149
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_FLAMETHROWER, MOVE_AERIAL_ACE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 150
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_CRUNCH, MOVE_YAWN, MOVE_FACADE, MOVE_HOWL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 151
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_FACADE, MOVE_ATTRACT, MOVE_TRICK
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 152
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_FAKE_OUT, MOVE_SYNTHESIS
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 153
- .2byte SPECIES_EXPLOUD
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_UPROAR, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 154
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_LANSAT_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_FACADE, MOVE_SUPERSONIC, MOVE_WING_ATTACK, MOVE_ENDEAVOR
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 155
- .2byte SPECIES_PELIPPER
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x82 @ team flags
- .2byte MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 156
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x01 @ team flags
- .2byte MOVE_DYNAMIC_PUNCH, MOVE_COUNTER, MOVE_BULK_UP, MOVE_MIND_READER
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 157
- .2byte SPECIES_SHEDINJA
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_RETURN, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 158
- .2byte SPECIES_EXPLOUD
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_FLAMETHROWER, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 159
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x01 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_FACADE, MOVE_FAKE_OUT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 160
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_ENCORE, MOVE_DISABLE, MOVE_RECOVER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 161
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x81 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER, MOVE_TORMENT, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 162
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x83 @ team flags
- .2byte MOVE_TOXIC, MOVE_DETECT, MOVE_RECOVER, MOVE_TORMENT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 163
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_CRUNCH, MOVE_SWORDS_DANCE, MOVE_IRON_DEFENSE, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 164
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_IRON_DEFENSE, MOVE_ROAR, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 165
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FLAMETHROWER, MOVE_FACADE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 166
- .2byte SPECIES_NOSEPASS
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x81 @ team flags
- .2byte MOVE_THUNDER_WAVE, MOVE_ROCK_SLIDE, MOVE_TORMENT, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 167
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_THUNDER, MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 168
- .2byte SPECIES_ROSELIA
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x82 @ team flags
- .2byte MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_GROWTH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 169
- .2byte SPECIES_DELCATTY
- .byte BATTLE_TOWER_ITEM_STARF_BERRY
- .byte 0x02 @ team flags
- .2byte MOVE_ASSIST, MOVE_SING, MOVE_ATTRACT, MOVE_SUBSTITUTE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 170
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0xC2 @ team flags
- .2byte MOVE_RAZOR_LEAF, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_SYNTHESIS
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 171
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_YAWN, MOVE_SLUDGE_BOMB, MOVE_ATTRACT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 172
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x01 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_BULK_UP, MOVE_LOW_KICK, MOVE_BRICK_BREAK
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 173
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x40 @ team flags
- .2byte MOVE_ERUPTION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_OVERHEAT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 174
- .2byte SPECIES_MAGCARGO
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x03 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_REFLECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 175
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x81 @ team flags
- .2byte MOVE_WILL_O_WISP, MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 176
- .2byte SPECIES_SPINDA
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x82 @ team flags
- .2byte MOVE_TRICK, MOVE_TEETER_DANCE, MOVE_FOCUS_PUNCH, MOVE_FACADE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 177
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_TORMENT, MOVE_PROTECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 178
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x02 @ team flags
- .2byte MOVE_SING, MOVE_DRAGON_CLAW, MOVE_ICE_BEAM, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 179
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x82 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_CALM_MIND, MOVE_REST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 180
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x20 @ team flags
- .2byte MOVE_SWAGGER, MOVE_FRUSTRATION, MOVE_ATTRACT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 181
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_COSMIC_POWER, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 182
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x33 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_BELLY_DRUM, MOVE_REST
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 183
- .2byte SPECIES_NOSEPASS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_EARTHQUAKE, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 184
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x33 @ team flags
- .2byte MOVE_SHADOW_PUNCH, MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 185
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_HORN_DRILL, MOVE_AGILITY, MOVE_SLEEP_TALK, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 186
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x73 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_ROCK_SLIDE, MOVE_FISSURE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 187
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x13 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_SURF, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 188
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x33 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 189
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_SPARK, MOVE_FISSURE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 190
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x51 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 191
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x12 @ team flags
- .2byte MOVE_TRICK, MOVE_FOCUS_PUNCH, MOVE_ATTRACT, MOVE_SNATCH
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 192
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x11 @ team flags
- .2byte MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_SWAGGER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 193
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x12 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_SWORDS_DANCE, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 194
- .2byte SPECIES_WAILORD
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x72 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_FISSURE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 195
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x20 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_BARRIER, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 196
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x32 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_RECOVER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 197
- .2byte SPECIES_WOBBUFFET
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x20 @ team flags
- .2byte MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 198
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x71 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_HORN_DRILL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 199
- .2byte SPECIES_GLALIE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x31 @ team flags
- .2byte MOVE_CRUNCH, MOVE_BLIZZARD, MOVE_HAIL, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 200
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x8C @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 201
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x8C @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_COUNTER, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 202
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x8C @ team flags
- .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_MIRROR_COAT, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 203
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 204
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x15 @ team flags
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_MACH_PUNCH, MOVE_ATTRACT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 205
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x58 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_RECOVER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 206
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x15 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FAKE_OUT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 207
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x55 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 208
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x58 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 209
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x5D @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 210
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 211
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x60 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 212
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x64 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 213
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x1C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 214
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x5C @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 215
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x4A @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_FIRE_SPIN, MOVE_HEAT_WAVE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 216
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x5A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_REVERSAL, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 217
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x55 @ team flags
- .2byte MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_DIG
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 218
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x5D @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 219
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x26 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 220
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x5B @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 221
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x0D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_FIRE_BLAST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 222
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x3D @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 223
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x3C @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 224
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x3C @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 225
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x3C @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 226
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x0E @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 227
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x0D @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 228
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1A @ team flags
- .2byte MOVE_SURF, MOVE_TOXIC, MOVE_RECOVER, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 229
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x15 @ team flags
- .2byte MOVE_YAWN, MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SLACK_OFF
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 230
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x8C @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 231
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x8C @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 232
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x8C @ team flags
- .2byte MOVE_MUDDY_WATER, MOVE_MUD_SHOT, MOVE_MIRROR_COAT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 233
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_HYPNOSIS, MOVE_DREAM_EATER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 234
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_SPORE, MOVE_COUNTER, MOVE_SKY_UPPERCUT, MOVE_GIGA_DRAIN
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 235
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x58 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_RECOVER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 236
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x04 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 237
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x44 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 238
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x48 @ team flags
- .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_FLY
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 239
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x5D @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_EARTHQUAKE, MOVE_FACADE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 240
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 241
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x60 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_LIGHT_SCREEN, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 242
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x64 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_FLAMETHROWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 243
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x1C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_CRUNCH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 244
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x5C @ team flags
- .2byte MOVE_BLIZZARD, MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_RECOVER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 245
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x5A @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_AGILITY, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 246
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x4A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 247
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x45 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 248
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x5D @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 249
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x26 @ team flags
- .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_ROCK_SLIDE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 250
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x5C @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 251
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x1D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 252
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x3D @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 253
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x3C @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_FOCUS_PUNCH, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 254
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x3C @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_HAIL, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 255
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x3C @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 256
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x1E @ team flags
- .2byte MOVE_MIST_BALL, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 257
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x1D @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 258
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 259
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x15 @ team flags
- .2byte MOVE_YAWN, MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_PURSUIT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 260
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x8C @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 261
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x8C @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SWAGGER, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 262
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x8C @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_ATTRACT, MOVE_REST
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 263
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x0A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ATTRACT, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 264
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_MACH_PUNCH, MOVE_COUNTER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 265
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x58 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_TRICK, MOVE_RECOVER, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 266
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_REVENGE, MOVE_COUNTER, MOVE_FOCUS_PUNCH, MOVE_REVERSAL
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 267
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x0A @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_DIVE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 268
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x48 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_SNATCH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 269
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x5D @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_FIRE_BLAST, MOVE_LOW_KICK, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 270
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x08 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 271
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x60 @ team flags
- .2byte MOVE_THUNDER, MOVE_SWIFT, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 272
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x64 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_PUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 273
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x0C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 274
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x4C @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 275
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x4A @ team flags
- .2byte MOVE_LEECH_SEED, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 276
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x4B @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_ATTRACT, MOVE_PURSUIT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 277
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x49 @ team flags
- .2byte MOVE_SURF, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_CROSS_CHOP
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 278
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x5D @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 279
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x26 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_FISSURE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 280
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x5C @ team flags
- .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_HYPER_BEAM, MOVE_FLAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 281
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x1D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_HYDRO_PUMP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 282
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x3D @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 283
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x3C @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_SUPERPOWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 284
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x3C @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_ANCIENT_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 285
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x3C @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_THUNDERBOLT, MOVE_HYPER_BEAM, MOVE_EXPLOSION
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 286
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x1E @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 287
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x1D @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 288
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 289
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_ICE_BEAM, MOVE_SING, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 290
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x9C @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_DETECT, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 291
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x9C @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_SKY_UPPERCUT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 292
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x9C @ team flags
- .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 293
- .2byte SPECIES_SHEDINJA
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x20 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_GRUDGE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 294
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1D @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 295
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x58 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 296
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1E @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 297
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x1D @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 298
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x1D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 299
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x5D @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_LOW_KICK, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
diff --git a/data/battle_tower/level_50_mons.inc b/data/battle_tower/level_50_mons.inc
deleted file mode 100644
index 3dfc269a8..000000000
--- a/data/battle_tower/level_50_mons.inc
+++ /dev/null
@@ -1,2701 +0,0 @@
- .align 2
-gBattleTowerLevel50Mons:: @ 84038E0
-@ 0
- .2byte SPECIES_PIKACHU
- .byte BATTLE_TOWER_ITEM_ORAN_BERRY
- .byte 0x42 @ team flags
- .2byte MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_THUNDER_SHOCK, MOVE_GROWL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 1
- .2byte SPECIES_BEAUTIFLY
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x41 @ team flags
- .2byte MOVE_ABSORB, MOVE_STUN_SPORE, MOVE_GUST, MOVE_SAFEGUARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 2
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x07 @ team flags
- .2byte MOVE_PECK, MOVE_WING_ATTACK, MOVE_AERIAL_ACE, MOVE_AGILITY
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 3
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x0B @ team flags
- .2byte MOVE_HAIL, MOVE_ENCORE, MOVE_ICE_BALL, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 4
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x07 @ team flags
- .2byte MOVE_PECK, MOVE_FLAIL, MOVE_FURY_ATTACK, MOVE_SURF
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 5
- .2byte SPECIES_TORCHIC
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x42 @ team flags
- .2byte MOVE_FIRE_SPIN, MOVE_PROTECT, MOVE_SAND_ATTACK, MOVE_SLASH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 6
- .2byte SPECIES_MASQUERAIN
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x41 @ team flags
- .2byte MOVE_STUN_SPORE, MOVE_WATER_SPORT, MOVE_QUICK_ATTACK, MOVE_GUST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 7
- .2byte SPECIES_ILLUMISE
- .byte BATTLE_TOWER_ITEM_NONE
- .byte 0x41 @ team flags
- .2byte MOVE_FLATTER, MOVE_COVET, MOVE_WISH, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 8
- .2byte SPECIES_DELCATTY
- .byte BATTLE_TOWER_ITEM_SILK_SCARF
- .byte 0x42 @ team flags
- .2byte MOVE_ATTRACT, MOVE_TAIL_WHIP, MOVE_FAINT_ATTACK, MOVE_DIG
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 9
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_TAIL_WHIP, MOVE_SLASH, MOVE_LICK, MOVE_SCREECH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 10
- .2byte SPECIES_MIGHTYENA
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_BITE, MOVE_TAKE_DOWN, MOVE_ROAR, MOVE_HOWL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 11
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x05 @ team flags
- .2byte MOVE_FAINT_ATTACK, MOVE_COUNTER, MOVE_SCRATCH, MOVE_TAUNT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 12
- .2byte SPECIES_MACHOKE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_LEER, MOVE_DIG, MOVE_LOW_KICK, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 13
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_STRENGTH, MOVE_ROCK_TOMB, MOVE_STOMP, MOVE_ROCK_SMASH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 14
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x0B @ team flags
- .2byte MOVE_POISON_STING, MOVE_GROWTH, MOVE_ABSORB, MOVE_SOLAR_BEAM
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 15
- .2byte SPECIES_ZIGZAGOON
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x0A @ team flags
- .2byte MOVE_FLAIL, MOVE_SAND_ATTACK, MOVE_REST, MOVE_SURF
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 16
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x03 @ team flags
- .2byte MOVE_PURSUIT, MOVE_TRI_ATTACK, MOVE_GROWL, MOVE_AGILITY
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 17
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x0B @ team flags
- .2byte MOVE_WATER_GUN, MOVE_AMNESIA, MOVE_MAGNITUDE, MOVE_MUD_SLAP
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 18
- .2byte SPECIES_NINJASK
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x41 @ team flags
- .2byte MOVE_SAND_ATTACK, MOVE_FURY_CUTTER, MOVE_AGILITY, MOVE_HARDEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 19
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x01 @ team flags
- .2byte MOVE_PROTECT, MOVE_NIGHT_SHADE, MOVE_ASTONISH, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 20
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x07 @ team flags
- .2byte MOVE_DIG, MOVE_EMBER, MOVE_GROWL, MOVE_ROCK_SMASH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 21
- .2byte SPECIES_SPINDA
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x4A @ team flags
- .2byte MOVE_TEETER_DANCE, MOVE_FLAIL, MOVE_PSYCH_UP, MOVE_DOUBLE_EDGE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 22
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x09 @ team flags
- .2byte MOVE_SCREECH, MOVE_GLARE, MOVE_DIG, MOVE_POISON_FANG
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 23
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x49 @ team flags
- .2byte MOVE_SAND_ATTACK, MOVE_SAND_TOMB, MOVE_FACADE, MOVE_TOXIC
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 24
- .2byte SPECIES_AZUMARILL
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x42 @ team flags
- .2byte MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_RAIN_DANCE, MOVE_ROLLOUT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 25
- .2byte SPECIES_ZANGOOSE
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0x07 @ team flags
- .2byte MOVE_STRENGTH, MOVE_TAUNT, MOVE_CRUSH_CLAW, MOVE_DETECT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 26
- .2byte SPECIES_MEDICHAM
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x07 @ team flags
- .2byte MOVE_REVERSAL, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 27
- .2byte SPECIES_ROSELIA
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x0A @ team flags
- .2byte MOVE_GROWTH, MOVE_MEGA_DRAIN, MOVE_TOXIC, MOVE_CUT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 28
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_STOCKPILE, MOVE_SPIT_UP, MOVE_SLUDGE, MOVE_POISON_GAS
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 29
- .2byte SPECIES_MAGNETON
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x0B @ team flags
- .2byte MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SCREECH, MOVE_TRI_ATTACK
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 30
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x09 @ team flags
- .2byte MOVE_CONFUSION, MOVE_TOXIC, MOVE_TORMENT, MOVE_PROTECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 31
- .2byte SPECIES_RELICANTH
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x01 @ team flags
- .2byte MOVE_SURF, MOVE_ANCIENT_POWER, MOVE_ROCK_TOMB, MOVE_HARDEN
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 32
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 33
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x05 @ team flags
- .2byte MOVE_BITE, MOVE_SKULL_BASH, MOVE_RAIN_DANCE, MOVE_SURF
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 34
- .2byte SPECIES_GIRAFARIG
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x03 @ team flags
- .2byte MOVE_STRENGTH, MOVE_PSYBEAM, MOVE_AGILITY, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 35
- .2byte SPECIES_PELIPPER
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_MIST, MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP
- .byte F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 36
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_NIGHT_SHADE, MOVE_SNATCH, MOVE_FAKE_OUT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 37
- .2byte SPECIES_LUNATONE
- .byte BATTLE_TOWER_ITEM_HARD_STONE
- .byte 0x0B @ team flags
- .2byte MOVE_COSMIC_POWER, MOVE_SANDSTORM, MOVE_PSYCHIC, MOVE_ROCK_THROW
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 38
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_NONE
- .byte 0x0B @ team flags
- .2byte MOVE_THIEF, MOVE_FAKE_OUT, MOVE_SURF, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 39
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_ODOR_SLEUTH, MOVE_CONFUSE_RAY, MOVE_MAGIC_COAT, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 40
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x0B @ team flags
- .2byte MOVE_CUT, MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 41
- .2byte SPECIES_WAILORD
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x03 @ team flags
- .2byte MOVE_WATER_SPOUT, MOVE_ROLLOUT, MOVE_MIST, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 42
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x05 @ team flags
- .2byte MOVE_SMOG, MOVE_SELF_DESTRUCT, MOVE_TOXIC, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 43
- .2byte SPECIES_KADABRA
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_FUTURE_SIGHT, MOVE_FOCUS_PUNCH, MOVE_SKILL_SWAP, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 44
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x07 @ team flags
- .2byte MOVE_THUNDER_WAVE, MOVE_BITE, MOVE_SPARK, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SP_ATTACK
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 45
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 46
- .2byte SPECIES_XATU
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x03 @ team flags
- .2byte MOVE_NIGHT_SHADE, MOVE_PECK, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 47
- .2byte SPECIES_LOUDRED
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_UPROAR, MOVE_STOMP, MOVE_SCREECH, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 48
- .2byte SPECIES_SOLROCK
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x03 @ team flags
- .2byte MOVE_ROCK_THROW, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 49
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x03 @ team flags
- .2byte MOVE_SANDSTORM, MOVE_REFLECT, MOVE_ROCK_TOMB, MOVE_STRENGTH
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 50
- .2byte SPECIES_CRAWDAUNT
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x03 @ team flags
- .2byte MOVE_WATER_PULSE, MOVE_KNOCK_OFF, MOVE_HARDEN, MOVE_CUT
- .byte F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 51
- .2byte SPECIES_GOLBAT
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x09 @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_WING_ATTACK, MOVE_MEAN_LOOK, MOVE_BITE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 52
- .2byte SPECIES_BELLOSSOM
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x0A @ team flags
- .2byte MOVE_SOLAR_BEAM, MOVE_PETAL_DANCE, MOVE_SWEET_SCENT, MOVE_BULLET_SEED
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 53
- .2byte SPECIES_DONPHAN
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_ROCK_SMASH, MOVE_RAPID_SPIN, MOVE_FLAIL, MOVE_HORN_ATTACK
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 54
- .2byte SPECIES_NOSEPASS
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_SANDSTORM, MOVE_ROCK_SLIDE, MOVE_BLOCK, MOVE_THUNDER_WAVE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 55
- .2byte SPECIES_PINSIR
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_SWORDS_DANCE, MOVE_HARDEN, MOVE_CUT, MOVE_SEISMIC_TOSS
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 56
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x0B @ team flags
- .2byte MOVE_DISABLE, MOVE_PSYCH_UP, MOVE_WATER_PULSE, MOVE_BRICK_BREAK
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 57
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0x07 @ team flags
- .2byte MOVE_TORMENT, MOVE_EXTRASENSORY, MOVE_SOLAR_BEAM, MOVE_AERIAL_ACE
- .byte F_EV_SPREAD_DEFENSE
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 58
- .2byte SPECIES_DUSTOX
- .byte BATTLE_TOWER_ITEM_SILVER_POWDER
- .byte 0x01 @ team flags
- .2byte MOVE_CONFUSION, MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_WHIRLWIND
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 59
- .2byte SPECIES_SHUPPET
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x03 @ team flags
- .2byte MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK, MOVE_CURSE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 60
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x07 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_HORN_ATTACK, MOVE_HORN_DRILL
- .byte F_EV_SPREAD_SP_DEFENSE
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 61
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x07 @ team flags
- .2byte MOVE_STEEL_WING, MOVE_SAND_ATTACK, MOVE_SWIFT, MOVE_AGILITY
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 62
- .2byte SPECIES_TORKOAL
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x43 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_IRON_DEFENSE, MOVE_BODY_SLAM, MOVE_PROTECT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 63
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x05 @ team flags
- .2byte MOVE_MAGNITUDE, MOVE_EXPLOSION, MOVE_STRENGTH, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 64
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x41 @ team flags
- .2byte MOVE_REFLECT, MOVE_PSYCHIC, MOVE_IMPRISON, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 65
- .2byte SPECIES_SANDSLASH
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x07 @ team flags
- .2byte MOVE_SANDSTORM, MOVE_SLASH, MOVE_EARTHQUAKE, MOVE_SWIFT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 66
- .2byte SPECIES_WOBBUFFET
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 67
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_CONSTRICT, MOVE_SURF, MOVE_HYPER_BEAM, MOVE_SCREECH
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 68
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x05 @ team flags
- .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS, MOVE_RAZOR_LEAF
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 69
- .2byte SPECIES_MAWILE
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x43 @ team flags
- .2byte MOVE_IRON_DEFENSE, MOVE_SLUDGE_BOMB, MOVE_CRUNCH, MOVE_STRENGTH
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 70
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_SLUDGE, MOVE_ACID_ARMOR, MOVE_GIGA_DRAIN, MOVE_DISABLE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 71
- .2byte SPECIES_MAGCARGO
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x0D @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_ROCK_THROW, MOVE_HARDEN, MOVE_AMNESIA
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 72
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x07 @ team flags
- .2byte MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF, MOVE_DIG
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 73
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SWIFT, MOVE_ROLLOUT
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 74
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x09 @ team flags
- .2byte MOVE_MEAN_LOOK, MOVE_NIGHT_SHADE, MOVE_SKILL_SWAP, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 75
- .2byte SPECIES_VILEPLUME
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x0A @ team flags
- .2byte MOVE_TOXIC, MOVE_MOONLIGHT, MOVE_GIGA_DRAIN, MOVE_STUN_SPORE
- .byte F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 76
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_BITE, MOVE_HAZE, MOVE_WING_ATTACK, MOVE_STEEL_WING
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 77
- .2byte SPECIES_CORSOLA
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x0A @ team flags
- .2byte MOVE_RECOVER, MOVE_MIRROR_COAT, MOVE_HAIL, MOVE_SURF
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 78
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x0B @ team flags
- .2byte MOVE_RAPID_SPIN, MOVE_WATER_PULSE, MOVE_REFLECT, MOVE_SKILL_SWAP
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 79
- .2byte SPECIES_EXPLOUD
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x41 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_HOWL, MOVE_UPROAR, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 80
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x0B @ team flags
- .2byte MOVE_PSYBEAM, MOVE_SNATCH, MOVE_REFLECT, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 81
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x05 @ team flags
- .2byte MOVE_HORN_ATTACK, MOVE_COUNTER, MOVE_REVERSAL, MOVE_LEER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 82
- .2byte SPECIES_CASTFORM
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_WEATHER_BALL, MOVE_SUNNY_DAY, MOVE_RAIN_DANCE, MOVE_HAIL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 83
- .2byte SPECIES_VIGOROTH
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_REVERSAL, MOVE_COUNTER, MOVE_TAUNT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 84
- .2byte SPECIES_DUSKULL
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x09 @ team flags
- .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 85
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x07 @ team flags
- .2byte MOVE_FLAIL, MOVE_SURF, MOVE_SPARK, MOVE_TAKE_DOWN
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 86
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_STRENGTH, MOVE_FAKE_OUT, MOVE_FACADE, MOVE_SAND_ATTACK
- .byte F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 87
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x43 @ team flags
- .2byte MOVE_AGILITY, MOVE_DIVE, MOVE_ICE_BEAM, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 88
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x41 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_WATER_PULSE, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 89
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x45 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_METAL_CLAW, MOVE_ROAR
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 90
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0xC7 @ team flags
- .2byte MOVE_SWORDS_DANCE, MOVE_IRON_TAIL, MOVE_SLASH, MOVE_FACADE
- .byte F_EV_SPREAD_ATTACK
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 91
- .2byte SPECIES_SWELLOW
- .byte BATTLE_TOWER_ITEM_SHARP_BEAK
- .byte 0x0F @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_FLY, MOVE_TOXIC, MOVE_STEEL_WING
- .byte 0
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 92
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x05 @ team flags
- .2byte MOVE_STRENGTH, MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 93
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x41 @ team flags
- .2byte MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_HYPER_BEAM, MOVE_SURF
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 94
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_MIRACLE_SEED
- .byte 0x41 @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_DRAGON_CLAW, MOVE_AGILITY, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 95
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x41 @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_MIRROR_MOVE, MOVE_EARTHQUAKE, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 96
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x43 @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_DRAGON_DANCE, MOVE_TOXIC, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 97
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x43 @ team flags
- .2byte MOVE_BRICK_BREAK, MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 98
- .2byte SPECIES_SABLEYE
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x49 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_SNATCH, MOVE_DIG, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 99
- .2byte SPECIES_ZANGOOSE
- .byte BATTLE_TOWER_ITEM_BLACK_GLASSES
- .byte 0x0F @ team flags
- .2byte MOVE_FACADE, MOVE_THUNDERBOLT, MOVE_CRUSH_CLAW, MOVE_DETECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_CALM
- .2byte 0 @ padding
-
-@ 100
- .2byte SPECIES_LINOONE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x0F @ team flags
- .2byte MOVE_IRON_TAIL, MOVE_HEADBUTT, MOVE_ATTRACT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 101
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x07 @ team flags
- .2byte MOVE_MUD_SLAP, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 102
- .2byte SPECIES_SOLROCK
- .byte BATTLE_TOWER_ITEM_HARD_STONE
- .byte 0x43 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE, MOVE_CONFUSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 103
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x03 @ team flags
- .2byte MOVE_RECOVER, MOVE_RAIN_DANCE, MOVE_SURF, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 104
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x0F @ team flags
- .2byte MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_PROTECT, MOVE_FRUSTRATION
- .byte 0
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 105
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_FRUSTRATION, MOVE_HYPER_BEAM, MOVE_GIGA_DRAIN, MOVE_TORMENT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 106
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_MAGNET
- .byte 0x0F @ team flags
- .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_IRON_TAIL, MOVE_ROAR
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 107
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xC3 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 108
- .2byte SPECIES_PINSIR
- .byte BATTLE_TOWER_ITEM_SOFT_SAND
- .byte 0x8D @ team flags
- .2byte MOVE_GUILLOTINE, MOVE_SUBMISSION, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 109
- .2byte SPECIES_METANG
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x05 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_METEOR_MASH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 110
- .2byte SPECIES_CLAYDOL
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x43 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_PROTECT
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 111
- .2byte SPECIES_MASQUERAIN
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_TOXIC, MOVE_SILVER_WIND, MOVE_ATTRACT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 112
- .2byte SPECIES_RELICANTH
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0xC5 @ team flags
- .2byte MOVE_ROCK_TOMB, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 113
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0D @ team flags
- .2byte MOVE_SURF, MOVE_ENCORE, MOVE_BLIZZARD, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 114
- .2byte SPECIES_WAILORD
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_WATER_SPOUT, MOVE_REST, MOVE_AMNESIA, MOVE_HAIL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 115
- .2byte SPECIES_GIRAFARIG
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x4F @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_CRUNCH, MOVE_PSYCHIC, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 116
- .2byte SPECIES_MEDICHAM
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x4B @ team flags
- .2byte MOVE_CALM_MIND, MOVE_REVERSAL, MOVE_ROCK_TOMB, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 117
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0xC7 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SYNTHESIS, MOVE_RAZOR_LEAF, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 118
- .2byte SPECIES_NINJASK
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x05 @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_LEECH_LIFE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 119
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x0D @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 120
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x05 @ team flags
- .2byte MOVE_CRUNCH, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 121
- .2byte SPECIES_WIGGLYTUFF
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0E @ team flags
- .2byte MOVE_PROTECT, MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_DIG
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 122
- .2byte SPECIES_SEVIPER
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x05 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_HAZE, MOVE_CRUNCH, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 123
- .2byte SPECIES_CRADILY
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0xC1 @ team flags
- .2byte MOVE_ROCK_TOMB, MOVE_CONFUSE_RAY, MOVE_INGRAIN, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 124
- .2byte SPECIES_ARMALDO
- .byte BATTLE_TOWER_ITEM_RAWST_BERRY
- .byte 0xC1 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SANDSTORM, MOVE_PROTECT, MOVE_SLASH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 125
- .2byte SPECIES_MAGNETON
- .byte BATTLE_TOWER_ITEM_PERSIM_BERRY
- .byte 0x0D @ team flags
- .2byte MOVE_ZAP_CANNON, MOVE_SUPERSONIC, MOVE_TOXIC, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 126
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x06 @ team flags
- .2byte MOVE_THUNDER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 127
- .2byte SPECIES_SWALOT
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x8B @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_ENCORE, MOVE_BODY_SLAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 128
- .2byte SPECIES_SKARMORY
- .byte BATTLE_TOWER_ITEM_METAL_COAT
- .byte 0x81 @ team flags
- .2byte MOVE_STEEL_WING, MOVE_AGILITY, MOVE_TORMENT, MOVE_FACADE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 129
- .2byte SPECIES_DONPHAN
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x0D @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_FLAIL, MOVE_ROAR, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 130
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x41 @ team flags
- .2byte MOVE_FACADE, MOVE_REVERSAL, MOVE_MEGAHORN, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 131
- .2byte SPECIES_BANETTE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_SKILL_SWAP
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 132
- .2byte SPECIES_SANDSLASH
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x0F @ team flags
- .2byte MOVE_SANDSTORM, MOVE_TOXIC, MOVE_SLASH, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 133
- .2byte SPECIES_CRAWDAUNT
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x05 @ team flags
- .2byte MOVE_GUILLOTINE, MOVE_CRABHAMMER, MOVE_BLIZZARD, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 134
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_TWISTED_SPOON
- .byte 0x8B @ team flags
- .2byte MOVE_MAGIC_COAT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_LONELY
- .2byte 0 @ padding
-
-@ 135
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x45 @ team flags
- .2byte MOVE_IRON_TAIL, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_FIRE_BLAST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 136
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x8B @ team flags
- .2byte MOVE_PSYCHIC, MOVE_REFLECT, MOVE_RECOVER, MOVE_SKILL_SWAP
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 137
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_WILL_O_WISP, MOVE_BLIZZARD, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 138
- .2byte SPECIES_TORKOAL
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x09 @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_AMNESIA, MOVE_IRON_TAIL, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 139
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x09 @ team flags
- .2byte MOVE_SCREECH, MOVE_EXPLOSION, MOVE_MIRROR_COAT, MOVE_PROTECT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 140
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_IRON_TAIL, MOVE_FOCUS_PUNCH, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 141
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_POISON_BARB
- .byte 0x05 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 142
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x05 @ team flags
- .2byte MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 143
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x4E @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_DOUBLE_TEAM, MOVE_FOCUS_PUNCH, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 144
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0x09 @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_SURF, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 145
- .2byte SPECIES_EXPLOUD
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_BLIZZARD, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_RETURN
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 146
- .2byte SPECIES_XATU
- .byte BATTLE_TOWER_ITEM_WHITE_HERB
- .byte 0x43 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_TOXIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 147
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x05 @ team flags
- .2byte MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 148
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 149
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_CHARCOAL
- .byte 0x4A @ team flags
- .2byte MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_TOXIC, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 150
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x13 @ team flags
- .2byte MOVE_DOUBLE_TEAM, MOVE_REST, MOVE_SURF, MOVE_DRAGON_BREATH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 151
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x03 @ team flags
- .2byte MOVE_CURSE, MOVE_AMNESIA, MOVE_YAWN, MOVE_FOCUS_PUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 152
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_CHERI_BERRY
- .byte 0x03 @ team flags
- .2byte MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 153
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x21 @ team flags
- .2byte MOVE_BELLY_DRUM, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 154
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0xC3 @ team flags
- .2byte MOVE_FAINT_ATTACK, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 155
- .2byte SPECIES_ALTARIA
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_DRAGON_DANCE, MOVE_MIRROR_MOVE, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 156
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_BLACK_BELT
- .byte 0x11 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_ENCORE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 157
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_DRAGON_FANG
- .byte 0x43 @ team flags
- .2byte MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 158
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x33 @ team flags
- .2byte MOVE_COUNTER, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 159
- .2byte SPECIES_GLALIE
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x81 @ team flags
- .2byte MOVE_BLIZZARD, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_JOLLY
- .2byte 0 @ padding
-
-@ 160
- .2byte SPECIES_HUNTAIL
- .byte BATTLE_TOWER_ITEM_MYSTIC_WATER
- .byte 0xA1 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_CRUNCH, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 161
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0xD3 @ team flags
- .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_RECOVER, MOVE_TOXIC
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 162
- .2byte SPECIES_GOREBYSS
- .byte BATTLE_TOWER_ITEM_PECHA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_SURF, MOVE_BLIZZARD, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 163
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x53 @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_ENDEAVOR, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 164
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x53 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_MUD_SHOT, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 165
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_MENTAL_HERB
- .byte 0x41 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_FLAMETHROWER, MOVE_IRON_TAIL, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 166
- .2byte SPECIES_CRADILY
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xE1 @ team flags
- .2byte MOVE_STOCKPILE, MOVE_SPIT_UP, MOVE_SWALLOW, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 167
- .2byte SPECIES_ARMALDO
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0xC1 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SLASH, MOVE_SWORDS_DANCE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 168
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x82 @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_MACH_PUNCH, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 169
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x83 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_TOXIC
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 170
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x03 @ team flags
- .2byte MOVE_TORMENT, MOVE_FAINT_ATTACK, MOVE_SHADOW_BALL, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 171
- .2byte SPECIES_TROPIUS
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0xC3 @ team flags
- .2byte MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_SOLAR_BEAM, MOVE_LEECH_SEED
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 172
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_MACHO_BRACE
- .byte 0x23 @ team flags
- .2byte MOVE_TRICK, MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_REST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 173
- .2byte SPECIES_TORKOAL
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x81 @ team flags
- .2byte MOVE_IRON_DEFENSE, MOVE_TOXIC, MOVE_REST, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 174
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_NONE
- .byte 0x03 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_ROAR, MOVE_THIEF
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 175
- .2byte SPECIES_PINSIR
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x61 @ team flags
- .2byte MOVE_GUILLOTINE, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 176
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x93 @ team flags
- .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 177
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x51 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_REVERSAL, MOVE_EARTHQUAKE, MOVE_COUNTER
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 178
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE
- .byte 0x83 @ team flags
- .2byte MOVE_BLIZZARD, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 179
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x13 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_RECOVER, MOVE_ENCORE, MOVE_SNATCH
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 180
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x93 @ team flags
- .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_RECOVER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 181
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x11 @ team flags
- .2byte MOVE_REST, MOVE_CURSE, MOVE_BLIZZARD, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 182
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x11 @ team flags
- .2byte MOVE_REST, MOVE_IRON_DEFENSE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 183
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x91 @ team flags
- .2byte MOVE_ROCK_TOMB, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 184
- .2byte SPECIES_DUSCLOPS
- .byte BATTLE_TOWER_ITEM_SPELL_TAG
- .byte 0x20 @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_BLIZZARD, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 185
- .2byte SPECIES_SEAKING
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0xB2 @ team flags
- .2byte MOVE_HORN_DRILL, MOVE_AGILITY, MOVE_SLEEP_TALK, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 186
- .2byte SPECIES_CAMERUPT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x00 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_ROCK_SLIDE, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 187
- .2byte SPECIES_LANTURN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x82 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_SURF, MOVE_THUNDER_WAVE, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 188
- .2byte SPECIES_WEEZING
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x20 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 189
- .2byte SPECIES_WHISCASH
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x41 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ROCK_TOMB, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 190
- .2byte SPECIES_AGGRON
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x11 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 191
- .2byte SPECIES_CACTURNE
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x63 @ team flags
- .2byte MOVE_DYNAMIC_PUNCH, MOVE_COUNTER, MOVE_FAINT_ATTACK, MOVE_GIGA_DRAIN
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 192
- .2byte SPECIES_SHARPEDO
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x01 @ team flags
- .2byte MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_SWAGGER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 193
- .2byte SPECIES_ABSOL
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x82 @ team flags
- .2byte MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_SWORDS_DANCE, MOVE_QUICK_ATTACK
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 194
- .2byte SPECIES_WAILORD
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x23 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_FISSURE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 195
- .2byte SPECIES_TENTACRUEL
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x21 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 196
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0xA2 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_TOXIC, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 197
- .2byte SPECIES_WOBBUFFET
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x23 @ team flags
- .2byte MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 198
- .2byte SPECIES_RHYDON
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x21 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_MEGAHORN, MOVE_HORN_DRILL, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 199
- .2byte SPECIES_GLALIE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x21 @ team flags
- .2byte MOVE_CRUNCH, MOVE_BLIZZARD, MOVE_HAIL, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 200
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x13 @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 201
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x17 @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 202
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x17 @ team flags
- .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_MUD_SHOT, MOVE_BLIZZARD
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 203
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x19 @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND, MOVE_WILL_O_WISP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 204
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0xF6 @ team flags
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_BRICK_BREAK, MOVE_SLUDGE_BOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 205
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_GANLON_BERRY
- .byte 0x1B @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_REFLECT, MOVE_RECOVER
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 206
- .2byte SPECIES_SHIFTRY
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x89 @ team flags
- .2byte MOVE_FAINT_ATTACK, MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_REST
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 207
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x85 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FAKE_OUT
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 208
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x49 @ team flags
- .2byte MOVE_ATTRACT, MOVE_CONFUSE_RAY, MOVE_BITE, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 209
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x15 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 210
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x0B @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 211
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x27 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 212
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x05 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 213
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x4D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 214
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x1B @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_CONFUSE_RAY
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 215
- .2byte SPECIES_DODRIO
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x2B @ team flags
- .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_AGILITY, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 216
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x0A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_REVERSAL, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 217
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 218
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x54 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 219
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x06 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_NAIVE
- .2byte 0 @ padding
-
-@ 220
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x1D @ team flags
- .2byte MOVE_SURF, MOVE_TOXIC, MOVE_PROTECT, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 221
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x9C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 222
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x15 @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_LIGHT_SCREEN
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 223
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xB5 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_FOCUS_PUNCH, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 224
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x96 @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_DOUBLE_TEAM, MOVE_REST
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 225
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x94 @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 226
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x96 @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_REST, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MILD
- .2byte 0 @ padding
-
-@ 227
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x95 @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_REFLECT, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 228
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x96 @ team flags
- .2byte MOVE_SURF, MOVE_TOXIC, MOVE_RECOVER, MOVE_MIRROR_COAT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 229
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 230
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1F @ team flags
- .2byte MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 231
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x17 @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_REST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 232
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x17 @ team flags
- .2byte MOVE_MUDDY_WATER, MOVE_MUD_SHOT, MOVE_MIRROR_COAT, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 233
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x7B @ team flags
- .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_DESTINY_BOND, MOVE_SNATCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RELAXED
- .2byte 0 @ padding
-
-@ 234
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x56 @ team flags
- .2byte MOVE_SPORE, MOVE_COUNTER, MOVE_IRON_TAIL, MOVE_GIGA_DRAIN
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 235
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x0A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_RECOVER
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 236
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_FOCUS_BAND
- .byte 0x05 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 237
- .2byte SPECIES_GYARADOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x0C @ team flags
- .2byte MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_BOLD
- .2byte 0 @ padding
-
-@ 238
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x49 @ team flags
- .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 239
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x15 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_EARTHQUAKE, MOVE_FACADE
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 240
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x63 @ team flags
- .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_REST, MOVE_CRUNCH
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 241
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x07 @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_SCREECH, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_MODEST
- .2byte 0 @ padding
-
-@ 242
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x45 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_ROCK_TOMB, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 243
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x4D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_IMPISH
- .2byte 0 @ padding
-
-@ 244
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x1B @ team flags
- .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_REST
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 245
- .2byte SPECIES_NINETALES
- .byte BATTLE_TOWER_ITEM_SITRUS_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_OVERHEAT, MOVE_FLAMETHROWER, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 246
- .2byte SPECIES_GOLEM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x25 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ROAR, MOVE_FIRE_BLAST, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 247
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x27 @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_PSYCH_UP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 248
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x55 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 249
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x36 @ team flags
- .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_ROCK_SLIDE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 250
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x5C @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_PROTECT, MOVE_DRAGON_BREATH, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 251
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x9D @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 252
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x15 @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 253
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x95 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_FACADE, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 254
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x96 @ team flags
- .2byte MOVE_BLIZZARD, MOVE_THUNDERBOLT, MOVE_HAIL, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE
- .byte NATURE_CAREFUL
- .2byte 0 @ padding
-
-@ 255
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x94 @ team flags
- .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 256
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x96 @ team flags
- .2byte MOVE_MIST_BALL, MOVE_REFLECT, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 257
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x95 @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 258
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0xD6 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DOUBLE_TEAM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 259
- .2byte SPECIES_KECLEON
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x69 @ team flags
- .2byte MOVE_TRICK, MOVE_REST, MOVE_IRON_TAIL, MOVE_DISABLE
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIRKY
- .2byte 0 @ padding
-
-@ 260
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x5F @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_REST, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 261
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x7F @ team flags
- .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SWAGGER, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 262
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x57 @ team flags
- .2byte MOVE_IRON_TAIL, MOVE_CURSE, MOVE_DOUBLE_TEAM, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 263
- .2byte SPECIES_GARDEVOIR
- .byte BATTLE_TOWER_ITEM_CHESTO_BERRY
- .byte 0x3B @ team flags
- .2byte MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_REST, MOVE_IMPRISON
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 264
- .2byte SPECIES_BRELOOM
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x56 @ team flags
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_SLUDGE_BOMB, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 265
- .2byte SPECIES_ALAKAZAM
- .byte BATTLE_TOWER_ITEM_CHOICE_BAND
- .byte 0x1A @ team flags
- .2byte MOVE_PSYCHIC, MOVE_TRICK, MOVE_RECOVER, MOVE_SNATCH
- .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HASTY
- .2byte 0 @ padding
-
-@ 266
- .2byte SPECIES_HARIYAMA
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x65 @ team flags
- .2byte MOVE_REVENGE, MOVE_COUNTER, MOVE_FOCUS_PUNCH, MOVE_REVERSAL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 267
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x54 @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_TOXIC, MOVE_SURF
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 268
- .2byte SPECIES_CROBAT
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0x4B @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_BITE, MOVE_AIR_CUTTER, MOVE_SHADOW_BALL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 269
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x75 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_DYNAMIC_PUNCH, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 270
- .2byte SPECIES_MANECTRIC
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 271
- .2byte SPECIES_ELECTRODE
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x64 @ team flags
- .2byte MOVE_THUNDER, MOVE_DOUBLE_TEAM, MOVE_MIRROR_COAT, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_BASHFUL
- .2byte 0 @ padding
-
-@ 272
- .2byte SPECIES_MUK
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x49 @ team flags
- .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_PUNCH
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_GENTLE
- .2byte 0 @ padding
-
-@ 273
- .2byte SPECIES_FLYGON
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xCD @ team flags
- .2byte MOVE_PROTECT, MOVE_DIG, MOVE_TOXIC, MOVE_SANDSTORM
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 274
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x5B @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_BLIZZARD, MOVE_PSYCHIC
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 275
- .2byte SPECIES_LUDICOLO
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0x1A @ team flags
- .2byte MOVE_RAIN_DANCE, MOVE_LEECH_SEED, MOVE_DIVE, MOVE_PROTECT
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 276
- .2byte SPECIES_RAICHU
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x4A @ team flags
- .2byte MOVE_THUNDER, MOVE_REVERSAL, MOVE_FACADE, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_TIMID
- .2byte 0 @ padding
-
-@ 277
- .2byte SPECIES_GOLDUCK
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x0A @ team flags
- .2byte MOVE_SURF, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_IRON_TAIL
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 278
- .2byte SPECIES_HERACROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0x15 @ team flags
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 279
- .2byte SPECIES_WALREIN
- .byte BATTLE_TOWER_ITEM_LEPPA_BERRY
- .byte 0x26 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_FISSURE, MOVE_SHEER_COLD
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 280
- .2byte SPECIES_KINGDRA
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x4D @ team flags
- .2byte MOVE_HYDRO_PUMP, MOVE_BLIZZARD, MOVE_HYPER_BEAM, MOVE_DISABLE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 281
- .2byte SPECIES_SALAMENCE
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x9C @ team flags
- .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_HYDRO_PUMP
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_NAUGHTY
- .2byte 0 @ padding
-
-@ 282
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_LIECHI_BERRY
- .byte 0xB5 @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_PURSUIT, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 283
- .2byte SPECIES_REGIROCK
- .byte BATTLE_TOWER_ITEM_APICOT_BERRY
- .byte 0x95 @ team flags
- .2byte MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SUPERPOWER, MOVE_REST
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SERIOUS
- .2byte 0 @ padding
-
-@ 284
- .2byte SPECIES_REGICE
- .byte BATTLE_TOWER_ITEM_LAX_INCENSE
- .byte 0x96 @ team flags
- .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_ANCIENT_POWER, MOVE_EXPLOSION
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE
- .byte NATURE_RASH
- .2byte 0 @ padding
-
-@ 285
- .2byte SPECIES_REGISTEEL
- .byte BATTLE_TOWER_ITEM_LEFTOVERS
- .byte 0xB4 @ team flags
- .2byte MOVE_CURSE, MOVE_AMNESIA, MOVE_RETURN, MOVE_REST
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_LAX
- .2byte 0 @ padding
-
-@ 286
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x92 @ team flags
- .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 287
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0x91 @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_SURF
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 288
- .2byte SPECIES_MILOTIC
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xB2 @ team flags
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_ATTRACT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_BRAVE
- .2byte 0 @ padding
-
-@ 289
- .2byte SPECIES_SLAKING
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0x65 @ team flags
- .2byte MOVE_YAWN, MOVE_SLASH, MOVE_COUNTER, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 290
- .2byte SPECIES_SCEPTILE
- .byte BATTLE_TOWER_ITEM_SHELL_BELL
- .byte 0xDF @ team flags
- .2byte MOVE_LEAF_BLADE, MOVE_DETECT, MOVE_DRAGON_CLAW, MOVE_CRUNCH
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 291
- .2byte SPECIES_BLAZIKEN
- .byte BATTLE_TOWER_ITEM_SALAC_BERRY
- .byte 0xD7 @ team flags
- .2byte MOVE_BLAZE_KICK, MOVE_SKY_UPPERCUT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK
- .byte NATURE_DOCILE
- .2byte 0 @ padding
-
-@ 292
- .2byte SPECIES_SWAMPERT
- .byte BATTLE_TOWER_ITEM_PETAYA_BERRY
- .byte 0x5F @ team flags
- .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_ROCK_TOMB
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP
- .byte NATURE_SASSY
- .2byte 0 @ padding
-
-@ 293
- .2byte SPECIES_SHEDINJA
- .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER
- .byte 0xDB @ team flags
- .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_HYPER_BEAM
- .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 294
- .2byte SPECIES_METAGROSS
- .byte BATTLE_TOWER_ITEM_QUICK_CLAW
- .byte 0x94 @ team flags
- .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 295
- .2byte SPECIES_GRUMPIG
- .byte BATTLE_TOWER_ITEM_MACHO_BRACE
- .byte 0x4B @ team flags
- .2byte MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_TRICK, MOVE_REFLECT
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 296
- .2byte SPECIES_LATIAS
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x92 @ team flags
- .2byte MOVE_MIST_BALL, MOVE_RECOVER, MOVE_ATTRACT, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_ADAMANT
- .2byte 0 @ padding
-
-@ 297
- .2byte SPECIES_LATIOS
- .byte BATTLE_TOWER_ITEM_KINGS_ROCK
- .byte 0x91 @ team flags
- .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_HARDY
- .2byte 0 @ padding
-
-@ 298
- .2byte SPECIES_STARMIE
- .byte BATTLE_TOWER_ITEM_LUM_BERRY
- .byte 0x1A @ team flags
- .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_ICE_BEAM
- .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED
- .byte NATURE_QUIET
- .2byte 0 @ padding
-
-@ 299
- .2byte SPECIES_MACHAMP
- .byte BATTLE_TOWER_ITEM_SCOPE_LENS
- .byte 0x14 @ team flags
- .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_ROCK_TOMB, MOVE_FLAMETHROWER
- .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP
- .byte NATURE_HARDY
- .2byte 0 @ padding
diff --git a/data/battle_tower/trainers.inc b/data/battle_tower/trainers.inc
deleted file mode 100644
index 05fadc320..000000000
--- a/data/battle_tower/trainers.inc
+++ /dev/null
@@ -1,1301 +0,0 @@
- .align 2
-gBattleTowerTrainers:: @ 8402F00
-@ 0
- .byte TRAINER_CLASS_YOUNGSTER
- .string "ALVIN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word READY
- ec_word QUES
- ec_word HERE_I_COME
- ec_word EXCL
-
-@ 1
- .byte TRAINER_CLASS_BIRD_KEEPER
- .string "DIRK$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word OKAY
- ec_word I_AM
- ec_word GOING
- ec_word FOR
- ec_word IT
- ec_word EXCL
-
-@ 2
- .byte TRAINER_CLASS_LADY
- .string "CYBIL$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word A
- ec_word PUSHOVER
- ec_word LET_S
- ec_word GET
- ec_word GOING
-
-@ 3
- .byte TRAINER_CLASS_BLACK_BELT
- .string "CHEN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word SPIRIT
- ec_word IS
- ec_word ENOUGH
- ec_word SNORT
- ec_word ARRGH
-
-@ 4
- .byte TRAINER_CLASS_NINJA_BOY
- .string "YOSHI$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GO
- ec_word MY
- ec_word POKEMON
- ec_word FIGHT
- ec_word THE
- ec_word BATTLE
-
-@ 5
- .byte TRAINER_CLASS_SCHOOL_KID_F
- .string "TINA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word STUDY
- ec_word IS
- ec_word BORING
- ec_word LET_S
- ec_word BATTLE
- ec_word NOW
-
-@ 6
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "COREY$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HEY
- ec_word I
- ec_word WILL
- ec_move2 TRANSFORM
- ec_word FOR
- ec_move1 STRENGTH
-
-@ 7
- .byte TRAINER_CLASS_FISHERMAN
- .string "GORDON$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word NEED
- ec_word A
- ec_word VACATION
- ec_word RIGHT
- ec_word NOW
-
-@ 8
- .byte TRAINER_CLASS_TUBER_F
- .string "ANN$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WE
- ec_word ALL
- ec_word ADORE
- ec_word POKEMON
- ec_word ABSOLUTELY
- ec_word TRULY
-
-@ 9
- .byte TRAINER_CLASS_POKEFAN_F
- .string "JULIA$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word A
- ec_word CUTE
- ec_word LADY
- ec_word YES
- ec_word I_AM
-
-@ 10
- .byte TRAINER_CLASS_GENTLEMAN
- .string "GREGORY$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word THINK
- ec_word WE
- ec_word SHOULD
- ec_word START
- ec_word TODAY
-
-@ 11
- .byte TRAINER_CLASS_CAMPER
- .string "KEITH$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word MY
- ec_word FRIEND
- ec_word FROM
- ec_word NOW
- ec_word ON
-
-@ 12
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F
- .string "KENDRA$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_move1 SWIFT
- ec_word HOW
- ec_word ABOUT
- ec_word YOU
- ec_word QUES
-
-@ 13
- .byte TRAINER_CLASS_HIKER
- .string "DEV$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAHAHAHA
- ec_word I_AM
- ec_word FEELING
- ec_word LIKE
- ec_word IT_S
- ec_move2 PAY_DAY
-
-@ 14
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "CASSIE$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word STRONG
- ec_word AREN_T
- .2byte -1
- ec_word YOU
- ec_word QUES
-
-@ 15
- .byte TRAINER_CLASS_PSYCHIC_M
- .string "JULIAN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word FUFUFU
- .2byte -1
- ec_word YOU
- ec_word CAN_T
- ec_word WIN
- ec_word KID
-
-@ 16
- .byte TRAINER_CLASS_LASS
- .string "JOYCE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BE
- ec_word KIND
- ec_word TO
- ec_word THE
- ec_word DIGITAL
- ec_word IDOL
-
-@ 17
- .byte TRAINER_CLASS_GUITARIST
- .string "LES$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word GREAT
- ec_word YOU_RE
- ec_word JUST
- ec_word RATHER
- ec_word OKAY
-
-@ 18
- .byte TRAINER_CLASS_RICH_BOY
- .string "CLINTON$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word HAVE
- ec_word ROUGH_SKIN
- ec_word I
- ec_word NEED
- ec_word NATURAL_CURE
-
-@ 19
- .byte TRAINER_CLASS_BUG_CATCHER
- .string "LEWIS$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THIS
- ec_word IS
- ec_word EXCITING
- ec_word CAN
- ec_word I
- ec_word WIN
-
-@ 20
- .byte TRAINER_CLASS_PICNICKER
- .string "RACHAEL$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word LIKE
- ec_word WALKING
- ec_word WITH
- ec_word MY
- ec_word POKEMON
-
-@ 21
- .byte TRAINER_CLASS_COLLECTOR
- .string "HAROLD$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HERE
- ec_word THEY
- ec_word COME
- ec_word MY
- ec_move2 SUPERPOWER
- ec_word POKEMON
-
-@ 22
- .byte TRAINER_CLASS_TUBER_M
- .string "KIPP$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word A
- ec_word GENIUS
- ec_word I
- ec_word SHOULD
- ec_word WIN
-
-@ 23
- .byte TRAINER_CLASS_KINDLER
- .string "IRWIN$", 8
- .byte 0x05 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word WILL
- ec_word BE
- ec_word FEELING
- ec_word MY
- ec_word FIRE
-
-@ 24
- .byte TRAINER_CLASS_PSYCHIC_F
- .string "EILEEN$", 8
- .byte 0x0A @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word WILL
- ec_move1 ASTONISH
- ec_word YOU
- ec_word IN
- ec_word BATTLE
-
-@ 25
- .byte TRAINER_CLASS_SWIMMER_F
- .string "ANNE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word SORRY
- ec_word BUT
- ec_word YOU
- ec_word WILL
- ec_word NOT
- ec_word WIN
-
-@ 26
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F
- .string "RUTH$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word A
- ec_word STRONG
- ec_word GIRL
- ec_word WANTS
- ec_word TOUGH
- ec_word POKEMON
-
-@ 27
- .byte TRAINER_CLASS_POKEMANIAC
- .string "JEREMY$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word POKEMON
- ec_word ARE
- ec_word COOL
- ec_word YOURS
- ec_word CAN_T_WIN
-
-@ 28
- .byte TRAINER_CLASS_SAILOR
- .string "TREVOR$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MY
- ec_word OPPONENT
- ec_word IS
- ec_word FINALLY
- ec_word HERE
- ec_word EXCELLENT
-
-@ 29
- .byte TRAINER_CLASS_POKEMON_BREEDER_F
- .string "COLETTE$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word AM
- ec_word HUNGRY
- ec_move2 POUND
- ec_word MY
- ec_move2 BELLY_DRUM
-
-@ 30
- .byte TRAINER_CLASS_HEX_MANIAC
- .string "PAULA$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word HARD
- ec_word TO
- ec_word TAKE
- ec_word UGLY
- ec_move1 SPITE
-
-@ 31
- .byte TRAINER_CLASS_RUIN_MANIAC
- .string "STANLY$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ADVENTURE
- ec_word AND
- ec_word BATTLE
- ec_word ARE
- ec_word MY
- ec_word LIKES
-
-@ 32
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "TROY$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word CAN_T
- ec_word LOSE
- ec_word TO
- ec_word A
- ec_word KID
-
-@ 33
- .byte TRAINER_CLASS_SCHOOL_KID_M
- .string "ED$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word POKEMON
- ec_word DAILY
- ec_word AT
- ec_word SCHOOL
- ec_word IT_S
- ec_word AWESOME
-
-@ 34
- .byte TRAINER_CLASS_POKEMON_RANGER_F
- .string "ELLEN$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word KIND
- ec_word TO
- ec_word YOUR
- ec_word POKEMON
-
-@ 35
- .byte TRAINER_CLASS_SWIMMER_M
- .string "ARNIE$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word BATTLE
- ec_word SERIOUSLY
- ec_word BEAUTIFUL
- ec_word YOU
- ec_move1 DIG
-
-@ 36
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M
- .string "HAL$", 8
- .byte 0x09 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BOY
- ec_word I_AM
- ec_word TIRED
- ec_word READY
- ec_word FOR
- ec_word SLEEP
-
-@ 37
- .byte TRAINER_CLASS_BEAUTY
- .string "LAUREN$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word A
- ec_word TRAINER
- ec_word LIKE
- ec_word YOU
- ec_word IS
- ec_word EXCITING
-
-@ 38
- .byte TRAINER_CLASS_AROMA_LADY
- .string "STACY$", 8
- .byte 0x06 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HAVE
- ec_word YOU
- ec_word A
- ec_word STENCH
- ec_word OR
- ec_move1 SWEET_SCENT
-
-@ 39
- .byte TRAINER_CLASS_COLLECTOR
- .string "DARYL$", 8
- .byte 0x81 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOUR
- ec_word POKEMON
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word I
- ec_word WANT
- ec_word IT
-
-@ 40
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F
- .string "KATHY$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word WILL
- ec_word TRY
- ec_word MY
- ec_word BEST
- ec_word TODAY
-
-@ 41
- .byte TRAINER_CLASS_POKEMON_RANGER_M
- .string "HARRIS$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAAAH
- ec_word WAAAH
- ec_word WAAAH
- ec_word WAAAH
- ec_word EHEHE
- ec_move1 FAKE_TEARS
-
-@ 42
- .byte TRAINER_CLASS_POKEFAN_M
- .string "GLENN$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LISTEN
- ec_word TO
- ec_word MY
- ec_word LOUSY
- ec_word ANIME
- ec_word SONG
-
-@ 43
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M
- .string "NICO$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DON_T
- ec_word JUST
- ec_word BATTLE
- ec_word DO
- ec_word SOMETHING
- ec_word ELSE
-
-@ 44
- .byte TRAINER_CLASS_POKEMON_BREEDER_M
- .string "BAILEY$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word BUSY
- ec_word GET
- ec_word WITH
- ec_word IT
-
-@ 45
- .byte TRAINER_CLASS_PARASOL_LADY
- .string "ABBIE$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_move1 MORNING_SUN
- ec_word HAS
- ec_word SO
- ec_word MUCH
- ec_move1 COSMIC_POWER
-
-@ 46
- .byte TRAINER_CLASS_CAMPER
- .string "AL$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LET_S
- ec_word HAVE
- ec_word AN
- ec_word EXCITING
- ec_word BATTLE
- ec_word YEEHAW_EXCL
-
-@ 47
- .byte TRAINER_CLASS_SCHOOL_KID_F
- .string "PEGGY$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word SEE
- ec_word SOME
- ec_move1 GROWTH
-
-@ 48
- .byte TRAINER_CLASS_BEAUTY
- .string "NAOMI$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT
- ec_word WAS
- ec_word GREAT
- ec_word TO
- ec_word BE
- ec_word YOUNG
-
-@ 49
- .byte TRAINER_CLASS_NINJA_BOY
- .string "KENJI$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLEASE
- .2byte -1
- ec_word DON_T
- ec_word BE
- ec_word MEAN
- ec_word TO_ME
-
-@ 50
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M
- .string "ROSS$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WAKE_UP
- ec_word MY
- ec_move2 HIDDEN_POWER
- ec_word AND
- ec_move1 ASTONISH
- ec_word ME
-
-@ 51
- .byte TRAINER_CLASS_POKEMON_RANGER_F
- .string "EDNA$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BATTLE_TOWER
- ec_word IS
- ec_word SO
- ec_word ENTERTAINING
- ec_word IT_S
- ec_word AWESOME
-
-@ 52
- .byte TRAINER_CLASS_RUIN_MANIAC
- .string "ANTON$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BLEND
- ec_word THICK_FAT
- ec_word AND
- ec_word CHLOROPHYLL
- ec_word IT_S
- ec_word TASTY
-
-@ 53
- .byte TRAINER_CLASS_SWIMMER_M
- .string "MITCH$", 8
- .byte 0x81 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word NEXT
- ec_word A
- ec_word GIRL
- ec_word WITH
- ec_word A
- ec_move1 SCARY_FACE
-
-@ 54
- .byte TRAINER_CLASS_HEX_MANIAC
- .string "ROD$", 8
- .byte 0x42 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GIMME
- ec_word A
- ec_word TOUGH
- ec_word BATTLE
- ec_word NOT
- ec_word WIMPY
-
-@ 55
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M
- .string "RICH$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TASTY
- ec_word WATER
- ec_word IS
- ec_word HIP_AND
- ec_word HAPPENING
- ec_word YES_SIR_EXCL
-
-@ 56
- .byte TRAINER_CLASS_POKEFAN_M
- .string "DANIEL$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GO
- ec_word FOR
- ec_word IT
- ec_word MY
- ec_word LOVEY_DOVEY
- ec_word POKEMON
-
-@ 57
- .byte TRAINER_CLASS_PSYCHIC_F
- .string "GLORIA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LET_S
- ec_word GET
- ec_word THIS
- ec_word FIERY
- ec_word BATTLE
- ec_word HAPPENING
-
-@ 58
- .byte TRAINER_CLASS_GUITARIST
- .string "NELSON$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word MUSIC
- ec_word IS
- ec_word MY
- ec_word ALL
- ec_word MY
- ec_word DESTINY
-
-@ 59
- .byte TRAINER_CLASS_KINDLER
- .string "FERRIS$", 8
- .byte 0x41 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word GOOD
- ec_word IT
- ec_word IS
- ec_word SO
- ec_word VERY
- ec_word GOOD
-
-@ 60
- .byte TRAINER_CLASS_AROMA_LADY
- .string "AMANDA$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHAT
- ec_word KIND
- ec_word OF
- ec_word TRAINER
- ec_word ARE
- ec_word YOU
-
-@ 61
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "MASON$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word DON_T
- ec_word KNOW
- ec_word HOW
- ec_word TO
- ec_word LOSE
-
-@ 62
- .byte TRAINER_CLASS_DRAGON_TAMER
- .string "NATE$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DRAGON
- ec_word POKEMON
- ec_word ARE
- ec_word ALL
- ec_word THE
- ec_move1 RAGE
-
-@ 63
- .byte TRAINER_CLASS_LASS
- .string "MIRIAM$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word TOO_STRONG
- ec_word SERIOUSLY
- ec_word IT_S
- ec_word BAD
- ec_word NEWS
-
-@ 64
- .byte TRAINER_CLASS_POKEMANIAC
- .string "THEO$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word ADORE
- ec_word MY
- ec_word MEGA
- ec_word CUTE
- ec_word PLUSH_DOLL
-
-@ 65
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F
- .string "PAMELA$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HERE_I_COME
- ec_word I_AM
- ec_word THE
- ec_word CUTE
- ec_move2 WATER_SPORT
- ec_word IDOL
-
-@ 66
- .byte TRAINER_CLASS_POKEFAN_F
- .string "ALISSA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word A
- ec_word PREPOSTEROUS
- ec_word MATCH
- ec_word I_AM
- ec_word SHOCKED
-
-@ 67
- .byte TRAINER_CLASS_GENTLEMAN
- .string "ARTHUR$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word PLEASE
- ec_word GIVE
- ec_word ME
- ec_word A
- ec_word GOOD
- ec_word BATTLE
-
-@ 68
- .byte TRAINER_CLASS_SWIMMER_F
- .string "MARCY$", 8
- .byte 0x82 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word BEAUTIFUL
- ec_word YOU
- ec_word CAN_T
- ec_word BEAT
- ec_word ME
-
-@ 69
- .byte TRAINER_CLASS_COOL_TRAINER_M
- .string "MILLER$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word BATTLE
- ec_word DAILY
- ec_word I
- ec_word WON_T
- ec_word LOSE
-
-@ 70
- .byte TRAINER_CLASS_BIRD_KEEPER
- .string "OLIVER$", 8
- .byte 0x11 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word GIGGLE
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- .2byte -1
- .2byte -1
- .2byte -1
-
-@ 71
- .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F
- .string "MOLLY$", 8
- .byte 0x12 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HOW
- ec_word ARE
- ec_word YOU
- ec_word ON
- ec_word MONDAY
- ec_word MORNING
-
-@ 72
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "JASON$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WATER
- ec_word AND
- ec_word BUG
- ec_word POKEMON
- ec_word ARE
- ec_word GREAT
-
-@ 73
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "AVA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word WHAT
- ec_word IS
- ec_word THIS
- ec_word PRESSURE
- ec_word ELLIPSIS
- ec_word STATIC
-
-@ 74
- .byte TRAINER_CLASS_FISHERMAN
- .string "HANK$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU_RE
- ec_word A
- ec_word KID
- ec_word YOU
- ec_word CAN_T
- ec_word WIN
-
-@ 75
- .byte TRAINER_CLASS_SAILOR
- .string "PETER$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word IT_S
- ec_word SERIOUSLY
- ec_word TERRIBLE
- ec_word I
- ec_word REALLY
- ec_word THINK
-
-@ 76
- .byte TRAINER_CLASS_EXPERT_F
- .string "MINDY$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word APPEAR
- ec_word TO
- ec_word TRAIN
- ec_word VERY
- ec_word WELL
-
-@ 77
- .byte TRAINER_CLASS_BUG_MANIAC
- .string "DWIGHT$", 8
- .byte 0x11 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word ARE
- ec_word YOU
- ec_word STRONG
- ec_word YOU
- ec_word ARE
- ec_word SCARY
-
-@ 78
- .byte TRAINER_CLASS_POKEMON_BREEDER_F
- .string "REENA$", 8
- .byte 0x12 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word ALWAYS
- ec_word LOSE
- ec_word MAYBE
- ec_word TODAY
- ec_word ELLIPSIS
-
-@ 79
- .byte TRAINER_CLASS_PARASOL_LADY
- .string "MEGAN$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DON_T
- ec_word MAKE
- ec_word THAT
- ec_move1 SCARY_FACE
- ec_word AT
- ec_word ME
-
-@ 80
- .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F
- .string "SIERRA$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_VE
- ec_word RUN
- ec_word A_LOT
- ec_word SO
- ec_word I_AM
- ec_word HEALTHY
-
-@ 81
- .byte TRAINER_CLASS_POKEMON_RANGER_M
- .string "ARNOLD$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word FEELING
- ec_word AWESOME
- ec_word MY
- ec_word POKEMON
- ec_word ROCK
-
-@ 82
- .byte TRAINER_CLASS_BLACK_BELT
- .string "XIN$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word HOO_HAH
- ec_word ARE
- ec_word YOU
- ec_word READY
- ec_word TO
- ec_word ROCK
-
-@ 83
- .byte TRAINER_CLASS_COOL_TRAINER_F
- .string "KELLY$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YOU
- ec_word COULDN_T
- ec_word BEAT
- ec_word ME
- ec_word EVER
- ec_word KID
-
-@ 84
- .byte TRAINER_CLASS_COLLECTOR
- .string "VANCE$", 8
- .byte 0x80 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word POKEMON
- ec_word ALL
- ec_word OVER
- ec_word THE
- ec_word PLACE
- ec_word WOWEE
-
-@ 85
- .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M
- .string "TOBY$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THIS
- ec_word ISN_T
- ec_word SPORTS
- ec_word IT_S
- ec_word A
- ec_word BATTLE
-
-@ 86
- .byte TRAINER_CLASS_GENTLEMAN
- .string "NORTON$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word HAVE
- ec_word TO
- ec_word WIN
- ec_word PLEASE
- ec_word LOSE
-
-@ 87
- .byte TRAINER_CLASS_BATTLE_GIRL
- .string "ZOE$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THIS
- ec_word IS
- ec_word SCARY
- ec_word PLEASE
- ec_word BE
- ec_word NICE
-
-@ 88
- .byte TRAINER_CLASS_BEAUTY
- .string "EMMA$", 8
- .byte 0x20 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word DON_T
- ec_word YOU
- ec_move1 FLAIL
- ec_word YOU
- ec_word CAN_T
- ec_move1 WITHDRAW
-
-@ 89
- .byte TRAINER_CLASS_HIKER
- .string "VINCE$", 8
- .byte 0x04 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word YAHOO
- ec_word YAHOO
- ec_word ARE
- ec_word YOU
- ec_word LISTENING
- ec_word QUES
-
-@ 90
- .byte TRAINER_CLASS_EXPERT_M
- .string "MARV$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word LEARN
- ec_word TO
- ec_word BATTLE
- ec_word THE
- ec_word CORRECT
- ec_word WAY
-
-@ 91
- .byte TRAINER_CLASS_POKEMON_BREEDER_M
- .string "TODD$", 8
- .byte 0x40 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word THE
- ec_word WAY
- ec_word YOU
- ec_word BATTLE
- ec_word IT_S
- ec_word CHILD_S_PLAY
-
-@ 92
- .byte TRAINER_CLASS_GUITARIST
- .string "GAVIN$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BABY
- ec_word BABY
- ec_word BABY
- ec_word ROCK
- ec_word ME
- ec_word HARD
-
-@ 93
- .byte TRAINER_CLASS_PSYCHIC_M
- .string "QUINN$", 8
- .byte 0x08 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word HAVE
- ec_word A
- ec_word STICKY_HOLD
- ec_word ON
- ec_word YOU
-
-@ 94
- .byte TRAINER_CLASS_COOL_TRAINER_F
- .string "JENN$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I_AM
- ec_word ON
- ec_word A
- ec_word TOUGH
- ec_word TRAINER
- ec_word SEARCH
-
-@ 95
- .byte TRAINER_CLASS_EXPERT_M
- .string "JOEL$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word BELIEVE
- ec_word IN
- ec_word YOUR
- ec_word POKEMON
- ec_word AND
- ec_word WIN
-
-@ 96
- .byte TRAINER_CLASS_DRAGON_TAMER
- .string "KYLE$", 8
- .byte 0x0C @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word I
- ec_word LIKE
- ec_word A
- ec_word GIRL
- ec_word WITH
- ec_move2 FORESIGHT
-
-@ 97
- .byte TRAINER_CLASS_COOL_TRAINER_M
- .string "BRET$", 8
- .byte 0x01 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TAKE
- ec_word MY
- ec_word OVERWHELMING
- ec_word POWER
- ec_word AND
- ec_word DISAPPEAR
-
-@ 98
- .byte TRAINER_CLASS_EXPERT_F
- .string "CARRIE$", 8
- .byte 0x10 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word TRAINER
- ec_word I
- ec_word SEE
- ec_word YOU
- ec_word ARE
- ec_word CAPABLE
-
-@ 99
- .byte TRAINER_CLASS_LADY
- .string "GILLIAN$", 8
- .byte 0x02 @ team flags
- .2byte 0 @ padding
-@ pre-battle dialogue
- ec_word COME_ON
- ec_word SHOW
- ec_word ME
- ec_word AN
- ec_word EXCELLENT
- ec_word TIME
diff --git a/data/daycare.s b/data/daycare.s
deleted file mode 100644
index 92eb4637e..000000000
--- a/data/daycare.s
+++ /dev/null
@@ -1,17 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-@ 82091DC
- .include "data/egg_moves.inc"
-
- .align 2
-gUnknown_08209AC4:: @ 8209AC4
- .4byte DaycareText_GetAlongVeryWell
- .4byte DaycareText_GetAlong
- .4byte DaycareText_DontLikeOther
- .4byte DaycareText_PlayOther
-
-gUnknown_08209AD4:: @ 8209AD4
- .string "タマゴ$"
diff --git a/data/egg_moves.inc b/data/egg_moves.inc
deleted file mode 100644
index e684e04ce..000000000
--- a/data/egg_moves.inc
+++ /dev/null
@@ -1,1306 +0,0 @@
- .align 2
-gEggMoves:: @ 82091DC
- egg_moves_begin SPECIES_BULBASAUR
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_SKULL_BASH
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_CHARM
- .2byte MOVE_PETAL_DANCE
- .2byte MOVE_MAGICAL_LEAF
- .2byte MOVE_GRASS_WHISTLE
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_CHARMANDER
- .2byte MOVE_BELLY_DRUM
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_BITE
- .2byte MOVE_OUTRAGE
- .2byte MOVE_BEAT_UP
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_DRAGON_DANCE
-
- egg_moves_begin SPECIES_SQUIRTLE
- .2byte MOVE_MIRROR_COAT
- .2byte MOVE_HAZE
- .2byte MOVE_MIST
- .2byte MOVE_FORESIGHT
- .2byte MOVE_FLAIL
- .2byte MOVE_REFRESH
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_YAWN
-
- egg_moves_begin SPECIES_PIDGEY
- .2byte MOVE_PURSUIT
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_FORESIGHT
- .2byte MOVE_STEEL_WING
- .2byte MOVE_AIR_CUTTER
-
- egg_moves_begin SPECIES_RATTATA
- .2byte MOVE_SCREECH
- .2byte MOVE_FLAME_WHEEL
- .2byte MOVE_FURY_SWIPES
- .2byte MOVE_BITE
- .2byte MOVE_COUNTER
- .2byte MOVE_REVERSAL
- .2byte MOVE_UPROAR
- .2byte MOVE_SWAGGER
-
- egg_moves_begin SPECIES_SPEAROW
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_FALSE_SWIPE
- .2byte MOVE_SCARY_FACE
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_TRI_ATTACK
- .2byte MOVE_ASTONISH
- .2byte MOVE_SKY_ATTACK
-
- egg_moves_begin SPECIES_EKANS
- .2byte MOVE_PURSUIT
- .2byte MOVE_SLAM
- .2byte MOVE_SPITE
- .2byte MOVE_BEAT_UP
- .2byte MOVE_POISON_FANG
-
- egg_moves_begin SPECIES_SANDSHREW
- .2byte MOVE_FLAIL
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_COUNTER
- .2byte MOVE_RAPID_SPIN
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_METAL_CLAW
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_CRUSH_CLAW
-
- egg_moves_begin SPECIES_NIDORAN_F
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_DISABLE
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_FOCUS_ENERGY
- .2byte MOVE_CHARM
- .2byte MOVE_COUNTER
- .2byte MOVE_BEAT_UP
-
- egg_moves_begin SPECIES_NIDORAN_M
- .2byte MOVE_COUNTER
- .2byte MOVE_DISABLE
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_AMNESIA
- .2byte MOVE_CONFUSION
- .2byte MOVE_BEAT_UP
-
- egg_moves_begin SPECIES_VULPIX
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_HYPNOSIS
- .2byte MOVE_FLAIL
- .2byte MOVE_SPITE
- .2byte MOVE_DISABLE
- .2byte MOVE_HOWL
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_HEAT_WAVE
-
- egg_moves_begin SPECIES_ZUBAT
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_PURSUIT
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_GUST
- .2byte MOVE_WHIRLWIND
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_ODDISH
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_RAZOR_LEAF
- .2byte MOVE_FLAIL
- .2byte MOVE_SYNTHESIS
- .2byte MOVE_CHARM
- .2byte MOVE_INGRAIN
-
- egg_moves_begin SPECIES_PARAS
- .2byte MOVE_FALSE_SWIPE
- .2byte MOVE_SCREECH
- .2byte MOVE_COUNTER
- .2byte MOVE_PSYBEAM
- .2byte MOVE_FLAIL
- .2byte MOVE_SWEET_SCENT
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_PURSUIT
-
- egg_moves_begin SPECIES_VENONAT
- .2byte MOVE_BATON_PASS
- .2byte MOVE_SCREECH
- .2byte MOVE_GIGA_DRAIN
- .2byte MOVE_SIGNAL_BEAM
-
- egg_moves_begin SPECIES_DIGLETT
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_SCREECH
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_PURSUIT
- .2byte MOVE_BEAT_UP
- .2byte MOVE_UPROAR
- .2byte MOVE_ROCK_SLIDE
-
- egg_moves_begin SPECIES_MEOWTH
- .2byte MOVE_SPITE
- .2byte MOVE_CHARM
- .2byte MOVE_HYPNOSIS
- .2byte MOVE_AMNESIA
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_ASSIST
-
- egg_moves_begin SPECIES_PSYDUCK
- .2byte MOVE_HYPNOSIS
- .2byte MOVE_PSYBEAM
- .2byte MOVE_FORESIGHT
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_PSYCHIC
- .2byte MOVE_CROSS_CHOP
- .2byte MOVE_REFRESH
-
- egg_moves_begin SPECIES_MANKEY
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_FORESIGHT
- .2byte MOVE_MEDITATE
- .2byte MOVE_COUNTER
- .2byte MOVE_REVERSAL
- .2byte MOVE_BEAT_UP
- .2byte MOVE_REVENGE
- .2byte MOVE_SMELLING_SALT
-
- egg_moves_begin SPECIES_GROWLITHE
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_CRUNCH
- .2byte MOVE_THRASH
- .2byte MOVE_FIRE_SPIN
- .2byte MOVE_HOWL
- .2byte MOVE_HEAT_WAVE
-
- egg_moves_begin SPECIES_POLIWAG
- .2byte MOVE_MIST
- .2byte MOVE_SPLASH
- .2byte MOVE_BUBBLE_BEAM
- .2byte MOVE_HAZE
- .2byte MOVE_MIND_READER
- .2byte MOVE_WATER_SPORT
- .2byte MOVE_ICE_BALL
-
- egg_moves_begin SPECIES_ABRA
- .2byte MOVE_ENCORE
- .2byte MOVE_BARRIER
- .2byte MOVE_KNOCK_OFF
- .2byte MOVE_FIRE_PUNCH
- .2byte MOVE_THUNDER_PUNCH
- .2byte MOVE_ICE_PUNCH
-
- egg_moves_begin SPECIES_MACHOP
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_MEDITATE
- .2byte MOVE_ROLLING_KICK
- .2byte MOVE_ENCORE
- .2byte MOVE_SMELLING_SALT
- .2byte MOVE_COUNTER
- .2byte MOVE_ROCK_SLIDE
-
- egg_moves_begin SPECIES_BELLSPROUT
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_ENCORE
- .2byte MOVE_REFLECT
- .2byte MOVE_SYNTHESIS
- .2byte MOVE_LEECH_LIFE
- .2byte MOVE_INGRAIN
- .2byte MOVE_MAGICAL_LEAF
-
- egg_moves_begin SPECIES_TENTACOOL
- .2byte MOVE_AURORA_BEAM
- .2byte MOVE_MIRROR_COAT
- .2byte MOVE_RAPID_SPIN
- .2byte MOVE_HAZE
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_CONFUSE_RAY
-
- egg_moves_begin SPECIES_GEODUDE
- .2byte MOVE_MEGA_PUNCH
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_BLOCK
-
- egg_moves_begin SPECIES_PONYTA
- .2byte MOVE_FLAME_WHEEL
- .2byte MOVE_THRASH
- .2byte MOVE_DOUBLE_KICK
- .2byte MOVE_HYPNOSIS
- .2byte MOVE_CHARM
- .2byte MOVE_DOUBLE_EDGE
-
- egg_moves_begin SPECIES_SLOWPOKE
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_BELLY_DRUM
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_STOMP
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_SLEEP_TALK
- .2byte MOVE_SNORE
-
- egg_moves_begin SPECIES_FARFETCHD
- .2byte MOVE_STEEL_WING
- .2byte MOVE_FORESIGHT
- .2byte MOVE_MIRROR_MOVE
- .2byte MOVE_GUST
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_FLAIL
- .2byte MOVE_FEATHER_DANCE
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_DODUO
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_HAZE
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_FLAIL
- .2byte MOVE_ENDEAVOR
-
- egg_moves_begin SPECIES_SEEL
- .2byte MOVE_LICK
- .2byte MOVE_PERISH_SONG
- .2byte MOVE_DISABLE
- .2byte MOVE_HORN_DRILL
- .2byte MOVE_SLAM
- .2byte MOVE_ENCORE
- .2byte MOVE_FAKE_OUT
- .2byte MOVE_ICICLE_SPEAR
-
- egg_moves_begin SPECIES_GRIMER
- .2byte MOVE_HAZE
- .2byte MOVE_MEAN_LOOK
- .2byte MOVE_LICK
- .2byte MOVE_IMPRISON
- .2byte MOVE_CURSE
- .2byte MOVE_SHADOW_PUNCH
- .2byte MOVE_EXPLOSION
-
- egg_moves_begin SPECIES_SHELLDER
- .2byte MOVE_BUBBLE_BEAM
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_BARRIER
- .2byte MOVE_RAPID_SPIN
- .2byte MOVE_SCREECH
- .2byte MOVE_ICICLE_SPEAR
-
- egg_moves_begin SPECIES_GASTLY
- .2byte MOVE_PSYWAVE
- .2byte MOVE_PERISH_SONG
- .2byte MOVE_HAZE
- .2byte MOVE_ASTONISH
- .2byte MOVE_WILL_O_WISP
- .2byte MOVE_GRUDGE
- .2byte MOVE_EXPLOSION
-
- egg_moves_begin SPECIES_ONIX
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_FLAIL
- .2byte MOVE_EXPLOSION
- .2byte MOVE_BLOCK
-
- egg_moves_begin SPECIES_DROWZEE
- .2byte MOVE_BARRIER
- .2byte MOVE_ASSIST
- .2byte MOVE_ROLE_PLAY
- .2byte MOVE_FIRE_PUNCH
- .2byte MOVE_THUNDER_PUNCH
- .2byte MOVE_ICE_PUNCH
-
- egg_moves_begin SPECIES_KRABBY
- .2byte MOVE_DIG
- .2byte MOVE_HAZE
- .2byte MOVE_AMNESIA
- .2byte MOVE_FLAIL
- .2byte MOVE_SLAM
- .2byte MOVE_KNOCK_OFF
- .2byte MOVE_SWORDS_DANCE
-
- egg_moves_begin SPECIES_EXEGGCUTE
- .2byte MOVE_SYNTHESIS
- .2byte MOVE_MOONLIGHT
- .2byte MOVE_REFLECT
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_INGRAIN
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_CUBONE
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_BELLY_DRUM
- .2byte MOVE_SCREECH
- .2byte MOVE_SKULL_BASH
- .2byte MOVE_PERISH_SONG
- .2byte MOVE_SWORDS_DANCE
-
- egg_moves_begin SPECIES_LICKITUNG
- .2byte MOVE_BELLY_DRUM
- .2byte MOVE_MAGNITUDE
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_CURSE
- .2byte MOVE_SMELLING_SALT
- .2byte MOVE_SLEEP_TALK
- .2byte MOVE_SNORE
- .2byte MOVE_SUBSTITUTE
-
- egg_moves_begin SPECIES_KOFFING
- .2byte MOVE_SCREECH
- .2byte MOVE_PSYWAVE
- .2byte MOVE_PSYBEAM
- .2byte MOVE_DESTINY_BOND
- .2byte MOVE_PAIN_SPLIT
- .2byte MOVE_WILL_O_WISP
-
- egg_moves_begin SPECIES_RHYHORN
- .2byte MOVE_CRUNCH
- .2byte MOVE_REVERSAL
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_COUNTER
- .2byte MOVE_MAGNITUDE
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_CURSE
- .2byte MOVE_CRUSH_CLAW
-
- egg_moves_begin SPECIES_CHANSEY
- .2byte MOVE_PRESENT
- .2byte MOVE_METRONOME
- .2byte MOVE_HEAL_BELL
- .2byte MOVE_AROMATHERAPY
- .2byte MOVE_SUBSTITUTE
-
- egg_moves_begin SPECIES_TANGELA
- .2byte MOVE_FLAIL
- .2byte MOVE_CONFUSION
- .2byte MOVE_MEGA_DRAIN
- .2byte MOVE_REFLECT
- .2byte MOVE_AMNESIA
- .2byte MOVE_LEECH_SEED
- .2byte MOVE_NATURE_POWER
-
- egg_moves_begin SPECIES_KANGASKHAN
- .2byte MOVE_STOMP
- .2byte MOVE_FORESIGHT
- .2byte MOVE_FOCUS_ENERGY
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_DISABLE
- .2byte MOVE_COUNTER
- .2byte MOVE_CRUSH_CLAW
- .2byte MOVE_SUBSTITUTE
-
- egg_moves_begin SPECIES_HORSEA
- .2byte MOVE_FLAIL
- .2byte MOVE_AURORA_BEAM
- .2byte MOVE_OCTAZOOKA
- .2byte MOVE_DISABLE
- .2byte MOVE_SPLASH
- .2byte MOVE_DRAGON_RAGE
- .2byte MOVE_DRAGON_BREATH
-
- egg_moves_begin SPECIES_GOLDEEN
- .2byte MOVE_PSYBEAM
- .2byte MOVE_HAZE
- .2byte MOVE_HYDRO_PUMP
- .2byte MOVE_SLEEP_TALK
- .2byte MOVE_MUD_SPORT
-
- egg_moves_begin SPECIES_MR_MIME
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_HYPNOSIS
- .2byte MOVE_MIMIC
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_FAKE_OUT
- .2byte MOVE_TRICK
-
- egg_moves_begin SPECIES_SCYTHER
- .2byte MOVE_COUNTER
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_BATON_PASS
- .2byte MOVE_RAZOR_WIND
- .2byte MOVE_REVERSAL
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_ENDURE
- .2byte MOVE_SILVER_WIND
-
- egg_moves_begin SPECIES_PINSIR
- .2byte MOVE_FURY_ATTACK
- .2byte MOVE_FLAIL
- .2byte MOVE_FALSE_SWIPE
- .2byte MOVE_FAINT_ATTACK
-
- egg_moves_begin SPECIES_LAPRAS
- .2byte MOVE_FORESIGHT
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_TICKLE
- .2byte MOVE_REFRESH
- .2byte MOVE_DRAGON_DANCE
- .2byte MOVE_CURSE
- .2byte MOVE_SLEEP_TALK
- .2byte MOVE_HORN_DRILL
-
- egg_moves_begin SPECIES_EEVEE
- .2byte MOVE_CHARM
- .2byte MOVE_FLAIL
- .2byte MOVE_ENDURE
- .2byte MOVE_CURSE
- .2byte MOVE_TICKLE
- .2byte MOVE_WISH
-
- egg_moves_begin SPECIES_OMANYTE
- .2byte MOVE_BUBBLE_BEAM
- .2byte MOVE_AURORA_BEAM
- .2byte MOVE_SLAM
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_HAZE
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_SPIKES
-
- egg_moves_begin SPECIES_KABUTO
- .2byte MOVE_BUBBLE_BEAM
- .2byte MOVE_AURORA_BEAM
- .2byte MOVE_RAPID_SPIN
- .2byte MOVE_DIG
- .2byte MOVE_FLAIL
- .2byte MOVE_KNOCK_OFF
- .2byte MOVE_CONFUSE_RAY
-
- egg_moves_begin SPECIES_AERODACTYL
- .2byte MOVE_WHIRLWIND
- .2byte MOVE_PURSUIT
- .2byte MOVE_FORESIGHT
- .2byte MOVE_STEEL_WING
- .2byte MOVE_DRAGON_BREATH
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_SNORLAX
- .2byte MOVE_LICK
- .2byte MOVE_CHARM
- .2byte MOVE_DOUBLE_EDGE
- .2byte MOVE_CURSE
- .2byte MOVE_FISSURE
- .2byte MOVE_SUBSTITUTE
-
- egg_moves_begin SPECIES_DRATINI
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_MIST
- .2byte MOVE_HAZE
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_DRAGON_BREATH
- .2byte MOVE_DRAGON_DANCE
-
- egg_moves_begin SPECIES_CHIKORITA
- .2byte MOVE_VINE_WHIP
- .2byte MOVE_LEECH_SEED
- .2byte MOVE_COUNTER
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_FLAIL
- .2byte MOVE_NATURE_POWER
- .2byte MOVE_INGRAIN
- .2byte MOVE_GRASS_WHISTLE
-
- egg_moves_begin SPECIES_CYNDAQUIL
- .2byte MOVE_FURY_SWIPES
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_REVERSAL
- .2byte MOVE_THRASH
- .2byte MOVE_FORESIGHT
- .2byte MOVE_COVET
- .2byte MOVE_HOWL
- .2byte MOVE_CRUSH_CLAW
-
- egg_moves_begin SPECIES_TOTODILE
- .2byte MOVE_CRUNCH
- .2byte MOVE_THRASH
- .2byte MOVE_HYDRO_PUMP
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_WATER_SPORT
- .2byte MOVE_DRAGON_CLAW
-
- egg_moves_begin SPECIES_SENTRET
- .2byte MOVE_DOUBLE_EDGE
- .2byte MOVE_PURSUIT
- .2byte MOVE_SLASH
- .2byte MOVE_FOCUS_ENERGY
- .2byte MOVE_REVERSAL
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_TRICK
- .2byte MOVE_ASSIST
-
- egg_moves_begin SPECIES_HOOTHOOT
- .2byte MOVE_MIRROR_MOVE
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_WING_ATTACK
- .2byte MOVE_WHIRLWIND
- .2byte MOVE_SKY_ATTACK
- .2byte MOVE_FEATHER_DANCE
-
- egg_moves_begin SPECIES_LEDYBA
- .2byte MOVE_PSYBEAM
- .2byte MOVE_BIDE
- .2byte MOVE_SILVER_WIND
-
- egg_moves_begin SPECIES_SPINARAK
- .2byte MOVE_PSYBEAM
- .2byte MOVE_DISABLE
- .2byte MOVE_SONIC_BOOM
- .2byte MOVE_BATON_PASS
- .2byte MOVE_PURSUIT
- .2byte MOVE_SIGNAL_BEAM
-
- egg_moves_begin SPECIES_CHINCHOU
- .2byte MOVE_FLAIL
- .2byte MOVE_SCREECH
- .2byte MOVE_AMNESIA
-
- egg_moves_begin SPECIES_PICHU
- .2byte MOVE_REVERSAL
- .2byte MOVE_BIDE
- .2byte MOVE_PRESENT
- .2byte MOVE_ENCORE
- .2byte MOVE_DOUBLE_SLAP
- .2byte MOVE_WISH
- .2byte MOVE_CHARGE
-
- egg_moves_begin SPECIES_CLEFFA
- .2byte MOVE_PRESENT
- .2byte MOVE_METRONOME
- .2byte MOVE_AMNESIA
- .2byte MOVE_BELLY_DRUM
- .2byte MOVE_SPLASH
- .2byte MOVE_MIMIC
- .2byte MOVE_WISH
- .2byte MOVE_SUBSTITUTE
-
- egg_moves_begin SPECIES_IGGLYBUFF
- .2byte MOVE_PERISH_SONG
- .2byte MOVE_PRESENT
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_WISH
- .2byte MOVE_FAKE_TEARS
-
- egg_moves_begin SPECIES_TOGEPI
- .2byte MOVE_PRESENT
- .2byte MOVE_MIRROR_MOVE
- .2byte MOVE_PECK
- .2byte MOVE_FORESIGHT
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_PSYCH_UP
-
- egg_moves_begin SPECIES_NATU
- .2byte MOVE_HAZE
- .2byte MOVE_DRILL_PECK
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_STEEL_WING
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_FEATHER_DANCE
- .2byte MOVE_REFRESH
-
- egg_moves_begin SPECIES_MAREEP
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_SCREECH
- .2byte MOVE_REFLECT
- .2byte MOVE_ODOR_SLEUTH
- .2byte MOVE_CHARGE
-
- egg_moves_begin SPECIES_MARILL
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_PRESENT
- .2byte MOVE_AMNESIA
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_BELLY_DRUM
- .2byte MOVE_PERISH_SONG
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_SUBSTITUTE
-
- egg_moves_begin SPECIES_SUDOWOODO
- .2byte MOVE_SELF_DESTRUCT
-
- egg_moves_begin SPECIES_HOPPIP
- .2byte MOVE_CONFUSION
- .2byte MOVE_ENCORE
- .2byte MOVE_DOUBLE_EDGE
- .2byte MOVE_REFLECT
- .2byte MOVE_AMNESIA
- .2byte MOVE_HELPING_HAND
- .2byte MOVE_PSYCH_UP
-
- egg_moves_begin SPECIES_AIPOM
- .2byte MOVE_COUNTER
- .2byte MOVE_SCREECH
- .2byte MOVE_PURSUIT
- .2byte MOVE_AGILITY
- .2byte MOVE_SPITE
- .2byte MOVE_SLAM
- .2byte MOVE_DOUBLE_SLAP
- .2byte MOVE_BEAT_UP
-
- egg_moves_begin SPECIES_SUNKERN
- .2byte MOVE_GRASS_WHISTLE
- .2byte MOVE_ENCORE
- .2byte MOVE_LEECH_SEED
- .2byte MOVE_NATURE_POWER
- .2byte MOVE_CURSE
- .2byte MOVE_HELPING_HAND
-
- egg_moves_begin SPECIES_YANMA
- .2byte MOVE_WHIRLWIND
- .2byte MOVE_REVERSAL
- .2byte MOVE_LEECH_LIFE
- .2byte MOVE_SIGNAL_BEAM
- .2byte MOVE_SILVER_WIND
-
- egg_moves_begin SPECIES_WOOPER
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_CURSE
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_STOCKPILE
- .2byte MOVE_SWALLOW
- .2byte MOVE_SPIT_UP
-
- egg_moves_begin SPECIES_MURKROW
- .2byte MOVE_WHIRLWIND
- .2byte MOVE_DRILL_PECK
- .2byte MOVE_MIRROR_MOVE
- .2byte MOVE_WING_ATTACK
- .2byte MOVE_SKY_ATTACK
- .2byte MOVE_CONFUSE_RAY
- .2byte MOVE_FEATHER_DANCE
- .2byte MOVE_PERISH_SONG
-
- egg_moves_begin SPECIES_MISDREAVUS
- .2byte MOVE_SCREECH
- .2byte MOVE_DESTINY_BOND
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_IMPRISON
-
- egg_moves_begin SPECIES_GIRAFARIG
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_AMNESIA
- .2byte MOVE_FORESIGHT
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_BEAT_UP
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_WISH
- .2byte MOVE_MAGIC_COAT
-
- egg_moves_begin SPECIES_PINECO
- .2byte MOVE_REFLECT
- .2byte MOVE_PIN_MISSILE
- .2byte MOVE_FLAIL
- .2byte MOVE_SWIFT
- .2byte MOVE_COUNTER
- .2byte MOVE_SAND_TOMB
-
- egg_moves_begin SPECIES_DUNSPARCE
- .2byte MOVE_BIDE
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_BITE
- .2byte MOVE_HEADBUTT
- .2byte MOVE_ASTONISH
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_GLIGAR
- .2byte MOVE_METAL_CLAW
- .2byte MOVE_WING_ATTACK
- .2byte MOVE_RAZOR_WIND
- .2byte MOVE_COUNTER
- .2byte MOVE_SAND_TOMB
-
- egg_moves_begin SPECIES_SNUBBULL
- .2byte MOVE_METRONOME
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_REFLECT
- .2byte MOVE_PRESENT
- .2byte MOVE_CRUNCH
- .2byte MOVE_HEAL_BELL
- .2byte MOVE_SNORE
- .2byte MOVE_SMELLING_SALT
-
- egg_moves_begin SPECIES_QWILFISH
- .2byte MOVE_FLAIL
- .2byte MOVE_HAZE
- .2byte MOVE_BUBBLE_BEAM
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_ASTONISH
-
- egg_moves_begin SPECIES_SHUCKLE
- .2byte MOVE_SWEET_SCENT
-
- egg_moves_begin SPECIES_HERACROSS
- .2byte MOVE_HARDEN
- .2byte MOVE_BIDE
- .2byte MOVE_FLAIL
- .2byte MOVE_FALSE_SWIPE
-
- egg_moves_begin SPECIES_SNEASEL
- .2byte MOVE_COUNTER
- .2byte MOVE_SPITE
- .2byte MOVE_FORESIGHT
- .2byte MOVE_REFLECT
- .2byte MOVE_BITE
- .2byte MOVE_CRUSH_CLAW
- .2byte MOVE_FAKE_OUT
-
- egg_moves_begin SPECIES_TEDDIURSA
- .2byte MOVE_CRUNCH
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_SEISMIC_TOSS
- .2byte MOVE_COUNTER
- .2byte MOVE_METAL_CLAW
- .2byte MOVE_FAKE_TEARS
- .2byte MOVE_YAWN
- .2byte MOVE_SLEEP_TALK
-
- egg_moves_begin SPECIES_SLUGMA
- .2byte MOVE_ACID_ARMOR
- .2byte MOVE_HEAT_WAVE
-
- egg_moves_begin SPECIES_SWINUB
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_BITE
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_MUD_SHOT
- .2byte MOVE_ICICLE_SPEAR
- .2byte MOVE_DOUBLE_EDGE
-
- egg_moves_begin SPECIES_CORSOLA
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_SCREECH
- .2byte MOVE_MIST
- .2byte MOVE_AMNESIA
- .2byte MOVE_BARRIER
- .2byte MOVE_INGRAIN
- .2byte MOVE_CONFUSE_RAY
- .2byte MOVE_ICICLE_SPEAR
-
- egg_moves_begin SPECIES_REMORAID
- .2byte MOVE_AURORA_BEAM
- .2byte MOVE_OCTAZOOKA
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_HAZE
- .2byte MOVE_SCREECH
- .2byte MOVE_THUNDER_WAVE
- .2byte MOVE_ROCK_BLAST
-
- egg_moves_begin SPECIES_DELIBIRD
- .2byte MOVE_AURORA_BEAM
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_SPLASH
- .2byte MOVE_RAPID_SPIN
- .2byte MOVE_ICE_BALL
-
- egg_moves_begin SPECIES_MANTINE
- .2byte MOVE_TWISTER
- .2byte MOVE_HYDRO_PUMP
- .2byte MOVE_HAZE
- .2byte MOVE_SLAM
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_ROCK_SLIDE
-
- egg_moves_begin SPECIES_SKARMORY
- .2byte MOVE_DRILL_PECK
- .2byte MOVE_PURSUIT
- .2byte MOVE_WHIRLWIND
- .2byte MOVE_SKY_ATTACK
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_HOUNDOUR
- .2byte MOVE_FIRE_SPIN
- .2byte MOVE_RAGE
- .2byte MOVE_PURSUIT
- .2byte MOVE_COUNTER
- .2byte MOVE_SPITE
- .2byte MOVE_REVERSAL
- .2byte MOVE_BEAT_UP
- .2byte MOVE_WILL_O_WISP
-
- egg_moves_begin SPECIES_PHANPY
- .2byte MOVE_FOCUS_ENERGY
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_SNORE
- .2byte MOVE_COUNTER
- .2byte MOVE_FISSURE
-
- egg_moves_begin SPECIES_STANTLER
- .2byte MOVE_SPITE
- .2byte MOVE_DISABLE
- .2byte MOVE_BITE
- .2byte MOVE_SWAGGER
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_EXTRASENSORY
-
- egg_moves_begin SPECIES_TYROGUE
- .2byte MOVE_RAPID_SPIN
- .2byte MOVE_HI_JUMP_KICK
- .2byte MOVE_MACH_PUNCH
- .2byte MOVE_MIND_READER
- .2byte MOVE_HELPING_HAND
-
- egg_moves_begin SPECIES_SMOOCHUM
- .2byte MOVE_MEDITATE
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_FAKE_OUT
- .2byte MOVE_WISH
- .2byte MOVE_ICE_PUNCH
-
- egg_moves_begin SPECIES_ELEKID
- .2byte MOVE_KARATE_CHOP
- .2byte MOVE_BARRIER
- .2byte MOVE_ROLLING_KICK
- .2byte MOVE_MEDITATE
- .2byte MOVE_CROSS_CHOP
- .2byte MOVE_FIRE_PUNCH
- .2byte MOVE_ICE_PUNCH
-
- egg_moves_begin SPECIES_MAGBY
- .2byte MOVE_KARATE_CHOP
- .2byte MOVE_MEGA_PUNCH
- .2byte MOVE_BARRIER
- .2byte MOVE_SCREECH
- .2byte MOVE_CROSS_CHOP
- .2byte MOVE_THUNDER_PUNCH
-
- egg_moves_begin SPECIES_MILTANK
- .2byte MOVE_PRESENT
- .2byte MOVE_REVERSAL
- .2byte MOVE_SEISMIC_TOSS
- .2byte MOVE_ENDURE
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_CURSE
- .2byte MOVE_HELPING_HAND
- .2byte MOVE_SLEEP_TALK
-
- egg_moves_begin SPECIES_LARVITAR
- .2byte MOVE_PURSUIT
- .2byte MOVE_STOMP
- .2byte MOVE_OUTRAGE
- .2byte MOVE_FOCUS_ENERGY
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_DRAGON_DANCE
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_TREECKO
- .2byte MOVE_CRUNCH
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_ENDEAVOR
- .2byte MOVE_LEECH_SEED
- .2byte MOVE_DRAGON_BREATH
- .2byte MOVE_CRUSH_CLAW
-
- egg_moves_begin SPECIES_TORCHIC
- .2byte MOVE_COUNTER
- .2byte MOVE_REVERSAL
- .2byte MOVE_ENDURE
- .2byte MOVE_SWAGGER
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_SMELLING_SALT
-
- egg_moves_begin SPECIES_MUDKIP
- .2byte MOVE_REFRESH
- .2byte MOVE_UPROAR
- .2byte MOVE_CURSE
- .2byte MOVE_STOMP
- .2byte MOVE_ICE_BALL
- .2byte MOVE_MIRROR_COAT
-
- egg_moves_begin SPECIES_POOCHYENA
- .2byte MOVE_ASTONISH
- .2byte MOVE_POISON_FANG
- .2byte MOVE_COVET
- .2byte MOVE_LEER
- .2byte MOVE_YAWN
-
- egg_moves_begin SPECIES_ZIGZAGOON
- .2byte MOVE_CHARM
- .2byte MOVE_PURSUIT
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_TICKLE
- .2byte MOVE_TRICK
-
- egg_moves_begin SPECIES_LOTAD
- .2byte MOVE_SYNTHESIS
- .2byte MOVE_RAZOR_LEAF
- .2byte MOVE_SWEET_SCENT
- .2byte MOVE_LEECH_SEED
- .2byte MOVE_FLAIL
- .2byte MOVE_WATER_GUN
-
- egg_moves_begin SPECIES_SEEDOT
- .2byte MOVE_LEECH_SEED
- .2byte MOVE_AMNESIA
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_RAZOR_WIND
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_FALSE_SWIPE
-
- egg_moves_begin SPECIES_NINCADA
- .2byte MOVE_ENDURE
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_GUST
- .2byte MOVE_SILVER_WIND
-
- egg_moves_begin SPECIES_TAILLOW
- .2byte MOVE_PURSUIT
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_REFRESH
- .2byte MOVE_MIRROR_MOVE
- .2byte MOVE_RAGE
- .2byte MOVE_SKY_ATTACK
-
- egg_moves_begin SPECIES_SHROOMISH
- .2byte MOVE_FAKE_TEARS
- .2byte MOVE_SWAGGER
- .2byte MOVE_CHARM
- .2byte MOVE_FALSE_SWIPE
- .2byte MOVE_HELPING_HAND
-
- egg_moves_begin SPECIES_SPINDA
- .2byte MOVE_ENCORE
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_ASSIST
- .2byte MOVE_DISABLE
- .2byte MOVE_BATON_PASS
- .2byte MOVE_WISH
- .2byte MOVE_TRICK
- .2byte MOVE_SMELLING_SALT
-
- egg_moves_begin SPECIES_WINGULL
- .2byte MOVE_MIST
- .2byte MOVE_TWISTER
- .2byte MOVE_AGILITY
- .2byte MOVE_GUST
- .2byte MOVE_WATER_SPORT
-
- egg_moves_begin SPECIES_SURSKIT
- .2byte MOVE_FORESIGHT
- .2byte MOVE_MUD_SHOT
- .2byte MOVE_PSYBEAM
- .2byte MOVE_HYDRO_PUMP
- .2byte MOVE_MIND_READER
-
- egg_moves_begin SPECIES_WAILMER
- .2byte MOVE_DOUBLE_EDGE
- .2byte MOVE_THRASH
- .2byte MOVE_SWAGGER
- .2byte MOVE_SNORE
- .2byte MOVE_SLEEP_TALK
- .2byte MOVE_CURSE
- .2byte MOVE_FISSURE
- .2byte MOVE_TICKLE
-
- egg_moves_begin SPECIES_SKITTY
- .2byte MOVE_HELPING_HAND
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_UPROAR
- .2byte MOVE_FAKE_TEARS
- .2byte MOVE_WISH
- .2byte MOVE_BATON_PASS
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_TICKLE
-
- egg_moves_begin SPECIES_KECLEON
- .2byte MOVE_DISABLE
- .2byte MOVE_MAGIC_COAT
- .2byte MOVE_TRICK
-
- egg_moves_begin SPECIES_NOSEPASS
- .2byte MOVE_MAGNITUDE
- .2byte MOVE_ROLLOUT
- .2byte MOVE_EXPLOSION
-
- egg_moves_begin SPECIES_TORKOAL
- .2byte MOVE_ERUPTION
- .2byte MOVE_ENDURE
- .2byte MOVE_SLEEP_TALK
- .2byte MOVE_YAWN
-
- egg_moves_begin SPECIES_SABLEYE
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_RECOVER
- .2byte MOVE_MOONLIGHT
-
- egg_moves_begin SPECIES_BARBOACH
- .2byte MOVE_THRASH
- .2byte MOVE_WHIRLPOOL
- .2byte MOVE_SPARK
-
- egg_moves_begin SPECIES_LUVDISC
- .2byte MOVE_SPLASH
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_WATER_SPORT
- .2byte MOVE_MUD_SPORT
-
- egg_moves_begin SPECIES_CORPHISH
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_ENDEAVOR
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_ANCIENT_POWER
-
- egg_moves_begin SPECIES_FEEBAS
- .2byte MOVE_MIRROR_COAT
- .2byte MOVE_DRAGON_BREATH
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_HYPNOSIS
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_CONFUSE_RAY
-
- egg_moves_begin SPECIES_CARVANHA
- .2byte MOVE_HYDRO_PUMP
- .2byte MOVE_DOUBLE_EDGE
- .2byte MOVE_THRASH
-
- egg_moves_begin SPECIES_TRAPINCH
- .2byte MOVE_FOCUS_ENERGY
- .2byte MOVE_QUICK_ATTACK
- .2byte MOVE_GUST
-
- egg_moves_begin SPECIES_MAKUHITA
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_DETECT
- .2byte MOVE_FORESIGHT
- .2byte MOVE_HELPING_HAND
- .2byte MOVE_CROSS_CHOP
- .2byte MOVE_REVENGE
- .2byte MOVE_DYNAMIC_PUNCH
- .2byte MOVE_COUNTER
-
- egg_moves_begin SPECIES_ELECTRIKE
- .2byte MOVE_CRUNCH
- .2byte MOVE_HEADBUTT
- .2byte MOVE_UPROAR
- .2byte MOVE_CURSE
- .2byte MOVE_SWIFT
-
- egg_moves_begin SPECIES_NUMEL
- .2byte MOVE_HOWL
- .2byte MOVE_SCARY_FACE
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_ROLLOUT
- .2byte MOVE_DEFENSE_CURL
- .2byte MOVE_STOMP
-
- egg_moves_begin SPECIES_SPHEAL
- .2byte MOVE_WATER_SPORT
- .2byte MOVE_STOCKPILE
- .2byte MOVE_SWALLOW
- .2byte MOVE_SPIT_UP
- .2byte MOVE_YAWN
- .2byte MOVE_ROCK_SLIDE
- .2byte MOVE_CURSE
- .2byte MOVE_FISSURE
-
- egg_moves_begin SPECIES_CACNEA
- .2byte MOVE_GRASS_WHISTLE
- .2byte MOVE_ACID
- .2byte MOVE_TEETER_DANCE
- .2byte MOVE_DYNAMIC_PUNCH
- .2byte MOVE_COUNTER
-
- egg_moves_begin SPECIES_SNORUNT
- .2byte MOVE_BLOCK
- .2byte MOVE_SPIKES
-
- egg_moves_begin SPECIES_AZURILL
- .2byte MOVE_ENCORE
- .2byte MOVE_SING
- .2byte MOVE_REFRESH
- .2byte MOVE_SLAM
- .2byte MOVE_TICKLE
-
- egg_moves_begin SPECIES_SPOINK
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_EXTRASENSORY
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_TRICK
-
- egg_moves_begin SPECIES_PLUSLE
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_WISH
-
- egg_moves_begin SPECIES_MINUN
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_WISH
-
- egg_moves_begin SPECIES_MAWILE
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_FALSE_SWIPE
- .2byte MOVE_POISON_FANG
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_ANCIENT_POWER
- .2byte MOVE_TICKLE
-
- egg_moves_begin SPECIES_MEDITITE
- .2byte MOVE_FIRE_PUNCH
- .2byte MOVE_THUNDER_PUNCH
- .2byte MOVE_ICE_PUNCH
- .2byte MOVE_FORESIGHT
- .2byte MOVE_FAKE_OUT
- .2byte MOVE_BATON_PASS
- .2byte MOVE_DYNAMIC_PUNCH
-
- egg_moves_begin SPECIES_SWABLU
- .2byte MOVE_AGILITY
- .2byte MOVE_HAZE
- .2byte MOVE_PURSUIT
- .2byte MOVE_RAGE
-
- egg_moves_begin SPECIES_DUSKULL
- .2byte MOVE_IMPRISON
- .2byte MOVE_DESTINY_BOND
- .2byte MOVE_PAIN_SPLIT
- .2byte MOVE_GRUDGE
- .2byte MOVE_MEMENTO
- .2byte MOVE_FAINT_ATTACK
-
- egg_moves_begin SPECIES_ROSELIA
- .2byte MOVE_SPIKES
- .2byte MOVE_SYNTHESIS
- .2byte MOVE_PIN_MISSILE
- .2byte MOVE_COTTON_SPORE
-
- egg_moves_begin SPECIES_SLAKOTH
- .2byte MOVE_PURSUIT
- .2byte MOVE_SLASH
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_SNORE
- .2byte MOVE_CRUSH_CLAW
- .2byte MOVE_CURSE
- .2byte MOVE_SLEEP_TALK
-
- egg_moves_begin SPECIES_GULPIN
- .2byte MOVE_DREAM_EATER
- .2byte MOVE_ACID_ARMOR
- .2byte MOVE_SMOG
- .2byte MOVE_PAIN_SPLIT
-
- egg_moves_begin SPECIES_TROPIUS
- .2byte MOVE_HEADBUTT
- .2byte MOVE_SLAM
- .2byte MOVE_RAZOR_WIND
- .2byte MOVE_LEECH_SEED
- .2byte MOVE_NATURE_POWER
-
- egg_moves_begin SPECIES_WHISMUR
- .2byte MOVE_TAKE_DOWN
- .2byte MOVE_SNORE
- .2byte MOVE_SWAGGER
- .2byte MOVE_EXTRASENSORY
- .2byte MOVE_SMELLING_SALT
-
- egg_moves_begin SPECIES_CLAMPERL
- .2byte MOVE_REFRESH
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_BARRIER
- .2byte MOVE_CONFUSE_RAY
-
- egg_moves_begin SPECIES_ABSOL
- .2byte MOVE_BATON_PASS
- .2byte MOVE_FAINT_ATTACK
- .2byte MOVE_DOUBLE_EDGE
- .2byte MOVE_MAGIC_COAT
- .2byte MOVE_CURSE
- .2byte MOVE_SUBSTITUTE
-
- egg_moves_begin SPECIES_SHUPPET
- .2byte MOVE_DISABLE
- .2byte MOVE_DESTINY_BOND
- .2byte MOVE_FORESIGHT
- .2byte MOVE_ASTONISH
- .2byte MOVE_IMPRISON
-
- egg_moves_begin SPECIES_SEVIPER
- .2byte MOVE_STOCKPILE
- .2byte MOVE_SWALLOW
- .2byte MOVE_SPIT_UP
- .2byte MOVE_BODY_SLAM
-
- egg_moves_begin SPECIES_ZANGOOSE
- .2byte MOVE_FLAIL
- .2byte MOVE_DOUBLE_KICK
- .2byte MOVE_RAZOR_WIND
- .2byte MOVE_COUNTER
- .2byte MOVE_ROAR
- .2byte MOVE_CURSE
-
- egg_moves_begin SPECIES_RELICANTH
- .2byte MOVE_MAGNITUDE
- .2byte MOVE_SKULL_BASH
- .2byte MOVE_WATER_SPORT
- .2byte MOVE_AMNESIA
- .2byte MOVE_SLEEP_TALK
- .2byte MOVE_ROCK_SLIDE
-
- egg_moves_begin SPECIES_ARON
- .2byte MOVE_ENDEAVOR
- .2byte MOVE_BODY_SLAM
- .2byte MOVE_STOMP
- .2byte MOVE_SMELLING_SALT
-
- egg_moves_begin SPECIES_CASTFORM
- .2byte MOVE_FUTURE_SIGHT
- .2byte MOVE_PSYCH_UP
-
- egg_moves_begin SPECIES_VOLBEAT
- .2byte MOVE_BATON_PASS
- .2byte MOVE_SILVER_WIND
- .2byte MOVE_TRICK
-
- egg_moves_begin SPECIES_ILLUMISE
- .2byte MOVE_BATON_PASS
- .2byte MOVE_SILVER_WIND
- .2byte MOVE_GROWTH
-
- egg_moves_begin SPECIES_LILEEP
- .2byte MOVE_BARRIER
- .2byte MOVE_RECOVER
- .2byte MOVE_MIRROR_COAT
- .2byte MOVE_ROCK_SLIDE
-
- egg_moves_begin SPECIES_ANORITH
- .2byte MOVE_RAPID_SPIN
- .2byte MOVE_KNOCK_OFF
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_ROCK_SLIDE
-
- egg_moves_begin SPECIES_RALTS
- .2byte MOVE_DISABLE
- .2byte MOVE_WILL_O_WISP
- .2byte MOVE_MEAN_LOOK
- .2byte MOVE_MEMENTO
- .2byte MOVE_DESTINY_BOND
-
- egg_moves_begin SPECIES_BAGON
- .2byte MOVE_HYDRO_PUMP
- .2byte MOVE_THRASH
- .2byte MOVE_DRAGON_RAGE
- .2byte MOVE_TWISTER
- .2byte MOVE_DRAGON_DANCE
-
- egg_moves_begin SPECIES_CHIMECHO
- .2byte MOVE_DISABLE
- .2byte MOVE_CURSE
- .2byte MOVE_HYPNOSIS
- .2byte MOVE_DREAM_EATER
-
- .2byte -1
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 0a8390a8f..854b52c9e 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -386,27 +386,27 @@ gStdScripts_End::
gUnknown_0815F36C:: @ 815F36C
lockall
- playsfx 2
+ playse 2
message UnknownString_81A3A72
- doanimation 61
+ dofieldeffect 61
waitstate
- waittext
+ waitmessage
waitbutton
- playsfx 5
- jump EventScript_15F384
+ playse 5
+ goto EventScript_15F384
end
EventScript_15F384:
message UnknownString_81A3A87
- waittext
+ waitmessage
checkflag 268
- jumpeq EventScript_15F3A0
- jump EventScript_15F3E2
+ goto_if_eq EventScript_15F3A0
+ goto EventScript_15F3E2
end
gUnknown_0815F399:: @ 815F399
lockall
- jump EventScript_15F384
+ goto EventScript_15F384
end
EventScript_15F3A0:
@@ -431,8 +431,8 @@ EventScript_15F3E2:
EventScript_15F419:
msgbox UnknownString_81A38FB, 5
compare RESULT, 0
- jumpeq EventScript_15F384
- closebutton
+ goto_if_eq EventScript_15F384
+ closemessage
special SecretBasePC_PackUp
releaseall
end
@@ -448,18 +448,18 @@ EventScript_15F436:
gUnknown_0815F43A:: @ 815F43A
lockall
message UnknownString_81A3A72
- playsfx 2
- doanimation 61
+ playse 2
+ dofieldeffect 61
waitstate
- waittext
+ waitmessage
waitbutton
- playsfx 5
- jump EventScript_15F452
+ playse 5
+ goto EventScript_15F452
end
EventScript_15F452:
message UnknownString_81A3A87
- waittext
+ waitmessage
multichoice 0, 0, 7, 0
switch RESULT
case 0, EventScript_15F4A1
@@ -471,19 +471,19 @@ EventScript_15F452:
gUnknown_0815F49A:: @ 815F49A
lockall
- jump EventScript_15F452
+ goto EventScript_15F452
end
EventScript_15F4A1:
special sub_80BC56C
compare RESULT, 1
- jumpeq EventScript_15F4E0
+ goto_if_eq EventScript_15F4E0
compare RESULT, 2
- jumpeq EventScript_15F503
+ goto_if_eq EventScript_15F503
special sub_80BC224
msgbox UnknownString_81A3958, 5
compare RESULT, 0
- jumpeq EventScript_15F452
+ goto_if_eq EventScript_15F452
msgbox UnknownString_81A3A22, 3
special sub_80BC5BC
special sub_80C683C
@@ -493,7 +493,7 @@ EventScript_15F4A1:
EventScript_15F4E0:
msgbox UnknownString_81A3982, 5
compare RESULT, 0
- jumpeq EventScript_15F452
+ goto_if_eq EventScript_15F452
msgbox UnknownString_81A3A3A, 3
special sub_80BC5BC
special sub_80C683C
@@ -503,37 +503,37 @@ EventScript_15F4E0:
EventScript_15F503:
msgbox UnknownString_81A39C0, 3
special sub_80C683C
- closebutton
+ closemessage
releaseall
end
EventScript_15F511:
message UnknownString_81A3AA2
- waittext
- jump EventScript_15F452
+ waitmessage
+ goto EventScript_15F452
end
EventScript_15F51D:
special sub_80C683C
- closebutton
+ closemessage
releaseall
end
gUnknown_0815F523:: @ 815F523
- doanimation 52
+ dofieldeffect 52
waitstate
end
gUnknown_0815F528:: @ 815F528
special GetShieldToyTVDecorationInfo
compare RESULT, 0
- jumpeq EventScript_15F558
+ goto_if_eq EventScript_15F558
compare RESULT, 1
- jumpeq EventScript_15F561
+ goto_if_eq EventScript_15F561
compare RESULT, 2
- jumpeq EventScript_15F56A
+ goto_if_eq EventScript_15F56A
compare RESULT, 3
- jumpeq EventScript_15F573
+ goto_if_eq EventScript_15F573
end
EventScript_15F558:
@@ -890,7 +890,7 @@ Std_2:
lock
faceplayer
message 0x0
- waittext
+ waitmessage
waitbutton
release
return
@@ -898,20 +898,20 @@ Std_2:
Std_3:
lockall
message 0x0
- waittext
+ waitmessage
waitbutton
releaseall
return
Std_4:
message 0x0
- waittext
+ waitmessage
waitbutton
return
Std_5:
message 0x0
- waittext
+ waitmessage
yesnobox 20, 8
return
@@ -928,63 +928,63 @@ gUnknown_0819F80B:: @ 819F80B
special PlayTrainerEncounterMusic
special ScrSpecial_EndTrainerApproach
waitstate
- jump EventScript_19F8F2
+ goto EventScript_19F8F2
gUnknown_0819F818:: @ 819F818
lock
faceplayer
- move LAST_TALKED, Movement_19F8F0
- waitmove 0
- specialval RESULT, ScrSpecial_HasTrainerBeenFought
+ applymovement LAST_TALKED, Movement_19F8F0
+ waitmovement 0
+ specialvar RESULT, ScrSpecial_HasTrainerBeenFought
compare RESULT, 0
- jumpif 5, EventScript_19F83F
+ goto_if 5, EventScript_19F83F
special PlayTrainerEncounterMusic
special sub_8082524
- jump EventScript_19F8F2
+ goto EventScript_19F8F2
EventScript_19F83F:
- endtrainerbattle
+ ontrainerbattleend
gUnknown_0819F840:: @ 819F840
lock
faceplayer
call EventScript_19F8E5
- specialval RESULT, ScrSpecial_HasTrainerBeenFought
+ specialvar RESULT, ScrSpecial_HasTrainerBeenFought
compare RESULT, 0
- jumpif 5, EventScript_19F877
+ goto_if 5, EventScript_19F877
special CheckForAlivePartyMons
compare RESULT, 0
- jumpif 5, EventScript_19F870
+ goto_if 5, EventScript_19F870
special PlayTrainerEncounterMusic
special sub_8082524
- jump EventScript_19F8F2
+ goto EventScript_19F8F2
EventScript_19F870:
special ScrSpecial_ShowTrainerNonBattlingSpeech
- waittext
+ waitmessage
waitbutton
release
end
EventScript_19F877:
- endtrainerbattle
+ ontrainerbattleend
gUnknown_0819F878:: @ 819F878
- move LAST_TALKED, Movement_19F8F0
- waitmove 0
+ applymovement LAST_TALKED, Movement_19F8F0
+ waitmovement 0
special PlayTrainerEncounterMusic
- reptrainerbattle
- endtrainerbattle
+ battlebegin
+ ontrainerbattleend
gUnknown_0819F887:: @ 819F887
call EventScript_19F8E5
- specialval RESULT, ScrSpecial_GetTrainerEyeRematchFlag
+ specialvar RESULT, ScrSpecial_GetTrainerEyeRematchFlag
compare RESULT, 0
- jumpeq EventScript_19F8AD
+ goto_if_eq EventScript_19F8AD
special PlayTrainerEncounterMusic
special sub_8082524
special ScrSpecial_ShowTrainerIntroSpeech
- waittext
+ waitmessage
waitbutton
special ScrSpecial_StartTrainerEyeRematch
waitstate
@@ -992,19 +992,19 @@ gUnknown_0819F887:: @ 819F887
end
EventScript_19F8AD:
- endtrainerbattle
+ ontrainerbattleend
gUnknown_0819F8AE:: @ 819F8AE
- specialval RESULT, ScrSpecial_GetTrainerEyeRematchFlag
+ specialvar RESULT, ScrSpecial_GetTrainerEyeRematchFlag
compare RESULT, 0
- jumpeq EventScript_19F8DD
+ goto_if_eq EventScript_19F8DD
special CheckForAlivePartyMons
compare RESULT, 0
- jumpif 5, EventScript_19F8DE
+ goto_if 5, EventScript_19F8DE
special PlayTrainerEncounterMusic
special sub_8082524
special ScrSpecial_ShowTrainerIntroSpeech
- waittext
+ waitmessage
waitbutton
special ScrSpecial_StartTrainerEyeRematch
waitstate
@@ -1012,18 +1012,18 @@ gUnknown_0819F8AE:: @ 819F8AE
end
EventScript_19F8DD:
- endtrainerbattle
+ ontrainerbattleend
EventScript_19F8DE:
special ScrSpecial_ShowTrainerNonBattlingSpeech
- waittext
+ waitmessage
waitbutton
release
end
EventScript_19F8E5:
- move LAST_TALKED, Movement_19F8F0
- waitmove 0
+ applymovement LAST_TALKED, Movement_19F8F0
+ waitmovement 0
return
Movement_19F8F0::
@@ -1032,116 +1032,116 @@ Movement_19F8F0::
EventScript_19F8F2:
special ScrSpecial_ShowTrainerIntroSpeech
- waittext
+ waitmessage
waitbutton
- reptrainerbattle
- specialval RESULT, ScrSpecial_GetTrainerBattleMode
+ battlebegin
+ specialvar RESULT, ScrSpecial_GetTrainerBattleMode
compare RESULT, 0
- jumpeq EventScript_19F934
+ goto_if_eq EventScript_19F934
compare RESULT, 2
- jumpeq EventScript_19F936
+ goto_if_eq EventScript_19F936
compare RESULT, 1
- jumpeq EventScript_19F936
+ goto_if_eq EventScript_19F936
compare RESULT, 6
- jumpeq EventScript_19F936
+ goto_if_eq EventScript_19F936
compare RESULT, 8
- jumpeq EventScript_19F936
+ goto_if_eq EventScript_19F936
EventScript_19F934:
releaseall
end
EventScript_19F936:
- endtrainerbattle2
+ ontrainerbattleendgoto
Std_6::
message 0x0
- waittext
+ waitmessage
waitbutton
release
return
Event_ResetBerryTrees: @ 19F940
- event_8a 2, 7, 5
- event_8a 1, 3, 5
- event_8a 11, 7, 5
- event_8a 13, 3, 5
- event_8a 4, 7, 5
- event_8a 76, 1, 5
- event_8a 8, 1, 5
- event_8a 10, 6, 5
- event_8a 25, 20, 5
- event_8a 26, 2, 5
- event_8a 66, 2, 5
- event_8a 67, 20, 5
- event_8a 69, 22, 5
- event_8a 70, 22, 5
- event_8a 71, 22, 5
- event_8a 55, 17, 5
- event_8a 56, 17, 5
- event_8a 5, 1, 5
- event_8a 6, 6, 5
- event_8a 7, 1, 5
- event_8a 16, 18, 5
- event_8a 17, 18, 5
- event_8a 18, 18, 5
- event_8a 29, 19, 5
- event_8a 28, 19, 5
- event_8a 27, 19, 5
- event_8a 24, 4, 5
- event_8a 23, 3, 5
- event_8a 22, 3, 5
- event_8a 21, 4, 5
- event_8a 19, 16, 5
- event_8a 20, 16, 5
- event_8a 80, 7, 5
- event_8a 81, 7, 5
- event_8a 77, 8, 5
- event_8a 78, 8, 5
- event_8a 68, 8, 5
- event_8a 31, 10, 5
- event_8a 33, 10, 5
- event_8a 34, 21, 5
- event_8a 35, 21, 5
- event_8a 36, 21, 5
- event_8a 83, 24, 5
- event_8a 84, 24, 5
- event_8a 85, 10, 5
- event_8a 86, 6, 5
- event_8a 37, 5, 5
- event_8a 38, 5, 5
- event_8a 39, 5, 5
- event_8a 40, 3, 5
- event_8a 41, 3, 5
- event_8a 42, 3, 5
- event_8a 46, 19, 5
- event_8a 45, 20, 5
- event_8a 44, 18, 5
- event_8a 43, 16, 5
- event_8a 47, 8, 5
- event_8a 48, 5, 5
- event_8a 49, 4, 5
- event_8a 50, 2, 5
- event_8a 52, 18, 5
- event_8a 53, 18, 5
- event_8a 62, 6, 5
- event_8a 64, 6, 5
- event_8a 58, 21, 5
- event_8a 59, 21, 5
- event_8a 60, 25, 5
- event_8a 61, 25, 5
- event_8a 79, 23, 5
- event_8a 14, 23, 5
- event_8a 15, 21, 5
- event_8a 30, 21, 5
- event_8a 65, 25, 5
- event_8a 72, 25, 5
- event_8a 73, 23, 5
- event_8a 74, 23, 5
- event_8a 87, 3, 5
- event_8a 88, 10, 5
- event_8a 89, 4, 5
- event_8a 82, 36, 5
+ plantberrytree 2, 7, 5
+ plantberrytree 1, 3, 5
+ plantberrytree 11, 7, 5
+ plantberrytree 13, 3, 5
+ plantberrytree 4, 7, 5
+ plantberrytree 76, 1, 5
+ plantberrytree 8, 1, 5
+ plantberrytree 10, 6, 5
+ plantberrytree 25, 20, 5
+ plantberrytree 26, 2, 5
+ plantberrytree 66, 2, 5
+ plantberrytree 67, 20, 5
+ plantberrytree 69, 22, 5
+ plantberrytree 70, 22, 5
+ plantberrytree 71, 22, 5
+ plantberrytree 55, 17, 5
+ plantberrytree 56, 17, 5
+ plantberrytree 5, 1, 5
+ plantberrytree 6, 6, 5
+ plantberrytree 7, 1, 5
+ plantberrytree 16, 18, 5
+ plantberrytree 17, 18, 5
+ plantberrytree 18, 18, 5
+ plantberrytree 29, 19, 5
+ plantberrytree 28, 19, 5
+ plantberrytree 27, 19, 5
+ plantberrytree 24, 4, 5
+ plantberrytree 23, 3, 5
+ plantberrytree 22, 3, 5
+ plantberrytree 21, 4, 5
+ plantberrytree 19, 16, 5
+ plantberrytree 20, 16, 5
+ plantberrytree 80, 7, 5
+ plantberrytree 81, 7, 5
+ plantberrytree 77, 8, 5
+ plantberrytree 78, 8, 5
+ plantberrytree 68, 8, 5
+ plantberrytree 31, 10, 5
+ plantberrytree 33, 10, 5
+ plantberrytree 34, 21, 5
+ plantberrytree 35, 21, 5
+ plantberrytree 36, 21, 5
+ plantberrytree 83, 24, 5
+ plantberrytree 84, 24, 5
+ plantberrytree 85, 10, 5
+ plantberrytree 86, 6, 5
+ plantberrytree 37, 5, 5
+ plantberrytree 38, 5, 5
+ plantberrytree 39, 5, 5
+ plantberrytree 40, 3, 5
+ plantberrytree 41, 3, 5
+ plantberrytree 42, 3, 5
+ plantberrytree 46, 19, 5
+ plantberrytree 45, 20, 5
+ plantberrytree 44, 18, 5
+ plantberrytree 43, 16, 5
+ plantberrytree 47, 8, 5
+ plantberrytree 48, 5, 5
+ plantberrytree 49, 4, 5
+ plantberrytree 50, 2, 5
+ plantberrytree 52, 18, 5
+ plantberrytree 53, 18, 5
+ plantberrytree 62, 6, 5
+ plantberrytree 64, 6, 5
+ plantberrytree 58, 21, 5
+ plantberrytree 59, 21, 5
+ plantberrytree 60, 25, 5
+ plantberrytree 61, 25, 5
+ plantberrytree 79, 23, 5
+ plantberrytree 14, 23, 5
+ plantberrytree 15, 21, 5
+ plantberrytree 30, 21, 5
+ plantberrytree 65, 25, 5
+ plantberrytree 72, 25, 5
+ plantberrytree 73, 23, 5
+ plantberrytree 74, 23, 5
+ plantberrytree 87, 3, 5
+ plantberrytree 88, 10, 5
+ plantberrytree 89, 4, 5
+ plantberrytree 82, 36, 5
return
gUnknown_0819FA81:: @ 819FA81
@@ -1292,13 +1292,13 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13
clearflag 861
special sub_810FAA0
checkflag 291
- callif 0, EverGrandeCity_HallOfFame_EventScript_19FC62
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC62
checkflag 255
- callif 0, EverGrandeCity_HallOfFame_EventScript_19FC70
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC70
checkflag 298
- callif 0, EverGrandeCity_HallOfFame_EventScript_19FC5A
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5A
checkflag 123
- callif 0, EverGrandeCity_HallOfFame_EventScript_19FC5E
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5E
return
EverGrandeCity_HallOfFame_EventScript_19FC5A:: @ 819FC5A
@@ -1322,25 +1322,25 @@ EverGrandeCity_HallOfFame_EventScript_19FC70:: @ 819FC70
S_WhiteOut:: @ 819FC74
call EverGrandeCity_HallOfFame_EventScript_19FD09
call EventScript_19FC84
- jump gUnknown_0819FC9F
+ goto gUnknown_0819FC9F
end
EventScript_19FC84:
checkflag 221
- jumpeq Route101_EventScript_1A14DC
+ goto_if_eq Route101_EventScript_1A14DC
checkflag 1213
- jumpif 0, Route101_EventScript_1A14DC
+ goto_if 0, Route101_EventScript_1A14DC
clearflag 929
setvar 0x4053, 2
return
gUnknown_0819FC9F:: @ 819FC9F
compare 0x4096, 1
- jumpeq EventScript_19FCC1
+ goto_if_eq EventScript_19FCC1
compare 0x4096, 2
- jumpeq EventScript_19FCD7
+ goto_if_eq EventScript_19FCD7
compare 0x4096, 3
- jumpeq EventScript_19FCF0
+ goto_if_eq EventScript_19FCF0
end
EventScript_19FCC1:
@@ -1393,15 +1393,15 @@ RustboroCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
SlateportCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
VerdanturfTown_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B
checkflag 188
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC
checkflag 1217
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_1A14DC
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_1A14DC
checkflag 742
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49
checkflag 740
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F
checkflag 741
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55
return
OldaleTown_PokemonCenter_1F_EventScript_19FD49:: @ 819FD49
@@ -1434,52 +1434,52 @@ VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B:: @ 819FD5B
faceplayer
msgbox gText_NurseJoy_Welcome, MSGBOX_YESNO
compare RESULT, 1
- jumpeq do_heal_party
+ goto_if_eq do_heal_party
compare RESULT, 0
- jumpeq dont_heal_party
+ goto_if_eq dont_heal_party
end
do_heal_party:: @ 819FD7C
- inccounter GAME_STAT_USED_POKECENTER
+ incrementgamestat GAME_STAT_USED_POKECENTER
message gText_NurseJoy_OkayIllTakeYourPokemon
- waittext
- move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A083F
- waitmove 0
- doanimation 25
- checkanimation 25
- move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845
- waitmove 0
+ waitmessage
+ applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A083F
+ waitmovement 0
+ dofieldeffect 25
+ waitfieldeffect 25
+ applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845
+ waitmovement 0
special ScrSpecial_HealPlayerParty
checkflag 273
- jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
- jump OldaleTown_PokemonCenter_1F_EventScript_19FDB0
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE
+ goto OldaleTown_PokemonCenter_1F_EventScript_19FDB0
end
OldaleTown_PokemonCenter_1F_EventScript_19FDB0:: @ 819FDB0
message gText_NurseJoy_ThankYouForWaiting
- waittext
- move 0x800b, OldaleTown_PokemonCenter_1F_Movement_19FDF4
- waitmove 0
+ waitmessage
+ applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_19FDF4
+ waitmovement 0
message gText_NurseJoy_WeHopeToSeeYouAgain
- waittext
+ waitmessage
return
dont_heal_party:: @ 819FDC7
message gText_NurseJoy_WeHopeToSeeYouAgain
- waittext
+ waitmessage
return
OldaleTown_PokemonCenter_1F_EventScript_19FDCE:: @ 819FDCE
- specialval RESULT, IsPokerusInParty
+ specialvar RESULT, IsPokerusInParty
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDEA
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDEA
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDB0
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDB0
end
OldaleTown_PokemonCenter_1F_EventScript_19FDEA:: @ 819FDEA
message gText_NurseJoy_Pokerus
- waittext
+ waitmessage
setflag 273
return
@@ -1495,13 +1495,13 @@ Std_ObtainItem: @ 819FDF7
return
Std_ObtainItem_: @ 819FE07
- bufferitem 1, 0x8000
+ getitemname 1, 0x8000
checkitemtype 0x8000
call GetItem_HandlePocket
compare 0x8007, 0x1
- callif 1, Std_ObtainItem_Success
+ call_if 1, Std_ObtainItem_Success
compare 0x8007, 0x0
- callif 1, Std_ObtainItem_Fail
+ call_if 1, Std_ObtainItem_Fail
return
GetItem_HandlePocket:
@@ -1514,39 +1514,39 @@ GetItem_HandlePocket:
end
GetItem_HandlePocket_Items:
- bufferstd 2, 0xE
+ getstdstring 2, 0xE
compare 0x8007, 1
- callif 1, PlayGetItemFanfare
+ call_if 1, PlayGetItemFanfare
return
GetItem_HandlePocket_KeyItems:
- bufferstd 2, 0xF
+ getstdstring 2, 0xF
compare 0x8007, 1
- callif 1, PlayGetItemFanfare
+ call_if 1, PlayGetItemFanfare
return
GetItem_HandlePocket_PokeBalls:
- bufferstd 2, 0x10
+ getstdstring 2, 0x10
compare 0x8007, 1
- callif 1, PlayGetItemFanfare
+ call_if 1, PlayGetItemFanfare
return
GetItem_HandlePocket_TMsHMs:
- bufferstd 2, 0x11
+ getstdstring 2, 0x11
compare 0x8007, 1
- callif 1, PlayGetTMHMFanfare
+ call_if 1, PlayGetTMHMFanfare
return
GetItem_HandlePocket_Berries:
- bufferstd 2, 0x12
+ getstdstring 2, 0x12
compare 0x8007, 1
- callif 1, PlayGetItemFanfare
+ call_if 1, PlayGetItemFanfare
return
Std_ObtainItem_Success: @ 819FEB7
message Message_ObtainedItem
waitfanfare
- waittext
+ waitmessage
msgbox Message_PutAwayItem
setvar RESULT, 1
return
@@ -1556,11 +1556,11 @@ Std_ObtainItem_Fail: @ 819FECC
return
PlayGetItemFanfare:
- fanfare 0x172
+ playfanfare 0x172
return
PlayGetTMHMFanfare:
- fanfare 0x174
+ playfanfare 0x174
return
Std_ObtainDecoration: @ 819FEDA
@@ -1570,18 +1570,18 @@ Std_ObtainDecoration: @ 819FEDA
return
Std_ObtainDecoration_: @ 819FEE8
- bufferdecor 1, 0x8000
+ getdecorname 1, 0x8000
compare 0x8007, 1
- callif 1, Std_ObtainDecoration_Success
+ call_if 1, Std_ObtainDecoration_Success
compare 0x8007, 0
- callif 1, Std_ObtainDecoration_Fail
+ call_if 1, Std_ObtainDecoration_Fail
return
Std_ObtainDecoration_Success: @ 819FF03
- fanfare 0x172
+ playfanfare 0x172
message Message_ObtainedDecoration
waitfanfare
- waittext
+ waitmessage
msgbox Message_TransferredToPC
setvar RESULT, 1
return
@@ -1593,24 +1593,24 @@ Std_ObtainDecoration_Fail: @ 819FF1B
Std_FindItem: @ 819FF21
lock
faceplayer
- checksound
+ waitse
additem 0x8000, 0x8001
copyvar 0x8007, RESULT
- bufferitem 1, 0x8000
+ getitemname 1, 0x8000
checkitemtype 0x8000
call GetItem_HandlePocket
compare 0x8007, 1
- callif 1, Std_FindItem_Success
+ call_if 1, Std_FindItem_Success
compare 0x8007, 0
- callif 1, Std_FindItem_Fail
+ call_if 1, Std_FindItem_Fail
release
return
Std_FindItem_Success: @ 819FF52
- disappear LAST_TALKED
+ removeobject LAST_TALKED
message Message_FoundOneItem
waitfanfare
- waittext
+ waitmessage
msgbox Message_PutAwayItem
return
@@ -1622,22 +1622,22 @@ Std_FindItem_Fail: @ 819FF65
HiddenItemScript:: @ 819FF7B
lockall
- checksound
+ waitse
additem 0x8005, 1
copyvar 0x8007, RESULT
- bufferitem 0x1, 0x8005
+ getitemname 0x1, 0x8005
checkitemtype 0x8005
call GetItem_HandlePocket
compare 0x8007, 1
- jumpeq HiddenItemScript_Success
+ goto_if_eq HiddenItemScript_Success
compare 0x8007, 0
- jumpeq HiddenItemScript_Fail
+ goto_if_eq HiddenItemScript_Fail
end
HiddenItemScript_Success:
message Message_FoundOneItem
waitfanfare
- waittext
+ waitmessage
msgbox Message_PutAwayItem
special SetFlagInVar
releaseall
@@ -1655,10 +1655,10 @@ UnusedMixRecordsScript: @ 819FFD5
faceplayer
msgbox UnusedMixRecordsPromptText, 5
compare RESULT, 1
- jumpeq UnusedMixRecordsScript_Yes
+ goto_if_eq UnusedMixRecordsScript_Yes
compare RESULT, 0
- jumpeq UnusedMixRecordsScript_Done
- jump UnusedMixRecordsScript_Done
+ goto_if_eq UnusedMixRecordsScript_Done
+ goto UnusedMixRecordsScript_Done
UnusedMixRecordsScript_Yes: @ 819FFFA
special sub_80B929C
waitstate
@@ -1666,7 +1666,7 @@ UnusedMixRecordsScript_Yes: @ 819FFFA
faceplayer
UnusedMixRecordsScript_Done: @ 81A0000
message UnusedMixRecordsSeeYouAgainText
- waittext
+ waitmessage
waitbutton
release
end
@@ -1675,17 +1675,17 @@ gUnknown_081A0009:: @ 81A0009
lockall
setvar 0x8004, 0
special DoPCTurnOnEffect
- playsfx 4
+ playse 4
msgbox UnknownString_81A09EC, 4
- jump EventScript_1A0023
+ goto EventScript_1A0023
end
EventScript_1A0023:
message gPCText_WhichPCShouldBeAccessed
- waittext
+ waitmessage
special ScrSpecial_CreatePCMenu
waitstate
- jump EventScript_1A0033
+ goto EventScript_1A0033
end
EventScript_1A0033:
@@ -1698,23 +1698,23 @@ EventScript_1A0033:
end
EventScript_1A0070:
- playsfx 2
+ playse 2
msgbox UnknownString_81A0A54, 4
special PlayerPC
waitstate
- jump EventScript_1A0023
+ goto EventScript_1A0023
end
EventScript_1A0085:
- playsfx 2
+ playse 2
checkflag 2123
- callif 0, EventScript_1A00AC
+ call_if 0, EventScript_1A00AC
checkflag 2123
- callif 1, EventScript_1A00B5
+ call_if 1, EventScript_1A00B5
msgbox UnknownString_81A0A35, 4
special ShowPokemonStorageSystem
waitstate
- jump EventScript_1A0023
+ goto EventScript_1A0023
end
EventScript_1A00AC:
@@ -1727,18 +1727,18 @@ EventScript_1A00B5:
EventScript_1A00BE:
setvar 0x8004, 0
- playsfx 3
+ playse 3
special DoPCTurnOffEffect
releaseall
end
EventScript_1A00CB:
checkflag 2052
- jumpif 0, EventScript_1A00BE
- playsfx 2
+ goto_if 0, EventScript_1A00BE
+ playse 2
special AccessHallOfFamePC
waitstate
- jump EventScript_1A0033
+ goto EventScript_1A0033
end
FallarborTown_EventScript_1A00E1:: @ 81A00E1
@@ -1797,7 +1797,7 @@ RustboroCity_Gym_EventScript_1A00FB:: @ 81A00FB
DewfordTown_EventScript_1A0102:: @ 81A0102
DewfordTown_Hall_EventScript_1A0102:: @ 81A0102
- checkdailyflags
+ dodailyevents
setvar 0x8004, 0
special sub_80FA5BC
return
@@ -1810,17 +1810,17 @@ Route109_EventScript_1A010C:: @ 81A010C
return
UseSurfScript:: @ 81A0117
- checkattack MOVE_SURF
+ checkpokemove MOVE_SURF
compare RESULT, 6
- jumpeq UseSurfScript_NoMon
- bufferpartypoke 0, RESULT
- setanimation 0, RESULT
+ goto_if_eq UseSurfScript_NoMon
+ getpartypokename 0, RESULT
+ setfieldeffect 0, RESULT
lockall
msgbox UseSurfPromptText, 5
compare RESULT, 0
- jumpeq UseSurfScript_No
+ goto_if_eq UseSurfScript_No
msgbox UsedSurfText, 4
- doanimation 9
+ dofieldeffect 9
UseSurfScript_No: @ 81A014C
releaseall
UseSurfScript_NoMon: @ 81A014D
@@ -1835,11 +1835,11 @@ Route103_EventScript_1A014E:: @ 81A014E
Route110_EventScript_1A014E:: @ 81A014E
Route119_EventScript_1A014E:: @ 81A014E
RustboroCity_EventScript_1A014E:: @ 81A014E
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq RustboroCity_EventScript_1A0166
+ goto_if_eq RustboroCity_EventScript_1A0166
compare RESULT, 1
- jumpeq RustboroCity_EventScript_1A016C
+ goto_if_eq RustboroCity_EventScript_1A016C
end
RustboroCity_EventScript_1A0166:: @ 81A0166
@@ -1853,11 +1853,11 @@ RustboroCity_EventScript_1A016C:: @ 81A016C
LavaridgeTown_EventScript_1A0172:: @ 81A0172
Route110_EventScript_1A0172:: @ 81A0172
Route119_EventScript_1A0172:: @ 81A0172
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq LavaridgeTown_EventScript_1A018A
+ goto_if_eq LavaridgeTown_EventScript_1A018A
compare RESULT, 1
- jumpeq LavaridgeTown_EventScript_1A0190
+ goto_if_eq LavaridgeTown_EventScript_1A0190
end
LavaridgeTown_EventScript_1A018A:: @ 81A018A
@@ -1939,66 +1939,66 @@ SootopolisCity_Gym_1F_EventScript_1A01C0:: @ 81A01C0
end
DewfordTown_Gym_EventScript_1A021E:: @ 81A021E
- cleartrainerflag OPPONENT_JOSH
- cleartrainerflag OPPONENT_TOMMY
+ settrainerflag OPPONENT_JOSH
+ settrainerflag OPPONENT_TOMMY
return
DewfordTown_Gym_EventScript_1A0225:: @ 81A0225
- cleartrainerflag OPPONENT_HIDEKI
- cleartrainerflag OPPONENT_TESSA
- cleartrainerflag OPPONENT_LAURA
+ settrainerflag OPPONENT_HIDEKI
+ settrainerflag OPPONENT_TESSA
+ settrainerflag OPPONENT_LAURA
return
DewfordTown_Gym_EventScript_1A022F:: @ 81A022F
- cleartrainerflag OPPONENT_KIRK
- cleartrainerflag OPPONENT_SHAWN
- cleartrainerflag OPPONENT_BEN
- cleartrainerflag OPPONENT_VIVIAN
+ settrainerflag OPPONENT_KIRK
+ settrainerflag OPPONENT_SHAWN
+ settrainerflag OPPONENT_BEN
+ settrainerflag OPPONENT_VIVIAN
return
DewfordTown_Gym_EventScript_1A023C:: @ 81A023C
- cleartrainerflag OPPONENT_COLE
- cleartrainerflag OPPONENT_AXLE
- cleartrainerflag OPPONENT_ANDY
- cleartrainerflag OPPONENT_ZANE
- cleartrainerflag OPPONENT_SADIE
+ settrainerflag OPPONENT_COLE
+ settrainerflag OPPONENT_AXLE
+ settrainerflag OPPONENT_ANDY
+ settrainerflag OPPONENT_ZANE
+ settrainerflag OPPONENT_SADIE
return
DewfordTown_Gym_EventScript_1A024C:: @ 81A024C
- cleartrainerflag OPPONENT_RANDALL
- cleartrainerflag OPPONENT_PARKER
- cleartrainerflag OPPONENT_GEORGE
- cleartrainerflag OPPONENT_BERKE
- cleartrainerflag OPPONENT_MARY
- cleartrainerflag OPPONENT_LORI
- cleartrainerflag OPPONENT_JODY
+ settrainerflag OPPONENT_RANDALL
+ settrainerflag OPPONENT_PARKER
+ settrainerflag OPPONENT_GEORGE
+ settrainerflag OPPONENT_BERKE
+ settrainerflag OPPONENT_MARY
+ settrainerflag OPPONENT_LORI
+ settrainerflag OPPONENT_JODY
return
DewfordTown_Gym_EventScript_1A0262:: @ 81A0262
- cleartrainerflag OPPONENT_JARED
- cleartrainerflag OPPONENT_TERRELL
- cleartrainerflag OPPONENT_KYLEE
- cleartrainerflag OPPONENT_WILL
+ settrainerflag OPPONENT_JARED
+ settrainerflag OPPONENT_TERRELL
+ settrainerflag OPPONENT_KYLEE
+ settrainerflag OPPONENT_WILL
return
DewfordTown_Gym_EventScript_1A026F:: @ 81A026F
- cleartrainerflag OPPONENT_PRESTON
- cleartrainerflag OPPONENT_VIRGIL
- cleartrainerflag OPPONENT_FRITZ
- cleartrainerflag OPPONENT_HANNAH
- cleartrainerflag OPPONENT_SAMANTHA
- cleartrainerflag OPPONENT_MAURA
+ settrainerflag OPPONENT_PRESTON
+ settrainerflag OPPONENT_VIRGIL
+ settrainerflag OPPONENT_FRITZ
+ settrainerflag OPPONENT_HANNAH
+ settrainerflag OPPONENT_SAMANTHA
+ settrainerflag OPPONENT_MAURA
return
DewfordTown_Gym_EventScript_1A0282:: @ 81A0282
- cleartrainerflag OPPONENT_ANDREA
- cleartrainerflag OPPONENT_CRISSY
- cleartrainerflag OPPONENT_BRIANNA_2
- cleartrainerflag OPPONENT_CONNIE
- cleartrainerflag OPPONENT_BRIDGET
- cleartrainerflag OPPONENT_OLIVIA
- cleartrainerflag OPPONENT_TIFFANY
- cleartrainerflag OPPONENT_MARISSA
+ settrainerflag OPPONENT_ANDREA
+ settrainerflag OPPONENT_CRISSY
+ settrainerflag OPPONENT_BRIANNA_2
+ settrainerflag OPPONENT_CONNIE
+ settrainerflag OPPONENT_BRIDGET
+ settrainerflag OPPONENT_OLIVIA
+ settrainerflag OPPONENT_TIFFANY
+ settrainerflag OPPONENT_MARISSA
return
DewfordTown_Gym_EventScript_1A029B:: @ 81A029B
@@ -2095,7 +2095,7 @@ MossdeepCity_Gym_EventScript_1A02C5:: @ 81A02C5
PetalburgCity_Gym_EventScript_1A02C5:: @ 81A02C5
RustboroCity_Gym_EventScript_1A02C5:: @ 81A02C5
SootopolisCity_Gym_1F_EventScript_1A02C5:: @ 81A02C5
- fanfare 369
+ playfanfare 369
waitfanfare
return
@@ -2104,7 +2104,7 @@ Route111_OldLadysRestStop_EventScript_1A02CA:: @ 81A02CA
Route119_WeatherInstitute_1F_EventScript_1A02CA:: @ 81A02CA
SSTidalRooms_EventScript_1A02CA:: @ 81A02CA
fadescreen 1
- fanfare 368
+ playfanfare 368
waitfanfare
special ScrSpecial_HealPlayerParty
fadescreen 0
@@ -2123,37 +2123,37 @@ DewfordTown_EventScript_1A02E7:: @ 81A02E7
Route104_EventScript_1A02E7:: @ 81A02E7
Route109_EventScript_1A02E7:: @ 81A02E7
setflag 0x4001
- playmusic 431, 0
+ playbgm 431, 0
return
DewfordTown_EventScript_1A02EF:: @ 81A02EF
Route104_EventScript_1A02EF:: @ 81A02EF
Route109_EventScript_1A02EF:: @ 81A02EF
clearflag 0x4001
- fadedefault
+ fadedefaultbgm
return
LittlerootTown_ProfessorBirchsLab_EventScript_1A02F4:: @ 81A02F4
Route101_EventScript_1A02F4:: @ 81A02F4
Route103_EventScript_1A02F4:: @ 81A02F4
compare 0x4085, 0
- jumpeq Route101_EventScript_1A14DC
+ goto_if_eq Route101_EventScript_1A14DC
compare 0x4049, 0
- callif 1, Route101_EventScript_1A0358
+ call_if 1, Route101_EventScript_1A0358
compare 0x4049, 1
- callif 1, Route101_EventScript_1A0358
+ call_if 1, Route101_EventScript_1A0358
compare 0x4049, 2
- callif 1, Route101_EventScript_1A0365
+ call_if 1, Route101_EventScript_1A0365
compare 0x4049, 3
- callif 1, Route101_EventScript_1A0365
+ call_if 1, Route101_EventScript_1A0365
compare 0x4049, 4
- callif 1, Route101_EventScript_1A0372
+ call_if 1, Route101_EventScript_1A0372
compare 0x4049, 5
- callif 1, Route101_EventScript_1A0372
+ call_if 1, Route101_EventScript_1A0372
compare 0x4049, 6
- callif 1, Route101_EventScript_1A0358
+ call_if 1, Route101_EventScript_1A0358
compare 0x4049, 7
- callif 1, Route101_EventScript_1A0358
+ call_if 1, Route101_EventScript_1A0358
return
Route101_EventScript_1A0358:: @ 81A0358
@@ -2184,7 +2184,7 @@ Route103_EventScript_1A037F:: @ 81A037F
faceplayer
msgbox Route101_Text_1C4449, 5
compare RESULT, 0
- jumpeq Route101_EventScript_1A039B
+ goto_if_eq Route101_EventScript_1A039B
call Route101_EventScript_1A03B0
release
end
@@ -2197,38 +2197,38 @@ Route101_EventScript_1A039B:: @ 81A039B
Route101_EventScript_1A03A5:: @ 81A03A5
copyvar 0x8004, 0x8009
special ShowPokedexRatingMessage
- waittext
+ waitmessage
waitbutton
return
EverGrandeCity_ChampionsRoom_EventScript_1A03B0:: @ 81A03B0
Route101_EventScript_1A03B0:: @ 81A03B0
setvar 0x8004, 0
- specialval RESULT, ScriptGetPokedexInfo
+ specialvar RESULT, ScriptGetPokedexInfo
copyvar 0x8008, 0x8005
copyvar 0x8009, 0x8006
copyvar 0x800a, RESULT
- buffernum 0, 0x8008
- buffernum 1, 0x8009
+ getnumberstring 0, 0x8008
+ getnumberstring 1, 0x8009
msgbox Route101_Text_1C44DC, 4
call Route101_EventScript_1A03A5
compare 0x800a, 0
- jumpeq Route101_EventScript_1A14DC
+ goto_if_eq Route101_EventScript_1A14DC
setvar 0x8004, 1
- specialval RESULT, ScriptGetPokedexInfo
+ specialvar RESULT, ScriptGetPokedexInfo
copyvar 0x8008, 0x8005
copyvar 0x8009, 0x8006
- buffernum 0, 0x8008
- buffernum 1, 0x8009
+ getnumberstring 0, 0x8008
+ getnumberstring 1, 0x8009
msgbox Route101_Text_1C4B05, 4
return
BattleTower_Outside_EventScript_1A040E:: @ 81A040E
LilycoveCity_Harbor_EventScript_1A040E:: @ 81A040E
SlateportCity_Harbor_EventScript_1A040E:: @ 81A040E
- pause 60
- move 0x8004, SlateportCity_Harbor_Movement_1A041C
- waitmove 0
+ delay 60
+ applymovement 0x8004, SlateportCity_Harbor_Movement_1A041C
+ waitmovement 0
return
SlateportCity_Harbor_Movement_1A041C:: @ 81A041C
@@ -2254,8 +2254,8 @@ PetalburgCity_Gym_EventScript_1A0424:: @ 81A0424
return
RusturfTunnel_EventScript_1A0442:: @ 81A0442
- disappear 1
- disappear 10
+ removeobject 1
+ removeobject 10
clearflag 808
clearflag 984
setvar 0x409a, 6
@@ -2263,14 +2263,14 @@ RusturfTunnel_EventScript_1A0442:: @ 81A0442
return
EventScript_1A0457: @ unreferenced?
- pause 30
- move 255, SlateportCity_OceanicMuseum_2F_Movement_1A0841
- waitmove 0
- spritevisible 255, 0, 0
- pause 30
- move 255, Movement_1A047A
- waitmove 0
- pause 30
+ delay 30
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_1A0841
+ waitmovement 0
+ showobject 255, 0, 0
+ delay 30
+ applymovement 255, Movement_1A047A
+ waitmovement 0
+ delay 30
return
Movement_1A047A:
@@ -2280,18 +2280,18 @@ Movement_1A047A:
BattleTower_Outside_EventScript_1A047C:: @ 81A047C
SouthernIsland_Exterior_EventScript_1A047C:: @ 81A047C
compare FACING, 1
- callif 1, BattleTower_Outside_EventScript_160B2F
+ call_if 1, BattleTower_Outside_EventScript_160B2F
compare FACING, 3
- callif 1, BattleTower_Outside_EventScript_160B3A
- pause 30
- spriteinvisible 255, 0, 0
+ call_if 1, BattleTower_Outside_EventScript_160B3A
+ delay 30
+ hideobject 255, 0, 0
call BattleTower_Outside_EventScript_1A040E
return
CaveOfOrigin_B4F_EventScript_1A04A0:: @ 81A04A0
lockall
- checksound
- pokecry SPECIES_GROUDON_OR_KYOGRE, 2
+ waitse
+ playpokecry SPECIES_GROUDON_OR_KYOGRE, 2
waitpokecry
setvar 0x4005, 1
releaseall
@@ -2303,20 +2303,20 @@ CaveOfOrigin_B2F_EventScript_1A04AF:: @ 81A04AF
CaveOfOrigin_B3F_EventScript_1A04AF:: @ 81A04AF
lockall
setvar 0x4001, 1
- jump CaveOfOrigin_1F_EventScript_1A04D3
+ goto CaveOfOrigin_1F_EventScript_1A04D3
end
CaveOfOrigin_B2F_EventScript_1A04BB:: @ 81A04BB
CaveOfOrigin_B3F_EventScript_1A04BB:: @ 81A04BB
lockall
setvar 0x4002, 1
- jump CaveOfOrigin_B2F_EventScript_1A04D3
+ goto CaveOfOrigin_B2F_EventScript_1A04D3
end
@ 81A04C7
lockall
setvar 0x4003, 1
- jump CaveOfOrigin_B2F_EventScript_1A04D3
+ goto CaveOfOrigin_B2F_EventScript_1A04D3
end
CaveOfOrigin_1F_EventScript_1A04D3:: @ 81A04D3
@@ -2345,9 +2345,9 @@ MagmaHideout_B1F_EventScript_1A04FD:: @ 81A04FD
lock
faceplayer
setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
- checksound
- pokecry SPECIES_ELECTRODE, 2
- pause 40
+ waitse
+ playpokecry SPECIES_ELECTRODE, 2
+ delay 40
waitpokecry
setflag 977
setflag 2145
@@ -2361,9 +2361,9 @@ MagmaHideout_B1F_EventScript_1A051B:: @ 81A051B
lock
faceplayer
setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
- checksound
- pokecry SPECIES_ELECTRODE, 2
- pause 40
+ waitse
+ playpokecry SPECIES_ELECTRODE, 2
+ delay 40
waitpokecry
setflag 978
setflag 2145
@@ -2376,56 +2376,56 @@ Route120_EventScript_1A0539:: @ 81A0539
lock
faceplayer
setvar 0x8004, 1
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route120_EventScript_1A0546:: @ 81A0546
lock
faceplayer
setvar 0x8004, 2
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route120_EventScript_1A0553:: @ 81A0553
lock
faceplayer
setvar 0x8004, 3
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route120_EventScript_1A0560:: @ 81A0560
lock
faceplayer
setvar 0x8004, 4
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route120_EventScript_1A056D:: @ 81A056D
lock
faceplayer
setvar 0x8004, 5
- jump Route120_EventScript_1A0594
+ goto Route120_EventScript_1A0594
end
Route119_EventScript_1A057A:: @ 81A057A
lock
faceplayer
setvar 0x8004, 6
- jump Route119_EventScript_1A0594
+ goto Route119_EventScript_1A0594
end
Route119_EventScript_1A0587:: @ 81A0587
lock
faceplayer
setvar 0x8004, 7
- jump Route119_EventScript_1A0594
+ goto Route119_EventScript_1A0594
end
Route119_EventScript_1A0594:: @ 81A0594
Route120_EventScript_1A0594:: @ 81A0594
checkitem ITEM_DEVON_SCOPE, 1
compare RESULT, 1
- jumpeq Route119_EventScript_1A05AE
+ goto_if_eq Route119_EventScript_1A05AE
msgbox Route119_Text_171B93, 4
release
end
@@ -2433,36 +2433,36 @@ Route120_EventScript_1A0594:: @ 81A0594
Route119_EventScript_1A05AE:: @ 81A05AE
msgbox Route119_Text_171BB6, 5
compare RESULT, 1
- jumpeq Route119_EventScript_1A05C3
+ goto_if_eq Route119_EventScript_1A05C3
release
end
Route119_EventScript_1A05C3:: @ 81A05C3
msgbox Route119_Text_171BF6, 4
- closebutton
- move LAST_TALKED, Route119_Movement_1A0839
- waitmove 0
- move LAST_TALKED, Route119_Movement_1A0662
- waitmove 0
- checksound
- pokecry SPECIES_KECLEON, 2
- pause 40
+ closemessage
+ applymovement LAST_TALKED, Route119_Movement_1A0839
+ waitmovement 0
+ applymovement LAST_TALKED, Route119_Movement_1A0662
+ waitmovement 0
+ waitse
+ playpokecry SPECIES_KECLEON, 2
+ delay 40
waitpokecry
setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
compare 0x8004, 1
- callif 1, Route119_EventScript_1A0646
+ call_if 1, Route119_EventScript_1A0646
compare 0x8004, 2
- callif 1, Route119_EventScript_1A064A
+ call_if 1, Route119_EventScript_1A064A
compare 0x8004, 3
- callif 1, Route119_EventScript_1A064E
+ call_if 1, Route119_EventScript_1A064E
compare 0x8004, 4
- callif 1, Route119_EventScript_1A0652
+ call_if 1, Route119_EventScript_1A0652
compare 0x8004, 5
- callif 1, Route119_EventScript_1A0656
+ call_if 1, Route119_EventScript_1A0656
compare 0x8004, 6
- callif 1, Route119_EventScript_1A065A
+ call_if 1, Route119_EventScript_1A065A
compare 0x8004, 7
- callif 1, Route119_EventScript_1A065E
+ call_if 1, Route119_EventScript_1A065E
setflag 2145
dowildbattle
clearflag 2145
@@ -2536,10 +2536,10 @@ FallarborTown_House1_EventScript_1A067F:: @ 81A067F
GraniteCave_StevensRoom_EventScript_1A067F:: @ 81A067F
MtPyre_Summit_EventScript_1A067F:: @ 81A067F
SlateportCity_OceanicMuseum_2F_EventScript_1A067F:: @ 81A067F
- bufferitem 0, 0x8004
- fanfare 372
+ getitemname 0, 0x8004
+ playfanfare 372
message FallarborTown_House1_Text_1A1498
- waittext
+ waitmessage
waitfanfare
removeitem 0x8004, 1
return
@@ -2548,9 +2548,9 @@ EverGrandeCity_DrakesRoom_EventScript_1A0693:: @ 81A0693
EverGrandeCity_GlaciasRoom_EventScript_1A0693:: @ 81A0693
EverGrandeCity_PhoebesRoom_EventScript_1A0693:: @ 81A0693
EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693
- move 255, EverGrandeCity_SidneysRoom_Movement_1A0853
- waitmove 0
- playsfx 8
+ applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0853
+ waitmovement 0
+ playse 8
setmaptile 6, 1, 836, 0
setmaptile 6, 2, 837, 0
setmaptile 0, 2, 734, 1
@@ -2570,9 +2570,9 @@ EverGrandeCity_DrakesRoom_EventScript_1A0710:: @ 81A0710
EverGrandeCity_GlaciasRoom_EventScript_1A0710:: @ 81A0710
EverGrandeCity_PhoebesRoom_EventScript_1A0710:: @ 81A0710
EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710
- move 255, EverGrandeCity_SidneysRoom_Movement_1A0847
- waitmove 0
- playsfx 52
+ applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0847
+ waitmovement 0
+ playse 52
setmaptile 5, 12, 518, 1
setmaptile 6, 12, 518, 1
setmaptile 7, 12, 518, 1
@@ -3254,13 +3254,13 @@ gUnknown_081A14B8:: @ 81A14B8
special ExecuteWhiteOut
waitstate
compare RESULT, 1
- jumpeq EventScript_1A14CA
+ goto_if_eq EventScript_1A14CA
releaseall
end
EventScript_1A14CA::
message UnknownString_81A1141
- waittext
+ waitmessage
waitbutton
special sub_8081924
waitstate
@@ -3598,44 +3598,44 @@ gUnknown_081A2C51:: @ 81A2C51
special sub_80BB70C
special sub_80BB63C
compare RESULT, 1
- jumpeq EventScript_1A2E45
- checkattack MOVE_SECRET_POWER
- setanimation 0, RESULT
- bufferattack 1, MOVE_SECRET_POWER
+ goto_if_eq EventScript_1A2E45
+ checkpokemove MOVE_SECRET_POWER
+ setfieldeffect 0, RESULT
+ getmovename 1, MOVE_SECRET_POWER
compare 0x8007, 1
- jumpeq EventScript_1A2CB0
+ goto_if_eq EventScript_1A2CB0
compare 0x8007, 2
- jumpeq EventScript_1A2CB0
+ goto_if_eq EventScript_1A2CB0
compare 0x8007, 3
- jumpeq EventScript_1A2CB0
+ goto_if_eq EventScript_1A2CB0
compare 0x8007, 4
- jumpeq EventScript_1A2CB0
+ goto_if_eq EventScript_1A2CB0
compare 0x8007, 5
- jumpeq EventScript_1A2D08
+ goto_if_eq EventScript_1A2D08
compare 0x8007, 6
- jumpeq EventScript_1A2D60
+ goto_if_eq EventScript_1A2D60
end
EventScript_1A2CB0:
lockall
compare RESULT, 6
- jumpeq EventScript_1A2CF1
- bufferpartypoke 0, RESULT
+ goto_if_eq EventScript_1A2CF1
+ getpartypokename 0, RESULT
msgbox UnknownString_8198F34, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 11
+ closemessage
+ dofieldeffect 11
waitstate
- jump EventScript_1A2CFA
+ goto EventScript_1A2CFA
end
gUnknown_081A2CE6:: @ 81A2CE6
lockall
- doanimation 11
+ dofieldeffect 11
waitstate
- jump EventScript_1A2CFA
+ goto EventScript_1A2CFA
end
EventScript_1A2CF1:
@@ -3644,29 +3644,29 @@ EventScript_1A2CF1:
EventScript_1A2CFA:
msgbox UnknownString_8198F6E, 4
- jump EventScript_1A2DB8
+ goto EventScript_1A2DB8
end
EventScript_1A2D08:
lockall
compare RESULT, 6
- jumpeq EventScript_1A2D49
- bufferpartypoke 0, RESULT
+ goto_if_eq EventScript_1A2D49
+ getpartypokename 0, RESULT
msgbox UnknownString_81A197B, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 26
+ closemessage
+ dofieldeffect 26
waitstate
- jump EventScript_1A2D52
+ goto EventScript_1A2D52
end
gUnknown_081A2D3E:: @ 81A2D3E
lockall
- doanimation 26
+ dofieldeffect 26
waitstate
- jump EventScript_1A2D52
+ goto EventScript_1A2D52
end
EventScript_1A2D49:
@@ -3675,29 +3675,29 @@ EventScript_1A2D49:
EventScript_1A2D52:
msgbox UnknownString_81A19C4, 4
- jump EventScript_1A2DB8
+ goto EventScript_1A2DB8
end
EventScript_1A2D60:
lockall
compare RESULT, 6
- jumpeq EventScript_1A2DA1
- bufferpartypoke 0, RESULT
+ goto_if_eq EventScript_1A2DA1
+ getpartypokename 0, RESULT
msgbox UnknownString_81A1A4B, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 27
+ closemessage
+ dofieldeffect 27
waitstate
- jump EventScript_1A2DAA
+ goto EventScript_1A2DAA
end
gUnknown_081A2D96:: @ 81A2D96
lockall
- doanimation 27
+ dofieldeffect 27
waitstate
- jump EventScript_1A2DAA
+ goto EventScript_1A2DAA
end
EventScript_1A2DA1:
@@ -3706,12 +3706,12 @@ EventScript_1A2DA1:
EventScript_1A2DAA:
msgbox UnknownString_81A1AA9, 4
- jump EventScript_1A2DB8
+ goto EventScript_1A2DB8
end
EventScript_1A2DB8:
- closebutton
- playsfx 9
+ closemessage
+ playse 9
setvar 0x4097, 0
setflag 173
special sub_80BB8CC
@@ -3724,19 +3724,19 @@ EventScript_1A2DB8:
end
SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE
- move 255, SecretBase_RedCave1_Movement_1A2E11
- waitmove 0
+ applymovement 255, SecretBase_RedCave1_Movement_1A2E11
+ waitmovement 0
setvar 0x4097, 1
msgbox SecretBase_RedCave1_Text_198F89, 5
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A2E08
- closebutton
- playsfx 9
+ goto_if_eq SecretBase_RedCave1_EventScript_1A2E08
+ closemessage
+ playse 9
special sub_80BC440
end
SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08
- closebutton
+ closemessage
setflag 96
special sub_80BBC78
waitstate
@@ -3750,10 +3750,10 @@ SecretBase_RedCave1_Movement_1A2E11:: @ 81A2E11
gUnknown_081A2E14:: @ 81A2E14
lockall
setvar 0x4097, 1
- playsfx 9
+ playse 9
special sub_80BC114
compare RESULT, 0
- jumpeq EventScript_1A2E38
+ goto_if_eq EventScript_1A2E38
clearflag 173
special sub_80BBAF0
setvar 0x4089, 0
@@ -3768,63 +3768,63 @@ EventScript_1A2E38:
end
EventScript_1A2E45:
- checkattack MOVE_SECRET_POWER
+ checkpokemove MOVE_SECRET_POWER
compare RESULT, 6
- jumpeq EventScript_1A2EF7
- setanimation 0, RESULT
+ goto_if_eq EventScript_1A2EF7
+ setfieldeffect 0, RESULT
setorcopyvar 0x8004, RESULT
lockall
special GetSecretBaseNearbyMapName
msgbox UnknownString_81A3C71, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
msgbox UnknownString_81A38FB, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
+ goto_if_eq EventScript_1A2F3A
fadescreen 1
special sub_80BC50C
- closebutton
+ closemessage
fadescreen 0
msgbox UnknownString_81A3CC9, 5
compare RESULT, 0
- jumpeq EventScript_1A2F3A
- bufferpartypoke 0, 0x8004
- bufferattack 1, MOVE_SECRET_POWER
+ goto_if_eq EventScript_1A2F3A
+ getpartypokename 0, 0x8004
+ getmovename 1, MOVE_SECRET_POWER
msgbox UsedCutRockSmashText, 4
- closebutton
- closebutton
+ closemessage
+ closemessage
compare 0x8007, 1
- jumpeq gUnknown_081A2CE6
+ goto_if_eq gUnknown_081A2CE6
compare 0x8007, 2
- jumpeq gUnknown_081A2CE6
+ goto_if_eq gUnknown_081A2CE6
compare 0x8007, 3
- jumpeq gUnknown_081A2CE6
+ goto_if_eq gUnknown_081A2CE6
compare 0x8007, 4
- jumpeq gUnknown_081A2CE6
+ goto_if_eq gUnknown_081A2CE6
compare 0x8007, 5
- jumpeq gUnknown_081A2D3E
+ goto_if_eq gUnknown_081A2D3E
compare 0x8007, 6
- jumpeq gUnknown_081A2D96
+ goto_if_eq gUnknown_081A2D96
releaseall
end
EventScript_1A2EF7::
compare 0x8007, 1
- jumpeq EventScript_1A2CF1
+ goto_if_eq EventScript_1A2CF1
compare 0x8007, 2
- jumpeq EventScript_1A2CF1
+ goto_if_eq EventScript_1A2CF1
compare 0x8007, 3
- jumpeq EventScript_1A2CF1
+ goto_if_eq EventScript_1A2CF1
compare 0x8007, 4
- jumpeq EventScript_1A2CF1
+ goto_if_eq EventScript_1A2CF1
compare 0x8007, 5
- jumpeq EventScript_1A2D49
+ goto_if_eq EventScript_1A2D49
compare 0x8007, 6
- jumpeq EventScript_1A2DA1
+ goto_if_eq EventScript_1A2DA1
end
EventScript_1A2F3A::
- closebutton
+ closemessage
releaseall
end
@@ -3858,7 +3858,7 @@ SecretBase_RedCave1_EventScript_1A2F68:: @ 81A2F68
gUnknown_081A2F7B:: @ 81A2F7B
setvar 0x8005, 0
- jump EventScript_1A2F86
+ goto EventScript_1A2F86
end
EventScript_1A2F86:
@@ -3867,19 +3867,19 @@ EventScript_1A2F86:
gUnknown_081A2F8A:: @ 81A2F8A
setvar 0x8004, 0
- jump EventScript_1A2F95
+ goto EventScript_1A2F95
end
EventScript_1A2F95:
special sub_8100A7C
compare RESULT, 1
- jumpeq EventScript_1A2FBF
+ goto_if_eq EventScript_1A2FBF
addvar 0x8004, 1
compare 0x8005, 0
- jumpeq EventScript_1A2F95
- disappear 0x8006
+ goto_if_eq EventScript_1A2F95
+ removeobject 0x8006
setflag 0x8005
- jump EventScript_1A2F95
+ goto EventScript_1A2F95
end
EventScript_1A2FBF:
@@ -3911,45 +3911,45 @@ SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0
SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0
special sub_80BCE90
compare 0x8004, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3032
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3032
compare 0x8004, 1
- jumpeq SecretBase_RedCave1_EventScript_1A30AE
+ goto_if_eq SecretBase_RedCave1_EventScript_1A30AE
compare 0x8004, 2
- jumpeq SecretBase_RedCave1_EventScript_1A312A
+ goto_if_eq SecretBase_RedCave1_EventScript_1A312A
compare 0x8004, 3
- jumpeq SecretBase_RedCave1_EventScript_1A31A6
+ goto_if_eq SecretBase_RedCave1_EventScript_1A31A6
compare 0x8004, 4
- jumpeq SecretBase_RedCave1_EventScript_1A3222
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3222
compare 0x8004, 5
- jumpeq SecretBase_RedCave1_EventScript_1A329E
+ goto_if_eq SecretBase_RedCave1_EventScript_1A329E
compare 0x8004, 6
- jumpeq SecretBase_RedCave1_EventScript_1A331A
+ goto_if_eq SecretBase_RedCave1_EventScript_1A331A
compare 0x8004, 7
- jumpeq SecretBase_RedCave1_EventScript_1A3396
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3396
compare 0x8004, 8
- jumpeq SecretBase_RedCave1_EventScript_1A3412
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3412
compare 0x8004, 9
- jumpeq SecretBase_RedCave1_EventScript_1A348E
+ goto_if_eq SecretBase_RedCave1_EventScript_1A348E
end
SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A3086
+ goto_if 0, SecretBase_RedCave1_EventScript_1A3086
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A30A5
+ goto_if_eq SecretBase_RedCave1_EventScript_1A30A5
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A1AEA, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A308F
+ goto_if_eq SecretBase_RedCave1_EventScript_1A308F
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A308F
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A308F
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1B83, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086
@@ -3959,7 +3959,7 @@ SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086
SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1B97, 2
end
@@ -3969,22 +3969,22 @@ SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5
SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A3102
+ goto_if 0, SecretBase_RedCave1_EventScript_1A3102
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3121
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3121
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A1E67, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A310B
+ goto_if_eq SecretBase_RedCave1_EventScript_1A310B
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A310B
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A310B
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1F04, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102
@@ -3994,7 +3994,7 @@ SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102
SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1F2E, 2
end
@@ -4004,22 +4004,22 @@ SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121
SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A317E
+ goto_if 0, SecretBase_RedCave1_EventScript_1A317E
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A319D
+ goto_if_eq SecretBase_RedCave1_EventScript_1A319D
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A218F, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3187
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3187
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3187
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3187
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2220, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E
@@ -4029,7 +4029,7 @@ SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E
SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2230, 2
end
@@ -4039,22 +4039,22 @@ SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D
SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A31FA
+ goto_if 0, SecretBase_RedCave1_EventScript_1A31FA
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3219
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3219
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A24E1, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3203
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3203
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3203
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3203
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A256F, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA
@@ -4064,7 +4064,7 @@ SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA
SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A258A, 2
end
@@ -4074,22 +4074,22 @@ SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219
SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A3276
+ goto_if 0, SecretBase_RedCave1_EventScript_1A3276
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3295
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3295
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A2830, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A327F
+ goto_if_eq SecretBase_RedCave1_EventScript_1A327F
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A327F
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A327F
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A28D7, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276
@@ -4099,7 +4099,7 @@ SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276
SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A28F4, 2
end
@@ -4109,22 +4109,22 @@ SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295
SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A32F2
+ goto_if 0, SecretBase_RedCave1_EventScript_1A32F2
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3311
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3311
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A1CB2, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A32FB
+ goto_if_eq SecretBase_RedCave1_EventScript_1A32FB
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A32FB
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A32FB
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1D48, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2
@@ -4134,7 +4134,7 @@ SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2
SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A1D59, 2
end
@@ -4144,22 +4144,22 @@ SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311
SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A336E
+ goto_if 0, SecretBase_RedCave1_EventScript_1A336E
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A338D
+ goto_if_eq SecretBase_RedCave1_EventScript_1A338D
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A2026, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3377
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3377
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A3377
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3377
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2095, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E
@@ -4169,7 +4169,7 @@ SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E
SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A20AE, 2
end
@@ -4179,22 +4179,22 @@ SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D
SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A33EA
+ goto_if 0, SecretBase_RedCave1_EventScript_1A33EA
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3409
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3409
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A236A, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A33F3
+ goto_if_eq SecretBase_RedCave1_EventScript_1A33F3
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A33F3
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A33F3
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2405, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA
@@ -4204,7 +4204,7 @@ SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA
SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2420, 2
end
@@ -4214,22 +4214,22 @@ SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409
SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A3466
+ goto_if 0, SecretBase_RedCave1_EventScript_1A3466
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3485
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3485
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A2663, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A346F
+ goto_if_eq SecretBase_RedCave1_EventScript_1A346F
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A346F
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A346F
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2710, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466
@@ -4239,7 +4239,7 @@ SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466
SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2736, 2
end
@@ -4249,22 +4249,22 @@ SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485
SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E
checkflag 2052
- jumpif 0, SecretBase_RedCave1_EventScript_1A34E2
+ goto_if 0, SecretBase_RedCave1_EventScript_1A34E2
compare RESULT, 1
- jumpeq SecretBase_RedCave1_EventScript_1A3501
+ goto_if_eq SecretBase_RedCave1_EventScript_1A3501
lock
faceplayer
msgbox SecretBase_RedCave1_Text_1A2A13, 5
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A34EB
+ goto_if_eq SecretBase_RedCave1_EventScript_1A34EB
setvar RESULT, 1
special sub_80BCE4C
call S_DoSaveDialog
compare RESULT, 0
- jumpeq SecretBase_RedCave1_EventScript_1A34EB
- hidebox 0, 0, 15, 10
+ goto_if_eq SecretBase_RedCave1_EventScript_1A34EB
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2AE2, 4
- jump SecretBase_RedCave1_EventScript_1A350A
+ goto SecretBase_RedCave1_EventScript_1A350A
end
SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2
@@ -4274,7 +4274,7 @@ SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2
SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB
setvar RESULT, 0
special sub_80BCE4C
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
msgbox SecretBase_RedCave1_Text_1A2AFB, 2
end
@@ -4374,7 +4374,7 @@ FallarborTown_ContestLobby_EventScript_1ADE46:: @ 81ADE46
SlateportCity_OceanicMuseum_1F_EventScript_1ADE46:: @ 81ADE46
SlateportCity_PokemonFanClub_EventScript_1ADE46:: @ 81ADE46
special sub_80BDE48
- inccounter GAME_STAT_GOT_INTERVIEWED
+ incrementgamestat GAME_STAT_GOT_INTERVIEWED
release
end
@@ -4382,13 +4382,13 @@ SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D
setvar 0x8005, 1
special sub_80BF2C4
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADED6
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADED6
copyvar 0x8009, 0x8006
msgbox SlateportCity_PokemonFanClub_Text_1A8704, 5
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE84
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE84
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEB9
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9
end
SlateportCity_PokemonFanClub_EventScript_1ADE84:: @ 81ADE84
@@ -4400,9 +4400,9 @@ SlateportCity_PokemonFanClub_EventScript_1ADE84:: @ 81ADE84
lock
faceplayer
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEC3
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEC3
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEB9
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9
end
SlateportCity_PokemonFanClub_EventScript_1ADEB9:: @ 81ADEB9
@@ -4413,7 +4413,7 @@ SlateportCity_PokemonFanClub_EventScript_1ADEB9:: @ 81ADEB9
SlateportCity_PokemonFanClub_EventScript_1ADEC3:: @ 81ADEC3
msgbox SlateportCity_PokemonFanClub_Text_1A8818, 4
setvar 0x8005, 1
- jump SlateportCity_PokemonFanClub_EventScript_1ADE46
+ goto SlateportCity_PokemonFanClub_EventScript_1ADE46
end
SlateportCity_PokemonFanClub_EventScript_1ADED6:: @ 81ADED6
@@ -4427,24 +4427,24 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0
setvar 0x8005, 2
special sub_80BF2C4
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96
copyvar 0x8009, 0x8006
checkflag 105
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25
setflag 105
msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, 5
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44
compare RESULT, 0
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
end
SlateportCity_OceanicMuseum_1F_EventScript_1ADF25:: @ 81ADF25
msgbox SlateportCity_OceanicMuseum_1F_Text_1A934C, 5
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44
compare RESULT, 0
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
end
SlateportCity_OceanicMuseum_1F_EventScript_1ADF44:: @ 81ADF44
@@ -4456,9 +4456,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF44:: @ 81ADF44
lock
faceplayer
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF83
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF83
compare RESULT, 0
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79
end
SlateportCity_OceanicMuseum_1F_EventScript_1ADF79:: @ 81ADF79
@@ -4469,7 +4469,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF79:: @ 81ADF79
SlateportCity_OceanicMuseum_1F_EventScript_1ADF83:: @ 81ADF83
msgbox SlateportCity_OceanicMuseum_1F_Text_1A949A, 4
setvar 0x8005, 2
- jump SlateportCity_OceanicMuseum_1F_EventScript_1ADE46
+ goto SlateportCity_OceanicMuseum_1F_EventScript_1ADE46
end
SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96
@@ -4480,19 +4480,19 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96
SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0
lock
faceplayer
- specialval RESULT, sub_80BF544
+ specialvar RESULT, sub_80BF544
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE4D
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE4D
setvar 0x8005, 3
special sub_80BF2C4
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0AC
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0AC
copyvar 0x8009, 0x8006
msgbox SlateportCity_PokemonFanClub_Text_1A82F1, 5
compare RESULT, 1
- jumpeq SlateportCity_PokemonFanClub_EventScript_1ADFE9
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADFE9
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2
end
SlateportCity_PokemonFanClub_EventScript_1ADFE9:: @ 81ADFE9
@@ -4507,17 +4507,17 @@ SlateportCity_PokemonFanClub_EventScript_1ADFE9:: @ 81ADFE9
SlateportCity_PokemonFanClub_EventScript_1AE020:: @ 81AE020
msgbox SlateportCity_PokemonFanClub_Text_1A8414, 4
- jump SlateportCity_PokemonFanClub_EventScript_1AE04A
+ goto SlateportCity_PokemonFanClub_EventScript_1AE04A
end
SlateportCity_PokemonFanClub_EventScript_1AE02E:: @ 81AE02E
msgbox SlateportCity_PokemonFanClub_Text_1A8470, 4
- jump SlateportCity_PokemonFanClub_EventScript_1AE04A
+ goto SlateportCity_PokemonFanClub_EventScript_1AE04A
end
SlateportCity_PokemonFanClub_EventScript_1AE03C:: @ 81AE03C
msgbox SlateportCity_PokemonFanClub_Text_1A84D5, 4
- jump SlateportCity_PokemonFanClub_EventScript_1AE04A
+ goto SlateportCity_PokemonFanClub_EventScript_1AE04A
end
SlateportCity_PokemonFanClub_EventScript_1AE04A:: @ 81AE04A
@@ -4528,18 +4528,18 @@ SlateportCity_PokemonFanClub_EventScript_1AE04A:: @ 81AE04A
lock
faceplayer
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2
msgbox SlateportCity_PokemonFanClub_Text_1A852D, 4
setvar 0x8006, 1
call SlateportCity_PokemonFanClub_EventScript_1A00F3
lock
faceplayer
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2
msgbox SlateportCity_PokemonFanClub_Text_1A85A6, 4
copyvar 0x8007, 0x800a
setvar 0x8005, 3
- jump SlateportCity_PokemonFanClub_EventScript_1ADE46
+ goto SlateportCity_PokemonFanClub_EventScript_1ADE46
end
SlateportCity_PokemonFanClub_EventScript_1AE0A2:: @ 81AE0A2
@@ -4559,17 +4559,17 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6
lock
faceplayer
checkflag 2
- jumpeq FallarborTown_ContestLobby_EventScript_1AE17E
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E
setvar 0x8005, 6
special sub_80BF2C4
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1AE17E
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E
copyvar 0x8009, 0x8006
msgbox FallarborTown_ContestLobby_Text_1A6F7C, 5
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1AE0F8
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE0F8
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1AE12D
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D
end
FallarborTown_ContestLobby_EventScript_1AE0F8:: @ 81AE0F8
@@ -4581,9 +4581,9 @@ FallarborTown_ContestLobby_EventScript_1AE0F8:: @ 81AE0F8
lock
faceplayer
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1AE137
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE137
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1AE12D
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D
end
FallarborTown_ContestLobby_EventScript_1AE12D:: @ 81AE12D
@@ -4602,11 +4602,11 @@ FallarborTown_ContestLobby_EventScript_1AE137:: @ 81AE137
lock
faceplayer
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1AE12D
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D
msgbox FallarborTown_ContestLobby_Text_1A7153, 4
setflag 2
setvar 0x8005, 6
- jump FallarborTown_ContestLobby_EventScript_1ADE46
+ goto FallarborTown_ContestLobby_EventScript_1ADE46
end
FallarborTown_ContestLobby_EventScript_1AE17E:: @ 81AE17E
@@ -4619,11 +4619,11 @@ LilycoveCity_ContestLobby_EventScript_1AE188:: @ 81AE188
SlateportCity_ContestLobby_EventScript_1AE188:: @ 81AE188
VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188
compare 0x4086, 2
- jumpif 5, FallarborTown_ContestLobby_EventScript_1AE1FE
+ goto_if 5, FallarborTown_ContestLobby_EventScript_1AE1FE
setvar 0x8005, 6
special sub_80BF2C4
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1AE1FE
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1AE1FE
switch 0x4088
case 0, FallarborTown_ContestLobby_EventScript_1AE1FE
case 2, FallarborTown_ContestLobby_EventScript_1AE1EE
@@ -4656,28 +4656,28 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF
lock
faceplayer
checkflag 2
- jumpeq BattleTower_Lobby_EventScript_1AE2E3
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2E3
setvar 0x8005, 7
special sub_80BF2C4
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1AE2E3
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2E3
copyvar 0x8009, 0x8006
msgbox BattleTower_Lobby_Text_1A776D, 5
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1AE241
+ goto_if_eq BattleTower_Lobby_EventScript_1AE241
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_1AE297
+ goto_if_eq BattleTower_Lobby_EventScript_1AE297
end
BattleTower_Lobby_EventScript_1AE241:: @ 81AE241
message BattleTower_Lobby_Text_1A7823
- waittext
+ waitmessage
multichoice 19, 8, 45, 1
copyvar 0x8008, RESULT
compare RESULT, 0
- callif 1, BattleTower_Lobby_EventScript_1AE2A1
+ call_if 1, BattleTower_Lobby_EventScript_1AE2A1
compare RESULT, 1
- callif 1, BattleTower_Lobby_EventScript_1AE2AA
+ call_if 1, BattleTower_Lobby_EventScript_1AE2AA
msgbox BattleTower_Lobby_Text_1A79EB, 4
setvar 0x8004, 12
copyvar 0x8005, 0x8009
@@ -4685,9 +4685,9 @@ BattleTower_Lobby_EventScript_1AE241:: @ 81AE241
lock
faceplayer
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1AE2B3
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2B3
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_1AE2D9
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2D9
end
BattleTower_Lobby_EventScript_1AE297:: @ 81AE297
@@ -4705,12 +4705,12 @@ BattleTower_Lobby_EventScript_1AE2AA:: @ 81AE2AA
BattleTower_Lobby_EventScript_1AE2B3:: @ 81AE2B3
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_1AE2D9
+ goto_if_eq BattleTower_Lobby_EventScript_1AE2D9
msgbox BattleTower_Lobby_Text_1A7A6E, 4
setflag 2
copyvar 0x8004, 0x8008
setvar 0x8005, 7
- jump BattleTower_Lobby_EventScript_1ADE46
+ goto BattleTower_Lobby_EventScript_1ADE46
end
BattleTower_Lobby_EventScript_1AE2D9:: @ 81AE2D9
@@ -4725,11 +4725,11 @@ BattleTower_Lobby_EventScript_1AE2E3:: @ 81AE2E3
BattleTower_Lobby_EventScript_1AE2ED:: @ 81AE2ED
compare 0x40bc, 0
- jumpeq BattleTower_Lobby_EventScript_1AE30F
+ goto_if_eq BattleTower_Lobby_EventScript_1AE30F
setvar 0x8005, 7
special sub_80BF2C4
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1AE30F
+ goto_if_eq BattleTower_Lobby_EventScript_1AE30F
clearflag 918
return
@@ -4763,8 +4763,8 @@ BattleTower_Lobby_EventScript_1AE30F:: @ 81AE30F
.include "data/text/magma_summit.inc"
gUnknown_081B694A:: @ 81B694A
- lighten 1
- darken 1
+ animdarklevel 1
+ setdarklevel 1
end
.include "data/scripts/players_house.inc"
@@ -4791,25 +4791,25 @@ Text_RepelWoreOff: @ 81C33EF
MauvilleCity_GameCorner_EventScript_1C407E:: @ 81C407E
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 0
- event_96 2
+ getpricereduction 2
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1C40DA
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1C40DA
addvar 0x8004, 128
- jump MauvilleCity_GameCorner_EventScript_1C40DA
+ goto MauvilleCity_GameCorner_EventScript_1C40DA
end
MauvilleCity_GameCorner_EventScript_1C40AC:: @ 81C40AC
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 1
- event_96 2
+ getpricereduction 2
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1C40DA
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1C40DA
addvar 0x8004, 128
- jump MauvilleCity_GameCorner_EventScript_1C40DA
+ goto MauvilleCity_GameCorner_EventScript_1C40DA
end
MauvilleCity_GameCorner_EventScript_1C40DA:: @ 81C40DA
@@ -4870,22 +4870,22 @@ SkyPillar_4F_MapScript1_1C6BBF:: @ 81C6BBF
S_FallDownHole:: @ 81C6BC5
lockall
- pause 20
- move 255, GraniteCave_B1F_Movement_1C6BF7
- waitmove 0
- playsfx 43
- pause 60
+ delay 20
+ applymovement 255, GraniteCave_B1F_Movement_1C6BF7
+ waitmovement 0
+ playse 43
+ delay 60
warphole UNDEFINED
waitstate
end
gUnknown_081C6BDE:: @ 81C6BDE
lockall
- pause 20
- move 255, GraniteCave_B1F_Movement_1C6BF7
- waitmove 0
- playsfx 43
- pause 60
+ delay 20
+ applymovement 255, GraniteCave_B1F_Movement_1C6BF7
+ waitmovement 0
+ playse 43
+ delay 60
special sp13F_fall_to_last_warp
waitstate
end
@@ -4917,9 +4917,9 @@ gUnknown_081C6C02:: @ 81C6C02
@ 81C6C1D
lockall
- braillemsg Underwater_SealedChamber_Braille_1C533D
+ braillemessage Underwater_SealedChamber_Braille_1C533D
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data/field_effect_helpers.s b/data/field_effect_helpers.s
deleted file mode 100644
index d22bd8dde..000000000
--- a/data/field_effect_helpers.s
+++ /dev/null
@@ -1,37 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-@ XXX: Unused? Probably aligned because it's at the beginning of an object file.
- .align 2
- .string "タマゴ$"
-
- .align 1
-gUnknown_08401E2C:: @ 8401E2C
- .2byte 0xC, 0x1C, 0x2C
-
-gUnknown_08401E32:: @ 8401E32
- .byte 0, 1, 2, 3
-
- .align 1
-gUnknown_08401E36:: @ 8401E36
- .2byte 4, 4, 4, 16
-
- .align 2
-gUnknown_08401E40:: @ 8401E40
- .4byte sub_81275A0
- .4byte sub_81275C4
-
- .align 2
-gUnknown_08401E48:: @ 8401E48
- .4byte sub_8127DA0
- .4byte sub_8127DD0
- .4byte sub_8127E30
-
-gUnknown_08401E54:: @ 8401E54
- .byte 0, 0, 1, 2, 3
-
- .align 1
-gUnknown_08401E5A:: @ 8401E5A
- .2byte 3, 7
diff --git a/data/field_move_scripts.inc b/data/field_move_scripts.inc
index 9911dca3a..c36f95460 100644
--- a/data/field_move_scripts.inc
+++ b/data/field_move_scripts.inc
@@ -1,34 +1,34 @@
S_CuttableTree:: @ 81B0DCC
lockall
checkflag 2055
- jumpif 0, CannotUseCut
- checkattack MOVE_CUT
+ goto_if 0, CannotUseCut
+ checkpokemove MOVE_CUT
compare RESULT, 6
- jumpeq CannotUseCut
- setanimation 0, RESULT
- bufferpartypoke 0, RESULT
- bufferattack 1, MOVE_CUT
+ goto_if_eq CannotUseCut
+ setfieldeffect 0, RESULT
+ getpartypokename 0, RESULT
+ getmovename 1, MOVE_CUT
msgbox UseCutPromptText, 5
compare RESULT, 0
- jumpeq Cut_ChoseNo
+ goto_if_eq Cut_ChoseNo
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 2
+ closemessage
+ dofieldeffect 2
waitstate
- jump DoTreeCutMovement
+ goto DoTreeCutMovement
end
S_UseCut:: @ 81B0E16
lockall
- doanimation 2
+ dofieldeffect 2
waitstate
- jump DoTreeCutMovement
+ goto DoTreeCutMovement
end
DoTreeCutMovement: @ 81B0E21
- move LAST_TALKED, TreeCutMovement @ tree cut animation
- waitmove 0
- disappear LAST_TALKED @ tree disappears
+ applymovement LAST_TALKED, TreeCutMovement @ tree cut animation
+ waitmovement 0
+ removeobject LAST_TALKED @ tree disappears
releaseall
end
@@ -42,7 +42,7 @@ CannotUseCut: @ 81B0E32
end
Cut_ChoseNo: @ 81B0E3C
- closebutton
+ closemessage
releaseall
end
@@ -59,40 +59,40 @@ CannotUseCutText: @ 81B0E8E
S_BreakableRock:: @ 81B0EB7
lockall
checkflag 2057
- jumpif 0, CannotUseRockSmash
- checkattack MOVE_ROCK_SMASH
+ goto_if 0, CannotUseRockSmash
+ checkpokemove MOVE_ROCK_SMASH
compare RESULT, 6
- jumpeq CannotUseRockSmash
- setanimation 0, RESULT
- bufferpartypoke 0, RESULT
- bufferattack 1, MOVE_ROCK_SMASH
+ goto_if_eq CannotUseRockSmash
+ setfieldeffect 0, RESULT
+ getpartypokename 0, RESULT
+ getmovename 1, MOVE_ROCK_SMASH
msgbox UseRockSmashPromptText, 5
compare RESULT, 0
- jumpeq RockSmash_ChoseNo
+ goto_if_eq RockSmash_ChoseNo
msgbox UsedCutRockSmashText, 4
- closebutton
- doanimation 37
+ closemessage
+ dofieldeffect 37
waitstate
- jump DoRockSmashMovement
+ goto DoRockSmashMovement
end
S_UseRockSmash:: @ 81B0F01
lockall
- doanimation 37
+ dofieldeffect 37
waitstate
- jump DoRockSmashMovement
+ goto DoRockSmashMovement
end
DoRockSmashMovement: @ 81B0F0C
- move LAST_TALKED, RockSmashMovement
- waitmove 0
- disappear LAST_TALKED
- specialval RESULT, sub_810F5BC
+ applymovement LAST_TALKED, RockSmashMovement
+ waitmovement 0
+ removeobject LAST_TALKED
+ specialvar RESULT, sub_810F5BC
compare RESULT, 1
- jumpeq DoRockSmashMovement_Done
+ goto_if_eq DoRockSmashMovement_Done
special ScrSpecial_RockSmashWildEncounter
compare RESULT, 0
- jumpeq DoRockSmashMovement_Done
+ goto_if_eq DoRockSmashMovement_Done
waitstate
releaseall
end
@@ -111,7 +111,7 @@ CannotUseRockSmash: @ 81B0F3E
end
RockSmash_ChoseNo: @ 81B0F48
- closebutton
+ closemessage
releaseall
end
@@ -126,27 +126,27 @@ CannotUseRockSmashText: @ 81B0F90
S_PushableBoulder:: @ 81B0FCB
lockall
checkflag 2058
- jumpif 0, CannotUseStrength
+ goto_if 0, CannotUseStrength
checkflag 2089
- jumpeq AlreadyUsedStrength
- checkattack 70
+ goto_if_eq AlreadyUsedStrength
+ checkpokemove 70
compare RESULT, 6
- jumpeq CannotUseStrength
- setanimation 0, RESULT
+ goto_if_eq CannotUseStrength
+ setfieldeffect 0, RESULT
msgbox UseStrengthPromptText, 5
compare RESULT, 0
- jumpeq Strength_ChoseNo
- closebutton
- doanimation 40
+ goto_if_eq Strength_ChoseNo
+ closemessage
+ dofieldeffect 40
waitstate
- jump UsedStrength
+ goto UsedStrength
end
S_UseStrength:: @ 81B100E
lockall
- doanimation 40
+ dofieldeffect 40
waitstate
- jump UsedStrength
+ goto UsedStrength
end
UsedStrength: @ 81B1019
@@ -166,7 +166,7 @@ AlreadyUsedStrength: @ 81B1030
end
Strength_ChoseNo: @ 81B103A
- closebutton
+ closemessage
releaseall
end
@@ -190,17 +190,17 @@ AlreadyUsedStrengthText: @ 81B1127
S_UseWaterfall:: @ 81B115A
lockall
- checkattack MOVE_WATERFALL
+ checkpokemove MOVE_WATERFALL
compare RESULT, 6
- jumpeq Waterfall_NoMonKnows
- bufferpartypoke 0, RESULT
- setanimation 0, RESULT
+ goto_if_eq Waterfall_NoMonKnows
+ getpartypokename 0, RESULT
+ setfieldeffect 0, RESULT
msgbox UseWaterfallPromptText, 5
compare RESULT, 0
- jumpeq Waterfall_Done
+ goto_if_eq Waterfall_Done
msgbox UsedWaterfallText, 4
- doanimation 43
- jump Waterfall_Done
+ dofieldeffect 43
+ goto Waterfall_Done
S_CannotUseWaterfall:: @ 81B1194
lockall
@@ -223,18 +223,18 @@ UsedWaterfallText: @ 81B120D
UseDiveScript:: @ 81B1220
lockall
- checkattack MOVE_DIVE
+ checkpokemove MOVE_DIVE
compare RESULT, 6
- jumpeq CannotUseDive
- bufferpartypoke 0, RESULT
- setanimation 0, RESULT
- setanimation 1, 1
+ goto_if_eq CannotUseDive
+ getpartypokename 0, RESULT
+ setfieldeffect 0, RESULT
+ setfieldeffect 1, 1
msgbox UseDivePromptText, 5
compare RESULT, 0
- jumpeq Dive_Done
+ goto_if_eq Dive_Done
msgbox UsedDiveText, 4
- doanimation 44
- jump Dive_Done
+ dofieldeffect 44
+ goto Dive_Done
lockall
CannotUseDive: @ 81B125F
@@ -246,23 +246,23 @@ Dive_Done: @ 81B1267
S_UseDiveUnderwater:: @ 81B1269
lockall
- checkattack MOVE_DIVE
+ checkpokemove MOVE_DIVE
compare RESULT, 6
- jumpeq UnderwaterCannotUseDive
- bufferpartypoke 0, RESULT
- setanimation 0, RESULT
- setanimation 1, 1
+ goto_if_eq UnderwaterCannotUseDive
+ getpartypokename 0, RESULT
+ setfieldeffect 0, RESULT
+ setfieldeffect 1, 1
msgbox UnderwaterUseDivePromptText, 5
compare RESULT, 0
- jumpeq UnderwaterDive_Done
+ goto_if_eq UnderwaterDive_Done
msgbox UsedDiveText, 4
- doanimation 44
- jump UnderwaterDive_Done
+ dofieldeffect 44
+ goto UnderwaterDive_Done
UnderwaterCannotUseDive: @ 81B12A7
lockall
msgbox UnderwaterCannotUseDiveText, 4
- jump UnderwaterDive_Done
+ goto UnderwaterDive_Done
@ not used
SurfacingBlocked: @ 81B12B5
diff --git a/data/field_special_scene.s b/data/field_special_scene.s
deleted file mode 100644
index 9d3958924..000000000
--- a/data/field_special_scene.s
+++ /dev/null
@@ -1,41 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gMapObjectPic_MovingBox:: @ 83D28AC
- .incbin "graphics/map_objects/pics/misc/moving_box.4bpp"
-
- .align 2
-gMapObjectPalette19:: @ 83D292C
- .incbin "graphics/map_objects/palettes/19.gbapal"
-
-gTruckCamera_HorizontalTable:: @ 83D294C
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte -1
- .byte -1
- .byte -1
- .byte 0
-
-gUnknown_083D295F:: @ 83D295F
- step_18
- step_end
-
-gUnknown_083D2961:: @ 83D2961
- step_17
- step_end
diff --git a/data/graphics/berries/graphics.inc b/data/graphics/berries/graphics.inc
index 19207ee32..e8edf9a3b 100644
--- a/data/graphics/berries/graphics.inc
+++ b/data/graphics/berries/graphics.inc
@@ -1,343 +1,343 @@
.align 2
gBerryPic_Cheri:: @ 8E78D00
- .incbin "graphics/berries/cheri/pic.4bpp.lz"
+ .incbin "graphics/berries/cheri.4bpp.lz"
.align 2
gBerryPic_Oran:: @ 8E78E54
- .incbin "graphics/berries/oran/pic.4bpp.lz"
+ .incbin "graphics/berries/oran.4bpp.lz"
.align 2
gBerryPic_Pecha:: @ 8E78FC8
- .incbin "graphics/berries/pecha/pic.4bpp.lz"
+ .incbin "graphics/berries/pecha.4bpp.lz"
.align 2
gBerryPic_Rawst:: @ 8E7913C
- .incbin "graphics/berries/rawst/pic.4bpp.lz"
+ .incbin "graphics/berries/rawst.4bpp.lz"
.align 2
gBerryPic_Aspear:: @ 8E792D4
- .incbin "graphics/berries/aspear/pic.4bpp.lz"
+ .incbin "graphics/berries/aspear.4bpp.lz"
.align 2
gBerryPic_Leppa:: @ 8E7947C
- .incbin "graphics/berries/leppa/pic.4bpp.lz"
+ .incbin "graphics/berries/leppa.4bpp.lz"
.align 2
gBerryPic_Chesto:: @ 8E795EC
- .incbin "graphics/berries/chesto/pic.4bpp.lz"
+ .incbin "graphics/berries/chesto.4bpp.lz"
.align 2
gBerryPic_Persim:: @ 8E797D0
- .incbin "graphics/berries/persim/pic.4bpp.lz"
+ .incbin "graphics/berries/persim.4bpp.lz"
.align 2
gBerryPic_Lum:: @ 8E79920
- .incbin "graphics/berries/lum/pic.4bpp.lz"
+ .incbin "graphics/berries/lum.4bpp.lz"
.align 2
gBerryPic_Sitrus:: @ 8E79A3C
- .incbin "graphics/berries/sitrus/pic.4bpp.lz"
+ .incbin "graphics/berries/sitrus.4bpp.lz"
.align 2
gBerryPic_Figy:: @ 8E79BE0
- .incbin "graphics/berries/figy/pic.4bpp.lz"
+ .incbin "graphics/berries/figy.4bpp.lz"
.align 2
gBerryPic_Wiki:: @ 8E79D8C
- .incbin "graphics/berries/wiki/pic.4bpp.lz"
+ .incbin "graphics/berries/wiki.4bpp.lz"
.align 2
gBerryPic_Mago:: @ 8E79F80
- .incbin "graphics/berries/mago/pic.4bpp.lz"
+ .incbin "graphics/berries/mago.4bpp.lz"
.align 2
gBerryPic_Aguav:: @ 8E7A134
- .incbin "graphics/berries/aguav/pic.4bpp.lz"
+ .incbin "graphics/berries/aguav.4bpp.lz"
.align 2
gBerryPic_Iapapa:: @ 8E7A2A8
- .incbin "graphics/berries/iapapa/pic.4bpp.lz"
+ .incbin "graphics/berries/iapapa.4bpp.lz"
.align 2
gBerryPic_Razz:: @ 8E7A560
- .incbin "graphics/berries/razz/pic.4bpp.lz"
+ .incbin "graphics/berries/razz.4bpp.lz"
.align 2
gBerryPic_Bluk:: @ 8E7A790
- .incbin "graphics/berries/bluk/pic.4bpp.lz"
+ .incbin "graphics/berries/bluk.4bpp.lz"
.align 2
gBerryPic_Nanab:: @ 8E7A978
- .incbin "graphics/berries/nanab/pic.4bpp.lz"
+ .incbin "graphics/berries/nanab.4bpp.lz"
.align 2
gBerryPic_Wepear:: @ 8E7AAEC
- .incbin "graphics/berries/wepear/pic.4bpp.lz"
+ .incbin "graphics/berries/wepear.4bpp.lz"
.align 2
gBerryPic_Pinap:: @ 8E7ACB4
- .incbin "graphics/berries/pinap/pic.4bpp.lz"
+ .incbin "graphics/berries/pinap.4bpp.lz"
.align 2
gBerryPic_Pomeg:: @ 8E7AEC8
- .incbin "graphics/berries/pomeg/pic.4bpp.lz"
+ .incbin "graphics/berries/pomeg.4bpp.lz"
.align 2
gBerryPic_Kelpsy:: @ 8E7B070
- .incbin "graphics/berries/kelpsy/pic.4bpp.lz"
+ .incbin "graphics/berries/kelpsy.4bpp.lz"
.align 2
gBerryPic_Qualot:: @ 8E7B218
- .incbin "graphics/berries/qualot/pic.4bpp.lz"
+ .incbin "graphics/berries/qualot.4bpp.lz"
.align 2
gBerryPic_Hondew:: @ 8E7B3E4
- .incbin "graphics/berries/hondew/pic.4bpp.lz"
+ .incbin "graphics/berries/hondew.4bpp.lz"
.align 2
gBerryPic_Grepa:: @ 8E7B63C
- .incbin "graphics/berries/grepa/pic.4bpp.lz"
+ .incbin "graphics/berries/grepa.4bpp.lz"
.align 2
gBerryPic_Tamato:: @ 8E7B7CC
- .incbin "graphics/berries/tamato/pic.4bpp.lz"
+ .incbin "graphics/berries/tamato.4bpp.lz"
.align 2
gBerryPic_Cornn:: @ 8E7BA90
- .incbin "graphics/berries/cornn/pic.4bpp.lz"
+ .incbin "graphics/berries/cornn.4bpp.lz"
.align 2
gBerryPic_Magost:: @ 8E7BC94
- .incbin "graphics/berries/magost/pic.4bpp.lz"
+ .incbin "graphics/berries/magost.4bpp.lz"
.align 2
gBerryPic_Rabuta:: @ 8E7BE38
- .incbin "graphics/berries/rabuta/pic.4bpp.lz"
+ .incbin "graphics/berries/rabuta.4bpp.lz"
.align 2
gBerryPic_Nomel:: @ 8E7C12C
- .incbin "graphics/berries/nomel/pic.4bpp.lz"
+ .incbin "graphics/berries/nomel.4bpp.lz"
.align 2
gBerryPic_Spelon:: @ 8E7C308
- .incbin "graphics/berries/spelon/pic.4bpp.lz"
+ .incbin "graphics/berries/spelon.4bpp.lz"
.align 2
gBerryPic_Pamtre:: @ 8E7C4F8
- .incbin "graphics/berries/pamtre/pic.4bpp.lz"
+ .incbin "graphics/berries/pamtre.4bpp.lz"
.align 2
gBerryPic_Watmel:: @ 8E7C748
- .incbin "graphics/berries/watmel/pic.4bpp.lz"
+ .incbin "graphics/berries/watmel.4bpp.lz"
.align 2
gBerryPic_Durin:: @ 8E7CA2C
- .incbin "graphics/berries/durin/pic.4bpp.lz"
+ .incbin "graphics/berries/durin.4bpp.lz"
.align 2
gBerryPic_Belue:: @ 8E7CDF8
- .incbin "graphics/berries/belue/pic.4bpp.lz"
+ .incbin "graphics/berries/belue.4bpp.lz"
.align 2
gBerryPic_Liechi:: @ 8E7D0D0
- .incbin "graphics/berries/liechi/pic.4bpp.lz"
+ .incbin "graphics/berries/liechi.4bpp.lz"
.align 2
gBerryPic_Ganlon:: @ 8E7D328
- .incbin "graphics/berries/ganlon/pic.4bpp.lz"
+ .incbin "graphics/berries/ganlon.4bpp.lz"
.align 2
gBerryPic_Salac:: @ 8E7D4C0
- .incbin "graphics/berries/salac/pic.4bpp.lz"
+ .incbin "graphics/berries/salac.4bpp.lz"
.align 2
gBerryPic_Petaya:: @ 8E7D704
- .incbin "graphics/berries/petaya/pic.4bpp.lz"
+ .incbin "graphics/berries/petaya.4bpp.lz"
.align 2
gBerryPic_Apicot:: @ 8E7D9AC
- .incbin "graphics/berries/apicot/pic.4bpp.lz"
+ .incbin "graphics/berries/apicot.4bpp.lz"
.align 2
gBerryPic_Lansat:: @ 8E7DB3C
- .incbin "graphics/berries/lansat/pic.4bpp.lz"
+ .incbin "graphics/berries/lansat.4bpp.lz"
.align 2
gBerryPic_Starf:: @ 8E7DD30
- .incbin "graphics/berries/starf/pic.4bpp.lz"
+ .incbin "graphics/berries/starf.4bpp.lz"
.align 2
gBerryPic_Enigma:: @ 8E7DF00
- .incbin "graphics/berries/enigma/pic.4bpp.lz"
+ .incbin "graphics/berries/enigma.4bpp.lz"
.align 2
gBerryPalette_Cheri:: @ 8E7E118
- .incbin "graphics/berries/cheri/palette.gbapal.lz"
+ .incbin "graphics/berries/cheri.gbapal.lz"
.align 2
gBerryPalette_Oran:: @ 8E7E140
- .incbin "graphics/berries/oran/palette.gbapal.lz"
+ .incbin "graphics/berries/oran.gbapal.lz"
.align 2
gBerryPalette_Pecha:: @ 8E7E168
- .incbin "graphics/berries/pecha/palette.gbapal.lz"
+ .incbin "graphics/berries/pecha.gbapal.lz"
.align 2
gBerryPalette_Rawst:: @ 8E7E190
- .incbin "graphics/berries/rawst/palette.gbapal.lz"
+ .incbin "graphics/berries/rawst.gbapal.lz"
.align 2
gBerryPalette_Aspear:: @ 8E7E1B8
- .incbin "graphics/berries/aspear/palette.gbapal.lz"
+ .incbin "graphics/berries/aspear.gbapal.lz"
.align 2
gBerryPalette_Leppa:: @ 8E7E1E0
- .incbin "graphics/berries/leppa/palette.gbapal.lz"
+ .incbin "graphics/berries/leppa.gbapal.lz"
.align 2
gBerryPalette_Chesto:: @ 8E7E208
- .incbin "graphics/berries/chesto/palette.gbapal.lz"
+ .incbin "graphics/berries/chesto.gbapal.lz"
.align 2
gBerryPalette_Persim:: @ 8E7E230
- .incbin "graphics/berries/persim/palette.gbapal.lz"
+ .incbin "graphics/berries/persim.gbapal.lz"
.align 2
gBerryPalette_Lum:: @ 8E7E258
- .incbin "graphics/berries/lum/palette.gbapal.lz"
+ .incbin "graphics/berries/lum.gbapal.lz"
.align 2
gBerryPalette_Sitrus:: @ 8E7E280
- .incbin "graphics/berries/sitrus/palette.gbapal.lz"
+ .incbin "graphics/berries/sitrus.gbapal.lz"
.align 2
gBerryPalette_Figy:: @ 8E7E2A8
- .incbin "graphics/berries/figy/palette.gbapal.lz"
+ .incbin "graphics/berries/figy.gbapal.lz"
.align 2
gBerryPalette_Wiki:: @ 8E7E2D0
- .incbin "graphics/berries/wiki/palette.gbapal.lz"
+ .incbin "graphics/berries/wiki.gbapal.lz"
.align 2
gBerryPalette_Mago:: @ 8E7E2F8
- .incbin "graphics/berries/mago/palette.gbapal.lz"
+ .incbin "graphics/berries/mago.gbapal.lz"
.align 2
gBerryPalette_Aguav:: @ 8E7E320
- .incbin "graphics/berries/aguav/palette.gbapal.lz"
+ .incbin "graphics/berries/aguav.gbapal.lz"
.align 2
gBerryPalette_Iapapa:: @ 8E7E348
- .incbin "graphics/berries/iapapa/palette.gbapal.lz"
+ .incbin "graphics/berries/iapapa.gbapal.lz"
.align 2
gBerryPalette_Razz:: @ 8E7E370
- .incbin "graphics/berries/razz/palette.gbapal.lz"
+ .incbin "graphics/berries/razz.gbapal.lz"
.align 2
gBerryPalette_Bluk:: @ 8E7E398
- .incbin "graphics/berries/bluk/palette.gbapal.lz"
+ .incbin "graphics/berries/bluk.gbapal.lz"
.align 2
gBerryPalette_Nanab:: @ 8E7E3C0
- .incbin "graphics/berries/nanab/palette.gbapal.lz"
+ .incbin "graphics/berries/nanab.gbapal.lz"
.align 2
gBerryPalette_Wepear:: @ 8E7E3E8
- .incbin "graphics/berries/wepear/palette.gbapal.lz"
+ .incbin "graphics/berries/wepear.gbapal.lz"
.align 2
gBerryPalette_Pinap:: @ 8E7E410
- .incbin "graphics/berries/pinap/palette.gbapal.lz"
+ .incbin "graphics/berries/pinap.gbapal.lz"
.align 2
gBerryPalette_Pomeg:: @ 8E7E438
- .incbin "graphics/berries/pomeg/palette.gbapal.lz"
+ .incbin "graphics/berries/pomeg.gbapal.lz"
.align 2
gBerryPalette_Kelpsy:: @ 8E7E460
- .incbin "graphics/berries/kelpsy/palette.gbapal.lz"
+ .incbin "graphics/berries/kelpsy.gbapal.lz"
.align 2
gBerryPalette_Qualot:: @ 8E7E488
- .incbin "graphics/berries/qualot/palette.gbapal.lz"
+ .incbin "graphics/berries/qualot.gbapal.lz"
.align 2
gBerryPalette_Hondew:: @ 8E7E4B0
- .incbin "graphics/berries/hondew/palette.gbapal.lz"
+ .incbin "graphics/berries/hondew.gbapal.lz"
.align 2
gBerryPalette_Grepa:: @ 8E7E4D8
- .incbin "graphics/berries/grepa/palette.gbapal.lz"
+ .incbin "graphics/berries/grepa.gbapal.lz"
.align 2
gBerryPalette_Tamato:: @ 8E7E500
- .incbin "graphics/berries/tamato/palette.gbapal.lz"
+ .incbin "graphics/berries/tamato.gbapal.lz"
.align 2
gBerryPalette_Cornn:: @ 8E7E528
- .incbin "graphics/berries/cornn/palette.gbapal.lz"
+ .incbin "graphics/berries/cornn.gbapal.lz"
.align 2
gBerryPalette_Magost:: @ 8E7E550
- .incbin "graphics/berries/magost/palette.gbapal.lz"
+ .incbin "graphics/berries/magost.gbapal.lz"
.align 2
gBerryPalette_Rabuta:: @ 8E7E578
- .incbin "graphics/berries/rabuta/palette.gbapal.lz"
+ .incbin "graphics/berries/rabuta.gbapal.lz"
.align 2
gBerryPalette_Nomel:: @ 8E7E5A0
- .incbin "graphics/berries/nomel/palette.gbapal.lz"
+ .incbin "graphics/berries/nomel.gbapal.lz"
.align 2
gBerryPalette_Spelon:: @ 8E7E5C8
- .incbin "graphics/berries/spelon/palette.gbapal.lz"
+ .incbin "graphics/berries/spelon.gbapal.lz"
.align 2
gBerryPalette_Pamtre:: @ 8E7E5F0
- .incbin "graphics/berries/pamtre/palette.gbapal.lz"
+ .incbin "graphics/berries/pamtre.gbapal.lz"
.align 2
gBerryPalette_Watmel:: @ 8E7E618
- .incbin "graphics/berries/watmel/palette.gbapal.lz"
+ .incbin "graphics/berries/watmel.gbapal.lz"
.align 2
gBerryPalette_Durin:: @ 8E7E640
- .incbin "graphics/berries/durin/palette.gbapal.lz"
+ .incbin "graphics/berries/durin.gbapal.lz"
.align 2
gBerryPalette_Belue:: @ 8E7E668
- .incbin "graphics/berries/belue/palette.gbapal.lz"
+ .incbin "graphics/berries/belue.gbapal.lz"
.align 2
gBerryPalette_Liechi:: @ 8E7E690
- .incbin "graphics/berries/liechi/palette.gbapal.lz"
+ .incbin "graphics/berries/liechi.gbapal.lz"
.align 2
gBerryPalette_Ganlon:: @ 8E7E6B8
- .incbin "graphics/berries/ganlon/palette.gbapal.lz"
+ .incbin "graphics/berries/ganlon.gbapal.lz"
.align 2
gBerryPalette_Salac:: @ 8E7E6E0
- .incbin "graphics/berries/salac/palette.gbapal.lz"
+ .incbin "graphics/berries/salac.gbapal.lz"
.align 2
gBerryPalette_Petaya:: @ 8E7E708
- .incbin "graphics/berries/petaya/palette.gbapal.lz"
+ .incbin "graphics/berries/petaya.gbapal.lz"
.align 2
gBerryPalette_Apicot:: @ 8E7E730
- .incbin "graphics/berries/apicot/palette.gbapal.lz"
+ .incbin "graphics/berries/apicot.gbapal.lz"
.align 2
gBerryPalette_Lansat:: @ 8E7E758
- .incbin "graphics/berries/lansat/palette.gbapal.lz"
+ .incbin "graphics/berries/lansat.gbapal.lz"
.align 2
gBerryPalette_Starf:: @ 8E7E780
- .incbin "graphics/berries/starf/palette.gbapal.lz"
+ .incbin "graphics/berries/starf.gbapal.lz"
.align 2
gBerryPalette_Enigma:: @ 8E7E7A8
- .incbin "graphics/berries/enigma/palette.gbapal.lz"
+ .incbin "graphics/berries/enigma.gbapal.lz"
diff --git a/data/graphics/trainers/graphics.inc b/data/graphics/trainers/graphics.inc
index 09f34ca31..3a2be8723 100644
--- a/data/graphics/trainers/graphics.inc
+++ b/data/graphics/trainers/graphics.inc
@@ -1,675 +1,675 @@
.align 2
gTrainerFrontPic_Lass:: @ 8E48D38
- .incbin "graphics/trainers/lass/front.4bpp.lz"
+ .incbin "graphics/trainers/lass.4bpp.lz"
.align 2
gTrainerFrontPic_Youngster:: @ 8E49010
- .incbin "graphics/trainers/youngster/front.4bpp.lz"
+ .incbin "graphics/trainers/youngster.4bpp.lz"
.align 2
gTrainerFrontPic_Brendan:: @ 8E492B8
- .incbin "graphics/trainers/brendan/front.4bpp.lz"
+ .incbin "graphics/trainers/brendan.4bpp.lz"
.align 2
gTrainerFrontPic_May:: @ 8E495CC
- .incbin "graphics/trainers/may/front.4bpp.lz"
+ .incbin "graphics/trainers/may.4bpp.lz"
.align 2
gTrainerFrontPic_Hiker:: @ 8E498CC
- .incbin "graphics/trainers/hiker/front.4bpp.lz"
+ .incbin "graphics/trainers/hiker.4bpp.lz"
.align 2
gTrainerFrontPic_Beauty:: @ 8E49D4C
- .incbin "graphics/trainers/beauty/front.4bpp.lz"
+ .incbin "graphics/trainers/beauty.4bpp.lz"
.align 2
gTrainerFrontPic_Fisherman:: @ 8E4A034
- .incbin "graphics/trainers/fisherman/front.4bpp.lz"
+ .incbin "graphics/trainers/fisherman.4bpp.lz"
.align 2
gTrainerFrontPic_Lady:: @ 8E4A418
- .incbin "graphics/trainers/lady/front.4bpp.lz"
+ .incbin "graphics/trainers/lady.4bpp.lz"
.align 2
gTrainerFrontPic_CyclingTriathleteM:: @ 8E4A7CC
- .incbin "graphics/trainers/cycling_triathlete_m/front.4bpp.lz"
+ .incbin "graphics/trainers/cycling_triathlete_m.4bpp.lz"
.align 2
gTrainerFrontPic_AquaGruntM:: @ 8E4ABDC
- .incbin "graphics/trainers/aqua_grunt_m/front.4bpp.lz"
+ .incbin "graphics/trainers/aqua_grunt_m.4bpp.lz"
.align 2
gTrainerFrontPic_Twins:: @ 8E4AF3C
- .incbin "graphics/trainers/twins/front.4bpp.lz"
+ .incbin "graphics/trainers/twins.4bpp.lz"
.align 2
gTrainerFrontPic_SwimmerF:: @ 8E4B300
- .incbin "graphics/trainers/swimmer_f/front.4bpp.lz"
+ .incbin "graphics/trainers/swimmer_f.4bpp.lz"
.align 2
gTrainerFrontPic_BugCatcher:: @ 8E4B5D0
- .incbin "graphics/trainers/bug_catcher/front.4bpp.lz"
+ .incbin "graphics/trainers/bug_catcher.4bpp.lz"
.align 2
gTrainerFrontPic_SchoolKidM:: @ 8E4B8FC
- .incbin "graphics/trainers/school_kid_m/front.4bpp.lz"
+ .incbin "graphics/trainers/school_kid_m.4bpp.lz"
.align 2
gTrainerFrontPic_RichBoy:: @ 8E4BBBC
- .incbin "graphics/trainers/rich_boy/front.4bpp.lz"
+ .incbin "graphics/trainers/rich_boy.4bpp.lz"
.align 2
gTrainerFrontPic_SrAndJr:: @ 8E4BE70
- .incbin "graphics/trainers/sr_and_jr/front.4bpp.lz"
+ .incbin "graphics/trainers/sr_and_jr.4bpp.lz"
.align 2
gTrainerFrontPic_BlackBelt:: @ 8E4C2E0
- .incbin "graphics/trainers/black_belt/front.4bpp.lz"
+ .incbin "graphics/trainers/black_belt.4bpp.lz"
.align 2
gTrainerFrontPic_Wally:: @ 8E4C644
- .incbin "graphics/trainers/wally/front.4bpp.lz"
+ .incbin "graphics/trainers/wally.4bpp.lz"
.align 2
gTrainerFrontPic_AquaGruntF:: @ 8E4C914
- .incbin "graphics/trainers/aqua_grunt_f/front.4bpp.lz"
+ .incbin "graphics/trainers/aqua_grunt_f.4bpp.lz"
.align 2
gTrainerFrontPic_TuberF:: @ 8E4CC50
- .incbin "graphics/trainers/tuber_f/front.4bpp.lz"
+ .incbin "graphics/trainers/tuber_f.4bpp.lz"
.align 2
gTrainerFrontPic_HexManiac:: @ 8E4CEF4
- .incbin "graphics/trainers/hex_maniac/front.4bpp.lz"
+ .incbin "graphics/trainers/hex_maniac.4bpp.lz"
.align 2
gTrainerFrontPic_PokemonBreederF:: @ 8E4D260
- .incbin "graphics/trainers/pokemon_breeder_f/front.4bpp.lz"
+ .incbin "graphics/trainers/pokemon_breeder_f.4bpp.lz"
.align 2
gTrainerFrontPic_MagmaGruntM:: @ 8E4D594
- .incbin "graphics/trainers/magma_grunt_m/front.4bpp.lz"
+ .incbin "graphics/trainers/magma_grunt_m.4bpp.lz"
.align 2
gTrainerFrontPic_MagmaGruntF:: @ 8E4D914
- .incbin "graphics/trainers/magma_grunt_f/front.4bpp.lz"
+ .incbin "graphics/trainers/magma_grunt_f.4bpp.lz"
.align 2
gTrainerFrontPic_Interviewer:: @ 8E4DCA0
- .incbin "graphics/trainers/interviewer/front.4bpp.lz"
+ .incbin "graphics/trainers/interviewer.4bpp.lz"
.align 2
gTrainerFrontPic_TuberM:: @ 8E4E144
- .incbin "graphics/trainers/tuber_m/front.4bpp.lz"
+ .incbin "graphics/trainers/tuber_m.4bpp.lz"
.align 2
gTrainerFrontPic_YoungCouple:: @ 8E4E3D0
- .incbin "graphics/trainers/young_couple/front.4bpp.lz"
+ .incbin "graphics/trainers/young_couple.4bpp.lz"
.align 2
gTrainerFrontPic_Guitarist:: @ 8E4E790
- .incbin "graphics/trainers/guitarist/front.4bpp.lz"
+ .incbin "graphics/trainers/guitarist.4bpp.lz"
.align 2
gTrainerFrontPic_Gentleman:: @ 8E4EB14
- .incbin "graphics/trainers/gentleman/front.4bpp.lz"
+ .incbin "graphics/trainers/gentleman.4bpp.lz"
.align 2
gTrainerFrontPic_Steven:: @ 8E4EE14
- .incbin "graphics/trainers/steven/front.4bpp.lz"
+ .incbin "graphics/trainers/steven.4bpp.lz"
.align 2
gTrainerFrontPic_Maxie:: @ 8E4F14C
- .incbin "graphics/trainers/maxie/front.4bpp.lz"
+ .incbin "graphics/trainers/maxie.4bpp.lz"
.align 2
gTrainerFrontPic_RunningTriathleteF:: @ 8E4F440
- .incbin "graphics/trainers/running_triathlete_f/front.4bpp.lz"
+ .incbin "graphics/trainers/running_triathlete_f.4bpp.lz"
.align 2
gTrainerFrontPic_RunningTriathleteM:: @ 8E4F6E4
- .incbin "graphics/trainers/running_triathlete_m/front.4bpp.lz"
+ .incbin "graphics/trainers/running_triathlete_m.4bpp.lz"
.align 2
gTrainerFrontPic_BattleGirl:: @ 8E4F99C
- .incbin "graphics/trainers/battle_girl/front.4bpp.lz"
+ .incbin "graphics/trainers/battle_girl.4bpp.lz"
.align 2
gTrainerFrontPic_CyclingTriathleteF:: @ 8E4FCBC
- .incbin "graphics/trainers/cycling_triathlete_f/front.4bpp.lz"
+ .incbin "graphics/trainers/cycling_triathlete_f.4bpp.lz"
.align 2
gTrainerFrontPic_SwimmerM:: @ 8E500C8
- .incbin "graphics/trainers/swimmer_m/front.4bpp.lz"
+ .incbin "graphics/trainers/swimmer_m.4bpp.lz"
.align 2
gTrainerFrontPic_PokefanF:: @ 8E50388
- .incbin "graphics/trainers/pokefan_f/front.4bpp.lz"
+ .incbin "graphics/trainers/pokefan_f.4bpp.lz"
.align 2
gTrainerFrontPic_ExpertM:: @ 8E50754
- .incbin "graphics/trainers/expert_m/front.4bpp.lz"
+ .incbin "graphics/trainers/expert_m.4bpp.lz"
.align 2
gTrainerFrontPic_ExpertF:: @ 8E50A94
- .incbin "graphics/trainers/expert_f/front.4bpp.lz"
+ .incbin "graphics/trainers/expert_f.4bpp.lz"
.align 2
gTrainerFrontPic_SwimmingTriathleteM:: @ 8E50DB0
- .incbin "graphics/trainers/swimming_triathlete_m/front.4bpp.lz"
+ .incbin "graphics/trainers/swimming_triathlete_m.4bpp.lz"
.align 2
gTrainerFrontPic_SwimmingTriathleteF:: @ 8E510DC
- .incbin "graphics/trainers/swimming_triathlete_f/front.4bpp.lz"
+ .incbin "graphics/trainers/swimming_triathlete_f.4bpp.lz"
.align 2
gTrainerFrontPic_DragonTamer:: @ 8E513B8
- .incbin "graphics/trainers/dragon_tamer/front.4bpp.lz"
+ .incbin "graphics/trainers/dragon_tamer.4bpp.lz"
.align 2
gTrainerFrontPic_BirdKeeper:: @ 8E5170C
- .incbin "graphics/trainers/bird_keeper/front.4bpp.lz"
+ .incbin "graphics/trainers/bird_keeper.4bpp.lz"
.align 2
gTrainerFrontPic_NinjaBoy:: @ 8E51A44
- .incbin "graphics/trainers/ninja_boy/front.4bpp.lz"
+ .incbin "graphics/trainers/ninja_boy.4bpp.lz"
.align 2
gTrainerFrontPic_ParasolLady:: @ 8E51D20
- .incbin "graphics/trainers/parasol_lady/front.4bpp.lz"
+ .incbin "graphics/trainers/parasol_lady.4bpp.lz"
.align 2
gTrainerFrontPic_BugManiac:: @ 8E52058
- .incbin "graphics/trainers/bug_maniac/front.4bpp.lz"
+ .incbin "graphics/trainers/bug_maniac.4bpp.lz"
.align 2
gTrainerFrontPic_Sailor:: @ 8E524A8
- .incbin "graphics/trainers/sailor/front.4bpp.lz"
+ .incbin "graphics/trainers/sailor.4bpp.lz"
.align 2
gTrainerFrontPic_Collector:: @ 8E52858
- .incbin "graphics/trainers/collector/front.4bpp.lz"
+ .incbin "graphics/trainers/collector.4bpp.lz"
.align 2
gTrainerFrontPic_PokemonBreederM:: @ 8E52C5C
- .incbin "graphics/trainers/pokemon_breeder_m/front.4bpp.lz"
+ .incbin "graphics/trainers/pokemon_breeder_m.4bpp.lz"
.align 2
gTrainerFrontPic_PokemonRangerM:: @ 8E52F8C
- .incbin "graphics/trainers/pokemon_ranger_m/front.4bpp.lz"
+ .incbin "graphics/trainers/pokemon_ranger_m.4bpp.lz"
.align 2
gTrainerFrontPic_PokemonRangerF:: @ 8E532D4
- .incbin "graphics/trainers/pokemon_ranger_f/front.4bpp.lz"
+ .incbin "graphics/trainers/pokemon_ranger_f.4bpp.lz"
.align 2
gTrainerFrontPic_MagmaAdminM:: @ 8E53608
- .incbin "graphics/trainers/magma_admin_m/front.4bpp.lz"
+ .incbin "graphics/trainers/magma_admin_m.4bpp.lz"
.align 2
gTrainerFrontPic_MagmaAdminF:: @ 8E539E0
- .incbin "graphics/trainers/magma_admin_f/front.4bpp.lz"
+ .incbin "graphics/trainers/magma_admin_f.4bpp.lz"
.align 2
gTrainerFrontPic_AromaLady:: @ 8E53D90
- .incbin "graphics/trainers/aroma_lady/front.4bpp.lz"
+ .incbin "graphics/trainers/aroma_lady.4bpp.lz"
.align 2
gTrainerFrontPic_RuinManiac:: @ 8E54054
- .incbin "graphics/trainers/ruin_maniac/front.4bpp.lz"
+ .incbin "graphics/trainers/ruin_maniac.4bpp.lz"
.align 2
gTrainerFrontPic_CoolTrainerM:: @ 8E543F0
- .incbin "graphics/trainers/cool_trainer_m/front.4bpp.lz"
+ .incbin "graphics/trainers/cool_trainer_m.4bpp.lz"
.align 2
gTrainerFrontPic_CoolTrainerF:: @ 8E546D8
- .incbin "graphics/trainers/cool_trainer_f/front.4bpp.lz"
+ .incbin "graphics/trainers/cool_trainer_f.4bpp.lz"
.align 2
gTrainerFrontPic_Pokemaniac:: @ 8E549EC
- .incbin "graphics/trainers/pokemaniac/front.4bpp.lz"
+ .incbin "graphics/trainers/pokemaniac.4bpp.lz"
.align 2
gTrainerFrontPic_Kindler:: @ 8E54D5C
- .incbin "graphics/trainers/kindler/front.4bpp.lz"
+ .incbin "graphics/trainers/kindler.4bpp.lz"
.align 2
gTrainerFrontPic_Camper:: @ 8E550C8
- .incbin "graphics/trainers/camper/front.4bpp.lz"
+ .incbin "graphics/trainers/camper.4bpp.lz"
.align 2
gTrainerFrontPic_Picnicker:: @ 8E553B0
- .incbin "graphics/trainers/picnicker/front.4bpp.lz"
+ .incbin "graphics/trainers/picnicker.4bpp.lz"
.align 2
gTrainerFrontPic_PsychicM:: @ 8E55690
- .incbin "graphics/trainers/psychic_m/front.4bpp.lz"
+ .incbin "graphics/trainers/psychic_m.4bpp.lz"
.align 2
gTrainerFrontPic_PsychicF:: @ 8E559BC
- .incbin "graphics/trainers/psychic_f/front.4bpp.lz"
+ .incbin "graphics/trainers/psychic_f.4bpp.lz"
.align 2
gTrainerFrontPic_SchoolKidF:: @ 8E55CE4
- .incbin "graphics/trainers/school_kid_f/front.4bpp.lz"
+ .incbin "graphics/trainers/school_kid_f.4bpp.lz"
.align 2
gTrainerFrontPic_PokefanM:: @ 8E55F80
- .incbin "graphics/trainers/pokefan_m/front.4bpp.lz"
+ .incbin "graphics/trainers/pokefan_m.4bpp.lz"
.align 2
gTrainerFrontPic_SisAndBro:: @ 8E5633C
- .incbin "graphics/trainers/sis_and_bro/front.4bpp.lz"
+ .incbin "graphics/trainers/sis_and_bro.4bpp.lz"
.align 2
gTrainerFrontPic_OldCouple:: @ 8E56788
- .incbin "graphics/trainers/old_couple/front.4bpp.lz"
+ .incbin "graphics/trainers/old_couple.4bpp.lz"
.align 2
gTrainerFrontPic_AquaAdminM:: @ 8E56C98
- .incbin "graphics/trainers/aqua_admin_m/front.4bpp.lz"
+ .incbin "graphics/trainers/aqua_admin_m.4bpp.lz"
.align 2
gTrainerFrontPic_AquaAdminF:: @ 8E5704C
- .incbin "graphics/trainers/aqua_admin_f/front.4bpp.lz"
+ .incbin "graphics/trainers/aqua_admin_f.4bpp.lz"
.align 2
gTrainerFrontPic_UnusedAqua:: @ 8E57410
- .incbin "graphics/trainers/unused_aqua/front.4bpp.lz"
+ .incbin "graphics/trainers/unused_aqua.4bpp.lz"
.align 2
gTrainerFrontPic_Archie:: @ 8E5778C
- .incbin "graphics/trainers/archie/front.4bpp.lz"
+ .incbin "graphics/trainers/archie.4bpp.lz"
.align 2
gTrainerBackPic_Brendan:: @ 8E57AC8
- .incbin "graphics/trainers/brendan/back.4bpp.lz"
+ .incbin "graphics/trainers/brendan_back.4bpp.lz"
.align 2
gTrainerBackPic_May:: @ 8E5889C
- .incbin "graphics/trainers/may/back.4bpp.lz"
+ .incbin "graphics/trainers/may_back.4bpp.lz"
.align 2
gTrainerBackPic_Wally:: @ 8E59588
- .incbin "graphics/trainers/wally/back.4bpp.lz"
+ .incbin "graphics/trainers/wally_back.4bpp.lz"
.align 2
gTrainerPalette_Lass:: @ 8E59FD8
- .incbin "graphics/trainers/lass/palette.gbapal.lz"
+ .incbin "graphics/trainers/lass.gbapal.lz"
.align 2
gTrainerPalette_Youngster:: @ 8E5A000
- .incbin "graphics/trainers/youngster/palette.gbapal.lz"
+ .incbin "graphics/trainers/youngster.gbapal.lz"
.align 2
gTrainerPalette_Brendan:: @ 8E5A028
- .incbin "graphics/trainers/brendan/palette.gbapal.lz"
+ .incbin "graphics/trainers/brendan.gbapal.lz"
.align 2
gTrainerPalette_May:: @ 8E5A050
- .incbin "graphics/trainers/may/palette.gbapal.lz"
+ .incbin "graphics/trainers/may.gbapal.lz"
.align 2
gTrainerPalette_Hiker:: @ 8E5A078
- .incbin "graphics/trainers/hiker/palette.gbapal.lz"
+ .incbin "graphics/trainers/hiker.gbapal.lz"
.align 2
gTrainerPalette_Beauty:: @ 8E5A0A0
- .incbin "graphics/trainers/beauty/palette.gbapal.lz"
+ .incbin "graphics/trainers/beauty.gbapal.lz"
.align 2
gTrainerPalette_Fisherman:: @ 8E5A0C8
- .incbin "graphics/trainers/fisherman/palette.gbapal.lz"
+ .incbin "graphics/trainers/fisherman.gbapal.lz"
.align 2
gTrainerPalette_Lady:: @ 8E5A0F0
- .incbin "graphics/trainers/lady/palette.gbapal.lz"
+ .incbin "graphics/trainers/lady.gbapal.lz"
.align 2
gTrainerPalette_CyclingTriathleteM:: @ 8E5A118
- .incbin "graphics/trainers/cycling_triathlete_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/cycling_triathlete_m.gbapal.lz"
.align 2
gTrainerPalette_AquaGruntM:: @ 8E5A140
- .incbin "graphics/trainers/aqua_grunt_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/aqua_grunt_m.gbapal.lz"
.align 2
gTrainerPalette_Twins:: @ 8E5A168
- .incbin "graphics/trainers/twins/palette.gbapal.lz"
+ .incbin "graphics/trainers/twins.gbapal.lz"
.align 2
gTrainerPalette_SwimmerF:: @ 8E5A190
- .incbin "graphics/trainers/swimmer_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/swimmer_f.gbapal.lz"
.align 2
gTrainerPalette_BugCatcher:: @ 8E5A1B8
- .incbin "graphics/trainers/bug_catcher/palette.gbapal.lz"
+ .incbin "graphics/trainers/bug_catcher.gbapal.lz"
.align 2
gTrainerPalette_SchoolKidM:: @ 8E5A1E0
- .incbin "graphics/trainers/school_kid_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/school_kid_m.gbapal.lz"
.align 2
gTrainerPalette_RichBoy:: @ 8E5A208
- .incbin "graphics/trainers/rich_boy/palette.gbapal.lz"
+ .incbin "graphics/trainers/rich_boy.gbapal.lz"
.align 2
gTrainerPalette_SrAndJr:: @ 8E5A230
- .incbin "graphics/trainers/sr_and_jr/palette.gbapal.lz"
+ .incbin "graphics/trainers/sr_and_jr.gbapal.lz"
.align 2
gTrainerPalette_BlackBelt:: @ 8E5A258
- .incbin "graphics/trainers/black_belt/palette.gbapal.lz"
+ .incbin "graphics/trainers/black_belt.gbapal.lz"
.align 2
gTrainerPalette_Wally:: @ 8E5A280
- .incbin "graphics/trainers/wally/palette.gbapal.lz"
+ .incbin "graphics/trainers/wally.gbapal.lz"
.align 2
gTrainerPalette_AquaGruntF:: @ 8E5A2A8
- .incbin "graphics/trainers/aqua_grunt_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/aqua_grunt_f.gbapal.lz"
.align 2
gTrainerPalette_TuberF:: @ 8E5A2D0
- .incbin "graphics/trainers/tuber_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/tuber_f.gbapal.lz"
.align 2
gTrainerPalette_HexManiac:: @ 8E5A2F8
- .incbin "graphics/trainers/hex_maniac/palette.gbapal.lz"
+ .incbin "graphics/trainers/hex_maniac.gbapal.lz"
.align 2
gTrainerPalette_PokemonBreederF:: @ 8E5A320
- .incbin "graphics/trainers/pokemon_breeder_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/pokemon_breeder_f.gbapal.lz"
.align 2
gTrainerPalette_MagmaGruntM:: @ 8E5A348
- .incbin "graphics/trainers/magma_grunt_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/magma_grunt_m.gbapal.lz"
.align 2
gTrainerPalette_MagmaGruntF:: @ 8E5A370
- .incbin "graphics/trainers/magma_grunt_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/magma_grunt_f.gbapal.lz"
.align 2
gTrainerPalette_Interviewer:: @ 8E5A398
- .incbin "graphics/trainers/interviewer/palette.gbapal.lz"
+ .incbin "graphics/trainers/interviewer.gbapal.lz"
.align 2
gTrainerPalette_TuberM:: @ 8E5A3C0
- .incbin "graphics/trainers/tuber_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/tuber_m.gbapal.lz"
.align 2
gTrainerPalette_YoungCouple:: @ 8E5A3E8
- .incbin "graphics/trainers/young_couple/palette.gbapal.lz"
+ .incbin "graphics/trainers/young_couple.gbapal.lz"
.align 2
gTrainerPalette_Guitarist:: @ 8E5A410
- .incbin "graphics/trainers/guitarist/palette.gbapal.lz"
+ .incbin "graphics/trainers/guitarist.gbapal.lz"
.align 2
gTrainerPalette_Gentleman:: @ 8E5A438
- .incbin "graphics/trainers/gentleman/palette.gbapal.lz"
+ .incbin "graphics/trainers/gentleman.gbapal.lz"
.align 2
gTrainerPalette_Steven:: @ 8E5A460
- .incbin "graphics/trainers/steven/palette.gbapal.lz"
+ .incbin "graphics/trainers/steven.gbapal.lz"
.align 2
gTrainerPalette_Maxie:: @ 8E5A488
- .incbin "graphics/trainers/maxie/palette.gbapal.lz"
+ .incbin "graphics/trainers/maxie.gbapal.lz"
.align 2
gTrainerPalette_RunningTriathleteF:: @ 8E5A4B0
- .incbin "graphics/trainers/running_triathlete_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/running_triathlete_f.gbapal.lz"
.align 2
gTrainerPalette_RunningTriathleteM:: @ 8E5A4D8
- .incbin "graphics/trainers/running_triathlete_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/running_triathlete_m.gbapal.lz"
.align 2
gTrainerPalette_BattleGirl:: @ 8E5A500
- .incbin "graphics/trainers/battle_girl/palette.gbapal.lz"
+ .incbin "graphics/trainers/battle_girl.gbapal.lz"
.align 2
gTrainerPalette_CyclingTriathleteF:: @ 8E5A528
- .incbin "graphics/trainers/cycling_triathlete_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/cycling_triathlete_f.gbapal.lz"
.align 2
gTrainerPalette_SwimmerM:: @ 8E5A550
- .incbin "graphics/trainers/swimmer_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/swimmer_m.gbapal.lz"
.align 2
gTrainerPalette_PokefanF:: @ 8E5A578
- .incbin "graphics/trainers/pokefan_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/pokefan_f.gbapal.lz"
.align 2
gTrainerPalette_ExpertM:: @ 8E5A5A0
- .incbin "graphics/trainers/expert_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/expert_m.gbapal.lz"
.align 2
gTrainerPalette_ExpertF:: @ 8E5A5C8
- .incbin "graphics/trainers/expert_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/expert_f.gbapal.lz"
.align 2
gTrainerPalette_SwimmingTriathleteM:: @ 8E5A5F0
- .incbin "graphics/trainers/swimming_triathlete_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/swimming_triathlete_m.gbapal.lz"
.align 2
gTrainerPalette_SwimmingTriathleteF:: @ 8E5A618
- .incbin "graphics/trainers/swimming_triathlete_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/swimming_triathlete_f.gbapal.lz"
.align 2
gTrainerPalette_DragonTamer:: @ 8E5A640
- .incbin "graphics/trainers/dragon_tamer/palette.gbapal.lz"
+ .incbin "graphics/trainers/dragon_tamer.gbapal.lz"
.align 2
gTrainerPalette_BirdKeeper:: @ 8E5A668
- .incbin "graphics/trainers/bird_keeper/palette.gbapal.lz"
+ .incbin "graphics/trainers/bird_keeper.gbapal.lz"
.align 2
gTrainerPalette_NinjaBoy:: @ 8E5A690
- .incbin "graphics/trainers/ninja_boy/palette.gbapal.lz"
+ .incbin "graphics/trainers/ninja_boy.gbapal.lz"
.align 2
gTrainerPalette_ParasolLady:: @ 8E5A6B8
- .incbin "graphics/trainers/parasol_lady/palette.gbapal.lz"
+ .incbin "graphics/trainers/parasol_lady.gbapal.lz"
.align 2
gTrainerPalette_BugManiac:: @ 8E5A6E0
- .incbin "graphics/trainers/bug_maniac/palette.gbapal.lz"
+ .incbin "graphics/trainers/bug_maniac.gbapal.lz"
.align 2
gTrainerPalette_Sailor:: @ 8E5A708
- .incbin "graphics/trainers/sailor/palette.gbapal.lz"
+ .incbin "graphics/trainers/sailor.gbapal.lz"
.align 2
gTrainerPalette_Collector:: @ 8E5A730
- .incbin "graphics/trainers/collector/palette.gbapal.lz"
+ .incbin "graphics/trainers/collector.gbapal.lz"
.align 2
gTrainerPalette_PokemonBreederM:: @ 8E5A758
- .incbin "graphics/trainers/pokemon_breeder_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/pokemon_breeder_m.gbapal.lz"
.align 2
gTrainerPalette_PokemonRangerM:: @ 8E5A780
- .incbin "graphics/trainers/pokemon_ranger_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/pokemon_ranger_m.gbapal.lz"
.align 2
gTrainerPalette_PokemonRangerF:: @ 8E5A7A8
- .incbin "graphics/trainers/pokemon_ranger_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/pokemon_ranger_f.gbapal.lz"
.align 2
gTrainerPalette_MagmaAdminM:: @ 8E5A7D0
- .incbin "graphics/trainers/magma_admin_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/magma_admin_m.gbapal.lz"
.align 2
gTrainerPalette_MagmaAdminF:: @ 8E5A7F8
- .incbin "graphics/trainers/magma_admin_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/magma_admin_f.gbapal.lz"
.align 2
gTrainerPalette_AromaLady:: @ 8E5A820
- .incbin "graphics/trainers/aroma_lady/palette.gbapal.lz"
+ .incbin "graphics/trainers/aroma_lady.gbapal.lz"
.align 2
gTrainerPalette_RuinManiac:: @ 8E5A848
- .incbin "graphics/trainers/ruin_maniac/palette.gbapal.lz"
+ .incbin "graphics/trainers/ruin_maniac.gbapal.lz"
.align 2
gTrainerPalette_CoolTrainerM:: @ 8E5A870
- .incbin "graphics/trainers/cool_trainer_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/cool_trainer_m.gbapal.lz"
.align 2
gTrainerPalette_CoolTrainerF:: @ 8E5A898
- .incbin "graphics/trainers/cool_trainer_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/cool_trainer_f.gbapal.lz"
.align 2
gTrainerPalette_Pokemaniac:: @ 8E5A8C0
- .incbin "graphics/trainers/pokemaniac/palette.gbapal.lz"
+ .incbin "graphics/trainers/pokemaniac.gbapal.lz"
.align 2
gTrainerPalette_Kindler:: @ 8E5A8E8
- .incbin "graphics/trainers/kindler/palette.gbapal.lz"
+ .incbin "graphics/trainers/kindler.gbapal.lz"
.align 2
gTrainerPalette_Camper:: @ 8E5A910
- .incbin "graphics/trainers/camper/palette.gbapal.lz"
+ .incbin "graphics/trainers/camper.gbapal.lz"
.align 2
gTrainerPalette_Picnicker:: @ 8E5A938
- .incbin "graphics/trainers/picnicker/palette.gbapal.lz"
+ .incbin "graphics/trainers/picnicker.gbapal.lz"
.align 2
gTrainerPalette_PsychicM:: @ 8E5A960
- .incbin "graphics/trainers/psychic_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/psychic_m.gbapal.lz"
.align 2
gTrainerPalette_PsychicF:: @ 8E5A988
- .incbin "graphics/trainers/psychic_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/psychic_f.gbapal.lz"
.align 2
gTrainerPalette_SchoolKidF:: @ 8E5A9B0
- .incbin "graphics/trainers/school_kid_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/school_kid_f.gbapal.lz"
.align 2
gTrainerPalette_PokefanM:: @ 8E5A9D8
- .incbin "graphics/trainers/pokefan_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/pokefan_m.gbapal.lz"
.align 2
gTrainerPalette_SisAndBro:: @ 8E5AA00
- .incbin "graphics/trainers/sis_and_bro/palette.gbapal.lz"
+ .incbin "graphics/trainers/sis_and_bro.gbapal.lz"
.align 2
gTrainerPalette_OldCouple:: @ 8E5AA28
- .incbin "graphics/trainers/old_couple/palette.gbapal.lz"
+ .incbin "graphics/trainers/old_couple.gbapal.lz"
.align 2
gTrainerPalette_AquaAdminM:: @ 8E5AA50
- .incbin "graphics/trainers/aqua_admin_m/palette.gbapal.lz"
+ .incbin "graphics/trainers/aqua_admin_m.gbapal.lz"
.align 2
gTrainerPalette_AquaAdminF:: @ 8E5AA78
- .incbin "graphics/trainers/aqua_admin_f/palette.gbapal.lz"
+ .incbin "graphics/trainers/aqua_admin_f.gbapal.lz"
.align 2
gTrainerPalette_UnusedAqua:: @ 8E5AAA0
- .incbin "graphics/trainers/unused_aqua/palette.gbapal.lz"
+ .incbin "graphics/trainers/unused_aqua.gbapal.lz"
.align 2
gTrainerPalette_Archie:: @ 8E5AAC8
- .incbin "graphics/trainers/archie/palette.gbapal.lz"
+ .incbin "graphics/trainers/archie.gbapal.lz"
.align 2
gTrainerFrontPic_Roxanne:: @ 8E5AAF0
- .incbin "graphics/trainers/roxanne/front.4bpp.lz"
+ .incbin "graphics/trainers/roxanne.4bpp.lz"
.align 2
gTrainerFrontPic_Brawly:: @ 8E5ADDC
- .incbin "graphics/trainers/brawly/front.4bpp.lz"
+ .incbin "graphics/trainers/brawly.4bpp.lz"
.align 2
gTrainerFrontPic_Wattson:: @ 8E5B170
- .incbin "graphics/trainers/wattson/front.4bpp.lz"
+ .incbin "graphics/trainers/wattson.4bpp.lz"
.align 2
gTrainerFrontPic_Flannery:: @ 8E5B4B8
- .incbin "graphics/trainers/flannery/front.4bpp.lz"
+ .incbin "graphics/trainers/flannery.4bpp.lz"
.align 2
gTrainerFrontPic_Norman:: @ 8E5B838
- .incbin "graphics/trainers/norman/front.4bpp.lz"
+ .incbin "graphics/trainers/norman.4bpp.lz"
.align 2
gTrainerFrontPic_Winona:: @ 8E5BB74
- .incbin "graphics/trainers/winona/front.4bpp.lz"
+ .incbin "graphics/trainers/winona.4bpp.lz"
.align 2
gTrainerFrontPic_TateAndLiza:: @ 8E5BEF4
- .incbin "graphics/trainers/tate_and_liza/front.4bpp.lz"
+ .incbin "graphics/trainers/tate_and_liza.4bpp.lz"
.align 2
gTrainerFrontPic_Wallace:: @ 8E5C338
- .incbin "graphics/trainers/wallace/front.4bpp.lz"
+ .incbin "graphics/trainers/wallace.4bpp.lz"
.align 2
gTrainerFrontPic_Sidney:: @ 8E5C6B0
- .incbin "graphics/trainers/sidney/front.4bpp.lz"
+ .incbin "graphics/trainers/sidney.4bpp.lz"
.align 2
gTrainerFrontPic_Phoebe:: @ 8E5C9E4
- .incbin "graphics/trainers/phoebe/front.4bpp.lz"
+ .incbin "graphics/trainers/phoebe.4bpp.lz"
.align 2
gTrainerFrontPic_Glacia:: @ 8E5CCE4
- .incbin "graphics/trainers/glacia/front.4bpp.lz"
+ .incbin "graphics/trainers/glacia.4bpp.lz"
.align 2
gTrainerFrontPic_Drake:: @ 8E5D068
- .incbin "graphics/trainers/drake/front.4bpp.lz"
+ .incbin "graphics/trainers/drake.4bpp.lz"
.align 2
gTrainerPalette_Roxanne:: @ 8E5D410
- .incbin "graphics/trainers/roxanne/palette.gbapal.lz"
+ .incbin "graphics/trainers/roxanne.gbapal.lz"
.align 2
gTrainerPalette_Brawly:: @ 8E5D438
- .incbin "graphics/trainers/brawly/palette.gbapal.lz"
+ .incbin "graphics/trainers/brawly.gbapal.lz"
.align 2
gTrainerPalette_Wattson:: @ 8E5D460
- .incbin "graphics/trainers/wattson/palette.gbapal.lz"
+ .incbin "graphics/trainers/wattson.gbapal.lz"
.align 2
gTrainerPalette_Flannery:: @ 8E5D488
- .incbin "graphics/trainers/flannery/palette.gbapal.lz"
+ .incbin "graphics/trainers/flannery.gbapal.lz"
.align 2
gTrainerPalette_Norman:: @ 8E5D4B0
- .incbin "graphics/trainers/norman/palette.gbapal.lz"
+ .incbin "graphics/trainers/norman.gbapal.lz"
.align 2
gTrainerPalette_Winona:: @ 8E5D4D8
- .incbin "graphics/trainers/winona/palette.gbapal.lz"
+ .incbin "graphics/trainers/winona.gbapal.lz"
.align 2
gTrainerPalette_TateAndLiza:: @ 8E5D500
- .incbin "graphics/trainers/tate_and_liza/palette.gbapal.lz"
+ .incbin "graphics/trainers/tate_and_liza.gbapal.lz"
.align 2
gTrainerPalette_Wallace:: @ 8E5D528
- .incbin "graphics/trainers/wallace/palette.gbapal.lz"
+ .incbin "graphics/trainers/wallace.gbapal.lz"
.align 2
gTrainerPalette_Sidney:: @ 8E5D550
- .incbin "graphics/trainers/sidney/palette.gbapal.lz"
+ .incbin "graphics/trainers/sidney.gbapal.lz"
.align 2
gTrainerPalette_Phoebe:: @ 8E5D578
- .incbin "graphics/trainers/phoebe/palette.gbapal.lz"
+ .incbin "graphics/trainers/phoebe.gbapal.lz"
.align 2
gTrainerPalette_Glacia:: @ 8E5D5A0
- .incbin "graphics/trainers/glacia/palette.gbapal.lz"
+ .incbin "graphics/trainers/glacia.gbapal.lz"
.align 2
gTrainerPalette_Drake:: @ 8E5D5C8
- .incbin "graphics/trainers/drake/palette.gbapal.lz"
+ .incbin "graphics/trainers/drake.gbapal.lz"
diff --git a/data/ingame_trades.inc b/data/ingame_trades.inc
deleted file mode 100644
index f5258e26c..000000000
--- a/data/ingame_trades.inc
+++ /dev/null
@@ -1,108 +0,0 @@
- .align 2
-gIngameTrades:: @ 8215AC4
- .string "MAKIT$", 11 @ nickname
- .space 1
- .2byte SPECIES_MAKUHITA @ NPC mon species
- .byte 5 @ HP IV
- .byte 5 @ attack IV
- .byte 4 @ defense IV
- .byte 4 @ speed IV
- .byte 4 @ sp. attack IV
- .byte 4 @ sp. defense IV
- .byte TRUE @ second ability
- .space 3
- .4byte 49562 @ OT ID
- .byte 5 @ cool
- .byte 5 @ beauty
- .byte 5 @ cute
- .byte 5 @ smart
- .byte 30 @ tough
- .space 3
- .4byte 0x9C40 @ personality value
- .2byte ITEM_X_ATTACK @ held item
- .byte -1 @ mail num
- .string "ELYSSA$", 11 @ OT name
- .byte MALE @ OT gender
- .byte 10 @ sheen
- .2byte SPECIES_SLAKOTH @ player mon species
- .space 2
-
- .string "SKITIT$", 11 @ nickname
- .space 1
- .2byte SPECIES_SKITTY @ NPC mon species
- .byte 5 @ HP IV
- .byte 4 @ attack IV
- .byte 4 @ defense IV
- .byte 5 @ speed IV
- .byte 4 @ sp. attack IV
- .byte 4 @ sp. defense IV
- .byte FALSE @ second ability
- .space 3
- .4byte 2259 @ OT ID
- .byte 5 @ cool
- .byte 5 @ beauty
- .byte 30 @ cute
- .byte 5 @ smart
- .byte 5 @ tough
- .space 3
- .4byte 0x498A2E17 @ personality value
- .2byte ITEM_GLITTER_MAIL @ held item
- .byte 0 @ mail num
- .string "DARRELL$", 11 @ OT name
- .byte FEMALE @ OT gender
- .byte 10 @ sheen
- .2byte SPECIES_PIKACHU @ player mon species
- .space 2
-
- .string "COROSO$", 11 @ nickname
- .space 1
- .2byte SPECIES_CORSOLA @ NPC mon species
- .byte 4 @ HP IV
- .byte 4 @ attack IV
- .byte 5 @ defense IV
- .byte 4 @ speed IV
- .byte 4 @ sp. attack IV
- .byte 5 @ sp. defense IV
- .byte TRUE @ second ability
- .space 3
- .4byte 50183 @ OT ID
- .byte 5 @ cool
- .byte 30 @ beauty
- .byte 5 @ cute
- .byte 5 @ smart
- .byte 5 @ tough
- .space 3
- .4byte 0x4C970B7F @ personality value
- .2byte ITEM_TROPIC_MAIL @ held item
- .byte 1 @ mail num
- .string "LANE$", 11 @ OT name
- .byte FEMALE @ OT gender
- .byte 10 @ sheen
- .2byte SPECIES_BELLOSSOM @ player mon species
- .space 2
-
- .align 1
-gIngameTradeMail:: @ 8215B78
-@ 0
- ec_pokemon1 PIKACHU
- ec_word THANK_YOU
- ec_word EXCL
- ec_word MY
- ec_pokemon1 SKITTY
- ec_word EATS
- ec_word A_LOT
- ec_word NOW
- ec_word EXCL
- .2byte 0
-
-@ 1
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word SEE
- ec_word A
- ec_move2 PETAL_DANCE
- ec_word IT_S
- ec_word SO
- ec_word PRETTY
- .2byte 0
diff --git a/data/party_menu.s b/data/party_menu.s
deleted file mode 100644
index 5596ff2ed..000000000
--- a/data/party_menu.s
+++ /dev/null
@@ -1,744 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 1
-gUnknown_08376504:: @ 8376504
- .2byte MOVE_FOCUS_PUNCH
- .2byte MOVE_DRAGON_CLAW
- .2byte MOVE_WATER_PULSE
- .2byte MOVE_CALM_MIND
- .2byte MOVE_ROAR
- .2byte MOVE_TOXIC
- .2byte MOVE_HAIL
- .2byte MOVE_BULK_UP
- .2byte MOVE_BULLET_SEED
- .2byte MOVE_HIDDEN_POWER
- .2byte MOVE_SUNNY_DAY
- .2byte MOVE_TAUNT
- .2byte MOVE_ICE_BEAM
- .2byte MOVE_BLIZZARD
- .2byte MOVE_HYPER_BEAM
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_PROTECT
- .2byte MOVE_RAIN_DANCE
- .2byte MOVE_GIGA_DRAIN
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_FRUSTRATION
- .2byte MOVE_SOLAR_BEAM
- .2byte MOVE_IRON_TAIL
- .2byte MOVE_THUNDERBOLT
- .2byte MOVE_THUNDER
- .2byte MOVE_EARTHQUAKE
- .2byte MOVE_RETURN
- .2byte MOVE_DIG
- .2byte MOVE_PSYCHIC
- .2byte MOVE_SHADOW_BALL
- .2byte MOVE_BRICK_BREAK
- .2byte MOVE_DOUBLE_TEAM
- .2byte MOVE_REFLECT
- .2byte MOVE_SHOCK_WAVE
- .2byte MOVE_FLAMETHROWER
- .2byte MOVE_SLUDGE_BOMB
- .2byte MOVE_SANDSTORM
- .2byte MOVE_FIRE_BLAST
- .2byte MOVE_ROCK_TOMB
- .2byte MOVE_AERIAL_ACE
- .2byte MOVE_TORMENT
- .2byte MOVE_FACADE
- .2byte MOVE_SECRET_POWER
- .2byte MOVE_REST
- .2byte MOVE_ATTRACT
- .2byte MOVE_THIEF
- .2byte MOVE_STEEL_WING
- .2byte MOVE_SKILL_SWAP
- .2byte MOVE_SNATCH
- .2byte MOVE_OVERHEAT
- .2byte MOVE_CUT
- .2byte MOVE_FLY
- .2byte MOVE_SURF
- .2byte MOVE_STRENGTH
- .2byte MOVE_FLASH
- .2byte MOVE_ROCK_SMASH
- .2byte MOVE_WATERFALL
- .2byte MOVE_DIVE
-
- .4byte gTileBuffer @ unreferenced?
-
-MenuGfx_HoldIcons:
- .incbin "graphics/interface/hold_icons.4bpp"
-MenuPal_HoldIcons:
- .incbin "graphics/interface/hold_icons.gbapal"
-
- .align 2
-gUnknown_083765DC:: @ 83765DC
- obj_tiles MenuGfx_HoldIcons, 64, 0xd750
-
- .align 2
-gUnknown_083765E4:: @ 83765E4
- obj_pal MenuPal_HoldIcons, 0xd750
-
- .align 2
-gOamData_83765EC:: @ 83765EC
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83765F4:: @ 83765F4
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83765FC:: @ 83765FC
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8376604:: @ 8376604
- .4byte gSpriteAnim_83765F4
- .4byte gSpriteAnim_83765FC
-
- .align 2
-gSpriteTemplate_837660C:: @ 837660C
- spr_template 55120, 55120, gOamData_83765EC, gSpriteAnimTable_8376604, NULL, gDummySpriteAffineAnimTable, SpriteCB_HeldItemIcon_806DD7C
-
- .align 2
-gUnknown_08376624:: @ 8376624
- .4byte OtherText_ChoosePoke
- .4byte OtherText_MovePokeTo
- .4byte OtherText_TeachWhat
- .4byte OtherText_UseWhat
- .4byte OtherText_GiveWhat
- .4byte OtherText_DoWhat
- .4byte OtherText_NothingToCut
- .4byte OtherText_CantSurf
- .4byte OtherText_AlreadySurfing
- .4byte OtherText_CantUseThatHere
- .4byte OtherText_RestoreWhatMove
- .4byte OtherText_BoostPP
- .4byte gOtherText_CancelWithTerminator
- .4byte OtherText_DoWhatWithItem
- .4byte OtherText_NoPokeForBattle
- .4byte OtherText_ChoosePoke2
- .4byte OtherText_NotEnoughHP
- .4byte OtherText_ThreePokeNeeded
- .4byte OtherText_PokeCantBeSame
- .4byte OtherText_NoIdenticalHoldItems
- .4byte OtherText_TeachWhichPoke
-
- .align 2
-gUnknown_08376678:: @ 8376678
- .byte 16, 40, 0, 0
- .byte 104, 18, 0, 0
- .byte 104, 42, 0, 0
- .byte 104, 66, 0, 0
- .byte 104, 90, 0, 0
- .byte 104, 114, 0, 0
- .byte 16, 24, 0, 0
- .byte 16, 80, 0, 0
- .byte 104, 18, 0, 0
- .byte 104, 50, 0, 0
- .byte 104, 82, 0, 0
- .byte 104, 114, 0, 0
- .byte 16, 24, 0, 0
- .byte 16, 80, 0, 0
- .byte 104, 26, 0, 0
- .byte 104, 50, 0, 0
- .byte 104, 82, 0, 0
- .byte 104, 106, 0, 0
- .byte 16, 24, 0, 0
- .byte 104, 26, 0, 0
- .byte 104, 50, 0, 0
- .byte 16, 80, 0, 0
- .byte 104, 82, 0, 0
- .byte 104, 106, 0, 0
- .byte 5, 4, 0, 0
- .byte 16, 1, 0, 0
- .byte 16, 4, 0, 0
- .byte 16, 7, 0, 0
- .byte 16, 10, 0, 0
- .byte 16, 13, 0, 0
- .byte 5, 2, 0, 0
- .byte 5, 9, 0, 0
- .byte 16, 1, 0, 0
- .byte 16, 5, 0, 0
- .byte 16, 9, 0, 0
- .byte 16, 13, 0, 0
- .byte 5, 2, 0, 0
- .byte 5, 9, 0, 0
- .byte 16, 2, 0, 0
- .byte 16, 5, 0, 0
- .byte 16, 9, 0, 0
- .byte 16, 12, 0, 0
- .byte 5, 2, 0, 0
- .byte 16, 2, 0, 0
- .byte 16, 5, 0, 0
- .byte 5, 9, 0, 0
- .byte 16, 9, 0, 0
- .byte 16, 12, 0, 0
-
- .align 2
-gUnknown_08376738:: @ 8376738
- .byte 6, 5, 0, 0
- .byte 17, 2, 0, 0
- .byte 17, 5, 0, 0
- .byte 17, 8, 0, 0
- .byte 17, 11, 0, 0
- .byte 17, 14, 0, 0
- .byte 6, 3, 0, 0
- .byte 6, 10, 0, 0
- .byte 17, 2, 0, 0
- .byte 17, 6, 0, 0
- .byte 17, 10, 0, 0
- .byte 17, 14, 0, 0
- .byte 6, 3, 0, 0
- .byte 6, 10, 0, 0
- .byte 17, 3, 0, 0
- .byte 17, 6, 0, 0
- .byte 17, 10, 0, 0
- .byte 17, 13, 0, 0
- .byte 6, 3, 0, 0
- .byte 17, 3, 0, 0
- .byte 17, 6, 0, 0
- .byte 6, 10, 0, 0
- .byte 17, 10, 0, 0
- .byte 17, 13, 0, 0
- .byte 3, 7, 0, 0
- .byte 22, 2, 0, 0
- .byte 22, 5, 0, 0
- .byte 22, 8, 0, 0
- .byte 22, 11, 0, 0
- .byte 22, 14, 0, 0
- .byte 3, 5, 0, 0
- .byte 3, 12, 0, 0
- .byte 22, 2, 0, 0
- .byte 22, 6, 0, 0
- .byte 22, 10, 0, 0
- .byte 22, 14, 0, 0
- .byte 3, 5, 0, 0
- .byte 3, 12, 0, 0
- .byte 22, 3, 0, 0
- .byte 22, 6, 0, 0
- .byte 22, 10, 0, 0
- .byte 22, 13, 0, 0
- .byte 3, 5, 0, 0
- .byte 22, 3, 0, 0
- .byte 22, 6, 0, 0
- .byte 3, 12, 0, 0
- .byte 22, 10, 0, 0
- .byte 22, 13, 0, 0
- .byte 7, 7, 0, 0
- .byte 26, 2, 0, 0
- .byte 26, 5, 0, 0
- .byte 26, 8, 0, 0
- .byte 26, 11, 0, 0
- .byte 26, 14, 0, 0
- .byte 7, 5, 0, 0
- .byte 7, 12, 0, 0
- .byte 26, 2, 0, 0
- .byte 26, 6, 0, 0
- .byte 26, 10, 0, 0
- .byte 26, 14, 0, 0
- .byte 7, 5, 0, 0
- .byte 7, 12, 0, 0
- .byte 26, 3, 0, 0
- .byte 26, 6, 0, 0
- .byte 26, 10, 0, 0
- .byte 26, 13, 0, 0
- .byte 7, 5, 0, 0
- .byte 26, 3, 0, 0
- .byte 26, 6, 0, 0
- .byte 7, 12, 0, 0
- .byte 26, 10, 0, 0
- .byte 26, 13, 0, 0
-
- .align 2
-gUnknown_08376858:: @ 8376858
- .4byte BG_VRAM + 0xF1C8
- .4byte BG_VRAM + 0xF0AE
- .4byte BG_VRAM + 0xF16E
- .4byte BG_VRAM + 0xF22E
- .4byte BG_VRAM + 0xF2EE
- .4byte BG_VRAM + 0xF3AE
- .4byte BG_VRAM + 0xF148
- .4byte BG_VRAM + 0xF308
- .4byte BG_VRAM + 0xF0AE
- .4byte BG_VRAM + 0xF1AE
- .4byte BG_VRAM + 0xF2AE
- .4byte BG_VRAM + 0xF3AE
- .4byte BG_VRAM + 0xF148
- .4byte BG_VRAM + 0xF308
- .4byte BG_VRAM + 0xF0EE
- .4byte BG_VRAM + 0xF1AE
- .4byte BG_VRAM + 0xF2AE
- .4byte BG_VRAM + 0xF36E
- .4byte BG_VRAM + 0xF148
- .4byte BG_VRAM + 0xF0EE
- .4byte BG_VRAM + 0xF1AE
- .4byte BG_VRAM + 0xF308
- .4byte BG_VRAM + 0xF2AE
- .4byte BG_VRAM + 0xF36E
-
- .align 2
-gUnknown_083768B8:: @ 83768B8
- .byte 8, 44, 0, 0
- .byte 92, 22, 0, 0
- .byte 92, 46, 0, 0
- .byte 92, 70, 0, 0
- .byte 92, 94, 0, 0
- .byte 92, 118, 0, 0
- .byte 196, 136, 0, 0
- .byte 196, 152, 0, 0
- .byte 8, 28, 0, 0
- .byte 8, 84, 0, 0
- .byte 92, 22, 0, 0
- .byte 92, 54, 0, 0
- .byte 92, 86, 0, 0
- .byte 92, 118, 0, 0
- .byte 196, 136, 0, 0
- .byte 196, 152, 0, 0
- .byte 8, 28, 0, 0
- .byte 8, 84, 0, 0
- .byte 92, 30, 0, 0
- .byte 92, 54, 0, 0
- .byte 92, 86, 0, 0
- .byte 92, 110, 0, 0
- .byte 196, 136, 0, 0
- .byte 196, 152, 0, 0
-
- .align 2
-gUnknown_08376918:: @ 8376918
- .4byte BG_VRAM + 0xF1C6
- .4byte BG_VRAM + 0xF06C
- .4byte BG_VRAM + 0xF12C
- .4byte BG_VRAM + 0xF1EC
- .4byte BG_VRAM + 0xF2AC
- .4byte BG_VRAM + 0xF36C
- .4byte BG_VRAM + 0xF148
- .4byte BG_VRAM + 0xF308
- .4byte BG_VRAM + 0xF0AE
- .4byte BG_VRAM + 0xF1AE
- .4byte BG_VRAM + 0xF2AE
- .4byte BG_VRAM + 0xF3AE
-
- .align 2
-gUnknown_08376948:: @ 8376948
- .byte 2, 4, 10, 9
- .byte 16, 1, 29, 3
- .byte 16, 4, 29, 6
- .byte 16, 7, 29, 9
- .byte 16, 10, 29, 12
- .byte 16, 13, 29, 15
- .byte 2, 2, 10, 7
- .byte 2, 9, 10, 14
- .byte 16, 1, 29, 3
- .byte 16, 5, 29, 7
- .byte 16, 9, 29, 11
- .byte 16, 13, 29, 15
-
- .align 2
-gUnknown_08376978:: @ 8376978
- .byte 2, 7, 10, 9
- .byte 21, 1, 29, 3
- .byte 21, 4, 29, 6
- .byte 21, 7, 29, 9
- .byte 21, 10, 29, 12
- .byte 21, 13, 29, 15
- .byte 2, 2, 10, 7
- .byte 2, 9, 10, 14
- .byte 16, 1, 29, 3
- .byte 16, 5, 29, 7
- .byte 16, 9, 29, 11
- .byte 16, 13, 29, 15
-
- .align 2
-gUnknown_083769A8:: @ 83769A8
- .byte 0, 3, 11, 1, 11, 4, 11, 7, 11, 10, 11, 13
- .byte 0, 1, 0, 8, 11, 1, 11, 5, 11, 9, 11, 13
-
- .align 2
-gUnknown_083769C0:: @ 83769C0
- .byte 0, 1
- .byte 0, 8
- .byte 11, 2
- .byte 11, 5
- .byte 11, 9
- .byte 11, 12
- .byte 0, 1
- .byte 0, 8
- .byte 11, 2
- .byte 11, 5
- .byte 11, 9
- .byte 11, 12
-
-gUnknown_083769D8:: @ 83769D8
- .byte 0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x27
- .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
- .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
- .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37
- .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47
- .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47
- .byte 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57
-
-gUnknown_08376A25:: @ 8376A25
- .byte 0x50,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x53
- .byte 0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x63
- .byte 0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x73
-
-gUnknown_08376A5E:: @ 8376A5E
- .byte 0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x23
- .byte 0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x33
- .byte 0x40,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x43
-
-@ unknown, unreferenced data
- .byte 0x0C
- .byte 0x0D
- .byte 0x0E
- .byte 0x0F
- .byte 0x00
- .byte 0x01
- .byte 0x02
- .byte 0x03
- .byte 0x04
- .byte 0x05
- .byte 0x0F
- .byte 0x10
- .byte 0x11
- .byte 0x12
- .byte 0x13
- .byte 0x14
- .byte 0x15
- .byte 0x0F
- .byte 0x06
- .byte 0x05
- .byte 0x01
- .byte 0x07
- .byte 0x08
- .byte 0x09
- .byte 0x0F
- .byte 0x16
- .byte 0x15
- .byte 0x11
- .byte 0x17
- .byte 0x18
- .byte 0x19
- .byte 0x0F
- .byte 0x09
- .byte 0x0A
- .byte 0x0B
- .byte 0x05
- .byte 0x0C
- .byte 0x0F
- .byte 0x0F
- .byte 0x19
- .byte 0x1A
- .byte 0x1B
- .byte 0x15
- .byte 0x1C
- .byte 0x0F
- .byte 0x0F
- .byte 0x0D
- .byte 0x0B
- .byte 0x05
- .byte 0x0C
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x1D
- .byte 0x1B
- .byte 0x15
- .byte 0x1C
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x06
- .byte 0x05
- .byte 0x0B
- .byte 0x05
- .byte 0x0C
- .byte 0x0F
- .byte 0x0F
- .byte 0x16
- .byte 0x15
- .byte 0x1B
- .byte 0x15
- .byte 0x1C
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x20
- .byte 0x0C
- .byte 0x09
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x1F
- .byte 0x30
- .byte 0x1C
- .byte 0x19
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x25
- .byte 0x0F
- .byte 0x22
- .byte 0x24
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x35
- .byte 0x41
- .byte 0x32
- .byte 0x34
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x26
- .byte 0x0F
- .byte 0x23
- .byte 0x0E
- .byte 0x0F
- .byte 0x0F
- .byte 0x0F
- .byte 0x36
- .byte 0x43
- .byte 0x33
- .byte 0x1E
- .byte 0x0F
- .byte 0x0F
- .byte 0x27
- .byte 0x28
- .byte 0x29
- .byte 0x03
- .byte 0x2A
- .byte 0x0F
- .byte 0x0F
- .byte 0x37
- .byte 0x38
- .byte 0x39
- .byte 0x13
- .byte 0x3A
- .byte 0x0F
- .byte 0x0F
- .byte 0x27
- .byte 0x28
- .byte 0x29
- .byte 0x03
- .byte 0x04
- .byte 0x05
- .byte 0x0F
- .byte 0x37
- .byte 0x38
- .byte 0x39
- .byte 0x13
- .byte 0x14
- .byte 0x15
- .byte 0x0F
- .byte 0x2B
- .byte 0x2C
- .byte 0x02
- .byte 0x28
- .byte 0x29
- .byte 0x2D
- .byte 0x21
- .byte 0x3B
- .byte 0x3C
- .byte 0x12
- .byte 0x38
- .byte 0x39
- .byte 0x3D
- .byte 0x31
- .byte 0x2B
- .byte 0x2C
- .byte 0x02
- .byte 0x28
- .byte 0x29
- .byte 0x08
- .byte 0x09
- .byte 0x3B
- .byte 0x3C
- .byte 0x12
- .byte 0x38
- .byte 0x39
- .byte 0x18
- .byte 0x19
- .byte 0x2E
- .byte 0x2F
- .byte 0x2B
- .byte 0x2C
- .byte 0x02
- .byte 0x27
- .byte 0x2D
- .byte 0x3E
- .byte 0x3F
- .byte 0x3B
- .byte 0x3C
- .byte 0x12
- .byte 0x45
- .byte 0x3D
-
- .align 2
-gUnknown_08376B54:: @ 8376B54
- .4byte ItemUseMoveMenu_HandleMoveSelection
- .4byte ItemUseMoveMenu_HandleCancel
-
- .align 1
-Unknown_08376B5C:
- .2byte 0x4000, 0x4018, 0xF400
- .2byte 0x4000, 0x4038, 0xF404
- .2byte 0x4008, 0x4018, 0xF408
- .2byte 0x4008, 0x4038, 0xF40C
- .2byte 0x4010, 0x4020, 0xF410
- .2byte 0x4020, 0x4025, 0xF418
- .2byte 0x4020, 0x4045, 0xF41C
- .2byte -1
-
- .align 1
-Unknown_08376B88:
- .2byte 0x4000, 0x4018, 0xF400
- .2byte 0x4000, 0x4038, 0xF404
- .2byte 0x4008, 0x4018, 0xF408
- .2byte 0x4008, 0x4038, 0xF40C
- .2byte 0x4010, 0x4020, 0xF410
- .2byte 0x4010, 0x4065, 0xF418
- .2byte 0x4010, 0x4085, 0xF41C
- .2byte -1
-
- .align 2
-gUnknown_08376BB4:: @ 8376BB4
- .byte 0x1, 0x4
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x1
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x4
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x7
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xA
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xD
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0x1, 0x2
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0x1, 0x9
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x1
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x5
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x9
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xD
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0x1, 0x2
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0x1, 0x9
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x2
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x5
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x9
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xC
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0x1, 0x2
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x2
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0x5
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0x1, 0x9
- .space 2
- .4byte Unknown_08376B5C
-
- .byte 0xC, 0x9
- .space 2
- .4byte Unknown_08376B88
-
- .byte 0xC, 0xC
- .space 2
- .4byte Unknown_08376B88
-
- .align 2
-gUnknown_08376C74:: @ 8376C74
- .4byte sub_8089CD4, sub_806AFD0, 0
- .4byte SetUpBattlePokemonMenu, SetUpBattlePartyMenu, 0
- .4byte sub_80F9C6C, sub_80F9ACC, 0
- .4byte sub_80F9C6C, sub_806AFD0, 0
- .4byte sub_81222B0, sub_8121E78, 0
- .4byte sub_8122A48, sub_8122854, 0xFF
- .4byte sub_8122E0C, sub_806AFD0, 0x0F
- .4byte sub_80F9E64, sub_80F9CE8, 0
-
- .align 2
-gUnknown_08376CD4:: @ 8376CD4
- .2byte 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F
- .2byte 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F
-
- .align 2
-gUnknown_08376CEC:: @ 8376CEC
- .2byte 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F
- .2byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F
-
- .align 2
-gUnknown_08376D04:: @ 8376D04
- .4byte gOtherText_HP
- .4byte gOtherText_Attack
- .4byte gOtherText_Defense
- .4byte gOtherText_SpAtk
- .4byte gOtherText_SpDef
- .4byte gOtherText_Speed
-
-gUnknown_08376D1C:: @ 8376D1C
- .byte 0x3A @ HP
- .byte 0x3B @ Attack
- .byte 0x3C @ Defense
- .byte 0x3E @ Sp. Attack
- .byte 0x3F @ Sp. Defense
- .byte 0x3D @ Speed
diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc
index a68f2ca8d..b6b7401f3 100644
--- a/data/script_cmd_table.inc
+++ b/data/script_cmd_table.inc
@@ -1,203 +1,203 @@
.align 2
gScriptCmdTable:: @ 814AE30
- .4byte ScrCmd_snop
- .4byte ScrCmd_snop1
- .4byte ScrCmd_end
- .4byte ScrCmd_return
- .4byte ScrCmd_call
- .4byte ScrCmd_jump
- .4byte ScrCmd_jumpif
- .4byte ScrCmd_callif
- .4byte ScrCmd_jumpstd
- .4byte ScrCmd_callstd
- .4byte ScrCmd_jumpstdif
- .4byte ScrCmd_callstdif
- .4byte ScrCmd_jumpram
- .4byte ScrCmd_die
- .4byte ScrCmd_setbyte
- .4byte ScrCmd_loadptr
- .4byte ScrCmd_setbufferbyte
- .4byte ScrCmd_writebytetooffset
- .4byte ScrCmd_loadbytefrompointer
- .4byte ScrCmd_setptrbyte
- .4byte ScrCmd_copybuffers
- .4byte ScrCmd_copybyte
- .4byte ScrCmd_setvar
- .4byte ScrCmd_addvar
- .4byte ScrCmd_subvar
- .4byte ScrCmd_copyvar
- .4byte ScrCmd_setorcopyvar
- .4byte ScrCmd_comparebuffers
- .4byte ScrCmd_comparebuffertobyte
- .4byte ScrCmd_comparebuffertoptrbyte
- .4byte ScrCmd_compareptrbytetobuffer
- .4byte ScrCmd_compareptrbytetobyte
- .4byte ScrCmd_compareptrbytes
- .4byte ScrCmd_compare
- .4byte ScrCmd_comparevars
- .4byte ScrCmd_callasm
- .4byte ScrCmd_jumpasm
- .4byte ScrCmd_special
- .4byte ScrCmd_specialval
- .4byte ScrCmd_waitstate
- .4byte ScrCmd_pause
- .4byte ScrCmd_setflag
- .4byte ScrCmd_clearflag
- .4byte ScrCmd_checkflag
- .4byte ScrCmd_compareflags
- .4byte ScrCmd_checkdailyflags
- .4byte ScrCmd_resetvars
- .4byte ScrCmd_playsfx
- .4byte ScrCmd_checksound
- .4byte ScrCmd_fanfare
- .4byte ScrCmd_waitfanfare
- .4byte ScrCmd_playmusic
- .4byte ScrCmd_playmusicbattle
- .4byte ScrCmd_fadedefault
- .4byte ScrCmd_fademusic
- .4byte ScrCmd_fadeout
- .4byte ScrCmd_fadein
- .4byte ScrCmd_warp
- .4byte ScrCmd_warpmuted
- .4byte ScrCmd_warpwalk
- .4byte ScrCmd_warphole
- .4byte ScrCmd_warpteleport
- .4byte ScrCmd_warp3
- .4byte ScrCmd_warpplace
- .4byte ScrCmd_warp4
- .4byte ScrCmd_warp5
- .4byte ScrCmd_getplayerxy
- .4byte ScrCmd_countpokemon
- .4byte ScrCmd_additem
- .4byte ScrCmd_removeitem
- .4byte ScrCmd_checkitemspace
- .4byte ScrCmd_checkitem
- .4byte ScrCmd_checkitemtype
- .4byte ScrCmd_addpcitem
- .4byte ScrCmd_checkpcitem
- .4byte ScrCmd_adddecor
- .4byte ScrCmd_removedecor
- .4byte ScrCmd_testdecor
- .4byte ScrCmd_checkdecor
- .4byte ScrCmd_move
- .4byte ScrCmd_movecoords
- .4byte ScrCmd_waitmove
- .4byte ScrCmd_waitmovexy
- .4byte ScrCmd_disappear
- .4byte ScrCmd_disappearxy
- .4byte ScrCmd_reappear
- .4byte ScrCmd_reappearxy
- .4byte ScrCmd_movesprite
- .4byte ScrCmd_spritevisible
- .4byte ScrCmd_spriteinvisible
- .4byte ScrCmd_faceplayer
- .4byte ScrCmd_spriteface
- .4byte ScrCmd_trainerbattle
- .4byte ScrCmd_reptrainerbattle
- .4byte ScrCmd_endtrainerbattle
- .4byte ScrCmd_endtrainerbattle2
- .4byte ScrCmd_checktrainerflag
- .4byte ScrCmd_cleartrainerflag
- .4byte ScrCmd_settrainerflag
- .4byte ScrCmd_movespriteperm
- .4byte ScrCmd_moveoffscreen
- .4byte ScrCmd_spritebehave
- .4byte ScrCmd_waittext
- .4byte ScrCmd_message
- .4byte ScrCmd_closebutton
- .4byte ScrCmd_lockall
- .4byte ScrCmd_lock
- .4byte ScrCmd_releaseall
- .4byte ScrCmd_release
- .4byte ScrCmd_waitbutton
- .4byte ScrCmd_yesnobox
- .4byte ScrCmd_multichoice
- .4byte ScrCmd_multichoicedef
- .4byte ScrCmd_multichoicerow
- .4byte ScrCmd_showbox
- .4byte ScrCmd_hidebox
- .4byte ScrCmd_clearbox
- .4byte ScrCmd_showpokepic
- .4byte ScrCmd_hidepokepic
- .4byte ScrCmd_showcontestwinner
- .4byte ScrCmd_braillemsg
- .4byte ScrCmd_givepokemon
- .4byte ScrCmd_giveegg
- .4byte ScrCmd_setpokemove
- .4byte ScrCmd_checkattack
- .4byte ScrCmd_bufferpoke
- .4byte ScrCmd_bufferfirstpoke
- .4byte ScrCmd_bufferpartypoke
- .4byte ScrCmd_bufferitem
- .4byte ScrCmd_bufferdecor
- .4byte ScrCmd_bufferattack
- .4byte ScrCmd_buffernum
- .4byte ScrCmd_bufferstd
- .4byte ScrCmd_buffertext
- .4byte ScrCmd_pokemart
- .4byte ScrCmd_pokemartdecor
- .4byte ScrCmd_pokemartbp
- .4byte ScrCmd_pokecasino
- .4byte ScrCmd_event_8a
- .4byte ScrCmd_choosecontestpkmn
- .4byte ScrCmd_startcontest
- .4byte ScrCmd_showcontestresults
- .4byte ScrCmd_contestlinktransfer
- .4byte ScrCmd_random
- .4byte ScrCmd_givemoney
- .4byte ScrCmd_paymoney
- .4byte ScrCmd_checkmoney
- .4byte ScrCmd_showmoney
- .4byte ScrCmd_hidemoney
- .4byte ScrCmd_updatemoney
- .4byte ScrCmd_event_96
- .4byte ScrCmd_fadescreen
- .4byte ScrCmd_fadescreendelay
- .4byte ScrCmd_darken
- .4byte ScrCmd_lighten
- .4byte ScrCmd_message2
- .4byte ScrCmd_doanimation
- .4byte ScrCmd_setanimation
- .4byte ScrCmd_checkanimation
- .4byte ScrCmd_sethealplace
- .4byte ScrCmd_checkgender
- .4byte ScrCmd_pokecry
- .4byte ScrCmd_setmaptile
- .4byte ScrCmd_resetweather
- .4byte ScrCmd_setweather
- .4byte ScrCmd_doweather
- .4byte ScrCmd_tileeffect
- .4byte ScrCmd_setmapfooter
- .4byte ScrCmd_spritelevelup
- .4byte ScrCmd_restorespritelevel
- .4byte ScrCmd_createvsprite
- .4byte ScrCmd_vspriteface
- .4byte ScrCmd_setdooropened
- .4byte ScrCmd_setdoorclosed
- .4byte ScrCmd_doorchange
- .4byte ScrCmd_setdooropened2
- .4byte ScrCmd_setdoorclosed2
- .4byte ScrCmd_event_b1
- .4byte ScrCmd_event_b2
- .4byte ScrCmd_checkcoins
- .4byte ScrCmd_givecoins
- .4byte ScrCmd_removecoins
- .4byte ScrCmd_setwildbattle
- .4byte ScrCmd_dowildbattle
- .4byte ScrCmd_setvaddress
- .4byte ScrCmd_vjump
- .4byte ScrCmd_vcall
- .4byte ScrCmd_if5
- .4byte ScrCmd_if6
- .4byte ScrCmd_vtext
- .4byte ScrCmd_vloadptr
- .4byte ScrCmd_vbuffer
- .4byte ScrCmd_showcoins
- .4byte ScrCmd_hidecoins
- .4byte ScrCmd_updatecoins
- .4byte ScrCmd_inccounter
- .4byte ScrCmd_warp6
- .4byte ScrCmd_waitpokecry
+ .4byte ScrCmd_nop @ 0x00
+ .4byte ScrCmd_nop1 @ 0x01
+ .4byte ScrCmd_end @ 0x02
+ .4byte ScrCmd_return @ 0x03
+ .4byte ScrCmd_call @ 0x04
+ .4byte ScrCmd_goto @ 0x05
+ .4byte ScrCmd_goto_if @ 0x06
+ .4byte ScrCmd_call_if @ 0x07
+ .4byte ScrCmd_gotostd @ 0x08
+ .4byte ScrCmd_callstd @ 0x09
+ .4byte ScrCmd_gotostd_if @ 0x0A
+ .4byte ScrCmd_callstd_if @ 0x0B
+ .4byte ScrCmd_gotoram @ 0x0C
+ .4byte ScrCmd_killscript @ 0x0D
+ .4byte ScrCmd_setmysteryeventstatus @ 0x0E
+ .4byte ScrCmd_loadword @ 0x0F
+ .4byte ScrCmd_loadbyte @ 0x10
+ .4byte ScrCmd_writebytetoaddr @ 0x11
+ .4byte ScrCmd_loadbytefromaddr @ 0x12
+ .4byte ScrCmd_setptrbyte @ 0x13
+ .4byte ScrCmd_copylocal @ 0x14
+ .4byte ScrCmd_copybyte @ 0x15
+ .4byte ScrCmd_setvar @ 0x16
+ .4byte ScrCmd_addvar @ 0x17
+ .4byte ScrCmd_subvar @ 0x18
+ .4byte ScrCmd_copyvar @ 0x19
+ .4byte ScrCmd_setorcopyvar @ 0x1A
+ .4byte ScrCmd_compare_local_to_local @ 0x1B
+ .4byte ScrCmd_compare_local_to_value @ 0x1C
+ .4byte ScrCmd_compare_local_to_addr @ 0x1D
+ .4byte ScrCmd_compare_addr_to_local @ 0x1E
+ .4byte ScrCmd_compare_addr_to_value @ 0x1F
+ .4byte ScrCmd_compare_addr_to_addr @ 0x20
+ .4byte ScrCmd_compare_var_to_value @ 0x21
+ .4byte ScrCmd_compare_var_to_var @ 0x22
+ .4byte ScrCmd_callnative @ 0x23
+ .4byte ScrCmd_gotonative @ 0x24
+ .4byte ScrCmd_special @ 0x25
+ .4byte ScrCmd_specialvar @ 0x26
+ .4byte ScrCmd_waitstate @ 0x27
+ .4byte ScrCmd_delay @ 0x28
+ .4byte ScrCmd_setflag @ 0x29
+ .4byte ScrCmd_clearflag @ 0x2A
+ .4byte ScrCmd_checkflag @ 0x2B
+ .4byte ScrCmd_initclock @ 0x2C
+ .4byte ScrCmd_dodailyevents @ 0x2D
+ .4byte ScrCmd_gettime @ 0x2E
+ .4byte ScrCmd_playse @ 0x2F
+ .4byte ScrCmd_waitse @ 0x30
+ .4byte ScrCmd_playfanfare @ 0x31
+ .4byte ScrCmd_waitfanfare @ 0x32
+ .4byte ScrCmd_playbgm @ 0x33
+ .4byte ScrCmd_savebgm @ 0x34
+ .4byte ScrCmd_fadedefaultbgm @ 0x35
+ .4byte ScrCmd_fadenewbgm @ 0x36
+ .4byte ScrCmd_fadeoutbgm @ 0x37
+ .4byte ScrCmd_fadeinbgm @ 0x38
+ .4byte ScrCmd_warp @ 0x39
+ .4byte ScrCmd_warpsilent @ 0x3A
+ .4byte ScrCmd_warpdoor @ 0x3B
+ .4byte ScrCmd_warphole @ 0x3C
+ .4byte ScrCmd_warpteleport @ 0x3D
+ .4byte ScrCmd_setwarp @ 0x3E
+ .4byte ScrCmd_setdynamicwarp @ 0x3F
+ .4byte ScrCmd_setdivewarp @ 0x40
+ .4byte ScrCmd_setholewarp @ 0x41
+ .4byte ScrCmd_getplayerxy @ 0x42
+ .4byte ScrCmd_countpokemon @ 0x43
+ .4byte ScrCmd_additem @ 0x44
+ .4byte ScrCmd_removeitem @ 0x45
+ .4byte ScrCmd_checkitemspace @ 0x46
+ .4byte ScrCmd_checkitem @ 0x47
+ .4byte ScrCmd_checkitemtype @ 0x48
+ .4byte ScrCmd_addpcitem @ 0x49
+ .4byte ScrCmd_checkpcitem @ 0x4A
+ .4byte ScrCmd_adddecor @ 0x4B
+ .4byte ScrCmd_removedecor @ 0x4C
+ .4byte ScrCmd_hasdecor @ 0x4D
+ .4byte ScrCmd_checkdecor @ 0x4E
+ .4byte ScrCmd_applymovement @ 0x4F
+ .4byte ScrCmd_applymovement_at @ 0x50
+ .4byte ScrCmd_waitmovement @ 0x51
+ .4byte ScrCmd_waitmovement_at @ 0x52
+ .4byte ScrCmd_removeobject @ 0x53
+ .4byte ScrCmd_removeobject_at @ 0x54
+ .4byte ScrCmd_addobject @ 0x55
+ .4byte ScrCmd_addobject_at @ 0x56
+ .4byte ScrCmd_setobjectxy @ 0x57
+ .4byte ScrCmd_showobject @ 0x58
+ .4byte ScrCmd_hideobject @ 0x59
+ .4byte ScrCmd_faceplayer @ 0x5A
+ .4byte ScrCmd_turnobject @ 0x5B
+ .4byte ScrCmd_trainerbattle @ 0x5C
+ .4byte ScrCmd_battlebegin @ 0x5D
+ .4byte ScrCmd_ontrainerbattleend @ 0x5E
+ .4byte ScrCmd_ontrainerbattleendgoto @ 0x5F
+ .4byte ScrCmd_checktrainerflag @ 0x60
+ .4byte ScrCmd_settrainerflag @ 0x61
+ .4byte ScrCmd_cleartrainerflag @ 0x62
+ .4byte ScrCmd_setobjectxyperm @ 0x63
+ .4byte ScrCmd_moveobjectoffscreen @ 0x64
+ .4byte ScrCmd_setobjectmovementtype @ 0x65
+ .4byte ScrCmd_waitmessage @ 0x66
+ .4byte ScrCmd_message @ 0x67
+ .4byte ScrCmd_closemessage @ 0x68
+ .4byte ScrCmd_lockall @ 0x69
+ .4byte ScrCmd_lock @ 0x6A
+ .4byte ScrCmd_releaseall @ 0x6B
+ .4byte ScrCmd_release @ 0x6C
+ .4byte ScrCmd_waitbutton @ 0x6D
+ .4byte ScrCmd_yesnobox @ 0x6E
+ .4byte ScrCmd_multichoice @ 0x6F
+ .4byte ScrCmd_multichoicedefault @ 0x70
+ .4byte ScrCmd_multichoicegrid @ 0x71
+ .4byte ScrCmd_drawbox @ 0x72
+ .4byte ScrCmd_erasebox @ 0x73
+ .4byte ScrCmd_drawboxtext @ 0x74
+ .4byte ScrCmd_drawpokepic @ 0x75
+ .4byte ScrCmd_erasepokepic @ 0x76
+ .4byte ScrCmd_drawcontestwinner @ 0x77
+ .4byte ScrCmd_braillemessage @ 0x78
+ .4byte ScrCmd_givepoke @ 0x79
+ .4byte ScrCmd_giveegg @ 0x7A
+ .4byte ScrCmd_setpokemove @ 0x7B
+ .4byte ScrCmd_checkpokemove @ 0x7C
+ .4byte ScrCmd_getspeciesname @ 0x7D
+ .4byte ScrCmd_getfirstpartypokename @ 0x7E
+ .4byte ScrCmd_getpartypokename @ 0x7F
+ .4byte ScrCmd_getitemname @ 0x80
+ .4byte ScrCmd_getdecorname @ 0x81
+ .4byte ScrCmd_getmovename @ 0x82
+ .4byte ScrCmd_getnumberstring @ 0x83
+ .4byte ScrCmd_getstdstring @ 0x84
+ .4byte ScrCmd_getstring @ 0x85
+ .4byte ScrCmd_pokemart @ 0x86
+ .4byte ScrCmd_pokemartdecor @ 0x87
+ .4byte ScrCmd_pokemartbp @ 0x88
+ .4byte ScrCmd_playslotmachine @ 0x89
+ .4byte ScrCmd_plantberrytree @ 0x8A
+ .4byte ScrCmd_choosecontestpkmn @ 0x8B
+ .4byte ScrCmd_startcontest @ 0x8C
+ .4byte ScrCmd_showcontestresults @ 0x8D
+ .4byte ScrCmd_contestlinktransfer @ 0x8E
+ .4byte ScrCmd_random @ 0x8F
+ .4byte ScrCmd_givemoney @ 0x90
+ .4byte ScrCmd_takemoney @ 0x91
+ .4byte ScrCmd_checkmoney @ 0x92
+ .4byte ScrCmd_showmoneybox @ 0x93
+ .4byte ScrCmd_hidemoneybox @ 0x94
+ .4byte ScrCmd_updatemoneybox @ 0x95
+ .4byte ScrCmd_getpricereduction @ 0x96
+ .4byte ScrCmd_fadescreen @ 0x97
+ .4byte ScrCmd_fadescreendelay @ 0x98
+ .4byte ScrCmd_setdarklevel @ 0x99
+ .4byte ScrCmd_animdarklevel @ 0x9A
+ .4byte ScrCmd_messageautoscroll @ 0x9B
+ .4byte ScrCmd_dofieldeffect @ 0x9C
+ .4byte ScrCmd_setfieldeffect @ 0x9D
+ .4byte ScrCmd_waitfieldeffect @ 0x9E
+ .4byte ScrCmd_sethealplace @ 0x9F
+ .4byte ScrCmd_checkplayergender @ 0xA0
+ .4byte ScrCmd_playpokecry @ 0xA1
+ .4byte ScrCmd_setmaptile @ 0xA2
+ .4byte ScrCmd_resetweather @ 0xA3
+ .4byte ScrCmd_setweather @ 0xA4
+ .4byte ScrCmd_doweather @ 0xA5
+ .4byte ScrCmd_tileeffect @ 0xA6
+ .4byte ScrCmd_setmaplayoutindex @ 0xA7
+ .4byte ScrCmd_setobjectpriority @ 0xA8
+ .4byte ScrCmd_resetobjectpriority @ 0xA9
+ .4byte ScrCmd_createvobject @ 0xAA
+ .4byte ScrCmd_turnvobject @ 0xAB
+ .4byte ScrCmd_opendoor @ 0xAC
+ .4byte ScrCmd_closedoor @ 0xAD
+ .4byte ScrCmd_waitdooranim @ 0xAE
+ .4byte ScrCmd_setdooropen @ 0xAF
+ .4byte ScrCmd_setdoorclosed @ 0xB0
+ .4byte ScrCmd_addelevmenuitem @ 0xB1
+ .4byte ScrCmd_showelevmenu @ 0xB2
+ .4byte ScrCmd_checkcoins @ 0xB3
+ .4byte ScrCmd_givecoins @ 0xB4
+ .4byte ScrCmd_takecoins @ 0xB5
+ .4byte ScrCmd_setwildbattle @ 0xB6
+ .4byte ScrCmd_dowildbattle @ 0xB7
+ .4byte ScrCmd_setvaddress @ 0xB8
+ .4byte ScrCmd_vgoto @ 0xB9
+ .4byte ScrCmd_vcall @ 0xBA
+ .4byte ScrCmd_vgoto_if @ 0xBB
+ .4byte ScrCmd_vcall_if @ 0xBC
+ .4byte ScrCmd_vmessage @ 0xBD
+ .4byte ScrCmd_vloadword @ 0xBE
+ .4byte ScrCmd_vgetstring @ 0xBF
+ .4byte ScrCmd_showcoinsbox @ 0xC0
+ .4byte ScrCmd_hidecoinsbox @ 0xC1
+ .4byte ScrCmd_updatecoinsbox @ 0xC2
+ .4byte ScrCmd_incrementgamestat @ 0xC3
+ .4byte ScrCmd_setescapewarp @ 0xC4
+ .4byte ScrCmd_waitpokecry @ 0xC5
gScriptCmdTableEnd::
- .4byte ScrCmd_snop
+ .4byte ScrCmd_nop
diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc
index f4707d8cb..be1cafbdd 100644
--- a/data/scripts/berry_tree.inc
+++ b/data/scripts/berry_tree.inc
@@ -13,7 +13,7 @@ S_BerryTree:: @ 81A14DD
Route102_EventScript_1A1533:: @ 81A1533
lockall
message Route102_Text_1A1946
- waittext
+ waitmessage
waitbutton
releaseall
end
@@ -21,11 +21,11 @@ Route102_EventScript_1A1533:: @ 81A1533
Route102_EventScript_1A153D:: @ 81A153D
lock
faceplayer
- specialval RESULT, PlayerHasBerries
+ specialvar RESULT, PlayerHasBerries
compare RESULT, 1
- jumpeq Route102_EventScript_1A1558
+ goto_if_eq Route102_EventScript_1A1558
message Route102_Text_1A16B6
- waittext
+ waitmessage
waitbutton
release
end
@@ -33,18 +33,18 @@ Route102_EventScript_1A153D:: @ 81A153D
Route102_EventScript_1A1558:: @ 81A1558
msgbox Route102_Text_1A16CD, 5
compare RESULT, 1
- jumpeq Route102_EventScript_1A1577
+ goto_if_eq Route102_EventScript_1A1577
compare RESULT, 0
- jumpeq Route102_EventScript_1A1593
+ goto_if_eq Route102_EventScript_1A1593
end
Route102_EventScript_1A1577:: @ 81A1577
fadescreen 1
- closebutton
- special sub_80B4EE4
+ closemessage
+ special Berry_FadeAndGoToBerryBagMenu
waitstate
compare ITEM_ID, 0
- jumpeq Route102_EventScript_1A1593
+ goto_if_eq Route102_EventScript_1A1593
removeitem ITEM_ID, 1
call Route102_EventScript_1A16A9
@@ -55,84 +55,84 @@ Route102_EventScript_1A1593:: @ 81A1593
Route102_EventScript_1A1595:: @ 81A1595
lockall
message Route102_Text_1A172C
- waittext
+ waitmessage
waitbutton
- jump Route102_EventScript_1A165F
+ goto Route102_EventScript_1A165F
Route102_EventScript_1A15A2:: @ 81A15A2
lockall
message Route102_Text_1A174B
- waittext
+ waitmessage
waitbutton
- jump Route102_EventScript_1A165F
+ goto Route102_EventScript_1A165F
Route102_EventScript_1A15AF:: @ 81A15AF
lockall
message Route102_Text_1A175C
- waittext
+ waitmessage
waitbutton
- jump Route102_EventScript_1A165F
+ goto Route102_EventScript_1A165F
Route102_EventScript_1A15BC:: @ 81A15BC
call Route102_EventScript_1A15CE
lockall
message Route102_Text_1A177D
- waittext
+ waitmessage
waitbutton
- jump Route102_EventScript_1A165F
+ goto Route102_EventScript_1A165F
Route102_EventScript_1A15CE:: @ 81A15CE
compare 0x8005, 0
- jumpeq Route102_EventScript_1A15F2
+ goto_if_eq Route102_EventScript_1A15F2
compare 0x8005, 4
- jumpeq Route102_EventScript_1A15EB
- buffertext 1, Route102_Text_1A17B7
+ goto_if_eq Route102_EventScript_1A15EB
+ getstring 1, Route102_Text_1A17B7
return
Route102_EventScript_1A15EB:: @ 81A15EB
- buffertext 1, Route102_Text_1A179F
+ getstring 1, Route102_Text_1A179F
return
Route102_EventScript_1A15F2:: @ 81A15F2
- buffertext 1, Route102_Text_1A17B0
+ getstring 1, Route102_Text_1A17B0
return
Route102_EventScript_1A15F9:: @ 81A15F9
- buffernum 1, 0x8006
+ getnumberstring 1, 0x8006
lock
faceplayer
msgbox Route102_Text_1A17C0, 5
compare RESULT, 1
- jumpeq Route102_EventScript_1A161D
+ goto_if_eq Route102_EventScript_1A161D
compare RESULT, 0
- jumpeq Route102_EventScript_1A164B
+ goto_if_eq Route102_EventScript_1A164B
Route102_EventScript_1A161D:: @ 81A161D
special FieldObjectInteractionPickBerryTree
compare 0x8004, 0
- jumpeq Route102_EventScript_1A1642
+ goto_if_eq Route102_EventScript_1A1642
special FieldObjectInteractionRemoveBerryTree
message Route102_Text_1A17FD
- fanfare 387
- waittext
+ playfanfare 387
+ waitmessage
waitfanfare
waitbutton
message Route102_Text_1A181A
- waittext
+ waitmessage
waitbutton
release
end
Route102_EventScript_1A1642:: @ 81A1642
message Route102_Text_1A1881
- waittext
+ waitmessage
waitbutton
release
end
Route102_EventScript_1A164B:: @ 81A164B
message Route102_Text_1A18C5
- waittext
+ waitmessage
waitbutton
release
end
@@ -147,12 +147,12 @@ gUnknown_081A1654:: @ 81A1654
Route102_EventScript_1A165F:: @ 81A165F
checkitem ITEM_WAILMER_PAIL, 1
compare RESULT, 0
- jumpeq Route102_EventScript_1A168D
+ goto_if_eq Route102_EventScript_1A168D
msgbox Route102_Text_1A18E6, 5
compare RESULT, 1
- jumpeq Route102_EventScript_1A1693
+ goto_if_eq Route102_EventScript_1A1693
compare RESULT, 0
- jumpeq Route102_EventScript_1A168D
+ goto_if_eq Route102_EventScript_1A168D
Route102_EventScript_1A168D:: @ 81A168D
releaseall
@@ -164,20 +164,20 @@ gUnknown_081A168F:: @ 81A168F
Route102_EventScript_1A1693:: @ 81A1693
message Route102_Text_1A1912
- waittext
+ waitmessage
special FieldObjectInteractionWaterBerryTree
special DoWateringBerryTreeAnim
waitstate
message Route102_Text_1A1925
- waittext
+ waitmessage
waitbutton
releaseall
end
Route102_EventScript_1A16A9:: @ 81A16A9
special FieldObjectInteractionPlantBerryTree
- inccounter GAME_STAT_PLANTED_BERRIES
+ incrementgamestat GAME_STAT_PLANTED_BERRIES
message Route102_Text_1A16FB
- waittext
+ waitmessage
waitbutton
return
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index 6507677e0..9f44e131b 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -21,7 +21,7 @@ VerdanturfTown_PokemonCenter_2F_MapScript2_1A3D03:: @ 81A3D03
.2byte 0
OldaleTown_PokemonCenter_2F_EventScript_1A3D2D:: @ 81A3D2D
- spriteface 0x8007, 4
+ turnobject 0x8007, 4
end
DewfordTown_PokemonCenter_2F_MapScript1_1A3D32:: @ 81A3D32
@@ -40,15 +40,15 @@ SlateportCity_PokemonCenter_2F_MapScript1_1A3D32:: @ 81A3D32
SootopolisCity_PokemonCenter_2F_MapScript1_1A3D32:: @ 81A3D32
VerdanturfTown_PokemonCenter_2F_MapScript1_1A3D32:: @ 81A3D32
compare 0x4087, 1
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A
compare 0x4087, 2
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A
compare 0x4087, 5
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A
compare 0x4087, 3
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D74
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D74
compare 0x4087, 4
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D7E
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D7E
end
OldaleTown_PokemonCenter_2F_EventScript_1A3D6A:: @ 81A3D6A
@@ -88,12 +88,12 @@ VerdanturfTown_PokemonCenter_2F_MapScript2_1A3D88:: @ 81A3D88
OldaleTown_PokemonCenter_2F_EventScript_1A3DB2:: @ 81A3DB2
special CloseLink
setvar 0x4087, 0
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
- waitmove 0
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
+ waitmovement 0
compare 0x8007, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3DD9
- move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354
- waitmove 0
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3DD9
+ applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354
+ waitmovement 0
OldaleTown_PokemonCenter_2F_EventScript_1A3DD9:: @ 81A3DD9
return
@@ -102,18 +102,18 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3DDA:: @ 81A3DDA
special CloseLink
setvar 0x4087, 0
compare 0x8007, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C
- move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4356
- waitmove 0
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
- waitmove 0
- move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354
- waitmove 0
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C
+ applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4356
+ waitmovement 0
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
+ waitmovement 0
+ applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354
+ waitmovement 0
return
OldaleTown_PokemonCenter_2F_EventScript_1A3E0C:: @ 81A3E0C
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
- waitmove 0
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
+ waitmovement 0
return
OldaleTown_PokemonCenter_2F_EventScript_1A3E17:: @ 81A3E17
@@ -121,7 +121,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E17:: @ 81A3E17
call OldaleTown_PokemonCenter_2F_EventScript_1A3E30
setmaptile 8, 3, 605, 1
special DrawWholeMapView
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
@@ -129,20 +129,20 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E30:: @ 81A3E30
special CloseLink
setvar 0x4087, 0
compare 0x8007, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A4361
- waitmove 0
- move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4356
- waitmove 0
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4361
+ waitmovement 0
+ applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4356
+ waitmovement 0
message OldaleTown_PokemonCenter_2F_Text_1A4E50
- waittext
- playsfx 21
+ waitmessage
+ playse 21
message OldaleTown_PokemonCenter_2F_Text_1A4E79
- waittext
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
- waitmove 0
- move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354
- waitmove 0
+ waitmessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358
+ waitmovement 0
+ applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354
+ waitmovement 0
return
OldaleTown_PokemonCenter_2F_EventScript_1A3E7B:: @ 81A3E7B
@@ -156,7 +156,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E8D:: @ 81A3E8D
call OldaleTown_PokemonCenter_2F_EventScript_1A3DDA
setmaptile 5, 3, 605, 1
special DrawWholeMapView
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
@@ -175,12 +175,12 @@ SlateportCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6
SootopolisCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6
VerdanturfTown_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6
checkflag 2049
- jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A4342
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A4342
copyvar 0x8007, LAST_TALKED
lock
faceplayer
message OldaleTown_PokemonCenter_2F_Text_1A4510
- waittext
+ waitmessage
OldaleTown_PokemonCenter_2F_EventScript_1A3EBC:: @ 81A3EBC
multichoice 17, 6, 17, 0
@@ -193,52 +193,52 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3EBC:: @ 81A3EBC
OldaleTown_PokemonCenter_2F_EventScript_1A3EF2:: @ 81A3EF2
call S_DoSaveDialog
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
call OldaleTown_PokemonCenter_2F_EventScript_1A3FEF
compare 0x8004, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
message OldaleTown_PokemonCenter_2F_Text_1A490C
- waittext
+ waitmessage
special sub_808347C
waitstate
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3F5E
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3F5E
compare RESULT, 2
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4301
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4301
compare RESULT, 3
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A430D
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A430D
compare RESULT, 4
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4068
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4068
compare RESULT, 5
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
compare RESULT, 6
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42F5
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A42F5
OldaleTown_PokemonCenter_2F_EventScript_1A3F5E:: @ 81A3F5E
special ScrSpecial_HealPlayerParty
special SavePlayerParty
special LoadPlayerBag
copyvar 0x4087, 0x8004
- message2 OldaleTown_PokemonCenter_2F_Text_1A4A22
- waittext
+ messageautoscroll OldaleTown_PokemonCenter_2F_Text_1A4A22
+ waitmessage
setmaptile 5, 3, 514, 0
special DrawWholeMapView
- pause 60
- move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
- waitmove 0
- closebutton
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A435B
- waitmove 0
- setdooropened 5, 1
- doorchange
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A435F
- waitmove 0
- spriteinvisible 255, 0, 0
- setdoorclosed 5, 1
- doorchange
+ delay 60
+ applymovement LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
+ waitmovement 0
+ closemessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435B
+ waitmovement 0
+ opendoor 5, 1
+ waitdooranim
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435F
+ waitmovement 0
+ hideobject 255, 0, 0
+ closedoor 5, 1
+ waitdooranim
release
compare 0x8004, 5
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3FCD
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3FCD
special SetCableClubWarp
warp SingleBattleColosseum, 255, 6, 8
special DoCableClubWarp
@@ -254,15 +254,15 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3FCD:: @ 81A3FCD
OldaleTown_PokemonCenter_2F_EventScript_1A3FDD:: @ 81A3FDD
message OldaleTown_PokemonCenter_2F_Text_1A4696
- waittext
+ waitmessage
waitbutton
message OldaleTown_PokemonCenter_2F_Text_1A4826
- waittext
- jump OldaleTown_PokemonCenter_2F_EventScript_1A3EBC
+ waitmessage
+ goto OldaleTown_PokemonCenter_2F_EventScript_1A3EBC
OldaleTown_PokemonCenter_2F_EventScript_1A3FEF:: @ 81A3FEF
message OldaleTown_PokemonCenter_2F_Text_1A4840
- waittext
+ waitmessage
multichoice 0, 0, 18, 0
switch RESULT
case 0, OldaleTown_PokemonCenter_2F_EventScript_1A4062
@@ -282,15 +282,15 @@ OldaleTown_PokemonCenter_2F_EventScript_1A403C:: @ 81A403C
OldaleTown_PokemonCenter_2F_EventScript_1A4042:: @ 81A4042
special CheckForAlivePartyMons
compare RESULT, 0
- jumpif 5, OldaleTown_PokemonCenter_2F_EventScript_1A4056
+ goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_1A4056
setvar 0x8004, 2
return
OldaleTown_PokemonCenter_2F_EventScript_1A4056:: @ 81A4056
message OldaleTown_PokemonCenter_2F_Text_1A486A
- waittext
+ waitmessage
waitbutton
- jump OldaleTown_PokemonCenter_2F_EventScript_1A3FEF
+ goto OldaleTown_PokemonCenter_2F_EventScript_1A3FEF
OldaleTown_PokemonCenter_2F_EventScript_1A4062:: @ 81A4062
setvar 0x8004, 1
@@ -301,33 +301,33 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4068:: @ 81A4068
case 1, OldaleTown_PokemonCenter_2F_EventScript_1A40B1
case 2, OldaleTown_PokemonCenter_2F_EventScript_1A40A2
case 5, OldaleTown_PokemonCenter_2F_EventScript_1A4093
- jump OldaleTown_PokemonCenter_2F_EventScript_1A432D
+ goto OldaleTown_PokemonCenter_2F_EventScript_1A432D
OldaleTown_PokemonCenter_2F_EventScript_1A4093:: @ 81A4093
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4C03
- waittext
+ waitmessage
waitbutton
- jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0
+ goto OldaleTown_PokemonCenter_2F_EventScript_1A40C0
OldaleTown_PokemonCenter_2F_EventScript_1A40A2:: @ 81A40A2
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4BCC
- waittext
+ waitmessage
waitbutton
- jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0
+ goto OldaleTown_PokemonCenter_2F_EventScript_1A40C0
OldaleTown_PokemonCenter_2F_EventScript_1A40B1:: @ 81A40B1
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4B95
- waittext
+ waitmessage
waitbutton
- jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0
+ goto OldaleTown_PokemonCenter_2F_EventScript_1A40C0
OldaleTown_PokemonCenter_2F_EventScript_1A40C0:: @ 81A40C0
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4C38
- waittext
+ waitmessage
waitbutton
release
end
@@ -347,83 +347,83 @@ SlateportCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC
SootopolisCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC
VerdanturfTown_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC
checkflag 2049
- jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A4339
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A4339
copyvar 0x8007, LAST_TALKED
lock
faceplayer
msgbox OldaleTown_PokemonCenter_2F_Text_1A457E, 5
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A40FA
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A40FA
OldaleTown_PokemonCenter_2F_EventScript_1A40FA:: @ 81A40FA
call OldaleTown_PokemonCenter_2F_EventScript_1A41BB
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
call S_DoSaveDialog
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
message OldaleTown_PokemonCenter_2F_Text_1A490C
- waittext
+ waitmessage
special sub_80834E4
waitstate
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4166
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4166
compare RESULT, 2
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4301
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4301
compare RESULT, 3
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A430D
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A430D
compare RESULT, 4
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A432D
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A432D
compare RESULT, 5
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
compare RESULT, 6
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42F5
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A42F5
OldaleTown_PokemonCenter_2F_EventScript_1A4166:: @ 81A4166
setvar 0x8004, 3
copyvar 0x4087, 0x8004
- message2 OldaleTown_PokemonCenter_2F_Text_1A4A22
- waittext
+ messageautoscroll OldaleTown_PokemonCenter_2F_Text_1A4A22
+ waitmessage
setmaptile 8, 3, 514, 0
special DrawWholeMapView
- pause 60
- move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
- waitmove 0
- closebutton
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A435B
- waitmove 0
- setdooropened 8, 1
- doorchange
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A435F
- waitmove 0
- spriteinvisible 255, 0, 0
- setdoorclosed 8, 1
- doorchange
+ delay 60
+ applymovement LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
+ waitmovement 0
+ closemessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435B
+ waitmovement 0
+ opendoor 8, 1
+ waitdooranim
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435F
+ waitmovement 0
+ hideobject 255, 0, 0
+ closedoor 8, 1
+ waitdooranim
release
- jump OldaleTown_PokemonCenter_2F_EventScript_1A4325
+ goto OldaleTown_PokemonCenter_2F_EventScript_1A4325
OldaleTown_PokemonCenter_2F_EventScript_1A41BB:: @ 81A41BB
- specialval RESULT, CalculatePlayerPartyCount
+ specialvar RESULT, CalculatePlayerPartyCount
compare RESULT, 2
- jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A41E1
- specialval RESULT, GetNameOfEnigmaBerryInPlayerParty
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A41E1
+ specialvar RESULT, GetNameOfEnigmaBerryInPlayerParty
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A41EE
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A41EE
setvar RESULT, 1
return
OldaleTown_PokemonCenter_2F_EventScript_1A41E1:: @ 81A41E1
message OldaleTown_PokemonCenter_2F_Text_1A48A3
- waittext
+ waitmessage
waitbutton
setvar RESULT, 0
return
OldaleTown_PokemonCenter_2F_EventScript_1A41EE:: @ 81A41EE
message OldaleTown_PokemonCenter_2F_Text_1A48DD
- waittext
+ waitmessage
waitbutton
setvar RESULT, 0
return
@@ -444,68 +444,68 @@ SlateportCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB
SootopolisCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB
VerdanturfTown_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB
checkflag 2072
- jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A434B
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A434B
copyvar 0x8007, LAST_TALKED
lock
faceplayer
msgbox OldaleTown_PokemonCenter_2F_Text_1A45FE, 5
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4229
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4229
OldaleTown_PokemonCenter_2F_EventScript_1A4229:: @ 81A4229
call S_DoSaveDialog
compare RESULT, 0
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
message OldaleTown_PokemonCenter_2F_Text_1A490C
- waittext
+ waitmessage
special sub_808350C
waitstate
special sub_80835D8
waitstate
compare RESULT, 1
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4294
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4294
compare RESULT, 2
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4301
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4301
compare RESULT, 3
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A430D
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A430D
compare RESULT, 4
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A432D
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A432D
compare RESULT, 5
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319
compare RESULT, 6
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42F5
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A42F5
compare RESULT, 7
- jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42E9
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A42E9
OldaleTown_PokemonCenter_2F_EventScript_1A4294:: @ 81A4294
setvar 0x8004, 4
copyvar 0x4087, 0x8004
- message2 OldaleTown_PokemonCenter_2F_Text_1A4A22
- waittext
+ messageautoscroll OldaleTown_PokemonCenter_2F_Text_1A4A22
+ waitmessage
setmaptile 11, 3, 514, 0
special DrawWholeMapView
- pause 60
- move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
- waitmove 0
- closebutton
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A435B
- waitmove 0
- setdooropened 11, 1
- doorchange
- move 255, OldaleTown_PokemonCenter_2F_Movement_1A435F
- waitmove 0
- spriteinvisible 255, 0, 0
- setdoorclosed 11, 1
- doorchange
+ delay 60
+ applymovement LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356
+ waitmovement 0
+ closemessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435B
+ waitmovement 0
+ opendoor 11, 1
+ waitdooranim
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435F
+ waitmovement 0
+ hideobject 255, 0, 0
+ closedoor 11, 1
+ waitdooranim
release
- jump OldaleTown_PokemonCenter_2F_EventScript_1A4325
+ goto OldaleTown_PokemonCenter_2F_EventScript_1A4325
OldaleTown_PokemonCenter_2F_EventScript_1A42E9:: @ 81A42E9
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4AC8
- waittext
+ waitmessage
waitbutton
release
end
@@ -513,7 +513,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A42E9:: @ 81A42E9
OldaleTown_PokemonCenter_2F_EventScript_1A42F5:: @ 81A42F5
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4A85
- waittext
+ waitmessage
waitbutton
release
end
@@ -521,7 +521,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A42F5:: @ 81A42F5
OldaleTown_PokemonCenter_2F_EventScript_1A4301:: @ 81A4301
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4A30
- waittext
+ waitmessage
waitbutton
release
end
@@ -529,7 +529,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4301:: @ 81A4301
OldaleTown_PokemonCenter_2F_EventScript_1A430D:: @ 81A430D
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4B1D
- waittext
+ waitmessage
waitbutton
release
end
@@ -537,7 +537,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A430D:: @ 81A430D
OldaleTown_PokemonCenter_2F_EventScript_1A4319:: @ 81A4319
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4B59
- waittext
+ waitmessage
waitbutton
release
end
@@ -551,7 +551,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4325:: @ 81A4325
OldaleTown_PokemonCenter_2F_EventScript_1A432D:: @ 81A432D
special CloseLink
message OldaleTown_PokemonCenter_2F_Text_1A4B6C
- waittext
+ waitmessage
waitbutton
release
end
@@ -599,7 +599,7 @@ gUnknown_081A4363:: @ 81A4363
lockall
special ShowLinkBattleRecords
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
@@ -620,7 +620,7 @@ DoubleBattleColosseum_EventScript_1A4383:: @ 81A4383
special sub_80C5568
waitstate
compare RESULT, 0
- jumpeq DoubleBattleColosseum_EventScript_1A43EF
+ goto_if_eq DoubleBattleColosseum_EventScript_1A43EF
setvar 0x8005, 0
special sub_8083B90
waitstate
@@ -631,7 +631,7 @@ DoubleBattleColosseum_EventScript_1A439E:: @ 81A439E
special sub_80C5568
waitstate
compare RESULT, 0
- jumpeq DoubleBattleColosseum_EventScript_1A43EF
+ goto_if_eq DoubleBattleColosseum_EventScript_1A43EF
setvar 0x8005, 1
special sub_8083B90
waitstate
@@ -642,7 +642,7 @@ DoubleBattleColosseum_EventScript_1A43B9:: @ 81A43B9
special sub_80C5568
waitstate
compare RESULT, 0
- jumpeq DoubleBattleColosseum_EventScript_1A43EF
+ goto_if_eq DoubleBattleColosseum_EventScript_1A43EF
setvar 0x8005, 2
special sub_8083B90
waitstate
@@ -653,7 +653,7 @@ DoubleBattleColosseum_EventScript_1A43D4:: @ 81A43D4
special sub_80C5568
waitstate
compare RESULT, 0
- jumpeq DoubleBattleColosseum_EventScript_1A43EF
+ goto_if_eq DoubleBattleColosseum_EventScript_1A43EF
setvar 0x8005, 3
special sub_8083B90
waitstate
@@ -691,7 +691,7 @@ RecordCorner_EventScript_1A4418:: @ 81A4418
special sub_80B929C
waitstate
compare 0x4001, 0
- jumpif 5, RecordCorner_EventScript_1A446C
+ goto_if 5, RecordCorner_EventScript_1A446C
end
RecordCorner_EventScript_1A442D:: @ 81A442D
@@ -699,7 +699,7 @@ RecordCorner_EventScript_1A442D:: @ 81A442D
special sub_80B929C
waitstate
compare 0x4001, 0
- jumpif 5, RecordCorner_EventScript_1A446C
+ goto_if 5, RecordCorner_EventScript_1A446C
end
RecordCorner_EventScript_1A4442:: @ 81A4442
@@ -707,7 +707,7 @@ RecordCorner_EventScript_1A4442:: @ 81A4442
special sub_80B929C
waitstate
compare 0x4001, 0
- jumpif 5, RecordCorner_EventScript_1A446C
+ goto_if 5, RecordCorner_EventScript_1A446C
end
RecordCorner_EventScript_1A4457:: @ 81A4457
@@ -715,20 +715,20 @@ RecordCorner_EventScript_1A4457:: @ 81A4457
special sub_80B929C
waitstate
compare 0x4001, 0
- jumpif 5, RecordCorner_EventScript_1A446C
+ goto_if 5, RecordCorner_EventScript_1A446C
end
RecordCorner_EventScript_1A446C:: @ 81A446C
- bufferitem 1, 0x4001
+ getitemname 1, 0x4001
message RecordCorner_Text_1A4E3B
- waittext
+ waitmessage
waitbutton
releaseall
end
TradeRoom_ReadTrainerCard1:: @ 81A4479
message CableClub_LookAtTrainerCard1
- waittext
+ waitmessage
waitbutton
fadescreen 1
special sub_8083BDC
@@ -737,7 +737,7 @@ TradeRoom_ReadTrainerCard1:: @ 81A4479
TradeRoom_ReadTrainerCard2:: @ 81A4487
message CableClub_LookAtTrainerCard2
- waittext
+ waitmessage
waitbutton
fadescreen 1
special sub_8083BDC
@@ -746,59 +746,59 @@ TradeRoom_ReadTrainerCard2:: @ 81A4487
TradeRoom_TooBusyToNotice:: @ 81A4495
message CableClub_TooBusyToNotice
- waittext
+ waitmessage
waitbutton
- closebutton
+ closemessage
end
SingleBattleColosseum_EventScript_1A449E:: @ 81A449E
special sub_8064EAC
message SingleBattleColosseum_Text_1A4D7E
- waittext
+ waitmessage
waitbutton
special sub_8064ED4
- closebutton
+ closemessage
end
TradeCenter_EventScript_1A44AD:: @ 81A44AD
special sub_8064EAC
message TradeCenter_Text_1A4DAB
- waittext
+ waitmessage
waitbutton
special sub_8064ED4
- closebutton
+ closemessage
end
RecordCorner_EventScript_1A44BC:: @ 81A44BC
compare 0x4000, 0
- jumpif 5, RecordCorner_EventScript_1A44D6
+ goto_if 5, RecordCorner_EventScript_1A44D6
special sub_8064EAC
message RecordCorner_Text_1A4DD7
- waittext
+ waitmessage
waitbutton
special sub_8064ED4
- closebutton
+ closemessage
end
RecordCorner_EventScript_1A44D6:: @ 81A44D6
special sub_8064EAC
message RecordCorner_Text_1A4DF7
- waittext
+ waitmessage
waitbutton
special sub_8064ED4
- closebutton
+ closemessage
end
TradeRoom_PromptToCancelLink:: @ 81A44E5
msgbox TradeRoom_WillLinkBeTerminated, 5
compare RESULT, 1
- jumpeq TradeRoom_TerminateLink
- hidebox 0, 0, 29, 19
+ goto_if_eq TradeRoom_TerminateLink
+ erasebox 0, 0, 29, 19
end
TradeRoom_TerminateLink:: @ 81A44FE
- message2 TradeRoom_TerminatingLink
- waittext
+ messageautoscroll TradeRoom_TerminatingLink
+ waitmessage
special sub_80839D0
end
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
index 1952264d2..1b5c29fee 100644
--- a/data/scripts/contest_hall.inc
+++ b/data/scripts/contest_hall.inc
@@ -6,18 +6,18 @@ VerdanturfTown_ContestLobby_EventScript_1A4E92:: @ 81A4E92
faceplayer
checkitem ITEM_CONTEST_PASS, 1
compare RESULT, 0
- callif 1, FallarborTown_ContestLobby_EventScript_1A4EDD
+ call_if 1, FallarborTown_ContestLobby_EventScript_1A4EDD
compare 0x408a, 0
- jumpif 5, FallarborTown_ContestLobby_EventScript_1A4F4E
+ goto_if 5, FallarborTown_ContestLobby_EventScript_1A4F4E
checkflag 1
- jumpeq FallarborTown_ContestLobby_EventScript_1A4F8F
- bufferstd 0, 0x800b
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F8F
+ getstdstring 0, 0x800b
msgbox FallarborTown_ContestLobby_Text_1A5DFC, 4
checkitem ITEM_CONTEST_PASS, 1
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1A4EE1
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A4EE1
setflag 1
- jump FallarborTown_ContestLobby_EventScript_1A4F8F
+ goto FallarborTown_ContestLobby_EventScript_1A4F8F
end
FallarborTown_ContestLobby_EventScript_1A4EDD:: @ 81A4EDD
@@ -26,7 +26,7 @@ FallarborTown_ContestLobby_EventScript_1A4EDD:: @ 81A4EDD
FallarborTown_ContestLobby_EventScript_1A4EE1:: @ 81A4EE1
compare CONTEST_RANK, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1A4EF6
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A4EF6
msgbox FallarborTown_ContestLobby_Text_1A6340, 4
releaseall
end
@@ -34,20 +34,20 @@ FallarborTown_ContestLobby_EventScript_1A4EE1:: @ 81A4EE1
FallarborTown_ContestLobby_EventScript_1A4EF6:: @ 81A4EF6
msgbox FallarborTown_ContestLobby_Text_1A64F4, 5
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1A4F13
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F13
msgbox FallarborTown_ContestLobby_Text_1A65EA, 4
releaseall
end
FallarborTown_ContestLobby_EventScript_1A4F13:: @ 81A4F13
checkflag 150
- jumpeq FallarborTown_ContestLobby_EventScript_1A4F44
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F44
msgbox FallarborTown_ContestLobby_Text_1A6583, 4
giveitem ITEM_CONTEST_PASS
setflag 150
setflag 1
msgbox FallarborTown_ContestLobby_Text_1A5E98, 4
- jump FallarborTown_ContestLobby_EventScript_1A4F8F
+ goto FallarborTown_ContestLobby_EventScript_1A4F8F
end
FallarborTown_ContestLobby_EventScript_1A4F44:: @ 81A4F44
@@ -64,9 +64,9 @@ FallarborTown_ContestLobby_EventScript_1A4F4E:: @ 81A4F4E
FallarborTown_ContestLobby_EventScript_1A4F67:: @ 81A4F67
giveitem ITEM_LUXURY_BALL
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1A4F86
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F86
setvar 0x408a, 0
- closebutton
+ closemessage
release
end
@@ -76,7 +76,7 @@ FallarborTown_ContestLobby_EventScript_1A4F86:: @ 81A4F86
FallarborTown_ContestLobby_EventScript_1A4F8F:: @ 81A4F8F
message FallarborTown_ContestLobby_Text_1A5E46
- waittext
+ waitmessage
multichoice 0, 0, 2, 0
switch RESULT
case 0, FallarborTown_ContestLobby_EventScript_1A5097
@@ -87,7 +87,7 @@ FallarborTown_ContestLobby_EventScript_1A4F8F:: @ 81A4F8F
FallarborTown_ContestLobby_EventScript_1A4FCC:: @ 81A4FCC
message FallarborTown_ContestLobby_Text_1A5E7C
- waittext
+ waitmessage
multichoice 0, 0, 3, 0
switch RESULT
case 0, FallarborTown_ContestLobby_EventScript_1A5014
@@ -99,17 +99,17 @@ FallarborTown_ContestLobby_EventScript_1A4FCC:: @ 81A4FCC
FallarborTown_ContestLobby_EventScript_1A5014:: @ 81A5014
msgbox FallarborTown_ContestLobby_Text_1A5E98, 4
- jump FallarborTown_ContestLobby_EventScript_1A4FCC
+ goto FallarborTown_ContestLobby_EventScript_1A4FCC
end
FallarborTown_ContestLobby_EventScript_1A5022:: @ 81A5022
msgbox FallarborTown_ContestLobby_Text_1A609B, 4
- jump FallarborTown_ContestLobby_EventScript_1A4FCC
+ goto FallarborTown_ContestLobby_EventScript_1A4FCC
end
FallarborTown_ContestLobby_EventScript_1A5030:: @ 81A5030
msgbox FallarborTown_ContestLobby_Text_1A613F, 4
- jump FallarborTown_ContestLobby_EventScript_1A4FCC
+ goto FallarborTown_ContestLobby_EventScript_1A4FCC
end
FallarborTown_ContestLobby_EventScript_1A503E:: @ 81A503E
@@ -121,34 +121,34 @@ FallarborTown_ContestLobby_EventScript_1A5048:: @ 81A5048
msgbox FallarborTown_ContestLobby_Text_1A6319, 4
choosecontestpkmn
compare 0x8004, 255
- jumpeq FallarborTown_ContestLobby_EventScript_1A5097
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A5097
special sub_80C43F4
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1A50C8
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A50C8
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1A50D7
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A50D7
compare RESULT, 2
- jumpeq FallarborTown_ContestLobby_EventScript_1A50FB
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A50FB
compare RESULT, 3
- jumpeq FallarborTown_ContestLobby_EventScript_1A511F
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A511F
compare RESULT, 4
- jumpeq FallarborTown_ContestLobby_EventScript_1A512E
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1A512E
end
FallarborTown_ContestLobby_EventScript_1A5097:: @ 81A5097
message FallarborTown_ContestLobby_Text_1A6623
- waittext
+ waitmessage
multichoice 0, 0, 4, 0
switch RESULT
case 5, FallarborTown_ContestLobby_EventScript_1A503E
case 127, FallarborTown_ContestLobby_EventScript_1A503E
copyvar CONTEST_CATEGORY, RESULT
- jump FallarborTown_ContestLobby_EventScript_1A5048
+ goto FallarborTown_ContestLobby_EventScript_1A5048
end
FallarborTown_ContestLobby_EventScript_1A50C8:: @ 81A50C8
msgbox FallarborTown_ContestLobby_Text_1A664A, 4
- jump FallarborTown_ContestLobby_EventScript_1A5048
+ goto FallarborTown_ContestLobby_EventScript_1A5048
release
end
@@ -168,19 +168,19 @@ FallarborTown_ContestLobby_EventScript_1A50FB:: @ 81A50FB
FallarborTown_ContestLobby_EventScript_1A511F:: @ 81A511F
msgbox FallarborTown_ContestLobby_Text_1A669F, 4
- jump FallarborTown_ContestLobby_EventScript_1A5048
+ goto FallarborTown_ContestLobby_EventScript_1A5048
release
end
FallarborTown_ContestLobby_EventScript_1A512E:: @ 81A512E
msgbox FallarborTown_ContestLobby_Text_1A66DC, 4
- jump FallarborTown_ContestLobby_EventScript_1A5048
+ goto FallarborTown_ContestLobby_EventScript_1A5048
release
end
FallarborTown_ContestLobby_EventScript_1A513D:: @ 81A513D
msgbox FallarborTown_ContestLobby_Text_1A67C1, 4
- closebutton
+ closemessage
releaseall
setvar 0x4086, 1
return
@@ -188,10 +188,10 @@ FallarborTown_ContestLobby_EventScript_1A513D:: @ 81A513D
LinkContestRoom1_EventScript_1A514D:: @ 81A514D
setvar 0x8006, 0
lockall
- move 14, LinkContestRoom1_Movement_1A5DBF
- waitmove 0
- move 1, LinkContestRoom1_Movement_1A5D85
- waitmove 0
+ applymovement 14, LinkContestRoom1_Movement_1A5DBF
+ waitmovement 0
+ applymovement 1, LinkContestRoom1_Movement_1A5D85
+ waitmovement 0
releaseall
call LinkContestRoom1_EventScript_1A51A0
call LinkContestRoom1_EventScript_1A51EA
@@ -260,24 +260,24 @@ LinkContestRoom1_EventScript_1A523F:: @ 81A523F
return
LinkContestRoom1_EventScript_1A5245:: @ 81A5245
- bufferstd 1, 0x8008
- bufferstd 2, 0x8009
+ getstdstring 1, 0x8008
+ getstdstring 2, 0x8009
call LinkContestRoom1_EventScript_1A525F
lockall
- move 1, LinkContestRoom1_Movement_1A5D87
- waitmove 0
+ applymovement 1, LinkContestRoom1_Movement_1A5D87
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A525F:: @ 81A525F
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A5273
+ goto_if_eq LinkContestRoom1_EventScript_1A5273
msgbox LinkContestRoom1_Text_1A68F0, 3
return
LinkContestRoom1_EventScript_1A5273:: @ 81A5273
- message2 LinkContestRoom1_Text_1A6976
- waittext
+ messageautoscroll LinkContestRoom1_Text_1A6976
+ waitmessage
return
LinkContestRoom1_EventScript_1A527A:: @ 81A527A
@@ -288,50 +288,50 @@ LinkContestRoom1_EventScript_1A527A:: @ 81A527A
call LinkContestRoom1_EventScript_1A5880
addvar 0x8006, 1
compare 0x8006, 4
- jumpif 5, LinkContestRoom1_EventScript_1A527A
+ goto_if 5, LinkContestRoom1_EventScript_1A527A
call LinkContestRoom1_EventScript_1A5377
setvar 0x4001, 6
return
LinkContestRoom1_EventScript_1A52AE:: @ 81A52AE
compare 0x8006, 0
- jumpeq LinkContestRoom1_EventScript_1A52DB
+ goto_if_eq LinkContestRoom1_EventScript_1A52DB
compare 0x8006, 1
- jumpeq LinkContestRoom1_EventScript_1A52ED
+ goto_if_eq LinkContestRoom1_EventScript_1A52ED
compare 0x8006, 2
- jumpeq LinkContestRoom1_EventScript_1A52FF
+ goto_if_eq LinkContestRoom1_EventScript_1A52FF
compare 0x8006, 3
- jumpeq LinkContestRoom1_EventScript_1A5311
+ goto_if_eq LinkContestRoom1_EventScript_1A5311
return
LinkContestRoom1_EventScript_1A52DB:: @ 81A52DB
lockall
- move 3, LinkContestRoom1_Movement_1A5DCE
- waitmove 0
+ applymovement 3, LinkContestRoom1_Movement_1A5DCE
+ waitmovement 0
releaseall
setvar 0x800b, 3
return
LinkContestRoom1_EventScript_1A52ED:: @ 81A52ED
lockall
- move 4, LinkContestRoom1_Movement_1A5DDA
- waitmove 0
+ applymovement 4, LinkContestRoom1_Movement_1A5DDA
+ waitmovement 0
releaseall
setvar 0x800b, 4
return
LinkContestRoom1_EventScript_1A52FF:: @ 81A52FF
lockall
- move 5, LinkContestRoom1_Movement_1A5DE2
- waitmove 0
+ applymovement 5, LinkContestRoom1_Movement_1A5DE2
+ waitmovement 0
releaseall
setvar 0x800b, 5
return
LinkContestRoom1_EventScript_1A5311:: @ 81A5311
lockall
- move 14, LinkContestRoom1_Movement_1A5DEA
- waitmove 0
+ applymovement 14, LinkContestRoom1_Movement_1A5DEA
+ waitmovement 0
releaseall
setvar 0x800b, 14
return
@@ -339,108 +339,108 @@ LinkContestRoom1_EventScript_1A5311:: @ 81A5311
LinkContestRoom1_EventScript_1A5323:: @ 81A5323
special sub_80C4C64
addvar 0x8006, 1
- buffernum 1, 0x8006
+ getnumberstring 1, 0x8006
lockall
- move 0x800b, LinkContestRoom1_Movement_1A5D9C
- waitmove 0
+ applymovement 0x800b, LinkContestRoom1_Movement_1A5D9C
+ waitmovement 0
releaseall
- reappear 13
- playsfx 10
+ addobject 13
+ playse 10
lockall
- move 0x800b, LinkContestRoom1_Movement_1A5D9C
- waitmove 0
+ applymovement 0x800b, LinkContestRoom1_Movement_1A5D9C
+ waitmovement 0
releaseall
addvar 0x8006, -1
- playsfx 15
+ playse 15
special ShowContestEntryMonPic
call LinkContestRoom1_EventScript_1A535E
return
LinkContestRoom1_EventScript_1A535E:: @ 81A535E
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A5370
+ goto_if_eq LinkContestRoom1_EventScript_1A5370
message LinkContestRoom1_Text_1A6A04
- waittext
+ waitmessage
return
LinkContestRoom1_EventScript_1A5370:: @ 81A5370
- message2 LinkContestRoom1_Text_1A6A04
- waittext
+ messageautoscroll LinkContestRoom1_Text_1A6A04
+ waitmessage
return
LinkContestRoom1_EventScript_1A5377:: @ 81A5377
call LinkContestRoom1_EventScript_1A53B3
call LinkContestRoom1_EventScript_1A53CE
- playsfx 223
- waittext
+ playse 223
+ waitmessage
call LinkContestRoom1_EventScript_1A5A90
- move 1, LinkContestRoom1_Movement_1A5D9F
- waitmove 0
- move 2, LinkContestRoom1_Movement_1A5DA1
- waitmove 0
- pause 20
- move 1, LinkContestRoom1_Movement_1A5D8F
- move 2, LinkContestRoom1_Movement_1A5D8F
- waitmove 0
+ applymovement 1, LinkContestRoom1_Movement_1A5D9F
+ waitmovement 0
+ applymovement 2, LinkContestRoom1_Movement_1A5DA1
+ waitmovement 0
+ delay 20
+ applymovement 1, LinkContestRoom1_Movement_1A5D8F
+ applymovement 2, LinkContestRoom1_Movement_1A5D8F
+ waitmovement 0
return
LinkContestRoom1_EventScript_1A53B3:: @ 81A53B3
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A53C7
+ goto_if_eq LinkContestRoom1_EventScript_1A53C7
msgbox LinkContestRoom1_Text_1A6A1F, 4
return
LinkContestRoom1_EventScript_1A53C7:: @ 81A53C7
- message2 LinkContestRoom1_Text_1A6A1F
- waittext
+ messageautoscroll LinkContestRoom1_Text_1A6A1F
+ waitmessage
return
LinkContestRoom1_EventScript_1A53CE:: @ 81A53CE
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A53DF
+ goto_if_eq LinkContestRoom1_EventScript_1A53DF
message LinkContestRoom1_Text_1A6AE1
return
LinkContestRoom1_EventScript_1A53DF:: @ 81A53DF
- message2 LinkContestRoom1_Text_1A6AE1
+ messageautoscroll LinkContestRoom1_Text_1A6AE1
return
LinkContestRoom1_EventScript_1A53E5:: @ 81A53E5
- move 1, LinkContestRoom1_Movement_1A5DAF
- waitmove 0
- playsfx 223
+ applymovement 1, LinkContestRoom1_Movement_1A5DAF
+ waitmovement 0
+ playse 223
call LinkContestRoom1_EventScript_1A5AE4
- move 9, LinkContestRoom1_Movement_1A5DB7
- move 12, LinkContestRoom1_Movement_1A5DBB
- move 7, LinkContestRoom1_Movement_1A5DB7
- waitmove 0
- move 1, LinkContestRoom1_Movement_1A5DB7
- waitmove 0
- move 10, LinkContestRoom1_Movement_1A5DAF
- move 11, LinkContestRoom1_Movement_1A5DBB
- move 6, LinkContestRoom1_Movement_1A5DB3
- move 8, LinkContestRoom1_Movement_1A5DAF
- waitmove 0
- move 1, LinkContestRoom1_Movement_1A5DC1
- waitmove 0
- move 1, LinkContestRoom1_Movement_1A5DCA
- move 2, LinkContestRoom1_Movement_1A5DC5
- waitmove 0
+ applymovement 9, LinkContestRoom1_Movement_1A5DB7
+ applymovement 12, LinkContestRoom1_Movement_1A5DBB
+ applymovement 7, LinkContestRoom1_Movement_1A5DB7
+ waitmovement 0
+ applymovement 1, LinkContestRoom1_Movement_1A5DB7
+ waitmovement 0
+ applymovement 10, LinkContestRoom1_Movement_1A5DAF
+ applymovement 11, LinkContestRoom1_Movement_1A5DBB
+ applymovement 6, LinkContestRoom1_Movement_1A5DB3
+ applymovement 8, LinkContestRoom1_Movement_1A5DAF
+ waitmovement 0
+ applymovement 1, LinkContestRoom1_Movement_1A5DC1
+ waitmovement 0
+ applymovement 1, LinkContestRoom1_Movement_1A5DCA
+ applymovement 2, LinkContestRoom1_Movement_1A5DC5
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A5455:: @ 81A5455
special sub_80C47A0
compare 0x4088, 1
- callif 1, LinkContestRoom1_EventScript_1A555A
+ call_if 1, LinkContestRoom1_EventScript_1A555A
compare 0x4088, 2
- callif 1, LinkContestRoom1_EventScript_1A55B8
+ call_if 1, LinkContestRoom1_EventScript_1A55B8
compare 0x4088, 3
- callif 1, LinkContestRoom1_EventScript_1A5616
+ call_if 1, LinkContestRoom1_EventScript_1A5616
compare 0x4088, 4
- callif 1, LinkContestRoom1_EventScript_1A5674
+ call_if 1, LinkContestRoom1_EventScript_1A5674
compare 0x4088, 5
- callif 1, LinkContestRoom1_EventScript_1A56D2
+ call_if 1, LinkContestRoom1_EventScript_1A56D2
setvar 0x4001, 9
setvar 0x4002, 9
setvar 0x4003, 9
@@ -450,7 +450,7 @@ LinkContestRoom1_EventScript_1A5455:: @ 81A5455
setvar 0x4007, 9
setvar 0x4008, 9
compare 0x4000, 0
- callif 2, LinkContestRoom1_EventScript_1A54EB
+ call_if 2, LinkContestRoom1_EventScript_1A54EB
setvar 0x4001, 0
setvar 0x4002, 0
setvar 0x4003, 0
@@ -465,123 +465,123 @@ LinkContestRoom1_EventScript_1A54EB:: @ 81A54EB
setvar RESULT, 8
special ScriptRandom
compare RESULT, 0
- callif 1, LinkContestRoom1_EventScript_1A5760
+ call_if 1, LinkContestRoom1_EventScript_1A5760
compare RESULT, 1
- callif 1, LinkContestRoom1_EventScript_1A5784
+ call_if 1, LinkContestRoom1_EventScript_1A5784
compare RESULT, 2
- callif 1, LinkContestRoom1_EventScript_1A57A8
+ call_if 1, LinkContestRoom1_EventScript_1A57A8
compare RESULT, 3
- callif 1, LinkContestRoom1_EventScript_1A57CC
+ call_if 1, LinkContestRoom1_EventScript_1A57CC
compare RESULT, 4
- callif 1, LinkContestRoom1_EventScript_1A57F0
+ call_if 1, LinkContestRoom1_EventScript_1A57F0
compare RESULT, 5
- callif 1, LinkContestRoom1_EventScript_1A5814
+ call_if 1, LinkContestRoom1_EventScript_1A5814
compare RESULT, 6
- callif 1, LinkContestRoom1_EventScript_1A5838
+ call_if 1, LinkContestRoom1_EventScript_1A5838
compare RESULT, 7
- callif 1, LinkContestRoom1_EventScript_1A585C
+ call_if 1, LinkContestRoom1_EventScript_1A585C
compare 0x4000, 0
- jumpif 2, LinkContestRoom1_EventScript_1A54EB
- waitmove 0
+ goto_if 2, LinkContestRoom1_EventScript_1A54EB
+ waitmovement 0
return
LinkContestRoom1_EventScript_1A555A:: @ 81A555A
compare 0x8004, 80
- jumpif 2, LinkContestRoom1_EventScript_1A575A
+ goto_if 2, LinkContestRoom1_EventScript_1A575A
compare 0x8004, 70
- jumpif 2, LinkContestRoom1_EventScript_1A5754
+ goto_if 2, LinkContestRoom1_EventScript_1A5754
compare 0x8004, 60
- jumpif 2, LinkContestRoom1_EventScript_1A574E
+ goto_if 2, LinkContestRoom1_EventScript_1A574E
compare 0x8004, 50
- jumpif 2, LinkContestRoom1_EventScript_1A5748
+ goto_if 2, LinkContestRoom1_EventScript_1A5748
compare 0x8004, 40
- jumpif 2, LinkContestRoom1_EventScript_1A5742
+ goto_if 2, LinkContestRoom1_EventScript_1A5742
compare 0x8004, 30
- jumpif 2, LinkContestRoom1_EventScript_1A573C
+ goto_if 2, LinkContestRoom1_EventScript_1A573C
compare 0x8004, 20
- jumpif 2, LinkContestRoom1_EventScript_1A5736
+ goto_if 2, LinkContestRoom1_EventScript_1A5736
compare 0x8004, 10
- jumpif 2, LinkContestRoom1_EventScript_1A5730
+ goto_if 2, LinkContestRoom1_EventScript_1A5730
setvar 0x4000, 0
return
LinkContestRoom1_EventScript_1A55B8:: @ 81A55B8
compare 0x8004, 230
- jumpif 2, LinkContestRoom1_EventScript_1A575A
+ goto_if 2, LinkContestRoom1_EventScript_1A575A
compare 0x8004, 210
- jumpif 2, LinkContestRoom1_EventScript_1A5754
+ goto_if 2, LinkContestRoom1_EventScript_1A5754
compare 0x8004, 190
- jumpif 2, LinkContestRoom1_EventScript_1A574E
+ goto_if 2, LinkContestRoom1_EventScript_1A574E
compare 0x8004, 170
- jumpif 2, LinkContestRoom1_EventScript_1A5748
+ goto_if 2, LinkContestRoom1_EventScript_1A5748
compare 0x8004, 150
- jumpif 2, LinkContestRoom1_EventScript_1A5742
+ goto_if 2, LinkContestRoom1_EventScript_1A5742
compare 0x8004, 130
- jumpif 2, LinkContestRoom1_EventScript_1A573C
+ goto_if 2, LinkContestRoom1_EventScript_1A573C
compare 0x8004, 110
- jumpif 2, LinkContestRoom1_EventScript_1A5736
+ goto_if 2, LinkContestRoom1_EventScript_1A5736
compare 0x8004, 90
- jumpif 2, LinkContestRoom1_EventScript_1A5730
+ goto_if 2, LinkContestRoom1_EventScript_1A5730
setvar 0x4000, 0
return
LinkContestRoom1_EventScript_1A5616:: @ 81A5616
compare 0x8004, 380
- jumpif 2, LinkContestRoom1_EventScript_1A575A
+ goto_if 2, LinkContestRoom1_EventScript_1A575A
compare 0x8004, 350
- jumpif 2, LinkContestRoom1_EventScript_1A5754
+ goto_if 2, LinkContestRoom1_EventScript_1A5754
compare 0x8004, 320
- jumpif 2, LinkContestRoom1_EventScript_1A574E
+ goto_if 2, LinkContestRoom1_EventScript_1A574E
compare 0x8004, 290
- jumpif 2, LinkContestRoom1_EventScript_1A5748
+ goto_if 2, LinkContestRoom1_EventScript_1A5748
compare 0x8004, 260
- jumpif 2, LinkContestRoom1_EventScript_1A5742
+ goto_if 2, LinkContestRoom1_EventScript_1A5742
compare 0x8004, 230
- jumpif 2, LinkContestRoom1_EventScript_1A573C
+ goto_if 2, LinkContestRoom1_EventScript_1A573C
compare 0x8004, 200
- jumpif 2, LinkContestRoom1_EventScript_1A5736
+ goto_if 2, LinkContestRoom1_EventScript_1A5736
compare 0x8004, 170
- jumpif 2, LinkContestRoom1_EventScript_1A5730
+ goto_if 2, LinkContestRoom1_EventScript_1A5730
setvar 0x4000, 0
return
LinkContestRoom1_EventScript_1A5674:: @ 81A5674
compare 0x8004, 600
- jumpif 2, LinkContestRoom1_EventScript_1A575A
+ goto_if 2, LinkContestRoom1_EventScript_1A575A
compare 0x8004, 560
- jumpif 2, LinkContestRoom1_EventScript_1A5754
+ goto_if 2, LinkContestRoom1_EventScript_1A5754
compare 0x8004, 520
- jumpif 2, LinkContestRoom1_EventScript_1A574E
+ goto_if 2, LinkContestRoom1_EventScript_1A574E
compare 0x8004, 480
- jumpif 2, LinkContestRoom1_EventScript_1A5748
+ goto_if 2, LinkContestRoom1_EventScript_1A5748
compare 0x8004, 440
- jumpif 2, LinkContestRoom1_EventScript_1A5742
+ goto_if 2, LinkContestRoom1_EventScript_1A5742
compare 0x8004, 400
- jumpif 2, LinkContestRoom1_EventScript_1A573C
+ goto_if 2, LinkContestRoom1_EventScript_1A573C
compare 0x8004, 360
- jumpif 2, LinkContestRoom1_EventScript_1A5736
+ goto_if 2, LinkContestRoom1_EventScript_1A5736
compare 0x8004, 320
- jumpif 2, LinkContestRoom1_EventScript_1A5730
+ goto_if 2, LinkContestRoom1_EventScript_1A5730
setvar 0x4000, 0
return
LinkContestRoom1_EventScript_1A56D2:: @ 81A56D2
compare 0x8004, 600
- jumpif 2, LinkContestRoom1_EventScript_1A575A
+ goto_if 2, LinkContestRoom1_EventScript_1A575A
compare 0x8004, 550
- jumpif 2, LinkContestRoom1_EventScript_1A5754
+ goto_if 2, LinkContestRoom1_EventScript_1A5754
compare 0x8004, 500
- jumpif 2, LinkContestRoom1_EventScript_1A574E
+ goto_if 2, LinkContestRoom1_EventScript_1A574E
compare 0x8004, 450
- jumpif 2, LinkContestRoom1_EventScript_1A5748
+ goto_if 2, LinkContestRoom1_EventScript_1A5748
compare 0x8004, 400
- jumpif 2, LinkContestRoom1_EventScript_1A5742
+ goto_if 2, LinkContestRoom1_EventScript_1A5742
compare 0x8004, 300
- jumpif 2, LinkContestRoom1_EventScript_1A573C
+ goto_if 2, LinkContestRoom1_EventScript_1A573C
compare 0x8004, 200
- jumpif 2, LinkContestRoom1_EventScript_1A5736
+ goto_if 2, LinkContestRoom1_EventScript_1A5736
compare 0x8004, 100
- jumpif 2, LinkContestRoom1_EventScript_1A5730
+ goto_if 2, LinkContestRoom1_EventScript_1A5730
setvar 0x4000, 0
return
@@ -619,10 +619,10 @@ LinkContestRoom1_EventScript_1A575A:: @ 81A575A
LinkContestRoom1_EventScript_1A5760:: @ 81A5760
compare 0x4001, 1
- jumpeq LinkContestRoom1_EventScript_1A5783
- move 6, LinkContestRoom1_Movement_1A5D8D
- playsfx 21
- pause 14
+ goto_if_eq LinkContestRoom1_EventScript_1A5783
+ applymovement 6, LinkContestRoom1_Movement_1A5D8D
+ playse 21
+ delay 14
setvar 0x4001, 1
addvar 0x4000, 65535
return
@@ -632,10 +632,10 @@ LinkContestRoom1_EventScript_1A5783:: @ 81A5783
LinkContestRoom1_EventScript_1A5784:: @ 81A5784
compare 0x4002, 1
- jumpeq LinkContestRoom1_EventScript_1A57A7
- move 12, LinkContestRoom1_Movement_1A5D8D
- playsfx 21
- pause 14
+ goto_if_eq LinkContestRoom1_EventScript_1A57A7
+ applymovement 12, LinkContestRoom1_Movement_1A5D8D
+ playse 21
+ delay 14
setvar 0x4002, 1
addvar 0x4000, 65535
return
@@ -645,10 +645,10 @@ LinkContestRoom1_EventScript_1A57A7:: @ 81A57A7
LinkContestRoom1_EventScript_1A57A8:: @ 81A57A8
compare 0x4003, 1
- jumpeq LinkContestRoom1_EventScript_1A57CB
- move 7, LinkContestRoom1_Movement_1A5D8D
- playsfx 21
- pause 14
+ goto_if_eq LinkContestRoom1_EventScript_1A57CB
+ applymovement 7, LinkContestRoom1_Movement_1A5D8D
+ playse 21
+ delay 14
setvar 0x4003, 1
addvar 0x4000, 65535
return
@@ -658,10 +658,10 @@ LinkContestRoom1_EventScript_1A57CB:: @ 81A57CB
LinkContestRoom1_EventScript_1A57CC:: @ 81A57CC
compare 0x4004, 1
- jumpeq LinkContestRoom1_EventScript_1A57EF
- move 8, LinkContestRoom1_Movement_1A5D8D
- playsfx 21
- pause 14
+ goto_if_eq LinkContestRoom1_EventScript_1A57EF
+ applymovement 8, LinkContestRoom1_Movement_1A5D8D
+ playse 21
+ delay 14
setvar 0x4004, 1
addvar 0x4000, 65535
return
@@ -671,10 +671,10 @@ LinkContestRoom1_EventScript_1A57EF:: @ 81A57EF
LinkContestRoom1_EventScript_1A57F0:: @ 81A57F0
compare 0x4005, 1
- jumpeq LinkContestRoom1_EventScript_1A5813
- move 9, LinkContestRoom1_Movement_1A5D8D
- playsfx 21
- pause 14
+ goto_if_eq LinkContestRoom1_EventScript_1A5813
+ applymovement 9, LinkContestRoom1_Movement_1A5D8D
+ playse 21
+ delay 14
setvar 0x4005, 1
addvar 0x4000, 65535
return
@@ -684,10 +684,10 @@ LinkContestRoom1_EventScript_1A5813:: @ 81A5813
LinkContestRoom1_EventScript_1A5814:: @ 81A5814
compare 0x4006, 1
- jumpeq LinkContestRoom1_EventScript_1A5837
- move 10, LinkContestRoom1_Movement_1A5D8D
- playsfx 21
- pause 14
+ goto_if_eq LinkContestRoom1_EventScript_1A5837
+ applymovement 10, LinkContestRoom1_Movement_1A5D8D
+ playse 21
+ delay 14
setvar 0x4006, 1
addvar 0x4000, 65535
return
@@ -697,10 +697,10 @@ LinkContestRoom1_EventScript_1A5837:: @ 81A5837
LinkContestRoom1_EventScript_1A5838:: @ 81A5838
compare 0x4007, 1
- jumpeq LinkContestRoom1_EventScript_1A585B
- move 11, LinkContestRoom1_Movement_1A5D8D
- playsfx 21
- pause 14
+ goto_if_eq LinkContestRoom1_EventScript_1A585B
+ applymovement 11, LinkContestRoom1_Movement_1A5D8D
+ playse 21
+ delay 14
setvar 0x4007, 1
addvar 0x4000, 65535
return
@@ -710,10 +710,10 @@ LinkContestRoom1_EventScript_1A585B:: @ 81A585B
LinkContestRoom1_EventScript_1A585C:: @ 81A585C
compare 0x4008, 1
- jumpeq LinkContestRoom1_EventScript_1A587F
- move 15, LinkContestRoom1_Movement_1A5D8D
- playsfx 21
- pause 14
+ goto_if_eq LinkContestRoom1_EventScript_1A587F
+ applymovement 15, LinkContestRoom1_Movement_1A5D8D
+ playse 21
+ delay 14
setvar 0x4008, 1
addvar 0x4000, 65535
return
@@ -722,9 +722,9 @@ LinkContestRoom1_EventScript_1A587F:: @ 81A587F
return
LinkContestRoom1_EventScript_1A5880:: @ 81A5880
- closebutton
+ closemessage
release
- disappear 13
+ removeobject 13
special sub_80C5164
switch 0x8006
case 0, LinkContestRoom1_EventScript_1A58BA
@@ -735,125 +735,125 @@ LinkContestRoom1_EventScript_1A5880:: @ 81A5880
LinkContestRoom1_EventScript_1A58BA:: @ 81A58BA
lockall
- move 0x800b, LinkContestRoom1_Movement_1A5DD4
- waitmove 0
+ applymovement 0x800b, LinkContestRoom1_Movement_1A5DD4
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A58C7:: @ 81A58C7
lockall
- move 0x800b, LinkContestRoom1_Movement_1A5DDE
- waitmove 0
+ applymovement 0x800b, LinkContestRoom1_Movement_1A5DDE
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A58D4:: @ 81A58D4
lockall
- move 0x800b, LinkContestRoom1_Movement_1A5DE6
- waitmove 0
+ applymovement 0x800b, LinkContestRoom1_Movement_1A5DE6
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A58E1:: @ 81A58E1
lockall
- move 0x800b, LinkContestRoom1_Movement_1A5DF0
- waitmove 0
+ applymovement 0x800b, LinkContestRoom1_Movement_1A5DF0
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A58EE:: @ 81A58EE
lockall
- move 1, LinkContestRoom1_Movement_1A5DA3
- waitmove 0
+ applymovement 1, LinkContestRoom1_Movement_1A5DA3
+ waitmovement 0
call LinkContestRoom1_EventScript_1A5930
- waittext
- move 1, LinkContestRoom1_Movement_1A5D91
- move 2, LinkContestRoom1_Movement_1A5D95
- waitmove 0
+ waitmessage
+ applymovement 1, LinkContestRoom1_Movement_1A5D91
+ applymovement 2, LinkContestRoom1_Movement_1A5D95
+ waitmovement 0
releaseall
setvar 0x4009, 1
startcontest
setvar 0x4009, 0
lockall
- move 1, LinkContestRoom1_Movement_1A5D95
- move 2, LinkContestRoom1_Movement_1A5D91
- waitmove 0
+ applymovement 1, LinkContestRoom1_Movement_1A5D95
+ applymovement 2, LinkContestRoom1_Movement_1A5D91
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A5930:: @ 81A5930
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A5944
+ goto_if_eq LinkContestRoom1_EventScript_1A5944
msgbox LinkContestRoom1_Text_1A6AF5, 3
return
LinkContestRoom1_EventScript_1A5944:: @ 81A5944
- message2 LinkContestRoom1_Text_1A6AF5
+ messageautoscroll LinkContestRoom1_Text_1A6AF5
return
LinkContestRoom1_EventScript_1A594A:: @ 81A594A
call LinkContestRoom1_EventScript_1A5984
call LinkContestRoom1_EventScript_1A59A2
- move 1, LinkContestRoom1_Movement_1A5D8B
- waitmove 0
+ applymovement 1, LinkContestRoom1_Movement_1A5D8B
+ waitmovement 0
call LinkContestRoom1_EventScript_1A59C0
call LinkContestRoom1_EventScript_1A59DE
- move 1, LinkContestRoom1_Movement_1A5D8F
- waitmove 0
- closebutton
+ applymovement 1, LinkContestRoom1_Movement_1A5D8F
+ waitmovement 0
+ closemessage
releaseall
setvar 0x4009, 1
showcontestresults
setvar 0x4009, 0
- playmusic 439, 0
+ playbgm 439, 0
return
LinkContestRoom1_EventScript_1A5984:: @ 81A5984
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A5998
+ goto_if_eq LinkContestRoom1_EventScript_1A5998
msgbox LinkContestRoom1_Text_1A6C06, 4
return
LinkContestRoom1_EventScript_1A5998:: @ 81A5998
- message2 LinkContestRoom1_Text_1A6C06
- waittext
- pause 30
+ messageautoscroll LinkContestRoom1_Text_1A6C06
+ waitmessage
+ delay 30
return
LinkContestRoom1_EventScript_1A59A2:: @ 81A59A2
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A59B6
+ goto_if_eq LinkContestRoom1_EventScript_1A59B6
msgbox LinkContestRoom1_Text_1A6C21, 4
return
LinkContestRoom1_EventScript_1A59B6:: @ 81A59B6
- message2 LinkContestRoom1_Text_1A6C21
- waittext
- pause 30
+ messageautoscroll LinkContestRoom1_Text_1A6C21
+ waitmessage
+ delay 30
return
LinkContestRoom1_EventScript_1A59C0:: @ 81A59C0
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A59D4
+ goto_if_eq LinkContestRoom1_EventScript_1A59D4
msgbox LinkContestRoom1_Text_1A6C9D, 4
return
LinkContestRoom1_EventScript_1A59D4:: @ 81A59D4
- message2 LinkContestRoom1_Text_1A6C9D
- waittext
- pause 30
+ messageautoscroll LinkContestRoom1_Text_1A6C9D
+ waitmessage
+ delay 30
return
LinkContestRoom1_EventScript_1A59DE:: @ 81A59DE
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A59F2
+ goto_if_eq LinkContestRoom1_EventScript_1A59F2
msgbox LinkContestRoom1_Text_1A6D16, 4
return
LinkContestRoom1_EventScript_1A59F2:: @ 81A59F2
- message2 LinkContestRoom1_Text_1A6D16
- waittext
- pause 30
+ messageautoscroll LinkContestRoom1_Text_1A6D16
+ waitmessage
+ delay 30
return
LinkContestRoom1_EventScript_1A59FC:: @ 81A59FC
@@ -885,156 +885,156 @@ LinkContestRoom1_EventScript_1A5A49:: @ 81A5A49
special sub_80C47F0
special sub_80C4858
addvar 0x8005, 1
- buffernum 1, 0x8005
+ getnumberstring 1, 0x8005
addvar 0x8005, -1
call LinkContestRoom1_EventScript_1A5A75
- move 0x4003, LinkContestRoom1_Movement_1A5D99
- waitmove 0
- playsfx 223
+ applymovement 0x4003, LinkContestRoom1_Movement_1A5D99
+ waitmovement 0
+ playse 223
setvar 0x4001, 0
return
LinkContestRoom1_EventScript_1A5A75:: @ 81A5A75
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A5A89
+ goto_if_eq LinkContestRoom1_EventScript_1A5A89
msgbox LinkContestRoom1_Text_1A6D3C, 4
return
LinkContestRoom1_EventScript_1A5A89:: @ 81A5A89
- message2 LinkContestRoom1_Text_1A6D3C
- waittext
+ messageautoscroll LinkContestRoom1_Text_1A6D3C
+ waitmessage
return
LinkContestRoom1_EventScript_1A5A90:: @ 81A5A90
addvar 0x4001, 1
lockall
compare 0x4088, 1
- callif 2, LinkContestRoom1_EventScript_1A5AE4
- move 9, LinkContestRoom1_Movement_1A5DB7
- move 12, LinkContestRoom1_Movement_1A5DBB
- move 7, LinkContestRoom1_Movement_1A5DB7
- pause 30
- move 10, LinkContestRoom1_Movement_1A5DAF
- move 11, LinkContestRoom1_Movement_1A5DBB
- move 6, LinkContestRoom1_Movement_1A5DB3
- move 8, LinkContestRoom1_Movement_1A5DAF
+ call_if 2, LinkContestRoom1_EventScript_1A5AE4
+ applymovement 9, LinkContestRoom1_Movement_1A5DB7
+ applymovement 12, LinkContestRoom1_Movement_1A5DBB
+ applymovement 7, LinkContestRoom1_Movement_1A5DB7
+ delay 30
+ applymovement 10, LinkContestRoom1_Movement_1A5DAF
+ applymovement 11, LinkContestRoom1_Movement_1A5DBB
+ applymovement 6, LinkContestRoom1_Movement_1A5DB3
+ applymovement 8, LinkContestRoom1_Movement_1A5DAF
compare 0x4001, 4
- jumpif 5, LinkContestRoom1_EventScript_1A5A90
- pause 30
+ goto_if 5, LinkContestRoom1_EventScript_1A5A90
+ delay 30
return
LinkContestRoom1_EventScript_1A5AE4:: @ 81A5AE4
- vspriteface 0, 1
- vspriteface 2, 1
- vspriteface 4, 4
- vspriteface 6, 1
- vspriteface 8, 1
- vspriteface 10, 1
- vspriteface 12, 1
- vspriteface 14, 1
- vspriteface 16, 1
- vspriteface 18, 1
- vspriteface 20, 4
- vspriteface 22, 4
- vspriteface 25, 4
- vspriteface 27, 3
- vspriteface 28, 4
- pause 10
- vspriteface 0, 4
- vspriteface 2, 4
- vspriteface 4, 4
- vspriteface 6, 4
- vspriteface 8, 4
- vspriteface 10, 3
- vspriteface 12, 3
- vspriteface 14, 3
- vspriteface 16, 3
- vspriteface 18, 3
- vspriteface 20, 1
- vspriteface 22, 1
- vspriteface 25, 2
- vspriteface 27, 2
- vspriteface 28, 2
- pause 10
- vspriteface 1, 2
- vspriteface 3, 2
- vspriteface 5, 2
- vspriteface 7, 2
- vspriteface 9, 4
- vspriteface 11, 2
- vspriteface 15, 2
- vspriteface 13, 2
- vspriteface 17, 2
- vspriteface 19, 2
- vspriteface 21, 3
- vspriteface 23, 3
- vspriteface 24, 3
- vspriteface 26, 4
- vspriteface 29, 3
- vspriteface 30, 3
- pause 10
- vspriteface 1, 4
- vspriteface 3, 4
- vspriteface 5, 4
- vspriteface 7, 4
- vspriteface 9, 4
- vspriteface 11, 3
- vspriteface 15, 3
- vspriteface 13, 3
- vspriteface 17, 3
- vspriteface 19, 3
- vspriteface 21, 1
- vspriteface 23, 1
- vspriteface 24, 1
- vspriteface 26, 2
- vspriteface 29, 2
- vspriteface 30, 2
- pause 10
+ turnvobject 0, 1
+ turnvobject 2, 1
+ turnvobject 4, 4
+ turnvobject 6, 1
+ turnvobject 8, 1
+ turnvobject 10, 1
+ turnvobject 12, 1
+ turnvobject 14, 1
+ turnvobject 16, 1
+ turnvobject 18, 1
+ turnvobject 20, 4
+ turnvobject 22, 4
+ turnvobject 25, 4
+ turnvobject 27, 3
+ turnvobject 28, 4
+ delay 10
+ turnvobject 0, 4
+ turnvobject 2, 4
+ turnvobject 4, 4
+ turnvobject 6, 4
+ turnvobject 8, 4
+ turnvobject 10, 3
+ turnvobject 12, 3
+ turnvobject 14, 3
+ turnvobject 16, 3
+ turnvobject 18, 3
+ turnvobject 20, 1
+ turnvobject 22, 1
+ turnvobject 25, 2
+ turnvobject 27, 2
+ turnvobject 28, 2
+ delay 10
+ turnvobject 1, 2
+ turnvobject 3, 2
+ turnvobject 5, 2
+ turnvobject 7, 2
+ turnvobject 9, 4
+ turnvobject 11, 2
+ turnvobject 15, 2
+ turnvobject 13, 2
+ turnvobject 17, 2
+ turnvobject 19, 2
+ turnvobject 21, 3
+ turnvobject 23, 3
+ turnvobject 24, 3
+ turnvobject 26, 4
+ turnvobject 29, 3
+ turnvobject 30, 3
+ delay 10
+ turnvobject 1, 4
+ turnvobject 3, 4
+ turnvobject 5, 4
+ turnvobject 7, 4
+ turnvobject 9, 4
+ turnvobject 11, 3
+ turnvobject 15, 3
+ turnvobject 13, 3
+ turnvobject 17, 3
+ turnvobject 19, 3
+ turnvobject 21, 1
+ turnvobject 23, 1
+ turnvobject 24, 1
+ turnvobject 26, 2
+ turnvobject 29, 2
+ turnvobject 30, 2
+ delay 10
return
LinkContestRoom1_EventScript_1A5BAB:: @ 81A5BAB
compare 0x4088, 5
- jumpeq LinkContestRoom1_EventScript_1A5C4C
+ goto_if_eq LinkContestRoom1_EventScript_1A5C4C
call LinkContestRoom1_EventScript_1A5C12
checkflag 2
- jumpeq LinkContestRoom1_EventScript_1A5BF6
+ goto_if_eq LinkContestRoom1_EventScript_1A5BF6
msgbox LinkContestRoom1_Text_1A6DC5, 3
- waittext
+ waitmessage
call LinkContestRoom1_EventScript_1A5C7F
call LinkContestRoom1_EventScript_1A5CE5
- playsfx 223
+ playse 223
setvar 0x4001, 0
call LinkContestRoom1_EventScript_1A5A90
- pause 30
+ delay 30
special sub_80C4CF8
compare 0x8004, 1
- jumpeq LinkContestRoom1_EventScript_1A5C46
+ goto_if_eq LinkContestRoom1_EventScript_1A5C46
return
LinkContestRoom1_EventScript_1A5BF6:: @ 81A5BF6
- inccounter GAME_STAT_WON_CONTEST
+ incrementgamestat GAME_STAT_WON_CONTEST
msgbox LinkContestRoom1_Text_1A6DF1, 3
- pause 90
+ delay 90
special sub_80C4CF8
compare 0x8004, 1
- jumpeq LinkContestRoom1_EventScript_1A5C46
+ goto_if_eq LinkContestRoom1_EventScript_1A5C46
return
LinkContestRoom1_EventScript_1A5C12:: @ 81A5C12
- specialval RESULT, sub_80C4440
+ specialvar RESULT, sub_80C4440
compare RESULT, 1
- jumpeq LinkContestRoom1_EventScript_1A5C23
+ goto_if_eq LinkContestRoom1_EventScript_1A5C23
return
LinkContestRoom1_EventScript_1A5C23:: @ 81A5C23
special sub_80C47C0
compare 0x8005, 3
- jumpeq LinkContestRoom1_EventScript_1A5C32
+ goto_if_eq LinkContestRoom1_EventScript_1A5C32
return
LinkContestRoom1_EventScript_1A5C32:: @ 81A5C32
compare CONTEST_RANK, 3
- jumpeq LinkContestRoom1_EventScript_1A5C41
+ goto_if_eq LinkContestRoom1_EventScript_1A5C41
setflag 2
return
@@ -1050,12 +1050,12 @@ LinkContestRoom1_EventScript_1A5C46:: @ 81A5C46
return
LinkContestRoom1_EventScript_1A5C4C:: @ 81A5C4C
- pause 60
+ delay 60
call LinkContestRoom1_EventScript_1A5C6A
special sub_80C4CF8
compare 0x8004, 1
- jumpeq LinkContestRoom1_EventScript_1A5C64
- closebutton
+ goto_if_eq LinkContestRoom1_EventScript_1A5C64
+ closemessage
return
LinkContestRoom1_EventScript_1A5C64:: @ 81A5C64
@@ -1065,12 +1065,12 @@ LinkContestRoom1_EventScript_1A5C64:: @ 81A5C64
LinkContestRoom1_EventScript_1A5C6A:: @ 81A5C6A
special sub_80C496C
special sub_80C47C0
- comparevars 0x8004, 0x8005
- jumpeq LinkContestRoom1_EventScript_1A5C7C
+ compare 0x8004, 0x8005
+ goto_if_eq LinkContestRoom1_EventScript_1A5C7C
return
LinkContestRoom1_EventScript_1A5C7C:: @ 81A5C7C
- inccounter GAME_STAT_WON_LINK_CONTEST
+ incrementgamestat GAME_STAT_WON_LINK_CONTEST
return
LinkContestRoom1_EventScript_1A5C7F:: @ 81A5C7F
@@ -1083,48 +1083,48 @@ LinkContestRoom1_EventScript_1A5C7F:: @ 81A5C7F
LinkContestRoom1_EventScript_1A5CB1:: @ 81A5CB1
lockall
- move 0x4003, LinkContestRoom1_Movement_1A5DF6
- waitmove 0
+ applymovement 0x4003, LinkContestRoom1_Movement_1A5DF6
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A5CBE:: @ 81A5CBE
lockall
- move 0x4003, LinkContestRoom1_Movement_1A5DFA
- waitmove 0
+ applymovement 0x4003, LinkContestRoom1_Movement_1A5DFA
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A5CCB:: @ 81A5CCB
lockall
- move 0x4003, LinkContestRoom1_Movement_1A5DA5
- waitmove 0
+ applymovement 0x4003, LinkContestRoom1_Movement_1A5DA5
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A5CD8:: @ 81A5CD8
lockall
- move 0x4003, LinkContestRoom1_Movement_1A5DA9
- waitmove 0
+ applymovement 0x4003, LinkContestRoom1_Movement_1A5DA9
+ waitmovement 0
releaseall
return
LinkContestRoom1_EventScript_1A5CE5:: @ 81A5CE5
special sub_80C47C0
compare 0x8005, 3
- jumpeq LinkContestRoom1_EventScript_1A5CFC
+ goto_if_eq LinkContestRoom1_EventScript_1A5CFC
msgbox LinkContestRoom1_Text_1A6DF1, 3
return
LinkContestRoom1_EventScript_1A5CFC:: @ 81A5CFC
compare 0x4088, 2
- callif 1, LinkContestRoom1_EventScript_1A5C42
- inccounter GAME_STAT_WON_CONTEST
- specialval RESULT, sub_80C4440
+ call_if 1, LinkContestRoom1_EventScript_1A5C42
+ incrementgamestat GAME_STAT_WON_CONTEST
+ specialvar RESULT, sub_80C4440
compare RESULT, 0
- jumpeq LinkContestRoom1_EventScript_1A5D5B
+ goto_if_eq LinkContestRoom1_EventScript_1A5D5B
compare CONTEST_RANK, 3
- jumpeq LinkContestRoom1_EventScript_1A5D3B
+ goto_if_eq LinkContestRoom1_EventScript_1A5D3B
msgbox LinkContestRoom1_Text_1A6DF1, 3
return
@@ -1136,17 +1136,17 @@ LinkContestRoom1_EventScript_1A5D2D:: @ 81A5D2D
LinkContestRoom1_EventScript_1A5D3B:: @ 81A5D3B
giveitem ITEM_LUXURY_BALL
compare RESULT, 0
- jumpeq LinkContestRoom1_EventScript_1A5D2D
+ goto_if_eq LinkContestRoom1_EventScript_1A5D2D
msgbox LinkContestRoom1_Text_1A6DF1, 3
return
LinkContestRoom1_EventScript_1A5D5B:: @ 81A5D5B
special sub_80C44C0
- inccounter GAME_STAT_RECEIVED_RIBBONS
+ incrementgamestat GAME_STAT_RECEIVED_RIBBONS
setflag 2107
lockall
msgbox LinkContestRoom1_Text_1A6D6A, 4
- fanfare 370
+ playfanfare 370
msgbox LinkContestRoom1_Text_1A6D96, 4
waitfanfare
special sub_80C4858
diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc
index dcc4b44e7..f8151b86a 100644
--- a/data/scripts/day_care.inc
+++ b/data/scripts/day_care.inc
@@ -2,13 +2,13 @@ Route117_EventScript_1B222D:: @ 81B222D
lock
faceplayer
special sp0B5_daycare
- specialval RESULT, sp0B6_daycare
+ specialvar RESULT, sp0B6_daycare
compare RESULT, 1
- jumpeq Route117_EventScript_1B2262
+ goto_if_eq Route117_EventScript_1B2262
compare RESULT, 2
- jumpeq Route117_EventScript_1B22E7
+ goto_if_eq Route117_EventScript_1B22E7
compare RESULT, 3
- jumpeq Route117_EventScript_1B22FE
+ goto_if_eq Route117_EventScript_1B22FE
msgbox Route117_Text_1B25CB, 4
release
end
@@ -16,10 +16,10 @@ Route117_EventScript_1B222D:: @ 81B222D
Route117_EventScript_1B2262:: @ 81B2262
msgbox Route117_Text_1B2659, 5
compare RESULT, 1
- jumpeq Route117_EventScript_1B2298
+ goto_if_eq Route117_EventScript_1B2298
msgbox Route117_Text_1B28C4, 5
compare RESULT, 1
- jumpeq Route117_EventScript_1B2298
+ goto_if_eq Route117_EventScript_1B2298
msgbox Route117_Text_1B2745, 4
clearflag 134
special sub_8041E7C
@@ -27,18 +27,18 @@ Route117_EventScript_1B2262:: @ 81B2262
end
Route117_EventScript_1B2298:: @ 81B2298
- specialval RESULT, CalculatePlayerPartyCount
+ specialvar RESULT, CalculatePlayerPartyCount
compare RESULT, 6
- jumpif 5, Route117_EventScript_1B22B2
+ goto_if 5, Route117_EventScript_1B22B2
msgbox Route117_Text_1B2766, 4
release
end
Route117_EventScript_1B22B2:: @ 81B22B2
message Route117_Text_1B27A2
- fanfare 367
+ playfanfare 367
waitfanfare
- waittext
+ waitmessage
waitbutton
msgbox Route117_Text_1B27CD, 4
special sp0B8_daycare
@@ -47,9 +47,9 @@ Route117_EventScript_1B22B2:: @ 81B22B2
end
Route117_EventScript_1B22CD:: @ 81B22CD
- specialval RESULT, sub_8042B4C
+ specialvar RESULT, sub_8042B4C
compare RESULT, 1
- callif 1, Route117_EventScript_1B22DE
+ call_if 1, Route117_EventScript_1B22DE
return
Route117_EventScript_1B22DE:: @ 81B22DE
@@ -69,7 +69,7 @@ Route117_EventScript_1B22FE:: @ 81B22FE
msgbox Route117_Text_1B2897, 4
special sp0B9_daycare_relationship_comment
special ShowFieldMessageStringVar4
- waittext
+ waitmessage
waitbutton
setvar 0x8004, 0
call Route117_EventScript_1B22CD
@@ -81,43 +81,43 @@ Route117_EventScript_1B22FE:: @ 81B22FE
Route117_PokemonDayCare_EventScript_1B2327:: @ 81B2327
lock
faceplayer
- specialval RESULT, sp0B6_daycare
+ specialvar RESULT, sp0B6_daycare
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B2407
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B2407
compare RESULT, 2
- jumpeq Route117_PokemonDayCare_EventScript_1B242B
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B242B
compare RESULT, 3
- jumpeq Route117_PokemonDayCare_EventScript_1B2558
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B2558
msgbox Route117_PokemonDayCare_Text_1B28F2, 5
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B236C
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B236C
msgbox Route117_PokemonDayCare_Text_1B2A14, 4
release
end
Route117_PokemonDayCare_EventScript_1B236C:: @ 81B236C
- specialval RESULT, sub_8095B6C
+ specialvar RESULT, sub_8095B6C
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B23F3
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B23F3
msgbox Route117_PokemonDayCare_Text_1B2947, 4
fadescreen 1
special ChooseSendDaycareMon
waitstate
compare 0x8004, 255
- jumpeq Route117_PokemonDayCare_EventScript_1B23D0
- specialval RESULT, sub_8095C10
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B23D0
+ specialvar RESULT, sub_8095C10
compare RESULT, 0
- jumpeq Route117_PokemonDayCare_EventScript_1B23FD
- specialval 0x8005, sub_8042328
- checksound
- pokecry 0x8005, 0
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B23FD
+ specialvar 0x8005, sub_8042328
+ waitse
+ playpokecry 0x8005, 0
msgbox Route117_PokemonDayCare_Text_1B296E, 4
waitpokecry
special Daycare_SendPokemon_Special
- inccounter GAME_STAT_USED_DAYCARE
- specialval RESULT, sp0B6_daycare
+ incrementgamestat GAME_STAT_USED_DAYCARE
+ specialvar RESULT, sp0B6_daycare
compare RESULT, 2
- jumpeq Route117_PokemonDayCare_EventScript_1B23DA
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B23DA
release
end
@@ -129,8 +129,8 @@ Route117_PokemonDayCare_EventScript_1B23D0:: @ 81B23D0
Route117_PokemonDayCare_EventScript_1B23DA:: @ 81B23DA
msgbox Route117_PokemonDayCare_Text_1B29AD, 5
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B236C
- jump Route117_PokemonDayCare_EventScript_1B23D0
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B236C
+ goto Route117_PokemonDayCare_EventScript_1B23D0
end
Route117_PokemonDayCare_EventScript_1B23F3:: @ 81B23F3
@@ -153,9 +153,9 @@ Route117_PokemonDayCare_EventScript_1B2411:: @ 81B2411
return
Route117_PokemonDayCare_EventScript_1B241A:: @ 81B241A
- specialval RESULT, sub_80417B8
+ specialvar RESULT, sub_80417B8
compare RESULT, 0
- callif 5, Route117_PokemonDayCare_EventScript_1B2411
+ call_if 5, Route117_PokemonDayCare_EventScript_1B2411
return
Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B
@@ -164,67 +164,67 @@ Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B
call Route117_PokemonDayCare_EventScript_1B241A
msgbox Route117_PokemonDayCare_Text_1B29AD, 5
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B236C
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B236C
msgbox Route117_PokemonDayCare_Text_1B2BF6, 5
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B2469
- jump Route117_PokemonDayCare_EventScript_1B23D0
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B2469
+ goto Route117_PokemonDayCare_EventScript_1B23D0
end
Route117_PokemonDayCare_EventScript_1B2469:: @ 81B2469
- specialval RESULT, CalculatePlayerPartyCount
+ specialvar RESULT, CalculatePlayerPartyCount
compare RESULT, 6
- jumpeq Route117_PokemonDayCare_EventScript_1B2539
- specialval RESULT, sp0B6_daycare
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B2539
+ specialvar RESULT, sp0B6_daycare
setvar 0x8004, 0
compare RESULT, 2
- jumpeq Route117_PokemonDayCare_EventScript_1B24A8
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B24A8
special ShowDaycareLevelMenu
waitstate
copyvar 0x8004, RESULT
compare RESULT, 2
- jumpeq Route117_PokemonDayCare_EventScript_1B23D0
- jump Route117_PokemonDayCare_EventScript_1B24A8
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B23D0
+ goto Route117_PokemonDayCare_EventScript_1B24A8
end
Route117_PokemonDayCare_EventScript_1B24A8:: @ 81B24A8
special sub_8041770
msgbox Route117_PokemonDayCare_Text_1B2B49, 5
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B24C4
- jump Route117_PokemonDayCare_EventScript_1B23D0
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B24C4
+ goto Route117_PokemonDayCare_EventScript_1B23D0
end
Route117_PokemonDayCare_EventScript_1B24C4:: @ 81B24C4
- specialval RESULT, sub_80B7CE8
+ specialvar RESULT, sub_80B7CE8
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B24DE
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B24DE
msgbox Route117_PokemonDayCare_Text_1B2A30, 4
release
end
Route117_PokemonDayCare_EventScript_1B24DE:: @ 81B24DE
- move 1, Route117_PokemonDayCare_Movement_1B2543
- waitmove 0
- specialval RESULT, sub_8041648
+ applymovement 1, Route117_PokemonDayCare_Movement_1B2543
+ waitmovement 0
+ specialvar RESULT, sub_8041648
special sub_80B7D0C
- playsfx 95
+ playse 95
msgbox Route117_PokemonDayCare_Text_1B2B75, 4
- checksound
- pokecry RESULT, 0
+ waitse
+ playpokecry RESULT, 0
msgbox Route117_PokemonDayCare_Text_1B2B93, 4
waitpokecry
- specialval RESULT, sp0B6_daycare
+ specialvar RESULT, sp0B6_daycare
compare RESULT, 2
- jumpeq Route117_PokemonDayCare_EventScript_1B2520
- jump Route117_PokemonDayCare_EventScript_1B23D0
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B2520
+ goto Route117_PokemonDayCare_EventScript_1B23D0
end
Route117_PokemonDayCare_EventScript_1B2520:: @ 81B2520
msgbox Route117_PokemonDayCare_Text_1B2A4F, 5
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B2469
- jump Route117_PokemonDayCare_EventScript_1B23D0
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B2469
+ goto Route117_PokemonDayCare_EventScript_1B23D0
end
Route117_PokemonDayCare_EventScript_1B2539:: @ 81B2539
@@ -265,7 +265,7 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558
call Route117_PokemonDayCare_EventScript_1B241A
msgbox Route117_PokemonDayCare_Text_1B2BF6, 5
compare RESULT, 1
- jumpeq Route117_PokemonDayCare_EventScript_1B2469
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B2469
msgbox Route117_PokemonDayCare_Text_1B2A76, 4
release
end
@@ -274,9 +274,9 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558
special ShowDaycareLevelMenu
waitstate
compare RESULT, 2
- jumpeq Route117_PokemonDayCare_EventScript_1B23D0
+ goto_if_eq Route117_PokemonDayCare_EventScript_1B23D0
copyvar 0x8004, RESULT
- specialval RESULT, sub_8041648
+ specialvar RESULT, sub_8041648
msgbox Route117_PokemonDayCare_Text_1B2B75, 4
msgbox Route117_PokemonDayCare_Text_1B2A76, 4
release
diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc
index 67a0920fa..214c61142 100644
--- a/data/scripts/gabby_and_ty.inc
+++ b/data/scripts/gabby_and_ty.inc
@@ -1,8 +1,8 @@
Route111_EventScript_1AE313:: @ 81AE313
Route118_EventScript_1AE313:: @ 81AE313
Route120_EventScript_1AE313:: @ 81AE313
- settrainerflag OPPONENT_GABBY_AND_TY_6
- specialval RESULT, GabbyAndTyGetBattleNum
+ cleartrainerflag OPPONENT_GABBY_AND_TY_6
+ specialvar RESULT, GabbyAndTyGetBattleNum
switch RESULT
case 0, Route111_EventScript_1AE384
case 1, Route111_EventScript_1AE38A
@@ -203,32 +203,32 @@ Route111_EventScript_1AE5A2:: @ 81AE5A2
special GabbyAndTyBeforeInterview
special GabbyAndTySetScriptVarsToFieldObjectLocalIds
compare FACING, 2
- callif 1, Route111_EventScript_1AE5E0
+ call_if 1, Route111_EventScript_1AE5E0
compare FACING, 1
- callif 1, Route111_EventScript_1AE5EB
+ call_if 1, Route111_EventScript_1AE5EB
compare FACING, 4
- callif 1, Route111_EventScript_1AE5FD
+ call_if 1, Route111_EventScript_1AE5FD
checkflag 1
- jumpeq Route111_EventScript_1AE73A
+ goto_if_eq Route111_EventScript_1AE73A
msgbox Route111_Text_1AC015, 5
- jump Route111_EventScript_1AE6F3
+ goto Route111_EventScript_1AE6F3
end
Route111_EventScript_1AE5E0:: @ 81AE5E0
- move 0x8004, Route111_Movement_1AE699
- waitmove 0
+ applymovement 0x8004, Route111_Movement_1AE699
+ waitmovement 0
return
Route111_EventScript_1AE5EB:: @ 81AE5EB
- move 0x8004, Route111_Movement_1AE69B
- move 0x8005, Route111_Movement_1A0841
- waitmove 0
+ applymovement 0x8004, Route111_Movement_1AE69B
+ applymovement 0x8005, Route111_Movement_1A0841
+ waitmovement 0
return
Route111_EventScript_1AE5FD:: @ 81AE5FD
- move 0x8004, Route111_Movement_1AE69D
- move 0x8005, Route111_Movement_1A083F
- waitmove 0
+ applymovement 0x8004, Route111_Movement_1AE69D
+ applymovement 0x8005, Route111_Movement_1A083F
+ waitmovement 0
return
Route111_EventScript_1AE60F:: @ 81AE60F
@@ -237,18 +237,18 @@ Route120_EventScript_1AE60F:: @ 81AE60F
special GabbyAndTyBeforeInterview
special GabbyAndTySetScriptVarsToFieldObjectLocalIds
compare FACING, 2
- callif 1, Route111_EventScript_1AE5E0
+ call_if 1, Route111_EventScript_1AE5E0
compare FACING, 1
- callif 1, Route111_EventScript_1AE5EB
+ call_if 1, Route111_EventScript_1AE5EB
compare FACING, 4
- callif 1, Route111_EventScript_1AE5FD
+ call_if 1, Route111_EventScript_1AE5FD
checkflag 1
- jumpeq Route111_EventScript_1AE73A
- specialval RESULT, GabbyAndTyGetLastQuote
+ goto_if_eq Route111_EventScript_1AE73A
+ specialvar RESULT, GabbyAndTyGetLastQuote
compare RESULT, 0
- jumpeq Route111_EventScript_1AE69F
+ goto_if_eq Route111_EventScript_1AE69F
msgbox Route111_Text_1AC10A, 4
- specialval RESULT, sub_80BDD18
+ specialvar RESULT, sub_80BDD18
switch RESULT
case 0, Route111_EventScript_1AE6AD
case 1, Route111_EventScript_1AE6BB
@@ -271,44 +271,44 @@ Route111_Movement_1AE69D:: @ 81AE69D
Route111_EventScript_1AE69F:: @ 81AE69F
msgbox Route111_Text_1AC60B, 5
- jump Route111_EventScript_1AE6F3
+ goto Route111_EventScript_1AE6F3
end
Route111_EventScript_1AE6AD:: @ 81AE6AD
msgbox Route111_Text_1AC3CF, 5
- jump Route111_EventScript_1AE6F3
+ goto Route111_EventScript_1AE6F3
end
Route111_EventScript_1AE6BB:: @ 81AE6BB
msgbox Route111_Text_1AC18D, 5
- jump Route111_EventScript_1AE6F3
+ goto Route111_EventScript_1AE6F3
end
Route111_EventScript_1AE6C9:: @ 81AE6C9
msgbox Route111_Text_1AC219, 5
- jump Route111_EventScript_1AE6F3
+ goto Route111_EventScript_1AE6F3
end
Route111_EventScript_1AE6D7:: @ 81AE6D7
msgbox Route111_Text_1AC2D6, 5
- jump Route111_EventScript_1AE6F3
+ goto Route111_EventScript_1AE6F3
end
Route111_EventScript_1AE6E5:: @ 81AE6E5
msgbox Route111_Text_1AC355, 5
- jump Route111_EventScript_1AE6F3
+ goto Route111_EventScript_1AE6F3
end
Route111_EventScript_1AE6F3:: @ 81AE6F3
compare RESULT, 0
- jumpeq Route111_EventScript_1AE72D
+ goto_if_eq Route111_EventScript_1AE72D
msgbox Route111_Text_1AC40F, 4
setvar 0x8004, 10
call Route111_EventScript_1A00F3
lock
faceplayer
compare RESULT, 0
- jumpeq Route111_EventScript_1AE72D
+ goto_if_eq Route111_EventScript_1AE72D
msgbox Route111_Text_1AC487, 4
special sub_80BDC14
setflag 1
diff --git a/data/scripts/magma_chimney.inc b/data/scripts/magma_chimney.inc
index a2f4f67b7..f13b319f4 100644
--- a/data/scripts/magma_chimney.inc
+++ b/data/scripts/magma_chimney.inc
@@ -2,12 +2,12 @@ MtChimney_EventScript_1B2C95:: @ 81B2C95
lock
faceplayer
checkflag 219
- callif 0, MtChimney_EventScript_1B2CB9
+ call_if 0, MtChimney_EventScript_1B2CB9
checkflag 219
- callif 1, MtChimney_EventScript_1B2CC2
- closebutton
- move 1, MtChimney_Movement_1A083D
- waitmove 0
+ call_if 1, MtChimney_EventScript_1B2CC2
+ closemessage
+ applymovement 1, MtChimney_Movement_1A083D
+ waitmovement 0
setflag 219
release
end
@@ -35,13 +35,13 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB
.else
msgbox MtChimney_Text_1B37BB, 4
.endif
- move 2, MtChimney_Movement_1A0839
- waitmove 0
- playsfx 21
- move 2, MtChimney_Movement_1A0833
- waitmove 0
- move 2, MtChimney_Movement_1A0835
- waitmove 0
+ applymovement 2, MtChimney_Movement_1A0839
+ waitmovement 0
+ playse 21
+ applymovement 2, MtChimney_Movement_1A0833
+ waitmovement 0
+ applymovement 2, MtChimney_Movement_1A0835
+ waitmovement 0
.ifdef SAPPHIRE
msgbox MtChimney_Text_1B2ED9, 4
.else
@@ -57,33 +57,33 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB
.else
msgbox MtChimney_Text_1B3A90, 4
.endif
- closebutton
- pause 30
+ closemessage
+ delay 30
fadescreen 1
- disappear 2
- disappear 3
- disappear 22
+ removeobject 2
+ removeobject 3
+ removeobject 22
setflag 926
fadescreen 0
- movespriteperm 1, 10, 12
- reappear 1
+ setobjectxyperm 1, 10, 12
+ addobject 1
compare FACING, 4
- callif 1, MtChimney_EventScript_1B2D7D
+ call_if 1, MtChimney_EventScript_1B2D7D
compare FACING, 2
- callif 1, MtChimney_EventScript_1B2D88
- move 255, MtChimney_Movement_1A083F
- waitmove 0
+ call_if 1, MtChimney_EventScript_1B2D88
+ applymovement 255, MtChimney_Movement_1A083F
+ waitmovement 0
.ifdef SAPPHIRE
msgbox MtChimney_Text_1B3608, 4
.else
msgbox MtChimney_Text_1B3FFE, 4
.endif
- closebutton
+ closemessage
compare FACING, 4
- callif 1, MtChimney_EventScript_1B2D93
+ call_if 1, MtChimney_EventScript_1B2D93
compare FACING, 2
- callif 1, MtChimney_EventScript_1B2D9E
- disappear 1
+ call_if 1, MtChimney_EventScript_1B2D9E
+ removeobject 1
setflag 927
setflag 139
clearflag 928
@@ -92,21 +92,21 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB
end
MtChimney_EventScript_1B2D7D:: @ 81B2D7D
- move 1, MtChimney_Movement_15D025
- waitmove 0
+ applymovement 1, MtChimney_Movement_15D025
+ waitmovement 0
return
MtChimney_EventScript_1B2D88:: @ 81B2D88
- move 1, MtChimney_Movement_15D036
- waitmove 0
+ applymovement 1, MtChimney_Movement_15D036
+ waitmovement 0
return
MtChimney_EventScript_1B2D93:: @ 81B2D93
- move 1, MtChimney_Movement_15D02D
- waitmove 0
+ applymovement 1, MtChimney_Movement_15D02D
+ waitmovement 0
return
MtChimney_EventScript_1B2D9E:: @ 81B2D9E
- move 1, MtChimney_Movement_15D03E
- waitmove 0
+ applymovement 1, MtChimney_Movement_15D03E
+ waitmovement 0
return
diff --git a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc
index cf525003e..eb912028a 100644
--- a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc
+++ b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc
@@ -5,12 +5,12 @@ AbandonedShip_CaptainsOffice_EventScript_15EAF5:: @ 815EAF5
lock
faceplayer
checkflag 294
- jumpeq AbandonedShip_CaptainsOffice_EventScript_15EB2D
+ goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB2D
checkitem ITEM_SCANNER, 1
compare RESULT, 1
- jumpeq AbandonedShip_CaptainsOffice_EventScript_15EB23
+ goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB23
checkflag 1078
- jumpeq AbandonedShip_CaptainsOffice_EventScript_15EB2D
+ goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB2D
msgbox AbandonedShip_CaptainsOffice_Text_198C85, 4
release
end
diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
index b0ae966ad..f3c3c0aa0 100644
--- a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
+++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
@@ -4,14 +4,14 @@ AbandonedShip_Corridors_B1F_MapScripts:: @ 815E98F
.byte 0
AbandonedShip_Corridors_B1F_MapScript1_15E99A:: @ 815E99A
- warp4 AbandonedShip_Underwater1, 255, 5, 4
+ setdivewarp AbandonedShip_Underwater1, 255, 5, 4
end
AbandonedShip_Corridors_B1F_MapScript1_15E9A3:: @ 815E9A3
checkflag 239
- callif 0, AbandonedShip_Corridors_B1F_EventScript_15E9B6
+ call_if 0, AbandonedShip_Corridors_B1F_EventScript_15E9B6
checkflag 239
- callif 1, AbandonedShip_Corridors_B1F_EventScript_15E9C0
+ call_if 1, AbandonedShip_Corridors_B1F_EventScript_15E9C0
end
AbandonedShip_Corridors_B1F_EventScript_15E9B6:: @ 815E9B6
@@ -29,12 +29,12 @@ AbandonedShip_Corridors_B1F_EventScript_15E9CA:: @ 815E9CA
AbandonedShip_Corridors_B1F_EventScript_15E9D3:: @ 815E9D3
lockall
checkflag 239
- jumpeq AbandonedShip_Corridors_B1F_EventScript_15EA14
+ goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA14
checkitem ITEM_STORAGE_KEY, 1
compare RESULT, 0
- jumpeq AbandonedShip_Corridors_B1F_EventScript_15EA0A
+ goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA0A
msgbox AbandonedShip_Corridors_B1F_Text_198692, 4
- playsfx 21
+ playse 21
removeitem ITEM_STORAGE_KEY, 1
setflag 239
call AbandonedShip_Corridors_B1F_EventScript_15E9C0
diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
index 8cb2aed22..29a89a620 100644
--- a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
+++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
@@ -4,26 +4,26 @@ AbandonedShip_HiddenFloorCorridors_MapScripts:: @ 815EB46
.byte 0
AbandonedShip_HiddenFloorCorridors_MapScript1_15EB51:: @ 815EB51
- warp4 AbandonedShip_Underwater1, 255, 5, 4
+ setdivewarp AbandonedShip_Underwater1, 255, 5, 4
end
AbandonedShip_HiddenFloorCorridors_MapScript1_15EB5A:: @ 815EB5A
checkflag 240
- callif 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBCB
+ call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBCB
checkflag 241
- callif 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBD5
+ call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBD5
checkflag 242
- callif 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBDF
+ call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBDF
checkflag 243
- callif 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9
+ call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9
checkflag 240
- callif 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3
+ call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3
checkflag 241
- callif 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD
+ call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD
checkflag 242
- callif 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7
+ call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7
checkflag 243
- callif 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1
+ call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1
end
AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3:: @ 815EBA3
@@ -61,12 +61,12 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9:: @ 815EBE9
AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3
lockall
checkflag 240
- jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
checkitem ITEM_ROOM_1_KEY, 1
compare RESULT, 0
- jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECCF
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECCF
msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4
- playsfx 21
+ playse 21
removeitem ITEM_ROOM_1_KEY, 1
setflag 240
call AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3
@@ -77,12 +77,12 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3
AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A
lockall
checkflag 241
- jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
checkitem ITEM_ROOM_2_KEY, 1
compare RESULT, 0
- jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECD9
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECD9
msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4
- playsfx 21
+ playse 21
removeitem ITEM_ROOM_2_KEY, 1
setflag 241
call AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD
@@ -93,12 +93,12 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A
AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61
lockall
checkflag 242
- jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
checkitem ITEM_ROOM_4_KEY, 1
compare RESULT, 0
- jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECE3
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECE3
msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4
- playsfx 21
+ playse 21
removeitem ITEM_ROOM_4_KEY, 1
setflag 242
call AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7
@@ -109,12 +109,12 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61
AbandonedShip_HiddenFloorCorridors_EventScript_15EC98:: @ 815EC98
lockall
checkflag 243
- jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7
checkitem ITEM_ROOM_6_KEY, 1
compare RESULT, 0
- jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECED
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECED
msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4
- playsfx 21
+ playse 21
removeitem ITEM_ROOM_6_KEY, 1
setflag 243
call AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1
diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
index 5c4c050a0..eb5c1dccd 100644
--- a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
+++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
@@ -11,11 +11,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED11:: @ 815ED11
getplayerxy 0x4002, 0x4003
setvar 0x4004, 1
compare 0x4002, 21
- callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED89
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED89
compare 0x4002, 36
- callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED8F
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED8F
compare 0x4003, 2
- callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED95
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED95
switch 0x4004
case 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED9B
case 2, AbandonedShip_HiddenFloorRooms_EventScript_15EDC4
@@ -38,102 +38,102 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED95:: @ 815ED95
return
AbandonedShip_HiddenFloorRooms_EventScript_15ED9B:: @ 815ED9B
- pause 20
- setanimation 0, 10
- setanimation 1, 10
- setanimation 2, 0
- doanimation 54
- specialval RESULT, sub_810F4D4
+ delay 20
+ setfieldeffect 0, 10
+ setfieldeffect 1, 10
+ setfieldeffect 2, 0
+ dofieldeffect 54
+ specialvar RESULT, sub_810F4D4
compare RESULT, 0
- callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE8B
- checkanimation 54
- pause 10
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE8B
+ waitfieldeffect 54
+ delay 10
end
AbandonedShip_HiddenFloorRooms_EventScript_15EDC4:: @ 815EDC4
end
AbandonedShip_HiddenFloorRooms_EventScript_15EDC5:: @ 815EDC5
- specialval RESULT, sub_810F488
+ specialvar RESULT, sub_810F488
compare RESULT, 1
- jumpeq AbandonedShip_HiddenFloorRooms_EventScript_15EDEA
- pause 20
+ goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EDEA
+ delay 20
compare RESULT, 0
- callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE6B
- checkanimation 54
- pause 10
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE6B
+ waitfieldeffect 54
+ delay 10
end
AbandonedShip_HiddenFloorRooms_EventScript_15EDEA:: @ 815EDEA
end
AbandonedShip_HiddenFloorRooms_EventScript_15EDEB:: @ 815EDEB
- pause 20
- setanimation 0, 8
- setanimation 1, 5
- setanimation 2, 0
- doanimation 54
- setanimation 0, 11
- setanimation 1, 3
- setanimation 2, 0
- doanimation 54
- specialval RESULT, sub_810F4FC
+ delay 20
+ setfieldeffect 0, 8
+ setfieldeffect 1, 5
+ setfieldeffect 2, 0
+ dofieldeffect 54
+ setfieldeffect 0, 11
+ setfieldeffect 1, 3
+ setfieldeffect 2, 0
+ dofieldeffect 54
+ specialvar RESULT, sub_810F4FC
compare RESULT, 0
- callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE9B
- checkanimation 54
- pause 10
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE9B
+ waitfieldeffect 54
+ delay 10
end
AbandonedShip_HiddenFloorRooms_EventScript_15EE23:: @ 815EE23
- pause 20
- setanimation 0, 16
- setanimation 1, 3
- setanimation 2, 0
- doanimation 54
- setanimation 0, 25
- setanimation 1, 2
- setanimation 2, 0
- doanimation 54
- setanimation 0, 24
- setanimation 1, 6
- setanimation 2, 0
- doanimation 54
- specialval RESULT, sub_810F4B0
+ delay 20
+ setfieldeffect 0, 16
+ setfieldeffect 1, 3
+ setfieldeffect 2, 0
+ dofieldeffect 54
+ setfieldeffect 0, 25
+ setfieldeffect 1, 2
+ setfieldeffect 2, 0
+ dofieldeffect 54
+ setfieldeffect 0, 24
+ setfieldeffect 1, 6
+ setfieldeffect 2, 0
+ dofieldeffect 54
+ specialvar RESULT, sub_810F4B0
compare RESULT, 0
- callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE7B
- checkanimation 54
- pause 10
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE7B
+ waitfieldeffect 54
+ delay 10
end
AbandonedShip_HiddenFloorRooms_EventScript_15EE6A:: @ 815EE6A
end
AbandonedShip_HiddenFloorRooms_EventScript_15EE6B:: @ 815EE6B
- setanimation 0, 42
- setanimation 1, 10
- setanimation 2, 0
- doanimation 54
+ setfieldeffect 0, 42
+ setfieldeffect 1, 10
+ setfieldeffect 2, 0
+ dofieldeffect 54
return
AbandonedShip_HiddenFloorRooms_EventScript_15EE7B:: @ 815EE7B
- setanimation 0, 20
- setanimation 1, 5
- setanimation 2, 0
- doanimation 54
+ setfieldeffect 0, 20
+ setfieldeffect 1, 5
+ setfieldeffect 2, 0
+ dofieldeffect 54
return
AbandonedShip_HiddenFloorRooms_EventScript_15EE8B:: @ 815EE8B
- setanimation 0, 1
- setanimation 1, 12
- setanimation 2, 0
- doanimation 54
+ setfieldeffect 0, 1
+ setfieldeffect 1, 12
+ setfieldeffect 2, 0
+ dofieldeffect 54
return
AbandonedShip_HiddenFloorRooms_EventScript_15EE9B:: @ 815EE9B
- setanimation 0, 1
- setanimation 1, 2
- setanimation 2, 0
- doanimation 54
+ setfieldeffect 0, 1
+ setfieldeffect 1, 2
+ setfieldeffect 2, 0
+ dofieldeffect 54
return
AbandonedShip_HiddenFloorRooms_EventScript_15EEAB:: @ 815EEAB
diff --git a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc
index a6ccdc43c..5e8ab1062 100644
--- a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc
+++ b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc
@@ -3,9 +3,9 @@ AbandonedShip_Rooms2_1F_MapScripts:: @ 815EA67
AbandonedShip_Rooms2_1F_EventScript_15EA68:: @ 815EA68
trainerbattle 4, OPPONENT_LOIS_AND_HAL_1, 0, AbandonedShip_Rooms2_1F_Text_1987C1, AbandonedShip_Rooms2_1F_Text_1987FE, AbandonedShip_Rooms2_1F_Text_19887F
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq AbandonedShip_Rooms2_1F_EventScript_15EA93
+ goto_if_eq AbandonedShip_Rooms2_1F_EventScript_15EA93
msgbox AbandonedShip_Rooms2_1F_Text_198835, 6
end
@@ -16,9 +16,9 @@ AbandonedShip_Rooms2_1F_EventScript_15EA93:: @ 815EA93
AbandonedShip_Rooms2_1F_EventScript_15EAAE:: @ 815EAAE
trainerbattle 4, OPPONENT_LOIS_AND_HAL_1, 0, AbandonedShip_Rooms2_1F_Text_1988CC, AbandonedShip_Rooms2_1F_Text_198916, AbandonedShip_Rooms2_1F_Text_19899A
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq AbandonedShip_Rooms2_1F_EventScript_15EAD9
+ goto_if_eq AbandonedShip_Rooms2_1F_EventScript_15EAD9
msgbox AbandonedShip_Rooms2_1F_Text_198934, 6
end
diff --git a/data/scripts/maps/AbandonedShip_Rooms_B1F.inc b/data/scripts/maps/AbandonedShip_Rooms_B1F.inc
index 44b8c5f20..218f1a2ca 100644
--- a/data/scripts/maps/AbandonedShip_Rooms_B1F.inc
+++ b/data/scripts/maps/AbandonedShip_Rooms_B1F.inc
@@ -3,7 +3,7 @@ AbandonedShip_Rooms_B1F_MapScripts:: @ 815EA35
.byte 0
AbandonedShip_Rooms_B1F_MapScript1_15EA3B:: @ 815EA3B
- warp4 AbandonedShip_Underwater2, 255, 17, 4
+ setdivewarp AbandonedShip_Underwater2, 255, 17, 4
end
AbandonedShip_Rooms_B1F_EventScript_15EA44:: @ 815EA44
diff --git a/data/scripts/maps/AbandonedShip_Underwater1.inc b/data/scripts/maps/AbandonedShip_Underwater1.inc
index 71d903682..afac470ea 100644
--- a/data/scripts/maps/AbandonedShip_Underwater1.inc
+++ b/data/scripts/maps/AbandonedShip_Underwater1.inc
@@ -3,5 +3,5 @@ AbandonedShip_Underwater1_MapScripts:: @ 815EA57
.byte 0
AbandonedShip_Underwater1_MapScript1_15EA5D:: @ 815EA5D
- warp4 AbandonedShip_HiddenFloorCorridors, 255, 0, 10
+ setdivewarp AbandonedShip_HiddenFloorCorridors, 255, 0, 10
end
diff --git a/data/scripts/maps/AbandonedShip_Underwater2.inc b/data/scripts/maps/AbandonedShip_Underwater2.inc
index f7b434c07..b8facc4ec 100644
--- a/data/scripts/maps/AbandonedShip_Underwater2.inc
+++ b/data/scripts/maps/AbandonedShip_Underwater2.inc
@@ -3,5 +3,5 @@ AbandonedShip_Underwater2_MapScripts:: @ 815EB37
.byte 0
AbandonedShip_Underwater2_MapScript1_15EB3D:: @ 815EB3D
- warp4 AbandonedShip_Rooms_B1F, 255, 13, 7
+ setdivewarp AbandonedShip_Rooms_B1F, 255, 13, 7
end
diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc
index bfc5b6a79..188691e73 100644
--- a/data/scripts/maps/AncientTomb.inc
+++ b/data/scripts/maps/AncientTomb.inc
@@ -6,11 +6,11 @@ AncientTomb_MapScripts:: @ 815EFBE
AncientTomb_MapScript1_15EFCE:: @ 815EFCE
checkflag 2145
- callif 1, AncientTomb_EventScript_15EFD8
+ call_if 1, AncientTomb_EventScript_15EFD8
end
AncientTomb_EventScript_15EFD8:: @ 815EFD8
- disappear LAST_TALKED
+ removeobject LAST_TALKED
return
AncientTomb_MapScript1_15EFDC:: @ 815EFDC
@@ -19,7 +19,7 @@ AncientTomb_MapScript1_15EFDC:: @ 815EFDC
AncientTomb_MapScript1_15EFE0:: @ 815EFE0
checkflag 2130
- callif 0, AncientTomb_EventScript_15EFEA
+ call_if 0, AncientTomb_EventScript_15EFEA
end
AncientTomb_EventScript_15EFEA:: @ 815EFEA
@@ -34,10 +34,10 @@ AncientTomb_EventScript_15EFEA:: @ 815EFEA
AncientTomb_EventScript_15F021:: @ 815F021
lockall
checkflag 2130
- jumpeq AncientTomb_EventScript_15F038
- braillemsg AncientTomb_Braille_1C552E
+ goto_if_eq AncientTomb_EventScript_15F038
+ braillemessage AncientTomb_Braille_1C552E
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
@@ -48,18 +48,18 @@ AncientTomb_EventScript_15F038:: @ 815F038
AncientTomb_EventScript_15F042:: @ 815F042
lockall
- braillemsg AncientTomb_Braille_1C552E
+ braillemessage AncientTomb_Braille_1C552E
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
AncientTomb_EventScript_15F050:: @ 815F050
lock
faceplayer
- checksound
- pokecry SPECIES_REGISTEEL, 2
- pause 40
+ waitse
+ playpokecry SPECIES_REGISTEEL, 2
+ delay 40
waitpokecry
setwildbattle SPECIES_REGISTEEL, 40, ITEM_NONE
setflag 937
diff --git a/data/scripts/maps/AquaHideout_1F.inc b/data/scripts/maps/AquaHideout_1F.inc
index cc1ad33b1..2eb2ae7e9 100644
--- a/data/scripts/maps/AquaHideout_1F.inc
+++ b/data/scripts/maps/AquaHideout_1F.inc
@@ -11,7 +11,7 @@ MagmaHideout_1F_EventScript_15D7CE:: @ 815D7CE
lock
faceplayer
checkflag 111
- jumpeq AquaHideout_1F_EventScript_15D7E3
+ goto_if_eq AquaHideout_1F_EventScript_15D7E3
msgbox AquaHideout_1F_Text_196AFD, 4
release
end
@@ -26,7 +26,7 @@ MagmaHideout_1F_EventScript_15D7ED:: @ 815D7ED
lock
faceplayer
checkflag 111
- jumpeq AquaHideout_1F_EventScript_15D802
+ goto_if_eq AquaHideout_1F_EventScript_15D802
msgbox AquaHideout_1F_Text_196C83, 4
release
end
diff --git a/data/scripts/maps/AquaHideout_B1F.inc b/data/scripts/maps/AquaHideout_B1F.inc
index 969d590e3..0001d7574 100644
--- a/data/scripts/maps/AquaHideout_B1F.inc
+++ b/data/scripts/maps/AquaHideout_B1F.inc
@@ -5,11 +5,11 @@ AquaHideout_B1F_MapScripts:: @ 815D831
AquaHideout_B1F_MapScript1_15D83C:: @ 815D83C
checkflag 2145
- callif 1, AquaHideout_B1F_EventScript_15D846
+ call_if 1, AquaHideout_B1F_EventScript_15D846
end
AquaHideout_B1F_EventScript_15D846:: @ 815D846
- disappear LAST_TALKED
+ removeobject LAST_TALKED
return
AquaHideout_B1F_MapScript1_15D84A:: @ 815D84A
diff --git a/data/scripts/maps/AquaHideout_B2F.inc b/data/scripts/maps/AquaHideout_B2F.inc
index 845b755b7..230d0e2db 100644
--- a/data/scripts/maps/AquaHideout_B2F.inc
+++ b/data/scripts/maps/AquaHideout_B2F.inc
@@ -10,15 +10,15 @@ AquaHideout_B2F_EventScript_15D8BD:: @ 815D8BD
MagmaHideout_B2F_EventScript_15D8BD:: @ 815D8BD
lockall
setvar 0x8008, 1
- playsfx 21
- move 0x8008, AquaHideout_B2F_Movement_1A0833
- waitmove 0
+ playse 21
+ applymovement 0x8008, AquaHideout_B2F_Movement_1A0833
+ waitmovement 0
.ifdef SAPPHIRE
- move 0x8008, AquaHideout_B2F_Movement_1A0839
+ applymovement 0x8008, AquaHideout_B2F_Movement_1A0839
.else
- move 0x8008, AquaHideout_B2F_Movement_1A0841
+ applymovement 0x8008, AquaHideout_B2F_Movement_1A0841
.endif
- waitmove 0
+ waitmovement 0
setvar 0x4001, 1
releaseall
end
@@ -38,31 +38,31 @@ AquaHideout_B2F_EventScript_15D8FD:: @ 815D8FD
setvar 0x8009, 3
.endif
.ifdef SAPPHIRE
- move 0x8008, Movement_1A083F
+ applymovement 0x8008, Movement_1A083F
.else
- move 0x8008, AquaHideout_B2F_Movement_1A0843
+ applymovement 0x8008, AquaHideout_B2F_Movement_1A0843
.endif
- waitmove 0
- pause 20
- move 0x8008, AquaHideout_B2F_Movement_1A0839
- waitmove 0
+ waitmovement 0
+ delay 20
+ applymovement 0x8008, AquaHideout_B2F_Movement_1A0839
+ waitmovement 0
msgbox AquaHideout_B2F_Text_197162, 4
- closebutton
+ closemessage
.ifdef SAPPHIRE
- move 0x8008, Movement_1A083F
+ applymovement 0x8008, Movement_1A083F
.else
- move 0x8008, AquaHideout_B2F_Movement_1A0843
+ applymovement 0x8008, AquaHideout_B2F_Movement_1A0843
.endif
.ifdef SAPPHIRE
- move 0x8009, AquaHideout_B2F_Movement_15D958
+ applymovement 0x8009, AquaHideout_B2F_Movement_15D958
.else
- move 0x8009, AquaHideout_B2F_Movement_15D95D
+ applymovement 0x8009, AquaHideout_B2F_Movement_15D95D
.endif
- waitmove 0
- disappear 0x8009
- pause 20
- move 0x8008, AquaHideout_B2F_Movement_1A0839
- waitmove 0
+ waitmovement 0
+ removeobject 0x8009
+ delay 20
+ applymovement 0x8008, AquaHideout_B2F_Movement_1A0839
+ waitmovement 0
msgbox AquaHideout_B2F_Text_1971AE, 4
setflag 112
setflag 852
diff --git a/data/scripts/maps/BattleTower_BattleRoom.inc b/data/scripts/maps/BattleTower_BattleRoom.inc
index 2f0fb97b9..dbab17a8b 100644
--- a/data/scripts/maps/BattleTower_BattleRoom.inc
+++ b/data/scripts/maps/BattleTower_BattleRoom.inc
@@ -8,18 +8,18 @@ BattleTower_BattleRoom_MapScript2_1608E1:: @ 81608E1
BattleTower_BattleRoom_EventScript_1608EB:: @ 81608EB
setvar 0x4000, 1
- move 255, BattleTower_BattleRoom_Movement_160AB7
- waitmove 0
+ applymovement 255, BattleTower_BattleRoom_Movement_160AB7
+ waitmovement 0
BattleTower_BattleRoom_EventScript_1608FA:: @ 81608FA
special sub_81347F8
- reappear 1
- move 1, BattleTower_BattleRoom_Movement_160AC0
- waitmove 0
- special sub_8135474
+ addobject 1
+ applymovement 1, BattleTower_BattleRoom_Movement_160AC0
+ waitmovement 0
+ special PrintBattleTowerTrainerGreeting
msgbox 0x20234cc, 4
- waittext
- closebutton
+ waitmessage
+ closemessage
special ScrSpecial_HealPlayerParty
setvar 0x8004, 0
setvar 0x8005, 0
@@ -43,18 +43,18 @@ BattleTower_BattleRoom_EventScript_160961:: @ 8160961
special sub_8135668
switch RESULT
case 8, BattleTower_BattleRoom_EventScript_160A56
- move 1, BattleTower_BattleRoom_Movement_160AC6
- waitmove 0
- disappear 1
- move 2, BattleTower_BattleRoom_Movement_160ACB
- waitmove 0
- move 255, BattleTower_BattleRoom_Movement_160ABC
- waitmove 0
+ applymovement 1, BattleTower_BattleRoom_Movement_160AC6
+ waitmovement 0
+ removeobject 1
+ applymovement 2, BattleTower_BattleRoom_Movement_160ACB
+ waitmovement 0
+ applymovement 255, BattleTower_BattleRoom_Movement_160ABC
+ waitmovement 0
msgbox BattleTower_BattleRoom_Text_19ACDC, 4
special LoadPlayerParty
special SavePlayerParty
special sub_8135A14
- fanfare 368
+ playfanfare 368
waitfanfare
special ScrSpecial_HealPlayerParty
@@ -80,12 +80,12 @@ BattleTower_BattleRoom_EventScript_160A0E:: @ 8160A0E
case 127, BattleTower_BattleRoom_EventScript_1609B2
BattleTower_BattleRoom_EventScript_160A3C:: @ 8160A3C
- closebutton
- move 255, BattleTower_BattleRoom_Movement_160ABE
- waitmove 0
- move 2, BattleTower_BattleRoom_Movement_160AD0
- waitmove 0
- jump BattleTower_BattleRoom_EventScript_1608FA
+ closemessage
+ applymovement 255, BattleTower_BattleRoom_Movement_160ABE
+ waitmovement 0
+ applymovement 2, BattleTower_BattleRoom_Movement_160AD0
+ waitmovement 0
+ goto BattleTower_BattleRoom_EventScript_1608FA
BattleTower_BattleRoom_EventScript_160A56:: @ 8160A56
special LoadPlayerParty
@@ -108,15 +108,15 @@ BattleTower_BattleRoom_EventScript_160A94:: @ 8160A94
setvar 0x8004, 2
special sub_8135BA0
message BattleTower_BattleRoom_Text_1C6CE1
- pause 60
- waittext
- playsfx 55
- checksound
+ delay 60
+ waitmessage
+ playse 55
+ waitse
msgbox BattleTower_BattleRoom_Text_1C6D05, 4
BattleTower_BattleRoom_EventScript_160AB1:: @ 8160AB1
fadescreen 1
- special sub_8135C38
+ special BattleTower_SoftReset
end
BattleTower_BattleRoom_Movement_160AB7:: @ 8160AB7
diff --git a/data/scripts/maps/BattleTower_Corridor.inc b/data/scripts/maps/BattleTower_Corridor.inc
index 4ccf2028c..9d4fbc844 100644
--- a/data/scripts/maps/BattleTower_Corridor.inc
+++ b/data/scripts/maps/BattleTower_Corridor.inc
@@ -5,7 +5,7 @@ BattleTower_Corridor_MapScripts:: @ 8160845
BattleTower_Corridor_MapScript1_160850:: @ 8160850
compare 0x8006, 1
- jumpeq BattleTower_Corridor_EventScript_16086E
+ goto_if_eq BattleTower_Corridor_EventScript_16086E
setmaptile 12, 0, 519, 0
setmaptile 12, 1, 527, 0
end
@@ -22,16 +22,16 @@ BattleTower_Corridor_MapScript2_160881:: @ 8160881
BattleTower_Corridor_EventScript_16088B:: @ 816088B
setvar 0x4000, 1
compare 0x8006, 1
- jumpeq BattleTower_Corridor_EventScript_1608B1
- move 1, BattleTower_Corridor_Movement_1608D5
- move 255, BattleTower_Corridor_Movement_1608D4
- waitmove 0
- jump BattleTower_Corridor_EventScript_1608C2
+ goto_if_eq BattleTower_Corridor_EventScript_1608B1
+ applymovement 1, BattleTower_Corridor_Movement_1608D5
+ applymovement 255, BattleTower_Corridor_Movement_1608D4
+ waitmovement 0
+ goto BattleTower_Corridor_EventScript_1608C2
BattleTower_Corridor_EventScript_1608B1:: @ 81608B1
- move 1, BattleTower_Corridor_Movement_1608D2
- move 255, BattleTower_Corridor_Movement_1608D1
- waitmove 0
+ applymovement 1, BattleTower_Corridor_Movement_1608D2
+ applymovement 255, BattleTower_Corridor_Movement_1608D1
+ waitmovement 0
BattleTower_Corridor_EventScript_1608C2:: @ 81608C2
setvar 0x4000, 0
diff --git a/data/scripts/maps/BattleTower_Elevator.inc b/data/scripts/maps/BattleTower_Elevator.inc
index 408e7485e..a147a3b5a 100644
--- a/data/scripts/maps/BattleTower_Elevator.inc
+++ b/data/scripts/maps/BattleTower_Elevator.inc
@@ -9,15 +9,15 @@ BattleTower_Elevator_MapScript2_1607DA:: @ 81607DA
BattleTower_Elevator_EventScript_1607E4:: @ 81607E4
setvar 0x4000, 1
- move 1, BattleTower_Elevator_Movement_160835
- move 255, BattleTower_Elevator_Movement_160839
- waitmove 0
+ applymovement 1, BattleTower_Elevator_Movement_160835
+ applymovement 255, BattleTower_Elevator_Movement_160839
+ waitmovement 0
special sub_810EBEC
waitstate
- pause 64
- move 1, BattleTower_Elevator_Movement_16083D
- move 255, BattleTower_Elevator_Movement_160841
- waitmove 0
+ delay 64
+ applymovement 1, BattleTower_Elevator_Movement_16083D
+ applymovement 255, BattleTower_Elevator_Movement_160841
+ waitmovement 0
setvar 0x4000, 0
warp BattleTower_Corridor, 255, 8, 1
waitstate
@@ -29,7 +29,7 @@ BattleTower_Elevator_MapScript2_160821:: @ 8160821
BattleTower_Elevator_EventScript_16082B:: @ 816082B
setvar 0x4001, 1
- spriteface 255, 2
+ turnobject 255, 2
end
BattleTower_Elevator_Movement_160835:: @ 8160835
diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc
index a1570ac13..75d4f8731 100644
--- a/data/scripts/maps/BattleTower_Lobby.inc
+++ b/data/scripts/maps/BattleTower_Lobby.inc
@@ -14,20 +14,20 @@ BattleTower_Lobby_EventScript_16029C:: @ 816029C
setvar 0x8004, 10
special sub_8135668
checkflag 238
- jumpeq BattleTower_Lobby_EventScript_1602E4
+ goto_if_eq BattleTower_Lobby_EventScript_1602E4
checkflag 237
- jumpeq BattleTower_Lobby_EventScript_1602CD
- specialval 0x8007, sub_810F404
+ goto_if_eq BattleTower_Lobby_EventScript_1602CD
+ specialvar 0x8007, sub_810F404
compare 0x8007, 50
- jumpif 0, BattleTower_Lobby_EventScript_1602E4
+ goto_if 0, BattleTower_Lobby_EventScript_1602E4
clearflag 941
special sub_810F8FC
return
BattleTower_Lobby_EventScript_1602CD:: @ 81602CD
- specialval 0x8007, sub_810F404
+ specialvar 0x8007, sub_810F404
compare 0x8007, 100
- jumpif 0, BattleTower_Lobby_EventScript_1602E4
+ goto_if 0, BattleTower_Lobby_EventScript_1602E4
clearflag 941
special sub_810F8FC
return
@@ -46,7 +46,7 @@ BattleTower_Lobby_MapScript2_1602EE:: @ 81602EE
BattleTower_Lobby_EventScript_1602F8:: @ 81602F8
setvar 0x4001, 1
- spriteface 255, 2
+ turnobject 255, 2
end
BattleTower_Lobby_MapScript2_160302:: @ 8160302
@@ -65,7 +65,7 @@ BattleTower_Lobby_EventScript_160330:: @ 8160330
lock
faceplayer
msgbox BattleTower_Lobby_Text_19A3FD, 4
- closebutton
+ closemessage
setvar 0x4000, 5
release
end
@@ -74,17 +74,17 @@ BattleTower_Lobby_EventScript_160342:: @ 8160342
lock
faceplayer
message BattleTower_Lobby_Text_19A487
- waittext
+ waitmessage
setvar 0x8004, 0
special sub_81358A4
compare RESULT, 6
- jumpeq BattleTower_Lobby_EventScript_16037D
- special sub_8135E50
+ goto_if_eq BattleTower_Lobby_EventScript_16037D
+ special AwardBattleTowerRibbons
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_16037D
+ goto_if_eq BattleTower_Lobby_EventScript_16037D
message BattleTower_Lobby_Text_19A6BE
- waittext
- fanfare 370
+ waitmessage
+ playfanfare 370
waitfanfare
msgbox BattleTower_Lobby_Text_19A719, 4
@@ -92,47 +92,47 @@ BattleTower_Lobby_EventScript_16037D:: @ 816037D
setvar 0x8004, 8
special sub_81358A4
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_1603AD
+ goto_if_eq BattleTower_Lobby_EventScript_1603AD
message BattleTower_Lobby_Text_19A589
- waittext
+ waitmessage
setvar 0x8004, 13
special sub_8135668
- special sub_8135D84
+ special DetermineBattleTowerPrize
setvar 0x8004, 3
special sub_8135BA0
- playsfx 55
- checksound
+ playse 55
+ waitse
BattleTower_Lobby_EventScript_1603AD:: @ 81603AD
setvar 0x8004, 0
setvar 0x8005, 3
special sub_8135668
message BattleTower_Lobby_Text_19A4BB
- waittext
- special sub_8135DEC
+ waitmessage
+ special GiveBattleTowerPrize
switch RESULT
case 0, BattleTower_Lobby_EventScript_160408
message BattleTower_Lobby_Text_19A506
- waittext
- fanfare 370
+ waitmessage
+ playfanfare 370
waitfanfare
setvar 0x8004, 9
special sub_81358A4
compare RESULT, 49
- jumpif 5, BattleTower_Lobby_EventScript_1603F8
+ goto_if 5, BattleTower_Lobby_EventScript_1603F8
msgbox BattleTower_Lobby_Text_19A617, 4
BattleTower_Lobby_EventScript_1603F8:: @ 81603F8
msgbox BattleTower_Lobby_Text_199FA9, 4
- closebutton
+ closemessage
setvar 0x4000, 5
release
end
BattleTower_Lobby_EventScript_160408:: @ 8160408
msgbox BattleTower_Lobby_Text_19A520, 4
- waittext
- closebutton
+ waitmessage
+ closemessage
setvar 0x4000, 5
release
end
@@ -141,17 +141,17 @@ BattleTower_Lobby_EventScript_160419:: @ 8160419
lock
faceplayer
message BattleTower_Lobby_Text_19A571
- waittext
+ waitmessage
message BattleTower_Lobby_Text_19A589
- waittext
+ waitmessage
setvar 0x8004, 13
special sub_8135668
setvar 0x8004, 0
special sub_8135BA0
- playsfx 55
- checksound
+ playse 55
+ waitse
msgbox BattleTower_Lobby_Text_199FA9, 4
- closebutton
+ closemessage
setvar 0x4000, 5
release
end
@@ -161,13 +161,13 @@ BattleTower_Lobby_EventScript_16044B:: @ 816044B
faceplayer
setvar 0x40bc, 1
message BattleTower_Lobby_Text_19A5B1
- waittext
+ waitmessage
message BattleTower_Lobby_Text_19A5CE
- waittext
+ waitmessage
setvar 0x8004, 1
special sub_8135BA0
- playsfx 55
- checksound
+ playse 55
+ waitse
setvar 0x8004, 8
setvar 0x8005, 0
special sub_8135668
@@ -175,7 +175,7 @@ BattleTower_Lobby_EventScript_16044B:: @ 816044B
special SavePlayerParty
special sub_8135A14
msgbox BattleTower_Lobby_Text_19A0A8, 4
- closebutton
+ closemessage
call BattleTower_Lobby_EventScript_160664
warp BattleTower_Elevator, 255, 1, 6
setvar 0x4000, 0
@@ -187,13 +187,13 @@ BattleTower_Lobby_EventScript_16049E:: @ 816049E
setvar 0x8004, 0
special sub_81358A4
compare RESULT, 6
- jumpeq BattleTower_Lobby_EventScript_160342
+ goto_if_eq BattleTower_Lobby_EventScript_160342
special SavePlayerParty
msgbox BattleTower_Lobby_Text_199F2C, 4
BattleTower_Lobby_EventScript_1604BE:: @ 81604BE
message BattleTower_Lobby_Text_199F79
- waittext
+ waitmessage
multichoice 15, 6, 23, 0
switch RESULT
case 0, BattleTower_Lobby_EventScript_1604FA
@@ -203,14 +203,14 @@ BattleTower_Lobby_EventScript_1604BE:: @ 81604BE
BattleTower_Lobby_EventScript_1604FA:: @ 81604FA
message BattleTower_Lobby_Text_19A024
- waittext
+ waitmessage
multichoice 18, 6, 24, 0
switch RESULT
case 2, BattleTower_Lobby_EventScript_160652
case 127, BattleTower_Lobby_EventScript_160652
special CheckPartyBattleTowerBanlist
compare 0x8004, 1
- jumpeq BattleTower_Lobby_EventScript_16060D
+ goto_if_eq BattleTower_Lobby_EventScript_16060D
setvar 0x8004, 1
copyvar 0x8005, RESULT
copyvar 0x8006, RESULT
@@ -220,7 +220,7 @@ BattleTower_Lobby_EventScript_1604FA:: @ 81604FA
special ChooseBattleTowerPlayerParty
waitstate
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_16064F
+ goto_if_eq BattleTower_Lobby_EventScript_16064F
msgbox BattleTower_Lobby_Text_199FDA, 5
switch RESULT
case 0, BattleTower_Lobby_EventScript_16064F
@@ -240,19 +240,19 @@ BattleTower_Lobby_EventScript_160587:: @ 8160587
setvar 0x8005, 0
special sub_8135668
special LoadPlayerParty
- closebutton
- pause 2
+ closemessage
+ delay 2
call S_DoSaveDialog
setvar 0x4000, 5
- hidebox 0, 0, 15, 10
+ erasebox 0, 0, 15, 10
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_160642
- inccounter GAME_STAT_ENTERED_BATTLE_TOWER
+ goto_if_eq BattleTower_Lobby_EventScript_160642
+ incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
special SavePlayerParty
special sub_8135A14
setvar 0x40bc, 1
msgbox BattleTower_Lobby_Text_19A0A8, 4
- closebutton
+ closemessage
call BattleTower_Lobby_EventScript_160664
warp BattleTower_Elevator, 255, 1, 6
setvar 0x4000, 0
@@ -260,7 +260,7 @@ BattleTower_Lobby_EventScript_160587:: @ 8160587
BattleTower_Lobby_EventScript_160600:: @ 8160600
msgbox BattleTower_Lobby_Text_19A0D1, 4
- jump BattleTower_Lobby_EventScript_1604BE
+ goto BattleTower_Lobby_EventScript_1604BE
BattleTower_Lobby_EventScript_16060D:: @ 816060D
switch RESULT
@@ -269,16 +269,16 @@ BattleTower_Lobby_EventScript_16060D:: @ 816060D
BattleTower_Lobby_EventScript_160628:: @ 8160628
msgbox BattleTower_Lobby_Text_19A249, 4
- jump BattleTower_Lobby_EventScript_160662
+ goto BattleTower_Lobby_EventScript_160662
BattleTower_Lobby_EventScript_160635:: @ 8160635
msgbox BattleTower_Lobby_Text_19A32D, 4
- jump BattleTower_Lobby_EventScript_160662
+ goto BattleTower_Lobby_EventScript_160662
BattleTower_Lobby_EventScript_160642:: @ 8160642
setvar 0x8004, 12
special sub_8135668
- jump BattleTower_Lobby_EventScript_160652
+ goto BattleTower_Lobby_EventScript_160652
BattleTower_Lobby_EventScript_16064F:: @ 816064F
special LoadPlayerParty
@@ -293,16 +293,16 @@ BattleTower_Lobby_EventScript_160662:: @ 8160662
end
BattleTower_Lobby_EventScript_160664:: @ 8160664
- move 1, BattleTower_Lobby_Movement_160693
- move 255, BattleTower_Lobby_Movement_160693
- waitmove 0
- setdooropened 6, 1
- doorchange
- move 1, BattleTower_Lobby_Movement_160697
- move 255, BattleTower_Lobby_Movement_16069A
- waitmove 0
- setdoorclosed 6, 1
- doorchange
+ applymovement 1, BattleTower_Lobby_Movement_160693
+ applymovement 255, BattleTower_Lobby_Movement_160693
+ waitmovement 0
+ opendoor 6, 1
+ waitdooranim
+ applymovement 1, BattleTower_Lobby_Movement_160697
+ applymovement 255, BattleTower_Lobby_Movement_16069A
+ waitmovement 0
+ closedoor 6, 1
+ waitdooranim
return
BattleTower_Lobby_Movement_160693:: @ 8160693
@@ -348,9 +348,9 @@ BattleTower_Lobby_EventScript_1606CC:: @ 81606CC
lock
faceplayer
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_160701
+ goto_if_eq BattleTower_Lobby_EventScript_160701
compare RESULT, 1
- jumpeq BattleTower_Lobby_EventScript_16070B
+ goto_if_eq BattleTower_Lobby_EventScript_16070B
end
BattleTower_Lobby_EventScript_1606F7:: @ 81606F7
@@ -380,7 +380,7 @@ BattleTower_Lobby_EventScript_160727:: @ 8160727
lockall
special ShowBattleTowerRecords
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
@@ -388,35 +388,35 @@ BattleTower_Lobby_EventScript_160733:: @ 8160733
lock
faceplayer
checkflag 238
- jumpeq BattleTower_Lobby_EventScript_1607C5
+ goto_if_eq BattleTower_Lobby_EventScript_1607C5
checkflag 237
- jumpeq BattleTower_Lobby_EventScript_160773
+ goto_if_eq BattleTower_Lobby_EventScript_160773
msgbox BattleTower_Lobby_Text_19A9EE, 4
setvar 0x8008, 42
givedecoration 42
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_1607AF
+ goto_if_eq BattleTower_Lobby_EventScript_1607AF
setflag 237
msgbox BattleTower_Lobby_Text_19ABAA, 4
release
end
BattleTower_Lobby_EventScript_160773:: @ 8160773
- specialval RESULT, sub_810F404
+ specialvar RESULT, sub_810F404
compare RESULT, 100
- jumpif 0, BattleTower_Lobby_EventScript_1607C5
+ goto_if 0, BattleTower_Lobby_EventScript_1607C5
msgbox BattleTower_Lobby_Text_19AAC4, 4
setvar 0x8008, 43
givedecoration 43
compare RESULT, 0
- jumpeq BattleTower_Lobby_EventScript_1607AF
+ goto_if_eq BattleTower_Lobby_EventScript_1607AF
setflag 238
msgbox BattleTower_Lobby_Text_19ABAA, 4
release
end
BattleTower_Lobby_EventScript_1607AF:: @ 81607AF
- bufferdecor 1, 0x8008
+ getdecorname 1, 0x8008
msgbox BattleTower_Lobby_Text_1A0CEF, 4
msgbox BattleTower_Lobby_Text_19ABED, 4
release
diff --git a/data/scripts/maps/BattleTower_Outside.inc b/data/scripts/maps/BattleTower_Outside.inc
index 02c4e0c6f..95c5a9d77 100644
--- a/data/scripts/maps/BattleTower_Outside.inc
+++ b/data/scripts/maps/BattleTower_Outside.inc
@@ -14,14 +14,14 @@ BattleTower_Outside_EventScript_160168:: @ 8160168
msgbox BattleTower_Outside_Text_199D06, 4
checkitem ITEM_SS_TICKET, 1
compare RESULT, 0
- jumpeq BattleTower_Outside_EventScript_1601C6
+ goto_if_eq BattleTower_Outside_EventScript_1601C6
message BattleTower_Outside_Text_199D9D
- waittext
- jump BattleTower_Outside_EventScript_16018E
+ waitmessage
+ goto BattleTower_Outside_EventScript_16018E
end
BattleTower_Outside_EventScript_16018E:: @ 816018E
- multichoicedef 21, 6, 53, 2, 0
+ multichoicedefault 21, 6, 53, 2, 0
switch RESULT
case 0, BattleTower_Outside_EventScript_1601D0
case 1, BattleTower_Outside_EventScript_1601FB
@@ -37,7 +37,7 @@ BattleTower_Outside_EventScript_1601C6:: @ 81601C6
BattleTower_Outside_EventScript_1601D0:: @ 81601D0
msgbox BattleTower_Outside_Text_199DF2, 5
compare RESULT, 0
- jumpeq BattleTower_Outside_EventScript_160226
+ goto_if_eq BattleTower_Outside_EventScript_160226
msgbox BattleTower_Outside_Text_199E4B, 4
call BattleTower_Outside_EventScript_160232
warp SlateportCity_Harbor, 255, 8, 11
@@ -48,7 +48,7 @@ BattleTower_Outside_EventScript_1601D0:: @ 81601D0
BattleTower_Outside_EventScript_1601FB:: @ 81601FB
msgbox BattleTower_Outside_Text_199E0E, 5
compare RESULT, 0
- jumpeq BattleTower_Outside_EventScript_160226
+ goto_if_eq BattleTower_Outside_EventScript_160226
msgbox BattleTower_Outside_Text_199E4B, 4
call BattleTower_Outside_EventScript_160232
warp LilycoveCity_Harbor, 255, 8, 11
@@ -58,16 +58,16 @@ BattleTower_Outside_EventScript_1601FB:: @ 81601FB
BattleTower_Outside_EventScript_160226:: @ 8160226
message BattleTower_Outside_Text_199E7A
- waittext
- jump BattleTower_Outside_EventScript_16018E
+ waitmessage
+ goto BattleTower_Outside_EventScript_16018E
end
BattleTower_Outside_EventScript_160232:: @ 8160232
- closebutton
- move LAST_TALKED, BattleTower_Outside_Movement_1A0845
- waitmove 0
- pause 30
- spriteinvisible 5, 26, 4
+ closemessage
+ applymovement LAST_TALKED, BattleTower_Outside_Movement_1A0845
+ waitmovement 0
+ delay 30
+ hideobject 5, 26, 4
setvar 0x8004, 4
call BattleTower_Outside_EventScript_1A047C
return
diff --git a/data/scripts/maps/CaveOfOrigin_1F.inc b/data/scripts/maps/CaveOfOrigin_1F.inc
index 7fd365b36..3ad36cc18 100644
--- a/data/scripts/maps/CaveOfOrigin_1F.inc
+++ b/data/scripts/maps/CaveOfOrigin_1F.inc
@@ -4,5 +4,5 @@ CaveOfOrigin_1F_MapScripts:: @ 815DD6C
CaveOfOrigin_1F_MapScript1_15DD72:: @ 815DD72
checkflag 113
- callif 1, CaveOfOrigin_1F_EventScript_1A04E3
+ call_if 1, CaveOfOrigin_1F_EventScript_1A04E3
end
diff --git a/data/scripts/maps/CaveOfOrigin_B1F.inc b/data/scripts/maps/CaveOfOrigin_B1F.inc
index 9603ae83b..c3bbdd45f 100644
--- a/data/scripts/maps/CaveOfOrigin_B1F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B1F.inc
@@ -4,5 +4,5 @@ CaveOfOrigin_B1F_MapScripts:: @ 815DD7C
CaveOfOrigin_B1F_MapScript1_15DD82:: @ 815DD82
checkflag 113
- callif 1, CaveOfOrigin_B1F_EventScript_1A04E3
+ call_if 1, CaveOfOrigin_B1F_EventScript_1A04E3
end
diff --git a/data/scripts/maps/CaveOfOrigin_B2F.inc b/data/scripts/maps/CaveOfOrigin_B2F.inc
index 6b3a55648..fb65de171 100644
--- a/data/scripts/maps/CaveOfOrigin_B2F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B2F.inc
@@ -4,5 +4,5 @@ CaveOfOrigin_B2F_MapScripts:: @ 815DD8C
CaveOfOrigin_B2F_MapScript1_15DD92:: @ 815DD92
checkflag 113
- callif 1, CaveOfOrigin_B2F_EventScript_1A04E3
+ call_if 1, CaveOfOrigin_B2F_EventScript_1A04E3
end
diff --git a/data/scripts/maps/CaveOfOrigin_B3F.inc b/data/scripts/maps/CaveOfOrigin_B3F.inc
index 8e61048d2..c21b04e91 100644
--- a/data/scripts/maps/CaveOfOrigin_B3F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B3F.inc
@@ -4,5 +4,5 @@ CaveOfOrigin_B3F_MapScripts:: @ 815DD9C
CaveOfOrigin_B3F_MapScript1_15DDA2:: @ 815DDA2
checkflag 113
- callif 1, CaveOfOrigin_B3F_EventScript_1A04E3
+ call_if 1, CaveOfOrigin_B3F_EventScript_1A04E3
end
diff --git a/data/scripts/maps/CaveOfOrigin_B4F.inc b/data/scripts/maps/CaveOfOrigin_B4F.inc
index 5517a9c7e..c6c3cd45e 100644
--- a/data/scripts/maps/CaveOfOrigin_B4F.inc
+++ b/data/scripts/maps/CaveOfOrigin_B4F.inc
@@ -5,69 +5,69 @@ CaveOfOrigin_B4F_MapScripts:: @ 815DDAC
CaveOfOrigin_B4F_MapScript1_15DDB7:: @ 815DDB7
checkflag 2145
- callif 1, CaveOfOrigin_B4F_EventScript_15DDC1
+ call_if 1, CaveOfOrigin_B4F_EventScript_15DDC1
end
CaveOfOrigin_B4F_EventScript_15DDC1:: @ 815DDC1
- disappear 1
+ removeobject 1
return
CaveOfOrigin_B4F_MapScript1_15DDC5:: @ 815DDC5
.ifdef SAPPHIRE
- setmapfooter 163
+ setmaplayoutindex 163
.else
- setmapfooter 313
+ setmaplayoutindex 313
.endif
call CaveOfOrigin_B4F_EventScript_1A01B5
checkflag 113
- callif 1, CaveOfOrigin_B4F_EventScript_1A04E3
+ call_if 1, CaveOfOrigin_B4F_EventScript_1A04E3
end
CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7
lockall
- move 255, CaveOfOrigin_B4F_Movement_1A0841
- waitmove 0
+ applymovement 255, CaveOfOrigin_B4F_Movement_1A0841
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B4F03, 4
.else
msgbox CaveOfOrigin_B4F_Text_1B4FE4, 4
.endif
- closebutton
+ closemessage
setweather 0
doweather
special WaitWeather
waitstate
- playsfx 209
- setanimation 0, 9
- setanimation 1, 13
- setanimation 2, 0
- doanimation 54
- checkanimation 54
+ playse 209
+ setfieldeffect 0, 9
+ setfieldeffect 1, 13
+ setfieldeffect 2, 0
+ dofieldeffect 54
+ waitfieldeffect 54
.ifdef SAPPHIRE
setvar RESULT, 3
.else
setvar RESULT, 2
.endif
- playsfx 107
+ playse 107
special sub_80818A4
waitstate
special sub_80818FC
waitstate
- move 1, CaveOfOrigin_B4F_Movement_15DE7D
- waitmove 0
- pause 60
+ applymovement 1, CaveOfOrigin_B4F_Movement_15DE7D
+ waitmovement 0
+ delay 60
setwildbattle SPECIES_GROUDON_OR_KYOGRE, 45, ITEM_NONE
- checksound
- pokecry SPECIES_GROUDON_OR_KYOGRE, 2
- pause 40
+ waitse
+ playpokecry SPECIES_GROUDON_OR_KYOGRE, 2
+ delay 40
waitpokecry
setflag 2145
special ScrSpecial_StartGroudonKyogreBattle
waitstate
clearflag 2145
- specialval RESULT, sub_810E300
+ specialvar RESULT, sub_810E300
compare RESULT, 1
- callif 1, CaveOfOrigin_B4F_EventScript_15DE73
+ call_if 1, CaveOfOrigin_B4F_EventScript_15DE73
setflag 816
setflag 855
setflag 856
@@ -87,7 +87,7 @@ CaveOfOrigin_B4F_EventScript_15DE73:: @ 815DE73
.else
msgbox CaveOfOrigin_B4F_Text_1B5009, 4
.endif
- closebutton
+ closemessage
return
CaveOfOrigin_B4F_Movement_15DE7D:: @ 815DE7D
diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc
index 97a22bae3..9f6f7b388 100644
--- a/data/scripts/maps/DesertRuins.inc
+++ b/data/scripts/maps/DesertRuins.inc
@@ -6,16 +6,16 @@ DesertRuins_MapScripts:: @ 815CAF3
DesertRuins_MapScript1_15CB03:: @ 815CB03
checkflag 2145
- callif 1, DesertRuins_EventScript_15CB0D
+ call_if 1, DesertRuins_EventScript_15CB0D
end
DesertRuins_EventScript_15CB0D:: @ 815CB0D
- disappear LAST_TALKED
+ removeobject LAST_TALKED
return
DesertRuins_MapScript1_15CB11:: @ 815CB11
checkflag 2128
- callif 0, DesertRuins_EventScript_15CB1B
+ call_if 0, DesertRuins_EventScript_15CB1B
end
DesertRuins_EventScript_15CB1B:: @ 815CB1B
@@ -34,10 +34,10 @@ DesertRuins_MapScript1_15CB52:: @ 815CB52
DesertRuins_EventScript_15CB56:: @ 815CB56
lockall
checkflag 2128
- jumpeq DesertRuins_EventScript_15CB6D
- braillemsg DesertRuins_Braille_1C54C8
+ goto_if_eq DesertRuins_EventScript_15CB6D
+ braillemessage DesertRuins_Braille_1C54C8
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
@@ -48,18 +48,18 @@ DesertRuins_EventScript_15CB6D:: @ 815CB6D
DesertRuins_EventScript_15CB77:: @ 815CB77
lockall
- braillemsg DesertRuins_Braille_1C54C8
+ braillemessage DesertRuins_Braille_1C54C8
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
DesertRuins_EventScript_15CB85:: @ 815CB85
lock
faceplayer
- checksound
- pokecry SPECIES_REGIROCK, 2
- pause 40
+ waitse
+ playpokecry SPECIES_REGIROCK, 2
+ delay 40
waitpokecry
setwildbattle SPECIES_REGIROCK, 40, ITEM_NONE
setflag 935
diff --git a/data/scripts/maps/DewfordTown.inc b/data/scripts/maps/DewfordTown.inc
index 8ca2eb3df..aa3584741 100644
--- a/data/scripts/maps/DewfordTown.inc
+++ b/data/scripts/maps/DewfordTown.inc
@@ -10,10 +10,10 @@ DewfordTown_EventScript_14E002:: @ 814E002
lock
faceplayer
checkflag 189
- jumpif 0, DewfordTown_EventScript_14E076
+ goto_if 0, DewfordTown_EventScript_14E076
message DewfordTown_Text_16B522
- waittext
- multichoicedef 21, 6, 0, 2, 0
+ waitmessage
+ multichoicedefault 21, 6, 0, 2, 0
switch RESULT
case 0, DewfordTown_EventScript_14E04B
case 1, DewfordTown_EventScript_14E05B
@@ -23,36 +23,36 @@ DewfordTown_EventScript_14E002:: @ 814E002
DewfordTown_EventScript_14E04B:: @ 814E04B
msgbox DewfordTown_Text_16B57D, 4
- closebutton
- jump DewfordTown_EventScript_14E151
+ closemessage
+ goto DewfordTown_EventScript_14E151
release
end
DewfordTown_EventScript_14E05B:: @ 814E05B
msgbox DewfordTown_Text_16B5D2, 4
- closebutton
- jump DewfordTown_EventScript_14E1D8
+ closemessage
+ goto DewfordTown_EventScript_14E1D8
release
end
DewfordTown_EventScript_14E06B:: @ 814E06B
msgbox DewfordTown_Text_16B627, 4
- closebutton
+ closemessage
release
end
DewfordTown_EventScript_14E076:: @ 814E076
msgbox DewfordTown_Text_16B3BC, 5
compare RESULT, 1
- jumpeq DewfordTown_EventScript_14E093
+ goto_if_eq DewfordTown_EventScript_14E093
msgbox DewfordTown_Text_16B471, 4
release
end
DewfordTown_EventScript_14E093:: @ 814E093
msgbox DewfordTown_Text_16B417, 4
- closebutton
- jump DewfordTown_EventScript_14E151
+ closemessage
+ goto DewfordTown_EventScript_14E151
end
DewfordTown_EventScript_14E0A2:: @ 814E0A2
@@ -75,12 +75,12 @@ DewfordTown_EventScript_14E0C6:: @ 814E0C6
lock
faceplayer
checkflag 257
- jumpeq DewfordTown_EventScript_14E11B
+ goto_if_eq DewfordTown_EventScript_14E11B
msgbox DewfordTown_Text_16B665, 5
compare RESULT, 1
- jumpeq DewfordTown_EventScript_14E0F0
+ goto_if_eq DewfordTown_EventScript_14E0F0
compare RESULT, 0
- jumpeq DewfordTown_EventScript_14E111
+ goto_if_eq DewfordTown_EventScript_14E111
end
DewfordTown_EventScript_14E0F0:: @ 814E0F0
@@ -98,12 +98,12 @@ DewfordTown_EventScript_14E111:: @ 814E111
DewfordTown_EventScript_14E11B:: @ 814E11B
message DewfordTown_Text_16B84E
- waittext
+ waitmessage
multichoice 20, 8, 50, 1
compare RESULT, 0
- jumpeq DewfordTown_EventScript_14E13D
+ goto_if_eq DewfordTown_EventScript_14E13D
compare RESULT, 1
- jumpeq DewfordTown_EventScript_14E147
+ goto_if_eq DewfordTown_EventScript_14E147
end
DewfordTown_EventScript_14E13D:: @ 814E13D
@@ -118,30 +118,30 @@ DewfordTown_EventScript_14E147:: @ 814E147
DewfordTown_EventScript_14E151:: @ 814E151
call DewfordTown_EventScript_1A010C
- spritelevelup 2, 0, 11, 0
- spritelevelup 255, 0, 11, 0
- move 2, DewfordTown_Movement_14E40E
- waitmove 0
- disappear 2
- move 255, DewfordTown_Movement_14E402
- waitmove 0
- spriteinvisible 255, 0, 11
+ setobjectpriority 2, 0, 11, 0
+ setobjectpriority 255, 0, 11, 0
+ applymovement 2, DewfordTown_Movement_14E40E
+ waitmovement 0
+ removeobject 2
+ applymovement 255, DewfordTown_Movement_14E402
+ waitmovement 0
+ hideobject 255, 0, 11
call DewfordTown_EventScript_1A02E7
- move 4, DewfordTown_Movement_14E293
- move 255, DewfordTown_Movement_14E293
- waitmove 0
- spritevisible 255, 0, 19
+ applymovement 4, DewfordTown_Movement_14E293
+ applymovement 255, DewfordTown_Movement_14E293
+ waitmovement 0
+ showobject 255, 0, 19
call DewfordTown_EventScript_1A02EF
- move 255, DewfordTown_Movement_14E405
- waitmove 0
- spritevisible 255, 0, 19
+ applymovement 255, DewfordTown_Movement_14E405
+ waitmovement 0
+ showobject 255, 0, 19
clearflag 739
clearflag 881
clearflag 742
setflag 743
- spriteinvisible 4, 0, 11
+ hideobject 4, 0, 11
setvar 0x408e, 2
- restorespritelevel 255, 0, 11
+ resetobjectpriority 255, 0, 11
warp Route104_MrBrineysHouse, 255, 5, 4
copyvar 0x4096, 0x8008
waitstate
@@ -150,41 +150,41 @@ DewfordTown_EventScript_14E151:: @ 814E151
DewfordTown_EventScript_14E1D8:: @ 814E1D8
call DewfordTown_EventScript_1A010C
- spritelevelup 2, 0, 11, 0
- spritelevelup 255, 0, 11, 1
- move 2, DewfordTown_Movement_14E40E
- waitmove 0
- disappear 2
- move 255, DewfordTown_Movement_14E402
- waitmove 0
- spriteinvisible 255, 0, 11
+ setobjectpriority 2, 0, 11, 0
+ setobjectpriority 255, 0, 11, 1
+ applymovement 2, DewfordTown_Movement_14E40E
+ waitmovement 0
+ removeobject 2
+ applymovement 255, DewfordTown_Movement_14E402
+ waitmovement 0
+ hideobject 255, 0, 11
call DewfordTown_EventScript_1A02E7
- move 4, DewfordTown_Movement_14E356
- move 255, DewfordTown_Movement_14E356
- waitmove 0
+ applymovement 4, DewfordTown_Movement_14E356
+ applymovement 255, DewfordTown_Movement_14E356
+ waitmovement 0
call DewfordTown_EventScript_1A02EF
- spritevisible 255, 0, 24
- move 255, DewfordTown_Movement_14E409
- waitmove 0
- movespriteperm 2, 21, 26
- reappear 2
- spritelevelup 2, 0, 24, 0
- move 2, DewfordTown_Movement_14E410
- waitmove 0
+ showobject 255, 0, 24
+ applymovement 255, DewfordTown_Movement_14E409
+ waitmovement 0
+ setobjectxyperm 2, 21, 26
+ addobject 2
+ setobjectpriority 2, 0, 24, 0
+ applymovement 2, DewfordTown_Movement_14E410
+ waitmovement 0
clearflag 741
- reappear 1
+ addobject 1
clearflag 744
setflag 743
- spriteinvisible 4, 0, 11
+ hideobject 4, 0, 11
checkflag 149
- callif 0, DewfordTown_EventScript_14E281
+ call_if 0, DewfordTown_EventScript_14E281
checkflag 149
- callif 1, DewfordTown_EventScript_14E28A
- closebutton
+ call_if 1, DewfordTown_EventScript_14E28A
+ closemessage
copyvar 0x4096, 0x8008
- restorespritelevel 255, 0, 11
- restorespritelevel 2, 0, 24
- moveoffscreen 2
+ resetobjectpriority 255, 0, 11
+ resetobjectpriority 2, 0, 24
+ moveobjectoffscreen 2
release
end
@@ -600,9 +600,9 @@ DewfordTown_EventScript_14E413:: @ 814E413
call DewfordTown_EventScript_1A0102
msgbox DewfordTown_Text_16B9CE, 5
compare RESULT, 1
- jumpeq DewfordTown_EventScript_14E439
+ goto_if_eq DewfordTown_EventScript_14E439
compare RESULT, 0
- jumpeq DewfordTown_EventScript_14E443
+ goto_if_eq DewfordTown_EventScript_14E443
end
DewfordTown_EventScript_14E439:: @ 814E439
@@ -617,15 +617,15 @@ DewfordTown_EventScript_14E443:: @ 814E443
lock
faceplayer
compare RESULT, 1
- jumpeq DewfordTown_EventScript_14E46E
+ goto_if_eq DewfordTown_EventScript_14E46E
compare RESULT, 0
- jumpeq DewfordTown_EventScript_14E485
+ goto_if_eq DewfordTown_EventScript_14E485
end
DewfordTown_EventScript_14E46E:: @ 814E46E
- inccounter GAME_STAT_STARTED_TRENDS
+ incrementgamestat GAME_STAT_STARTED_TRENDS
compare 0x8004, 0
- jumpeq DewfordTown_EventScript_14E48F
+ goto_if_eq DewfordTown_EventScript_14E48F
msgbox DewfordTown_Text_16BB44, 4
release
end
diff --git a/data/scripts/maps/DewfordTown_Gym.inc b/data/scripts/maps/DewfordTown_Gym.inc
index 51d4f44ba..92776afb1 100644
--- a/data/scripts/maps/DewfordTown_Gym.inc
+++ b/data/scripts/maps/DewfordTown_Gym.inc
@@ -8,91 +8,91 @@ DewfordTown_Gym_MapScript1_15306B:: @ 815306B
DewfordTown_Gym_EventScript_153071:: @ 8153071
checktrainerflag OPPONENT_BRAWLY
- jumpeq DewfordTown_Gym_EventScript_1530AA
+ goto_if_eq DewfordTown_Gym_EventScript_1530AA
call DewfordTown_Gym_EventScript_153122
copyvar 0x8001, 0x8000
compare 0x8000, 0
- jumpeq DewfordTown_Gym_EventScript_1530BA
+ goto_if_eq DewfordTown_Gym_EventScript_1530BA
compare 0x8000, 1
- jumpeq DewfordTown_Gym_EventScript_1530B6
+ goto_if_eq DewfordTown_Gym_EventScript_1530B6
compare 0x8000, 2
- jumpeq DewfordTown_Gym_EventScript_1530B2
- jump DewfordTown_Gym_EventScript_1530AE
+ goto_if_eq DewfordTown_Gym_EventScript_1530B2
+ goto DewfordTown_Gym_EventScript_1530AE
DewfordTown_Gym_EventScript_1530AA:: @ 81530AA
- darken 0
+ setdarklevel 0
return
DewfordTown_Gym_EventScript_1530AE:: @ 81530AE
- darken 1
+ setdarklevel 1
return
DewfordTown_Gym_EventScript_1530B2:: @ 81530B2
- darken 2
+ setdarklevel 2
return
DewfordTown_Gym_EventScript_1530B6:: @ 81530B6
- darken 3
+ setdarklevel 3
return
DewfordTown_Gym_EventScript_1530BA:: @ 81530BA
- darken 4
+ setdarklevel 4
return
DewfordTown_Gym_EventScript_1530BE:: @ 81530BE
call DewfordTown_Gym_EventScript_153122
- snop1
- comparevars 0x8000, 0x8001
- jumpeq DewfordTown_Gym_EventScript_1530F5
+ nop1
+ compare 0x8000, 0x8001
+ goto_if_eq DewfordTown_Gym_EventScript_1530F5
copyvar 0x8001, 0x8000
compare 0x8000, 1
- jumpeq DewfordTown_Gym_EventScript_1530F6
+ goto_if_eq DewfordTown_Gym_EventScript_1530F6
compare 0x8000, 2
- jumpeq DewfordTown_Gym_EventScript_153101
+ goto_if_eq DewfordTown_Gym_EventScript_153101
compare 0x8000, 3
- jumpeq DewfordTown_Gym_EventScript_15310C
+ goto_if_eq DewfordTown_Gym_EventScript_15310C
DewfordTown_Gym_EventScript_1530F5:: @ 81530F5
return
DewfordTown_Gym_EventScript_1530F6:: @ 81530F6
- playsfx 35
- lighten 3
+ playse 35
+ animdarklevel 3
call DewfordTown_Gym_EventScript_153071
return
DewfordTown_Gym_EventScript_153101:: @ 8153101
- playsfx 35
- lighten 2
+ playse 35
+ animdarklevel 2
call DewfordTown_Gym_EventScript_153071
return
DewfordTown_Gym_EventScript_15310C:: @ 815310C
- playsfx 35
- lighten 1
+ playse 35
+ animdarklevel 1
call DewfordTown_Gym_EventScript_153071
return
DewfordTown_Gym_EventScript_153117:: @ 8153117
- playsfx 35
- lighten 0
+ playse 35
+ animdarklevel 0
call DewfordTown_Gym_EventScript_153071
return
DewfordTown_Gym_EventScript_153122:: @ 8153122
setvar 0x8000, 0
checktrainerflag OPPONENT_HIDEKI
- jumpif 0, DewfordTown_Gym_EventScript_153135
+ goto_if 0, DewfordTown_Gym_EventScript_153135
addvar 0x8000, 1
DewfordTown_Gym_EventScript_153135:: @ 8153135
checktrainerflag OPPONENT_TESSA
- jumpif 0, DewfordTown_Gym_EventScript_153143
+ goto_if 0, DewfordTown_Gym_EventScript_153143
addvar 0x8000, 1
DewfordTown_Gym_EventScript_153143:: @ 8153143
checktrainerflag OPPONENT_LAURA
- jumpif 0, DewfordTown_Gym_EventScript_153151
+ goto_if 0, DewfordTown_Gym_EventScript_153151
addvar 0x8000, 1
DewfordTown_Gym_EventScript_153151:: @ 8153151
@@ -101,7 +101,7 @@ DewfordTown_Gym_EventScript_153151:: @ 8153151
DewfordTown_Gym_EventScript_153152:: @ 8153152
trainerbattle 1, OPPONENT_BRAWLY, 0, DewfordTown_Gym_Text_175182, DewfordTown_Gym_Text_175246, DewfordTown_Gym_EventScript_153177
checkflag 166
- jumpif 0, DewfordTown_Gym_EventScript_1531B5
+ goto_if 0, DewfordTown_Gym_EventScript_1531B5
msgbox DewfordTown_Gym_Text_175412, 4
release
end
@@ -109,23 +109,23 @@ DewfordTown_Gym_EventScript_153152:: @ 8153152
DewfordTown_Gym_EventScript_153177:: @ 8153177
call DewfordTown_Gym_EventScript_153117
message DewfordTown_Gym_Text_1752BB
- waittext
+ waitmessage
call DewfordTown_Gym_EventScript_1A02C5
msgbox DewfordTown_Gym_Text_1752E6, 4
setflag 1204
setflag 2056
addvar 0x4085, 1
compare 0x4085, 6
- callif 1, DewfordTown_Gym_EventScript_1A00FB
+ call_if 1, DewfordTown_Gym_EventScript_1A00FB
setvar 0x8008, 2
call DewfordTown_Gym_EventScript_1A01C0
- jump DewfordTown_Gym_EventScript_1531B5
+ goto DewfordTown_Gym_EventScript_1531B5
end
DewfordTown_Gym_EventScript_1531B5:: @ 81531B5
giveitem ITEM_TM08
compare RESULT, 0
- jumpeq DewfordTown_Gym_EventScript_1A029B
+ goto_if_eq DewfordTown_Gym_EventScript_1A029B
msgbox DewfordTown_Gym_Text_1753BF, 4
setflag 166
release
@@ -165,7 +165,7 @@ DewfordTown_Gym_EventScript_15323F:: @ 815323F
lock
faceplayer
checkflag 1204
- jumpeq DewfordTown_Gym_EventScript_153254
+ goto_if_eq DewfordTown_Gym_EventScript_153254
msgbox DewfordTown_Gym_Text_174D98, 4
release
end
@@ -178,15 +178,15 @@ DewfordTown_Gym_EventScript_153254:: @ 8153254
DewfordTown_Gym_EventScript_15325E:: @ 815325E
lockall
checkflag 2056
- jumpeq DewfordTown_Gym_EventScript_15327E
- jump DewfordTown_Gym_EventScript_153288
+ goto_if_eq DewfordTown_Gym_EventScript_15327E
+ goto DewfordTown_Gym_EventScript_153288
end
DewfordTown_Gym_EventScript_15326E:: @ 815326E
lockall
checkflag 2056
- jumpeq DewfordTown_Gym_EventScript_15327E
- jump DewfordTown_Gym_EventScript_153288
+ goto_if_eq DewfordTown_Gym_EventScript_15327E
+ goto DewfordTown_Gym_EventScript_153288
end
DewfordTown_Gym_EventScript_15327E:: @ 815327E
diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc
index 28d396a3e..ea4016147 100644
--- a/data/scripts/maps/DewfordTown_Hall.inc
+++ b/data/scripts/maps/DewfordTown_Hall.inc
@@ -7,7 +7,7 @@ DewfordTown_Hall_EventScript_153293:: @ 8153293
call DewfordTown_Hall_EventScript_1A0102
special sub_80FA5E4
compare RESULT, 1
- jumpeq DewfordTown_Hall_EventScript_1532B2
+ goto_if_eq DewfordTown_Hall_EventScript_1532B2
msgbox DewfordTown_Hall_Text_1754C9, 4
release
end
@@ -32,9 +32,9 @@ DewfordTown_Hall_EventScript_1532CD:: @ 81532CD
special sub_80EB83C
msgbox DewfordTown_Hall_Text_1755F9, 5
compare RESULT, 1
- jumpeq DewfordTown_Hall_EventScript_1532F6
+ goto_if_eq DewfordTown_Hall_EventScript_1532F6
compare RESULT, 0
- jumpeq DewfordTown_Hall_EventScript_153300
+ goto_if_eq DewfordTown_Hall_EventScript_153300
end
DewfordTown_Hall_EventScript_1532F6:: @ 81532F6
@@ -52,9 +52,9 @@ DewfordTown_Hall_EventScript_15330A:: @ 815330A
faceplayer
call DewfordTown_Hall_EventScript_1A0102
msgbox DewfordTown_Hall_Text_17570D, 4
- closebutton
- move 4, DewfordTown_Hall_Movement_1A0841
- waitmove 0
+ closemessage
+ applymovement 4, DewfordTown_Hall_Movement_1A0841
+ waitmovement 0
release
end
@@ -63,9 +63,9 @@ DewfordTown_Hall_EventScript_153326:: @ 8153326
faceplayer
call DewfordTown_Hall_EventScript_1A0102
msgbox DewfordTown_Hall_Text_17574C, 4
- closebutton
- move 5, DewfordTown_Hall_Movement_1A0841
- waitmove 0
+ closemessage
+ applymovement 5, DewfordTown_Hall_Movement_1A0841
+ waitmovement 0
release
end
@@ -122,13 +122,13 @@ DewfordTown_Hall_EventScript_1533E8:: @ 81533E8
DewfordTown_Hall_EventScript_1533F2:: @ 81533F2
lockall
setvar 0x8008, 0
- jump DewfordTown_Hall_EventScript_15340A
+ goto DewfordTown_Hall_EventScript_15340A
end
DewfordTown_Hall_EventScript_1533FE:: @ 81533FE
lockall
setvar 0x8008, 1
- jump DewfordTown_Hall_EventScript_15340A
+ goto DewfordTown_Hall_EventScript_15340A
end
DewfordTown_Hall_EventScript_15340A:: @ 815340A
@@ -189,55 +189,55 @@ DewfordTown_Hall_EventScript_1534FC:: @ 81534FC
return
DewfordTown_Hall_EventScript_1534FD:: @ 81534FD
- move 8, DewfordTown_Hall_Movement_153599
- waitmove 0
+ applymovement 8, DewfordTown_Hall_Movement_153599
+ waitmovement 0
compare 0x8008, 0
- jumpeq DewfordTown_Hall_EventScript_15351E
+ goto_if_eq DewfordTown_Hall_EventScript_15351E
compare 0x8008, 1
- jumpeq DewfordTown_Hall_EventScript_153534
+ goto_if_eq DewfordTown_Hall_EventScript_153534
end
DewfordTown_Hall_EventScript_15351E:: @ 815351E
compare FACING, 4
- jumpeq DewfordTown_Hall_EventScript_1534FC
- move 255, DewfordTown_Hall_Movement_1A0843
- waitmove 0
+ goto_if_eq DewfordTown_Hall_EventScript_1534FC
+ applymovement 255, DewfordTown_Hall_Movement_1A0843
+ waitmovement 0
return
DewfordTown_Hall_EventScript_153534:: @ 8153534
return
DewfordTown_Hall_EventScript_153535:: @ 8153535
- move 7, DewfordTown_Hall_Movement_15359B
- waitmove 0
+ applymovement 7, DewfordTown_Hall_Movement_15359B
+ waitmovement 0
compare 0x8008, 0
- jumpeq DewfordTown_Hall_EventScript_153556
+ goto_if_eq DewfordTown_Hall_EventScript_153556
compare 0x8008, 1
- jumpeq DewfordTown_Hall_EventScript_153583
+ goto_if_eq DewfordTown_Hall_EventScript_153583
end
DewfordTown_Hall_EventScript_153556:: @ 8153556
compare FACING, 2
- callif 1, DewfordTown_Hall_EventScript_15356D
+ call_if 1, DewfordTown_Hall_EventScript_15356D
compare FACING, 1
- callif 1, DewfordTown_Hall_EventScript_153578
+ call_if 1, DewfordTown_Hall_EventScript_153578
return
DewfordTown_Hall_EventScript_15356D:: @ 815356D
- move 255, DewfordTown_Hall_Movement_1A0841
- waitmove 0
+ applymovement 255, DewfordTown_Hall_Movement_1A0841
+ waitmovement 0
return
DewfordTown_Hall_EventScript_153578:: @ 8153578
- move 255, DewfordTown_Hall_Movement_1A0845
- waitmove 0
+ applymovement 255, DewfordTown_Hall_Movement_1A0845
+ waitmovement 0
return
DewfordTown_Hall_EventScript_153583:: @ 8153583
compare FACING, 3
- jumpeq DewfordTown_Hall_EventScript_1534FC
- move 255, DewfordTown_Hall_Movement_1A083F
- waitmove 0
+ goto_if_eq DewfordTown_Hall_EventScript_1534FC
+ applymovement 255, DewfordTown_Hall_Movement_1A083F
+ waitmovement 0
return
DewfordTown_Hall_Movement_153599:: @ 8153599
@@ -253,11 +253,11 @@ DewfordTown_Hall_EventScript_15359D:: @ 815359D
faceplayer
call DewfordTown_Hall_EventScript_1A0102
checkflag 230
- jumpeq DewfordTown_Hall_EventScript_1535D1
+ goto_if_eq DewfordTown_Hall_EventScript_1535D1
msgbox DewfordTown_Hall_Text_175E13, 4
giveitem ITEM_TM36
compare RESULT, 0
- jumpeq DewfordTown_Hall_EventScript_1A029B
+ goto_if_eq DewfordTown_Hall_EventScript_1A029B
setflag 230
release
end
diff --git a/data/scripts/maps/DewfordTown_House1.inc b/data/scripts/maps/DewfordTown_House1.inc
index 40e06357c..e8897b974 100644
--- a/data/scripts/maps/DewfordTown_House1.inc
+++ b/data/scripts/maps/DewfordTown_House1.inc
@@ -12,8 +12,8 @@ DewfordTown_House1_EventScript_152FF8:: @ 8152FF8
DewfordTown_House1_EventScript_153001:: @ 8153001
lock
faceplayer
- checksound
- pokecry SPECIES_ZIGZAGOON, 0
+ waitse
+ playpokecry SPECIES_ZIGZAGOON, 0
msgbox DewfordTown_House1_Text_174CC8, 4
waitpokecry
release
diff --git a/data/scripts/maps/DewfordTown_House2.inc b/data/scripts/maps/DewfordTown_House2.inc
index 529f8bb24..befe47404 100644
--- a/data/scripts/maps/DewfordTown_House2.inc
+++ b/data/scripts/maps/DewfordTown_House2.inc
@@ -5,11 +5,11 @@ DewfordTown_House2_EventScript_1535DC:: @ 81535DC
lock
faceplayer
checkflag 289
- jumpeq DewfordTown_House2_EventScript_153615
+ goto_if_eq DewfordTown_House2_EventScript_153615
msgbox DewfordTown_House2_Text_175EFE, 4
giveitem ITEM_SILK_SCARF
compare RESULT, 0
- jumpeq DewfordTown_House2_EventScript_15360B
+ goto_if_eq DewfordTown_House2_EventScript_15360B
setflag 289
release
end
diff --git a/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc b/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc
index 96c198ae5..70e75492e 100644
--- a/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc
+++ b/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc
@@ -10,7 +10,7 @@ DewfordTown_PokemonCenter_1F_MapScript1_15301A:: @ 815301A
DewfordTown_PokemonCenter_1F_EventScript_153023:: @ 8153023
setvar 0x800b, 1
call DewfordTown_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/EverGrandeCity.inc b/data/scripts/maps/EverGrandeCity.inc
index 9b6d2a8b7..c9768d006 100644
--- a/data/scripts/maps/EverGrandeCity.inc
+++ b/data/scripts/maps/EverGrandeCity.inc
@@ -4,7 +4,7 @@ EverGrandeCity_MapScripts:: @ 814D4D5
EverGrandeCity_MapScript1_14D4DB:: @ 814D4DB
checkflag 2090
- callif 1, EverGrandeCity_EventScript_1A02C1
+ call_if 1, EverGrandeCity_EventScript_1A02C1
end
EverGrandeCity_EventScript_14D4E5:: @ 814D4E5
diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
index bddcfa74b..90df9ab4e 100644
--- a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
@@ -13,7 +13,7 @@ EverGrandeCity_ChampionsRoom_MapScript2_15B7C5:: @ 815B7C5
.2byte 0
EverGrandeCity_ChampionsRoom_EventScript_15B7CF:: @ 815B7CF
- spriteface 255, 2
+ turnobject 255, 2
end
EverGrandeCity_ChampionsRoom_MapScript2_15B7D4:: @ 815B7D4
@@ -22,13 +22,13 @@ EverGrandeCity_ChampionsRoom_MapScript2_15B7D4:: @ 815B7D4
EverGrandeCity_ChampionsRoom_EventScript_15B7DE:: @ 815B7DE
lockall
- move 255, EverGrandeCity_ChampionsRoom_Movement_1A084E
- waitmove 0
- pause 40
- move 255, EverGrandeCity_ChampionsRoom_Movement_15B802
- waitmove 0
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_1A084E
+ waitmovement 0
+ delay 40
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_15B802
+ waitmovement 0
setvar 0x4001, 1
- jump EverGrandeCity_ChampionsRoom_EventScript_15B805
+ goto EverGrandeCity_ChampionsRoom_EventScript_15B805
releaseall
end
@@ -38,104 +38,104 @@ EverGrandeCity_ChampionsRoom_Movement_15B802:: @ 815B802
step_end
EverGrandeCity_ChampionsRoom_EventScript_15B805:: @ 815B805
- playmusic 454, 0
+ playbgm 454, 0
msgbox EverGrandeCity_ChampionsRoom_Text_190F9C, 4
trainerbattle 3, OPPONENT_STEVEN, 0, EverGrandeCity_ChampionsRoom_Text_1910A0
- jump EverGrandeCity_ChampionsRoom_EventScript_15B821
+ goto EverGrandeCity_ChampionsRoom_EventScript_15B821
end
EverGrandeCity_ChampionsRoom_EventScript_15B821:: @ 815B821
- playsfx 8
+ playse 8
setmaptile 6, 1, 838, 0
setmaptile 6, 2, 839, 0
special DrawWholeMapView
msgbox EverGrandeCity_ChampionsRoom_Text_1910FE, 4
- closebutton
- playsfx 8
- checkgender
+ closemessage
+ playse 8
+ checkplayergender
compare RESULT, 0
- callif 1, EverGrandeCity_ChampionsRoom_EventScript_15B87C
+ call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B87C
compare RESULT, 1
- callif 1, EverGrandeCity_ChampionsRoom_EventScript_15B881
- reappear 2
+ call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B881
+ addobject 2
call EverGrandeCity_ChampionsRoom_EventScript_15B9BD
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq EverGrandeCity_ChampionsRoom_EventScript_15B886
+ goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B886
compare RESULT, 1
- jumpeq EverGrandeCity_ChampionsRoom_EventScript_15B8BB
+ goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B8BB
end
EverGrandeCity_ChampionsRoom_EventScript_15B87C:: @ 815B87C
- playmusic 415, 0
+ playbgm 415, 0
return
EverGrandeCity_ChampionsRoom_EventScript_15B881:: @ 815B881
- playmusic 421, 0
+ playbgm 421, 0
return
EverGrandeCity_ChampionsRoom_EventScript_15B886:: @ 815B886
msgbox EverGrandeCity_ChampionsRoom_Text_191225, 4
- pause 40
- playsfx 21
- move 2, EverGrandeCity_ChampionsRoom_Movement_1A0833
- waitmove 0
- move 2, EverGrandeCity_ChampionsRoom_Movement_1A0835
- waitmove 0
+ delay 40
+ playse 21
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0833
+ waitmovement 0
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0835
+ waitmovement 0
call EverGrandeCity_ChampionsRoom_EventScript_15B9D2
msgbox EverGrandeCity_ChampionsRoom_Text_191268, 4
- jump EverGrandeCity_ChampionsRoom_EventScript_15B8F0
+ goto EverGrandeCity_ChampionsRoom_EventScript_15B8F0
end
EverGrandeCity_ChampionsRoom_EventScript_15B8BB:: @ 815B8BB
msgbox EverGrandeCity_ChampionsRoom_Text_1912B3, 4
- pause 40
- playsfx 21
- move 2, EverGrandeCity_ChampionsRoom_Movement_1A0833
- waitmove 0
- move 2, EverGrandeCity_ChampionsRoom_Movement_1A0835
- waitmove 0
+ delay 40
+ playse 21
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0833
+ waitmovement 0
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0835
+ waitmovement 0
call EverGrandeCity_ChampionsRoom_EventScript_15B9D2
msgbox EverGrandeCity_ChampionsRoom_Text_191305, 4
- jump EverGrandeCity_ChampionsRoom_EventScript_15B8F0
+ goto EverGrandeCity_ChampionsRoom_EventScript_15B8F0
end
EverGrandeCity_ChampionsRoom_EventScript_15B8F0:: @ 815B8F0
- closebutton
- reappear 3
- move 3, EverGrandeCity_ChampionsRoom_Movement_15BA03
- waitmove 0
- move 255, EverGrandeCity_ChampionsRoom_Movement_1A0843
- waitmove 0
+ closemessage
+ addobject 3
+ applymovement 3, EverGrandeCity_ChampionsRoom_Movement_15BA03
+ waitmovement 0
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_1A0843
+ waitmovement 0
msgbox EverGrandeCity_ChampionsRoom_Text_19134D, 4
call EverGrandeCity_ChampionsRoom_EventScript_1A03B0
msgbox EverGrandeCity_ChampionsRoom_Text_1914C6, 4
- move 1, EverGrandeCity_ChampionsRoom_Movement_1A0841
- waitmove 0
- pause 20
- move 1, EverGrandeCity_ChampionsRoom_Movement_1A0845
- waitmove 0
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_1A0841
+ waitmovement 0
+ delay 20
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_1A0845
+ waitmovement 0
msgbox EverGrandeCity_ChampionsRoom_Text_191512, 4
- closebutton
- pause 30
- move 1, EverGrandeCity_ChampionsRoom_Movement_15B9FB
- move 255, EverGrandeCity_ChampionsRoom_Movement_15B9DD
- move 3, EverGrandeCity_ChampionsRoom_Movement_1A0841
- move 2, EverGrandeCity_ChampionsRoom_Movement_15B9F8
- waitmove 0
- pause 20
- move 255, EverGrandeCity_ChampionsRoom_Movement_1A0845
- waitmove 0
+ closemessage
+ delay 30
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_15B9FB
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_15B9DD
+ applymovement 3, EverGrandeCity_ChampionsRoom_Movement_1A0841
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_15B9F8
+ waitmovement 0
+ delay 20
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_1A0845
+ waitmovement 0
msgbox EverGrandeCity_ChampionsRoom_Text_191546, 4
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, EverGrandeCity_ChampionsRoom_EventScript_15B9AB
+ call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B9AB
compare RESULT, 1
- callif 1, EverGrandeCity_ChampionsRoom_EventScript_15B9B4
- closebutton
- move 1, EverGrandeCity_ChampionsRoom_Movement_15B9FF
- move 255, EverGrandeCity_ChampionsRoom_Movement_15B9E0
- waitmove 0
+ call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B9B4
+ closemessage
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_15B9FF
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_15B9E0
+ waitmovement 0
setflag 781
warp EverGrandeCity_HallOfFame, 255, 7, 16
waitstate
@@ -151,15 +151,15 @@ EverGrandeCity_ChampionsRoom_EventScript_15B9B4:: @ 815B9B4
return
EverGrandeCity_ChampionsRoom_EventScript_15B9BD:: @ 815B9BD
- move 2, EverGrandeCity_ChampionsRoom_Movement_15B9E6
- waitmove 0
- move 255, EverGrandeCity_ChampionsRoom_Movement_1A083F
- waitmove 0
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_15B9E6
+ waitmovement 0
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_1A083F
+ waitmovement 0
return
EverGrandeCity_ChampionsRoom_EventScript_15B9D2:: @ 815B9D2
- move 2, EverGrandeCity_ChampionsRoom_Movement_15B9EF
- waitmove 0
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_15B9EF
+ waitmovement 0
return
EverGrandeCity_ChampionsRoom_Movement_15B9DD:: @ 815B9DD
diff --git a/data/scripts/maps/EverGrandeCity_Corridor1.inc b/data/scripts/maps/EverGrandeCity_Corridor1.inc
index 499ad673f..104504960 100644
--- a/data/scripts/maps/EverGrandeCity_Corridor1.inc
+++ b/data/scripts/maps/EverGrandeCity_Corridor1.inc
@@ -7,5 +7,5 @@ EverGrandeCity_Corridor1_MapScript2_15BA12:: @ 815BA12
.2byte 0
EverGrandeCity_Corridor1_EventScript_15BA1C:: @ 815BA1C
- spriteface 255, 2
+ turnobject 255, 2
end
diff --git a/data/scripts/maps/EverGrandeCity_Corridor2.inc b/data/scripts/maps/EverGrandeCity_Corridor2.inc
index 692de1ed9..c7c049020 100644
--- a/data/scripts/maps/EverGrandeCity_Corridor2.inc
+++ b/data/scripts/maps/EverGrandeCity_Corridor2.inc
@@ -7,5 +7,5 @@ EverGrandeCity_Corridor2_MapScript2_15BA27:: @ 815BA27
.2byte 0
EverGrandeCity_Corridor2_EventScript_15BA31:: @ 815BA31
- spriteface 255, 2
+ turnobject 255, 2
end
diff --git a/data/scripts/maps/EverGrandeCity_Corridor3.inc b/data/scripts/maps/EverGrandeCity_Corridor3.inc
index f8ed19669..1714db5cc 100644
--- a/data/scripts/maps/EverGrandeCity_Corridor3.inc
+++ b/data/scripts/maps/EverGrandeCity_Corridor3.inc
@@ -7,5 +7,5 @@ EverGrandeCity_Corridor3_MapScript2_15BA3C:: @ 815BA3C
.2byte 0
EverGrandeCity_Corridor3_EventScript_15BA46:: @ 815BA46
- spriteface 255, 2
+ turnobject 255, 2
end
diff --git a/data/scripts/maps/EverGrandeCity_Corridor4.inc b/data/scripts/maps/EverGrandeCity_Corridor4.inc
index 616a25ec5..64cc234eb 100644
--- a/data/scripts/maps/EverGrandeCity_Corridor4.inc
+++ b/data/scripts/maps/EverGrandeCity_Corridor4.inc
@@ -7,5 +7,5 @@ EverGrandeCity_Corridor4_MapScript2_15BA51:: @ 815BA51
.2byte 0
EverGrandeCity_Corridor4_EventScript_15BA5B:: @ 815BA5B
- spriteface 255, 2
+ turnobject 255, 2
end
diff --git a/data/scripts/maps/EverGrandeCity_Corridor5.inc b/data/scripts/maps/EverGrandeCity_Corridor5.inc
index 783b03aec..73c0b5a84 100644
--- a/data/scripts/maps/EverGrandeCity_Corridor5.inc
+++ b/data/scripts/maps/EverGrandeCity_Corridor5.inc
@@ -7,5 +7,5 @@ EverGrandeCity_Corridor5_MapScript2_15BA66:: @ 815BA66
.2byte 0
EverGrandeCity_Corridor5_EventScript_15BA70:: @ 815BA70
- spriteface 255, 2
+ turnobject 255, 2
end
diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
index d10957a8e..3d3d56ff9 100644
--- a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
@@ -9,7 +9,7 @@ EverGrandeCity_DrakesRoom_MapScripts:: @ 815B70D
.2byte 0
EverGrandeCity_DrakesRoom_EventScript_15B727:: @ 815B727
- spriteface 255, 2
+ turnobject 255, 2
end
EverGrandeCity_DrakesRoom_MapScript2_15B72C:: @ 815B72C
@@ -25,9 +25,9 @@ EverGrandeCity_DrakesRoom_EventScript_15B736:: @ 815B736
EverGrandeCity_DrakesRoom_MapScript1_15B743:: @ 815B743
checkflag 1248
- callif 1, EverGrandeCity_DrakesRoom_EventScript_15B758
+ call_if 1, EverGrandeCity_DrakesRoom_EventScript_15B758
compare 0x409c, 4
- callif 1, EverGrandeCity_DrakesRoom_EventScript_15B75E
+ call_if 1, EverGrandeCity_DrakesRoom_EventScript_15B75E
end
EverGrandeCity_DrakesRoom_EventScript_15B758:: @ 815B758
@@ -42,11 +42,11 @@ EverGrandeCity_DrakesRoom_EventScript_15B764:: @ 815B764
lock
faceplayer
checkflag 1248
- jumpeq EverGrandeCity_DrakesRoom_EventScript_15B78B
- playmusic 450, 0
+ goto_if_eq EverGrandeCity_DrakesRoom_EventScript_15B78B
+ playbgm 450, 0
msgbox EverGrandeCity_DrakesRoom_Text_190CEB, 4
trainerbattle 3, OPPONENT_DRAKE, 0, EverGrandeCity_DrakesRoom_Text_190E42
- jump EverGrandeCity_DrakesRoom_EventScript_15B795
+ goto EverGrandeCity_DrakesRoom_EventScript_15B795
end
EverGrandeCity_DrakesRoom_EventScript_15B78B:: @ 815B78B
diff --git a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc
index 039b2a772..07f6e8877 100644
--- a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc
@@ -9,7 +9,7 @@ EverGrandeCity_GlaciasRoom_MapScript2_15B683:: @ 815B683
.2byte 0
EverGrandeCity_GlaciasRoom_EventScript_15B68D:: @ 815B68D
- spriteface 255, 2
+ turnobject 255, 2
end
EverGrandeCity_GlaciasRoom_MapScript2_15B692:: @ 815B692
@@ -25,9 +25,9 @@ EverGrandeCity_GlaciasRoom_EventScript_15B69C:: @ 815B69C
EverGrandeCity_GlaciasRoom_MapScript1_15B6A9:: @ 815B6A9
checkflag 1247
- callif 1, EverGrandeCity_GlaciasRoom_EventScript_15B6BE
+ call_if 1, EverGrandeCity_GlaciasRoom_EventScript_15B6BE
compare 0x409c, 3
- callif 1, EverGrandeCity_GlaciasRoom_EventScript_15B6C4
+ call_if 1, EverGrandeCity_GlaciasRoom_EventScript_15B6C4
end
EverGrandeCity_GlaciasRoom_EventScript_15B6BE:: @ 815B6BE
@@ -42,11 +42,11 @@ EverGrandeCity_GlaciasRoom_EventScript_15B6CA:: @ 815B6CA
lock
faceplayer
checkflag 1247
- jumpeq EverGrandeCity_GlaciasRoom_EventScript_15B6F1
- playmusic 450, 0
+ goto_if_eq EverGrandeCity_GlaciasRoom_EventScript_15B6F1
+ playbgm 450, 0
msgbox EverGrandeCity_GlaciasRoom_Text_190AF9, 4
trainerbattle 3, OPPONENT_GLACIA, 0, EverGrandeCity_GlaciasRoom_Text_190C01
- jump EverGrandeCity_GlaciasRoom_EventScript_15B6FB
+ goto EverGrandeCity_GlaciasRoom_EventScript_15B6FB
end
EverGrandeCity_GlaciasRoom_EventScript_15B6F1:: @ 815B6F1
diff --git a/data/scripts/maps/EverGrandeCity_HallOfFame.inc b/data/scripts/maps/EverGrandeCity_HallOfFame.inc
index 175990328..d9baaee89 100644
--- a/data/scripts/maps/EverGrandeCity_HallOfFame.inc
+++ b/data/scripts/maps/EverGrandeCity_HallOfFame.inc
@@ -8,7 +8,7 @@ EverGrandeCity_HallOfFame_MapScript2_15BB8F:: @ 815BB8F
.2byte 0
EverGrandeCity_HallOfFame_EventScript_15BB99:: @ 815BB99
- spriteface 255, 2
+ turnobject 255, 2
end
EverGrandeCity_HallOfFame_MapScript2_15BB9E:: @ 815BB9E
@@ -17,37 +17,37 @@ EverGrandeCity_HallOfFame_MapScript2_15BB9E:: @ 815BB9E
EverGrandeCity_HallOfFame_EventScript_15BBA8:: @ 815BBA8
lockall
- move 1, EverGrandeCity_HallOfFame_Movement_15BC59
- move 255, EverGrandeCity_HallOfFame_Movement_15BC59
- waitmove 0
- move 1, EverGrandeCity_HallOfFame_Movement_1A0843
- move 255, EverGrandeCity_HallOfFame_Movement_1A083F
- waitmove 0
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_15BC59
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_15BC59
+ waitmovement 0
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_1A0843
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_1A083F
+ waitmovement 0
msgbox EverGrandeCity_HallOfFame_Text_191841, 4
- closebutton
- move 1, EverGrandeCity_HallOfFame_Movement_15BC60
- move 255, EverGrandeCity_HallOfFame_Movement_15BC60
- waitmove 0
- pause 20
- move 1, EverGrandeCity_HallOfFame_Movement_1A0843
- move 255, EverGrandeCity_HallOfFame_Movement_1A083F
- waitmove 0
+ closemessage
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_15BC60
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_15BC60
+ waitmovement 0
+ delay 20
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_1A0843
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_1A083F
+ waitmovement 0
msgbox EverGrandeCity_HallOfFame_Text_1918D7, 4
- closebutton
- move 1, EverGrandeCity_HallOfFame_Movement_1A0841
- move 255, EverGrandeCity_HallOfFame_Movement_1A0841
- waitmove 0
- pause 20
- doanimation 62
- checkanimation 62
- pause 40
+ closemessage
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_1A0841
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_1A0841
+ waitmovement 0
+ delay 20
+ dofieldeffect 62
+ waitfieldeffect 62
+ delay 40
setvar 0x4001, 1
call EverGrandeCity_HallOfFame_EventScript_19FC13
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq EverGrandeCity_HallOfFame_EventScript_15BC41
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_15BC41
compare RESULT, 1
- jumpeq EverGrandeCity_HallOfFame_EventScript_15BC4D
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_15BC4D
end
EverGrandeCity_HallOfFame_EventScript_15BC41:: @ 815BC41
diff --git a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc
index 7e8ee131a..b7c1618ba 100644
--- a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc
@@ -9,7 +9,7 @@ EverGrandeCity_PhoebesRoom_MapScript2_15B5E9:: @ 815B5E9
.2byte 0
EverGrandeCity_PhoebesRoom_EventScript_15B5F3:: @ 815B5F3
- spriteface 255, 2
+ turnobject 255, 2
end
EverGrandeCity_PhoebesRoom_MapScript2_15B5F8:: @ 815B5F8
@@ -25,9 +25,9 @@ EverGrandeCity_PhoebesRoom_EventScript_15B602:: @ 815B602
EverGrandeCity_PhoebesRoom_MapScript1_15B60F:: @ 815B60F
checkflag 1246
- callif 1, EverGrandeCity_PhoebesRoom_EventScript_15B624
+ call_if 1, EverGrandeCity_PhoebesRoom_EventScript_15B624
compare 0x409c, 2
- callif 1, EverGrandeCity_PhoebesRoom_EventScript_15B62A
+ call_if 1, EverGrandeCity_PhoebesRoom_EventScript_15B62A
end
EverGrandeCity_PhoebesRoom_EventScript_15B624:: @ 815B624
@@ -42,11 +42,11 @@ EverGrandeCity_PhoebesRoom_EventScript_15B630:: @ 815B630
lock
faceplayer
checkflag 1246
- jumpeq EverGrandeCity_PhoebesRoom_EventScript_15B657
- playmusic 450, 0
+ goto_if_eq EverGrandeCity_PhoebesRoom_EventScript_15B657
+ playbgm 450, 0
msgbox EverGrandeCity_PhoebesRoom_Text_1908F5, 4
trainerbattle 3, OPPONENT_PHOEBE, 0, EverGrandeCity_PhoebesRoom_Text_190A0C
- jump EverGrandeCity_PhoebesRoom_EventScript_15B661
+ goto EverGrandeCity_PhoebesRoom_EventScript_15B661
end
EverGrandeCity_PhoebesRoom_EventScript_15B657:: @ 815B657
diff --git a/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc b/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc
index 7c0b8b0a4..57262b211 100644
--- a/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc
@@ -10,7 +10,7 @@ EverGrandeCity_PokemonCenter_1F_EventScript_15BC70:: @ 815BC70
SootopolisCity_PokemonCenter_1F_EventScript_15BC70:: @ 815BC70
setvar 0x800b, 1
call SootopolisCity_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc
index bfb3cdc1b..acbdac899 100644
--- a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc
+++ b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc
@@ -6,18 +6,18 @@ EverGrandeCity_PokemonLeague_MapScript1_15BA7B:: @ 815BA7B
sethealplace 20
setflag 2132
checkflag 263
- callif 0, EverGrandeCity_PokemonLeague_EventScript_15BA8B
+ call_if 0, EverGrandeCity_PokemonLeague_EventScript_15BA8B
end
EverGrandeCity_PokemonLeague_EventScript_15BA8B:: @ 815BA8B
- movespriteperm 3, 9, 2
- movespriteperm 4, 10, 2
+ setobjectxyperm 3, 9, 2
+ setobjectxyperm 4, 10, 2
return
EverGrandeCity_PokemonLeague_EventScript_15BA9A:: @ 815BA9A
setvar 0x800b, 1
call EverGrandeCity_PokemonLeague_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
@@ -26,7 +26,7 @@ EverGrandeCity_PokemonLeague_EventScript_15BAA8:: @ 815BAA8
lock
faceplayer
message EverGrandeCity_PokemonLeague_Text_1A0BE4
- waittext
+ waitmessage
pokemart EverGrandeCity_PokemonLeague_Items
msgbox EverGrandeCity_PokemonLeague_Text_1A0C02, 4
release
@@ -48,56 +48,56 @@ EverGrandeCity_PokemonLeague_Items:: @ 815BAC0
EverGrandeCity_PokemonLeague_EventScript_15BAD2:: @ 815BAD2
lockall
checkflag 263
- jumpeq EverGrandeCity_PokemonLeague_EventScript_15BB57
+ goto_if_eq EverGrandeCity_PokemonLeague_EventScript_15BB57
getplayerxy 0x4000, 0x4001
compare 0x4000, 11
- callif 4, EverGrandeCity_PokemonLeague_EventScript_15BB34
+ call_if 4, EverGrandeCity_PokemonLeague_EventScript_15BB34
compare 0x4000, 8
- callif 3, EverGrandeCity_PokemonLeague_EventScript_15BB3F
+ call_if 3, EverGrandeCity_PokemonLeague_EventScript_15BB3F
message EverGrandeCity_PokemonLeague_Text_1916FD
- waittext
- pause 75
+ waitmessage
+ delay 75
checkflag 2060
- jumpif 0, EverGrandeCity_PokemonLeague_EventScript_15BB4A
- closebutton
- move 3, EverGrandeCity_PokemonLeague_Movement_15BB7E
- move 4, EverGrandeCity_PokemonLeague_Movement_15BB81
- waitmove 0
- pause 10
- fanfare 369
+ goto_if 0, EverGrandeCity_PokemonLeague_EventScript_15BB4A
+ closemessage
+ applymovement 3, EverGrandeCity_PokemonLeague_Movement_15BB7E
+ applymovement 4, EverGrandeCity_PokemonLeague_Movement_15BB81
+ waitmovement 0
+ delay 10
+ playfanfare 369
message EverGrandeCity_PokemonLeague_Text_191804
- waittext
+ waitmessage
waitfanfare
- closebutton
- moveoffscreen 3
- moveoffscreen 4
+ closemessage
+ moveobjectoffscreen 3
+ moveobjectoffscreen 4
setflag 263
releaseall
end
EverGrandeCity_PokemonLeague_EventScript_15BB34:: @ 815BB34
- move 255, EverGrandeCity_PokemonLeague_Movement_15BB76
- waitmove 0
+ applymovement 255, EverGrandeCity_PokemonLeague_Movement_15BB76
+ waitmovement 0
return
EverGrandeCity_PokemonLeague_EventScript_15BB3F:: @ 815BB3F
- move 255, EverGrandeCity_PokemonLeague_Movement_15BB7A
- waitmove 0
+ applymovement 255, EverGrandeCity_PokemonLeague_Movement_15BB7A
+ waitmovement 0
return
EverGrandeCity_PokemonLeague_EventScript_15BB4A:: @ 815BB4A
- playsfx 32
+ playse 32
msgbox EverGrandeCity_PokemonLeague_Text_19179C, 4
releaseall
end
EverGrandeCity_PokemonLeague_EventScript_15BB57:: @ 815BB57
- move LAST_TALKED, EverGrandeCity_PokemonLeague_Movement_1A0839
- waitmove 0
+ applymovement LAST_TALKED, EverGrandeCity_PokemonLeague_Movement_1A0839
+ waitmovement 0
msgbox EverGrandeCity_PokemonLeague_Text_191804, 4
- closebutton
- move LAST_TALKED, EverGrandeCity_PokemonLeague_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, EverGrandeCity_PokemonLeague_Movement_1A083D
+ waitmovement 0
releaseall
end
diff --git a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc
index 84a6c3fdc..daca98176 100644
--- a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc
+++ b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc
@@ -6,9 +6,9 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 815B53F
EverGrandeCity_SidneysRoom_MapScript1_15B54F:: @ 815B54F
checkflag 1245
- callif 1, EverGrandeCity_SidneysRoom_EventScript_15B564
+ call_if 1, EverGrandeCity_SidneysRoom_EventScript_15B564
compare 0x409c, 1
- callif 1, EverGrandeCity_SidneysRoom_EventScript_15B56A
+ call_if 1, EverGrandeCity_SidneysRoom_EventScript_15B56A
end
EverGrandeCity_SidneysRoom_EventScript_15B564:: @ 815B564
@@ -25,7 +25,7 @@ EverGrandeCity_SidneysRoom_MapScript2_15B570:: @ 815B570
.2byte 0
EverGrandeCity_SidneysRoom_EventScript_15B57A:: @ 815B57A
- spriteface 255, 2
+ turnobject 255, 2
end
EverGrandeCity_SidneysRoom_MapScript2_15B57F:: @ 815B57F
@@ -43,11 +43,11 @@ EverGrandeCity_SidneysRoom_EventScript_15B596:: @ 815B596
lock
faceplayer
checkflag 1245
- jumpeq EverGrandeCity_SidneysRoom_EventScript_15B5BD
- playmusic 450, 0
+ goto_if_eq EverGrandeCity_SidneysRoom_EventScript_15B5BD
+ playbgm 450, 0
msgbox EverGrandeCity_SidneysRoom_Text_190728, 4
trainerbattle 3, OPPONENT_SIDNEY, 0, EverGrandeCity_SidneysRoom_Text_190823
- jump EverGrandeCity_SidneysRoom_EventScript_15B5C7
+ goto EverGrandeCity_SidneysRoom_EventScript_15B5C7
end
EverGrandeCity_SidneysRoom_EventScript_15B5BD:: @ 815B5BD
diff --git a/data/scripts/maps/FallarborTown.inc b/data/scripts/maps/FallarborTown.inc
index a48be5b24..13c8a9f2e 100644
--- a/data/scripts/maps/FallarborTown.inc
+++ b/data/scripts/maps/FallarborTown.inc
@@ -13,7 +13,7 @@ FallarborTown_EventScript_14E7F5:: @ 814E7F5
lock
faceplayer
checkflag 139
- jumpeq FallarborTown_EventScript_14E80A
+ goto_if_eq FallarborTown_EventScript_14E80A
msgbox FallarborTown_Text_16C7FF, 4
release
end
@@ -34,8 +34,8 @@ FallarborTown_EventScript_14E81D:: @ 814E81D
FallarborTown_EventScript_14E826:: @ 814E826
lock
faceplayer
- checksound
- pokecry SPECIES_AZURILL, 0
+ waitse
+ playpokecry SPECIES_AZURILL, 0
msgbox FallarborTown_Text_16C92C, 4
waitpokecry
release
diff --git a/data/scripts/maps/FallarborTown_ContestLobby.inc b/data/scripts/maps/FallarborTown_ContestLobby.inc
index ed67d922d..c4c590b53 100644
--- a/data/scripts/maps/FallarborTown_ContestLobby.inc
+++ b/data/scripts/maps/FallarborTown_ContestLobby.inc
@@ -20,28 +20,28 @@ FallarborTown_ContestLobby_EventScript_1539CD:: @ 81539CD
FallarborTown_ContestLobby_EventScript_1539F8:: @ 81539F8
lockall
- move 1, FallarborTown_ContestLobby_Movement_153A7C
- waitmove 0
- playsfx 71
+ applymovement 1, FallarborTown_ContestLobby_Movement_153A7C
+ waitmovement 0
+ playse 71
setmaptile 4, 2, 545, 1
setmaptile 4, 3, 609, 1
special DrawWholeMapView
- move 1, FallarborTown_ContestLobby_Movement_153A7F
- waitmove 0
- playsfx 71
+ applymovement 1, FallarborTown_ContestLobby_Movement_153A7F
+ waitmovement 0
+ playse 71
setmaptile 4, 2, 721, 1
setmaptile 4, 3, 729, 1
special DrawWholeMapView
- pause 20
- move 1, FallarborTown_ContestLobby_Movement_153A8C
- waitmove 0
- move 255, FallarborTown_ContestLobby_Movement_153A7A
- waitmove 0
+ delay 20
+ applymovement 1, FallarborTown_ContestLobby_Movement_153A8C
+ waitmovement 0
+ applymovement 255, FallarborTown_ContestLobby_Movement_153A7A
+ waitmovement 0
msgbox FallarborTown_ContestLobby_Text_1A6832, 4
- closebutton
- move 1, FallarborTown_ContestLobby_Movement_153A83
- move 255, FallarborTown_ContestLobby_Movement_153A70
- waitmove 0
+ closemessage
+ applymovement 1, FallarborTown_ContestLobby_Movement_153A83
+ applymovement 255, FallarborTown_ContestLobby_Movement_153A70
+ waitmovement 0
releaseall
return
@@ -93,7 +93,7 @@ FallarborTown_ContestLobby_EventScript_153A8E:: @ 8153A8E
FallarborTown_ContestLobby_EventScript_153A97:: @ 8153A97
checkflag 270
- jumpeq FallarborTown_ContestLobby_EventScript_153AA9
+ goto_if_eq FallarborTown_ContestLobby_EventScript_153AA9
msgbox FallarborTown_ContestLobby_Text_177246, 2
end
@@ -108,7 +108,7 @@ FallarborTown_ContestLobby_EventScript_153AB2:: @ 8153AB2
FallarborTown_ContestLobby_EventScript_153ABB:: @ 8153ABB
lockall
fadescreen 1
- showcontestwinner 2
+ drawcontestwinner 2
releaseall
end
@@ -116,6 +116,6 @@ FallarborTown_ContestLobby_EventScript_153AC2:: @ 8153AC2
lockall
special ShowBerryBlenderRecordWindow
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data/scripts/maps/FallarborTown_House1.inc b/data/scripts/maps/FallarborTown_House1.inc
index 8a44cdcfb..0228fe25d 100644
--- a/data/scripts/maps/FallarborTown_House1.inc
+++ b/data/scripts/maps/FallarborTown_House1.inc
@@ -9,25 +9,25 @@ FallarborTown_House1_EventScript_153BB5:: @ 8153BB5
lock
faceplayer
checkflag 229
- jumpeq FallarborTown_House1_EventScript_153C54
+ goto_if_eq FallarborTown_House1_EventScript_153C54
checkitem ITEM_METEORITE, 1
compare RESULT, 1
- jumpeq FallarborTown_House1_EventScript_153BDA
+ goto_if_eq FallarborTown_House1_EventScript_153BDA
msgbox FallarborTown_House1_Text_177755, 4
release
end
FallarborTown_House1_EventScript_153BDA:: @ 8153BDA
checkflag 2
- callif 0, FallarborTown_House1_EventScript_153C2D
+ call_if 0, FallarborTown_House1_EventScript_153C2D
checkflag 2
- callif 1, FallarborTown_House1_EventScript_153C3E
+ call_if 1, FallarborTown_House1_EventScript_153C3E
compare RESULT, 0
- jumpeq FallarborTown_House1_EventScript_153C47
+ goto_if_eq FallarborTown_House1_EventScript_153C47
msgbox FallarborTown_House1_Text_1778C4, 4
giveitem ITEM_TM27
compare RESULT, 0
- jumpeq FallarborTown_House1_EventScript_1A029B
+ goto_if_eq FallarborTown_House1_EventScript_1A029B
setvar 0x8004, 280
call FallarborTown_House1_EventScript_1A067F
setflag 229
@@ -59,9 +59,9 @@ FallarborTown_House1_EventScript_153C5E:: @ 8153C5E
lock
faceplayer
checkflag 229
- jumpeq FallarborTown_House1_EventScript_153C86
+ goto_if_eq FallarborTown_House1_EventScript_153C86
checkflag 139
- jumpeq FallarborTown_House1_EventScript_153C7C
+ goto_if_eq FallarborTown_House1_EventScript_153C7C
msgbox FallarborTown_House1_Text_177A2B, 4
release
end
diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc
index 1351b96d3..3b215a697 100644
--- a/data/scripts/maps/FallarborTown_House2.inc
+++ b/data/scripts/maps/FallarborTown_House2.inc
@@ -3,23 +3,23 @@ FallarborTown_House2_MapScripts:: @ 8153C90
FallarborTown_House2_EventScript_153C91:: @ 8153C91
lockall
- move 1, FallarborTown_House2_Movement_1A0839
- waitmove 0
+ applymovement 1, FallarborTown_House2_Movement_1A0839
+ waitmovement 0
checkflag 1
- jumpeq FallarborTown_House2_EventScript_153CB6
+ goto_if_eq FallarborTown_House2_EventScript_153CB6
msgbox FallarborTown_House2_Text_177AF4, 4
setflag 1
- jump FallarborTown_House2_EventScript_153CB6
+ goto FallarborTown_House2_EventScript_153CB6
end
FallarborTown_House2_EventScript_153CB6:: @ 8153CB6
checkitem ITEM_HEART_SCALE, 1
compare RESULT, 0
- jumpeq FallarborTown_House2_EventScript_153D60
+ goto_if_eq FallarborTown_House2_EventScript_153D60
msgbox FallarborTown_House2_Text_177BDB, 5
switch RESULT
case 0, FallarborTown_House2_EventScript_153D60
- jump FallarborTown_House2_EventScript_153CE4
+ goto FallarborTown_House2_EventScript_153CE4
end
FallarborTown_House2_EventScript_153CE4:: @ 8153CE4
@@ -27,13 +27,13 @@ FallarborTown_House2_EventScript_153CE4:: @ 8153CE4
special sub_80F9A4C
waitstate
compare 0x8004, 255
- jumpeq FallarborTown_House2_EventScript_153D60
+ goto_if_eq FallarborTown_House2_EventScript_153D60
special sub_80FA148
compare RESULT, 1
- jumpeq FallarborTown_House2_EventScript_153D52
+ goto_if_eq FallarborTown_House2_EventScript_153D52
compare 0x8005, 0
- jumpeq FallarborTown_House2_EventScript_153D44
- jump FallarborTown_House2_EventScript_153D1A
+ goto_if_eq FallarborTown_House2_EventScript_153D44
+ goto FallarborTown_House2_EventScript_153D1A
end
FallarborTown_House2_EventScript_153D1A:: @ 8153D1A
@@ -41,20 +41,20 @@ FallarborTown_House2_EventScript_153D1A:: @ 8153D1A
special sub_8132670
waitstate
compare 0x8004, 0
- jumpeq FallarborTown_House2_EventScript_153CE4
+ goto_if_eq FallarborTown_House2_EventScript_153CE4
msgbox FallarborTown_House2_Text_177CC3, 4
removeitem ITEM_HEART_SCALE, 1
- jump FallarborTown_House2_EventScript_153D60
+ goto FallarborTown_House2_EventScript_153D60
end
FallarborTown_House2_EventScript_153D44:: @ 8153D44
msgbox FallarborTown_House2_Text_177C78, 4
- jump FallarborTown_House2_EventScript_153CE4
+ goto FallarborTown_House2_EventScript_153CE4
end
FallarborTown_House2_EventScript_153D52:: @ 8153D52
msgbox FallarborTown_House2_Text_177D33, 4
- jump FallarborTown_House2_EventScript_153CE4
+ goto FallarborTown_House2_EventScript_153CE4
end
FallarborTown_House2_EventScript_153D60:: @ 8153D60
diff --git a/data/scripts/maps/FallarborTown_Mart.inc b/data/scripts/maps/FallarborTown_Mart.inc
index 4b66546e8..e6f715697 100644
--- a/data/scripts/maps/FallarborTown_Mart.inc
+++ b/data/scripts/maps/FallarborTown_Mart.inc
@@ -5,7 +5,7 @@ FallarborTown_Mart_EventScript_153967:: @ 8153967
lock
faceplayer
message FallarborTown_Mart_Text_1A0BE4
- waittext
+ waitmessage
pokemart FallarborTown_Mart_Items
msgbox FallarborTown_Mart_Text_1A0C02, 4
release
@@ -40,8 +40,8 @@ FallarborTown_Mart_EventScript_1539A5:: @ 81539A5
FallarborTown_Mart_EventScript_1539AE:: @ 81539AE
lock
faceplayer
- checksound
- pokecry SPECIES_SKITTY, 0
+ waitse
+ playpokecry SPECIES_SKITTY, 0
msgbox FallarborTown_Mart_Text_1770D3, 4
waitpokecry
release
diff --git a/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc
index 636cac8f1..5b1f1c948 100644
--- a/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc
+++ b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc
@@ -10,7 +10,7 @@ FallarborTown_PokemonCenter_1F_MapScript1_153AF9:: @ 8153AF9
FallarborTown_PokemonCenter_1F_EventScript_153B02:: @ 8153B02
setvar 0x800b, 1
call FallarborTown_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
@@ -27,27 +27,27 @@ FallarborTown_PokemonCenter_1F_EventScript_153B22:: @ 8153B22
lock
faceplayer
msgbox FallarborTown_PokemonCenter_1F_Text_1774D4, 4
- closebutton
+ closemessage
switch FACING
case 2, FallarborTown_PokemonCenter_1F_EventScript_153B49
case 3, FallarborTown_PokemonCenter_1F_EventScript_153B59
end
FallarborTown_PokemonCenter_1F_EventScript_153B49:: @ 8153B49
- move 4, FallarborTown_PokemonCenter_1F_Movement_153B74
- waitmove 0
- jump FallarborTown_PokemonCenter_1F_EventScript_153B69
+ applymovement 4, FallarborTown_PokemonCenter_1F_Movement_153B74
+ waitmovement 0
+ goto FallarborTown_PokemonCenter_1F_EventScript_153B69
end
FallarborTown_PokemonCenter_1F_EventScript_153B59:: @ 8153B59
- move 4, FallarborTown_PokemonCenter_1F_Movement_153B81
- waitmove 0
- jump FallarborTown_PokemonCenter_1F_EventScript_153B69
+ applymovement 4, FallarborTown_PokemonCenter_1F_Movement_153B81
+ waitmovement 0
+ goto FallarborTown_PokemonCenter_1F_EventScript_153B69
end
FallarborTown_PokemonCenter_1F_EventScript_153B69:: @ 8153B69
- playsfx 18
- disappear 4
+ playse 18
+ removeobject 4
clearflag 870
release
end
diff --git a/data/scripts/maps/FortreeCity.inc b/data/scripts/maps/FortreeCity.inc
index 7f9d5ae12..6ea89dcb7 100644
--- a/data/scripts/maps/FortreeCity.inc
+++ b/data/scripts/maps/FortreeCity.inc
@@ -19,7 +19,7 @@ FortreeCity_EventScript_14C95E:: @ 814C95E
lock
faceplayer
checkflag 295
- jumpeq FortreeCity_EventScript_14C973
+ goto_if_eq FortreeCity_EventScript_14C973
msgbox FortreeCity_Text_1675C2, 4
release
end
@@ -58,7 +58,7 @@ FortreeCity_EventScript_14C9B3:: @ 814C9B3
faceplayer
checkitem ITEM_DEVON_SCOPE, 1
compare RESULT, 1
- jumpeq FortreeCity_EventScript_14C9CF
+ goto_if_eq FortreeCity_EventScript_14C9CF
msgbox FortreeCity_Text_167868, 4
release
end
@@ -66,22 +66,22 @@ FortreeCity_EventScript_14C9B3:: @ 814C9B3
FortreeCity_EventScript_14C9CF:: @ 814C9CF
msgbox FortreeCity_Text_16788B, 5
compare RESULT, 1
- jumpeq FortreeCity_EventScript_14C9E4
+ goto_if_eq FortreeCity_EventScript_14C9E4
release
end
FortreeCity_EventScript_14C9E4:: @ 814C9E4
msgbox FortreeCity_Text_1678CB, 4
- closebutton
- move LAST_TALKED, FortreeCity_Movement_1A0662
- waitmove 0
- checksound
- pokecry SPECIES_KECLEON, 2
- pause 40
+ closemessage
+ applymovement LAST_TALKED, FortreeCity_Movement_1A0662
+ waitmovement 0
+ waitse
+ playpokecry SPECIES_KECLEON, 2
+ delay 40
waitpokecry
- move LAST_TALKED, FortreeCity_Movement_14CA13
- waitmove 0
- disappear LAST_TALKED
+ applymovement LAST_TALKED, FortreeCity_Movement_14CA13
+ waitmovement 0
+ removeobject LAST_TALKED
setflag 295
release
end
diff --git a/data/scripts/maps/FortreeCity_DecorationShop.inc b/data/scripts/maps/FortreeCity_DecorationShop.inc
index c9d9fdd4e..fca20b866 100644
--- a/data/scripts/maps/FortreeCity_DecorationShop.inc
+++ b/data/scripts/maps/FortreeCity_DecorationShop.inc
@@ -13,7 +13,7 @@ FortreeCity_DecorationShop_EventScript_15826A:: @ 815826A
lock
faceplayer
message FortreeCity_DecorationShop_Text_1A0BE4
- waittext
+ waitmessage
pokemartdecor FortreeCity_DecorationShop_Decorations1
msgbox FortreeCity_DecorationShop_Text_1A0C02, 4
release
@@ -37,7 +37,7 @@ FortreeCity_DecorationShop_EventScript_158298:: @ 8158298
lock
faceplayer
message FortreeCity_DecorationShop_Text_1A0BE4
- waittext
+ waitmessage
pokemartdecor FortreeCity_DecorationShop_Decorations2
msgbox FortreeCity_DecorationShop_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc
index 44f5890a2..7309be0bb 100644
--- a/data/scripts/maps/FortreeCity_Gym.inc
+++ b/data/scripts/maps/FortreeCity_Gym.inc
@@ -18,27 +18,27 @@ FortreeCity_Gym_EventScript_157EEC:: @ 8157EEC
FortreeCity_Gym_EventScript_157EF0:: @ 8157EF0
trainerbattle 1, OPPONENT_WINONA, 0, FortreeCity_Gym_Text_185CCB, FortreeCity_Gym_Text_185DBA, FortreeCity_Gym_EventScript_157F15
checkflag 170
- jumpif 0, FortreeCity_Gym_EventScript_157F3E
+ goto_if 0, FortreeCity_Gym_EventScript_157F3E
msgbox FortreeCity_Gym_Text_185F98, 4
release
end
FortreeCity_Gym_EventScript_157F15:: @ 8157F15
message FortreeCity_Gym_Text_185E48
- waittext
+ waitmessage
call FortreeCity_Gym_EventScript_1A02C5
msgbox FortreeCity_Gym_Text_185E73, 4
setflag 1225
setflag 2060
setvar 0x8008, 6
call FortreeCity_Gym_EventScript_1A01C0
- jump FortreeCity_Gym_EventScript_157F3E
+ goto FortreeCity_Gym_EventScript_157F3E
end
FortreeCity_Gym_EventScript_157F3E:: @ 8157F3E
giveitem ITEM_TM40
compare RESULT, 0
- jumpeq FortreeCity_Gym_EventScript_1A029B
+ goto_if_eq FortreeCity_Gym_EventScript_1A029B
msgbox FortreeCity_Gym_Text_185F4A, 4
setflag 170
release
@@ -68,7 +68,7 @@ FortreeCity_Gym_EventScript_157FBE:: @ 8157FBE
lock
faceplayer
checkflag 1225
- jumpeq FortreeCity_Gym_EventScript_157FD3
+ goto_if_eq FortreeCity_Gym_EventScript_157FD3
msgbox FortreeCity_Gym_Text_18589C, 4
release
end
@@ -81,15 +81,15 @@ FortreeCity_Gym_EventScript_157FD3:: @ 8157FD3
FortreeCity_Gym_EventScript_157FDD:: @ 8157FDD
lockall
checkflag 2060
- jumpeq FortreeCity_Gym_EventScript_157FFD
- jump FortreeCity_Gym_EventScript_158007
+ goto_if_eq FortreeCity_Gym_EventScript_157FFD
+ goto FortreeCity_Gym_EventScript_158007
end
FortreeCity_Gym_EventScript_157FED:: @ 8157FED
lockall
checkflag 2060
- jumpeq FortreeCity_Gym_EventScript_157FFD
- jump FortreeCity_Gym_EventScript_158007
+ goto_if_eq FortreeCity_Gym_EventScript_157FFD
+ goto FortreeCity_Gym_EventScript_158007
end
FortreeCity_Gym_EventScript_157FFD:: @ 8157FFD
diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc
index f5bda05ab..7b7ef0b2e 100644
--- a/data/scripts/maps/FortreeCity_House1.inc
+++ b/data/scripts/maps/FortreeCity_House1.inc
@@ -5,30 +5,30 @@ FortreeCity_House1_EventScript_157E13:: @ 8157E13
lock
faceplayer
checkflag 155
- jumpeq FortreeCity_House1_EventScript_157EAD
+ goto_if_eq FortreeCity_House1_EventScript_157EAD
setvar 0x8008, 1
copyvar 0x8004, 0x8008
- specialval RESULT, sub_804D89C
+ specialvar RESULT, sub_804D89C
copyvar 0x8009, RESULT
msgbox FortreeCity_House1_Text_18568C, 5
compare RESULT, 0
- jumpeq FortreeCity_House1_EventScript_157E95
+ goto_if_eq FortreeCity_House1_EventScript_157E95
special sub_80F9A0C
waitstate
copyvar 0x800a, 0x8004
compare 0x8004, 255
- jumpeq FortreeCity_House1_EventScript_157E95
+ goto_if_eq FortreeCity_House1_EventScript_157E95
copyvar 0x8005, 0x800a
- specialval RESULT, sub_804DB2C
+ specialvar RESULT, sub_804DB2C
copyvar 0x800b, RESULT
- comparevars RESULT, 0x8009
- jumpif 5, FortreeCity_House1_EventScript_157E9F
+ compare RESULT, 0x8009
+ goto_if 5, FortreeCity_House1_EventScript_157E9F
copyvar 0x8004, 0x8008
copyvar 0x8005, 0x800a
special sub_804DB68
special sub_804E174
waitstate
- bufferpoke 0, 0x8009
+ getspeciesname 0, 0x8009
msgbox FortreeCity_House1_Text_1856F7, 4
setflag 155
release
@@ -40,7 +40,7 @@ FortreeCity_House1_EventScript_157E95:: @ 8157E95
end
FortreeCity_House1_EventScript_157E9F:: @ 8157E9F
- bufferpoke 0, 0x8009
+ getspeciesname 0, 0x8009
msgbox FortreeCity_House1_Text_185737, 4
release
end
@@ -57,8 +57,8 @@ FortreeCity_House1_EventScript_157EB7:: @ 8157EB7
FortreeCity_House1_EventScript_157EC0:: @ 8157EC0
lock
faceplayer
- checksound
- pokecry SPECIES_ZIGZAGOON, 0
+ waitse
+ playpokecry SPECIES_ZIGZAGOON, 0
msgbox FortreeCity_House1_Text_185888, 4
waitpokecry
release
diff --git a/data/scripts/maps/FortreeCity_House2.inc b/data/scripts/maps/FortreeCity_House2.inc
index ea4aad3d8..f210dd3ac 100644
--- a/data/scripts/maps/FortreeCity_House2.inc
+++ b/data/scripts/maps/FortreeCity_House2.inc
@@ -5,9 +5,9 @@ FortreeCity_House2_EventScript_1580B4:: @ 81580B4
lock
faceplayer
checkflag 264
- jumpeq FortreeCity_House2_EventScript_158157
+ goto_if_eq FortreeCity_House2_EventScript_158157
checkflag 118
- callif 0, FortreeCity_House2_EventScript_15814B
+ call_if 0, FortreeCity_House2_EventScript_15814B
msgbox FortreeCity_House2_Text_186360, 4
multichoice 21, 8, 54, 1
switch RESULT
@@ -23,7 +23,7 @@ FortreeCity_House2_EventScript_1580B4:: @ 81580B4
msgbox FortreeCity_House2_Text_1864C6, 4
giveitem ITEM_TM10
compare RESULT, 0
- jumpeq FortreeCity_House2_EventScript_1A029B
+ goto_if_eq FortreeCity_House2_EventScript_1A029B
setflag 264
msgbox FortreeCity_House2_Text_18652F, 4
release
diff --git a/data/scripts/maps/FortreeCity_House4.inc b/data/scripts/maps/FortreeCity_House4.inc
index 33d0ed1ae..b261e14fb 100644
--- a/data/scripts/maps/FortreeCity_House4.inc
+++ b/data/scripts/maps/FortreeCity_House4.inc
@@ -8,42 +8,42 @@ FortreeCity_House4_EventScript_15817F:: @ 815817F
FortreeCity_House4_EventScript_158188:: @ 8158188
lockall
checkflag 223
- jumpeq FortreeCity_House4_EventScript_158204
+ goto_if_eq FortreeCity_House4_EventScript_158204
checkflag 224
- jumpeq FortreeCity_House4_EventScript_1581D6
+ goto_if_eq FortreeCity_House4_EventScript_1581D6
checkflag 222
- jumpeq FortreeCity_House4_EventScript_1581C2
+ goto_if_eq FortreeCity_House4_EventScript_1581C2
msgbox FortreeCity_House4_Text_186835, 4
- closebutton
+ closemessage
setflag 222
clearflag 934
- move 3, FortreeCity_House4_Movement_158218
- waitmove 0
- disappear 3
+ applymovement 3, FortreeCity_House4_Movement_158218
+ waitmovement 0
+ removeobject 3
releaseall
end
FortreeCity_House4_EventScript_1581C2:: @ 81581C2
- move LAST_TALKED, FortreeCity_House4_Movement_1A0839
- waitmove 0
+ applymovement LAST_TALKED, FortreeCity_House4_Movement_1A0839
+ waitmovement 0
msgbox FortreeCity_House4_Text_18684E, 4
releaseall
end
FortreeCity_House4_EventScript_1581D6:: @ 81581D6
- move LAST_TALKED, FortreeCity_House4_Movement_1A0839
- waitmove 0
+ applymovement LAST_TALKED, FortreeCity_House4_Movement_1A0839
+ waitmovement 0
msgbox FortreeCity_House4_Text_186881, 4
giveitem ITEM_MENTAL_HERB
compare RESULT, 0
- jumpeq FortreeCity_House4_EventScript_1A029B
+ goto_if_eq FortreeCity_House4_EventScript_1A029B
setflag 223
releaseall
end
FortreeCity_House4_EventScript_158204:: @ 8158204
- move LAST_TALKED, FortreeCity_House4_Movement_1A0839
- waitmove 0
+ applymovement LAST_TALKED, FortreeCity_House4_Movement_1A0839
+ waitmovement 0
msgbox FortreeCity_House4_Text_186924, 4
releaseall
end
@@ -59,8 +59,8 @@ FortreeCity_House4_Movement_158218:: @ 8158218
FortreeCity_House4_EventScript_15821E:: @ 815821E
lock
faceplayer
- checksound
- pokecry SPECIES_WINGULL, 0
+ waitse
+ playpokecry SPECIES_WINGULL, 0
msgbox FortreeCity_House4_Text_18695C, 4
waitpokecry
release
diff --git a/data/scripts/maps/FortreeCity_House5.inc b/data/scripts/maps/FortreeCity_House5.inc
index 1144a8e81..fe10b53b0 100644
--- a/data/scripts/maps/FortreeCity_House5.inc
+++ b/data/scripts/maps/FortreeCity_House5.inc
@@ -12,8 +12,8 @@ FortreeCity_House5_EventScript_15823B:: @ 815823B
FortreeCity_House5_EventScript_158244:: @ 8158244
lock
faceplayer
- checksound
- pokecry SPECIES_ZIGZAGOON, 0
+ waitse
+ playpokecry SPECIES_ZIGZAGOON, 0
msgbox FortreeCity_House5_Text_186A4F, 4
waitpokecry
release
diff --git a/data/scripts/maps/FortreeCity_Mart.inc b/data/scripts/maps/FortreeCity_Mart.inc
index 9e5f34ff9..076f702af 100644
--- a/data/scripts/maps/FortreeCity_Mart.inc
+++ b/data/scripts/maps/FortreeCity_Mart.inc
@@ -5,7 +5,7 @@ FortreeCity_Mart_EventScript_158067:: @ 8158067
lock
faceplayer
message FortreeCity_Mart_Text_1A0BE4
- waittext
+ waitmessage
pokemart FortreeCity_Mart_Items
msgbox FortreeCity_Mart_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc b/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc
index 148324abf..5268cbeed 100644
--- a/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc
@@ -9,7 +9,7 @@ FortreeCity_PokemonCenter_1F_MapScript1_158017:: @ 8158017
FortreeCity_PokemonCenter_1F_EventScript_15801B:: @ 815801B
setvar 0x800b, 1
call FortreeCity_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/GraniteCave_1F.inc b/data/scripts/maps/GraniteCave_1F.inc
index 59aaa2fc3..f389a774e 100644
--- a/data/scripts/maps/GraniteCave_1F.inc
+++ b/data/scripts/maps/GraniteCave_1F.inc
@@ -5,7 +5,7 @@ GraniteCave_1F_EventScript_15CBA7:: @ 815CBA7
lock
faceplayer
checkflag 109
- jumpeq GraniteCave_1F_EventScript_15CBD3
+ goto_if_eq GraniteCave_1F_EventScript_15CBD3
msgbox GraniteCave_1F_Text_194917, 4
giveitem ITEM_HM05
setflag 109
diff --git a/data/scripts/maps/GraniteCave_B1F.inc b/data/scripts/maps/GraniteCave_B1F.inc
index 240de1d98..aa8d705c7 100644
--- a/data/scripts/maps/GraniteCave_B1F.inc
+++ b/data/scripts/maps/GraniteCave_B1F.inc
@@ -6,5 +6,5 @@ GraniteCave_B1F_MapScripts:: @ 815CBDD
GraniteCave_B1F_MapScript1_15CBED:: @ 815CBED
tileeffect 7
- warp5 GraniteCave_B2F, 255, 0, 0
+ setholewarp GraniteCave_B2F, 255, 0, 0
end
diff --git a/data/scripts/maps/GraniteCave_StevensRoom.inc b/data/scripts/maps/GraniteCave_StevensRoom.inc
index 895241406..070276e58 100644
--- a/data/scripts/maps/GraniteCave_StevensRoom.inc
+++ b/data/scripts/maps/GraniteCave_StevensRoom.inc
@@ -11,30 +11,30 @@ GraniteCave_StevensRoom_EventScript_15CBFA:: @ 815CBFA
msgbox GraniteCave_StevensRoom_Text_194BDD, 4
giveitem ITEM_TM47
compare RESULT, 0
- callif 1, GraniteCave_StevensRoom_EventScript_15CC83
+ call_if 1, GraniteCave_StevensRoom_EventScript_15CC83
msgbox GraniteCave_StevensRoom_Text_194C8D, 4
- closebutton
+ closemessage
compare FACING, 2
- callif 1, GraniteCave_StevensRoom_EventScript_15CC6D
+ call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D
compare FACING, 1
- callif 1, GraniteCave_StevensRoom_EventScript_15CC78
+ call_if 1, GraniteCave_StevensRoom_EventScript_15CC78
compare FACING, 3
- callif 1, GraniteCave_StevensRoom_EventScript_15CC6D
+ call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D
compare FACING, 4
- callif 1, GraniteCave_StevensRoom_EventScript_15CC6D
- playsfx 9
- disappear 1
+ call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D
+ playse 9
+ removeobject 1
release
end
GraniteCave_StevensRoom_EventScript_15CC6D:: @ 815CC6D
- move 1, GraniteCave_StevensRoom_Movement_15CC8C
- waitmove 0
+ applymovement 1, GraniteCave_StevensRoom_Movement_15CC8C
+ waitmovement 0
return
GraniteCave_StevensRoom_EventScript_15CC78:: @ 815CC78
- move 1, GraniteCave_StevensRoom_Movement_15CC93
- waitmove 0
+ applymovement 1, GraniteCave_StevensRoom_Movement_15CC93
+ waitmovement 0
return
GraniteCave_StevensRoom_EventScript_15CC83:: @ 815CC83
diff --git a/data/scripts/maps/InsideOfTruck.inc b/data/scripts/maps/InsideOfTruck.inc
index 0c26f0f88..fc2930aa5 100644
--- a/data/scripts/maps/InsideOfTruck.inc
+++ b/data/scripts/maps/InsideOfTruck.inc
@@ -16,11 +16,11 @@ InsideOfTruck_MapScript1_15FC26:: @ 815FC26
InsideOfTruck_EventScript_15FC29:: @ 815FC29
lockall
setflag 0x4000
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq InsideOfTruck_EventScript_15FC45
+ goto_if_eq InsideOfTruck_EventScript_15FC45
compare RESULT, 1
- jumpeq InsideOfTruck_EventScript_15FC68
+ goto_if_eq InsideOfTruck_EventScript_15FC68
end
InsideOfTruck_EventScript_15FC45:: @ 815FC45
@@ -31,7 +31,7 @@ InsideOfTruck_EventScript_15FC45:: @ 815FC45
setflag 784
setflag 760
setvar 0x408c, 1
- warpplace LittlerootTown, 255, 3, 10
+ setdynamicwarp LittlerootTown, 255, 3, 10
releaseall
end
@@ -43,7 +43,7 @@ InsideOfTruck_EventScript_15FC68:: @ 815FC68
setflag 785
setflag 722
setvar 0x4082, 1
- warpplace LittlerootTown, 255, 12, 10
+ setdynamicwarp LittlerootTown, 255, 12, 10
releaseall
end
diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc
index 2f8ba2121..75399bde8 100644
--- a/data/scripts/maps/IslandCave.inc
+++ b/data/scripts/maps/IslandCave.inc
@@ -6,16 +6,16 @@ IslandCave_MapScripts:: @ 815EEB6
IslandCave_MapScript1_15EEC6:: @ 815EEC6
checkflag 2145
- callif 1, IslandCave_EventScript_15EED0
+ call_if 1, IslandCave_EventScript_15EED0
end
IslandCave_EventScript_15EED0:: @ 815EED0
- disappear LAST_TALKED
+ removeobject LAST_TALKED
return
IslandCave_MapScript1_15EED4:: @ 815EED4
checkflag 2129
- callif 0, IslandCave_EventScript_15EEDE
+ call_if 0, IslandCave_EventScript_15EEDE
end
IslandCave_EventScript_15EEDE:: @ 815EEDE
@@ -39,18 +39,18 @@ S_OpenRegiceChamber:: @ 815EF19
setmaptile 8, 20, 563, 0
setmaptile 9, 20, 564, 1
special DrawWholeMapView
- playsfx SE_BAN
+ playse SE_BAN
setflag 2129
end
IslandCave_EventScript_15EF59:: @ 815EF59
lockall
checkflag 2129
- jumpeq IslandCave_EventScript_15EF72
- braillemsg IslandCave_Braille_1C54FC
+ goto_if_eq IslandCave_EventScript_15EF72
+ braillemessage IslandCave_Braille_1C54FC
special DoBrailleWait
waitstate
- jump IslandCave_EventScript_15EF95
+ goto IslandCave_EventScript_15EF95
end
IslandCave_EventScript_15EF72:: @ 815EF72
@@ -60,26 +60,26 @@ IslandCave_EventScript_15EF72:: @ 815EF72
IslandCave_EventScript_15EF7C:: @ 815EF7C
lockall
- braillemsg IslandCave_Braille_1C54FC
+ braillemessage IslandCave_Braille_1C54FC
checkflag 2129
- jumpeq IslandCave_EventScript_15EF95
+ goto_if_eq IslandCave_EventScript_15EF95
special DoBrailleWait
waitstate
- jump IslandCave_EventScript_15EF95
+ goto IslandCave_EventScript_15EF95
end
IslandCave_EventScript_15EF95:: @ 815EF95
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
IslandCave_EventScript_15EF9D:: @ 815EF9D
lock
faceplayer
- checksound
- pokecry SPECIES_REGICE, 2
- pause 40
+ waitse
+ playpokecry SPECIES_REGICE, 2
+ delay 40
waitpokecry
setwildbattle SPECIES_REGICE, 40, ITEM_NONE
setflag 936
diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc
index 151f1ec79..6f910d0ad 100644
--- a/data/scripts/maps/JaggedPass.inc
+++ b/data/scripts/maps/JaggedPass.inc
@@ -9,7 +9,7 @@ JaggedPass_MapScript1_15D271:: @ 815D271
JaggedPass_MapScript1_15D274:: @ 815D274
compare 0x40bd, 1
- callif 1, JaggedPass_EventScript_15D280
+ call_if 1, JaggedPass_EventScript_15D280
end
JaggedPass_EventScript_15D280:: @ 815D280
@@ -24,9 +24,9 @@ JaggedPass_EventScript_15D285:: @ 815D285
JaggedPass_EventScript_15D29C:: @ 815D29C
trainerbattle 0, OPPONENT_DIANA_1, 0, JaggedPass_Text_195E9E, JaggedPass_Text_195EDF
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq JaggedPass_EventScript_15D2C3
+ goto_if_eq JaggedPass_EventScript_15D2C3
msgbox JaggedPass_Text_195F04, 6
end
@@ -37,9 +37,9 @@ JaggedPass_EventScript_15D2C3:: @ 815D2C3
JaggedPass_EventScript_15D2DA:: @ 815D2DA
trainerbattle 0, OPPONENT_ETHAN_1, 0, JaggedPass_Text_195FF2, JaggedPass_Text_196032
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq JaggedPass_EventScript_15D301
+ goto_if_eq JaggedPass_EventScript_15D301
msgbox JaggedPass_Text_196077, 6
end
diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc
index 685e44d58..5192176a7 100644
--- a/data/scripts/maps/LavaridgeTown.inc
+++ b/data/scripts/maps/LavaridgeTown.inc
@@ -6,16 +6,16 @@ LavaridgeTown_MapScripts:: @ 814E4A3
LavaridgeTown_MapScript1_14E4AE:: @ 814E4AE
setflag 2066
checkflag 139
- callif 1, LavaridgeTown_EventScript_14E4DF
+ call_if 1, LavaridgeTown_EventScript_14E4DF
call LavaridgeTown_EventScript_1A014E
call LavaridgeTown_EventScript_1A0172
compare 0x4053, 2
- callif 1, LavaridgeTown_EventScript_14E4D0
+ call_if 1, LavaridgeTown_EventScript_14E4D0
end
LavaridgeTown_EventScript_14E4D0:: @ 814E4D0
- movespriteperm 8, 11, 9
- movespriteperm 7, 11, 9
+ setobjectxyperm 8, 11, 9
+ setobjectxyperm 7, 11, 9
return
LavaridgeTown_EventScript_14E4DF:: @ 814E4DF
@@ -29,56 +29,56 @@ LavaridgeTown_MapScript2_14E4E3:: @ 814E4E3
LavaridgeTown_EventScript_14E4ED:: @ 814E4ED
lockall
setvar 0x8008, 1
- setdooropened 12, 15
- doorchange
- reappear 8
- move 8, LavaridgeTown_Movement_14E70E
- waitmove 0
- setdoorclosed 12, 15
- doorchange
- move 8, LavaridgeTown_Movement_1A083F
- waitmove 0
- move 255, LavaridgeTown_Movement_1A0843
- move 8, LavaridgeTown_Movement_1A0833
- waitmove 0
- move 8, LavaridgeTown_Movement_1A0835
- waitmove 0
- checkgender
+ opendoor 12, 15
+ waitdooranim
+ addobject 8
+ applymovement 8, LavaridgeTown_Movement_14E70E
+ waitmovement 0
+ closedoor 12, 15
+ waitdooranim
+ applymovement 8, LavaridgeTown_Movement_1A083F
+ waitmovement 0
+ applymovement 255, LavaridgeTown_Movement_1A0843
+ applymovement 8, LavaridgeTown_Movement_1A0833
+ waitmovement 0
+ applymovement 8, LavaridgeTown_Movement_1A0835
+ waitmovement 0
+ checkplayergender
compare RESULT, 0
- callif 1, LavaridgeTown_EventScript_14E56B
+ call_if 1, LavaridgeTown_EventScript_14E56B
compare RESULT, 1
- callif 1, LavaridgeTown_EventScript_14E570
+ call_if 1, LavaridgeTown_EventScript_14E570
compare 0x8008, 1
- callif 1, LavaridgeTown_EventScript_14E68F
- checkgender
+ call_if 1, LavaridgeTown_EventScript_14E68F
+ checkplayergender
compare RESULT, 0
- jumpeq LavaridgeTown_EventScript_14E5AB
+ goto_if_eq LavaridgeTown_EventScript_14E5AB
compare RESULT, 1
- jumpeq LavaridgeTown_EventScript_14E5D0
+ goto_if_eq LavaridgeTown_EventScript_14E5D0
end
LavaridgeTown_EventScript_14E56B:: @ 814E56B
- playmusic 415, 1
+ playbgm 415, 1
return
LavaridgeTown_EventScript_14E570:: @ 814E570
- playmusic 421, 1
+ playbgm 421, 1
return
LavaridgeTown_EventScript_14E575:: @ 814E575
lock
faceplayer
setvar 0x8008, 0
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LavaridgeTown_EventScript_14E56B
+ call_if 1, LavaridgeTown_EventScript_14E56B
compare RESULT, 1
- callif 1, LavaridgeTown_EventScript_14E570
- checkgender
+ call_if 1, LavaridgeTown_EventScript_14E570
+ checkplayergender
compare RESULT, 0
- jumpeq LavaridgeTown_EventScript_14E5AB
+ goto_if_eq LavaridgeTown_EventScript_14E5AB
compare RESULT, 1
- jumpeq LavaridgeTown_EventScript_14E5D0
+ goto_if_eq LavaridgeTown_EventScript_14E5D0
end
LavaridgeTown_EventScript_14E5AB:: @ 814E5AB
@@ -86,7 +86,7 @@ LavaridgeTown_EventScript_14E5AB:: @ 814E5AB
giveitem ITEM_GO_GOGGLES
setflag 221
msgbox LavaridgeTown_Text_16BE7D, 4
- jump LavaridgeTown_EventScript_14E5F5
+ goto LavaridgeTown_EventScript_14E5F5
end
LavaridgeTown_EventScript_14E5D0:: @ 814E5D0
@@ -94,28 +94,28 @@ LavaridgeTown_EventScript_14E5D0:: @ 814E5D0
giveitem ITEM_GO_GOGGLES
setflag 221
msgbox LavaridgeTown_Text_16C020, 4
- jump LavaridgeTown_EventScript_14E5F5
+ goto LavaridgeTown_EventScript_14E5F5
end
LavaridgeTown_EventScript_14E5F5:: @ 814E5F5
- closebutton
+ closemessage
compare 0x8008, 1
- callif 1, LavaridgeTown_EventScript_14E646
+ call_if 1, LavaridgeTown_EventScript_14E646
compare 0x8008, 0
- callif 1, LavaridgeTown_EventScript_14E64E
- disappear 8
- reappear 7
- pause 30
+ call_if 1, LavaridgeTown_EventScript_14E64E
+ removeobject 8
+ addobject 7
+ delay 30
compare 0x8008, 1
- callif 1, LavaridgeTown_EventScript_14E69A
+ call_if 1, LavaridgeTown_EventScript_14E69A
compare 0x8008, 0
- callif 1, LavaridgeTown_EventScript_14E6A5
- disappear 7
+ call_if 1, LavaridgeTown_EventScript_14E6A5
+ removeobject 7
setvar 0x4053, 2
- playmusicbattle 0
- fadedefault
+ savebgm 0
+ fadedefaultbgm
compare 0x8008, 0
- jumpeq LavaridgeTown_EventScript_14E644
+ goto_if_eq LavaridgeTown_EventScript_14E644
releaseall
end
@@ -124,65 +124,65 @@ LavaridgeTown_EventScript_14E644:: @ 814E644
end
LavaridgeTown_EventScript_14E646:: @ 814E646
- movespriteperm 7, 6, 16
+ setobjectxyperm 7, 6, 16
return
LavaridgeTown_EventScript_14E64E:: @ 814E64E
compare FACING, 2
- callif 1, LavaridgeTown_EventScript_14E67B
+ call_if 1, LavaridgeTown_EventScript_14E67B
compare FACING, 1
- callif 1, LavaridgeTown_EventScript_14E680
+ call_if 1, LavaridgeTown_EventScript_14E680
compare FACING, 3
- callif 1, LavaridgeTown_EventScript_14E685
+ call_if 1, LavaridgeTown_EventScript_14E685
compare FACING, 4
- callif 1, LavaridgeTown_EventScript_14E68A
+ call_if 1, LavaridgeTown_EventScript_14E68A
return
LavaridgeTown_EventScript_14E67B:: @ 814E67B
- spritebehave 7, 8
+ setobjectmovementtype 7, 8
return
LavaridgeTown_EventScript_14E680:: @ 814E680
- spritebehave 7, 7
+ setobjectmovementtype 7, 7
return
LavaridgeTown_EventScript_14E685:: @ 814E685
- spritebehave 7, 10
+ setobjectmovementtype 7, 10
return
LavaridgeTown_EventScript_14E68A:: @ 814E68A
- spritebehave 7, 9
+ setobjectmovementtype 7, 9
return
LavaridgeTown_EventScript_14E68F:: @ 814E68F
- move 8, LavaridgeTown_Movement_14E6E8
- waitmove 0
+ applymovement 8, LavaridgeTown_Movement_14E6E8
+ waitmovement 0
return
LavaridgeTown_EventScript_14E69A:: @ 814E69A
- move 7, LavaridgeTown_Movement_14E6EF
- waitmove 0
+ applymovement 7, LavaridgeTown_Movement_14E6EF
+ waitmovement 0
return
LavaridgeTown_EventScript_14E6A5:: @ 814E6A5
compare FACING, 2
- callif 1, LavaridgeTown_EventScript_14E6D2
+ call_if 1, LavaridgeTown_EventScript_14E6D2
compare FACING, 1
- callif 1, LavaridgeTown_EventScript_14E6D2
+ call_if 1, LavaridgeTown_EventScript_14E6D2
compare FACING, 3
- callif 1, LavaridgeTown_EventScript_14E6DD
+ call_if 1, LavaridgeTown_EventScript_14E6DD
compare FACING, 4
- callif 1, LavaridgeTown_EventScript_14E6D2
+ call_if 1, LavaridgeTown_EventScript_14E6D2
return
LavaridgeTown_EventScript_14E6D2:: @ 814E6D2
- move 7, LavaridgeTown_Movement_14E6FA
- waitmove 0
+ applymovement 7, LavaridgeTown_Movement_14E6FA
+ waitmovement 0
return
LavaridgeTown_EventScript_14E6DD:: @ 814E6DD
- move 7, LavaridgeTown_Movement_14E703
- waitmove 0
+ applymovement 7, LavaridgeTown_Movement_14E703
+ waitmovement 0
return
LavaridgeTown_Movement_14E6E8:: @ 814E6E8
@@ -236,13 +236,13 @@ LavaridgeTown_Movement_14E70E:: @ 814E70E
step_end
LavaridgeTown_EventScript_14E710:: @ 814E710
- specialval RESULT, player_get_direction_lower_nybble
+ specialvar RESULT, player_get_direction_lower_nybble
compare RESULT, 1
- jumpeq LavaridgeTown_EventScript_14E721
+ goto_if_eq LavaridgeTown_EventScript_14E721
end
LavaridgeTown_EventScript_14E721:: @ 814E721
- inccounter GAME_STAT_ENTERED_HOT_SPRINGS
+ incrementgamestat GAME_STAT_ENTERED_HOT_SPRINGS
end
LavaridgeTown_EventScript_14E724:: @ 814E724
@@ -273,19 +273,19 @@ LavaridgeTown_EventScript_14E75A:: @ 814E75A
lock
faceplayer
checkflag 266
- jumpeq LavaridgeTown_EventScript_14E79E
+ goto_if_eq LavaridgeTown_EventScript_14E79E
msgbox LavaridgeTown_Text_16C174, 5
compare RESULT, 0
- jumpeq LavaridgeTown_EventScript_14E7B2
+ goto_if_eq LavaridgeTown_EventScript_14E7B2
countpokemon
compare RESULT, 6
- jumpeq LavaridgeTown_EventScript_14E7A8
+ goto_if_eq LavaridgeTown_EventScript_14E7A8
msgbox LavaridgeTown_Text_16C2B6, 4
setflag 266
- fanfare 370
+ playfanfare 370
message LavaridgeTown_Text_16C2EA
waitfanfare
- waittext
+ waitmessage
giveegg 360
release
end
diff --git a/data/scripts/maps/LavaridgeTown_Gym_1F.inc b/data/scripts/maps/LavaridgeTown_Gym_1F.inc
index 57506bdb6..2edffe9f0 100644
--- a/data/scripts/maps/LavaridgeTown_Gym_1F.inc
+++ b/data/scripts/maps/LavaridgeTown_Gym_1F.inc
@@ -14,27 +14,27 @@ LavaridgeTown_Gym_1F_EventScript_15369F:: @ 815369F
setvar 0x400e, 0
setvar 0x400f, 0
checktrainerflag OPPONENT_COLE
- jumpeq LavaridgeTown_Gym_1F_EventScript_1536C6
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536C6
setvar 0x400b, 1
LavaridgeTown_Gym_1F_EventScript_1536C6:: @ 81536C6
checktrainerflag OPPONENT_ZANE
- jumpeq LavaridgeTown_Gym_1F_EventScript_1536D4
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536D4
setvar 0x400c, 1
LavaridgeTown_Gym_1F_EventScript_1536D4:: @ 81536D4
checktrainerflag OPPONENT_AXLE
- jumpeq LavaridgeTown_Gym_1F_EventScript_1536E2
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536E2
setvar 0x400d, 1
LavaridgeTown_Gym_1F_EventScript_1536E2:: @ 81536E2
checktrainerflag OPPONENT_SADIE
- jumpeq LavaridgeTown_Gym_1F_EventScript_1536F0
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536F0
setvar 0x400e, 1
LavaridgeTown_Gym_1F_EventScript_1536F0:: @ 81536F0
checktrainerflag OPPONENT_ANDY
- jumpeq LavaridgeTown_Gym_1F_EventScript_1536FE
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536FE
setvar 0x400f, 1
LavaridgeTown_Gym_1F_EventScript_1536FE:: @ 81536FE
@@ -42,28 +42,28 @@ LavaridgeTown_Gym_1F_EventScript_1536FE:: @ 81536FE
LavaridgeTown_Gym_1F_EventScript_1536FF:: @ 81536FF
checktrainerflag OPPONENT_COLE
- jumpeq LavaridgeTown_Gym_1F_EventScript_15370C
- spritebehave 2, 63
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_15370C
+ setobjectmovementtype 2, 63
LavaridgeTown_Gym_1F_EventScript_15370C:: @ 815370C
checktrainerflag OPPONENT_ZANE
- jumpeq LavaridgeTown_Gym_1F_EventScript_153719
- spritebehave 3, 63
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_153719
+ setobjectmovementtype 3, 63
LavaridgeTown_Gym_1F_EventScript_153719:: @ 8153719
checktrainerflag OPPONENT_AXLE
- jumpeq LavaridgeTown_Gym_1F_EventScript_153726
- spritebehave 4, 63
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_153726
+ setobjectmovementtype 4, 63
LavaridgeTown_Gym_1F_EventScript_153726:: @ 8153726
checktrainerflag OPPONENT_SADIE
- jumpeq LavaridgeTown_Gym_1F_EventScript_153733
- spritebehave 5, 63
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_153733
+ setobjectmovementtype 5, 63
LavaridgeTown_Gym_1F_EventScript_153733:: @ 8153733
checktrainerflag OPPONENT_ANDY
- jumpeq LavaridgeTown_Gym_1F_EventScript_153740
- spritebehave 7, 63
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_153740
+ setobjectmovementtype 7, 63
LavaridgeTown_Gym_1F_EventScript_153740:: @ 8153740
return
@@ -71,32 +71,32 @@ LavaridgeTown_Gym_1F_EventScript_153740:: @ 8153740
LavaridgeTown_Gym_1F_EventScript_153741:: @ 8153741
trainerbattle 1, OPPONENT_FLANNERY, 0, LavaridgeTown_Gym_1F_Text_176801, LavaridgeTown_Gym_1F_Text_176960, LavaridgeTown_Gym_1F_EventScript_153766
checkflag 168
- jumpif 0, LavaridgeTown_Gym_1F_EventScript_1537A7
+ goto_if 0, LavaridgeTown_Gym_1F_EventScript_1537A7
msgbox LavaridgeTown_Gym_1F_Text_176C4A, 4
release
end
LavaridgeTown_Gym_1F_EventScript_153766:: @ 8153766
message LavaridgeTown_Gym_1F_Text_176A62
- waittext
+ waitmessage
call LavaridgeTown_Gym_1F_EventScript_1A02C5
msgbox LavaridgeTown_Gym_1F_Text_176A8C, 4
setflag 1213
setflag 2058
addvar 0x4085, 1
compare 0x4085, 6
- callif 1, LavaridgeTown_Gym_1F_EventScript_1A00FB
+ call_if 1, LavaridgeTown_Gym_1F_EventScript_1A00FB
setvar 0x8008, 4
call LavaridgeTown_Gym_1F_EventScript_1A01C0
setflag 806
setvar 0x4053, 1
- jump LavaridgeTown_Gym_1F_EventScript_1537A7
+ goto LavaridgeTown_Gym_1F_EventScript_1537A7
end
LavaridgeTown_Gym_1F_EventScript_1537A7:: @ 81537A7
giveitem ITEM_TM50
compare RESULT, 0
- jumpeq LavaridgeTown_Gym_1F_EventScript_1A029B
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1A029B
msgbox LavaridgeTown_Gym_1F_Text_176B8F, 4
setflag 168
release
@@ -136,7 +136,7 @@ LavaridgeTown_Gym_1F_EventScript_153859:: @ 8153859
lock
faceplayer
checkflag 1213
- jumpeq LavaridgeTown_Gym_1F_EventScript_15386E
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_15386E
msgbox LavaridgeTown_Gym_1F_Text_176312, 4
release
end
@@ -149,15 +149,15 @@ LavaridgeTown_Gym_1F_EventScript_15386E:: @ 815386E
LavaridgeTown_Gym_1F_EventScript_153878:: @ 8153878
lockall
checkflag 2058
- jumpeq LavaridgeTown_Gym_1F_EventScript_153898
- jump LavaridgeTown_Gym_1F_EventScript_1538A2
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_153898
+ goto LavaridgeTown_Gym_1F_EventScript_1538A2
end
LavaridgeTown_Gym_1F_EventScript_153888:: @ 8153888
lockall
checkflag 2058
- jumpeq LavaridgeTown_Gym_1F_EventScript_153898
- jump LavaridgeTown_Gym_1F_EventScript_1538A2
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_153898
+ goto LavaridgeTown_Gym_1F_EventScript_1538A2
end
LavaridgeTown_Gym_1F_EventScript_153898:: @ 8153898
diff --git a/data/scripts/maps/LavaridgeTown_HerbShop.inc b/data/scripts/maps/LavaridgeTown_HerbShop.inc
index 6ff103ce3..5ec6731d4 100644
--- a/data/scripts/maps/LavaridgeTown_HerbShop.inc
+++ b/data/scripts/maps/LavaridgeTown_HerbShop.inc
@@ -5,7 +5,7 @@ LavaridgeTown_HerbShop_EventScript_153629:: @ 8153629
lock
faceplayer
message LavaridgeTown_HerbShop_Text_17615C
- waittext
+ waitmessage
pokemart LavaridgeTown_HerbShop_Items
msgbox LavaridgeTown_HerbShop_Text_1A0C02, 4
release
@@ -29,11 +29,11 @@ LavaridgeTown_HerbShop_EventScript_153655:: @ 8153655
lock
faceplayer
checkflag 254
- jumpeq LavaridgeTown_HerbShop_EventScript_153684
+ goto_if_eq LavaridgeTown_HerbShop_EventScript_153684
msgbox LavaridgeTown_HerbShop_Text_1761A2, 4
giveitem ITEM_CHARCOAL
compare RESULT, 0
- jumpeq LavaridgeTown_HerbShop_EventScript_1A029B
+ goto_if_eq LavaridgeTown_HerbShop_EventScript_1A029B
setflag 254
release
end
diff --git a/data/scripts/maps/LavaridgeTown_House.inc b/data/scripts/maps/LavaridgeTown_House.inc
index 944427bb6..c75cb9e4b 100644
--- a/data/scripts/maps/LavaridgeTown_House.inc
+++ b/data/scripts/maps/LavaridgeTown_House.inc
@@ -8,8 +8,8 @@ LavaridgeTown_House_EventScript_1538AE:: @ 81538AE
LavaridgeTown_House_EventScript_1538B7:: @ 81538B7
lock
faceplayer
- checksound
- pokecry SPECIES_ZIGZAGOON, 0
+ waitse
+ playpokecry SPECIES_ZIGZAGOON, 0
msgbox LavaridgeTown_House_Text_176D94, 4
waitpokecry
release
diff --git a/data/scripts/maps/LavaridgeTown_Mart.inc b/data/scripts/maps/LavaridgeTown_Mart.inc
index 4f28e16b0..99b567e06 100644
--- a/data/scripts/maps/LavaridgeTown_Mart.inc
+++ b/data/scripts/maps/LavaridgeTown_Mart.inc
@@ -5,7 +5,7 @@ LavaridgeTown_Mart_EventScript_1538CB:: @ 81538CB
lock
faceplayer
message LavaridgeTown_Mart_Text_1A0BE4
- waittext
+ waitmessage
pokemart LavaridgeTown_Mart_Items
msgbox LavaridgeTown_Mart_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc b/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc
index c0762bcc3..9d0f31059 100644
--- a/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc
+++ b/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc
@@ -10,7 +10,7 @@ LavaridgeTown_PokemonCenter_1F_MapScript1_153912:: @ 8153912
LavaridgeTown_PokemonCenter_1F_EventScript_15391B:: @ 815391B
setvar 0x800b, 1
call LavaridgeTown_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc
index b688107ce..cf8e2e07d 100644
--- a/data/scripts/maps/LilycoveCity.inc
+++ b/data/scripts/maps/LilycoveCity.inc
@@ -8,7 +8,7 @@ LilycoveCity_MapScript1_14CA20:: @ 814CA20
setvar 0x4086, 0
setflag 802
checkflag 2090
- callif 1, LilycoveCity_EventScript_1A02C1
+ call_if 1, LilycoveCity_EventScript_1A02C1
call LilycoveCity_EventScript_1A0196
call LilycoveCity_EventScript_1A014E
end
@@ -29,9 +29,9 @@ LilycoveCity_MapScript1_14CA3F:: @ 814CA3F
setmaptile 72, 6, 445, 0
.endif
checkflag 112
- callif 0, LilycoveCity_EventScript_14CABE
+ call_if 0, LilycoveCity_EventScript_14CABE
checkflag 2061
- callif 1, LilycoveCity_EventScript_14CB2B
+ call_if 1, LilycoveCity_EventScript_14CB2B
end
LilycoveCity_EventScript_14CABE:: @ 814CABE
@@ -63,15 +63,15 @@ LilycoveCity_EventScript_14CB2B:: @ 814CB2B
LilycoveCity_EventScript_14CB74:: @ 814CB74
lock
faceplayer
- checkdailyflags
+ dodailyevents
checkflag 2255
- jumpeq LilycoveCity_EventScript_14CBB4
+ goto_if_eq LilycoveCity_EventScript_14CBB4
msgbox LilycoveCity_Text_1C5A7A, 4
random 10
addvar RESULT, 133
giveitem RESULT
compare RESULT, 0
- jumpeq LilycoveCity_EventScript_1A029B
+ goto_if_eq LilycoveCity_EventScript_1A029B
setflag 2255
msgbox LilycoveCity_Text_1C5B1D, 4
release
@@ -90,7 +90,7 @@ LilycoveCity_EventScript_14CBC7:: @ 814CBC7
lock
faceplayer
checkflag 2061
- jumpeq LilycoveCity_EventScript_14CBDC
+ goto_if_eq LilycoveCity_EventScript_14CBDC
msgbox LilycoveCity_Text_168750, 4
release
end
@@ -108,7 +108,7 @@ LilycoveCity_EventScript_14CBEF:: @ 814CBEF
lock
faceplayer
checkflag 112
- jumpeq LilycoveCity_EventScript_14CC04
+ goto_if_eq LilycoveCity_EventScript_14CC04
msgbox LilycoveCity_Text_1688C1, 4
release
end
@@ -122,7 +122,7 @@ LilycoveCity_EventScript_14CC0E:: @ 814CC0E
lock
faceplayer
checkflag 112
- jumpeq LilycoveCity_EventScript_14CC23
+ goto_if_eq LilycoveCity_EventScript_14CC23
msgbox LilycoveCity_Text_1689BF, 4
release
end
@@ -148,7 +148,7 @@ LilycoveCity_EventScript_14CC48:: @ 814CC48
lock
faceplayer
checkflag 2061
- jumpeq LilycoveCity_EventScript_14CC5D
+ goto_if_eq LilycoveCity_EventScript_14CC5D
msgbox LilycoveCity_Text_168C16, 4
release
end
@@ -172,7 +172,7 @@ LilycoveCity_EventScript_14CC79:: @ 814CC79
LilycoveCity_EventScript_14CC82:: @ 814CC82
lockall
- specialval 0x8004, sub_80C4D50
+ specialvar 0x8004, sub_80C4D50
switch 0x8004
case 0, LilycoveCity_EventScript_14CCA2
msgbox LilycoveCity_Text_168EA4, 4
@@ -187,7 +187,7 @@ LilycoveCity_EventScript_14CCA2:: @ 814CCA2
LilycoveCity_EventScript_14CCAC:: @ 814CCAC
lockall
checkflag 2052
- jumpeq LilycoveCity_EventScript_14CCC0
+ goto_if_eq LilycoveCity_EventScript_14CCC0
msgbox LilycoveCity_Text_168EDA, 4
releaseall
end
@@ -212,13 +212,13 @@ LilycoveCity_EventScript_14CCDC:: @ 814CCDC
LilycoveCity_EventScript_14CCE5:: @ 814CCE5
lockall
checkflag 218
- jumpeq LilycoveCity_EventScript_14CD18
+ goto_if_eq LilycoveCity_EventScript_14CD18
msgbox LilycoveCity_Text_16864A, 4
- move LAST_TALKED, LilycoveCity_Movement_1A0839
- waitmove 0
+ applymovement LAST_TALKED, LilycoveCity_Movement_1A0839
+ waitmovement 0
msgbox LilycoveCity_Text_168675, 4
- move LAST_TALKED, LilycoveCity_Movement_1A083D
- waitmove 0
+ applymovement LAST_TALKED, LilycoveCity_Movement_1A083D
+ waitmovement 0
setflag 218
releaseall
end
@@ -247,21 +247,21 @@ LilycoveCity_EventScript_14CD3D:: @ 814CD3D
LilycoveCity_EventScript_14CD46:: @ 814CD46
lock
faceplayer
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq LilycoveCity_EventScript_14CD60
+ goto_if_eq LilycoveCity_EventScript_14CD60
compare RESULT, 1
- jumpeq LilycoveCity_EventScript_14CDD3
+ goto_if_eq LilycoveCity_EventScript_14CDD3
end
LilycoveCity_EventScript_14CD60:: @ 814CD60
- playmusic 415, 1
+ playbgm 415, 1
checkflag 286
- callif 1, LilycoveCity_EventScript_14CDB0
+ call_if 1, LilycoveCity_EventScript_14CDB0
checkflag 286
- callif 0, LilycoveCity_EventScript_14CDB9
+ call_if 0, LilycoveCity_EventScript_14CDB9
compare RESULT, 0
- jumpeq LilycoveCity_EventScript_14CDC2
+ goto_if_eq LilycoveCity_EventScript_14CDC2
msgbox LilycoveCity_Text_167B94, 4
switch 0x4023
case 0, LilycoveCity_EventScript_14CE46
@@ -280,19 +280,19 @@ LilycoveCity_EventScript_14CDB9:: @ 814CDB9
LilycoveCity_EventScript_14CDC2:: @ 814CDC2
setflag 286
msgbox LilycoveCity_Text_167AEB, 4
- playmusicbattle 0
- fadedefault
+ savebgm 0
+ fadedefaultbgm
release
end
LilycoveCity_EventScript_14CDD3:: @ 814CDD3
- playmusic 421, 1
+ playbgm 421, 1
checkflag 286
- callif 1, LilycoveCity_EventScript_14CE23
+ call_if 1, LilycoveCity_EventScript_14CE23
checkflag 286
- callif 0, LilycoveCity_EventScript_14CE2C
+ call_if 0, LilycoveCity_EventScript_14CE2C
compare RESULT, 0
- jumpeq LilycoveCity_EventScript_14CE35
+ goto_if_eq LilycoveCity_EventScript_14CE35
msgbox LilycoveCity_Text_1680A9, 4
switch 0x4023
case 0, LilycoveCity_EventScript_14CE76
@@ -311,58 +311,58 @@ LilycoveCity_EventScript_14CE2C:: @ 814CE2C
LilycoveCity_EventScript_14CE35:: @ 814CE35
setflag 286
msgbox LilycoveCity_Text_16802C, 4
- playmusicbattle 0
- fadedefault
+ savebgm 0
+ fadedefaultbgm
release
end
LilycoveCity_EventScript_14CE46:: @ 814CE46
trainerbattle 3, OPPONENT_MAY_11, 0, LilycoveCity_Text_167BD5
- jump LilycoveCity_EventScript_14CEA6
+ goto LilycoveCity_EventScript_14CEA6
end
LilycoveCity_EventScript_14CE56:: @ 814CE56
trainerbattle 3, OPPONENT_MAY_12, 0, LilycoveCity_Text_167BD5
- jump LilycoveCity_EventScript_14CEA6
+ goto LilycoveCity_EventScript_14CEA6
end
LilycoveCity_EventScript_14CE66:: @ 814CE66
trainerbattle 3, OPPONENT_MAY_10, 0, LilycoveCity_Text_167BD5
- jump LilycoveCity_EventScript_14CEA6
+ goto LilycoveCity_EventScript_14CEA6
end
LilycoveCity_EventScript_14CE76:: @ 814CE76
trainerbattle 3, OPPONENT_BRENDAN_11, 0, LilycoveCity_Text_1680E4
- jump LilycoveCity_EventScript_14CF12
+ goto LilycoveCity_EventScript_14CF12
end
LilycoveCity_EventScript_14CE86:: @ 814CE86
trainerbattle 3, OPPONENT_BRENDAN_12, 0, LilycoveCity_Text_1680E4
- jump LilycoveCity_EventScript_14CF12
+ goto LilycoveCity_EventScript_14CF12
end
LilycoveCity_EventScript_14CE96:: @ 814CE96
trainerbattle 3, OPPONENT_BRENDAN_10, 0, LilycoveCity_Text_1680E4
- jump LilycoveCity_EventScript_14CF12
+ goto LilycoveCity_EventScript_14CF12
end
LilycoveCity_EventScript_14CEA6:: @ 814CEA6
msgbox LilycoveCity_Text_167C6B, 4
setvar RESULT, 0
checkflag 2060
- callif 1, LilycoveCity_EventScript_14CEDE
+ call_if 1, LilycoveCity_EventScript_14CEDE
compare RESULT, 0
- callif 1, LilycoveCity_EventScript_14CEEE
+ call_if 1, LilycoveCity_EventScript_14CEEE
compare RESULT, 1
- callif 1, LilycoveCity_EventScript_14CEF7
+ call_if 1, LilycoveCity_EventScript_14CEF7
clearflag 722
clearflag 849
- jump LilycoveCity_EventScript_14CF6B
+ goto LilycoveCity_EventScript_14CF6B
end
LilycoveCity_EventScript_14CEDE:: @ 814CEDE
checkflag 2062
- jumpeq LilycoveCity_EventScript_14CEE8
+ goto_if_eq LilycoveCity_EventScript_14CEE8
return
LilycoveCity_EventScript_14CEE8:: @ 814CEE8
@@ -375,7 +375,7 @@ LilycoveCity_EventScript_14CEEE:: @ 814CEEE
LilycoveCity_EventScript_14CEF7:: @ 814CEF7
checkflag 2052
- jumpeq LilycoveCity_EventScript_14CF09
+ goto_if_eq LilycoveCity_EventScript_14CF09
msgbox LilycoveCity_Text_167DDD, 4
return
@@ -387,13 +387,13 @@ LilycoveCity_EventScript_14CF12:: @ 814CF12
msgbox LilycoveCity_Text_168149, 4
setvar RESULT, 0
checkflag 2060
- callif 1, LilycoveCity_EventScript_14CEDE
+ call_if 1, LilycoveCity_EventScript_14CEDE
compare RESULT, 0
- callif 1, LilycoveCity_EventScript_14CF47
+ call_if 1, LilycoveCity_EventScript_14CF47
compare RESULT, 1
- callif 1, LilycoveCity_EventScript_14CF50
+ call_if 1, LilycoveCity_EventScript_14CF50
clearflag 760
- jump LilycoveCity_EventScript_14CF6B
+ goto LilycoveCity_EventScript_14CF6B
end
LilycoveCity_EventScript_14CF47:: @ 814CF47
@@ -402,7 +402,7 @@ LilycoveCity_EventScript_14CF47:: @ 814CF47
LilycoveCity_EventScript_14CF50:: @ 814CF50
checkflag 2052
- jumpeq LilycoveCity_EventScript_14CF62
+ goto_if_eq LilycoveCity_EventScript_14CF62
msgbox LilycoveCity_Text_168282, 4
return
@@ -411,17 +411,17 @@ LilycoveCity_EventScript_14CF62:: @ 814CF62
return
LilycoveCity_EventScript_14CF6B:: @ 814CF6B
- closebutton
- move LAST_TALKED, LilycoveCity_Movement_1A0845
- waitmove 0
- pause 50
- setanimation 0, 1
- doanimation 30
- pause 15
- disappear LAST_TALKED
- checkanimation 30
- playmusicbattle 0
- fadedefault
+ closemessage
+ applymovement LAST_TALKED, LilycoveCity_Movement_1A0845
+ waitmovement 0
+ delay 50
+ setfieldeffect 0, 1
+ dofieldeffect 30
+ delay 15
+ removeobject LAST_TALKED
+ waitfieldeffect 30
+ savebgm 0
+ fadedefaultbgm
setflag 292
release
end
diff --git a/data/scripts/maps/LilycoveCity_ContestHall.inc b/data/scripts/maps/LilycoveCity_ContestHall.inc
index 3601cb455..944857a21 100644
--- a/data/scripts/maps/LilycoveCity_ContestHall.inc
+++ b/data/scripts/maps/LilycoveCity_ContestHall.inc
@@ -22,48 +22,48 @@ LilycoveCity_ContestHall_EventScript_1590B6:: @ 81590B6
LilycoveCity_ContestHall_EventScript_1590BF:: @ 81590BF
msgbox LilycoveCity_ContestHall_Text_189301, 2
lockall
- move 4, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 4, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1590D4:: @ 81590D4
msgbox LilycoveCity_ContestHall_Text_189366, 2
lockall
- move 5, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 5, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1590E9:: @ 81590E9
msgbox LilycoveCity_ContestHall_Text_1893CE, 2
lockall
- move 6, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 6, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1590FE:: @ 81590FE
msgbox LilycoveCity_ContestHall_Text_189463, 2
lockall
- move 7, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 7, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159113:: @ 8159113
msgbox LilycoveCity_ContestHall_Text_189512, 2
lockall
- move 8, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 8, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159128:: @ 8159128
msgbox LilycoveCity_ContestHall_Text_18956B, 2
lockall
- move 9, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 9, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
@@ -74,154 +74,154 @@ LilycoveCity_ContestHall_EventScript_15913D:: @ 815913D
LilycoveCity_ContestHall_EventScript_159146:: @ 8159146
msgbox LilycoveCity_ContestHall_Text_189617, 2
lockall
- move 12, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 12, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_15915B:: @ 815915B
msgbox LilycoveCity_ContestHall_Text_1896BE, 2
lockall
- move 22, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 22, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159170:: @ 8159170
msgbox LilycoveCity_ContestHall_Text_1896FE, 2
lockall
- move 11, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 11, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159185:: @ 8159185
msgbox LilycoveCity_ContestHall_Text_189771, 2
lockall
- move 13, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 13, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_15919A:: @ 815919A
msgbox LilycoveCity_ContestHall_Text_1897AA, 2
lockall
- move 14, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 14, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1591AF:: @ 81591AF
msgbox LilycoveCity_ContestHall_Text_18980B, 2
lockall
- move 15, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 15, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1591C4:: @ 81591C4
msgbox LilycoveCity_ContestHall_Text_189874, 2
lockall
- move 16, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 16, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1591D9:: @ 81591D9
msgbox LilycoveCity_ContestHall_Text_18990A, 2
lockall
- move 17, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 17, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1591EE:: @ 81591EE
msgbox LilycoveCity_ContestHall_Text_189981, 2
lockall
- move 18, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 18, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159203:: @ 8159203
msgbox LilycoveCity_ContestHall_Text_189A1D, 2
lockall
- move 19, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 19, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159218:: @ 8159218
msgbox LilycoveCity_ContestHall_Text_189A82, 2
lockall
- move 21, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 21, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_15922D:: @ 815922D
msgbox LilycoveCity_ContestHall_Text_189AE1, 2
lockall
- move 20, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 20, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159242:: @ 8159242
msgbox LilycoveCity_ContestHall_Text_189B4E, 2
lockall
- move 23, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 23, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159257:: @ 8159257
msgbox LilycoveCity_ContestHall_Text_189BBF, 2
lockall
- move 24, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 24, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_15926C:: @ 815926C
msgbox LilycoveCity_ContestHall_Text_189C29, 2
lockall
- move 25, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 25, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159281:: @ 8159281
msgbox LilycoveCity_ContestHall_Text_189C67, 2
lockall
- move 26, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 26, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_159296:: @ 8159296
msgbox LilycoveCity_ContestHall_Text_189CB3, 2
lockall
- move 27, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 27, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1592AB:: @ 81592AB
msgbox LilycoveCity_ContestHall_Text_189D11, 2
lockall
- move 28, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 28, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1592C0:: @ 81592C0
lockall
- move 29, LilycoveCity_ContestHall_Movement_1A0839
- waitmove 0
- pause 25
- move 29, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 29, LilycoveCity_ContestHall_Movement_1A0839
+ waitmovement 0
+ delay 25
+ applymovement 29, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
msgbox LilycoveCity_ContestHall_Text_189DA2, 3
releaseall
end
@@ -229,16 +229,16 @@ LilycoveCity_ContestHall_EventScript_1592C0:: @ 81592C0
LilycoveCity_ContestHall_EventScript_1592E2:: @ 81592E2
msgbox LilycoveCity_ContestHall_Text_189E5F, 2
lockall
- move 31, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 31, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_ContestHall_EventScript_1592F7:: @ 81592F7
msgbox LilycoveCity_ContestHall_Text_189DF3, 2
lockall
- move 30, LilycoveCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 30, LilycoveCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc
index 6bdcf55e2..a8c32a4fe 100644
--- a/data/scripts/maps/LilycoveCity_ContestLobby.inc
+++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc
@@ -14,41 +14,41 @@ LilycoveCity_ContestLobby_MapScript2_158877:: @ 8158877
LilycoveCity_ContestLobby_EventScript_158889:: @ 8158889
checkflag 775
- jumpeq LilycoveCity_ContestLobby_EventScript_158898
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158898
setvar 0x4099, 0
end
LilycoveCity_ContestLobby_EventScript_158898:: @ 8158898
lockall
- reappear 4
- move 4, LilycoveCity_ContestLobby_Movement_158A3B
- waitmove 4
- move 255, LilycoveCity_ContestLobby_Movement_158A4C
- waitmove 0
+ addobject 4
+ applymovement 4, LilycoveCity_ContestLobby_Movement_158A3B
+ waitmovement 4
+ applymovement 255, LilycoveCity_ContestLobby_Movement_158A4C
+ waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_18890F, 4
lockall
fadescreen 1
- showcontestwinner 0
+ drawcontestwinner 0
lockall
msgbox LilycoveCity_ContestLobby_Text_1889FD, 5
compare RESULT, 1
- jumpeq LilycoveCity_ContestLobby_EventScript_1588DE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_1588DE
compare RESULT, 0
- jumpeq LilycoveCity_ContestLobby_EventScript_158918
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158918
releaseall
end
LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE
msgbox LilycoveCity_ContestLobby_Text_188AE8, 4
- closebutton
+ closemessage
special sub_80C4CEC
setvar 0x4099, 0
- specialval RESULT, GiveMonArtistRibbon
+ specialvar RESULT, GiveMonArtistRibbon
compare RESULT, 1
- callif 1, LilycoveCity_ContestLobby_EventScript_158948
- move 4, LilycoveCity_ContestLobby_Movement_158A43
- waitmove 0
- disappear 4
+ call_if 1, LilycoveCity_ContestLobby_EventScript_158948
+ applymovement 4, LilycoveCity_ContestLobby_Movement_158A43
+ waitmovement 0
+ removeobject 4
call LilycoveCity_ContestLobby_EventScript_158994
call LilycoveCity_ContestLobby_EventScript_1589EA
releaseall
@@ -57,37 +57,37 @@ LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE
LilycoveCity_ContestLobby_EventScript_158918:: @ 8158918
msgbox LilycoveCity_ContestLobby_Text_188C41, 5
compare RESULT, 1
- jumpeq LilycoveCity_ContestLobby_EventScript_1588DE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_1588DE
msgbox LilycoveCity_ContestLobby_Text_188CBD, 4
- closebutton
- move 4, LilycoveCity_ContestLobby_Movement_158A43
- waitmove 0
+ closemessage
+ applymovement 4, LilycoveCity_ContestLobby_Movement_158A43
+ waitmovement 0
setvar 0x4099, 0
- disappear 4
+ removeobject 4
releaseall
end
LilycoveCity_ContestLobby_EventScript_158948:: @ 8158948
- inccounter GAME_STAT_RECEIVED_RIBBONS
+ incrementgamestat GAME_STAT_RECEIVED_RIBBONS
special sub_80C4858
- move 4, LilycoveCity_ContestLobby_Movement_158A4E
- waitmove 0
- playsfx 21
- move 4, LilycoveCity_ContestLobby_Movement_1A0833
- waitmove 0
- move 4, LilycoveCity_ContestLobby_Movement_158A52
- waitmove 0
+ applymovement 4, LilycoveCity_ContestLobby_Movement_158A4E
+ waitmovement 0
+ playse 21
+ applymovement 4, LilycoveCity_ContestLobby_Movement_1A0833
+ waitmovement 0
+ applymovement 4, LilycoveCity_ContestLobby_Movement_158A52
+ waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_188BB5, 4
- fanfare 370
+ playfanfare 370
msgbox LilycoveCity_ContestLobby_Text_188C03, 4
waitfanfare
msgbox LilycoveCity_ContestLobby_Text_188C19, 4
msgbox LilycoveCity_ContestLobby_Text_188C32, 4
- closebutton
+ closemessage
return
LilycoveCity_ContestLobby_EventScript_158994:: @ 8158994
- specialval 0x8004, sub_80C4D50
+ specialvar 0x8004, sub_80C4D50
switch 0x8004
case 1, LilycoveCity_ContestLobby_EventScript_1589D6
case 2, LilycoveCity_ContestLobby_EventScript_1589DA
@@ -189,39 +189,39 @@ LilycoveCity_ContestLobby_Movement_158A52:: @ 8158A52
LilycoveCity_ContestLobby_EventScript_158A5B:: @ 8158A5B
checkflag 775
- jumpeq LilycoveCity_ContestLobby_EventScript_158A6A
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158A6A
setvar 0x4099, 0
end
LilycoveCity_ContestLobby_EventScript_158A6A:: @ 8158A6A
lockall
- reappear 11
- move 11, LilycoveCity_ContestLobby_Movement_158B64
- waitmove 11
- move 255, LilycoveCity_ContestLobby_Movement_158B76
- waitmove 0
+ addobject 11
+ applymovement 11, LilycoveCity_ContestLobby_Movement_158B64
+ waitmovement 11
+ applymovement 255, LilycoveCity_ContestLobby_Movement_158B76
+ waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_18890F, 4
lockall
fadescreen 1
- showcontestwinner 0
+ drawcontestwinner 0
msgbox LilycoveCity_ContestLobby_Text_1889FD, 5
compare RESULT, 1
- jumpeq LilycoveCity_ContestLobby_EventScript_158AAE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158AAE
compare RESULT, 0
- jumpeq LilycoveCity_ContestLobby_EventScript_158AE8
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158AE8
end
LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE
msgbox LilycoveCity_ContestLobby_Text_188AE8, 4
- closebutton
+ closemessage
special sub_80C4CEC
setvar 0x4099, 0
- specialval RESULT, GiveMonArtistRibbon
+ specialvar RESULT, GiveMonArtistRibbon
compare RESULT, 1
- callif 1, LilycoveCity_ContestLobby_EventScript_158B18
- move 11, LilycoveCity_ContestLobby_Movement_158B6D
- waitmove 0
- disappear 11
+ call_if 1, LilycoveCity_ContestLobby_EventScript_158B18
+ applymovement 11, LilycoveCity_ContestLobby_Movement_158B6D
+ waitmovement 0
+ removeobject 11
call LilycoveCity_ContestLobby_EventScript_158994
call LilycoveCity_ContestLobby_EventScript_1589EA
releaseall
@@ -230,33 +230,33 @@ LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE
LilycoveCity_ContestLobby_EventScript_158AE8:: @ 8158AE8
msgbox LilycoveCity_ContestLobby_Text_188C41, 5
compare RESULT, 1
- jumpeq LilycoveCity_ContestLobby_EventScript_158AAE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158AAE
msgbox LilycoveCity_ContestLobby_Text_188CBD, 4
- closebutton
- move 11, LilycoveCity_ContestLobby_Movement_158B6D
- waitmove 0
+ closemessage
+ applymovement 11, LilycoveCity_ContestLobby_Movement_158B6D
+ waitmovement 0
setvar 0x4099, 0
- disappear 11
+ removeobject 11
releaseall
end
LilycoveCity_ContestLobby_EventScript_158B18:: @ 8158B18
- inccounter GAME_STAT_RECEIVED_RIBBONS
+ incrementgamestat GAME_STAT_RECEIVED_RIBBONS
special sub_80C4858
- move 11, LilycoveCity_ContestLobby_Movement_158B78
- waitmove 0
- playsfx 21
- move 11, LilycoveCity_ContestLobby_Movement_1A0833
- waitmove 0
- move 11, LilycoveCity_ContestLobby_Movement_158B7C
- waitmove 0
+ applymovement 11, LilycoveCity_ContestLobby_Movement_158B78
+ waitmovement 0
+ playse 21
+ applymovement 11, LilycoveCity_ContestLobby_Movement_1A0833
+ waitmovement 0
+ applymovement 11, LilycoveCity_ContestLobby_Movement_158B7C
+ waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_188BB5, 4
- fanfare 370
+ playfanfare 370
msgbox LilycoveCity_ContestLobby_Text_188C03, 4
waitfanfare
msgbox LilycoveCity_ContestLobby_Text_188C19, 4
msgbox LilycoveCity_ContestLobby_Text_188C32, 4
- closebutton
+ closemessage
return
LilycoveCity_ContestLobby_Movement_158B64:: @ 8158B64
@@ -306,19 +306,19 @@ LilycoveCity_ContestLobby_EventScript_158B85:: @ 8158B85
lockall
checkitem ITEM_CONTEST_PASS, 1
compare RESULT, 0
- jumpeq LilycoveCity_ContestLobby_EventScript_158BBA
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158BBA
checkflag 2
- jumpeq LilycoveCity_ContestLobby_EventScript_158BAE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158BAE
message LilycoveCity_ContestLobby_Text_18848C
- waittext
+ waitmessage
setflag 2
- jump LilycoveCity_ContestLobby_EventScript_158BF0
+ goto LilycoveCity_ContestLobby_EventScript_158BF0
end
LilycoveCity_ContestLobby_EventScript_158BAE:: @ 8158BAE
message LilycoveCity_ContestLobby_Text_188584
- waittext
- jump LilycoveCity_ContestLobby_EventScript_158BF0
+ waitmessage
+ goto LilycoveCity_ContestLobby_EventScript_158BF0
end
LilycoveCity_ContestLobby_EventScript_158BBA:: @ 8158BBA
@@ -329,11 +329,11 @@ LilycoveCity_ContestLobby_EventScript_158BBA:: @ 8158BBA
LilycoveCity_ContestLobby_EventScript_158BC4:: @ 8158BC4
msgbox LilycoveCity_ContestLobby_Text_188521, 5
compare RESULT, 0
- jumpeq LilycoveCity_ContestLobby_EventScript_158C35
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158C35
call S_DoSaveDialog
- hidebox 0, 0, 15, 9
+ erasebox 0, 0, 15, 9
compare RESULT, 0
- jumpeq LilycoveCity_ContestLobby_EventScript_158C35
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158C35
setflag 3
return
@@ -348,7 +348,7 @@ LilycoveCity_ContestLobby_EventScript_158BF0:: @ 8158BF0
LilycoveCity_ContestLobby_EventScript_158C27:: @ 8158C27
msgbox LilycoveCity_ContestLobby_Text_1885A7, 4
- jump LilycoveCity_ContestLobby_EventScript_158B85
+ goto LilycoveCity_ContestLobby_EventScript_158B85
end
LilycoveCity_ContestLobby_EventScript_158C35:: @ 8158C35
@@ -362,39 +362,39 @@ LilycoveCity_ContestLobby_EventScript_158C42:: @ 8158C42
setvar CONTEST_RANK, 0
choosecontestpkmn
compare 0x8004, 255
- jumpeq LilycoveCity_ContestLobby_EventScript_158CEA
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158CEA
special sub_80C43F4
compare RESULT, 0
- jumpeq LilycoveCity_ContestLobby_EventScript_158C96
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158C96
compare RESULT, 1
- jumpeq LilycoveCity_ContestLobby_EventScript_158CC0
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158CC0
compare RESULT, 2
- jumpeq LilycoveCity_ContestLobby_EventScript_158CC0
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158CC0
compare RESULT, 3
- jumpeq LilycoveCity_ContestLobby_EventScript_158CA4
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158CA4
compare RESULT, 4
- jumpeq LilycoveCity_ContestLobby_EventScript_158CB2
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158CB2
end
LilycoveCity_ContestLobby_EventScript_158C96:: @ 8158C96
msgbox LilycoveCity_ContestLobby_Text_1A664A, 4
- jump LilycoveCity_ContestLobby_EventScript_158C42
+ goto LilycoveCity_ContestLobby_EventScript_158C42
end
LilycoveCity_ContestLobby_EventScript_158CA4:: @ 8158CA4
msgbox LilycoveCity_ContestLobby_Text_1A669F, 4
- jump LilycoveCity_ContestLobby_EventScript_158C42
+ goto LilycoveCity_ContestLobby_EventScript_158C42
end
LilycoveCity_ContestLobby_EventScript_158CB2:: @ 8158CB2
msgbox LilycoveCity_ContestLobby_Text_1A66DC, 4
- jump LilycoveCity_ContestLobby_EventScript_158C42
+ goto LilycoveCity_ContestLobby_EventScript_158C42
end
LilycoveCity_ContestLobby_EventScript_158CC0:: @ 8158CC0
copyvar 0x8008, 0x8004
message LilycoveCity_ContestLobby_Text_1A67A3
- waittext
+ waitmessage
yesnobox 20, 8
switch RESULT
case 0, LilycoveCity_ContestLobby_EventScript_158C42
@@ -403,31 +403,31 @@ LilycoveCity_ContestLobby_EventScript_158CC0:: @ 8158CC0
LilycoveCity_ContestLobby_EventScript_158CEA:: @ 8158CEA
checkflag 3
- callif 0, LilycoveCity_ContestLobby_EventScript_158BC4
+ call_if 0, LilycoveCity_ContestLobby_EventScript_158BC4
message LilycoveCity_ContestLobby_Text_1886DC
- waittext
+ waitmessage
multichoice 0, 0, 4, 0
switch RESULT
case 5, LilycoveCity_ContestLobby_EventScript_158C35
case 127, LilycoveCity_ContestLobby_EventScript_158C35
copyvar CONTEST_CATEGORY, RESULT
- jump LilycoveCity_ContestLobby_EventScript_158C42
+ goto LilycoveCity_ContestLobby_EventScript_158C42
end
LilycoveCity_ContestLobby_EventScript_158D24:: @ 8158D24
message LilycoveCity_ContestLobby_Text_1887C7
- waittext
+ waitmessage
copyvar 0x8004, RESULT
special sub_808363C
waitstate
compare RESULT, 3
- jumpeq LilycoveCity_ContestLobby_EventScript_158D90
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158D90
compare RESULT, 5
- jumpeq LilycoveCity_ContestLobby_EventScript_158DA1
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158DA1
compare RESULT, 6
- jumpeq LilycoveCity_ContestLobby_EventScript_158DB2
- message2 LilycoveCity_ContestLobby_Text_18872A
- waittext
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158DB2
+ messageautoscroll LilycoveCity_ContestLobby_Text_18872A
+ waitmessage
contestlinktransfer
switch 0x8004
case 0, LilycoveCity_ContestLobby_EventScript_158DD1
@@ -437,13 +437,13 @@ LilycoveCity_ContestLobby_EventScript_158D24:: @ 8158D24
LilycoveCity_ContestLobby_EventScript_158D82:: @ 8158D82
msgbox LilycoveCity_ContestLobby_Text_188750, 4
- jump LilycoveCity_ContestLobby_EventScript_158CEA
+ goto LilycoveCity_ContestLobby_EventScript_158CEA
end
LilycoveCity_ContestLobby_EventScript_158D90:: @ 8158D90
special CloseLink
msgbox LilycoveCity_ContestLobby_Text_18878D, 4
- closebutton
+ closemessage
releaseall
clearflag 3
end
@@ -451,7 +451,7 @@ LilycoveCity_ContestLobby_EventScript_158D90:: @ 8158D90
LilycoveCity_ContestLobby_EventScript_158DA1:: @ 8158DA1
special CloseLink
msgbox LilycoveCity_ContestLobby_Text_1887F4, 4
- closebutton
+ closemessage
releaseall
clearflag 3
end
@@ -459,24 +459,24 @@ LilycoveCity_ContestLobby_EventScript_158DA1:: @ 8158DA1
LilycoveCity_ContestLobby_EventScript_158DB2:: @ 8158DB2
special CloseLink
msgbox LilycoveCity_ContestLobby_Text_18881F, 4
- closebutton
+ closemessage
releaseall
clearflag 3
end
LilycoveCity_ContestLobby_EventScript_158DC3:: @ 8158DC3
msgbox LilycoveCity_ContestLobby_Text_18873A, 4
- jump LilycoveCity_ContestLobby_EventScript_158CEA
+ goto LilycoveCity_ContestLobby_EventScript_158CEA
end
LilycoveCity_ContestLobby_EventScript_158DD1:: @ 8158DD1
special sub_80C496C
addvar 0x8004, 1
- buffernum 1, 32772
- message2 LilycoveCity_ContestLobby_Text_188845
- waittext
+ getnumberstring 1, 32772
+ messageautoscroll LilycoveCity_ContestLobby_Text_188845
+ waitmessage
addvar 0x8004, 65535
- jump LilycoveCity_ContestLobby_EventScript_158DEE
+ goto LilycoveCity_ContestLobby_EventScript_158DEE
end
LilycoveCity_ContestLobby_EventScript_158DEE:: @ 8158DEE
@@ -490,34 +490,34 @@ LilycoveCity_ContestLobby_EventScript_158DEE:: @ 8158DEE
LilycoveCity_ContestLobby_EventScript_158E0B:: @ 8158E0B
lockall
- message2 LilycoveCity_ContestLobby_Text_1888C6
- waittext
- pause 20
- closebutton
- move 2, LilycoveCity_ContestLobby_Movement_158E9C
- waitmove 0
- playsfx 71
+ messageautoscroll LilycoveCity_ContestLobby_Text_1888C6
+ waitmessage
+ delay 20
+ closemessage
+ applymovement 2, LilycoveCity_ContestLobby_Movement_158E9C
+ waitmovement 0
+ playse 71
setmaptile 9, 2, 545, 1
setmaptile 9, 3, 609, 1
special DrawWholeMapView
- move 2, LilycoveCity_ContestLobby_Movement_158EA0
- waitmove 0
- playsfx 71
+ applymovement 2, LilycoveCity_ContestLobby_Movement_158EA0
+ waitmovement 0
+ playse 71
setmaptile 9, 2, 721, 1
setmaptile 9, 3, 729, 1
special DrawWholeMapView
- pause 20
- move 2, LilycoveCity_ContestLobby_Movement_158EAE
- waitmove 0
- move 255, LilycoveCity_ContestLobby_Movement_158E99
- waitmove 0
- message2 LilycoveCity_ContestLobby_Text_1A6832
- waittext
- pause 20
- closebutton
- move 2, LilycoveCity_ContestLobby_Movement_158EA4
- move 255, LilycoveCity_ContestLobby_Movement_158E8E
- waitmove 0
+ delay 20
+ applymovement 2, LilycoveCity_ContestLobby_Movement_158EAE
+ waitmovement 0
+ applymovement 255, LilycoveCity_ContestLobby_Movement_158E99
+ waitmovement 0
+ messageautoscroll LilycoveCity_ContestLobby_Text_1A6832
+ waitmessage
+ delay 20
+ closemessage
+ applymovement 2, LilycoveCity_ContestLobby_Movement_158EA4
+ applymovement 255, LilycoveCity_ContestLobby_Movement_158E8E
+ waitmovement 0
releaseall
return
@@ -568,9 +568,9 @@ LilycoveCity_ContestLobby_Movement_158EAE:: @ 8158EAE
step_end
LilycoveCity_ContestLobby_EventScript_158EB0:: @ 8158EB0
- specialval RESULT, sub_80C5044
+ specialvar RESULT, sub_80C5044
compare RESULT, 1
- jumpeq LilycoveCity_ContestLobby_EventScript_158EE8
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_158EE8
setvar 0x800b, 8
setvar CONTEST_RANK, 3
call LilycoveCity_ContestLobby_EventScript_1A4E92
@@ -602,59 +602,59 @@ LilycoveCity_ContestLobby_EventScript_158F08:: @ 8158F08
return
LilycoveCity_ContestLobby_EventScript_158F45:: @ 8158F45
- warp3 LinkContestRoom4, 255, 7, 5
+ setwarp LinkContestRoom4, 255, 7, 5
special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F52:: @ 8158F52
- warp3 LinkContestRoom2, 255, 7, 5
+ setwarp LinkContestRoom2, 255, 7, 5
special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F5F:: @ 8158F5F
- warp3 LinkContestRoom6, 255, 7, 5
+ setwarp LinkContestRoom6, 255, 7, 5
special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F6C:: @ 8158F6C
- warp3 LinkContestRoom5, 255, 7, 5
+ setwarp LinkContestRoom5, 255, 7, 5
special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F79:: @ 8158F79
- warp3 LinkContestRoom3, 255, 7, 5
+ setwarp LinkContestRoom3, 255, 7, 5
special sub_8081334
waitstate
return
LilycoveCity_ContestLobby_EventScript_158F86:: @ 8158F86
lockall
- move 1, LilycoveCity_ContestLobby_Movement_15900B
- waitmove 0
- playsfx 71
+ applymovement 1, LilycoveCity_ContestLobby_Movement_15900B
+ waitmovement 0
+ playse 71
setmaptile 4, 2, 545, 1
setmaptile 4, 3, 609, 1
special DrawWholeMapView
- move 1, LilycoveCity_ContestLobby_Movement_15900F
- waitmove 0
- playsfx 71
+ applymovement 1, LilycoveCity_ContestLobby_Movement_15900F
+ waitmovement 0
+ playse 71
setmaptile 4, 2, 721, 1
setmaptile 4, 3, 729, 1
special DrawWholeMapView
- pause 20
- move 1, LilycoveCity_ContestLobby_Movement_15901C
- waitmove 0
- move 255, LilycoveCity_ContestLobby_Movement_159008
- waitmove 0
+ delay 20
+ applymovement 1, LilycoveCity_ContestLobby_Movement_15901C
+ waitmovement 0
+ applymovement 255, LilycoveCity_ContestLobby_Movement_159008
+ waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_1A6832, 4
- closebutton
- move 1, LilycoveCity_ContestLobby_Movement_159013
- move 255, LilycoveCity_ContestLobby_Movement_158FFE
- waitmove 0
+ closemessage
+ applymovement 1, LilycoveCity_ContestLobby_Movement_159013
+ applymovement 255, LilycoveCity_ContestLobby_Movement_158FFE
+ waitmovement 0
releaseall
return
@@ -708,7 +708,7 @@ LilycoveCity_ContestLobby_EventScript_15901E:: @ 815901E
LilycoveCity_ContestLobby_EventScript_159027:: @ 8159027
checkflag 150
- jumpif 0, LilycoveCity_ContestLobby_EventScript_159039
+ goto_if 0, LilycoveCity_ContestLobby_EventScript_159039
msgbox LilycoveCity_ContestLobby_Text_188DDA, 2
end
@@ -735,21 +735,21 @@ LilycoveCity_ContestLobby_EventScript_15905D:: @ 815905D
LilycoveCity_ContestLobby_EventScript_159066:: @ 8159066
lockall
fadescreen 1
- showcontestwinner 6
+ drawcontestwinner 6
releaseall
end
LilycoveCity_ContestLobby_EventScript_15906D:: @ 815906D
lockall
fadescreen 1
- showcontestwinner 7
+ drawcontestwinner 7
releaseall
end
LilycoveCity_ContestLobby_EventScript_159074:: @ 8159074
lockall
fadescreen 1
- showcontestwinner 8
+ drawcontestwinner 8
releaseall
end
@@ -766,6 +766,6 @@ SlateportCity_ContestLobby_EventScript_15908D:: @ 815908D
lockall
special ShowBerryBlenderRecordWindow
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc
index 95945a595..7b602b2c7 100644
--- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc
+++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc
@@ -4,57 +4,57 @@ LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 81582C4
LilycoveCity_CoveLilyMotel_1F_EventScript_1582C5:: @ 81582C5
lockall
checkflag 2052
- jumpeq LilycoveCity_CoveLilyMotel_1F_EventScript_158326
+ goto_if_eq LilycoveCity_CoveLilyMotel_1F_EventScript_158326
checkflag 2061
- jumpeq LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF
+ goto_if_eq LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF
msgbox LilycoveCity_CoveLilyMotel_1F_Text_186B71, 4
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839
- waitmove 0
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839
+ waitmovement 0
msgbox LilycoveCity_CoveLilyMotel_1F_Text_186C2B, 4
- closebutton
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF:: @ 81582FF
msgbox LilycoveCity_CoveLilyMotel_1F_Text_186CCE, 4
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839
- waitmove 0
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839
+ waitmovement 0
msgbox LilycoveCity_CoveLilyMotel_1F_Text_186D7F, 4
- closebutton
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_CoveLilyMotel_1F_EventScript_158326:: @ 8158326
msgbox LilycoveCity_CoveLilyMotel_1F_Text_186E57, 4
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839
- waitmove 0
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839
+ waitmovement 0
msgbox LilycoveCity_CoveLilyMotel_1F_Text_186F09, 4
- closebutton
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D
+ waitmovement 0
releaseall
end
LilycoveCity_CoveLilyMotel_1F_EventScript_15834D:: @ 815834D
lockall
- playsfx 21
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0833
- waitmove 0
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0835
- waitmove 0
- move 255, LilycoveCity_CoveLilyMotel_1F_Movement_1A0845
- waitmove 0
+ playse 21
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0833
+ waitmovement 0
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0835
+ waitmovement 0
+ applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_1A0845
+ waitmovement 0
msgbox LilycoveCity_CoveLilyMotel_1F_Text_186CA6, 4
- closebutton
- move 255, LilycoveCity_CoveLilyMotel_1F_Movement_158395
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_15839A
- waitmove 0
- move 1, LilycoveCity_CoveLilyMotel_1F_Movement_15839C
- waitmove 0
+ closemessage
+ applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_158395
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_15839A
+ waitmovement 0
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_15839C
+ waitmovement 0
release
end
diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
index 09d19c1c5..fd9ea8a58 100644
--- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
+++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
@@ -5,12 +5,12 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583A1:: @ 81583A1
lock
faceplayer
checkflag 2
- callif 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7
+ call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7
checkflag 2
- callif 1, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD
- specialval RESULT, sub_8090FC0
+ call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD
+ specialvar RESULT, sub_8090FC0
compare RESULT, 1
- jumpeq LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0
+ goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0
release
end
@@ -20,14 +20,14 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7:: @ 81583C7
LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0:: @ 81583D0
setflag 2
- fanfare 370
+ playfanfare 370
waitfanfare
- jump LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD
+ goto LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD
end
LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD:: @ 81583DD
message LilycoveCity_CoveLilyMotel_2F_Text_18708F
- waittext
+ waitmessage
call LilycoveCity_CoveLilyMotel_2F_EventScript_1A02C5
special ScrSpecial_ShowDiploma
waitstate
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
index 74b746633..9d04d2e33 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
@@ -5,11 +5,11 @@ LilycoveCity_DepartmentStoreElevator_EventScript_15A39C:: @ 815A39C
lock
faceplayer
checkflag 2
- callif 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF
+ call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF
copyvar 0x8005, 0x4043
special sub_810E944
message LilycoveCity_DepartmentStoreElevator_Text_1A0EF6
- waittext
+ waitmessage
multichoice 0, 0, 57, 0
switch RESULT
case 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A402
@@ -21,59 +21,59 @@ LilycoveCity_DepartmentStoreElevator_EventScript_15A39C:: @ 815A39C
end
LilycoveCity_DepartmentStoreElevator_EventScript_15A402:: @ 815A402
- warpplace LilycoveCity_DepartmentStore_1F, 255, 2, 1
+ setdynamicwarp LilycoveCity_DepartmentStore_1F, 255, 2, 1
compare 0x4043, 0
- jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8
setvar 0x4043, 0
- jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
end
LilycoveCity_DepartmentStoreElevator_EventScript_15A425:: @ 815A425
- warpplace LilycoveCity_DepartmentStore_2F, 255, 2, 1
+ setdynamicwarp LilycoveCity_DepartmentStore_2F, 255, 2, 1
compare 0x4043, 1
- jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8
setvar 0x4043, 1
- jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
end
LilycoveCity_DepartmentStoreElevator_EventScript_15A448:: @ 815A448
- warpplace LilycoveCity_DepartmentStore_3F, 255, 2, 1
+ setdynamicwarp LilycoveCity_DepartmentStore_3F, 255, 2, 1
compare 0x4043, 2
- jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8
setvar 0x4043, 2
- jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
end
LilycoveCity_DepartmentStoreElevator_EventScript_15A46B:: @ 815A46B
- warpplace LilycoveCity_DepartmentStore_4F, 255, 2, 1
+ setdynamicwarp LilycoveCity_DepartmentStore_4F, 255, 2, 1
compare 0x4043, 3
- jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8
setvar 0x4043, 3
- jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
end
LilycoveCity_DepartmentStoreElevator_EventScript_15A48E:: @ 815A48E
- warpplace LilycoveCity_DepartmentStore_5F, 255, 2, 1
+ setdynamicwarp LilycoveCity_DepartmentStore_5F, 255, 2, 1
compare 0x4043, 4
- jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8
setvar 0x4043, 4
- jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1
end
LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1:: @ 815A4B1
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
release
end
LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8:: @ 815A4B8
- hidebox 0, 0, 29, 19
- move LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_1A0845
- waitmove 0
+ erasebox 0, 0, 29, 19
+ applymovement LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_1A0845
+ waitmovement 0
special sub_810EBEC
waitstate
setflag 2
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc
index f84c84201..29914a9b5 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc
@@ -3,11 +3,11 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 815A13F
.byte 0
LilycoveCity_DepartmentStoreRooftop_MapScript1_15A145:: @ 815A145
- event_96 3
+ getpricereduction 3
compare RESULT, 1
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F
compare RESULT, 0
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A163
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A163
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F:: @ 815A15F
@@ -22,7 +22,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A167:: @ 815A167
lock
faceplayer
message LilycoveCity_DepartmentStoreRooftop_Text_1A0BE4
- waittext
+ waitmessage
pokemartdecor LilycoveCity_DepartmentStoreRooftop_Decorations
msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C02, 4
release
@@ -51,9 +51,9 @@ LilycoveCity_DepartmentStoreRooftop_Decorations:: @ 815A180
LilycoveCity_DepartmentStoreRooftop_EventScript_15A1A0:: @ 815A1A0
lock
faceplayer
- event_96 3
+ getpricereduction 3
compare RESULT, 1
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1BA
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1BA
msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C61F, 4
release
end
@@ -70,10 +70,10 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A1C4:: @ 815A1C4
LilycoveCity_DepartmentStoreRooftop_EventScript_15A1CD:: @ 815A1CD
lockall
message LilycoveCity_DepartmentStoreRooftop_Text_18C72B
- waittext
- showmoney 0, 0
- snop
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE
+ waitmessage
+ showmoneybox 0, 0
+ nop
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE:: @ 815A1DE
@@ -84,22 +84,22 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE:: @ 815A1DE
case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A227
case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_15A232
msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C7C3, 4
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A396
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A396
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A21C:: @ 815A21C
setvar 0x4000, 26
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A267
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A227:: @ 815A227
setvar 0x4000, 27
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A267
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A232:: @ 815A232
setvar 0x4000, 28
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A267
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D:: @ 815A23D
@@ -115,88 +115,88 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B:: @ 815A24B
return
LilycoveCity_DepartmentStoreRooftop_EventScript_15A252:: @ 815A252
- paymoney 0xc8, 0
+ takemoney 0xc8, 0
return
LilycoveCity_DepartmentStoreRooftop_EventScript_15A259:: @ 815A259
- paymoney 0x12c, 0
+ takemoney 0x12c, 0
return
LilycoveCity_DepartmentStoreRooftop_EventScript_15A260:: @ 815A260
- paymoney 0x15e, 0
+ takemoney 0x15e, 0
return
LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267
compare 0x4001, 0
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D
compare 0x4001, 1
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A244
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A244
compare 0x4001, 2
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B
compare RESULT, 0
- jumpeq LilycoveCity_DepartmentStoreRooftop_EventScript_15A37A
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A37A
checkitemspace 0x4000, 1
compare RESULT, 0
- jumpeq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
compare 0x4001, 0
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A252
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A252
compare 0x4001, 1
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A259
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A259
compare 0x4001, 2
- callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A260
- updatemoney 0, 0
- snop
- bufferitem 0, 0x4000
- playsfx 106
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A260
+ updatemoneybox 0, 0
+ nop
+ getitemname 0, 0x4000
+ playse 106
msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C75F, 4
additem 0x4000, 1
- bufferitem 1, 0x4000
- bufferstd 2, 14
+ getitemname 1, 0x4000
+ getstdstring 2, 14
msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4
random 64
compare RESULT, 0
- jumpif 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
+ goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
checkitemspace 0x4000, 1
compare RESULT, 0
- jumpeq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
- playsfx 106
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
+ playse 106
msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C780, 4
additem 0x4000, 1
- bufferitem 1, 0x4000
- bufferstd 2, 14
+ getitemname 1, 0x4000
+ getstdstring 2, 14
msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4
random 64
compare RESULT, 0
- jumpif 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
+ goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
checkitemspace 0x4000, 1
compare RESULT, 0
- jumpeq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
- playsfx 106
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388
+ playse 106
msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C780, 4
additem 0x4000, 1
- bufferitem 1, 0x4000
- bufferstd 2, 14
+ getitemname 1, 0x4000
+ getstdstring 2, 14
msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E:: @ 815A36E
message LilycoveCity_DepartmentStoreRooftop_Text_18C72B
- waittext
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE
+ waitmessage
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A37A:: @ 815A37A
msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C7AF, 4
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A396
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A396
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A388:: @ 815A388
msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C79, 4
- jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A396
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A396
end
LilycoveCity_DepartmentStoreRooftop_EventScript_15A396:: @ 815A396
- hidemoney 0, 0
+ hidemoneybox 0, 0
releaseall
end
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
index feff49c42..7acd29523 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
@@ -8,51 +8,51 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D55:: @ 8159D55
LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E
lock
faceplayer
- checkdailyflags
+ dodailyevents
compare 0x4045, 0
- jumpif 5, LilycoveCity_DepartmentStore_1F_EventScript_159EB1
+ goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_159EB1
checkflag 2250
- jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159E4C
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E4C
msgbox LilycoveCity_DepartmentStore_1F_Text_1C4B5E, 5
compare RESULT, 0
- jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159E56
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E56
setflag 2250
message LilycoveCity_DepartmentStore_1F_Text_1C4CC6
- waittext
+ waitmessage
special RetrieveLotteryNumber
copyvar 0x8008, RESULT
special sub_810F9AC
msgbox LilycoveCity_DepartmentStore_1F_Text_1C4CF6, 4
- move 2, LilycoveCity_DepartmentStore_1F_Movement_1A0843
- waitmove 0
- playsfx 4
+ applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_1A0843
+ waitmovement 0
+ playse 4
special DoLotteryCornerComputerEffect
special PickLotteryCornerTicket
- pause 220
+ delay 220
special EndLotteryCornerComputerEffect
- pause 10
- move 2, LilycoveCity_DepartmentStore_1F_Movement_1A0839
- waitmove 0
+ delay 10
+ applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_1A0839
+ waitmovement 0
compare 0x8004, 0
- jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159E60
- inccounter GAME_STAT_WON_POKEMON_LOTTERY
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E60
+ incrementgamestat GAME_STAT_WON_POKEMON_LOTTERY
compare 0x8006, 0
- callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E3A
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E3A
compare 0x8006, 1
- callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E43
- bufferitem 0, 0x8005
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E43
+ getitemname 0, 0x8005
compare 0x8004, 1
- callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E78
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E78
compare 0x8004, 2
- callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E81
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E81
compare 0x8004, 3
- callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E8A
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E8A
compare 0x8004, 4
- callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E93
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E93
giveitem 0x8005
compare RESULT, 0
- jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159E9C
- jump LilycoveCity_DepartmentStore_1F_EventScript_159E6E
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E9C
+ goto LilycoveCity_DepartmentStore_1F_EventScript_159E6E
end
LilycoveCity_DepartmentStore_1F_EventScript_159E3A:: @ 8159E3A
@@ -75,7 +75,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_159E56:: @ 8159E56
LilycoveCity_DepartmentStore_1F_EventScript_159E60:: @ 8159E60
msgbox LilycoveCity_DepartmentStore_1F_Text_1C4E27, 4
- jump LilycoveCity_DepartmentStore_1F_EventScript_159E6E
+ goto LilycoveCity_DepartmentStore_1F_EventScript_159E6E
end
LilycoveCity_DepartmentStore_1F_EventScript_159E6E:: @ 8159E6E
@@ -101,7 +101,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_159E93:: @ 8159E93
LilycoveCity_DepartmentStore_1F_EventScript_159E9C:: @ 8159E9C
copyvar 0x4045, 0x8005
- jump LilycoveCity_DepartmentStore_1F_EventScript_159EA7
+ goto LilycoveCity_DepartmentStore_1F_EventScript_159EA7
end
LilycoveCity_DepartmentStore_1F_EventScript_159EA7:: @ 8159EA7
@@ -113,7 +113,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_159EB1:: @ 8159EB1
msgbox LilycoveCity_DepartmentStore_1F_Text_1C4FCC, 4
giveitem 0x4045
compare RESULT, 0
- jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159EA7
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159EA7
setvar 0x4045, 0
release
end
@@ -133,8 +133,8 @@ LilycoveCity_DepartmentStore_1F_EventScript_159EE9:: @ 8159EE9
LilycoveCity_DepartmentStore_1F_EventScript_159EF2:: @ 8159EF2
lock
faceplayer
- checksound
- pokecry SPECIES_AZUMARILL, 0
+ waitse
+ playpokecry SPECIES_AZUMARILL, 0
msgbox LilycoveCity_DepartmentStore_1F_Text_18C0C3, 4
waitpokecry
release
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc
index e54883714..25e981628 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc
@@ -17,7 +17,7 @@ LilycoveCity_DepartmentStore_2F_EventScript_159F2A:: @ 8159F2A
lock
faceplayer
message LilycoveCity_DepartmentStore_2F_Text_1A0BE4
- waittext
+ waitmessage
pokemart LilycoveCity_DepartmentStore_2F_Items1
msgbox LilycoveCity_DepartmentStore_2F_Text_1A0C02, 4
release
@@ -44,7 +44,7 @@ LilycoveCity_DepartmentStore_2F_EventScript_159F5E:: @ 8159F5E
lock
faceplayer
message LilycoveCity_DepartmentStore_2F_Text_1A0BE4
- waittext
+ waitmessage
pokemart LilycoveCity_DepartmentStore_2F_Items2
msgbox LilycoveCity_DepartmentStore_2F_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc
index e669cef7f..1f55f5018 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc
@@ -5,7 +5,7 @@ LilycoveCity_DepartmentStore_3F_EventScript_159F91:: @ 8159F91
lock
faceplayer
message LilycoveCity_DepartmentStore_3F_Text_1A0BE4
- waittext
+ waitmessage
pokemart LilycoveCity_DepartmentStore_3F_Items1
msgbox LilycoveCity_DepartmentStore_3F_Text_1A0C02, 4
release
@@ -27,7 +27,7 @@ LilycoveCity_DepartmentStore_3F_EventScript_159FB8:: @ 8159FB8
lock
faceplayer
message LilycoveCity_DepartmentStore_3F_Text_1A0BE4
- waittext
+ waitmessage
pokemart LilycoveCity_DepartmentStore_3F_Items2
msgbox LilycoveCity_DepartmentStore_3F_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc
index 994b3b63f..d922d9181 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc
@@ -17,7 +17,7 @@ LilycoveCity_DepartmentStore_4F_EventScript_15A019:: @ 815A019
lock
faceplayer
message LilycoveCity_DepartmentStore_4F_Text_1A0BE4
- waittext
+ waitmessage
pokemart LilycoveCity_DepartmentStore_4F_Items1
msgbox LilycoveCity_DepartmentStore_4F_Text_1A0C02, 4
release
@@ -37,7 +37,7 @@ LilycoveCity_DepartmentStore_4F_EventScript_15A03C:: @ 815A03C
lock
faceplayer
message LilycoveCity_DepartmentStore_4F_Text_1A0BE4
- waittext
+ waitmessage
pokemart LilycoveCity_DepartmentStore_4F_Items2
msgbox LilycoveCity_DepartmentStore_4F_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc
index 0bef8866a..835a0f48d 100644
--- a/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc
@@ -5,7 +5,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_15A061:: @ 815A061
lock
faceplayer
message LilycoveCity_DepartmentStore_5F_Text_1A0BE4
- waittext
+ waitmessage
pokemartbp LilycoveCity_DepartmentStore_5F_Items1
msgbox LilycoveCity_DepartmentStore_5F_Text_1A0C02, 4
release
@@ -33,7 +33,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_15A094:: @ 815A094
lock
faceplayer
message LilycoveCity_DepartmentStore_5F_Text_1A0BE4
- waittext
+ waitmessage
pokemartbp LilycoveCity_DepartmentStore_5F_Items2
msgbox LilycoveCity_DepartmentStore_5F_Text_1A0C02, 4
release
@@ -58,7 +58,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_15A0C2:: @ 815A0C2
lock
faceplayer
message LilycoveCity_DepartmentStore_5F_Text_1A0BE4
- waittext
+ waitmessage
pokemartbp LilycoveCity_DepartmentStore_5F_Items3
msgbox LilycoveCity_DepartmentStore_5F_Text_1A0C02, 4
release
@@ -83,7 +83,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_15A0F2:: @ 815A0F2
lock
faceplayer
message LilycoveCity_DepartmentStore_5F_Text_1A0BE4
- waittext
+ waitmessage
pokemartbp LilycoveCity_DepartmentStore_5F_Items4
msgbox LilycoveCity_DepartmentStore_5F_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc
index aca6b16d4..7e14db994 100644
--- a/data/scripts/maps/LilycoveCity_Harbor.inc
+++ b/data/scripts/maps/LilycoveCity_Harbor.inc
@@ -3,7 +3,7 @@ LilycoveCity_Harbor_MapScripts:: @ 8159893
.byte 0
LilycoveCity_Harbor_MapScript1_159899:: @ 8159899
- warp6 LilycoveCity, 255, 12, 33
+ setescapewarp LilycoveCity, 255, 12, 33
end
LilycoveCity_Harbor_EventScript_1598A2:: @ 81598A2
@@ -11,13 +11,13 @@ LilycoveCity_Harbor_EventScript_1598A2:: @ 81598A2
faceplayer
checkitem ITEM_EON_TICKET, 1
compare RESULT, 1
- jumpeq LilycoveCity_Harbor_EventScript_1599EE
- jump LilycoveCity_Harbor_EventScript_1598BA
+ goto_if_eq LilycoveCity_Harbor_EventScript_1599EE
+ goto LilycoveCity_Harbor_EventScript_1598BA
end
LilycoveCity_Harbor_EventScript_1598BA:: @ 81598BA
checkflag 2052
- jumpeq LilycoveCity_Harbor_EventScript_1598CD
+ goto_if_eq LilycoveCity_Harbor_EventScript_1598CD
msgbox LilycoveCity_Harbor_Text_18B306, 4
release
end
@@ -26,14 +26,14 @@ LilycoveCity_Harbor_EventScript_1598CD:: @ 81598CD
msgbox LilycoveCity_Harbor_Text_18B36F, 4
checkitem ITEM_SS_TICKET, 1
compare RESULT, 0
- jumpeq LilycoveCity_Harbor_EventScript_159929
+ goto_if_eq LilycoveCity_Harbor_EventScript_159929
message LilycoveCity_Harbor_Text_18B406
- waittext
- jump LilycoveCity_Harbor_EventScript_1598F1
+ waitmessage
+ goto LilycoveCity_Harbor_EventScript_1598F1
end
LilycoveCity_Harbor_EventScript_1598F1:: @ 81598F1
- multichoicedef 18, 6, 56, 2, 0
+ multichoicedefault 18, 6, 56, 2, 0
switch RESULT
case 0, LilycoveCity_Harbor_EventScript_159933
case 1, LilycoveCity_Harbor_EventScript_15995B
@@ -49,7 +49,7 @@ LilycoveCity_Harbor_EventScript_159929:: @ 8159929
LilycoveCity_Harbor_EventScript_159933:: @ 8159933
msgbox LilycoveCity_Harbor_Text_18B47D, 5
compare RESULT, 0
- jumpeq LilycoveCity_Harbor_EventScript_15997E
+ goto_if_eq LilycoveCity_Harbor_EventScript_15997E
setvar 0x40b4, 5
call LilycoveCity_Harbor_EventScript_15998A
warp SSTidalCorridor, 255, 1, 10
@@ -60,7 +60,7 @@ LilycoveCity_Harbor_EventScript_159933:: @ 8159933
LilycoveCity_Harbor_EventScript_15995B:: @ 815995B
msgbox LilycoveCity_Harbor_Text_18B499, 5
compare RESULT, 0
- jumpeq LilycoveCity_Harbor_EventScript_15997E
+ goto_if_eq LilycoveCity_Harbor_EventScript_15997E
call LilycoveCity_Harbor_EventScript_15998A
warp BattleTower_Outside, 255, 19, 23
waitstate
@@ -69,35 +69,35 @@ LilycoveCity_Harbor_EventScript_15995B:: @ 815995B
LilycoveCity_Harbor_EventScript_15997E:: @ 815997E
message LilycoveCity_Harbor_Text_18B4E2
- waittext
- jump LilycoveCity_Harbor_EventScript_1598F1
+ waitmessage
+ goto LilycoveCity_Harbor_EventScript_1598F1
end
LilycoveCity_Harbor_EventScript_15998A:: @ 815998A
msgbox LilycoveCity_Harbor_Text_18B4B3, 4
- closebutton
- move LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841
- waitmove 0
- pause 30
- spriteinvisible LAST_TALKED, 13, 10
+ closemessage
+ applymovement LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841
+ waitmovement 0
+ delay 30
+ hideobject LAST_TALKED, 13, 10
compare FACING, 2
- callif 1, LilycoveCity_Harbor_EventScript_1599D9
+ call_if 1, LilycoveCity_Harbor_EventScript_1599D9
compare FACING, 4
- callif 1, LilycoveCity_Harbor_EventScript_1599CE
- pause 30
- spriteinvisible 255, 0, 0
+ call_if 1, LilycoveCity_Harbor_EventScript_1599CE
+ delay 30
+ hideobject 255, 0, 0
setvar 0x8004, 2
call LilycoveCity_Harbor_EventScript_1A040E
return
LilycoveCity_Harbor_EventScript_1599CE:: @ 81599CE
- move 255, LilycoveCity_Harbor_Movement_159A86
- waitmove 0
+ applymovement 255, LilycoveCity_Harbor_Movement_159A86
+ waitmovement 0
return
LilycoveCity_Harbor_EventScript_1599D9:: @ 81599D9
- move 255, LilycoveCity_Harbor_Movement_159A89
- waitmove 0
+ applymovement 255, LilycoveCity_Harbor_Movement_159A89
+ waitmovement 0
return
LilycoveCity_Harbor_EventScript_1599E4:: @ 81599E4
@@ -107,34 +107,34 @@ LilycoveCity_Harbor_EventScript_1599E4:: @ 81599E4
LilycoveCity_Harbor_EventScript_1599EE:: @ 81599EE
checkflag 2052
- jumpif 0, LilycoveCity_Harbor_EventScript_1598BA
+ goto_if 0, LilycoveCity_Harbor_EventScript_1598BA
checkflag 206
- jumpeq LilycoveCity_Harbor_EventScript_1598BA
+ goto_if_eq LilycoveCity_Harbor_EventScript_1598BA
checkflag 2131
- jumpif 0, LilycoveCity_Harbor_EventScript_1598BA
+ goto_if 0, LilycoveCity_Harbor_EventScript_1598BA
msgbox LilycoveCity_Harbor_Text_1C50F2, 4
- closebutton
- move LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841
- waitmove 0
- pause 30
- spriteinvisible LAST_TALKED, 13, 10
- pause 60
- reappear 4
- pause 30
- move 4, LilycoveCity_Harbor_Movement_1A0839
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841
+ waitmovement 0
+ delay 30
+ hideobject LAST_TALKED, 13, 10
+ delay 60
+ addobject 4
+ delay 30
+ applymovement 4, LilycoveCity_Harbor_Movement_1A0839
+ waitmovement 0
msgbox LilycoveCity_Harbor_Text_1C5120, 4
- closebutton
- move 4, LilycoveCity_Harbor_Movement_1A0841
- waitmove 0
- pause 30
- disappear 4
+ closemessage
+ applymovement 4, LilycoveCity_Harbor_Movement_1A0841
+ waitmovement 0
+ delay 30
+ removeobject 4
compare FACING, 2
- callif 1, LilycoveCity_Harbor_EventScript_1599D9
+ call_if 1, LilycoveCity_Harbor_EventScript_1599D9
compare FACING, 4
- callif 1, LilycoveCity_Harbor_EventScript_1599CE
- pause 30
- spriteinvisible 255, 0, 0
+ call_if 1, LilycoveCity_Harbor_EventScript_1599CE
+ delay 30
+ hideobject 255, 0, 0
special ScrSpecial_HealPlayerParty
setvar 0x8004, 2
call LilycoveCity_Harbor_EventScript_1A040E
@@ -160,7 +160,7 @@ LilycoveCity_Harbor_EventScript_159A8D:: @ 8159A8D
lock
faceplayer
checkflag 2052
- jumpeq LilycoveCity_Harbor_EventScript_159AA2
+ goto_if_eq LilycoveCity_Harbor_EventScript_159AA2
msgbox LilycoveCity_Harbor_Text_18B504, 4
release
end
diff --git a/data/scripts/maps/LilycoveCity_House1.inc b/data/scripts/maps/LilycoveCity_House1.inc
index 3dae362c1..4defe37b8 100644
--- a/data/scripts/maps/LilycoveCity_House1.inc
+++ b/data/scripts/maps/LilycoveCity_House1.inc
@@ -8,8 +8,8 @@ LilycoveCity_House1_EventScript_159B86:: @ 8159B86
LilycoveCity_House1_EventScript_159B8F:: @ 8159B8F
lock
faceplayer
- checksound
- pokecry SPECIES_KECLEON, 0
+ waitse
+ playpokecry SPECIES_KECLEON, 0
msgbox LilycoveCity_House1_Text_18B82B, 4
waitpokecry
release
diff --git a/data/scripts/maps/LilycoveCity_House2.inc b/data/scripts/maps/LilycoveCity_House2.inc
index 75780667d..d3399f5ac 100644
--- a/data/scripts/maps/LilycoveCity_House2.inc
+++ b/data/scripts/maps/LilycoveCity_House2.inc
@@ -5,11 +5,11 @@ LilycoveCity_House2_EventScript_159BA3:: @ 8159BA3
lock
faceplayer
checkflag 234
- jumpeq LilycoveCity_House2_EventScript_159BDA
+ goto_if_eq LilycoveCity_House2_EventScript_159BDA
msgbox LilycoveCity_House2_Text_18B83C, 4
giveitem ITEM_TM44
compare RESULT, 0
- jumpeq LilycoveCity_House2_EventScript_1A029B
+ goto_if_eq LilycoveCity_House2_EventScript_1A029B
setflag 234
msgbox LilycoveCity_House2_Text_18B883, 4
release
diff --git a/data/scripts/maps/LilycoveCity_House3.inc b/data/scripts/maps/LilycoveCity_House3.inc
index 51e4988b3..f700eed9d 100644
--- a/data/scripts/maps/LilycoveCity_House3.inc
+++ b/data/scripts/maps/LilycoveCity_House3.inc
@@ -12,19 +12,19 @@ LilycoveCity_House3_EventScript_159BF3:: @ 8159BF3
faceplayer
msgbox LilycoveCity_House3_Text_18B8CC, 5
compare RESULT, 0
- jumpeq LilycoveCity_House3_EventScript_159C1D
+ goto_if_eq LilycoveCity_House3_EventScript_159C1D
msgbox LilycoveCity_House3_Text_18BA2B, 4
- closebutton
- move LAST_TALKED, LilycoveCity_House3_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, LilycoveCity_House3_Movement_1A083D
+ waitmovement 0
release
end
LilycoveCity_House3_EventScript_159C1D:: @ 8159C1D
msgbox LilycoveCity_House3_Text_18B9DC, 4
- closebutton
- move LAST_TALKED, LilycoveCity_House3_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, LilycoveCity_House3_Movement_1A083D
+ waitmovement 0
release
end
@@ -32,9 +32,9 @@ LilycoveCity_House3_EventScript_159C32:: @ 8159C32
lock
faceplayer
msgbox LilycoveCity_House3_Text_18BD64, 4
- closebutton
- move LAST_TALKED, LilycoveCity_House3_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, LilycoveCity_House3_Movement_1A083D
+ waitmovement 0
release
end
diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc
index a481f9c32..06e82d5f8 100644
--- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc
+++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc
@@ -7,14 +7,14 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_15841C:: @ 815841C
LilycoveCity_LilycoveMuseum_1F_EventScript_158425:: @ 8158425
lockall
- move 2, LilycoveCity_LilycoveMuseum_1F_Movement_1A0839
+ applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_1A0839
message LilycoveCity_LilycoveMuseum_1F_Text_1873B9
- waittext
+ waitmessage
multichoice 20, 8, 16, 1
compare RESULT, 0
- jumpeq LilycoveCity_LilycoveMuseum_1F_EventScript_158458
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_158458
compare RESULT, 1
- jumpeq LilycoveCity_LilycoveMuseum_1F_EventScript_15844F
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_15844F
end
LilycoveCity_LilycoveMuseum_1F_EventScript_15844F:: @ 815844F
@@ -24,9 +24,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_15844F:: @ 815844F
LilycoveCity_LilycoveMuseum_1F_EventScript_158458:: @ 8158458
msgbox LilycoveCity_LilycoveMuseum_1F_Text_187495, 5
compare RESULT, 0
- jumpeq LilycoveCity_LilycoveMuseum_1F_EventScript_158477
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_158477
compare RESULT, 1
- jumpeq LilycoveCity_LilycoveMuseum_1F_EventScript_158481
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_158481
end
LilycoveCity_LilycoveMuseum_1F_EventScript_158477:: @ 8158477
@@ -36,9 +36,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_158477:: @ 8158477
LilycoveCity_LilycoveMuseum_1F_EventScript_158481:: @ 8158481
msgbox LilycoveCity_LilycoveMuseum_1F_Text_187534, 3
- move 2, LilycoveCity_LilycoveMuseum_1F_Movement_1584FC
- waitmove 0
- disappear 2
+ applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_1584FC
+ waitmovement 0
+ removeobject 2
switch FACING
case 2, LilycoveCity_LilycoveMuseum_1F_EventScript_1584BD
case 3, LilycoveCity_LilycoveMuseum_1F_EventScript_1584D2
@@ -47,24 +47,24 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_158481:: @ 8158481
LilycoveCity_LilycoveMuseum_1F_EventScript_1584BD:: @ 81584BD
lockall
- move 255, LilycoveCity_LilycoveMuseum_1F_Movement_158504
- waitmove 0
+ applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_158504
+ waitmovement 0
warp LilycoveCity_LilycoveMuseum_2F, 255, 11, 8
waitstate
end
LilycoveCity_LilycoveMuseum_1F_EventScript_1584D2:: @ 81584D2
lockall
- move 255, LilycoveCity_LilycoveMuseum_1F_Movement_1584FE
- waitmove 0
+ applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_1584FE
+ waitmovement 0
warp LilycoveCity_LilycoveMuseum_2F, 255, 11, 8
waitstate
end
LilycoveCity_LilycoveMuseum_1F_EventScript_1584E7:: @ 81584E7
lockall
- move 255, LilycoveCity_LilycoveMuseum_1F_Movement_158501
- waitmove 0
+ applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_158501
+ waitmovement 0
warp LilycoveCity_LilycoveMuseum_2F, 255, 11, 8
waitstate
end
@@ -152,8 +152,8 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_158585:: @ 8158585
LilycoveCity_LilycoveMuseum_1F_EventScript_15858E:: @ 815858E
msgbox LilycoveCity_LilycoveMuseum_1F_Text_187B04, 2
lockall
- move 8, LilycoveCity_LilycoveMuseum_1F_Movement_1A083D
- waitmove 0
+ applymovement 8, LilycoveCity_LilycoveMuseum_1F_Movement_1A083D
+ waitmovement 0
releaseall
end
diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
index b3564ebf5..a4599f14a 100644
--- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
+++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
@@ -5,55 +5,55 @@ LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 81585AC
LilycoveCity_LilycoveMuseum_2F_MapScript1_1585B7:: @ 81585B7
checkflag 160
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6:: @ 81585C6
checkflag 161
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158615
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158615
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5:: @ 81585D5
checkflag 162
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15862D
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15862D
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4:: @ 81585E4
checkflag 163
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158645
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158645
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3:: @ 81585F3
checkflag 164
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15865D
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15865D
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD:: @ 81585FD
setmaptile 10, 6, 606, 1
setmaptile 11, 6, 607, 1
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6
end
LilycoveCity_LilycoveMuseum_2F_EventScript_158615:: @ 8158615
setmaptile 18, 6, 604, 1
setmaptile 19, 6, 605, 1
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5
end
LilycoveCity_LilycoveMuseum_2F_EventScript_15862D:: @ 815862D
setmaptile 14, 10, 608, 1
setmaptile 15, 10, 609, 1
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4
end
LilycoveCity_LilycoveMuseum_2F_EventScript_158645:: @ 8158645
setmaptile 6, 10, 602, 1
setmaptile 7, 10, 603, 1
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_15865D:: @ 815865D
@@ -67,19 +67,19 @@ LilycoveCity_LilycoveMuseum_2F_MapScript2_158670:: @ 8158670
LilycoveCity_LilycoveMuseum_2F_EventScript_15867A:: @ 815867A
lockall
- move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839
- move 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D3
- waitmove 0
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839
+ applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D3
+ waitmovement 0
msgbox LilycoveCity_LilycoveMuseum_2F_Text_187C42, 3
- move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5
- waitmove 0
- move 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5
- waitmove 0
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5
+ waitmovement 0
+ applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5
+ waitmovement 0
msgbox LilycoveCity_LilycoveMuseum_2F_Text_187C64, 3
- move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839
- waitmove 0
- move 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D3
- waitmove 0
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839
+ waitmovement 0
+ applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D3
+ waitmovement 0
msgbox LilycoveCity_LilycoveMuseum_2F_Text_187E1D, 3
copyvar 0x4094, 0x1
releaseall
@@ -97,8 +97,8 @@ LilycoveCity_LilycoveMuseum_2F_Movement_1586D5:: @ 81586D5
LilycoveCity_LilycoveMuseum_2F_EventScript_1586D8:: @ 81586D8
lockall
checkflag 236
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158793
- specialval 0x8004, sub_80C4D50
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158793
+ specialvar 0x8004, sub_80C4D50
switch 0x8004
case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C
case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C
@@ -113,29 +113,29 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_15872C:: @ 815872C
end
LilycoveCity_LilycoveMuseum_2F_EventScript_158735:: @ 8158735
- move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839
- waitmove 0
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839
+ waitmovement 0
msgbox LilycoveCity_LilycoveMuseum_2F_Text_18802F, 4
- move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5
msgbox LilycoveCity_LilycoveMuseum_2F_Text_188041, 4
- jump LilycoveCity_LilycoveMuseum_2F_EventScript_15875C
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_15875C
end
LilycoveCity_LilycoveMuseum_2F_EventScript_15875C:: @ 815875C
- move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839
msgbox LilycoveCity_LilycoveMuseum_2F_Text_188120, 4
givedecoration 44
compare RESULT, 0
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158783
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158783
setflag 236
- closebutton
+ closemessage
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_158783:: @ 8158783
call LilycoveCity_LilycoveMuseum_2F_EventScript_1A02B8
msgbox LilycoveCity_LilycoveMuseum_2F_Text_188166, 4
- closebutton
+ closemessage
releaseall
end
@@ -147,35 +147,35 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_158793:: @ 8158793
LilycoveCity_LilycoveMuseum_2F_EventScript_15879D:: @ 815879D
lockall
checkflag 162
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15883C
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15883C
msgbox LilycoveCity_LilycoveMuseum_2F_Text_188219, 3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1587B0:: @ 81587B0
lockall
checkflag 164
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158858
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158858
msgbox LilycoveCity_LilycoveMuseum_2F_Text_18824C, 3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1587C3:: @ 81587C3
lockall
checkflag 160
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158820
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158820
msgbox LilycoveCity_LilycoveMuseum_2F_Text_1882B4, 3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1587D6:: @ 81587D6
lockall
checkflag 161
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15882E
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15882E
msgbox LilycoveCity_LilycoveMuseum_2F_Text_188281, 3
end
LilycoveCity_LilycoveMuseum_2F_EventScript_1587E9:: @ 81587E9
lockall
checkflag 163
- jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15884A
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15884A
msgbox LilycoveCity_LilycoveMuseum_2F_Text_1882E6, 3
end
@@ -198,34 +198,34 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_158817:: @ 8158817
LilycoveCity_LilycoveMuseum_2F_EventScript_158820:: @ 8158820
msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3
fadescreen 1
- showcontestwinner 9
+ drawcontestwinner 9
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_15882E:: @ 815882E
msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3
fadescreen 1
- showcontestwinner 10
+ drawcontestwinner 10
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_15883C:: @ 815883C
msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3
fadescreen 1
- showcontestwinner 11
+ drawcontestwinner 11
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_15884A:: @ 815884A
msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3
fadescreen 1
- showcontestwinner 12
+ drawcontestwinner 12
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_158858:: @ 8158858
msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3
fadescreen 1
- showcontestwinner 13
+ drawcontestwinner 13
releaseall
end
diff --git a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc
index 2786c930c..02558e9d3 100644
--- a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc
+++ b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc
@@ -3,8 +3,8 @@ LilycoveCity_MoveDeletersHouse_MapScripts:: @ 8159AAD
LilycoveCity_MoveDeletersHouse_EventScript_159AAE:: @ 8159AAE
lockall
- move 1, LilycoveCity_MoveDeletersHouse_Movement_1A0839
- waitmove 0
+ applymovement 1, LilycoveCity_MoveDeletersHouse_Movement_1A0839
+ waitmovement 0
msgbox LilycoveCity_MoveDeletersHouse_Text_18B622, 5
switch RESULT
case 1, LilycoveCity_MoveDeletersHouse_EventScript_159ADE
@@ -17,19 +17,19 @@ LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE
special sub_80F9A0C
waitstate
compare 0x8004, 255
- jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B7B
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159B7B
special sub_80FA148
compare RESULT, 1
- jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B71
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159B71
special ScrSpecial_CountPokemonMoves
compare RESULT, 1
- jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B64
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159B64
msgbox LilycoveCity_MoveDeletersHouse_Text_18B6B0, 4
fadescreen 1
special sub_80F9EEC
fadescreen 0
compare 0x8005, 4
- jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159ADE
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159ADE
special ScrSpecial_GetPokemonNicknameAndMoveName
msgbox LilycoveCity_MoveDeletersHouse_Text_18B6F2, 5
switch RESULT
@@ -40,7 +40,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE
LilycoveCity_MoveDeletersHouse_EventScript_159B53:: @ 8159B53
special sub_80FA0DC
- fanfare 378
+ playfanfare 378
waitfanfare
msgbox LilycoveCity_MoveDeletersHouse_Text_18B71E, 4
releaseall
diff --git a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc
index 5809e28c8..20b5c5f13 100644
--- a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc
@@ -9,7 +9,7 @@ LilycoveCity_PokemonCenter_1F_MapScript1_15932D:: @ 815932D
LilycoveCity_PokemonCenter_1F_EventScript_159331:: @ 8159331
setvar 0x800b, 1
call LilycoveCity_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
@@ -22,7 +22,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_159348:: @ 8159348
lock
faceplayer
checkflag 2061
- jumpeq LilycoveCity_PokemonCenter_1F_EventScript_15935D
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_15935D
msgbox LilycoveCity_PokemonCenter_1F_Text_18A048, 4
release
end
diff --git a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
index e503ef4ec..13217b340 100644
--- a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
+++ b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
@@ -9,21 +9,21 @@ LilycoveCity_PokemonTrainerFanClub_MapScript2_159395:: @ 8159395
LilycoveCity_PokemonTrainerFanClub_EventScript_15939F:: @ 815939F
lockall
- move 1, LilycoveCity_PokemonTrainerFanClub_Movement_1A0845
- waitmove 0
+ applymovement 1, LilycoveCity_PokemonTrainerFanClub_Movement_1A0845
+ waitmovement 0
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A1D6, 4
- move 4, LilycoveCity_PokemonTrainerFanClub_Movement_159402
- move 2, LilycoveCity_PokemonTrainerFanClub_Movement_1593FA
- waitmove 0
- move 255, LilycoveCity_PokemonTrainerFanClub_Movement_1A0843
- waitmove 0
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_159402
+ applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_1593FA
+ waitmovement 0
+ applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_1A0843
+ waitmovement 0
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A1E8, 4
- move 4, LilycoveCity_PokemonTrainerFanClub_Movement_159409
- waitmove 0
- move 255, LilycoveCity_PokemonTrainerFanClub_Movement_1A083F
- waitmove 0
- move 4, LilycoveCity_PokemonTrainerFanClub_Movement_15940C
- waitmove 0
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_159409
+ waitmovement 0
+ applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_1A083F
+ waitmovement 0
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_15940C
+ waitmovement 0
setvar 0x4095, 2
releaseall
end
@@ -62,77 +62,77 @@ LilycoveCity_PokemonTrainerFanClub_Movement_15940C:: @ 815940C
LilycoveCity_PokemonTrainerFanClub_MapScript1_159412:: @ 8159412
compare 0x4095, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159515
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159515
compare 0x4095, 2
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159429
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159429
end
LilycoveCity_PokemonTrainerFanClub_EventScript_159429:: @ 8159429
special sub_810FCE8
setvar 0x8004, 8
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 0
- callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5
setvar 0x8004, 9
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 0
- callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD
setvar 0x8004, 10
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 0
- callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5
setvar 0x8004, 11
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 0
- callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED
setvar 0x8004, 12
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 0
- callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5
setvar 0x8004, 13
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 0
- callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD
setvar 0x8004, 14
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 0
- callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_159505
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_159505
setvar 0x8004, 15
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 0
- callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_15950D
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_15950D
end
LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5:: @ 81594D5
- movespriteperm 1, 7, 5
+ setobjectxyperm 1, 7, 5
return
LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD:: @ 81594DD
- movespriteperm 3, 3, 4
+ setobjectxyperm 3, 3, 4
return
LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5:: @ 81594E5
- movespriteperm 4, 7, 2
+ setobjectxyperm 4, 7, 2
return
LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED:: @ 81594ED
- movespriteperm 5, 5, 5
+ setobjectxyperm 5, 5, 5
return
LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5:: @ 81594F5
- movespriteperm 6, 5, 2
+ setobjectxyperm 6, 5, 2
return
LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD:: @ 81594FD
- movespriteperm 2, 8, 4
+ setobjectxyperm 2, 8, 4
return
LilycoveCity_PokemonTrainerFanClub_EventScript_159505:: @ 8159505
- movespriteperm 7, 3, 3
+ setobjectxyperm 7, 3, 3
return
LilycoveCity_PokemonTrainerFanClub_EventScript_15950D:: @ 815950D
- movespriteperm 8, 8, 3
+ setobjectxyperm 8, 8, 3
return
LilycoveCity_PokemonTrainerFanClub_EventScript_159515:: @ 8159515
@@ -149,21 +149,21 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15952F:: @ 815952F
setvar 0x8004, 13
special sub_810FDAC
compare 0x4095, 0
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15959C
- specialval RESULT, sub_810FD60
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15959C
+ specialvar RESULT, sub_810FD60
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15956E
- specialval RESULT, sub_810FCB0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15956E
+ specialvar RESULT, sub_810FCB0
compare RESULT, 7
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159592
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159592
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A400, 4
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_15956E:: @ 815956E
- specialval RESULT, sub_810FCB0
+ specialvar RESULT, sub_810FCB0
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159588
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159588
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A36A, 4
release
end
@@ -189,21 +189,21 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1595A6:: @ 81595A6
setvar 0x8004, 8
special sub_810FDAC
compare 0x4095, 0
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159613
- specialval RESULT, sub_810FD60
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159613
+ specialvar RESULT, sub_810FD60
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5
- specialval RESULT, sub_810FCB0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5
+ specialvar RESULT, sub_810FCB0
compare RESULT, 7
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159609
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159609
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A629, 4
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5:: @ 81595E5
- specialval RESULT, sub_810FCB0
+ specialvar RESULT, sub_810FCB0
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1595FF
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1595FF
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A584, 4
release
end
@@ -229,21 +229,21 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15961D:: @ 815961D
setvar 0x8004, 9
special sub_810FDAC
compare 0x4095, 0
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15968A
- specialval RESULT, sub_810FD60
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15968A
+ specialvar RESULT, sub_810FD60
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15965C
- specialval RESULT, sub_810FCB0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15965C
+ specialvar RESULT, sub_810FCB0
compare RESULT, 7
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159680
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159680
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A814, 4
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_15965C:: @ 815965C
- specialval RESULT, sub_810FCB0
+ specialvar RESULT, sub_810FCB0
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159676
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159676
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A71E, 4
release
end
@@ -269,21 +269,21 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159694:: @ 8159694
setvar 0x8004, 10
special sub_810FDAC
compare 0x4095, 0
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159701
- specialval RESULT, sub_810FD60
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159701
+ specialvar RESULT, sub_810FD60
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3
- specialval RESULT, sub_810FCB0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3
+ specialvar RESULT, sub_810FCB0
compare RESULT, 7
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596F7
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1596F7
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AB0A, 4
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3:: @ 81596D3
- specialval RESULT, sub_810FCB0
+ specialvar RESULT, sub_810FCB0
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596ED
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1596ED
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AA39, 4
release
end
@@ -308,20 +308,20 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15970B:: @ 815970B
faceplayer
setvar 0x8004, 11
special sub_810FDAC
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15973F
- specialval RESULT, sub_810FCB0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15973F
+ specialvar RESULT, sub_810FCB0
compare RESULT, 7
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159763
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159763
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18ACC7, 4
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_15973F:: @ 815973F
- specialval RESULT, sub_810FCB0
+ specialvar RESULT, sub_810FCB0
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159759
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159759
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AC15, 4
release
end
@@ -341,20 +341,20 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15976D:: @ 815976D
faceplayer
setvar 0x8004, 12
special sub_810FDAC
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1
- specialval RESULT, sub_810FCB0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1
+ specialvar RESULT, sub_810FCB0
compare RESULT, 7
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597C5
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1597C5
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AE63, 4
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1:: @ 81597A1
- specialval RESULT, sub_810FCB0
+ specialvar RESULT, sub_810FCB0
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597BB
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1597BB
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AD6D, 4
release
end
@@ -374,20 +374,20 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1597CF:: @ 81597CF
faceplayer
setvar 0x8004, 14
special sub_810FDAC
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159803
- specialval RESULT, sub_810FCB0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159803
+ specialvar RESULT, sub_810FCB0
compare RESULT, 7
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159827
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159827
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B030, 4
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_159803:: @ 8159803
- specialval RESULT, sub_810FCB0
+ specialvar RESULT, sub_810FCB0
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15981D
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15981D
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AF62, 4
release
end
@@ -407,20 +407,20 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159831:: @ 8159831
faceplayer
setvar 0x8004, 15
special sub_810FDAC
- specialval RESULT, sub_810FD60
+ specialvar RESULT, sub_810FD60
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159865
- specialval RESULT, sub_810FCB0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159865
+ specialvar RESULT, sub_810FCB0
compare RESULT, 7
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159889
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159889
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B1FD, 4
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_159865:: @ 8159865
- specialval RESULT, sub_810FCB0
+ specialvar RESULT, sub_810FCB0
compare RESULT, 1
- jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15987F
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15987F
msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B16E, 4
release
end
diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc
index 2a4f77529..220aeead7 100644
--- a/data/scripts/maps/LittlerootTown.inc
+++ b/data/scripts/maps/LittlerootTown.inc
@@ -6,19 +6,19 @@ LittlerootTown_MapScripts:: @ 814D509
LittlerootTown_MapScript1_14D514:: @ 814D514
setflag 2063
compare 0x4092, 2
- callif 1, LittlerootTown_EventScript_14D57B
+ call_if 1, LittlerootTown_EventScript_14D57B
checkflag 82
- callif 0, LittlerootTown_EventScript_14D583
+ call_if 0, LittlerootTown_EventScript_14D583
compare 0x4050, 3
- callif 1, LittlerootTown_EventScript_14D5A6
+ call_if 1, LittlerootTown_EventScript_14D5A6
compare 0x4082, 4
- callif 1, LittlerootTown_EventScript_14D570
+ call_if 1, LittlerootTown_EventScript_14D570
compare 0x408c, 4
- callif 1, LittlerootTown_EventScript_14D570
+ call_if 1, LittlerootTown_EventScript_14D570
compare 0x40c7, 1
- callif 1, LittlerootTown_EventScript_14D567
+ call_if 1, LittlerootTown_EventScript_14D567
compare 0x408d, 3
- callif 1, LittlerootTown_EventScript_14D563
+ call_if 1, LittlerootTown_EventScript_14D563
end
LittlerootTown_EventScript_14D563:: @ 814D563
@@ -36,37 +36,37 @@ LittlerootTown_EventScript_14D570:: @ 814D570
return
LittlerootTown_EventScript_14D57B:: @ 814D57B
- movespriteperm 4, 14, 8
+ setobjectxyperm 4, 14, 8
return
LittlerootTown_EventScript_14D583:: @ 814D583
compare 0x4050, 0
- jumpeq LittlerootTown_EventScript_14D59A
- movespriteperm 1, 10, 1
- spritebehave 1, 7
+ goto_if_eq LittlerootTown_EventScript_14D59A
+ setobjectxyperm 1, 10, 1
+ setobjectmovementtype 1, 7
return
LittlerootTown_EventScript_14D59A:: @ 814D59A
- movespriteperm 1, 7, 2
- spritebehave 1, 8
+ setobjectxyperm 1, 7, 2
+ setobjectmovementtype 1, 8
return
LittlerootTown_EventScript_14D5A6:: @ 814D5A6
clearflag 752
- spritebehave 4, 8
- checkgender
+ setobjectmovementtype 4, 8
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_EventScript_14D5C5
+ call_if 1, LittlerootTown_EventScript_14D5C5
compare RESULT, 1
- callif 1, LittlerootTown_EventScript_14D5CD
+ call_if 1, LittlerootTown_EventScript_14D5CD
return
LittlerootTown_EventScript_14D5C5:: @ 814D5C5
- movespriteperm 4, 5, 9
+ setobjectxyperm 4, 5, 9
return
LittlerootTown_EventScript_14D5CD:: @ 814D5CD
- movespriteperm 4, 14, 9
+ setobjectxyperm 4, 14, 9
return
LittlerootTown_MapScript2_14D5D5:: @ 814D5D5
@@ -81,7 +81,7 @@ LittlerootTown_EventScript_14D5EF:: @ 814D5EF
setvar 0x8005, 8
call LittlerootTown_EventScript_14D62B
setflag 761
- warpmuted LittlerootTown_BrendansHouse_1F, 255, 8, 8
+ warpsilent LittlerootTown_BrendansHouse_1F, 255, 8, 8
waitstate
releaseall
end
@@ -92,41 +92,41 @@ LittlerootTown_EventScript_14D60D:: @ 814D60D
setvar 0x8005, 8
call LittlerootTown_EventScript_14D62B
setflag 762
- warpmuted LittlerootTown_MaysHouse_1F, 255, 2, 8
+ warpsilent LittlerootTown_MaysHouse_1F, 255, 2, 8
waitstate
releaseall
end
LittlerootTown_EventScript_14D62B:: @ 814D62B
- pause 15
- playsfx 10
- move 255, LittlerootTown_Movement_14D6C0
- waitmove 0
- setdooropened 0x8004, 0x8005
- doorchange
- reappear 4
- move 4, LittlerootTown_Movement_14D6AC
- waitmove 0
- setdoorclosed 0x8004, 0x8005
- doorchange
- pause 10
- move 4, LittlerootTown_Movement_14D6AE
- waitmove 0
+ delay 15
+ playse 10
+ applymovement 255, LittlerootTown_Movement_14D6C0
+ waitmovement 0
+ opendoor 0x8004, 0x8005
+ waitdooranim
+ addobject 4
+ applymovement 4, LittlerootTown_Movement_14D6AC
+ waitmovement 0
+ closedoor 0x8004, 0x8005
+ waitdooranim
+ delay 10
+ applymovement 4, LittlerootTown_Movement_14D6AE
+ waitmovement 0
msgbox LittlerootTown_Text_16A7C9, 4
- closebutton
- move 4, LittlerootTown_Movement_14D6B1
- move 255, LittlerootTown_Movement_14D6B8
- waitmove 0
- setdooropened 0x8004, 0x8005
- doorchange
- move 4, LittlerootTown_Movement_14D6B5
- move 255, LittlerootTown_Movement_14D6BD
- waitmove 0
+ closemessage
+ applymovement 4, LittlerootTown_Movement_14D6B1
+ applymovement 255, LittlerootTown_Movement_14D6B8
+ waitmovement 0
+ opendoor 0x8004, 0x8005
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14D6B5
+ applymovement 255, LittlerootTown_Movement_14D6BD
+ waitmovement 0
setflag 752
setvar 0x4092, 3
- spriteinvisible 255, 0, 0
- setdoorclosed 0x8004, 0x8005
- doorchange
+ hideobject 255, 0, 0
+ closedoor 0x8004, 0x8005
+ waitdooranim
clearflag 868
clearflag 0x4000
return
@@ -188,20 +188,20 @@ LittlerootTown_EventScript_14D6DF:: @ 814D6DF
lock
faceplayer
checkflag 116
- jumpeq LittlerootTown_EventScript_14D72F
+ goto_if_eq LittlerootTown_EventScript_14D72F
checkflag 82
- jumpeq LittlerootTown_EventScript_14D722
+ goto_if_eq LittlerootTown_EventScript_14D722
compare 0x4050, 0
- jumpif 5, LittlerootTown_EventScript_14D708
+ goto_if 5, LittlerootTown_EventScript_14D708
msgbox LittlerootTown_Text_16ACEB, 4
release
end
LittlerootTown_EventScript_14D708:: @ 814D708
msgbox LittlerootTown_Text_16AD82, 4
- closebutton
- move 1, LittlerootTown_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 1, LittlerootTown_Movement_1A083D
+ waitmovement 0
setvar 0x4050, 2
release
end
@@ -219,22 +219,22 @@ LittlerootTown_EventScript_14D72F:: @ 814D72F
LittlerootTown_EventScript_14D739:: @ 814D739
lockall
- move 1, LittlerootTown_Movement_14D779
- waitmove 0
+ applymovement 1, LittlerootTown_Movement_14D779
+ waitmovement 0
call LittlerootTown_EventScript_14D755
- move 1, LittlerootTown_Movement_14D789
- waitmove 0
+ applymovement 1, LittlerootTown_Movement_14D789
+ waitmovement 0
releaseall
end
LittlerootTown_EventScript_14D755:: @ 814D755
msgbox LittlerootTown_Text_16ACEB, 4
- closebutton
- move 1, LittlerootTown_Movement_14D787
- move 255, LittlerootTown_Movement_14D793
- waitmove 0
+ closemessage
+ applymovement 1, LittlerootTown_Movement_14D787
+ applymovement 255, LittlerootTown_Movement_14D793
+ waitmovement 0
msgbox LittlerootTown_Text_16AD3C, 4
- closebutton
+ closemessage
return
LittlerootTown_Movement_14D779:: @ 814D779
@@ -277,11 +277,11 @@ LittlerootTown_Movement_14D793:: @ 814D793
LittlerootTown_EventScript_14D797:: @ 814D797
lockall
- move 1, LittlerootTown_Movement_14D7B3
- waitmove 0
+ applymovement 1, LittlerootTown_Movement_14D7B3
+ waitmovement 0
call LittlerootTown_EventScript_14D755
- move 1, LittlerootTown_Movement_14D7C0
- waitmove 0
+ applymovement 1, LittlerootTown_Movement_14D7C0
+ waitmovement 0
releaseall
end
@@ -311,14 +311,14 @@ LittlerootTown_Movement_14D7C0:: @ 814D7C0
LittlerootTown_EventScript_14D7C7:: @ 814D7C7
lockall
- move 1, LittlerootTown_Movement_1A0843
- waitmove 0
- move 255, LittlerootTown_Movement_1A083F
- waitmove 0
+ applymovement 1, LittlerootTown_Movement_1A0843
+ waitmovement 0
+ applymovement 255, LittlerootTown_Movement_1A083F
+ waitmovement 0
msgbox LittlerootTown_Text_16AD82, 4
- closebutton
- move 1, LittlerootTown_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 1, LittlerootTown_Movement_1A083D
+ waitmovement 0
setvar 0x4050, 2
releaseall
end
@@ -333,11 +333,11 @@ LittlerootTown_EventScript_14D7FF:: @ 814D7FF
LittlerootTown_EventScript_14D808:: @ 814D808
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_EventScript_14D822
+ call_if 1, LittlerootTown_EventScript_14D822
compare RESULT, 1
- callif 1, LittlerootTown_EventScript_14D82B
+ call_if 1, LittlerootTown_EventScript_14D82B
releaseall
end
@@ -351,11 +351,11 @@ LittlerootTown_EventScript_14D82B:: @ 814D82B
LittlerootTown_EventScript_14D834:: @ 814D834
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_EventScript_14D84E
+ call_if 1, LittlerootTown_EventScript_14D84E
compare RESULT, 1
- callif 1, LittlerootTown_EventScript_14D857
+ call_if 1, LittlerootTown_EventScript_14D857
releaseall
end
@@ -370,66 +370,66 @@ LittlerootTown_EventScript_14D857:: @ 814D857
LittlerootTown_EventScript_14D860:: @ 814D860
lockall
setvar 0x8008, 0
- movesprite 4, 10, 9
- jump LittlerootTown_EventScript_14D8B6
+ setobjectxy 4, 10, 9
+ goto LittlerootTown_EventScript_14D8B6
end
LittlerootTown_EventScript_14D873:: @ 814D873
lockall
setvar 0x8008, 1
- movesprite 4, 11, 9
- jump LittlerootTown_EventScript_14D8B6
+ setobjectxy 4, 11, 9
+ goto LittlerootTown_EventScript_14D8B6
end
LittlerootTown_EventScript_14D886:: @ 814D886
lockall
setvar 0x8008, 2
- jump LittlerootTown_EventScript_14D8B6
+ goto LittlerootTown_EventScript_14D8B6
end
LittlerootTown_EventScript_14D892:: @ 814D892
lockall
setvar 0x8008, 3
- jump LittlerootTown_EventScript_14D8B6
+ goto LittlerootTown_EventScript_14D8B6
end
LittlerootTown_EventScript_14D89E:: @ 814D89E
lockall
setvar 0x8008, 4
- jump LittlerootTown_EventScript_14D8B6
+ goto LittlerootTown_EventScript_14D8B6
end
LittlerootTown_EventScript_14D8AA:: @ 814D8AA
lockall
setvar 0x8008, 5
- jump LittlerootTown_EventScript_14D8B6
+ goto LittlerootTown_EventScript_14D8B6
end
LittlerootTown_EventScript_14D8B6:: @ 814D8B6
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_EventScript_14D93C
+ call_if 1, LittlerootTown_EventScript_14D93C
compare RESULT, 1
- callif 1, LittlerootTown_EventScript_14D947
- checkgender
+ call_if 1, LittlerootTown_EventScript_14D947
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_EventScript_14D926
+ call_if 1, LittlerootTown_EventScript_14D926
compare RESULT, 1
- callif 1, LittlerootTown_EventScript_14D931
+ call_if 1, LittlerootTown_EventScript_14D931
msgbox LittlerootTown_Text_16A8EE, 4
- closebutton
- checkgender
+ closemessage
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_EventScript_14D952
+ call_if 1, LittlerootTown_EventScript_14D952
compare RESULT, 1
- callif 1, LittlerootTown_EventScript_14D995
+ call_if 1, LittlerootTown_EventScript_14D995
call LittlerootTown_EventScript_14DD38
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_EventScript_14DAAA
+ call_if 1, LittlerootTown_EventScript_14DAAA
compare RESULT, 1
- callif 1, LittlerootTown_EventScript_14DAED
- jump LittlerootTown_EventScript_14DD2B
+ call_if 1, LittlerootTown_EventScript_14DAED
+ goto LittlerootTown_EventScript_14DD2B
end
LittlerootTown_EventScript_14D926:: @ 814D926
@@ -443,249 +443,249 @@ LittlerootTown_EventScript_14D931:: @ 814D931
return
LittlerootTown_EventScript_14D93C:: @ 814D93C
- move 4, LittlerootTown_Movement_1A0843
- waitmove 0
+ applymovement 4, LittlerootTown_Movement_1A0843
+ waitmovement 0
return
LittlerootTown_EventScript_14D947:: @ 814D947
- move 4, LittlerootTown_Movement_1A083F
- waitmove 0
+ applymovement 4, LittlerootTown_Movement_1A083F
+ waitmovement 0
return
LittlerootTown_EventScript_14D952:: @ 814D952
compare 0x8008, 0
- callif 1, LittlerootTown_EventScript_14D9D8
+ call_if 1, LittlerootTown_EventScript_14D9D8
compare 0x8008, 1
- callif 1, LittlerootTown_EventScript_14D9ED
+ call_if 1, LittlerootTown_EventScript_14D9ED
compare 0x8008, 2
- callif 1, LittlerootTown_EventScript_14DA02
+ call_if 1, LittlerootTown_EventScript_14DA02
compare 0x8008, 3
- callif 1, LittlerootTown_EventScript_14DA17
+ call_if 1, LittlerootTown_EventScript_14DA17
compare 0x8008, 4
- callif 1, LittlerootTown_EventScript_14DA2C
+ call_if 1, LittlerootTown_EventScript_14DA2C
compare 0x8008, 5
- callif 1, LittlerootTown_EventScript_14DA41
+ call_if 1, LittlerootTown_EventScript_14DA41
return
LittlerootTown_EventScript_14D995:: @ 814D995
compare 0x8008, 0
- callif 1, LittlerootTown_EventScript_14D9D8
+ call_if 1, LittlerootTown_EventScript_14D9D8
compare 0x8008, 1
- callif 1, LittlerootTown_EventScript_14D9ED
+ call_if 1, LittlerootTown_EventScript_14D9ED
compare 0x8008, 2
- callif 1, LittlerootTown_EventScript_14DA56
+ call_if 1, LittlerootTown_EventScript_14DA56
compare 0x8008, 3
- callif 1, LittlerootTown_EventScript_14DA6B
+ call_if 1, LittlerootTown_EventScript_14DA6B
compare 0x8008, 4
- callif 1, LittlerootTown_EventScript_14DA80
+ call_if 1, LittlerootTown_EventScript_14DA80
compare 0x8008, 5
- callif 1, LittlerootTown_EventScript_14DA95
+ call_if 1, LittlerootTown_EventScript_14DA95
return
LittlerootTown_EventScript_14D9D8:: @ 814D9D8
- move 255, LittlerootTown_Movement_1A0845
- waitmove 0
- move 4, LittlerootTown_Movement_14DC76
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A0845
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC76
+ waitmovement 0
return
LittlerootTown_EventScript_14D9ED:: @ 814D9ED
- move 255, LittlerootTown_Movement_1A0845
- waitmove 0
- move 4, LittlerootTown_Movement_14DC7D
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A0845
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC7D
+ waitmovement 0
return
LittlerootTown_EventScript_14DA02:: @ 814DA02
- move 255, LittlerootTown_Movement_1A083F
- waitmove 0
- move 4, LittlerootTown_Movement_14DC84
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A083F
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC84
+ waitmovement 0
return
LittlerootTown_EventScript_14DA17:: @ 814DA17
- move 255, LittlerootTown_Movement_1A083F
- waitmove 0
- move 4, LittlerootTown_Movement_14DC89
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A083F
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC89
+ waitmovement 0
return
LittlerootTown_EventScript_14DA2C:: @ 814DA2C
- move 255, LittlerootTown_Movement_1A083F
- waitmove 0
- move 4, LittlerootTown_Movement_14DC8F
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A083F
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC8F
+ waitmovement 0
return
LittlerootTown_EventScript_14DA41:: @ 814DA41
- move 255, LittlerootTown_Movement_1A083F
- waitmove 0
- move 4, LittlerootTown_Movement_14DC92
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A083F
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC92
+ waitmovement 0
return
LittlerootTown_EventScript_14DA56:: @ 814DA56
- move 255, LittlerootTown_Movement_1A0843
- waitmove 0
- move 4, LittlerootTown_Movement_14DC96
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A0843
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC96
+ waitmovement 0
return
LittlerootTown_EventScript_14DA6B:: @ 814DA6B
- move 255, LittlerootTown_Movement_1A0843
- waitmove 0
- move 4, LittlerootTown_Movement_14DC9A
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A0843
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC9A
+ waitmovement 0
return
LittlerootTown_EventScript_14DA80:: @ 814DA80
- move 255, LittlerootTown_Movement_1A0843
- waitmove 0
- move 4, LittlerootTown_Movement_14DC9D
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A0843
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DC9D
+ waitmovement 0
return
LittlerootTown_EventScript_14DA95:: @ 814DA95
- move 255, LittlerootTown_Movement_1A0843
- waitmove 0
- move 4, LittlerootTown_Movement_14DCA3
- waitmove 0
+ applymovement 255, LittlerootTown_Movement_1A0843
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_14DCA3
+ waitmovement 0
return
LittlerootTown_EventScript_14DAAA:: @ 814DAAA
compare 0x8008, 0
- callif 1, LittlerootTown_EventScript_14DB30
+ call_if 1, LittlerootTown_EventScript_14DB30
compare 0x8008, 1
- callif 1, LittlerootTown_EventScript_14DB3B
+ call_if 1, LittlerootTown_EventScript_14DB3B
compare 0x8008, 2
- callif 1, LittlerootTown_EventScript_14DB46
+ call_if 1, LittlerootTown_EventScript_14DB46
compare 0x8008, 3
- callif 1, LittlerootTown_EventScript_14DB6C
+ call_if 1, LittlerootTown_EventScript_14DB6C
compare 0x8008, 4
- callif 1, LittlerootTown_EventScript_14DB92
+ call_if 1, LittlerootTown_EventScript_14DB92
compare 0x8008, 5
- callif 1, LittlerootTown_EventScript_14DBB8
+ call_if 1, LittlerootTown_EventScript_14DBB8
return
LittlerootTown_EventScript_14DAED:: @ 814DAED
compare 0x8008, 0
- callif 1, LittlerootTown_EventScript_14DB30
+ call_if 1, LittlerootTown_EventScript_14DB30
compare 0x8008, 1
- callif 1, LittlerootTown_EventScript_14DB3B
+ call_if 1, LittlerootTown_EventScript_14DB3B
compare 0x8008, 2
- callif 1, LittlerootTown_EventScript_14DBDE
+ call_if 1, LittlerootTown_EventScript_14DBDE
compare 0x8008, 3
- callif 1, LittlerootTown_EventScript_14DC04
+ call_if 1, LittlerootTown_EventScript_14DC04
compare 0x8008, 4
- callif 1, LittlerootTown_EventScript_14DC2A
+ call_if 1, LittlerootTown_EventScript_14DC2A
compare 0x8008, 5
- callif 1, LittlerootTown_EventScript_14DC50
+ call_if 1, LittlerootTown_EventScript_14DC50
return
LittlerootTown_EventScript_14DB30:: @ 814DB30
- move 4, LittlerootTown_Movement_14DCA8
- waitmove 0
+ applymovement 4, LittlerootTown_Movement_14DCA8
+ waitmovement 0
return
LittlerootTown_EventScript_14DB3B:: @ 814DB3B
- move 4, LittlerootTown_Movement_14DCAE
- waitmove 0
+ applymovement 4, LittlerootTown_Movement_14DCAE
+ waitmovement 0
return
LittlerootTown_EventScript_14DB46:: @ 814DB46
- move 4, LittlerootTown_Movement_14DCB4
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
+ applymovement 4, LittlerootTown_Movement_14DCB4
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
return
LittlerootTown_EventScript_14DB6C:: @ 814DB6C
- move 4, LittlerootTown_Movement_14DCBA
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
+ applymovement 4, LittlerootTown_Movement_14DCBA
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
return
LittlerootTown_EventScript_14DB92:: @ 814DB92
- move 4, LittlerootTown_Movement_14DCC1
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
+ applymovement 4, LittlerootTown_Movement_14DCC1
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
return
LittlerootTown_EventScript_14DBB8:: @ 814DBB8
- move 4, LittlerootTown_Movement_14DCC5
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
+ applymovement 4, LittlerootTown_Movement_14DCC5
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
return
LittlerootTown_EventScript_14DBDE:: @ 814DBDE
- move 4, LittlerootTown_Movement_14DCCA
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
+ applymovement 4, LittlerootTown_Movement_14DCCA
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
return
LittlerootTown_EventScript_14DC04:: @ 814DC04
- move 4, LittlerootTown_Movement_14DCCF
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
+ applymovement 4, LittlerootTown_Movement_14DCCF
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
return
LittlerootTown_EventScript_14DC2A:: @ 814DC2A
- move 4, LittlerootTown_Movement_14DCD3
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
+ applymovement 4, LittlerootTown_Movement_14DCD3
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
return
LittlerootTown_EventScript_14DC50:: @ 814DC50
- move 4, LittlerootTown_Movement_14DCDA
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
+ applymovement 4, LittlerootTown_Movement_14DCDA
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
return
LittlerootTown_Movement_14DC76:: @ 814DC76
@@ -841,26 +841,26 @@ LittlerootTown_Movement_14DCE0:: @ 814DCE0
LittlerootTown_EventScript_14DCE2:: @ 814DCE2
lock
faceplayer
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_EventScript_14D926
+ call_if 1, LittlerootTown_EventScript_14D926
compare RESULT, 1
- callif 1, LittlerootTown_EventScript_14D931
+ call_if 1, LittlerootTown_EventScript_14D931
call LittlerootTown_EventScript_14DD38
- move 4, LittlerootTown_Movement_1A0841
- waitmove 0
- setdooropened 0x8009, 0x800a
- doorchange
- move 4, LittlerootTown_Movement_14DCE0
- waitmove 0
- spriteinvisible 4, 0, 9
- setdoorclosed 0x8009, 0x800a
- doorchange
- jump LittlerootTown_EventScript_14DD2B
+ applymovement 4, LittlerootTown_Movement_1A0841
+ waitmovement 0
+ opendoor 0x8009, 0x800a
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_14DCE0
+ waitmovement 0
+ hideobject 4, 0, 9
+ closedoor 0x8009, 0x800a
+ waitdooranim
+ goto LittlerootTown_EventScript_14DD2B
end
LittlerootTown_EventScript_14DD2B:: @ 814DD2B
- disappear 4
+ removeobject 4
setflag 2144
setvar 0x4050, 4
release
@@ -868,13 +868,13 @@ LittlerootTown_EventScript_14DD2B:: @ 814DD2B
LittlerootTown_EventScript_14DD38:: @ 814DD38
msgbox LittlerootTown_Text_16A8FD, 4
- fanfare 370
+ playfanfare 370
message LittlerootTown_Text_16AA32
waitfanfare
- waittext
+ waitmessage
setflag 274
msgbox LittlerootTown_Text_16AA5C, 4
msgbox LittlerootTown_Text_16AB10, 4
- closebutton
- pause 30
+ closemessage
+ delay 30
return
diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
index 69206566a..04256cacb 100644
--- a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
+++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
@@ -6,9 +6,9 @@ LittlerootTown_BrendansHouse_1F_MapScripts:: @ 815263B
LittlerootTown_BrendansHouse_1F_MapScript1_15264B:: @ 815264B
compare 0x4092, 6
- callif 0, LittlerootTown_BrendansHouse_1F_EventScript_152660
+ call_if 0, LittlerootTown_BrendansHouse_1F_EventScript_152660
checkflag 274
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_152673
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_152673
end
LittlerootTown_BrendansHouse_1F_EventScript_152660:: @ 8152660
@@ -17,9 +17,9 @@ LittlerootTown_BrendansHouse_1F_EventScript_152660:: @ 8152660
return
LittlerootTown_BrendansHouse_1F_EventScript_152673:: @ 8152673
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152680
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152680
return
LittlerootTown_BrendansHouse_1F_EventScript_152680:: @ 8152680
@@ -28,26 +28,26 @@ LittlerootTown_BrendansHouse_1F_EventScript_152680:: @ 8152680
LittlerootTown_BrendansHouse_1F_MapScript1_15268A:: @ 815268A
compare 0x4092, 3
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1526C4
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526C4
compare 0x4092, 5
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1526AC
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526AC
compare 0x4092, 6
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1526B8
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526B8
end
LittlerootTown_BrendansHouse_1F_EventScript_1526AC:: @ 81526AC
- movespriteperm 1, 8, 4
- spritebehave 1, 7
+ setobjectxyperm 1, 8, 4
+ setobjectmovementtype 1, 7
return
LittlerootTown_BrendansHouse_1F_EventScript_1526B8:: @ 81526B8
- movespriteperm 1, 4, 5
- spritebehave 1, 7
+ setobjectxyperm 1, 4, 5
+ setobjectmovementtype 1, 7
return
LittlerootTown_BrendansHouse_1F_EventScript_1526C4:: @ 81526C4
- movespriteperm 1, 9, 8
- spritebehave 1, 7
+ setobjectxyperm 1, 9, 8
+ setobjectmovementtype 1, 7
return
LittlerootTown_BrendansHouse_1F_MapScript2_1526D0:: @ 81526D0
@@ -61,10 +61,10 @@ LittlerootTown_BrendansHouse_1F_MapScript2_1526D0:: @ 81526D0
LittlerootTown_BrendansHouse_1F_EventScript_1526FA:: @ 81526FA
lockall
msgbox LittlerootTown_BrendansHouse_1F_Text_172574, 4
- closebutton
- move 255, LittlerootTown_BrendansHouse_1F_Movement_152720
- move 1, LittlerootTown_BrendansHouse_1F_Movement_152720
- waitmove 0
+ closemessage
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_152720
+ applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_152720
+ waitmovement 0
warp LittlerootTown_BrendansHouse_2F, 255, 7, 1
waitstate
releaseall
@@ -78,26 +78,26 @@ LittlerootTown_BrendansHouse_1F_EventScript_152722:: @ 8152722
lockall
setvar 0x8004, 1
setvar 0x8005, 0
- jump LittlerootTown_BrendansHouse_1F_EventScript_1B6956
+ goto LittlerootTown_BrendansHouse_1F_EventScript_1B6956
end
LittlerootTown_BrendansHouse_1F_EventScript_152733:: @ 8152733
lockall
setvar 0x8004, 0
setvar 0x8005, 1
- jump LittlerootTown_BrendansHouse_1F_EventScript_1B6ABF
+ goto LittlerootTown_BrendansHouse_1F_EventScript_1B6ABF
end
LittlerootTown_BrendansHouse_1F_EventScript_152744:: @ 8152744
lockall
- playsfx 21
- move 4, LittlerootTown_BrendansHouse_1F_Movement_1A0833
- waitmove 0
- move 4, LittlerootTown_BrendansHouse_1F_Movement_1A0835
- waitmove 0
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F
- move 4, LittlerootTown_BrendansHouse_1F_Movement_152782
- waitmove 0
+ playse 21
+ applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1A0833
+ waitmovement 0
+ applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1A0835
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F
+ applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_152782
+ waitmovement 0
special GetRivalSonDaughterString
msgbox LittlerootTown_BrendansHouse_1F_Text_1730C2, 4
setflag 87
@@ -118,7 +118,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_152789:: @ 8152789
lockall
setvar 0x8004, 1
setvar 0x8005, 0
- move 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A083F
- waitmove 0
- jump LittlerootTown_BrendansHouse_1F_EventScript_1B69B7
+ applymovement 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A083F
+ waitmovement 0
+ goto LittlerootTown_BrendansHouse_1F_EventScript_1B69B7
end
diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
index 0803cd512..8ff7f8b81 100644
--- a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
+++ b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
@@ -5,16 +5,16 @@ LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81527A4
LittlerootTown_BrendansHouse_2F_MapScript1_1527AF:: @ 81527AF
checkflag 130
- callif 0, LittlerootTown_BrendansHouse_2F_EventScript_1527CE
+ call_if 0, LittlerootTown_BrendansHouse_2F_EventScript_1527CE
compare 0x4092, 4
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6950
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6950
call LittlerootTown_BrendansHouse_2F_EventScript_1A2F3D
setvar 0x4089, 0
end
LittlerootTown_BrendansHouse_2F_EventScript_1527CE:: @ 81527CE
- movespriteperm 1, 1, 2
- spritebehave 1, 7
+ setobjectxyperm 1, 1, 2
+ setobjectmovementtype 1, 7
return
LittlerootTown_BrendansHouse_2F_MapScript2_1527DA:: @ 81527DA
@@ -22,18 +22,18 @@ LittlerootTown_BrendansHouse_2F_MapScript2_1527DA:: @ 81527DA
.2byte 0
LittlerootTown_BrendansHouse_2F_EventScript_1527E4:: @ 81527E4
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_1A2F68
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1A2F68
end
@ 81527F1
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_15280A
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_15280A
compare RESULT, 1
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152814
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152814
end
LittlerootTown_BrendansHouse_2F_EventScript_15280A:: @ 815280A
@@ -50,17 +50,17 @@ gUnknown_0815281E:: @ 815281E
LittlerootTown_BrendansHouse_2F_EventScript_15281E:: @ 815281E
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152837
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152837
compare RESULT, 1
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_15285D
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_15285D
end
LittlerootTown_BrendansHouse_2F_EventScript_152837:: @ 8152837
setvar 0x8004, 1
special DoPCTurnOnEffect
- playsfx SE_PC_ON
+ playse SE_PC_ON
msgbox LittlerootTown_BrendansHouse_2F_Text_1A10D6, 4
special BedroomPC
waitstate
@@ -69,7 +69,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_152837:: @ 8152837
gBrendanHouse_TurnPCOff:: @ 8152850
setvar 0x8004, 1
- playsfx SE_PC_OFF
+ playse SE_PC_OFF
special DoPCTurnOffEffect
releaseall
end
diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
index 5f7f20d63..14c7f5d8a 100644
--- a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
+++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
@@ -6,9 +6,9 @@ LittlerootTown_MaysHouse_1F_MapScripts:: @ 8152879
LittlerootTown_MaysHouse_1F_MapScript1_152889:: @ 8152889
compare 0x4092, 6
- callif 0, LittlerootTown_MaysHouse_1F_EventScript_15289E
+ call_if 0, LittlerootTown_MaysHouse_1F_EventScript_15289E
checkflag 274
- callif 1, LittlerootTown_MaysHouse_1F_EventScript_1528B1
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528B1
end
LittlerootTown_MaysHouse_1F_EventScript_15289E:: @ 815289E
@@ -17,9 +17,9 @@ LittlerootTown_MaysHouse_1F_EventScript_15289E:: @ 815289E
return
LittlerootTown_MaysHouse_1F_EventScript_1528B1:: @ 81528B1
- checkgender
+ checkplayergender
compare RESULT, 1
- jumpeq LittlerootTown_MaysHouse_1F_EventScript_1528BE
+ goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_1528BE
return
LittlerootTown_MaysHouse_1F_EventScript_1528BE:: @ 81528BE
@@ -28,26 +28,26 @@ LittlerootTown_MaysHouse_1F_EventScript_1528BE:: @ 81528BE
LittlerootTown_MaysHouse_1F_MapScript1_1528C8:: @ 81528C8
compare 0x4092, 3
- callif 1, LittlerootTown_MaysHouse_1F_EventScript_152902
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_152902
compare 0x4092, 5
- callif 1, LittlerootTown_MaysHouse_1F_EventScript_1528EA
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528EA
compare 0x4092, 6
- callif 1, LittlerootTown_MaysHouse_1F_EventScript_1528F6
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528F6
end
LittlerootTown_MaysHouse_1F_EventScript_1528EA:: @ 81528EA
- movespriteperm 1, 2, 4
- spritebehave 1, 7
+ setobjectxyperm 1, 2, 4
+ setobjectmovementtype 1, 7
return
LittlerootTown_MaysHouse_1F_EventScript_1528F6:: @ 81528F6
- movespriteperm 1, 6, 5
- spritebehave 1, 7
+ setobjectxyperm 1, 6, 5
+ setobjectmovementtype 1, 7
return
LittlerootTown_MaysHouse_1F_EventScript_152902:: @ 8152902
- movespriteperm 1, 1, 8
- spritebehave 1, 7
+ setobjectxyperm 1, 1, 8
+ setobjectmovementtype 1, 7
return
LittlerootTown_MaysHouse_1F_MapScript2_15290E:: @ 815290E
@@ -61,10 +61,10 @@ LittlerootTown_MaysHouse_1F_MapScript2_15290E:: @ 815290E
LittlerootTown_MaysHouse_1F_EventScript_152938:: @ 8152938
lockall
msgbox LittlerootTown_MaysHouse_1F_Text_172574, 4
- closebutton
- move 255, LittlerootTown_MaysHouse_1F_Movement_15295E
- move 1, LittlerootTown_MaysHouse_1F_Movement_15295E
- waitmove 0
+ closemessage
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_15295E
+ applymovement 1, LittlerootTown_MaysHouse_1F_Movement_15295E
+ waitmovement 0
warp LittlerootTown_MaysHouse_2F, 255, 1, 1
waitstate
releaseall
@@ -78,26 +78,26 @@ LittlerootTown_MaysHouse_1F_EventScript_152960:: @ 8152960
lockall
setvar 0x8004, 1
setvar 0x8005, 1
- jump LittlerootTown_MaysHouse_1F_EventScript_1B6956
+ goto LittlerootTown_MaysHouse_1F_EventScript_1B6956
end
LittlerootTown_MaysHouse_1F_EventScript_152971:: @ 8152971
lockall
setvar 0x8004, 1
setvar 0x8005, 1
- jump LittlerootTown_MaysHouse_1F_EventScript_1B6B2E
+ goto LittlerootTown_MaysHouse_1F_EventScript_1B6B2E
end
LittlerootTown_MaysHouse_1F_EventScript_152982:: @ 8152982
lockall
- playsfx 21
- move 4, LittlerootTown_MaysHouse_1F_Movement_1A0833
- waitmove 0
- move 4, LittlerootTown_MaysHouse_1F_Movement_1A0835
- waitmove 0
- move 255, LittlerootTown_MaysHouse_1F_Movement_1A0843
- move 4, LittlerootTown_MaysHouse_1F_Movement_1529C0
- waitmove 0
+ playse 21
+ applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1A0833
+ waitmovement 0
+ applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1A0835
+ waitmovement 0
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1A0843
+ applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1529C0
+ waitmovement 0
special GetRivalSonDaughterString
msgbox LittlerootTown_MaysHouse_1F_Text_1730C2, 4
setflag 87
@@ -116,11 +116,11 @@ LittlerootTown_MaysHouse_1F_Movement_1529C0:: @ 81529C0
@ 81529C7
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_MaysHouse_1F_EventScript_1529E1
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1529E1
compare RESULT, 1
- callif 1, LittlerootTown_MaysHouse_1F_EventScript_1529E2
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1529E2
releaseall
end
@@ -136,11 +136,11 @@ LittlerootTown_MaysHouse_1F_EventScript_1529EB:: @ 81529EB
lock
faceplayer
checkflag 130
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A21
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A21
checkflag 301
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A17
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A17
compare 0x408d, 3
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A2B
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A2B
special GetRivalSonDaughterString
msgbox LittlerootTown_BrendansHouse_1F_Text_1731C6, 4
release
@@ -165,7 +165,7 @@ LittlerootTown_MaysHouse_1F_EventScript_152A35:: @ 8152A35
lockall
setvar 0x8004, 1
setvar 0x8005, 1
- move 0x8004, LittlerootTown_MaysHouse_1F_Movement_1A0843
- waitmove 0
- jump LittlerootTown_MaysHouse_1F_EventScript_1B69B7
+ applymovement 0x8004, LittlerootTown_MaysHouse_1F_Movement_1A0843
+ waitmovement 0
+ goto LittlerootTown_MaysHouse_1F_EventScript_1B69B7
end
diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
index 85a41caff..68bdf0fcb 100644
--- a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
+++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
@@ -5,16 +5,16 @@ LittlerootTown_MaysHouse_2F_MapScripts:: @ 8152A50
LittlerootTown_MaysHouse_2F_MapScript1_152A5B:: @ 8152A5B
checkflag 130
- callif 0, LittlerootTown_MaysHouse_2F_EventScript_152A7A
+ call_if 0, LittlerootTown_MaysHouse_2F_EventScript_152A7A
compare 0x4092, 4
- callif 1, LittlerootTown_MaysHouse_2F_EventScript_1B6950
+ call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1B6950
call LittlerootTown_MaysHouse_2F_EventScript_1A2F3D
setvar 0x4089, 0
end
LittlerootTown_MaysHouse_2F_EventScript_152A7A:: @ 8152A7A
- movespriteperm 1, 7, 2
- spritebehave 1, 7
+ setobjectxyperm 1, 7, 2
+ setobjectmovementtype 1, 7
return
LittlerootTown_MaysHouse_2F_MapScript2_152A86:: @ 8152A86
@@ -22,114 +22,114 @@ LittlerootTown_MaysHouse_2F_MapScript2_152A86:: @ 8152A86
.2byte 0
LittlerootTown_MaysHouse_2F_EventScript_152A90:: @ 8152A90
- checkgender
+ checkplayergender
compare RESULT, 1
- jumpeq LittlerootTown_MaysHouse_2F_EventScript_1A2F68
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1A2F68
end
LittlerootTown_BrendansHouse_2F_EventScript_152A9D:: @ 8152A9D
LittlerootTown_MaysHouse_2F_EventScript_152A9D:: @ 8152A9D
lockall
checkflag 292
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152BB5
- checkgender
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BB5
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152AD4
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152AD4
compare RESULT, 1
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B4A
- playsfx 9
- disappear LAST_TALKED
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B4A
+ playse 9
+ removeobject LAST_TALKED
setvar 0x408d, 3
setvar 0x4050, 1
- playmusicbattle 0
- fadedefault
+ savebgm 0
+ fadedefaultbgm
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_152AD4:: @ 8152AD4
msgbox LittlerootTown_BrendansHouse_2F_Text_17337E, 4
- playmusic 415, 1
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839
- waitmove 0
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833
- waitmove 0
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0835
- waitmove 0
+ playbgm 415, 1
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839
+ waitmovement 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833
+ waitmovement 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0835
+ waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_1733AF, 4
- closebutton
+ closemessage
compare FACING, 4
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B29
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B29
compare FACING, 2
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B34
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B34
compare FACING, 3
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B3F
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B3F
return
LittlerootTown_BrendansHouse_2F_EventScript_152B29:: @ 8152B29
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C11
- waitmove 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C11
+ waitmovement 0
return
LittlerootTown_BrendansHouse_2F_EventScript_152B34:: @ 8152B34
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C1C
- waitmove 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C1C
+ waitmovement 0
return
LittlerootTown_BrendansHouse_2F_EventScript_152B3F:: @ 8152B3F
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C1C
- waitmove 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C1C
+ waitmovement 0
return
LittlerootTown_BrendansHouse_2F_EventScript_152B4A:: @ 8152B4A
msgbox LittlerootTown_BrendansHouse_2F_Text_1735C9, 4
- playmusic 421, 1
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839
- waitmove 0
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833
- waitmove 0
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0835
- waitmove 0
+ playbgm 421, 1
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839
+ waitmovement 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833
+ waitmovement 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0835
+ waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_1735FC, 4
- closebutton
+ closemessage
compare FACING, 4
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F
compare FACING, 2
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F
compare FACING, 3
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152BAA
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BAA
return
LittlerootTown_BrendansHouse_2F_EventScript_152B9F:: @ 8152B9F
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C30
- waitmove 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C30
+ waitmovement 0
return
LittlerootTown_BrendansHouse_2F_EventScript_152BAA:: @ 8152BAA
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C25
- waitmove 0
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C25
+ waitmovement 0
return
LittlerootTown_BrendansHouse_2F_EventScript_152BB5:: @ 8152BB5
- move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839
- waitmove 0
- checkgender
+ applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839
+ waitmovement 0
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152BDB
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BDB
compare RESULT, 1
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152BED
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BED
setflag 293
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_152BDB:: @ 8152BDB
checkflag 293
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152BFF
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BFF
msgbox LittlerootTown_BrendansHouse_2F_Text_1737AE, 4
return
LittlerootTown_BrendansHouse_2F_EventScript_152BED:: @ 8152BED
checkflag 293
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152C08
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152C08
msgbox LittlerootTown_BrendansHouse_2F_Text_1738F2, 4
return
@@ -193,11 +193,11 @@ gUnknown_08152C39:: @ 8152C39
LittlerootTown_MaysHouse_2F_EventScript_152C39:: @ 8152C39
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq LittlerootTown_MaysHouse_2F_EventScript_152C52
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_152C52
compare RESULT, 1
- jumpeq LittlerootTown_MaysHouse_2F_EventScript_152C5C
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_152C5C
end
LittlerootTown_MaysHouse_2F_EventScript_152C52:: @ 8152C52
@@ -208,7 +208,7 @@ LittlerootTown_MaysHouse_2F_EventScript_152C52:: @ 8152C52
LittlerootTown_MaysHouse_2F_EventScript_152C5C:: @ 8152C5C
setvar 0x8004, 2
special DoPCTurnOnEffect
- playsfx SE_PC_ON
+ playse SE_PC_ON
msgbox LittlerootTown_MaysHouse_2F_Text_1A10D6, 4
special BedroomPC
waitstate
@@ -217,7 +217,7 @@ LittlerootTown_MaysHouse_2F_EventScript_152C5C:: @ 8152C5C
gMayHouse_TurnPCOff:: @ 8152C75
setvar 0x8004, 2
- playsfx SE_PC_OFF
+ playse SE_PC_OFF
special DoPCTurnOffEffect
releaseall
end
diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
index 94aeadfa6..e7ccd73f6 100644
--- a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
+++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
@@ -14,7 +14,7 @@ LittlerootTown_ProfessorBirchsLab_MapScript2_152C9D:: @ 8152C9D
.2byte 0
LittlerootTown_ProfessorBirchsLab_EventScript_152CA7:: @ 8152CA7
- spriteface 255, 2
+ turnobject 255, 2
end
LittlerootTown_ProfessorBirchsLab_MapScript2_152CAC:: @ 8152CAC
@@ -24,30 +24,30 @@ LittlerootTown_ProfessorBirchsLab_MapScript2_152CAC:: @ 8152CAC
LittlerootTown_ProfessorBirchsLab_EventScript_152CBE:: @ 8152CBE
lockall
- bufferfirstpoke 0
+ getfirstpartypokename 0
message LittlerootTown_ProfessorBirchsLab_Text_173D94
- waittext
- fanfare 370
+ waitmessage
+ playfanfare 370
waitfanfare
msgbox LittlerootTown_ProfessorBirchsLab_Text_173EF8, 5
compare RESULT, 1
- jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152CEA
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152CEA
compare RESULT, 0
- jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152CFA
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152CFA
end
LittlerootTown_ProfessorBirchsLab_EventScript_152CEA:: @ 8152CEA
setvar 0x8004, 0
call LittlerootTown_ProfessorBirchsLab_EventScript_1A0678
- jump LittlerootTown_ProfessorBirchsLab_EventScript_152CFA
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_152CFA
end
LittlerootTown_ProfessorBirchsLab_EventScript_152CFA:: @ 8152CFA
msgbox LittlerootTown_ProfessorBirchsLab_Text_173F3D, 5
compare RESULT, 1
- jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D19
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D19
compare RESULT, 0
- jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B
end
LittlerootTown_ProfessorBirchsLab_EventScript_152D19:: @ 8152D19
@@ -60,16 +60,16 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D19:: @ 8152D19
LittlerootTown_ProfessorBirchsLab_EventScript_152D2B:: @ 8152D2B
msgbox LittlerootTown_ProfessorBirchsLab_Text_174075, 5
compare RESULT, 1
- jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D19
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D19
compare RESULT, 0
- jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B
end
LittlerootTown_ProfessorBirchsLab_EventScript_152D4A:: @ 8152D4A
lockall
- move 255, LittlerootTown_ProfessorBirchsLab_Movement_152D5B
- waitmove 0
- jump LittlerootTown_ProfessorBirchsLab_EventScript_152DBA
+ applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_152D5B
+ waitmovement 0
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_152DBA
end
LittlerootTown_ProfessorBirchsLab_Movement_152D5B:: @ 8152D5B
@@ -86,9 +86,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D63:: @ 8152D63
lock
faceplayer
compare 0x4084, 3
- jumpif 4, LittlerootTown_ProfessorBirchsLab_EventScript_152D90
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_152D90
checkflag 88
- jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D86
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D86
msgbox LittlerootTown_ProfessorBirchsLab_Text_173B29, 4
setflag 88
release
@@ -108,9 +108,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D9A:: @ 8152D9A
lock
faceplayer
checkflag 896
- jumpif 0, LittlerootTown_ProfessorBirchsLab_EventScript_1A037F
+ goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1A037F
compare 0x4084, 5
- jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152E7B
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E7B
msgbox LittlerootTown_ProfessorBirchsLab_Text_1740B4, 4
release
end
@@ -119,15 +119,15 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152DBA:: @ 8152DBA
msgbox LittlerootTown_ProfessorBirchsLab_Text_17411F, 4
call LittlerootTown_ProfessorBirchsLab_EventScript_152E6D
msgbox LittlerootTown_ProfessorBirchsLab_Text_174248, 4
- move 3, LittlerootTown_ProfessorBirchsLab_Movement_152E97
- waitmove 0
- move 255, LittlerootTown_ProfessorBirchsLab_Movement_1A0843
- waitmove 0
- checkgender
+ applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_152E97
+ waitmovement 0
+ applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1A0843
+ waitmovement 0
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E13
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E13
compare RESULT, 1
- callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E40
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E40
setvar 0x4084, 5
setflag 116
setvar 0x4051, 1
@@ -140,7 +140,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E13:: @ 8152E13
msgbox LittlerootTown_ProfessorBirchsLab_Text_1743D4, 4
giveitem ITEM_POKE_BALL, 5
compare RESULT, 0
- callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E85
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E85
msgbox LittlerootTown_ProfessorBirchsLab_Text_17443D, 4
setvar RESULT, 0
return
@@ -149,16 +149,16 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E40:: @ 8152E40
msgbox LittlerootTown_ProfessorBirchsLab_Text_17453C, 4
giveitem ITEM_POKE_BALL, 5
compare RESULT, 0
- callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E8E
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E8E
msgbox LittlerootTown_ProfessorBirchsLab_Text_17458C, 4
setvar RESULT, 1
return
LittlerootTown_ProfessorBirchsLab_EventScript_152E6D:: @ 8152E6D
- fanfare 370
+ playfanfare 370
message LittlerootTown_ProfessorBirchsLab_Text_17422F
waitfanfare
- waittext
+ waitmessage
setflag 2049
return
@@ -187,11 +187,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E9A:: @ 8152E9A
LittlerootTown_ProfessorBirchsLab_EventScript_152EA3:: @ 8152EA3
lock
faceplayer
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EBE
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EBE
compare RESULT, 1
- callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EC7
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EC7
release
end
diff --git a/data/scripts/maps/MagmaHideout_B1F.inc b/data/scripts/maps/MagmaHideout_B1F.inc
index 0304181fb..780eea4f5 100644
--- a/data/scripts/maps/MagmaHideout_B1F.inc
+++ b/data/scripts/maps/MagmaHideout_B1F.inc
@@ -4,9 +4,9 @@ MagmaHideout_B1F_MapScripts:: @ 815F2A8
MagmaHideout_B1F_MapScript1_15F2AE:: @ 815F2AE
checkflag 2145
- callif 1, MagmaHideout_B1F_EventScript_15F2B8
+ call_if 1, MagmaHideout_B1F_EventScript_15F2B8
end
MagmaHideout_B1F_EventScript_15F2B8:: @ 815F2B8
- disappear LAST_TALKED
+ removeobject LAST_TALKED
return
diff --git a/data/scripts/maps/MauvilleCity.inc b/data/scripts/maps/MauvilleCity.inc
index 1b2827f2a..5c93aa252 100644
--- a/data/scripts/maps/MauvilleCity.inc
+++ b/data/scripts/maps/MauvilleCity.inc
@@ -9,7 +9,7 @@ MauvilleCity_MapScript1_14C038:: @ 814C038
clearflag 99
setvar 0x4093, 0
checkflag 209
- callif 1, MauvilleCity_EventScript_14C053
+ call_if 1, MauvilleCity_EventScript_14C053
end
MauvilleCity_EventScript_14C053:: @ 814C053
@@ -53,7 +53,7 @@ MauvilleCity_EventScript_14C0A2:: @ 814C0A2
lock
faceplayer
checkflag 98
- jumpeq MauvilleCity_EventScript_14C0BA
+ goto_if_eq MauvilleCity_EventScript_14C0BA
msgbox MauvilleCity_Text_16674A, 4
setflag 98
release
@@ -68,94 +68,94 @@ MauvilleCity_EventScript_14C0C4:: @ 814C0C4
lock
faceplayer
checkflag 284
- jumpeq MauvilleCity_EventScript_14C0E4
+ goto_if_eq MauvilleCity_EventScript_14C0E4
msgbox MauvilleCity_Text_165B76, 4
- closebutton
- move 7, MauvilleCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 7, MauvilleCity_Movement_1A083D
+ waitmovement 0
release
end
MauvilleCity_EventScript_14C0E4:: @ 814C0E4
msgbox MauvilleCity_Text_165E45, 4
- closebutton
- move 7, MauvilleCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 7, MauvilleCity_Movement_1A083D
+ waitmovement 0
release
end
MauvilleCity_EventScript_14C0F9:: @ 814C0F9
lockall
checkflag 284
- jumpeq MauvilleCity_EventScript_14C292
- move 6, MauvilleCity_Movement_1A0843
- waitmove 0
+ goto_if_eq MauvilleCity_EventScript_14C292
+ applymovement 6, MauvilleCity_Movement_1A0843
+ waitmovement 0
msgbox MauvilleCity_Text_165BE3, 4
msgbox MauvilleCity_Text_165C57, 4
msgbox MauvilleCity_Text_165D01, 4
- move 6, MauvilleCity_Movement_1A0839
- waitmove 0
- playsfx 21
- move 6, MauvilleCity_Movement_1A0833
- waitmove 0
- move 6, MauvilleCity_Movement_1A0835
- waitmove 0
+ applymovement 6, MauvilleCity_Movement_1A0839
+ waitmovement 0
+ playse 21
+ applymovement 6, MauvilleCity_Movement_1A0833
+ waitmovement 0
+ applymovement 6, MauvilleCity_Movement_1A0835
+ waitmovement 0
msgbox MauvilleCity_Text_165D50, 5
- jump MauvilleCity_EventScript_14C154
+ goto MauvilleCity_EventScript_14C154
end
MauvilleCity_EventScript_14C154:: @ 814C154
compare RESULT, 1
- callif 1, MauvilleCity_EventScript_14C23C
+ call_if 1, MauvilleCity_EventScript_14C23C
compare RESULT, 0
- jumpeq MauvilleCity_EventScript_14C285
- closebutton
+ goto_if_eq MauvilleCity_EventScript_14C285
+ closemessage
switch FACING
case 2, MauvilleCity_EventScript_14C187
case 4, MauvilleCity_EventScript_14C1D9
end
MauvilleCity_EventScript_14C187:: @ 814C187
- move 6, MauvilleCity_Movement_14C2AA
- move 7, MauvilleCity_Movement_14C2CC
- waitmove 0
- move 6, MauvilleCity_Movement_1A0843
- waitmove 0
- pause 30
- move 7, MauvilleCity_Movement_14C2D8
- waitmove 0
- move 255, MauvilleCity_Movement_1A0845
- waitmove 0
+ applymovement 6, MauvilleCity_Movement_14C2AA
+ applymovement 7, MauvilleCity_Movement_14C2CC
+ waitmovement 0
+ applymovement 6, MauvilleCity_Movement_1A0843
+ waitmovement 0
+ delay 30
+ applymovement 7, MauvilleCity_Movement_14C2D8
+ waitmovement 0
+ applymovement 255, MauvilleCity_Movement_1A0845
+ waitmovement 0
msgbox MauvilleCity_Text_1660FA, 4
- closebutton
- move 6, MauvilleCity_Movement_14C2B6
- move 7, MauvilleCity_Movement_14C2DF
- waitmove 0
- jump MauvilleCity_EventScript_14C22B
+ closemessage
+ applymovement 6, MauvilleCity_Movement_14C2B6
+ applymovement 7, MauvilleCity_Movement_14C2DF
+ waitmovement 0
+ goto MauvilleCity_EventScript_14C22B
end
MauvilleCity_EventScript_14C1D9:: @ 814C1D9
- move 6, MauvilleCity_Movement_14C2B0
- move 7, MauvilleCity_Movement_14C2D2
- waitmove 0
- move 6, MauvilleCity_Movement_1A0843
- waitmove 0
- pause 30
- move 7, MauvilleCity_Movement_14C2DC
- waitmove 0
- move 255, MauvilleCity_Movement_1A0845
- waitmove 0
+ applymovement 6, MauvilleCity_Movement_14C2B0
+ applymovement 7, MauvilleCity_Movement_14C2D2
+ waitmovement 0
+ applymovement 6, MauvilleCity_Movement_1A0843
+ waitmovement 0
+ delay 30
+ applymovement 7, MauvilleCity_Movement_14C2DC
+ waitmovement 0
+ applymovement 255, MauvilleCity_Movement_1A0845
+ waitmovement 0
msgbox MauvilleCity_Text_1660FA, 4
- closebutton
- move 6, MauvilleCity_Movement_14C2C1
- move 7, MauvilleCity_Movement_14C2E8
- waitmove 0
- jump MauvilleCity_EventScript_14C22B
+ closemessage
+ applymovement 6, MauvilleCity_Movement_14C2C1
+ applymovement 7, MauvilleCity_Movement_14C2E8
+ waitmovement 0
+ goto MauvilleCity_EventScript_14C22B
end
MauvilleCity_EventScript_14C22B:: @ 814C22B
- disappear 6
- disappear 7
+ removeobject 6
+ removeobject 7
clearflag 806
clearflag 809
setflag 190
@@ -165,14 +165,14 @@ MauvilleCity_EventScript_14C22B:: @ 814C22B
MauvilleCity_EventScript_14C23C:: @ 814C23C
msgbox MauvilleCity_Text_165F0D, 4
trainerbattle 3, OPPONENT_WALLY_2, 0, MauvilleCity_Text_165F38
- move 6, MauvilleCity_Movement_1A0843
- waitmove 0
+ applymovement 6, MauvilleCity_Movement_1A0843
+ waitmovement 0
msgbox MauvilleCity_Text_165F85, 4
- move 6, MauvilleCity_Movement_1A0839
- waitmove 0
+ applymovement 6, MauvilleCity_Movement_1A0839
+ waitmovement 0
msgbox MauvilleCity_Text_165FB3, 4
- move 6, MauvilleCity_Movement_1A0843
- waitmove 0
+ applymovement 6, MauvilleCity_Movement_1A0843
+ waitmovement 0
msgbox MauvilleCity_Text_166050, 4
return
@@ -183,10 +183,10 @@ MauvilleCity_EventScript_14C285:: @ 814C285
end
MauvilleCity_EventScript_14C292:: @ 814C292
- move 6, MauvilleCity_Movement_1A0839
- waitmove 0
+ applymovement 6, MauvilleCity_Movement_1A0839
+ waitmovement 0
msgbox MauvilleCity_Text_165EE2, 5
- jump MauvilleCity_EventScript_14C154
+ goto MauvilleCity_EventScript_14C154
end
MauvilleCity_Movement_14C2AA:: @ 814C2AA
@@ -285,11 +285,11 @@ MauvilleCity_EventScript_14C2F2:: @ 814C2F2
lock
faceplayer
checkflag 209
- jumpeq MauvilleCity_EventScript_14C368
+ goto_if_eq MauvilleCity_EventScript_14C368
compare 0x40ba, 2
- jumpeq MauvilleCity_EventScript_14C33C
+ goto_if_eq MauvilleCity_EventScript_14C33C
checkflag 208
- jumpeq MauvilleCity_EventScript_14C332
+ goto_if_eq MauvilleCity_EventScript_14C332
msgbox MauvilleCity_Text_1661C1, 4
giveitem ITEM_BASEMENT_KEY
setflag 208
@@ -306,7 +306,7 @@ MauvilleCity_EventScript_14C33C:: @ 814C33C
msgbox MauvilleCity_Text_1663EB, 4
giveitem ITEM_TM24
compare RESULT, 0
- jumpeq MauvilleCity_EventScript_1A029B
+ goto_if_eq MauvilleCity_EventScript_1A029B
setflag 209
msgbox MauvilleCity_Text_166488, 4
release
diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc
index 5436bf38a..a93ff5170 100644
--- a/data/scripts/maps/MauvilleCity_BikeShop.inc
+++ b/data/scripts/maps/MauvilleCity_BikeShop.inc
@@ -5,28 +5,28 @@ MauvilleCity_BikeShop_EventScript_156796:: @ 8156796
lock
faceplayer
checkflag 90
- jumpeq MauvilleCity_BikeShop_EventScript_15686E
+ goto_if_eq MauvilleCity_BikeShop_EventScript_15686E
checkflag 89
- jumpeq MauvilleCity_BikeShop_EventScript_1567D1
+ goto_if_eq MauvilleCity_BikeShop_EventScript_1567D1
msgbox MauvilleCity_BikeShop_Text_180F9F, 4
msgbox MauvilleCity_BikeShop_Text_181016, 5
compare RESULT, 1
- jumpeq MauvilleCity_BikeShop_EventScript_156824
+ goto_if_eq MauvilleCity_BikeShop_EventScript_156824
compare RESULT, 0
- jumpeq MauvilleCity_BikeShop_EventScript_156817
+ goto_if_eq MauvilleCity_BikeShop_EventScript_156817
end
MauvilleCity_BikeShop_EventScript_1567D1:: @ 81567D1
msgbox MauvilleCity_BikeShop_Text_181016, 5
compare RESULT, 1
- jumpeq MauvilleCity_BikeShop_EventScript_156824
+ goto_if_eq MauvilleCity_BikeShop_EventScript_156824
compare RESULT, 0
- jumpeq MauvilleCity_BikeShop_EventScript_156817
+ goto_if_eq MauvilleCity_BikeShop_EventScript_156817
end
MauvilleCity_BikeShop_EventScript_1567F0:: @ 81567F0
message MauvilleCity_BikeShop_Text_1810B1
- waittext
+ waitmessage
multichoice 21, 8, 12, 1
switch RESULT
case 0, MauvilleCity_BikeShop_EventScript_15682D
@@ -41,19 +41,19 @@ MauvilleCity_BikeShop_EventScript_156817:: @ 8156817
MauvilleCity_BikeShop_EventScript_156824:: @ 8156824
setflag 90
- jump MauvilleCity_BikeShop_EventScript_1567F0
+ goto MauvilleCity_BikeShop_EventScript_1567F0
end
MauvilleCity_BikeShop_EventScript_15682D:: @ 815682D
msgbox MauvilleCity_BikeShop_Text_181332, 4
giveitem ITEM_MACH_BIKE
- jump MauvilleCity_BikeShop_EventScript_156861
+ goto MauvilleCity_BikeShop_EventScript_156861
end
MauvilleCity_BikeShop_EventScript_156847:: @ 8156847
msgbox MauvilleCity_BikeShop_Text_18134A, 4
giveitem ITEM_ACRO_BIKE
- jump MauvilleCity_BikeShop_EventScript_156861
+ goto MauvilleCity_BikeShop_EventScript_156861
end
MauvilleCity_BikeShop_EventScript_156861:: @ 8156861
@@ -65,19 +65,19 @@ MauvilleCity_BikeShop_EventScript_156861:: @ 8156861
MauvilleCity_BikeShop_EventScript_15686E:: @ 815686E
msgbox MauvilleCity_BikeShop_Text_1813A0, 5
compare RESULT, 1
- jumpeq MauvilleCity_BikeShop_EventScript_15688D
+ goto_if_eq MauvilleCity_BikeShop_EventScript_15688D
compare RESULT, 0
- jumpeq MauvilleCity_BikeShop_EventScript_1568BF
+ goto_if_eq MauvilleCity_BikeShop_EventScript_1568BF
end
MauvilleCity_BikeShop_EventScript_15688D:: @ 815688D
msgbox MauvilleCity_BikeShop_Text_1813D4, 4
checkitem ITEM_ACRO_BIKE, 1
compare RESULT, 1
- jumpeq MauvilleCity_BikeShop_EventScript_1568C9
+ goto_if_eq MauvilleCity_BikeShop_EventScript_1568C9
checkitem ITEM_MACH_BIKE, 1
compare RESULT, 1
- jumpeq MauvilleCity_BikeShop_EventScript_1568EA
+ goto_if_eq MauvilleCity_BikeShop_EventScript_1568EA
msgbox MauvilleCity_BikeShop_Text_181498, 4
release
end
@@ -88,19 +88,19 @@ MauvilleCity_BikeShop_EventScript_1568BF:: @ 81568BF
end
MauvilleCity_BikeShop_EventScript_1568C9:: @ 81568C9
- inccounter GAME_STAT_TRADED_BIKES
+ incrementgamestat GAME_STAT_TRADED_BIKES
msgbox MauvilleCity_BikeShop_Text_181439, 4
removeitem ITEM_ACRO_BIKE, 1
giveitem ITEM_MACH_BIKE
- jump MauvilleCity_BikeShop_EventScript_156861
+ goto MauvilleCity_BikeShop_EventScript_156861
end
MauvilleCity_BikeShop_EventScript_1568EA:: @ 81568EA
- inccounter GAME_STAT_TRADED_BIKES
+ incrementgamestat GAME_STAT_TRADED_BIKES
msgbox MauvilleCity_BikeShop_Text_181408, 4
removeitem ITEM_MACH_BIKE, 1
giveitem ITEM_ACRO_BIKE
- jump MauvilleCity_BikeShop_EventScript_156861
+ goto MauvilleCity_BikeShop_EventScript_156861
end
MauvilleCity_BikeShop_EventScript_15690B:: @ 815690B
@@ -109,8 +109,8 @@ MauvilleCity_BikeShop_EventScript_15690B:: @ 815690B
MauvilleCity_BikeShop_EventScript_156914:: @ 8156914
message MauvilleCity_BikeShop_Text_1815EA
- waittext
- jump MauvilleCity_BikeShop_EventScript_156920
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_156920
end
MauvilleCity_BikeShop_EventScript_156920:: @ 8156920
@@ -125,20 +125,20 @@ MauvilleCity_BikeShop_EventScript_156920:: @ 8156920
MauvilleCity_BikeShop_EventScript_156962:: @ 8156962
message MauvilleCity_BikeShop_Text_18162C
- waittext
- jump MauvilleCity_BikeShop_EventScript_156920
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_156920
end
MauvilleCity_BikeShop_EventScript_15696E:: @ 815696E
message MauvilleCity_BikeShop_Text_1816F5
- waittext
- jump MauvilleCity_BikeShop_EventScript_156920
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_156920
end
MauvilleCity_BikeShop_EventScript_15697A:: @ 815697A
message MauvilleCity_BikeShop_Text_1817BF
- waittext
- jump MauvilleCity_BikeShop_EventScript_156920
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_156920
end
MauvilleCity_BikeShop_EventScript_156986:: @ 8156986
@@ -147,8 +147,8 @@ MauvilleCity_BikeShop_EventScript_156986:: @ 8156986
MauvilleCity_BikeShop_EventScript_156988:: @ 8156988
message MauvilleCity_BikeShop_Text_181892
- waittext
- jump MauvilleCity_BikeShop_EventScript_156994
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_156994
end
MauvilleCity_BikeShop_EventScript_156994:: @ 8156994
@@ -163,20 +163,20 @@ MauvilleCity_BikeShop_EventScript_156994:: @ 8156994
MauvilleCity_BikeShop_EventScript_1569D6:: @ 81569D6
message MauvilleCity_BikeShop_Text_1818D4
- waittext
- jump MauvilleCity_BikeShop_EventScript_156994
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_156994
end
MauvilleCity_BikeShop_EventScript_1569E2:: @ 81569E2
message MauvilleCity_BikeShop_Text_18199A
- waittext
- jump MauvilleCity_BikeShop_EventScript_156994
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_156994
end
MauvilleCity_BikeShop_EventScript_1569EE:: @ 81569EE
message MauvilleCity_BikeShop_Text_181A3D
- waittext
- jump MauvilleCity_BikeShop_EventScript_156994
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_156994
end
MauvilleCity_BikeShop_EventScript_1569FA:: @ 81569FA
diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc
index f20a7dacd..2e0231287 100644
--- a/data/scripts/maps/MauvilleCity_GameCorner.inc
+++ b/data/scripts/maps/MauvilleCity_GameCorner.inc
@@ -7,65 +7,65 @@ MauvilleCity_GameCorner_EventScript_156A34:: @ 8156A34
msgbox MauvilleCity_GameCorner_Text_181C35, 4
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156B32
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156B32
message MauvilleCity_GameCorner_Text_181CB4
- waittext
- showmoney 0, 0
- snop
- showcoins 0, 5
- jump MauvilleCity_GameCorner_EventScript_156A60
+ waitmessage
+ showmoneybox 0, 0
+ nop
+ showcoinsbox 0, 5
+ goto MauvilleCity_GameCorner_EventScript_156A60
MauvilleCity_GameCorner_EventScript_156A60:: @ 8156A60
- multichoicedef 15, 0, 49, 0, 0
+ multichoicedefault 15, 0, 49, 0, 0
switch RESULT
case 0, MauvilleCity_GameCorner_EventScript_156AAE
case 1, MauvilleCity_GameCorner_EventScript_156AF0
- jump MauvilleCity_GameCorner_EventScript_156B4C
+ goto MauvilleCity_GameCorner_EventScript_156B4C
end
@ 8156A87
- multichoicedef 15, 0, 49, 1, 0
+ multichoicedefault 15, 0, 49, 1, 0
switch RESULT
case 0, MauvilleCity_GameCorner_EventScript_156AAE
case 1, MauvilleCity_GameCorner_EventScript_156AF0
- jump MauvilleCity_GameCorner_EventScript_156B4C
+ goto MauvilleCity_GameCorner_EventScript_156B4C
end
MauvilleCity_GameCorner_EventScript_156AAE:: @ 8156AAE
checkcoins 16385
compare 0x4001, 9950
- jumpif 4, MauvilleCity_GameCorner_EventScript_156B5C
+ goto_if 4, MauvilleCity_GameCorner_EventScript_156B5C
checkmoney 0x3e8, 0
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156B3C
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156B3C
givecoins 50
- paymoney 0x3e8, 0
- updatemoney 0, 0
- snop
- updatecoins 0, 5
- playsfx 95
+ takemoney 0x3e8, 0
+ updatemoneybox 0, 0
+ nop
+ updatecoinsbox 0, 5
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181CFE, 4
- hidemoney 0, 0
- hidecoins 0, 5
+ hidemoneybox 0, 0
+ hidecoinsbox 0, 5
release
end
MauvilleCity_GameCorner_EventScript_156AF0:: @ 8156AF0
checkcoins 16385
compare 0x4001, 9500
- jumpif 4, MauvilleCity_GameCorner_EventScript_156B5C
+ goto_if 4, MauvilleCity_GameCorner_EventScript_156B5C
checkmoney 0x2710, 0
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156B3C
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156B3C
givecoins 500
- paymoney 0x2710, 0
- updatemoney 0, 0
- snop
- updatecoins 0, 5
- playsfx 95
+ takemoney 0x2710, 0
+ updatemoneybox 0, 0
+ nop
+ updatecoinsbox 0, 5
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181CFE, 4
- hidemoney 0, 0
- hidecoins 0, 5
+ hidemoneybox 0, 0
+ hidecoinsbox 0, 5
release
end
@@ -76,22 +76,22 @@ MauvilleCity_GameCorner_EventScript_156B32:: @ 8156B32
MauvilleCity_GameCorner_EventScript_156B3C:: @ 8156B3C
msgbox MauvilleCity_GameCorner_Text_181D28, 4
- hidemoney 0, 0
- hidecoins 0, 5
+ hidemoneybox 0, 0
+ hidecoinsbox 0, 5
release
end
MauvilleCity_GameCorner_EventScript_156B4C:: @ 8156B4C
msgbox MauvilleCity_GameCorner_Text_181D73, 4
- hidemoney 0, 0
- hidecoins 0, 5
+ hidemoneybox 0, 0
+ hidecoinsbox 0, 5
release
end
MauvilleCity_GameCorner_EventScript_156B5C:: @ 8156B5C
msgbox MauvilleCity_GameCorner_Text_181D57, 4
- hidemoney 0, 0
- hidecoins 0, 5
+ hidemoneybox 0, 0
+ hidecoinsbox 0, 5
release
end
@@ -101,21 +101,21 @@ MauvilleCity_GameCorner_EventScript_156B6C:: @ 8156B6C
msgbox MauvilleCity_GameCorner_Text_181DE1, 4
checkitem ITEM_COIN_CASE, 1
compare RESULT, 1
- jumpeq MauvilleCity_GameCorner_EventScript_156B88
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156B88
release
end
MauvilleCity_GameCorner_EventScript_156B88:: @ 8156B88
message MauvilleCity_GameCorner_Text_181E17
- waittext
- showcoins 0, 0
+ waitmessage
+ showcoinsbox 0, 0
setvar 0x4001, 0
- jump MauvilleCity_GameCorner_EventScript_156BA6
+ goto MauvilleCity_GameCorner_EventScript_156BA6
MauvilleCity_GameCorner_EventScript_156B9B:: @ 8156B9B
message MauvilleCity_GameCorner_Text_181E17
- waittext
- jump MauvilleCity_GameCorner_EventScript_156BA6
+ waitmessage
+ goto MauvilleCity_GameCorner_EventScript_156BA6
MauvilleCity_GameCorner_EventScript_156BA6:: @ 8156BA6
multichoice 12, 0, 48, 0
@@ -124,28 +124,28 @@ MauvilleCity_GameCorner_EventScript_156BA6:: @ 8156BA6
case 1, MauvilleCity_GameCorner_EventScript_156BF0
case 2, MauvilleCity_GameCorner_EventScript_156BFE
case 3, MauvilleCity_GameCorner_EventScript_156D0D
- jump MauvilleCity_GameCorner_EventScript_156D0D
+ goto MauvilleCity_GameCorner_EventScript_156D0D
end
MauvilleCity_GameCorner_EventScript_156BE2:: @ 8156BE2
setvar 0x4001, 1
- bufferdecor 0, 88
- jump MauvilleCity_GameCorner_EventScript_156C0C
+ getdecorname 0, 88
+ goto MauvilleCity_GameCorner_EventScript_156C0C
MauvilleCity_GameCorner_EventScript_156BF0:: @ 8156BF0
setvar 0x4001, 2
- bufferdecor 0, 89
- jump MauvilleCity_GameCorner_EventScript_156C0C
+ getdecorname 0, 89
+ goto MauvilleCity_GameCorner_EventScript_156C0C
MauvilleCity_GameCorner_EventScript_156BFE:: @ 8156BFE
setvar 0x4001, 3
- bufferdecor 0, 90
- jump MauvilleCity_GameCorner_EventScript_156C0C
+ getdecorname 0, 90
+ goto MauvilleCity_GameCorner_EventScript_156C0C
MauvilleCity_GameCorner_EventScript_156C0C:: @ 8156C0C
msgbox MauvilleCity_GameCorner_Text_181E33, 5
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156D0D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156D0D
switch 0x4001
case 1, MauvilleCity_GameCorner_EventScript_156C46
case 2, MauvilleCity_GameCorner_EventScript_156C80
@@ -155,64 +155,64 @@ MauvilleCity_GameCorner_EventScript_156C0C:: @ 8156C0C
MauvilleCity_GameCorner_EventScript_156C46:: @ 8156C46
checkcoins 16386
compare 0x4002, 1000
- jumpif 0, MauvilleCity_GameCorner_EventScript_156CF4
- bufferdecor 1, 88
+ goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4
+ getdecorname 1, 88
checkdecor 88
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156D02
- removecoins 1000
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156D02
+ takecoins 1000
adddecor 88
- updatecoins 0, 0
- playsfx 95
+ updatecoinsbox 0, 0
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181E49, 4
- jump MauvilleCity_GameCorner_EventScript_156B9B
+ goto MauvilleCity_GameCorner_EventScript_156B9B
end
MauvilleCity_GameCorner_EventScript_156C80:: @ 8156C80
checkcoins 16386
compare 0x4002, 1000
- jumpif 0, MauvilleCity_GameCorner_EventScript_156CF4
- bufferdecor 1, 89
+ goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4
+ getdecorname 1, 89
checkdecor 89
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156D02
- removecoins 1000
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156D02
+ takecoins 1000
adddecor 89
- updatecoins 0, 0
- playsfx 95
+ updatecoinsbox 0, 0
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181E49, 4
- jump MauvilleCity_GameCorner_EventScript_156B9B
+ goto MauvilleCity_GameCorner_EventScript_156B9B
end
MauvilleCity_GameCorner_EventScript_156CBA:: @ 8156CBA
checkcoins 16386
compare 0x4002, 1000
- jumpif 0, MauvilleCity_GameCorner_EventScript_156CF4
- bufferdecor 1, 90
+ goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4
+ getdecorname 1, 90
checkdecor 90
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156D02
- removecoins 1000
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156D02
+ takecoins 1000
adddecor 90
- updatecoins 0, 0
- playsfx 95
+ updatecoinsbox 0, 0
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181E49, 4
- jump MauvilleCity_GameCorner_EventScript_156B9B
+ goto MauvilleCity_GameCorner_EventScript_156B9B
end
MauvilleCity_GameCorner_EventScript_156CF4:: @ 8156CF4
msgbox MauvilleCity_GameCorner_Text_181E76, 4
- jump MauvilleCity_GameCorner_EventScript_156B9B
+ goto MauvilleCity_GameCorner_EventScript_156B9B
end
MauvilleCity_GameCorner_EventScript_156D02:: @ 8156D02
call MauvilleCity_GameCorner_EventScript_1A02B8
- jump MauvilleCity_GameCorner_EventScript_156B9B
+ goto MauvilleCity_GameCorner_EventScript_156B9B
end
MauvilleCity_GameCorner_EventScript_156D0D:: @ 8156D0D
msgbox MauvilleCity_GameCorner_Text_181EC2, 4
- hidecoins 0, 0
+ hidecoinsbox 0, 0
release
end
@@ -222,21 +222,21 @@ MauvilleCity_GameCorner_EventScript_156D1A:: @ 8156D1A
msgbox MauvilleCity_GameCorner_Text_181DE1, 4
checkitem ITEM_COIN_CASE, 1
compare RESULT, 1
- jumpeq MauvilleCity_GameCorner_EventScript_156D36
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156D36
release
end
MauvilleCity_GameCorner_EventScript_156D36:: @ 8156D36
message MauvilleCity_GameCorner_Text_181E17
- waittext
- showcoins 0, 0
+ waitmessage
+ showcoinsbox 0, 0
setvar 0x4001, 0
- jump MauvilleCity_GameCorner_EventScript_156D54
+ goto MauvilleCity_GameCorner_EventScript_156D54
MauvilleCity_GameCorner_EventScript_156D49:: @ 8156D49
message MauvilleCity_GameCorner_Text_181E17
- waittext
- jump MauvilleCity_GameCorner_EventScript_156D54
+ waitmessage
+ goto MauvilleCity_GameCorner_EventScript_156D54
MauvilleCity_GameCorner_EventScript_156D54:: @ 8156D54
multichoice 12, 0, 55, 0
@@ -247,38 +247,38 @@ MauvilleCity_GameCorner_EventScript_156D54:: @ 8156D54
case 3, MauvilleCity_GameCorner_EventScript_156DD0
case 4, MauvilleCity_GameCorner_EventScript_156DDE
case 5, MauvilleCity_GameCorner_EventScript_156F77
- jump MauvilleCity_GameCorner_EventScript_156F77
+ goto MauvilleCity_GameCorner_EventScript_156F77
end
MauvilleCity_GameCorner_EventScript_156DA6:: @ 8156DA6
setvar 0x4001, 1
- bufferitem 0, ITEM_TM32
- jump MauvilleCity_GameCorner_EventScript_156DEC
+ getitemname 0, ITEM_TM32
+ goto MauvilleCity_GameCorner_EventScript_156DEC
MauvilleCity_GameCorner_EventScript_156DB4:: @ 8156DB4
setvar 0x4001, 2
- bufferitem 0, ITEM_TM29
- jump MauvilleCity_GameCorner_EventScript_156DEC
+ getitemname 0, ITEM_TM29
+ goto MauvilleCity_GameCorner_EventScript_156DEC
MauvilleCity_GameCorner_EventScript_156DC2:: @ 8156DC2
setvar 0x4001, 3
- bufferitem 0, ITEM_TM35
- jump MauvilleCity_GameCorner_EventScript_156DEC
+ getitemname 0, ITEM_TM35
+ goto MauvilleCity_GameCorner_EventScript_156DEC
MauvilleCity_GameCorner_EventScript_156DD0:: @ 8156DD0
setvar 0x4001, 4
- bufferitem 0, ITEM_TM24
- jump MauvilleCity_GameCorner_EventScript_156DEC
+ getitemname 0, ITEM_TM24
+ goto MauvilleCity_GameCorner_EventScript_156DEC
MauvilleCity_GameCorner_EventScript_156DDE:: @ 8156DDE
setvar 0x4001, 5
- bufferitem 0, ITEM_TM13
- jump MauvilleCity_GameCorner_EventScript_156DEC
+ getitemname 0, ITEM_TM13
+ goto MauvilleCity_GameCorner_EventScript_156DEC
MauvilleCity_GameCorner_EventScript_156DEC:: @ 8156DEC
msgbox MauvilleCity_GameCorner_Text_181E33, 5
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156F77
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156F77
switch 0x4001
case 1, MauvilleCity_GameCorner_EventScript_156E3C
case 2, MauvilleCity_GameCorner_EventScript_156E76
@@ -290,91 +290,91 @@ MauvilleCity_GameCorner_EventScript_156DEC:: @ 8156DEC
MauvilleCity_GameCorner_EventScript_156E3C:: @ 8156E3C
checkcoins 16386
compare 0x4002, 1500
- jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM32, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156F6C
- removecoins 1500
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
+ takecoins 1500
additem ITEM_TM32, 1
- updatecoins 0, 0
- playsfx 95
+ updatecoinsbox 0, 0
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181F08, 4
- jump MauvilleCity_GameCorner_EventScript_156D49
+ goto MauvilleCity_GameCorner_EventScript_156D49
end
MauvilleCity_GameCorner_EventScript_156E76:: @ 8156E76
checkcoins 16386
compare 0x4002, 3500
- jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM29, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156F6C
- removecoins 3500
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
+ takecoins 3500
additem ITEM_TM29, 1
- updatecoins 0, 0
- playsfx 95
+ updatecoinsbox 0, 0
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181F08, 4
- jump MauvilleCity_GameCorner_EventScript_156D49
+ goto MauvilleCity_GameCorner_EventScript_156D49
end
MauvilleCity_GameCorner_EventScript_156EB0:: @ 8156EB0
checkcoins 16386
compare 0x4002, 4000
- jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM35, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156F6C
- removecoins 4000
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
+ takecoins 4000
additem ITEM_TM35, 1
- updatecoins 0, 0
- playsfx 95
+ updatecoinsbox 0, 0
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181F08, 4
- jump MauvilleCity_GameCorner_EventScript_156D49
+ goto MauvilleCity_GameCorner_EventScript_156D49
end
MauvilleCity_GameCorner_EventScript_156EEA:: @ 8156EEA
checkcoins 16386
compare 0x4002, 4000
- jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM24, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156F6C
- removecoins 4000
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
+ takecoins 4000
additem ITEM_TM24, 1
- updatecoins 0, 0
- playsfx 95
+ updatecoinsbox 0, 0
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181F08, 4
- jump MauvilleCity_GameCorner_EventScript_156D49
+ goto MauvilleCity_GameCorner_EventScript_156D49
end
MauvilleCity_GameCorner_EventScript_156F24:: @ 8156F24
checkcoins 16386
compare 0x4002, 4000
- jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E
+ goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E
checkitemspace ITEM_TM13, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_156F6C
- removecoins 4000
+ goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C
+ takecoins 4000
additem ITEM_TM13, 1
- updatecoins 0, 0
- playsfx 95
+ updatecoinsbox 0, 0
+ playse 95
msgbox MauvilleCity_GameCorner_Text_181F08, 4
- jump MauvilleCity_GameCorner_EventScript_156D49
+ goto MauvilleCity_GameCorner_EventScript_156D49
end
MauvilleCity_GameCorner_EventScript_156F5E:: @ 8156F5E
msgbox MauvilleCity_GameCorner_Text_181E76, 4
- jump MauvilleCity_GameCorner_EventScript_156D49
+ goto MauvilleCity_GameCorner_EventScript_156D49
end
MauvilleCity_GameCorner_EventScript_156F6C:: @ 8156F6C
call MauvilleCity_GameCorner_EventScript_1A02A5
- jump MauvilleCity_GameCorner_EventScript_156D49
+ goto MauvilleCity_GameCorner_EventScript_156D49
end
MauvilleCity_GameCorner_EventScript_156F77:: @ 8156F77
msgbox MauvilleCity_GameCorner_Text_181EC2, 4
- hidecoins 0, 0
+ hidecoinsbox 0, 0
release
end
@@ -390,10 +390,10 @@ MauvilleCity_GameCorner_EventScript_156F96:: @ 8156F96
lock
faceplayer
checkflag 226
- jumpeq MauvilleCity_GameCorner_EventScript_157072
+ goto_if_eq MauvilleCity_GameCorner_EventScript_157072
msgbox MauvilleCity_GameCorner_Text_181F3D, 5
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_157068
+ goto_if_eq MauvilleCity_GameCorner_EventScript_157068
switch 0x4023
case 0, MauvilleCity_GameCorner_EventScript_156FDB
case 1, MauvilleCity_GameCorner_EventScript_157005
@@ -401,36 +401,36 @@ MauvilleCity_GameCorner_EventScript_156F96:: @ 8156F96
end
MauvilleCity_GameCorner_EventScript_156FDB:: @ 8156FDB
- bufferdecor 1, 88
+ getdecorname 1, 88
checkdecor 88
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_157059
+ goto_if_eq MauvilleCity_GameCorner_EventScript_157059
msgbox MauvilleCity_GameCorner_Text_181F89, 4
givedecoration 88
setflag 226
- jump MauvilleCity_GameCorner_EventScript_157072
+ goto MauvilleCity_GameCorner_EventScript_157072
end
MauvilleCity_GameCorner_EventScript_157005:: @ 8157005
- bufferdecor 1, 89
+ getdecorname 1, 89
checkdecor 89
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_157059
+ goto_if_eq MauvilleCity_GameCorner_EventScript_157059
msgbox MauvilleCity_GameCorner_Text_181F89, 4
givedecoration 89
setflag 226
- jump MauvilleCity_GameCorner_EventScript_157072
+ goto MauvilleCity_GameCorner_EventScript_157072
end
MauvilleCity_GameCorner_EventScript_15702F:: @ 815702F
- bufferdecor 1, 90
+ getdecorname 1, 90
checkdecor 90
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_157059
+ goto_if_eq MauvilleCity_GameCorner_EventScript_157059
msgbox MauvilleCity_GameCorner_Text_181F89, 4
givedecoration 90
setflag 226
- jump MauvilleCity_GameCorner_EventScript_157072
+ goto MauvilleCity_GameCorner_EventScript_157072
end
MauvilleCity_GameCorner_EventScript_157059:: @ 8157059
@@ -454,54 +454,54 @@ MauvilleCity_GameCorner_EventScript_15707C:: @ 815707C
faceplayer
checkitem ITEM_COIN_CASE, 1
compare RESULT, 1
- jumpeq MauvilleCity_GameCorner_EventScript_15709C
+ goto_if_eq MauvilleCity_GameCorner_EventScript_15709C
msgbox MauvilleCity_GameCorner_Text_18201E, 4
- jump MauvilleCity_GameCorner_EventScript_157108
+ goto MauvilleCity_GameCorner_EventScript_157108
end
MauvilleCity_GameCorner_EventScript_15709C:: @ 815709C
checkflag 225
- jumpeq MauvilleCity_GameCorner_EventScript_1570CA
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1570CA
checkcoins 16385
compare 0x4001, 1
- jumpif 4, MauvilleCity_GameCorner_EventScript_1570CA
+ goto_if 4, MauvilleCity_GameCorner_EventScript_1570CA
setflag 225
givecoins 20
msgbox MauvilleCity_GameCorner_Text_18208E, 4
- playsfx 95
- jump MauvilleCity_GameCorner_EventScript_1570CA
+ playse 95
+ goto MauvilleCity_GameCorner_EventScript_1570CA
end
MauvilleCity_GameCorner_EventScript_1570CA:: @ 81570CA
msgbox MauvilleCity_GameCorner_Text_1820DD, 4
- jump MauvilleCity_GameCorner_EventScript_157108
+ goto MauvilleCity_GameCorner_EventScript_157108
end
MauvilleCity_GameCorner_EventScript_1570D8:: @ 81570D8
lock
faceplayer
msgbox MauvilleCity_GameCorner_Text_182120, 4
- jump MauvilleCity_GameCorner_EventScript_157108
+ goto MauvilleCity_GameCorner_EventScript_157108
end
MauvilleCity_GameCorner_EventScript_1570E8:: @ 81570E8
lock
faceplayer
msgbox MauvilleCity_GameCorner_Text_18217C, 4
- jump MauvilleCity_GameCorner_EventScript_157108
+ goto MauvilleCity_GameCorner_EventScript_157108
end
MauvilleCity_GameCorner_EventScript_1570F8:: @ 81570F8
lock
faceplayer
msgbox MauvilleCity_GameCorner_Text_182241, 4
- jump MauvilleCity_GameCorner_EventScript_157108
+ goto MauvilleCity_GameCorner_EventScript_157108
end
MauvilleCity_GameCorner_EventScript_157108:: @ 8157108
- closebutton
- move LAST_TALKED, MauvilleCity_GameCorner_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, MauvilleCity_GameCorner_Movement_1A083D
+ waitmovement 0
release
end
@@ -509,24 +509,24 @@ MauvilleCity_GameCorner_EventScript_157115:: @ 8157115
lock
faceplayer
msgbox MauvilleCity_GameCorner_Text_182272, 4
- jump MauvilleCity_GameCorner_EventScript_157108
+ goto MauvilleCity_GameCorner_EventScript_157108
end
MauvilleCity_GameCorner_EventScript_157125:: @ 8157125
lock
faceplayer
msgbox MauvilleCity_GameCorner_Text_1822F4, 4
- jump MauvilleCity_GameCorner_EventScript_157108
+ goto MauvilleCity_GameCorner_EventScript_157108
end
MauvilleCity_GameCorner_EventScript_157135:: @ 8157135
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 0
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -534,10 +534,10 @@ MauvilleCity_GameCorner_EventScript_157155:: @ 8157155
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 1
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -545,10 +545,10 @@ MauvilleCity_GameCorner_EventScript_157175:: @ 8157175
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 2
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -556,10 +556,10 @@ MauvilleCity_GameCorner_EventScript_157195:: @ 8157195
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 3
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -567,10 +567,10 @@ MauvilleCity_GameCorner_EventScript_1571B5:: @ 81571B5
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 4
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -578,10 +578,10 @@ MauvilleCity_GameCorner_EventScript_1571D5:: @ 81571D5
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 5
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -589,10 +589,10 @@ MauvilleCity_GameCorner_EventScript_1571F5:: @ 81571F5
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 6
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -600,10 +600,10 @@ MauvilleCity_GameCorner_EventScript_157215:: @ 8157215
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 7
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -611,10 +611,10 @@ MauvilleCity_GameCorner_EventScript_157235:: @ 8157235
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 8
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -622,10 +622,10 @@ MauvilleCity_GameCorner_EventScript_157255:: @ 8157255
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 9
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -633,10 +633,10 @@ MauvilleCity_GameCorner_EventScript_157275:: @ 8157275
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 10
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
@@ -644,10 +644,10 @@ MauvilleCity_GameCorner_EventScript_157295:: @ 8157295
lockall
checkitem ITEM_COIN_CASE, 1
compare RESULT, 0
- jumpeq MauvilleCity_GameCorner_EventScript_1572B5
+ goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5
setvar 0x8004, 11
- specialval RESULT, sub_810F424
- pokecasino RESULT
+ specialvar RESULT, sub_810F424
+ playslotmachine RESULT
releaseall
end
diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc
index bd5c119f3..5221add7a 100644
--- a/data/scripts/maps/MauvilleCity_Gym.inc
+++ b/data/scripts/maps/MauvilleCity_Gym.inc
@@ -4,7 +4,7 @@ MauvilleCity_Gym_MapScripts:: @ 8156450
MauvilleCity_Gym_MapScript1_156456:: @ 8156456
checkflag 1208
- jumpeq MauvilleCity_Gym_EventScript_1565A7
+ goto_if_eq MauvilleCity_Gym_EventScript_1565A7
switch 0x4093
case 0, MauvilleCity_Gym_EventScript_156491
case 1, MauvilleCity_Gym_EventScript_15657D
@@ -14,7 +14,7 @@ MauvilleCity_Gym_MapScript1_156456:: @ 8156456
MauvilleCity_Gym_EventScript_156491:: @ 8156491
checkflag 99
- jumpeq MauvilleCity_Gym_EventScript_15649B
+ goto_if_eq MauvilleCity_Gym_EventScript_15649B
end
MauvilleCity_Gym_EventScript_15649B:: @ 815649B
@@ -48,19 +48,19 @@ MauvilleCity_Gym_EventScript_15649B:: @ 815649B
MauvilleCity_Gym_EventScript_15657D:: @ 815657D
setvar 0x8004, 0
special MauvilleGymSpecial1
- jump MauvilleCity_Gym_EventScript_156491
+ goto MauvilleCity_Gym_EventScript_156491
end
MauvilleCity_Gym_EventScript_15658B:: @ 815658B
setvar 0x8004, 1
special MauvilleGymSpecial1
- jump MauvilleCity_Gym_EventScript_156491
+ goto MauvilleCity_Gym_EventScript_156491
end
MauvilleCity_Gym_EventScript_156599:: @ 8156599
setvar 0x8004, 2
special MauvilleGymSpecial1
- jump MauvilleCity_Gym_EventScript_156491
+ goto MauvilleCity_Gym_EventScript_156491
end
MauvilleCity_Gym_EventScript_1565A7:: @ 81565A7
@@ -70,35 +70,35 @@ MauvilleCity_Gym_EventScript_1565A7:: @ 81565A7
MauvilleCity_Gym_EventScript_1565AB:: @ 81565AB
trainerbattle 1, OPPONENT_WATTSON, 0, MauvilleCity_Gym_Text_180C32, MauvilleCity_Gym_Text_180D64, MauvilleCity_Gym_EventScript_1565DB
checkflag 167
- jumpif 0, MauvilleCity_Gym_EventScript_15661D
+ goto_if 0, MauvilleCity_Gym_EventScript_15661D
compare 0x40ba, 2
- jumpeq MauvilleCity_Gym_EventScript_156641
+ goto_if_eq MauvilleCity_Gym_EventScript_156641
msgbox MauvilleCity_Gym_Text_180EDB, 4
release
end
MauvilleCity_Gym_EventScript_1565DB:: @ 81565DB
message MauvilleCity_Gym_Text_180DAF
- waittext
+ waitmessage
call MauvilleCity_Gym_EventScript_1A02C5
msgbox MauvilleCity_Gym_Text_180DDA, 4
setflag 1208
setflag 2057
addvar 0x4085, 1
compare 0x4085, 6
- callif 1, MauvilleCity_Gym_EventScript_1A00FB
+ call_if 1, MauvilleCity_Gym_EventScript_1A00FB
setvar 0x8008, 3
call MauvilleCity_Gym_EventScript_1A01C0
special MauvilleGymSpecial3
special DrawWholeMapView
- playsfx 44
- jump MauvilleCity_Gym_EventScript_15661D
+ playse 44
+ goto MauvilleCity_Gym_EventScript_15661D
end
MauvilleCity_Gym_EventScript_15661D:: @ 815661D
giveitem ITEM_TM34
compare RESULT, 0
- jumpeq MauvilleCity_Gym_EventScript_1A029B
+ goto_if_eq MauvilleCity_Gym_EventScript_1A029B
msgbox MauvilleCity_Gym_Text_180E76, 4
setflag 167
release
@@ -112,45 +112,45 @@ MauvilleCity_Gym_EventScript_156641:: @ 8156641
MauvilleCity_Gym_EventScript_15664B:: @ 815664B
lockall
checkflag 1208
- jumpeq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_eq MauvilleCity_Gym_EventScript_1566DA
compare 0x4093, 1
- jumpeq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_eq MauvilleCity_Gym_EventScript_1566DA
setvar 0x4093, 1
setvar 0x8004, 0
- jump MauvilleCity_Gym_EventScript_1566BA
+ goto MauvilleCity_Gym_EventScript_1566BA
end
MauvilleCity_Gym_EventScript_156670:: @ 8156670
lockall
checkflag 1208
- jumpeq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_eq MauvilleCity_Gym_EventScript_1566DA
compare 0x4093, 2
- jumpeq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_eq MauvilleCity_Gym_EventScript_1566DA
setvar 0x4093, 2
setvar 0x8004, 1
- jump MauvilleCity_Gym_EventScript_1566BA
+ goto MauvilleCity_Gym_EventScript_1566BA
end
MauvilleCity_Gym_EventScript_156695:: @ 8156695
lockall
checkflag 1208
- jumpeq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_eq MauvilleCity_Gym_EventScript_1566DA
compare 0x4093, 3
- jumpeq MauvilleCity_Gym_EventScript_1566DA
+ goto_if_eq MauvilleCity_Gym_EventScript_1566DA
setvar 0x4093, 3
setvar 0x8004, 2
- jump MauvilleCity_Gym_EventScript_1566BA
+ goto MauvilleCity_Gym_EventScript_1566BA
end
MauvilleCity_Gym_EventScript_1566BA:: @ 81566BA
special MauvilleGymSpecial2
special MauvilleGymSpecial1
special DrawWholeMapView
- playsfx 44
+ playse 44
checkflag 99
- jumpeq MauvilleCity_Gym_EventScript_1566E1
+ goto_if_eq MauvilleCity_Gym_EventScript_1566E1
checkflag 99
- jumpif 0, MauvilleCity_Gym_EventScript_1566DC
+ goto_if 0, MauvilleCity_Gym_EventScript_1566DC
releaseall
end
@@ -192,7 +192,7 @@ MauvilleCity_Gym_EventScript_156742:: @ 8156742
lock
faceplayer
checkflag 1208
- jumpeq MauvilleCity_Gym_EventScript_156757
+ goto_if_eq MauvilleCity_Gym_EventScript_156757
msgbox MauvilleCity_Gym_Text_180815, 4
release
end
@@ -205,15 +205,15 @@ MauvilleCity_Gym_EventScript_156757:: @ 8156757
MauvilleCity_Gym_EventScript_156761:: @ 8156761
lockall
checkflag 2057
- jumpeq MauvilleCity_Gym_EventScript_156781
- jump MauvilleCity_Gym_EventScript_15678B
+ goto_if_eq MauvilleCity_Gym_EventScript_156781
+ goto MauvilleCity_Gym_EventScript_15678B
end
MauvilleCity_Gym_EventScript_156771:: @ 8156771
lockall
checkflag 2057
- jumpeq MauvilleCity_Gym_EventScript_156781
- jump MauvilleCity_Gym_EventScript_15678B
+ goto_if_eq MauvilleCity_Gym_EventScript_156781
+ goto MauvilleCity_Gym_EventScript_15678B
end
MauvilleCity_Gym_EventScript_156781:: @ 8156781
diff --git a/data/scripts/maps/MauvilleCity_House1.inc b/data/scripts/maps/MauvilleCity_House1.inc
index 48ee31be5..e76564847 100644
--- a/data/scripts/maps/MauvilleCity_House1.inc
+++ b/data/scripts/maps/MauvilleCity_House1.inc
@@ -5,7 +5,7 @@ MauvilleCity_House1_EventScript_1569FD:: @ 81569FD
lock
faceplayer
checkflag 107
- jumpeq MauvilleCity_House1_EventScript_156A29
+ goto_if_eq MauvilleCity_House1_EventScript_156A29
msgbox MauvilleCity_House1_Text_181B1A, 4
giveitem ITEM_HM06
setflag 107
diff --git a/data/scripts/maps/MauvilleCity_House2.inc b/data/scripts/maps/MauvilleCity_House2.inc
index 8a73af034..a500a246e 100644
--- a/data/scripts/maps/MauvilleCity_House2.inc
+++ b/data/scripts/maps/MauvilleCity_House2.inc
@@ -5,25 +5,25 @@ MauvilleCity_House2_EventScript_1572C0:: @ 81572C0
lock
faceplayer
checkflag 258
- jumpeq MauvilleCity_House2_EventScript_15733D
+ goto_if_eq MauvilleCity_House2_EventScript_15733D
msgbox MauvilleCity_House2_Text_18244E, 4
checkitem ITEM_HARBOR_MAIL, 1
compare RESULT, 1
- jumpeq MauvilleCity_House2_EventScript_1572E5
+ goto_if_eq MauvilleCity_House2_EventScript_1572E5
release
end
MauvilleCity_House2_EventScript_1572E5:: @ 81572E5
- playsfx 21
- move LAST_TALKED, MauvilleCity_House2_Movement_1A0833
- waitmove 0
- move LAST_TALKED, MauvilleCity_House2_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement LAST_TALKED, MauvilleCity_House2_Movement_1A0833
+ waitmovement 0
+ applymovement LAST_TALKED, MauvilleCity_House2_Movement_1A0835
+ waitmovement 0
msgbox MauvilleCity_House2_Text_1824D8, 5
compare RESULT, 1
- jumpeq MauvilleCity_House2_EventScript_15731B
+ goto_if_eq MauvilleCity_House2_EventScript_15731B
compare RESULT, 0
- jumpeq MauvilleCity_House2_EventScript_157347
+ goto_if_eq MauvilleCity_House2_EventScript_157347
end
MauvilleCity_House2_EventScript_15731B:: @ 815731B
@@ -31,7 +31,7 @@ MauvilleCity_House2_EventScript_15731B:: @ 815731B
removeitem ITEM_HARBOR_MAIL, 1
giveitem ITEM_COIN_CASE
setflag 258
- jump MauvilleCity_House2_EventScript_15733D
+ goto MauvilleCity_House2_EventScript_15733D
end
MauvilleCity_House2_EventScript_15733D:: @ 815733D
diff --git a/data/scripts/maps/MauvilleCity_Mart.inc b/data/scripts/maps/MauvilleCity_Mart.inc
index fac5906ad..0dd66eddf 100644
--- a/data/scripts/maps/MauvilleCity_Mart.inc
+++ b/data/scripts/maps/MauvilleCity_Mart.inc
@@ -5,7 +5,7 @@ MauvilleCity_Mart_EventScript_1573BE:: @ 81573BE
lock
faceplayer
message MauvilleCity_Mart_Text_1A0BE4
- waittext
+ waitmessage
pokemart MauvilleCity_Mart_Items
msgbox MauvilleCity_Mart_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc
index b2b5dabd4..7122b8c3c 100644
--- a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc
@@ -5,7 +5,7 @@ MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8157351
MauvilleCity_PokemonCenter_1F_MapScript1_157357:: @ 8157357
sethealplace 5
call MauvilleCity_PokemonCenter_1F_EventScript_19FD1B
- jump MauvilleCity_PokemonCenter_1F_EventScript_157365
+ goto MauvilleCity_PokemonCenter_1F_EventScript_157365
end
MauvilleCity_PokemonCenter_1F_EventScript_157365:: @ 8157365
@@ -15,7 +15,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_157365:: @ 8157365
MauvilleCity_PokemonCenter_1F_EventScript_157369:: @ 8157369
setvar 0x800b, 1
call MauvilleCity_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/MeteorFalls_1F_1R.inc b/data/scripts/maps/MeteorFalls_1F_1R.inc
index 3e7155955..06abbc8f6 100644
--- a/data/scripts/maps/MeteorFalls_1F_1R.inc
+++ b/data/scripts/maps/MeteorFalls_1F_1R.inc
@@ -8,75 +8,75 @@ MeteorFalls_1F_1R_MapScript1_15C496:: @ 815C496
MeteorFalls_1F_1R_EventScript_15C49C:: @ 815C49C
lockall
- move 255, MeteorFalls_1F_1R_Movement_1A0845
- waitmove 0
- pause 30
- move 5, MeteorFalls_1F_1R_Movement_1A0845
- waitmove 0
+ applymovement 255, MeteorFalls_1F_1R_Movement_1A0845
+ waitmovement 0
+ delay 30
+ applymovement 5, MeteorFalls_1F_1R_Movement_1A0845
+ waitmovement 0
msgbox MeteorFalls_1F_1R_Text_193237, 4
- closebutton
- move 5, MeteorFalls_1F_1R_Movement_1A0841
- move 6, MeteorFalls_1F_1R_Movement_1A0841
- waitmove 0
- playsfx 21
- move 5, MeteorFalls_1F_1R_Movement_1A0833
- waitmove 0
- move 5, MeteorFalls_1F_1R_Movement_1A0835
- waitmove 0
+ closemessage
+ applymovement 5, MeteorFalls_1F_1R_Movement_1A0841
+ applymovement 6, MeteorFalls_1F_1R_Movement_1A0841
+ waitmovement 0
+ playse 21
+ applymovement 5, MeteorFalls_1F_1R_Movement_1A0833
+ waitmovement 0
+ applymovement 5, MeteorFalls_1F_1R_Movement_1A0835
+ waitmovement 0
msgbox MeteorFalls_1F_1R_Text_193268, 4
- closebutton
- move 5, MeteorFalls_1F_1R_Movement_15C5EE
- waitmove 0
+ closemessage
+ applymovement 5, MeteorFalls_1F_1R_Movement_15C5EE
+ waitmovement 0
msgbox MeteorFalls_1F_1R_Text_1932C5, 4
- closebutton
- move 255, MeteorFalls_1F_1R_Movement_1A083F
- move 5, MeteorFalls_1F_1R_Movement_1A083F
- move 6, MeteorFalls_1F_1R_Movement_1A083F
- waitmove 0
- reappear 7
- reappear 8
- reappear 9
- move 7, MeteorFalls_1F_1R_Movement_15C608
- move 8, MeteorFalls_1F_1R_Movement_15C60F
- move 9, MeteorFalls_1F_1R_Movement_15C617
- waitmove 0
- move 5, MeteorFalls_1F_1R_Movement_1A083F
- move 6, MeteorFalls_1F_1R_Movement_1A083F
- waitmove 0
+ closemessage
+ applymovement 255, MeteorFalls_1F_1R_Movement_1A083F
+ applymovement 5, MeteorFalls_1F_1R_Movement_1A083F
+ applymovement 6, MeteorFalls_1F_1R_Movement_1A083F
+ waitmovement 0
+ addobject 7
+ addobject 8
+ addobject 9
+ applymovement 7, MeteorFalls_1F_1R_Movement_15C608
+ applymovement 8, MeteorFalls_1F_1R_Movement_15C60F
+ applymovement 9, MeteorFalls_1F_1R_Movement_15C617
+ waitmovement 0
+ applymovement 5, MeteorFalls_1F_1R_Movement_1A083F
+ applymovement 6, MeteorFalls_1F_1R_Movement_1A083F
+ waitmovement 0
msgbox MeteorFalls_1F_1R_Text_193320, 4
- closebutton
- move 255, MeteorFalls_1F_1R_Movement_15C64F
- move 5, MeteorFalls_1F_1R_Movement_15C5F1
- move 6, MeteorFalls_1F_1R_Movement_15C5FC
- waitmove 0
- disappear 5
- disappear 6
- move 7, MeteorFalls_1F_1R_Movement_15C628
- waitmove 0
+ closemessage
+ applymovement 255, MeteorFalls_1F_1R_Movement_15C64F
+ applymovement 5, MeteorFalls_1F_1R_Movement_15C5F1
+ applymovement 6, MeteorFalls_1F_1R_Movement_15C5FC
+ waitmovement 0
+ removeobject 5
+ removeobject 6
+ applymovement 7, MeteorFalls_1F_1R_Movement_15C628
+ waitmovement 0
.ifdef SAPPHIRE
msgbox MeteorFalls_1F_1R_Text_1933EC, 4
.else
msgbox MeteorFalls_1F_1R_Text_193584, 4
.endif
- closebutton
- move 8, MeteorFalls_1F_1R_Movement_15C639
- move 9, MeteorFalls_1F_1R_Movement_15C64A
- waitmove 0
+ closemessage
+ applymovement 8, MeteorFalls_1F_1R_Movement_15C639
+ applymovement 9, MeteorFalls_1F_1R_Movement_15C64A
+ waitmovement 0
msgbox MeteorFalls_1F_1R_Text_193720, 4
- move 7, MeteorFalls_1F_1R_Movement_1A0845
- waitmove 0
+ applymovement 7, MeteorFalls_1F_1R_Movement_1A0845
+ waitmovement 0
msgbox MeteorFalls_1F_1R_Text_193747, 4
- move 7, MeteorFalls_1F_1R_Movement_1A083F
- waitmove 0
+ applymovement 7, MeteorFalls_1F_1R_Movement_1A083F
+ waitmovement 0
msgbox MeteorFalls_1F_1R_Text_1937AA, 4
- closebutton
- move 7, MeteorFalls_1F_1R_Movement_15C61F
- move 8, MeteorFalls_1F_1R_Movement_15C62E
- move 9, MeteorFalls_1F_1R_Movement_15C63E
- waitmove 0
- disappear 7
- disappear 8
- disappear 9
+ closemessage
+ applymovement 7, MeteorFalls_1F_1R_Movement_15C61F
+ applymovement 8, MeteorFalls_1F_1R_Movement_15C62E
+ applymovement 9, MeteorFalls_1F_1R_Movement_15C63E
+ waitmovement 0
+ removeobject 7
+ removeobject 8
+ removeobject 9
setflag 819
setvar 0x40bf, 1
releaseall
@@ -216,7 +216,7 @@ MeteorFalls_1F_1R_EventScript_15C656:: @ 815C656
lock
faceplayer
checkflag 244
- jumpeq MeteorFalls_1F_1R_EventScript_15C66E
+ goto_if_eq MeteorFalls_1F_1R_EventScript_15C66E
setflag 244
msgbox MeteorFalls_1F_1R_Text_1937EB, 4
release
diff --git a/data/scripts/maps/MeteorFalls_1F_2R.inc b/data/scripts/maps/MeteorFalls_1F_2R.inc
index 8e45c34ae..b3a0c51fe 100644
--- a/data/scripts/maps/MeteorFalls_1F_2R.inc
+++ b/data/scripts/maps/MeteorFalls_1F_2R.inc
@@ -3,9 +3,9 @@ MeteorFalls_1F_2R_MapScripts:: @ 815C678
MeteorFalls_1F_2R_EventScript_15C679:: @ 815C679
trainerbattle 0, OPPONENT_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_1939C5, MeteorFalls_1F_2R_Text_193A35
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq MeteorFalls_1F_2R_EventScript_15C6A0
+ goto_if_eq MeteorFalls_1F_2R_EventScript_15C6A0
msgbox MeteorFalls_1F_2R_Text_193A60, 6
end
@@ -16,9 +16,9 @@ MeteorFalls_1F_2R_EventScript_15C6A0:: @ 815C6A0
MeteorFalls_1F_2R_EventScript_15C6B7:: @ 815C6B7
trainerbattle 4, OPPONENT_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_193BB7, MeteorFalls_1F_2R_Text_193C10, MeteorFalls_1F_2R_Text_193C9F
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq MeteorFalls_1F_2R_EventScript_15C6E2
+ goto_if_eq MeteorFalls_1F_2R_EventScript_15C6E2
msgbox MeteorFalls_1F_2R_Text_193C35, 6
end
@@ -29,9 +29,9 @@ MeteorFalls_1F_2R_EventScript_15C6E2:: @ 815C6E2
MeteorFalls_1F_2R_EventScript_15C6FD:: @ 815C6FD
trainerbattle 4, OPPONENT_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_193D10, MeteorFalls_1F_2R_Text_193D6E, MeteorFalls_1F_2R_Text_193DFB
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq MeteorFalls_1F_2R_EventScript_15C728
+ goto_if_eq MeteorFalls_1F_2R_EventScript_15C728
msgbox MeteorFalls_1F_2R_Text_193D9A, 6
end
diff --git a/data/scripts/maps/MossdeepCity.inc b/data/scripts/maps/MossdeepCity.inc
index ddb317364..44deb9d63 100644
--- a/data/scripts/maps/MossdeepCity.inc
+++ b/data/scripts/maps/MossdeepCity.inc
@@ -8,7 +8,7 @@ MossdeepCity_MapScript1_14CF98:: @ 814CF98
clearflag 102
clearflag 103
checkflag 2090
- callif 1, MossdeepCity_EventScript_1A02C1
+ call_if 1, MossdeepCity_EventScript_1A02C1
end
MossdeepCity_EventScript_14CFAE:: @ 814CFAE
@@ -60,8 +60,8 @@ MossdeepCity_EventScript_14D011:: @ 814D011
lock
faceplayer
msgbox MossdeepCity_Text_16944E, 4
- move LAST_TALKED, MossdeepCity_Movement_1A083D
- waitmove 0
+ applymovement LAST_TALKED, MossdeepCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -69,14 +69,14 @@ MossdeepCity_EventScript_14D027:: @ 814D027
lock
faceplayer
checkflag 276
- jumpeq MossdeepCity_EventScript_14D069
+ goto_if_eq MossdeepCity_EventScript_14D069
msgbox MossdeepCity_Text_1690A9, 5
compare RESULT, 0
- jumpeq MossdeepCity_EventScript_14D073
+ goto_if_eq MossdeepCity_EventScript_14D073
msgbox MossdeepCity_Text_169117, 4
giveitem ITEM_KINGS_ROCK
compare RESULT, 0
- jumpeq MossdeepCity_EventScript_1A029B
+ goto_if_eq MossdeepCity_EventScript_1A029B
setflag 276
release
end
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
index 59669596a..cef02df2c 100644
--- a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
+++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
@@ -5,9 +5,9 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 815AC52
.byte 0
MossdeepCity_GameCorner_1F_MapScript1_15AC62:: @ 815AC62
- special sub_813601C
+ special ValidateEReaderTrainer
compare RESULT, 1
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15AC71
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC71
end
MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71
@@ -16,22 +16,22 @@ MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71
return
MossdeepCity_GameCorner_1F_MapScript1_15AC84:: @ 815AC84
- special sub_813601C
+ special ValidateEReaderTrainer
compare RESULT, 0
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E
compare 0x40c0, 0
- callif 5, MossdeepCity_GameCorner_1F_EventScript_15ACAF
+ call_if 5, MossdeepCity_GameCorner_1F_EventScript_15ACAF
end
MossdeepCity_GameCorner_1F_EventScript_15AC9E:: @ 815AC9E
setvar 0x4001, 1
- movespriteperm 1, 3, 2
- spritebehave 1, 8
+ setobjectxyperm 1, 3, 2
+ setobjectmovementtype 1, 8
return
MossdeepCity_GameCorner_1F_EventScript_15ACAF:: @ 815ACAF
- movespriteperm 1, 2, 2
- spritebehave 1, 10
+ setobjectxyperm 1, 2, 2
+ setobjectmovementtype 1, 10
return
MossdeepCity_GameCorner_1F_MapScript2_15ACBB:: @ 815ACBB
@@ -42,19 +42,19 @@ MossdeepCity_GameCorner_1F_MapScript2_15ACBB:: @ 815ACBB
MossdeepCity_GameCorner_1F_EventScript_15ACD5:: @ 815ACD5
lockall
- move 255, MossdeepCity_GameCorner_1F_Movement_15AD3D
- waitmove 0
- move 1, MossdeepCity_GameCorner_1F_Movement_15AD3F
- waitmove 0
- moveoffscreen 1
- move 255, MossdeepCity_GameCorner_1F_Movement_1A0841
- waitmove 0
+ applymovement 255, MossdeepCity_GameCorner_1F_Movement_15AD3D
+ waitmovement 0
+ applymovement 1, MossdeepCity_GameCorner_1F_Movement_15AD3F
+ waitmovement 0
+ moveobjectoffscreen 1
+ applymovement 255, MossdeepCity_GameCorner_1F_Movement_1A0841
+ waitmovement 0
compare 0x40c0, 1
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD22
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD22
compare 0x40c0, 2
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD2B
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD2B
compare 0x40c0, 3
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD34
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD34
special LoadPlayerParty
setvar 0x40c0, 0
releaseall
@@ -85,7 +85,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AD42:: @ 815AD42
lock
faceplayer
compare 0x4001, 1
- jumpeq MossdeepCity_GameCorner_1F_EventScript_15AD59
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15AD59
msgbox MossdeepCity_GameCorner_1F_Text_18E59A, 4
release
end
@@ -95,28 +95,28 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59
special sub_810F414
msgbox MossdeepCity_GameCorner_1F_Text_18E650, 5
compare RESULT, 0
- jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8
call MossdeepCity_GameCorner_1F_EventScript_15ADF5
compare RESULT, 0
- jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8
msgbox MossdeepCity_GameCorner_1F_Text_18E741, 5
compare RESULT, 0
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8
special LoadPlayerParty
call S_DoSaveDialog
compare RESULT, 0
- jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8
- hidebox 0, 0, 15, 10
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8
+ erasebox 0, 0, 15, 10
special SavePlayerParty
special ReducePlayerPartyToThree
msgbox MossdeepCity_GameCorner_1F_Text_18E777, 4
- closebutton
+ closemessage
compare FACING, 2
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15AE04
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE04
compare FACING, 4
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15AE16
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE16
compare FACING, 3
- callif 1, MossdeepCity_GameCorner_1F_EventScript_15AE28
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE28
warp MossdeepCity_GameCorner_B1F, 255, 3, 1
waitstate
release
@@ -136,21 +136,21 @@ MossdeepCity_GameCorner_1F_EventScript_15ADF5:: @ 815ADF5
return
MossdeepCity_GameCorner_1F_EventScript_15AE04:: @ 815AE04
- move LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE46
- move 255, MossdeepCity_GameCorner_1F_Movement_15AE3A
- waitmove 0
+ applymovement LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE46
+ applymovement 255, MossdeepCity_GameCorner_1F_Movement_15AE3A
+ waitmovement 0
return
MossdeepCity_GameCorner_1F_EventScript_15AE16:: @ 815AE16
- move LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE49
- move 255, MossdeepCity_GameCorner_1F_Movement_15AE3E
- waitmove 0
+ applymovement LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE49
+ applymovement 255, MossdeepCity_GameCorner_1F_Movement_15AE3E
+ waitmovement 0
return
MossdeepCity_GameCorner_1F_EventScript_15AE28:: @ 815AE28
- move LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE46
- move 255, MossdeepCity_GameCorner_1F_Movement_15AE42
- waitmove 0
+ applymovement LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE46
+ applymovement 255, MossdeepCity_GameCorner_1F_Movement_15AE42
+ waitmovement 0
return
MossdeepCity_GameCorner_1F_Movement_15AE3A:: @ 815AE3A
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
index c7d1201fd..11b3ce7a3 100644
--- a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
+++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
@@ -4,7 +4,7 @@ MossdeepCity_GameCorner_B1F_MapScripts:: @ 815AE55
.byte 0
MossdeepCity_GameCorner_B1F_MapScript1_15AE60:: @ 815AE60
- special sub_8134AB4
+ special SetEReaderTrainerGfxId
end
MossdeepCity_GameCorner_B1F_MapScript2_15AE64:: @ 815AE64
@@ -13,25 +13,25 @@ MossdeepCity_GameCorner_B1F_MapScript2_15AE64:: @ 815AE64
MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E
lockall
- move 255, MossdeepCity_GameCorner_B1F_Movement_15AEF9
- waitmove 0
- special sub_81360C0
+ applymovement 255, MossdeepCity_GameCorner_B1F_Movement_15AEF9
+ waitmovement 0
+ special PrintEReaderTrainerGreeting
msgbox 0x20234cc, 4
- closebutton
+ closemessage
setvar 0x8004, 2
setvar 0x8005, 0
special sub_813556C
waitstate
compare RESULT, 3
- callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AED5
+ call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AED5
compare RESULT, 1
- callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AEE3
+ call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AEE3
compare RESULT, 2
- callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AEEE
- closebutton
+ call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AEEE
+ closemessage
special ScrSpecial_HealPlayerParty
- move 255, MossdeepCity_GameCorner_B1F_Movement_15AEFF
- waitmove 0
+ applymovement 255, MossdeepCity_GameCorner_B1F_Movement_15AEFF
+ waitmovement 0
special LoadPlayerParty
setvar 0x4001, 1
warp MossdeepCity_GameCorner_1F, 255, 3, 1
@@ -47,14 +47,14 @@ MossdeepCity_GameCorner_B1F_EventScript_15AED5:: @ 815AED5
MossdeepCity_GameCorner_B1F_EventScript_15AEE3:: @ 815AEE3
setvar 0x40c0, 1
special ShowFieldMessageStringVar4
- waittext
+ waitmessage
waitbutton
return
MossdeepCity_GameCorner_B1F_EventScript_15AEEE:: @ 815AEEE
setvar 0x40c0, 2
special ShowFieldMessageStringVar4
- waittext
+ waitmessage
waitbutton
return
diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc
index 20f43a150..944860f2d 100644
--- a/data/scripts/maps/MossdeepCity_Gym.inc
+++ b/data/scripts/maps/MossdeepCity_Gym.inc
@@ -4,43 +4,43 @@ MossdeepCity_Gym_MapScripts:: @ 815A4D3
MossdeepCity_Gym_MapScript1_15A4D9:: @ 815A4D9
checkflag 100
- jumpeq MossdeepCity_Gym_EventScript_15A510
- jump MossdeepCity_Gym_EventScript_15A4E8
+ goto_if_eq MossdeepCity_Gym_EventScript_15A510
+ goto MossdeepCity_Gym_EventScript_15A4E8
end
MossdeepCity_Gym_EventScript_15A4E8:: @ 815A4E8
checkflag 101
- jumpeq MossdeepCity_Gym_EventScript_15A528
- jump MossdeepCity_Gym_EventScript_15A4F7
+ goto_if_eq MossdeepCity_Gym_EventScript_15A528
+ goto MossdeepCity_Gym_EventScript_15A4F7
end
MossdeepCity_Gym_EventScript_15A4F7:: @ 815A4F7
checkflag 102
- jumpeq MossdeepCity_Gym_EventScript_15A540
- jump MossdeepCity_Gym_EventScript_15A506
+ goto_if_eq MossdeepCity_Gym_EventScript_15A540
+ goto MossdeepCity_Gym_EventScript_15A506
end
MossdeepCity_Gym_EventScript_15A506:: @ 815A506
checkflag 103
- jumpeq MossdeepCity_Gym_EventScript_15A558
+ goto_if_eq MossdeepCity_Gym_EventScript_15A558
end
MossdeepCity_Gym_EventScript_15A510:: @ 815A510
setmaptile 5, 5, 516, 0
setmaptile 2, 7, 569, 1
- jump MossdeepCity_Gym_EventScript_15A4E8
+ goto MossdeepCity_Gym_EventScript_15A4E8
end
MossdeepCity_Gym_EventScript_15A528:: @ 815A528
setmaptile 8, 14, 516, 0
setmaptile 8, 10, 569, 1
- jump MossdeepCity_Gym_EventScript_15A4F7
+ goto MossdeepCity_Gym_EventScript_15A4F7
end
MossdeepCity_Gym_EventScript_15A540:: @ 815A540
setmaptile 15, 17, 524, 0
setmaptile 17, 15, 569, 1
- jump MossdeepCity_Gym_EventScript_15A506
+ goto MossdeepCity_Gym_EventScript_15A506
end
MossdeepCity_Gym_EventScript_15A558:: @ 815A558
@@ -51,14 +51,14 @@ MossdeepCity_Gym_EventScript_15A558:: @ 815A558
MossdeepCity_Gym_EventScript_15A56B:: @ 815A56B
trainerbattle 8, OPPONENT_TATE_AND_LIZA, 0, MossdeepCity_Gym_Text_18CF02, MossdeepCity_Gym_Text_18D077, MossdeepCity_Gym_Text_18D324, MossdeepCity_Gym_EventScript_15A594
checkflag 171
- jumpif 0, MossdeepCity_Gym_EventScript_15A5C6
+ goto_if 0, MossdeepCity_Gym_EventScript_15A5C6
msgbox MossdeepCity_Gym_Text_18D273, 4
release
end
MossdeepCity_Gym_EventScript_15A594:: @ 815A594
message MossdeepCity_Gym_Text_18D0F9
- waittext
+ waitmessage
call MossdeepCity_Gym_EventScript_1A02C5
msgbox MossdeepCity_Gym_Text_18D128, 4
setflag 1229
@@ -68,13 +68,13 @@ MossdeepCity_Gym_EventScript_15A594:: @ 815A594
setvar 0x8008, 7
call MossdeepCity_Gym_EventScript_1A01C0
clearflag 905
- jump MossdeepCity_Gym_EventScript_15A5C6
+ goto MossdeepCity_Gym_EventScript_15A5C6
end
MossdeepCity_Gym_EventScript_15A5C6:: @ 815A5C6
giveitem ITEM_TM04
compare RESULT, 0
- jumpeq MossdeepCity_Gym_EventScript_1A029B
+ goto_if_eq MossdeepCity_Gym_EventScript_1A029B
msgbox MossdeepCity_Gym_Text_18D1CF, 4
setflag 171
release
@@ -83,91 +83,91 @@ MossdeepCity_Gym_EventScript_15A5C6:: @ 815A5C6
MossdeepCity_Gym_EventScript_15A5EA:: @ 815A5EA
lockall
checkflag 100
- jumpeq MossdeepCity_Gym_EventScript_15A621
+ goto_if_eq MossdeepCity_Gym_EventScript_15A621
setflag 100
- move 255, MossdeepCity_Gym_Movement_15A7F7
- waitmove 0
+ applymovement 255, MossdeepCity_Gym_Movement_15A7F7
+ waitmovement 0
setmaptile 5, 5, 516, 0
setmaptile 2, 7, 569, 1
- jump MossdeepCity_Gym_EventScript_15A619
+ goto MossdeepCity_Gym_EventScript_15A619
end
MossdeepCity_Gym_EventScript_15A619:: @ 815A619
special DrawWholeMapView
- playsfx 36
+ playse 36
releaseall
end
MossdeepCity_Gym_EventScript_15A621:: @ 815A621
clearflag 100
- move 255, MossdeepCity_Gym_Movement_15A7F7
- waitmove 0
+ applymovement 255, MossdeepCity_Gym_Movement_15A7F7
+ waitmovement 0
setmaptile 5, 5, 524, 0
setmaptile 2, 7, 568, 1
- jump MossdeepCity_Gym_EventScript_15A619
+ goto MossdeepCity_Gym_EventScript_15A619
end
MossdeepCity_Gym_EventScript_15A646:: @ 815A646
lockall
checkflag 101
- jumpeq MossdeepCity_Gym_EventScript_15A675
+ goto_if_eq MossdeepCity_Gym_EventScript_15A675
setflag 101
- move 255, MossdeepCity_Gym_Movement_15A7F7
- waitmove 0
+ applymovement 255, MossdeepCity_Gym_Movement_15A7F7
+ waitmovement 0
setmaptile 8, 14, 516, 0
setmaptile 8, 10, 569, 1
- jump MossdeepCity_Gym_EventScript_15A619
+ goto MossdeepCity_Gym_EventScript_15A619
end
MossdeepCity_Gym_EventScript_15A675:: @ 815A675
clearflag 101
- move 255, MossdeepCity_Gym_Movement_15A7F7
- waitmove 0
+ applymovement 255, MossdeepCity_Gym_Movement_15A7F7
+ waitmovement 0
setmaptile 8, 14, 517, 0
setmaptile 8, 10, 568, 1
- jump MossdeepCity_Gym_EventScript_15A619
+ goto MossdeepCity_Gym_EventScript_15A619
end
MossdeepCity_Gym_EventScript_15A69A:: @ 815A69A
lockall
checkflag 102
- jumpeq MossdeepCity_Gym_EventScript_15A6C9
+ goto_if_eq MossdeepCity_Gym_EventScript_15A6C9
setflag 102
- move 255, MossdeepCity_Gym_Movement_15A7F7
- waitmove 0
+ applymovement 255, MossdeepCity_Gym_Movement_15A7F7
+ waitmovement 0
setmaptile 15, 17, 524, 0
setmaptile 17, 15, 569, 1
- jump MossdeepCity_Gym_EventScript_15A619
+ goto MossdeepCity_Gym_EventScript_15A619
end
MossdeepCity_Gym_EventScript_15A6C9:: @ 815A6C9
clearflag 102
- move 255, MossdeepCity_Gym_Movement_15A7F7
- waitmove 0
+ applymovement 255, MossdeepCity_Gym_Movement_15A7F7
+ waitmovement 0
setmaptile 15, 17, 516, 0
setmaptile 17, 15, 568, 1
- jump MossdeepCity_Gym_EventScript_15A619
+ goto MossdeepCity_Gym_EventScript_15A619
end
MossdeepCity_Gym_EventScript_15A6EE:: @ 815A6EE
lockall
checkflag 103
- jumpeq MossdeepCity_Gym_EventScript_15A71D
+ goto_if_eq MossdeepCity_Gym_EventScript_15A71D
setflag 103
- move 255, MossdeepCity_Gym_Movement_15A7F7
- waitmove 0
+ applymovement 255, MossdeepCity_Gym_Movement_15A7F7
+ waitmovement 0
setmaptile 1, 23, 525, 0
setmaptile 5, 24, 569, 1
- jump MossdeepCity_Gym_EventScript_15A619
+ goto MossdeepCity_Gym_EventScript_15A619
end
MossdeepCity_Gym_EventScript_15A71D:: @ 815A71D
clearflag 103
- move 255, MossdeepCity_Gym_Movement_15A7F7
- waitmove 0
+ applymovement 255, MossdeepCity_Gym_Movement_15A7F7
+ waitmovement 0
setmaptile 1, 23, 516, 0
setmaptile 5, 24, 568, 1
- jump MossdeepCity_Gym_EventScript_15A619
+ goto MossdeepCity_Gym_EventScript_15A619
end
MossdeepCity_Gym_EventScript_15A742:: @ 815A742
@@ -211,7 +211,7 @@ MossdeepCity_Gym_EventScript_15A7D8:: @ 815A7D8
lock
faceplayer
checkflag 1229
- jumpeq MossdeepCity_Gym_EventScript_15A7ED
+ goto_if_eq MossdeepCity_Gym_EventScript_15A7ED
msgbox MossdeepCity_Gym_Text_18C7E3, 4
release
end
@@ -229,15 +229,15 @@ MossdeepCity_Gym_Movement_15A7F7:: @ 815A7F7
MossdeepCity_Gym_EventScript_15A7FA:: @ 815A7FA
lockall
checkflag 2061
- jumpeq MossdeepCity_Gym_EventScript_15A81A
- jump MossdeepCity_Gym_EventScript_15A824
+ goto_if_eq MossdeepCity_Gym_EventScript_15A81A
+ goto MossdeepCity_Gym_EventScript_15A824
end
MossdeepCity_Gym_EventScript_15A80A:: @ 815A80A
lockall
checkflag 2061
- jumpeq MossdeepCity_Gym_EventScript_15A81A
- jump MossdeepCity_Gym_EventScript_15A824
+ goto_if_eq MossdeepCity_Gym_EventScript_15A81A
+ goto MossdeepCity_Gym_EventScript_15A824
end
MossdeepCity_Gym_EventScript_15A81A:: @ 815A81A
diff --git a/data/scripts/maps/MossdeepCity_House1.inc b/data/scripts/maps/MossdeepCity_House1.inc
index 319dfba8e..62edffc8b 100644
--- a/data/scripts/maps/MossdeepCity_House1.inc
+++ b/data/scripts/maps/MossdeepCity_House1.inc
@@ -4,11 +4,11 @@ MossdeepCity_House1_MapScripts:: @ 815A82E
MossdeepCity_House1_EventScript_15A82F:: @ 815A82F
lock
faceplayer
- bufferfirstpoke 0
+ getfirstpartypokename 0
msgbox MossdeepCity_House1_Text_18D465, 4
- specialval RESULT, GetPokeblockNameByMonNature
+ specialvar RESULT, GetPokeblockNameByMonNature
compare RESULT, 0
- jumpeq MossdeepCity_House1_EventScript_15A855
+ goto_if_eq MossdeepCity_House1_EventScript_15A855
msgbox MossdeepCity_House1_Text_18D475, 4
release
end
diff --git a/data/scripts/maps/MossdeepCity_House2.inc b/data/scripts/maps/MossdeepCity_House2.inc
index f3d07b64e..f7f66b843 100644
--- a/data/scripts/maps/MossdeepCity_House2.inc
+++ b/data/scripts/maps/MossdeepCity_House2.inc
@@ -12,29 +12,29 @@ MossdeepCity_House2_EventScript_15A872:: @ 815A872
MossdeepCity_House2_EventScript_15A87B:: @ 815A87B
lock
faceplayer
- checksound
- pokecry SPECIES_WINGULL, 0
+ waitse
+ playpokecry SPECIES_WINGULL, 0
msgbox MossdeepCity_House2_Text_18D61E, 4
waitpokecry
- closebutton
+ closemessage
setflag 224
clearflag 933
compare FACING, 2
- callif 1, MossdeepCity_House2_EventScript_15A8AE
+ call_if 1, MossdeepCity_House2_EventScript_15A8AE
compare FACING, 3
- callif 1, MossdeepCity_House2_EventScript_15A8B9
- disappear 3
+ call_if 1, MossdeepCity_House2_EventScript_15A8B9
+ removeobject 3
release
end
MossdeepCity_House2_EventScript_15A8AE:: @ 815A8AE
- move 3, MossdeepCity_House2_Movement_15A8C4
- waitmove 0
+ applymovement 3, MossdeepCity_House2_Movement_15A8C4
+ waitmovement 0
return
MossdeepCity_House2_EventScript_15A8B9:: @ 815A8B9
- move 3, MossdeepCity_House2_Movement_15A8CB
- waitmove 0
+ applymovement 3, MossdeepCity_House2_Movement_15A8CB
+ waitmovement 0
return
MossdeepCity_House2_Movement_15A8C4:: @ 815A8C4
diff --git a/data/scripts/maps/MossdeepCity_House3.inc b/data/scripts/maps/MossdeepCity_House3.inc
index fd97ee598..8f9bf4dc5 100644
--- a/data/scripts/maps/MossdeepCity_House3.inc
+++ b/data/scripts/maps/MossdeepCity_House3.inc
@@ -5,10 +5,10 @@ MossdeepCity_House3_EventScript_15A972:: @ 815A972
lock
faceplayer
checkflag 152
- jumpeq MossdeepCity_House3_EventScript_15A9B1
+ goto_if_eq MossdeepCity_House3_EventScript_15A9B1
msgbox MossdeepCity_House3_Text_18D909, 5
compare RESULT, 0
- jumpeq MossdeepCity_House3_EventScript_15A9BB
+ goto_if_eq MossdeepCity_House3_EventScript_15A9BB
msgbox MossdeepCity_House3_Text_18D9A9, 4
giveitem ITEM_SUPER_ROD
setflag 152
diff --git a/data/scripts/maps/MossdeepCity_House4.inc b/data/scripts/maps/MossdeepCity_House4.inc
index 12dc941e7..fd173899d 100644
--- a/data/scripts/maps/MossdeepCity_House4.inc
+++ b/data/scripts/maps/MossdeepCity_House4.inc
@@ -5,7 +5,7 @@ MossdeepCity_House4_EventScript_15AB31:: @ 815AB31
lock
faceplayer
checkflag 2052
- jumpeq MossdeepCity_House4_EventScript_15AB46
+ goto_if_eq MossdeepCity_House4_EventScript_15AB46
msgbox MossdeepCity_House4_Text_18E0E3, 4
release
end
@@ -20,7 +20,7 @@ MossdeepCity_House4_EventScript_15AB50:: @ 815AB50
faceplayer
special sub_80BB63C
compare RESULT, 0
- jumpeq MossdeepCity_House4_EventScript_15AB6D
+ goto_if_eq MossdeepCity_House4_EventScript_15AB6D
special GetSecretBaseNearbyMapName
msgbox MossdeepCity_House4_Text_18E17E, 4
release
@@ -34,8 +34,8 @@ MossdeepCity_House4_EventScript_15AB6D:: @ 815AB6D
MossdeepCity_House4_EventScript_15AB77:: @ 815AB77
lock
faceplayer
- checksound
- pokecry SPECIES_SKITTY, 0
+ waitse
+ playpokecry SPECIES_SKITTY, 0
msgbox MossdeepCity_House4_Text_18E1E1, 4
waitpokecry
release
diff --git a/data/scripts/maps/MossdeepCity_Mart.inc b/data/scripts/maps/MossdeepCity_Mart.inc
index d1e861b99..ce5845c81 100644
--- a/data/scripts/maps/MossdeepCity_Mart.inc
+++ b/data/scripts/maps/MossdeepCity_Mart.inc
@@ -5,7 +5,7 @@ MossdeepCity_Mart_EventScript_15A926:: @ 815A926
lock
faceplayer
message MossdeepCity_Mart_Text_1A0BE4
- waittext
+ waitmessage
pokemart MossdeepCity_Mart_Items
msgbox MossdeepCity_Mart_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc b/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc
index 988608ffd..4ed3ea57e 100644
--- a/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc
@@ -9,7 +9,7 @@ MossdeepCity_PokemonCenter_1F_MapScript1_15A8D6:: @ 815A8D6
MossdeepCity_PokemonCenter_1F_EventScript_15A8DA:: @ 815A8DA
setvar 0x800b, 1
call MossdeepCity_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
index db31e4c62..260cb4b6e 100644
--- a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
+++ b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
@@ -4,16 +4,16 @@ MossdeepCity_SpaceCenter_1F_MapScripts:: @ 815AB8A
MossdeepCity_SpaceCenter_1F_EventScript_15AB8B:: @ 815AB8B
lock
faceplayer
- checkdailyflags
- specialval RESULT, GetWeekCount
- buffernum 0, RESULT
+ dodailyevents
+ specialvar RESULT, GetWeekCount
+ getnumberstring 0, RESULT
compare RESULT, 0
- callif 1, MossdeepCity_SpaceCenter_1F_EventScript_15ABBA
+ call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_15ABBA
compare RESULT, 1
- callif 4, MossdeepCity_SpaceCenter_1F_EventScript_15ABC3
- closebutton
- move LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D
- waitmove 0
+ call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_15ABC3
+ closemessage
+ applymovement LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D
+ waitmovement 0
release
end
@@ -33,11 +33,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_15ABD5:: @ 815ABD5
lock
faceplayer
checkflag 192
- jumpeq MossdeepCity_SpaceCenter_1F_EventScript_15AC0C
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_15AC0C
msgbox MossdeepCity_SpaceCenter_1F_Text_18E335, 4
giveitem ITEM_SUN_STONE
compare RESULT, 0
- jumpeq MossdeepCity_SpaceCenter_1F_EventScript_1A029B
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_1A029B
setflag 192
msgbox MossdeepCity_SpaceCenter_1F_Text_18E39B, 4
release
@@ -56,8 +56,8 @@ MossdeepCity_SpaceCenter_1F_EventScript_15AC1F:: @ 815AC1F
lock
faceplayer
msgbox MossdeepCity_SpaceCenter_1F_Text_18E427, 4
- closebutton
- move LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D
+ waitmovement 0
release
end
diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc
index d4477bd39..8bf899780 100644
--- a/data/scripts/maps/MossdeepCity_StevensHouse.inc
+++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc
@@ -6,7 +6,7 @@ MossdeepCity_StevensHouse_MapScripts:: @ 815A9C5
MossdeepCity_StevensHouse_MapScript1_15A9D5:: @ 815A9D5
checkflag 2052
- callif 0, MossdeepCity_StevensHouse_EventScript_15A9DF
+ call_if 0, MossdeepCity_StevensHouse_EventScript_15A9DF
end
MossdeepCity_StevensHouse_EventScript_15A9DF:: @ 815A9DF
@@ -15,12 +15,12 @@ MossdeepCity_StevensHouse_EventScript_15A9DF:: @ 815A9DF
MossdeepCity_StevensHouse_MapScript1_15A9E9:: @ 815A9E9
compare 0x40c6, 1
- callif 1, MossdeepCity_StevensHouse_EventScript_15A9F5
+ call_if 1, MossdeepCity_StevensHouse_EventScript_15A9F5
end
MossdeepCity_StevensHouse_EventScript_15A9F5:: @ 815A9F5
- movespriteperm 1, 6, 5
- spritebehave 1, 7
+ setobjectxyperm 1, 6, 5
+ setobjectmovementtype 1, 7
return
MossdeepCity_StevensHouse_MapScript2_15AA01:: @ 815AA01
@@ -29,24 +29,24 @@ MossdeepCity_StevensHouse_MapScript2_15AA01:: @ 815AA01
MossdeepCity_StevensHouse_EventScript_15AA0B:: @ 815AA0B
lockall
- move 1, MossdeepCity_StevensHouse_Movement_1A083F
- waitmove 0
- playsfx 21
- move 1, MossdeepCity_StevensHouse_Movement_1A0833
- waitmove 0
- move 1, MossdeepCity_StevensHouse_Movement_1A0835
- waitmove 0
- move 1, MossdeepCity_StevensHouse_Movement_15AA6E
- waitmove 0
+ applymovement 1, MossdeepCity_StevensHouse_Movement_1A083F
+ waitmovement 0
+ playse 21
+ applymovement 1, MossdeepCity_StevensHouse_Movement_1A0833
+ waitmovement 0
+ applymovement 1, MossdeepCity_StevensHouse_Movement_1A0835
+ waitmovement 0
+ applymovement 1, MossdeepCity_StevensHouse_Movement_15AA6E
+ waitmovement 0
msgbox MossdeepCity_StevensHouse_Text_18DA77, 4
giveitem ITEM_HM08
setflag 123
setflag 302
msgbox MossdeepCity_StevensHouse_Text_18DB22, 4
- closebutton
- pause 20
- move 1, MossdeepCity_StevensHouse_Movement_15AA76
- waitmove 0
+ closemessage
+ delay 20
+ applymovement 1, MossdeepCity_StevensHouse_Movement_15AA76
+ waitmovement 0
setvar 0x40c6, 1
releaseall
end
@@ -73,21 +73,21 @@ MossdeepCity_StevensHouse_EventScript_15AA7C:: @ 815AA7C
lockall
msgbox MossdeepCity_StevensHouse_Text_18DD12, 5
compare RESULT, 0
- jumpeq MossdeepCity_StevensHouse_EventScript_15AAE6
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_15AAE6
countpokemon
compare RESULT, 6
- jumpeq MossdeepCity_StevensHouse_EventScript_15AADC
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_15AADC
copyvar 0x8004, RESULT
- disappear 2
- fanfare 370
+ removeobject 2
+ playfanfare 370
message MossdeepCity_StevensHouse_Text_18DD61
waitfanfare
- waittext
- givepokemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0
- bufferpoke 1, SPECIES_BELDUM
+ waitmessage
+ givepoke SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0
+ getspeciesname 1, SPECIES_BELDUM
msgbox MossdeepCity_StevensHouse_Text_1A1102, 5
compare RESULT, 1
- callif 1, MossdeepCity_StevensHouse_EventScript_1A0678
+ call_if 1, MossdeepCity_StevensHouse_EventScript_1A0678
setflag 968
setflag 298
releaseall
@@ -114,7 +114,7 @@ MossdeepCity_StevensHouse_EventScript_15AAF9:: @ 815AAF9
MossdeepCity_StevensHouse_EventScript_15AB02:: @ 815AB02
lockall
checkflag 302
- jumpeq MossdeepCity_StevensHouse_EventScript_15AB16
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_15AB16
msgbox MossdeepCity_StevensHouse_Text_18DF1A, 4
releaseall
end
diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc
index fdebcf102..a8eec9a32 100644
--- a/data/scripts/maps/MtChimney.inc
+++ b/data/scripts/maps/MtChimney.inc
@@ -15,46 +15,46 @@ MtChimney_MapScript1_15CF92:: @ 815CF92
MtChimney_EventScript_15CF95:: @ 815CF95
lock
faceplayer
- showmoney 0, 0
- snop
+ showmoneybox 0, 0
+ nop
msgbox MtChimney_Text_195760, 5
compare RESULT, 0
- jumpeq MtChimney_EventScript_15D00B
+ goto_if_eq MtChimney_EventScript_15D00B
checkmoney 0xc8, 0
compare RESULT, 0
- jumpeq MtChimney_EventScript_15D018
+ goto_if_eq MtChimney_EventScript_15D018
msgbox MtChimney_Text_1957A9, 4
checkitemspace ITEM_LAVA_COOKIE, 1
compare RESULT, 1
- callif 1, MtChimney_EventScript_15D000
+ call_if 1, MtChimney_EventScript_15D000
giveitem ITEM_LAVA_COOKIE
compare RESULT, 0
- jumpeq MtChimney_EventScript_15CFF3
- hidemoney 0, 0
+ goto_if_eq MtChimney_EventScript_15CFF3
+ hidemoneybox 0, 0
release
end
MtChimney_EventScript_15CFF3:: @ 815CFF3
msgbox MtChimney_Text_1A0CC2, 4
- hidemoney 0, 0
+ hidemoneybox 0, 0
release
end
MtChimney_EventScript_15D000:: @ 815D000
- paymoney 0xc8, 0
- updatemoney 0, 0
- snop
+ takemoney 0xc8, 0
+ updatemoneybox 0, 0
+ nop
return
MtChimney_EventScript_15D00B:: @ 815D00B
msgbox MtChimney_Text_1957F7, 4
- hidemoney 0, 0
+ hidemoneybox 0, 0
release
end
MtChimney_EventScript_15D018:: @ 815D018
msgbox MtChimney_Text_1957BA, 4
- hidemoney 0, 0
+ hidemoneybox 0, 0
release
end
@@ -407,12 +407,12 @@ MtChimney_EventScript_15D174:: @ 815D174
MtChimney_EventScript_15D17D:: @ 815D17D
lockall
checkflag 139
- jumpif 0, MtChimney_EventScript_15D1D0
+ goto_if 0, MtChimney_EventScript_15D1D0
checkflag 115
- jumpeq MtChimney_EventScript_15D1C6
+ goto_if_eq MtChimney_EventScript_15D1C6
msgbox MtChimney_Text_195870, 5
compare RESULT, 0
- jumpeq MtChimney_EventScript_15D1BC
+ goto_if_eq MtChimney_EventScript_15D1BC
msgbox MtChimney_Text_1958C6, 4
giveitem ITEM_METEORITE
setflag 115
@@ -440,9 +440,9 @@ MtChimney_EventScript_15D1DA:: @ 815D1DA
MtChimney_EventScript_15D1E3:: @ 815D1E3
trainerbattle 0, OPPONENT_SHELBY_1, 0, MtChimney_Text_19597F, MtChimney_Text_1959D8
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq MtChimney_EventScript_15D20A
+ goto_if_eq MtChimney_EventScript_15D20A
msgbox MtChimney_Text_195A04, 6
end
diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc
index 24101b0cb..9d99eb5fb 100644
--- a/data/scripts/maps/MtChimney_CableCarStation.inc
+++ b/data/scripts/maps/MtChimney_CableCarStation.inc
@@ -5,12 +5,12 @@ MtChimney_CableCarStation_MapScripts:: @ 815C0FA
MtChimney_CableCarStation_MapScript1_15C105:: @ 815C105
compare 0x40a3, 1
- callif 1, MtChimney_CableCarStation_EventScript_15C111
+ call_if 1, MtChimney_CableCarStation_EventScript_15C111
end
MtChimney_CableCarStation_EventScript_15C111:: @ 815C111
- movespriteperm 1, 5, 4
- spritebehave 1, 10
+ setobjectxyperm 1, 5, 4
+ setobjectmovementtype 1, 10
return
MtChimney_CableCarStation_MapScript2_15C11D:: @ 815C11D
@@ -19,12 +19,12 @@ MtChimney_CableCarStation_MapScript2_15C11D:: @ 815C11D
MtChimney_CableCarStation_EventScript_15C127:: @ 815C127
lockall
- move 255, MtChimney_CableCarStation_Movement_15C1B4
- move 1, MtChimney_CableCarStation_Movement_15C1AA
- waitmove 0
+ applymovement 255, MtChimney_CableCarStation_Movement_15C1B4
+ applymovement 1, MtChimney_CableCarStation_Movement_15C1AA
+ waitmovement 0
setvar 0x40a3, 0
- movespriteperm 1, 6, 7
- spritebehave 1, 8
+ setobjectxyperm 1, 6, 7
+ setobjectmovementtype 1, 8
releaseall
end
@@ -33,20 +33,20 @@ MtChimney_CableCarStation_EventScript_15C14B:: @ 815C14B
faceplayer
msgbox MtChimney_CableCarStation_Text_19256A, 5
compare RESULT, 1
- jumpeq MtChimney_CableCarStation_EventScript_15C16C
+ goto_if_eq MtChimney_CableCarStation_EventScript_15C16C
compare RESULT, 0
- jumpeq MtChimney_CableCarStation_EventScript_15C19B
+ goto_if_eq MtChimney_CableCarStation_EventScript_15C19B
end
MtChimney_CableCarStation_EventScript_15C16C:: @ 815C16C
msgbox MtChimney_CableCarStation_Text_1925A9, 4
- closebutton
- move 1, MtChimney_CableCarStation_Movement_15C1A5
- move 255, MtChimney_CableCarStation_Movement_15C1AF
- waitmove 0
+ closemessage
+ applymovement 1, MtChimney_CableCarStation_Movement_15C1A5
+ applymovement 255, MtChimney_CableCarStation_Movement_15C1AF
+ waitmovement 0
setvar 0x8004, 1
setvar 0x40a3, 2
- inccounter GAME_STAT_RODE_CABLE_CAR
+ incrementgamestat GAME_STAT_RODE_CABLE_CAR
special CableCarWarp
special sub_8123218
waitstate
diff --git a/data/scripts/maps/MtPyre_1F.inc b/data/scripts/maps/MtPyre_1F.inc
index 805c4a8d3..026d54bfe 100644
--- a/data/scripts/maps/MtPyre_1F.inc
+++ b/data/scripts/maps/MtPyre_1F.inc
@@ -5,11 +5,11 @@ MtPyre_1F_EventScript_15D323:: @ 815D323
lock
faceplayer
checkflag 282
- jumpeq MtPyre_1F_EventScript_15D352
+ goto_if_eq MtPyre_1F_EventScript_15D352
msgbox MtPyre_1F_Text_196151, 4
giveitem ITEM_CLEANSE_TAG
compare RESULT, 0
- jumpeq MtPyre_1F_EventScript_1A029B
+ goto_if_eq MtPyre_1F_EventScript_1A029B
setflag 282
release
end
diff --git a/data/scripts/maps/MtPyre_2F.inc b/data/scripts/maps/MtPyre_2F.inc
index c44251af7..8d48dac84 100644
--- a/data/scripts/maps/MtPyre_2F.inc
+++ b/data/scripts/maps/MtPyre_2F.inc
@@ -6,7 +6,7 @@ MtPyre_2F_MapScripts:: @ 815D36E
MtPyre_2F_MapScript1_15D37E:: @ 815D37E
tileeffect 7
- warp5 MtPyre_1F, 255, 0, 0
+ setholewarp MtPyre_1F, 255, 0, 0
end
MtPyre_2F_EventScript_15D389:: @ 815D389
diff --git a/data/scripts/maps/MtPyre_6F.inc b/data/scripts/maps/MtPyre_6F.inc
index 657b4ef15..433b533b3 100644
--- a/data/scripts/maps/MtPyre_6F.inc
+++ b/data/scripts/maps/MtPyre_6F.inc
@@ -3,9 +3,9 @@ MtPyre_6F_MapScripts:: @ 815D447
MtPyre_6F_EventScript_15D448:: @ 815D448
trainerbattle 0, OPPONENT_VALERIE_1, 0, MtPyre_6F_Text_1969FE, MtPyre_6F_Text_196A30
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq MtPyre_6F_EventScript_15D46F
+ goto_if_eq MtPyre_6F_EventScript_15D46F
msgbox MtPyre_6F_Text_196A4C, 6
end
diff --git a/data/scripts/maps/MtPyre_Exterior.inc b/data/scripts/maps/MtPyre_Exterior.inc
index efffc7c3b..550f74d9a 100644
--- a/data/scripts/maps/MtPyre_Exterior.inc
+++ b/data/scripts/maps/MtPyre_Exterior.inc
@@ -9,7 +9,7 @@ MtPyre_Exterior_MapScript1_15D48C:: @ 815D48C
MtPyre_Exterior_EventScript_15D492:: @ 815D492
getplayerxy 0x4000, 0x4001
compare 0x4001, 12
- jumpif 0, MtPyre_Exterior_EventScript_15D4A3
+ goto_if 0, MtPyre_Exterior_EventScript_15D4A3
return
MtPyre_Exterior_EventScript_15D4A3:: @ 815D4A3
diff --git a/data/scripts/maps/MtPyre_Summit.inc b/data/scripts/maps/MtPyre_Summit.inc
index e352ac30e..533fb6e90 100644
--- a/data/scripts/maps/MtPyre_Summit.inc
+++ b/data/scripts/maps/MtPyre_Summit.inc
@@ -9,55 +9,55 @@ MtPyre_Summit_MapScript1_15D4B7:: @ 815D4B7
MtPyre_Summit_EventScript_15D4BD:: @ 815D4BD
lockall
setvar 0x8008, 0
- jump MtPyre_Summit_EventScript_15D4E1
+ goto MtPyre_Summit_EventScript_15D4E1
end
MtPyre_Summit_EventScript_15D4C9:: @ 815D4C9
lockall
setvar 0x8008, 1
- jump MtPyre_Summit_EventScript_15D4E1
+ goto MtPyre_Summit_EventScript_15D4E1
end
MtPyre_Summit_EventScript_15D4D5:: @ 815D4D5
lockall
setvar 0x8008, 2
- jump MtPyre_Summit_EventScript_15D4E1
+ goto MtPyre_Summit_EventScript_15D4E1
end
MtPyre_Summit_EventScript_15D4E1:: @ 815D4E1
- move 255, MtPyre_Summit_Movement_1A0841
- waitmove 0
- move 2, MtPyre_Summit_Movement_1A0845
- waitmove 0
- pause 50
+ applymovement 255, MtPyre_Summit_Movement_1A0841
+ waitmovement 0
+ applymovement 2, MtPyre_Summit_Movement_1A0845
+ waitmovement 0
+ delay 50
compare 0x8008, 0
- callif 1, MtPyre_Summit_EventScript_15D593
+ call_if 1, MtPyre_Summit_EventScript_15D593
compare 0x8008, 1
- callif 1, MtPyre_Summit_EventScript_15D59E
+ call_if 1, MtPyre_Summit_EventScript_15D59E
compare 0x8008, 2
- callif 1, MtPyre_Summit_EventScript_15D59F
+ call_if 1, MtPyre_Summit_EventScript_15D59F
.ifdef SAPPHIRE
msgbox UnknownString_81B52B0, 4
.else
msgbox MtPyre_Summit_Text_1B5EEC, 4
.endif
- closebutton
+ closemessage
fadescreen 1
- disappear 2
- disappear 4
- disappear 5
- disappear 6
+ removeobject 2
+ removeobject 4
+ removeobject 5
+ removeobject 6
setflag 916
setflag 917
fadescreen 0
- pause 20
+ delay 20
call MtPyre_Summit_EventScript_15D57A
compare 0x8008, 0
- callif 1, MtPyre_Summit_EventScript_15D5AA
+ call_if 1, MtPyre_Summit_EventScript_15D5AA
compare 0x8008, 1
- callif 1, MtPyre_Summit_EventScript_15D5BF
+ call_if 1, MtPyre_Summit_EventScript_15D5BF
compare 0x8008, 2
- callif 1, MtPyre_Summit_EventScript_15D5CA
+ call_if 1, MtPyre_Summit_EventScript_15D5CA
.ifdef SAPPHIRE
msgbox UnknownString_81B53AB, 4
.else
@@ -78,35 +78,35 @@ MtPyre_Summit_EventScript_15D57A:: @ 815D57A
return
MtPyre_Summit_EventScript_15D593:: @ 815D593
- move 2, MtPyre_Summit_Movement_15D5E9
- waitmove 0
+ applymovement 2, MtPyre_Summit_Movement_15D5E9
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D59E:: @ 815D59E
return
MtPyre_Summit_EventScript_15D59F:: @ 815D59F
- move 2, MtPyre_Summit_Movement_15D5EC
- waitmove 0
+ applymovement 2, MtPyre_Summit_Movement_15D5EC
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D5AA:: @ 815D5AA
- move 3, MtPyre_Summit_Movement_15D5DF
- waitmove 0
- move 255, MtPyre_Summit_Movement_1A0843
- waitmove 0
+ applymovement 3, MtPyre_Summit_Movement_15D5DF
+ waitmovement 0
+ applymovement 255, MtPyre_Summit_Movement_1A0843
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D5BF:: @ 815D5BF
- move 3, MtPyre_Summit_Movement_15D5E3
- waitmove 0
+ applymovement 3, MtPyre_Summit_Movement_15D5E3
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D5CA:: @ 815D5CA
- move 3, MtPyre_Summit_Movement_15D5E5
- waitmove 0
- move 255, MtPyre_Summit_Movement_1A083F
- waitmove 0
+ applymovement 3, MtPyre_Summit_Movement_15D5E5
+ waitmovement 0
+ applymovement 255, MtPyre_Summit_Movement_1A083F
+ waitmovement 0
return
MtPyre_Summit_Movement_15D5DF:: @ 815D5DF
@@ -144,9 +144,9 @@ MtPyre_Summit_EventScript_15D5EF:: @ 815D5EF
msgbox MtPyre_Summit_Text_1B64B3, 5
.endif
compare RESULT, 1
- callif 1, MtPyre_Summit_EventScript_15D611
+ call_if 1, MtPyre_Summit_EventScript_15D611
compare RESULT, 0
- callif 1, MtPyre_Summit_EventScript_15D61A
+ call_if 1, MtPyre_Summit_EventScript_15D61A
release
end
@@ -170,11 +170,11 @@ MtPyre_Summit_EventScript_15D623:: @ 815D623
lock
faceplayer
checkflag 259
- jumpeq MtPyre_Summit_EventScript_15D6C4
+ goto_if_eq MtPyre_Summit_EventScript_15D6C4
checkflag 113
- jumpeq MtPyre_Summit_EventScript_15D64A
+ goto_if_eq MtPyre_Summit_EventScript_15D64A
checkflag 129
- jumpeq MtPyre_Summit_EventScript_15D6BA
+ goto_if_eq MtPyre_Summit_EventScript_15D6BA
.ifdef SAPPHIRE
msgbox UnknownString_81B54BE, 4
.else
@@ -190,21 +190,21 @@ MtPyre_Summit_EventScript_15D64A:: @ 815D64A
msgbox MtPyre_Summit_Text_1B6283, 5
.endif
compare RESULT, 1
- jumpeq MtPyre_Summit_EventScript_15D669
+ goto_if_eq MtPyre_Summit_EventScript_15D669
compare RESULT, 0
- jumpeq MtPyre_Summit_EventScript_15D69B
+ goto_if_eq MtPyre_Summit_EventScript_15D69B
end
MtPyre_Summit_EventScript_15D669:: @ 815D669
setvar 0x8004, ITEM_RED_OR_BLUE_ORB
call MtPyre_Summit_EventScript_1A067F
- closebutton
- move LAST_TALKED, MtPyre_Summit_Movement_1A0841
- waitmove 0
- pause 40
- move LAST_TALKED, MtPyre_Summit_Movement_1A0839
- waitmove 0
- pause 10
+ closemessage
+ applymovement LAST_TALKED, MtPyre_Summit_Movement_1A0841
+ waitmovement 0
+ delay 40
+ applymovement LAST_TALKED, MtPyre_Summit_Movement_1A0839
+ waitmovement 0
+ delay 10
.ifdef SAPPHIRE
msgbox UnknownString_81B5762, 4
.else
@@ -221,9 +221,9 @@ MtPyre_Summit_EventScript_15D69B:: @ 815D69B
msgbox MtPyre_Summit_Text_1B62E7, 5
.endif
compare RESULT, 1
- jumpeq MtPyre_Summit_EventScript_15D669
+ goto_if_eq MtPyre_Summit_EventScript_15D669
compare RESULT, 0
- jumpeq MtPyre_Summit_EventScript_15D69B
+ goto_if_eq MtPyre_Summit_EventScript_15D69B
end
MtPyre_Summit_EventScript_15D6BA:: @ 815D6BA
@@ -247,78 +247,78 @@ MtPyre_Summit_EventScript_15D6C4:: @ 815D6C4
MtPyre_Summit_EventScript_15D6CE:: @ 815D6CE
lockall
setvar 0x8008, 0
- jump MtPyre_Summit_EventScript_15D6F2
+ goto MtPyre_Summit_EventScript_15D6F2
end
MtPyre_Summit_EventScript_15D6DA:: @ 815D6DA
lockall
setvar 0x8008, 1
- jump MtPyre_Summit_EventScript_15D6F2
+ goto MtPyre_Summit_EventScript_15D6F2
end
MtPyre_Summit_EventScript_15D6E6:: @ 815D6E6
lockall
setvar 0x8008, 2
- jump MtPyre_Summit_EventScript_15D6F2
+ goto MtPyre_Summit_EventScript_15D6F2
end
MtPyre_Summit_EventScript_15D6F2:: @ 815D6F2
- move 255, MtPyre_Summit_Movement_1A0841
- waitmove 0
- move 2, MtPyre_Summit_Movement_1A0845
- waitmove 0
- pause 50
+ applymovement 255, MtPyre_Summit_Movement_1A0841
+ waitmovement 0
+ applymovement 2, MtPyre_Summit_Movement_1A0845
+ waitmovement 0
+ delay 50
compare 0x8008, 0
- callif 1, MtPyre_Summit_EventScript_15D75E
+ call_if 1, MtPyre_Summit_EventScript_15D75E
compare 0x8008, 1
- callif 1, MtPyre_Summit_EventScript_15D769
+ call_if 1, MtPyre_Summit_EventScript_15D769
compare 0x8008, 2
- callif 1, MtPyre_Summit_EventScript_15D774
+ call_if 1, MtPyre_Summit_EventScript_15D774
.ifdef SAPPHIRE
msgbox UnknownString_81B5BFC, 4
.else
msgbox MtPyre_Summit_Text_1B6848, 4
.endif
- closebutton
+ closemessage
compare 0x8008, 0
- callif 1, MtPyre_Summit_EventScript_15D77F
+ call_if 1, MtPyre_Summit_EventScript_15D77F
compare 0x8008, 1
- callif 1, MtPyre_Summit_EventScript_15D78A
+ call_if 1, MtPyre_Summit_EventScript_15D78A
compare 0x8008, 2
- callif 1, MtPyre_Summit_EventScript_15D795
- disappear 2
+ call_if 1, MtPyre_Summit_EventScript_15D795
+ removeobject 2
setvar 0x40b9, 3
releaseall
end
MtPyre_Summit_EventScript_15D75E:: @ 815D75E
- move 2, MtPyre_Summit_Movement_15D7A0
- waitmove 0
+ applymovement 2, MtPyre_Summit_Movement_15D7A0
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D769:: @ 815D769
- move 2, MtPyre_Summit_Movement_15D7A3
- waitmove 0
+ applymovement 2, MtPyre_Summit_Movement_15D7A3
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D774:: @ 815D774
- move 2, MtPyre_Summit_Movement_15D7A4
- waitmove 0
+ applymovement 2, MtPyre_Summit_Movement_15D7A4
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D77F:: @ 815D77F
- move 2, MtPyre_Summit_Movement_15D7A7
- waitmove 0
+ applymovement 2, MtPyre_Summit_Movement_15D7A7
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D78A:: @ 815D78A
- move 2, MtPyre_Summit_Movement_15D7B0
- waitmove 0
+ applymovement 2, MtPyre_Summit_Movement_15D7B0
+ waitmovement 0
return
MtPyre_Summit_EventScript_15D795:: @ 815D795
- move 2, MtPyre_Summit_Movement_15D7B9
- waitmove 0
+ applymovement 2, MtPyre_Summit_Movement_15D7B9
+ waitmovement 0
return
MtPyre_Summit_Movement_15D7A0:: @ 815D7A0
diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc
index 547fc72e7..6429ff2f9 100644
--- a/data/scripts/maps/NewMauville_Entrance.inc
+++ b/data/scripts/maps/NewMauville_Entrance.inc
@@ -5,7 +5,7 @@ NewMauville_Entrance_MapScripts:: @ 815E48A
NewMauville_Entrance_MapScript1_15E495:: @ 815E495
compare 0x40ba, 0
- callif 1, NewMauville_Entrance_EventScript_15E4A1
+ call_if 1, NewMauville_Entrance_EventScript_15E4A1
end
NewMauville_Entrance_EventScript_15E4A1:: @ 815E4A1
@@ -23,15 +23,15 @@ NewMauville_Entrance_MapScript1_15E4D8:: @ 815E4D8
NewMauville_Entrance_EventScript_15E4DC:: @ 815E4DC
lockall
- move 255, NewMauville_Entrance_Movement_1A0841
- waitmove 0
+ applymovement 255, NewMauville_Entrance_Movement_1A0841
+ waitmovement 0
msgbox NewMauville_Entrance_Text_1982C0, 4
checkitem ITEM_BASEMENT_KEY, 1
compare RESULT, 0
- jumpeq NewMauville_Entrance_EventScript_15E55D
+ goto_if_eq NewMauville_Entrance_EventScript_15E55D
msgbox NewMauville_Entrance_Text_1982D4, 5
compare RESULT, 0
- jumpeq NewMauville_Entrance_EventScript_15E55D
+ goto_if_eq NewMauville_Entrance_EventScript_15E55D
msgbox NewMauville_Entrance_Text_1982EA, 4
setmaptile 3, 0, 707, 0
setmaptile 4, 0, 708, 0
@@ -40,7 +40,7 @@ NewMauville_Entrance_EventScript_15E4DC:: @ 815E4DC
setmaptile 4, 1, 716, 0
setmaptile 5, 1, 717, 1
special DrawWholeMapView
- playsfx 20
+ playse 20
setvar 0x40ba, 1
releaseall
end
diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc
index b088b8e7d..2d2a46ab4 100644
--- a/data/scripts/maps/NewMauville_Inside.inc
+++ b/data/scripts/maps/NewMauville_Inside.inc
@@ -6,15 +6,15 @@ NewMauville_Inside_MapScripts:: @ 815E55F
NewMauville_Inside_MapScript1_15E56F:: @ 815E56F
compare 0x4001, 1
- callif 1, NewMauville_Inside_EventScript_15E5DA
+ call_if 1, NewMauville_Inside_EventScript_15E5DA
compare 0x4002, 1
- callif 1, NewMauville_Inside_EventScript_15E728
+ call_if 1, NewMauville_Inside_EventScript_15E728
checkflag 2145
- callif 1, NewMauville_Inside_EventScript_15E58F
+ call_if 1, NewMauville_Inside_EventScript_15E58F
end
NewMauville_Inside_EventScript_15E58F:: @ 815E58F
- disappear LAST_TALKED
+ removeobject LAST_TALKED
return
NewMauville_Inside_MapScript1_15E593:: @ 815E593
@@ -24,14 +24,14 @@ NewMauville_Inside_MapScript1_15E593:: @ 815E593
NewMauville_Inside_MapScript1_15E59E:: @ 815E59E
compare 0x40ba, 2
- callif 1, NewMauville_Inside_EventScript_15E88B
+ call_if 1, NewMauville_Inside_EventScript_15E88B
end
NewMauville_Inside_EventScript_15E5AA:: @ 815E5AA
lockall
setvar 0x4001, 1
setvar 0x4002, 0
- playsfx 21
+ playse 21
call NewMauville_Inside_EventScript_15E5DA
special DrawWholeMapView
releaseall
@@ -41,7 +41,7 @@ NewMauville_Inside_EventScript_15E5C2:: @ 815E5C2
lockall
setvar 0x4001, 0
setvar 0x4002, 1
- playsfx 21
+ playse 21
call NewMauville_Inside_EventScript_15E728
special DrawWholeMapView
releaseall
@@ -151,7 +151,7 @@ NewMauville_Inside_EventScript_15E88B:: @ 815E88B
NewMauville_Inside_EventScript_15E8E0:: @ 815E8E0
lockall
compare 0x40ba, 2
- jumpeq NewMauville_Inside_EventScript_15E8F6
+ goto_if_eq NewMauville_Inside_EventScript_15E8F6
msgbox NewMauville_Inside_Text_198315, 4
releaseall
end
@@ -165,9 +165,9 @@ NewMauville_Inside_EventScript_15E900:: @ 815E900
lock
faceplayer
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
- checksound
- pokecry SPECIES_VOLTORB, 2
- pause 40
+ waitse
+ playpokecry SPECIES_VOLTORB, 2
+ delay 40
waitpokecry
setflag 974
setflag 2145
@@ -180,9 +180,9 @@ NewMauville_Inside_EventScript_15E91E:: @ 815E91E
lock
faceplayer
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
- checksound
- pokecry SPECIES_VOLTORB, 2
- pause 40
+ waitse
+ playpokecry SPECIES_VOLTORB, 2
+ delay 40
waitpokecry
setflag 975
setflag 2145
@@ -195,9 +195,9 @@ NewMauville_Inside_EventScript_15E93C:: @ 815E93C
lock
faceplayer
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
- checksound
- pokecry SPECIES_VOLTORB, 2
- pause 40
+ waitse
+ playpokecry SPECIES_VOLTORB, 2
+ delay 40
waitpokecry
setflag 976
setflag 2145
diff --git a/data/scripts/maps/OldaleTown.inc b/data/scripts/maps/OldaleTown.inc
index 68ed80949..e80df2cd2 100644
--- a/data/scripts/maps/OldaleTown.inc
+++ b/data/scripts/maps/OldaleTown.inc
@@ -6,11 +6,11 @@ OldaleTown_MapScript1_14DD68:: @ 814DD68
call OldaleTown_EventScript_1A014E
setflag 2064
checkflag 116
- callif 0, OldaleTown_EventScript_14DD92
+ call_if 0, OldaleTown_EventScript_14DD92
checkflag 132
- callif 0, OldaleTown_EventScript_14DD9E
+ call_if 0, OldaleTown_EventScript_14DD9E
checkflag 116
- callif 1, OldaleTown_EventScript_14DD8C
+ call_if 1, OldaleTown_EventScript_14DD8C
end
OldaleTown_EventScript_14DD8C:: @ 814DD8C
@@ -18,13 +18,13 @@ OldaleTown_EventScript_14DD8C:: @ 814DD8C
return
OldaleTown_EventScript_14DD92:: @ 814DD92
- movespriteperm 3, 1, 11
- spritebehave 3, 9
+ setobjectxyperm 3, 1, 11
+ setobjectmovementtype 3, 9
return
OldaleTown_EventScript_14DD9E:: @ 814DD9E
- movespriteperm 2, 13, 14
- spritebehave 2, 8
+ setobjectxyperm 2, 13, 14
+ setobjectmovementtype 2, 8
return
OldaleTown_EventScript_14DDAA:: @ 814DDAA
@@ -39,13 +39,13 @@ OldaleTown_EventScript_14DDBC:: @ 814DDBC
lock
faceplayer
checkflag 132
- jumpeq OldaleTown_EventScript_14DE79
+ goto_if_eq OldaleTown_EventScript_14DE79
checkflag 1
- jumpeq OldaleTown_EventScript_14DE79
+ goto_if_eq OldaleTown_EventScript_14DE79
setflag 1
- playmusic 420, 0
+ playbgm 420, 0
msgbox OldaleTown_Text_16AEF2, 4
- closebutton
+ closemessage
switch FACING
case 1, OldaleTown_EventScript_14DE07
case 2, OldaleTown_EventScript_14DE1E
@@ -53,34 +53,34 @@ OldaleTown_EventScript_14DDBC:: @ 814DDBC
end
OldaleTown_EventScript_14DE07:: @ 814DE07
- move 2, OldaleTown_Movement_14DE97
- move 255, OldaleTown_Movement_14DEC1
- waitmove 0
- jump OldaleTown_EventScript_14DE4C
+ applymovement 2, OldaleTown_Movement_14DE97
+ applymovement 255, OldaleTown_Movement_14DEC1
+ waitmovement 0
+ goto OldaleTown_EventScript_14DE4C
end
OldaleTown_EventScript_14DE1E:: @ 814DE1E
- move 2, OldaleTown_Movement_14DEA2
- move 255, OldaleTown_Movement_14DECB
- waitmove 0
- jump OldaleTown_EventScript_14DE4C
+ applymovement 2, OldaleTown_Movement_14DEA2
+ applymovement 255, OldaleTown_Movement_14DECB
+ waitmovement 0
+ goto OldaleTown_EventScript_14DE4C
end
OldaleTown_EventScript_14DE35:: @ 814DE35
- move 255, OldaleTown_Movement_14DEB9
- move 2, OldaleTown_Movement_14DE8E
- waitmove 0
- jump OldaleTown_EventScript_14DE4C
+ applymovement 255, OldaleTown_Movement_14DEB9
+ applymovement 2, OldaleTown_Movement_14DE8E
+ waitmovement 0
+ goto OldaleTown_EventScript_14DE4C
end
OldaleTown_EventScript_14DE4C:: @ 814DE4C
msgbox OldaleTown_Text_16AF2F, 4
giveitem ITEM_POTION
compare RESULT, 0
- jumpeq OldaleTown_EventScript_14DE83
+ goto_if_eq OldaleTown_EventScript_14DE83
msgbox OldaleTown_Text_16AFE1, 4
setflag 132
- fadedefault
+ fadedefaultbgm
release
end
@@ -91,7 +91,7 @@ OldaleTown_EventScript_14DE79:: @ 814DE79
OldaleTown_EventScript_14DE83:: @ 814DE83
msgbox OldaleTown_Text_1A0CC2, 4
- fadedefault
+ fadedefaultbgm
release
end
@@ -196,23 +196,23 @@ OldaleTown_EventScript_14DEDF:: @ 814DEDF
lock
faceplayer
checkflag 116
- jumpeq OldaleTown_EventScript_14DF26
+ goto_if_eq OldaleTown_EventScript_14DF26
msgbox OldaleTown_Text_16B0CC, 4
- closebutton
- move 3, OldaleTown_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 3, OldaleTown_Movement_1A083D
+ waitmovement 0
release
end
OldaleTown_EventScript_14DEFF:: @ 814DEFF
lockall
- move 255, OldaleTown_Movement_14DFEC
- move 3, OldaleTown_Movement_14DFEF
- waitmove 0
+ applymovement 255, OldaleTown_Movement_14DFEC
+ applymovement 3, OldaleTown_Movement_14DFEF
+ waitmovement 0
msgbox OldaleTown_Text_16B045, 4
- closebutton
- move 3, OldaleTown_Movement_14DFF5
- waitmove 0
+ closemessage
+ applymovement 3, OldaleTown_Movement_14DFF5
+ waitmovement 0
releaseall
end
@@ -223,61 +223,61 @@ OldaleTown_EventScript_14DF26:: @ 814DF26
OldaleTown_EventScript_14DF30:: @ 814DF30
lockall
- move 4, OldaleTown_Movement_1A0839
- waitmove 0
- jump OldaleTown_EventScript_14DF92
+ applymovement 4, OldaleTown_Movement_1A0839
+ waitmovement 0
+ goto OldaleTown_EventScript_14DF92
end
OldaleTown_EventScript_14DF41:: @ 814DF41
lockall
- move 4, OldaleTown_Movement_14DFDE
- waitmove 0
- move 255, OldaleTown_Movement_1A0843
- waitmove 0
- jump OldaleTown_EventScript_14DF92
+ applymovement 4, OldaleTown_Movement_14DFDE
+ waitmovement 0
+ applymovement 255, OldaleTown_Movement_1A0843
+ waitmovement 0
+ goto OldaleTown_EventScript_14DF92
end
OldaleTown_EventScript_14DF5C:: @ 814DF5C
lockall
- move 4, OldaleTown_Movement_14DFE1
- waitmove 0
- move 255, OldaleTown_Movement_1A0843
- waitmove 0
- jump OldaleTown_EventScript_14DF92
+ applymovement 4, OldaleTown_Movement_14DFE1
+ waitmovement 0
+ applymovement 255, OldaleTown_Movement_1A0843
+ waitmovement 0
+ goto OldaleTown_EventScript_14DF92
end
OldaleTown_EventScript_14DF77:: @ 814DF77
lockall
- move 4, OldaleTown_Movement_14DFE3
- waitmove 0
- move 255, OldaleTown_Movement_1A0843
- waitmove 0
- jump OldaleTown_EventScript_14DF92
+ applymovement 4, OldaleTown_Movement_14DFE3
+ waitmovement 0
+ applymovement 255, OldaleTown_Movement_1A0843
+ waitmovement 0
+ goto OldaleTown_EventScript_14DF92
end
OldaleTown_EventScript_14DF92:: @ 814DF92
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq OldaleTown_EventScript_14DFAA
+ goto_if_eq OldaleTown_EventScript_14DFAA
compare RESULT, 1
- jumpeq OldaleTown_EventScript_14DFB8
+ goto_if_eq OldaleTown_EventScript_14DFB8
end
OldaleTown_EventScript_14DFAA:: @ 814DFAA
msgbox OldaleTown_Text_16B196, 4
- jump OldaleTown_EventScript_14DFC6
+ goto OldaleTown_EventScript_14DFC6
end
OldaleTown_EventScript_14DFB8:: @ 814DFB8
msgbox OldaleTown_Text_16B1BE, 4
- jump OldaleTown_EventScript_14DFC6
+ goto OldaleTown_EventScript_14DFC6
end
OldaleTown_EventScript_14DFC6:: @ 814DFC6
- closebutton
- move 4, OldaleTown_Movement_14DFE5
- waitmove 0
- disappear 4
+ closemessage
+ applymovement 4, OldaleTown_Movement_14DFE5
+ waitmovement 0
+ removeobject 4
setvar 0x40c7, 2
setflag 979
releaseall
diff --git a/data/scripts/maps/OldaleTown_Mart.inc b/data/scripts/maps/OldaleTown_Mart.inc
index 3f4994890..b9698b58f 100644
--- a/data/scripts/maps/OldaleTown_Mart.inc
+++ b/data/scripts/maps/OldaleTown_Mart.inc
@@ -5,9 +5,9 @@ OldaleTown_Mart_EventScript_152F79:: @ 8152F79
lock
faceplayer
message OldaleTown_Mart_Text_1A0BE4
- waittext
+ waitmessage
checkflag 116
- jumpeq OldaleTown_Mart_EventScript_152FA8
+ goto_if_eq OldaleTown_Mart_EventScript_152FA8
pokemart OldaleTown_Mart_Items1
msgbox OldaleTown_Mart_Text_1A0C02, 4
release
@@ -44,7 +44,7 @@ OldaleTown_Mart_EventScript_152FC6:: @ 8152FC6
lock
faceplayer
checkflag 116
- jumpeq OldaleTown_Mart_EventScript_152FDB
+ goto_if_eq OldaleTown_Mart_EventScript_152FDB
msgbox OldaleTown_Mart_Text_174A8A, 4
release
end
diff --git a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc
index 4ba96ddc8..494f109fe 100644
--- a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc
+++ b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc
@@ -10,7 +10,7 @@ OldaleTown_PokemonCenter_1F_MapScript1_152F0E:: @ 8152F0E
OldaleTown_PokemonCenter_1F_EventScript_152F17:: @ 8152F17
setvar 0x800b, 1
call OldaleTown_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
@@ -27,7 +27,7 @@ OldaleTown_PokemonCenter_1F_EventScript_152F37:: @ 8152F37
lock
faceplayer
checkflag 2049
- jumpeq OldaleTown_PokemonCenter_1F_EventScript_152F4C
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_152F4C
msgbox OldaleTown_PokemonCenter_1F_Text_1749C0, 4
release
end
diff --git a/data/scripts/maps/PacifidlogTown_House2.inc b/data/scripts/maps/PacifidlogTown_House2.inc
index e45f09de4..e04a8caae 100644
--- a/data/scripts/maps/PacifidlogTown_House2.inc
+++ b/data/scripts/maps/PacifidlogTown_House2.inc
@@ -4,30 +4,30 @@ PacifidlogTown_House2_MapScripts:: @ 8154167
PacifidlogTown_House2_EventScript_154168:: @ 8154168
lock
faceplayer
- checkdailyflags
+ dodailyevents
call PacifidlogTown_House2_EventScript_1541B4
checkflag 299
- jumpeq PacifidlogTown_House2_EventScript_154254
+ goto_if_eq PacifidlogTown_House2_EventScript_154254
checkflag 300
- callif 1, PacifidlogTown_House2_EventScript_1541CE
+ call_if 1, PacifidlogTown_House2_EventScript_1541CE
checkflag 300
- callif 0, PacifidlogTown_House2_EventScript_1541D7
+ call_if 0, PacifidlogTown_House2_EventScript_1541D7
setflag 300
- specialval RESULT, GetLeadMonFriendshipScore
+ specialvar RESULT, GetLeadMonFriendshipScore
compare RESULT, 4
- jumpif 4, PacifidlogTown_House2_EventScript_1541EC
- specialval RESULT, GetLeadMonFriendshipScore
+ goto_if 4, PacifidlogTown_House2_EventScript_1541EC
+ specialvar RESULT, GetLeadMonFriendshipScore
compare RESULT, 2
- jumpif 4, PacifidlogTown_House2_EventScript_15421B
- jump PacifidlogTown_House2_EventScript_154225
+ goto_if 4, PacifidlogTown_House2_EventScript_15421B
+ goto PacifidlogTown_House2_EventScript_154225
end
PacifidlogTown_House2_EventScript_1541B4:: @ 81541B4
checkflag 299
- jumpif 0, PacifidlogTown_House2_EventScript_1A14DC
- specialval RESULT, sub_810F908
+ goto_if 0, PacifidlogTown_House2_EventScript_1A14DC
+ specialvar RESULT, sub_810F908
compare RESULT, 0
- callif 1, PacifidlogTown_House2_EventScript_1541E8
+ call_if 1, PacifidlogTown_House2_EventScript_1541E8
return
PacifidlogTown_House2_EventScript_1541CE:: @ 81541CE
@@ -47,7 +47,7 @@ PacifidlogTown_House2_EventScript_1541EC:: @ 81541EC
msgbox PacifidlogTown_House2_Text_179169, 4
giveitem ITEM_TM27
compare RESULT, 0
- jumpeq PacifidlogTown_House2_EventScript_1A029B
+ goto_if_eq PacifidlogTown_House2_EventScript_1A029B
setflag 299
special sub_810F950
msgbox PacifidlogTown_House2_Text_179283, 4
@@ -63,7 +63,7 @@ PacifidlogTown_House2_EventScript_154225:: @ 8154225
msgbox PacifidlogTown_House2_Text_17922D, 4
giveitem ITEM_TM21
compare RESULT, 0
- jumpeq PacifidlogTown_House2_EventScript_1A029B
+ goto_if_eq PacifidlogTown_House2_EventScript_1A029B
setflag 299
special sub_810F950
msgbox PacifidlogTown_House2_Text_179283, 4
@@ -71,8 +71,8 @@ PacifidlogTown_House2_EventScript_154225:: @ 8154225
end
PacifidlogTown_House2_EventScript_154254:: @ 8154254
- specialval RESULT, sub_810F908
- buffernum 0, RESULT
+ specialvar RESULT, sub_810F908
+ getnumberstring 0, RESULT
msgbox PacifidlogTown_House2_Text_1792F2, 4
release
end
@@ -80,8 +80,8 @@ PacifidlogTown_House2_EventScript_154254:: @ 8154254
PacifidlogTown_House2_EventScript_154267:: @ 8154267
lock
faceplayer
- checksound
- pokecry SPECIES_AZURILL, 0
+ waitse
+ playpokecry SPECIES_AZURILL, 0
msgbox PacifidlogTown_House2_Text_17938B, 4
waitpokecry
msgbox PacifidlogTown_House2_Text_17939B, 4
@@ -91,8 +91,8 @@ PacifidlogTown_House2_EventScript_154267:: @ 8154267
PacifidlogTown_House2_EventScript_154282:: @ 8154282
lock
faceplayer
- checksound
- pokecry SPECIES_AZURILL, 2
+ waitse
+ playpokecry SPECIES_AZURILL, 2
msgbox PacifidlogTown_House2_Text_1793CC, 4
waitpokecry
msgbox PacifidlogTown_House2_Text_1793DD, 4
diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc
index 6ab9a09b0..28b9dbd80 100644
--- a/data/scripts/maps/PacifidlogTown_House3.inc
+++ b/data/scripts/maps/PacifidlogTown_House3.inc
@@ -5,30 +5,30 @@ PacifidlogTown_House3_EventScript_15429E:: @ 815429E
lock
faceplayer
checkflag 154
- jumpeq PacifidlogTown_House3_EventScript_154338
+ goto_if_eq PacifidlogTown_House3_EventScript_154338
setvar 0x8008, 2
copyvar 0x8004, 0x8008
- specialval RESULT, sub_804D89C
+ specialvar RESULT, sub_804D89C
copyvar 0x8009, RESULT
msgbox PacifidlogTown_House3_Text_17940E, 5
compare RESULT, 0
- jumpeq PacifidlogTown_House3_EventScript_154320
+ goto_if_eq PacifidlogTown_House3_EventScript_154320
special sub_80F9A0C
waitstate
copyvar 0x800a, 0x8004
compare 0x8004, 255
- jumpeq PacifidlogTown_House3_EventScript_154320
+ goto_if_eq PacifidlogTown_House3_EventScript_154320
copyvar 0x8005, 0x800a
- specialval RESULT, sub_804DB2C
+ specialvar RESULT, sub_804DB2C
copyvar 0x800b, RESULT
- comparevars RESULT, 0x8009
- jumpif 5, PacifidlogTown_House3_EventScript_15432A
+ compare RESULT, 0x8009
+ goto_if 5, PacifidlogTown_House3_EventScript_15432A
copyvar 0x8004, 0x8008
copyvar 0x8005, 0x800a
special sub_804DB68
special sub_804E174
waitstate
- bufferpoke 0, 0x8009
+ getspeciesname 0, 0x8009
msgbox PacifidlogTown_House3_Text_1794C4, 4
setflag 154
release
@@ -40,7 +40,7 @@ PacifidlogTown_House3_EventScript_154320:: @ 8154320
end
PacifidlogTown_House3_EventScript_15432A:: @ 815432A
- bufferpoke 0, 0x8009
+ getspeciesname 0, 0x8009
msgbox PacifidlogTown_House3_Text_1794DF, 4
release
end
diff --git a/data/scripts/maps/PacifidlogTown_House4.inc b/data/scripts/maps/PacifidlogTown_House4.inc
index e48644beb..b7a6c9f86 100644
--- a/data/scripts/maps/PacifidlogTown_House4.inc
+++ b/data/scripts/maps/PacifidlogTown_House4.inc
@@ -14,9 +14,9 @@ PacifidlogTown_House4_EventScript_15435E:: @ 815435E
faceplayer
msgbox PacifidlogTown_House4_Text_17963D, 5
compare RESULT, 1
- jumpeq PacifidlogTown_House4_EventScript_15437F
+ goto_if_eq PacifidlogTown_House4_EventScript_15437F
compare RESULT, 0
- jumpeq PacifidlogTown_House4_EventScript_154389
+ goto_if_eq PacifidlogTown_House4_EventScript_154389
end
PacifidlogTown_House4_EventScript_15437F:: @ 815437F
diff --git a/data/scripts/maps/PacifidlogTown_House5.inc b/data/scripts/maps/PacifidlogTown_House5.inc
index dca1a51b0..46b1990df 100644
--- a/data/scripts/maps/PacifidlogTown_House5.inc
+++ b/data/scripts/maps/PacifidlogTown_House5.inc
@@ -4,9 +4,9 @@ PacifidlogTown_House5_MapScripts:: @ 8154393
PacifidlogTown_House5_EventScript_154394:: @ 8154394
lock
faceplayer
- specialval RESULT, IsMirageIslandPresent
+ specialvar RESULT, IsMirageIslandPresent
compare RESULT, 1
- jumpeq PacifidlogTown_House5_EventScript_1543B0
+ goto_if_eq PacifidlogTown_House5_EventScript_1543B0
msgbox PacifidlogTown_House5_Text_179718, 4
release
end
diff --git a/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc b/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc
index 973f80a55..64dd5008c 100644
--- a/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc
+++ b/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc
@@ -9,7 +9,7 @@ PacifidlogTown_PokemonCenter_1F_MapScript1_154105:: @ 8154105
@ 8154109
setvar 0x800b, 1
call VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc
index 123b099fe..1c2711b83 100644
--- a/data/scripts/maps/PetalburgCity.inc
+++ b/data/scripts/maps/PetalburgCity.inc
@@ -6,17 +6,17 @@ PetalburgCity_MapScripts:: @ 814B70C
PetalburgCity_MapScript1_14B717:: @ 814B717
setflag 2070
compare 0x4057, 0
- callif 1, PetalburgCity_EventScript_14B731
+ call_if 1, PetalburgCity_EventScript_14B731
compare 0x4057, 2
- callif 1, PetalburgCity_EventScript_14B739
+ call_if 1, PetalburgCity_EventScript_14B739
end
PetalburgCity_EventScript_14B731:: @ 814B731
- movespriteperm 9, 5, 11
+ setobjectxyperm 9, 5, 11
return
PetalburgCity_EventScript_14B739:: @ 814B739
- playmusicbattle 420
+ savebgm 420
return
PetalburgCity_MapScript2_14B73D:: @ 814B73D
@@ -28,20 +28,20 @@ PetalburgCity_EventScript_14B747:: @ 814B747
setflag 0x4000
special SavePlayerParty
special PutZigzagoonInPlayerParty
- move 2, PetalburgCity_Movement_14B7ED
- move 255, PetalburgCity_Movement_14B7CC
- waitmove 0
+ applymovement 2, PetalburgCity_Movement_14B7ED
+ applymovement 255, PetalburgCity_Movement_14B7CC
+ waitmovement 0
msgbox PetalburgCity_Text_16D361, 4
special ScrSpecial_StartWallyTutorialBattle
waitstate
msgbox PetalburgCity_Text_16D3DE, 4
- movecoords 2, PetalburgCity_Movement_1A083F, 0, 0
- waitmovexy 0, 0, 2
+ applymovement 2, PetalburgCity_Movement_1A083F, 0, 0
+ waitmovement 0, 0, 2
msgbox PetalburgCity_Text_16D408, 4
- closebutton
+ closemessage
clearflag 0x4000
setvar 0x4057, 3
- fadedefault
+ fadedefaultbgm
clearflag 0x4001
special LoadPlayerParty
setvar 0x4085, 1
@@ -54,9 +54,9 @@ PetalburgCity_EventScript_14B7AC:: @ 814B7AC
lock
faceplayer
msgbox PetalburgCity_Text_164490, 4
- closebutton
- move 3, PetalburgCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 3, PetalburgCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -157,114 +157,114 @@ PetalburgCity_EventScript_14B82D:: @ 814B82D
PetalburgCity_EventScript_14B836:: @ 814B836
lockall
setvar 0x8008, 0
- jump PetalburgCity_EventScript_14B866
+ goto PetalburgCity_EventScript_14B866
end
PetalburgCity_EventScript_14B842:: @ 814B842
lockall
setvar 0x8008, 1
- jump PetalburgCity_EventScript_14B866
+ goto PetalburgCity_EventScript_14B866
end
PetalburgCity_EventScript_14B84E:: @ 814B84E
lockall
setvar 0x8008, 2
- jump PetalburgCity_EventScript_14B866
+ goto PetalburgCity_EventScript_14B866
end
PetalburgCity_EventScript_14B85A:: @ 814B85A
lockall
setvar 0x8008, 3
- jump PetalburgCity_EventScript_14B866
+ goto PetalburgCity_EventScript_14B866
end
PetalburgCity_EventScript_14B866:: @ 814B866
- move 9, PetalburgCity_Movement_1A0839
- waitmove 0
- playmusic 420, 0
- playsfx 21
- move 9, PetalburgCity_Movement_1A0833
- waitmove 0
- move 9, PetalburgCity_Movement_1A0835
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_1A0839
+ waitmovement 0
+ playbgm 420, 0
+ playse 21
+ applymovement 9, PetalburgCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, PetalburgCity_Movement_1A0835
+ waitmovement 0
compare 0x8008, 0
- callif 1, PetalburgCity_EventScript_14B91B
+ call_if 1, PetalburgCity_EventScript_14B91B
compare 0x8008, 1
- callif 1, PetalburgCity_EventScript_14B930
+ call_if 1, PetalburgCity_EventScript_14B930
compare 0x8008, 2
- callif 1, PetalburgCity_EventScript_14B93B
+ call_if 1, PetalburgCity_EventScript_14B93B
compare 0x8008, 3
- callif 1, PetalburgCity_EventScript_14B950
+ call_if 1, PetalburgCity_EventScript_14B950
msgbox PetalburgCity_Text_16438A, 4
- closebutton
+ closemessage
compare 0x8008, 0
- callif 1, PetalburgCity_EventScript_14B965
+ call_if 1, PetalburgCity_EventScript_14B965
compare 0x8008, 1
- callif 1, PetalburgCity_EventScript_14B977
+ call_if 1, PetalburgCity_EventScript_14B977
compare 0x8008, 2
- callif 1, PetalburgCity_EventScript_14B989
+ call_if 1, PetalburgCity_EventScript_14B989
compare 0x8008, 3
- callif 1, PetalburgCity_EventScript_14B99B
+ call_if 1, PetalburgCity_EventScript_14B99B
msgbox PetalburgCity_Text_164426, 4
- move 9, PetalburgCity_Movement_1A0843
- move 255, PetalburgCity_Movement_1A0843
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_1A0843
+ applymovement 255, PetalburgCity_Movement_1A0843
+ waitmovement 0
msgbox PetalburgCity_Text_164449, 4
- closebutton
- move 9, PetalburgCity_Movement_14B9F4
- waitmove 0
- fadedefault
+ closemessage
+ applymovement 9, PetalburgCity_Movement_14B9F4
+ waitmovement 0
+ fadedefaultbgm
releaseall
end
PetalburgCity_EventScript_14B91B:: @ 814B91B
- move 9, PetalburgCity_Movement_14B9B1
- waitmove 0
- move 255, PetalburgCity_Movement_1A0845
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_14B9B1
+ waitmovement 0
+ applymovement 255, PetalburgCity_Movement_1A0845
+ waitmovement 0
return
PetalburgCity_EventScript_14B930:: @ 814B930
- move 9, PetalburgCity_Movement_14B9B6
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_14B9B6
+ waitmovement 0
return
PetalburgCity_EventScript_14B93B:: @ 814B93B
- move 9, PetalburgCity_Movement_14B9B9
- waitmove 0
- move 255, PetalburgCity_Movement_1A0841
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_14B9B9
+ waitmovement 0
+ applymovement 255, PetalburgCity_Movement_1A0841
+ waitmovement 0
return
PetalburgCity_EventScript_14B950:: @ 814B950
- move 9, PetalburgCity_Movement_14B9BE
- waitmove 0
- move 255, PetalburgCity_Movement_1A0841
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_14B9BE
+ waitmovement 0
+ applymovement 255, PetalburgCity_Movement_1A0841
+ waitmovement 0
return
PetalburgCity_EventScript_14B965:: @ 814B965
- move 9, PetalburgCity_Movement_14B9C4
- move 255, PetalburgCity_Movement_14BA01
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_14B9C4
+ applymovement 255, PetalburgCity_Movement_14BA01
+ waitmovement 0
return
PetalburgCity_EventScript_14B977:: @ 814B977
- move 9, PetalburgCity_Movement_14B9CF
- move 255, PetalburgCity_Movement_14BA0B
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_14B9CF
+ applymovement 255, PetalburgCity_Movement_14BA0B
+ waitmovement 0
return
PetalburgCity_EventScript_14B989:: @ 814B989
- move 9, PetalburgCity_Movement_14B9DD
- move 255, PetalburgCity_Movement_14BA18
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_14B9DD
+ applymovement 255, PetalburgCity_Movement_14BA18
+ waitmovement 0
return
PetalburgCity_EventScript_14B99B:: @ 814B99B
- move 9, PetalburgCity_Movement_14B9E8
- move 255, PetalburgCity_Movement_14BA22
- waitmove 0
+ applymovement 9, PetalburgCity_Movement_14B9E8
+ applymovement 255, PetalburgCity_Movement_14BA22
+ waitmovement 0
return
@ 814B9AD
diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc
index c534cb538..b2d104894 100644
--- a/data/scripts/maps/PetalburgCity_Gym.inc
+++ b/data/scripts/maps/PetalburgCity_Gym.inc
@@ -7,28 +7,28 @@ PetalburgCity_Gym_MapScripts:: @ 8154477
PetalburgCity_Gym_MapScript1_15448C:: @ 815448C
compare 0x4085, 6
- jumpeq PetalburgCity_Gym_EventScript_1544A3
+ goto_if_eq PetalburgCity_Gym_EventScript_1544A3
compare 0x4085, 7
- callif 4, PetalburgCity_Gym_EventScript_1544ED
+ call_if 4, PetalburgCity_Gym_EventScript_1544ED
end
PetalburgCity_Gym_EventScript_1544A3:: @ 81544A3
setvar 0x8005, 1
call PetalburgCity_Gym_EventScript_154F9A
checktrainerflag OPPONENT_RANDALL
- callif 1, PetalburgCity_Gym_EventScript_154FBB
+ call_if 1, PetalburgCity_Gym_EventScript_154FBB
checktrainerflag OPPONENT_MARY
- callif 1, PetalburgCity_Gym_EventScript_154FDC
+ call_if 1, PetalburgCity_Gym_EventScript_154FDC
checktrainerflag OPPONENT_PARKER
- callif 1, PetalburgCity_Gym_EventScript_154FFD
+ call_if 1, PetalburgCity_Gym_EventScript_154FFD
checktrainerflag OPPONENT_LORI
- callif 1, PetalburgCity_Gym_EventScript_15501E
+ call_if 1, PetalburgCity_Gym_EventScript_15501E
checktrainerflag OPPONENT_GEORGE
- callif 1, PetalburgCity_Gym_EventScript_15503F
+ call_if 1, PetalburgCity_Gym_EventScript_15503F
checktrainerflag OPPONENT_JODY
- callif 1, PetalburgCity_Gym_EventScript_155060
+ call_if 1, PetalburgCity_Gym_EventScript_155060
checktrainerflag OPPONENT_BERKE
- callif 1, PetalburgCity_Gym_EventScript_155081
+ call_if 1, PetalburgCity_Gym_EventScript_155081
end
PetalburgCity_Gym_EventScript_1544ED:: @ 81544ED
@@ -45,23 +45,23 @@ PetalburgCity_Gym_EventScript_1544ED:: @ 81544ED
PetalburgCity_Gym_MapScript1_15451B:: @ 815451B
compare 0x4085, 1
- callif 1, PetalburgCity_Gym_EventScript_15453B
+ call_if 1, PetalburgCity_Gym_EventScript_15453B
compare 0x4085, 6
- callif 0, PetalburgCity_Gym_EventScript_154543
+ call_if 0, PetalburgCity_Gym_EventScript_154543
checkflag 2052
- callif 1, PetalburgCity_Gym_EventScript_15454B
+ call_if 1, PetalburgCity_Gym_EventScript_15454B
end
PetalburgCity_Gym_EventScript_15453B:: @ 815453B
- movespriteperm 10, 5, 108
+ setobjectxyperm 10, 5, 108
return
PetalburgCity_Gym_EventScript_154543:: @ 8154543
- movespriteperm 1, 4, 107
+ setobjectxyperm 1, 4, 107
return
PetalburgCity_Gym_EventScript_15454B:: @ 815454B
- movespriteperm 1, 4, 107
+ setobjectxyperm 1, 4, 107
return
PetalburgCity_Gym_MapScript2_154553:: @ 8154553
@@ -69,7 +69,7 @@ PetalburgCity_Gym_MapScript2_154553:: @ 8154553
.2byte 0
PetalburgCity_Gym_EventScript_15455D:: @ 815455D
- spriteface 255, 2
+ turnobject 255, 2
end
PetalburgCity_Gym_MapScript2_154562:: @ 8154562
@@ -80,16 +80,16 @@ PetalburgCity_Gym_EventScript_15456C:: @ 815456C
lockall
msgbox PetalburgCity_Gym_Text_17A196, 4
msgbox PetalburgCity_Gym_Text_17A1B0, 4
- closebutton
- move 255, PetalburgCity_Gym_Movement_1A0845
- move 10, PetalburgCity_Gym_Movement_1545B4
- waitmove 0
- playsfx 9
- disappear 10
+ closemessage
+ applymovement 255, PetalburgCity_Gym_Movement_1A0845
+ applymovement 10, PetalburgCity_Gym_Movement_1545B4
+ waitmovement 0
+ playse 9
+ removeobject 10
setflag 726
- pause 30
- move 255, PetalburgCity_Gym_Movement_1A0841
- waitmove 0
+ delay 30
+ applymovement 255, PetalburgCity_Gym_Movement_1A0841
+ waitmovement 0
msgbox PetalburgCity_Gym_Text_17A2A4, 4
setvar 0x4085, 2
releaseall
@@ -113,7 +113,7 @@ PetalburgCity_Gym_EventScript_1545B9:: @ 81545B9
case 6, PetalburgCity_Gym_EventScript_1549D6
case 7, PetalburgCity_Gym_EventScript_15493D
msgbox PetalburgCity_Gym_Text_179DF6, 4
- closebutton
+ closemessage
switch FACING
case 1, PetalburgCity_Gym_EventScript_15463D
case 2, PetalburgCity_Gym_EventScript_154648
@@ -123,88 +123,88 @@ PetalburgCity_Gym_EventScript_1545B9:: @ 81545B9
PetalburgCity_Gym_EventScript_15463D:: @ 815463D
setvar 0x8008, 0
- jump PetalburgCity_Gym_EventScript_154669
+ goto PetalburgCity_Gym_EventScript_154669
end
PetalburgCity_Gym_EventScript_154648:: @ 8154648
setvar 0x8008, 1
- jump PetalburgCity_Gym_EventScript_154669
+ goto PetalburgCity_Gym_EventScript_154669
end
PetalburgCity_Gym_EventScript_154653:: @ 8154653
setvar 0x8008, 2
- jump PetalburgCity_Gym_EventScript_154669
+ goto PetalburgCity_Gym_EventScript_154669
end
PetalburgCity_Gym_EventScript_15465E:: @ 815465E
setvar 0x8008, 3
- jump PetalburgCity_Gym_EventScript_154669
+ goto PetalburgCity_Gym_EventScript_154669
end
PetalburgCity_Gym_EventScript_154669:: @ 8154669
- reappear 10
- playsfx 8
+ addobject 10
+ playse 8
compare 0x8008, 0
- callif 1, PetalburgCity_Gym_EventScript_1547EE
+ call_if 1, PetalburgCity_Gym_EventScript_1547EE
compare 0x8008, 1
- callif 1, PetalburgCity_Gym_EventScript_154800
+ call_if 1, PetalburgCity_Gym_EventScript_154800
compare 0x8008, 2
- callif 1, PetalburgCity_Gym_EventScript_15481C
+ call_if 1, PetalburgCity_Gym_EventScript_15481C
compare 0x8008, 3
- callif 1, PetalburgCity_Gym_EventScript_15481C
+ call_if 1, PetalburgCity_Gym_EventScript_15481C
msgbox PetalburgCity_Gym_Text_179F07, 4
msgbox PetalburgCity_Gym_Text_179F37, 4
msgbox PetalburgCity_Gym_Text_179F70, 4
msgbox PetalburgCity_Gym_Text_17A03A, 4
compare 0x8008, 0
- callif 1, PetalburgCity_Gym_EventScript_154884
+ call_if 1, PetalburgCity_Gym_EventScript_154884
compare 0x8008, 1
- callif 1, PetalburgCity_Gym_EventScript_15488F
+ call_if 1, PetalburgCity_Gym_EventScript_15488F
compare 0x8008, 2
- callif 1, PetalburgCity_Gym_EventScript_1548A1
+ call_if 1, PetalburgCity_Gym_EventScript_1548A1
compare 0x8008, 3
- callif 1, PetalburgCity_Gym_EventScript_1548B3
+ call_if 1, PetalburgCity_Gym_EventScript_1548B3
msgbox PetalburgCity_Gym_Text_17A04A, 4
compare 0x8008, 0
- callif 1, PetalburgCity_Gym_EventScript_1548C5
+ call_if 1, PetalburgCity_Gym_EventScript_1548C5
compare 0x8008, 1
- callif 1, PetalburgCity_Gym_EventScript_1548D0
+ call_if 1, PetalburgCity_Gym_EventScript_1548D0
compare 0x8008, 2
- callif 1, PetalburgCity_Gym_EventScript_1548DB
+ call_if 1, PetalburgCity_Gym_EventScript_1548DB
compare 0x8008, 3
- callif 1, PetalburgCity_Gym_EventScript_1548E6
+ call_if 1, PetalburgCity_Gym_EventScript_1548E6
msgbox PetalburgCity_Gym_Text_17A0A8, 4
msgbox PetalburgCity_Gym_Text_17A0EB, 4
msgbox PetalburgCity_Gym_Text_17A156, 4
compare 0x8008, 0
- callif 1, PetalburgCity_Gym_EventScript_15492F
+ call_if 1, PetalburgCity_Gym_EventScript_15492F
compare 0x8008, 1
- callif 1, PetalburgCity_Gym_EventScript_154930
+ call_if 1, PetalburgCity_Gym_EventScript_154930
compare 0x8008, 2
- callif 1, PetalburgCity_Gym_EventScript_15493B
+ call_if 1, PetalburgCity_Gym_EventScript_15493B
compare 0x8008, 3
- callif 1, PetalburgCity_Gym_EventScript_15493C
+ call_if 1, PetalburgCity_Gym_EventScript_15493C
compare 0x8008, 0
- callif 1, PetalburgCity_Gym_EventScript_1548F1
+ call_if 1, PetalburgCity_Gym_EventScript_1548F1
compare 0x8008, 1
- callif 1, PetalburgCity_Gym_EventScript_1548FC
+ call_if 1, PetalburgCity_Gym_EventScript_1548FC
compare 0x8008, 2
- callif 1, PetalburgCity_Gym_EventScript_1548F1
+ call_if 1, PetalburgCity_Gym_EventScript_1548F1
compare 0x8008, 3
- callif 1, PetalburgCity_Gym_EventScript_1548F1
+ call_if 1, PetalburgCity_Gym_EventScript_1548F1
msgbox PetalburgCity_Gym_Text_17A171, 4
- closebutton
+ closemessage
setflag 0x4001
- playmusic 420, 0
+ playbgm 420, 0
compare 0x8008, 0
- callif 1, PetalburgCity_Gym_EventScript_154835
+ call_if 1, PetalburgCity_Gym_EventScript_154835
compare 0x8008, 1
- callif 1, PetalburgCity_Gym_EventScript_15484E
+ call_if 1, PetalburgCity_Gym_EventScript_15484E
compare 0x8008, 2
- callif 1, PetalburgCity_Gym_EventScript_154860
+ call_if 1, PetalburgCity_Gym_EventScript_154860
compare 0x8008, 3
- callif 1, PetalburgCity_Gym_EventScript_154872
- disappear 10
+ call_if 1, PetalburgCity_Gym_EventScript_154872
+ removeobject 10
setflag 728
setvar 0x4085, 1
setvar 0x4057, 2
@@ -218,102 +218,102 @@ PetalburgCity_Gym_EventScript_154669:: @ 8154669
end
PetalburgCity_Gym_EventScript_1547EE:: @ 81547EE
- move 1, PetalburgCity_Gym_Movement_1A0845
- move 10, PetalburgCity_Gym_Movement_154B27
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ applymovement 10, PetalburgCity_Gym_Movement_154B27
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154800:: @ 8154800
- move 10, PetalburgCity_Gym_Movement_154B1D
- waitmove 0
- move 1, PetalburgCity_Gym_Movement_1A0843
- move 255, PetalburgCity_Gym_Movement_1A0843
- waitmove 0
+ applymovement 10, PetalburgCity_Gym_Movement_154B1D
+ waitmovement 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0843
+ applymovement 255, PetalburgCity_Gym_Movement_1A0843
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_15481C:: @ 815481C
- move 1, PetalburgCity_Gym_Movement_1A0845
- move 255, PetalburgCity_Gym_Movement_1A0845
- move 10, PetalburgCity_Gym_Movement_154B27
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ applymovement 255, PetalburgCity_Gym_Movement_1A0845
+ applymovement 10, PetalburgCity_Gym_Movement_154B27
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154835:: @ 8154835
- move 1, PetalburgCity_Gym_Movement_1A0845
- move 10, PetalburgCity_Gym_Movement_154B3E
- move 255, PetalburgCity_Gym_Movement_154B4D
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ applymovement 10, PetalburgCity_Gym_Movement_154B3E
+ applymovement 255, PetalburgCity_Gym_Movement_154B4D
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_15484E:: @ 815484E
- move 10, PetalburgCity_Gym_Movement_154B2E
- move 255, PetalburgCity_Gym_Movement_154B45
- waitmove 0
+ applymovement 10, PetalburgCity_Gym_Movement_154B2E
+ applymovement 255, PetalburgCity_Gym_Movement_154B45
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154860:: @ 8154860
- move 10, PetalburgCity_Gym_Movement_154B3E
- move 255, PetalburgCity_Gym_Movement_154B57
- waitmove 0
+ applymovement 10, PetalburgCity_Gym_Movement_154B3E
+ applymovement 255, PetalburgCity_Gym_Movement_154B57
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154872:: @ 8154872
- move 10, PetalburgCity_Gym_Movement_154B36
- move 255, PetalburgCity_Gym_Movement_154B5F
- waitmove 0
+ applymovement 10, PetalburgCity_Gym_Movement_154B36
+ applymovement 255, PetalburgCity_Gym_Movement_154B5F
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154884:: @ 8154884
- move 1, PetalburgCity_Gym_Movement_1A0841
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0841
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_15488F:: @ 815488F
- move 1, PetalburgCity_Gym_Movement_1A0845
- move 255, PetalburgCity_Gym_Movement_1A0841
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ applymovement 255, PetalburgCity_Gym_Movement_1A0841
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_1548A1:: @ 81548A1
- move 1, PetalburgCity_Gym_Movement_1A0843
- move 255, PetalburgCity_Gym_Movement_1A083F
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0843
+ applymovement 255, PetalburgCity_Gym_Movement_1A083F
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_1548B3:: @ 81548B3
- move 1, PetalburgCity_Gym_Movement_1A083F
- move 255, PetalburgCity_Gym_Movement_1A0843
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A083F
+ applymovement 255, PetalburgCity_Gym_Movement_1A0843
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_1548C5:: @ 81548C5
- move 1, PetalburgCity_Gym_Movement_1A0845
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_1548D0:: @ 81548D0
- move 1, PetalburgCity_Gym_Movement_1A0843
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0843
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_1548DB:: @ 81548DB
- move 1, PetalburgCity_Gym_Movement_1A0845
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_1548E6:: @ 81548E6
- move 1, PetalburgCity_Gym_Movement_1A0845
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_1548F1:: @ 81548F1
- move 10, PetalburgCity_Gym_Movement_1A0839
- waitmove 0
+ applymovement 10, PetalburgCity_Gym_Movement_1A0839
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_1548FC:: @ 81548FC
- move 10, PetalburgCity_Gym_Movement_1A0845
- waitmove 0
+ applymovement 10, PetalburgCity_Gym_Movement_1A0845
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154907:: @ 8154907
@@ -340,8 +340,8 @@ PetalburgCity_Gym_EventScript_15492F:: @ 815492F
return
PetalburgCity_Gym_EventScript_154930:: @ 8154930
- move 1, PetalburgCity_Gym_Movement_1A0845
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_15493B:: @ 815493B
@@ -353,27 +353,27 @@ PetalburgCity_Gym_EventScript_15493C:: @ 815493C
PetalburgCity_Gym_EventScript_15493D:: @ 815493D
call PetalburgCity_Gym_EventScript_154969
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_1549B8
+ goto_if_eq PetalburgCity_Gym_EventScript_1549B8
checkflag 169
- jumpif 0, PetalburgCity_Gym_EventScript_154A2C
+ goto_if 0, PetalburgCity_Gym_EventScript_154A2C
checkflag 2052
- jumpeq PetalburgCity_Gym_EventScript_154B69
+ goto_if_eq PetalburgCity_Gym_EventScript_154B69
msgbox PetalburgCity_Gym_Text_17AA6B, 4
release
end
PetalburgCity_Gym_EventScript_154969:: @ 8154969
- specialval RESULT, IsEnigmaBerryValid
+ specialvar RESULT, IsEnigmaBerryValid
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_1549B2
+ goto_if_eq PetalburgCity_Gym_EventScript_1549B2
checkitem ITEM_ENIGMA_BERRY, 1
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_1549B2
+ goto_if_eq PetalburgCity_Gym_EventScript_1549B2
checkpcitem ITEM_ENIGMA_BERRY, 1
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_1549B2
+ goto_if_eq PetalburgCity_Gym_EventScript_1549B2
compare 0x402d, 0
- jumpeq PetalburgCity_Gym_EventScript_1549B2
+ goto_if_eq PetalburgCity_Gym_EventScript_1549B2
msgbox PetalburgCity_Gym_Text_1C5570, 4
setvar RESULT, 1
return
@@ -385,7 +385,7 @@ PetalburgCity_Gym_EventScript_1549B2:: @ 81549B2
PetalburgCity_Gym_EventScript_1549B8:: @ 81549B8
giveitem ITEM_ENIGMA_BERRY
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_1A029B
+ goto_if_eq PetalburgCity_Gym_EventScript_1A029B
setvar 0x402d, 0
release
end
@@ -394,7 +394,7 @@ PetalburgCity_Gym_EventScript_1549D6:: @ 81549D6
msgbox PetalburgCity_Gym_Text_17A653, 4
trainerbattle 3, OPPONENT_NORMAN, 0, PetalburgCity_Gym_Text_17A77A
message PetalburgCity_Gym_Text_17A7DD
- waittext
+ waitmessage
call PetalburgCity_Gym_EventScript_1A02C5
msgbox PetalburgCity_Gym_Text_17A805, 4
setflag 1217
@@ -408,76 +408,76 @@ PetalburgCity_Gym_EventScript_1549D6:: @ 81549D6
clearflag 940
call PetalburgCity_Gym_EventScript_1544ED
special DrawWholeMapView
- jump PetalburgCity_Gym_EventScript_154A2C
+ goto PetalburgCity_Gym_EventScript_154A2C
end
PetalburgCity_Gym_EventScript_154A2C:: @ 8154A2C
giveitem ITEM_TM42
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_1A029B
+ goto_if_eq PetalburgCity_Gym_EventScript_1A029B
setflag 169
msgbox PetalburgCity_Gym_Text_17A8CF, 4
msgbox PetalburgCity_Gym_Text_17A976, 4
- closebutton
+ closemessage
compare FACING, 2
- callif 1, PetalburgCity_Gym_EventScript_154ABC
+ call_if 1, PetalburgCity_Gym_EventScript_154ABC
compare FACING, 1
- callif 1, PetalburgCity_Gym_EventScript_154AC7
+ call_if 1, PetalburgCity_Gym_EventScript_154AC7
compare FACING, 3
- callif 1, PetalburgCity_Gym_EventScript_154AD2
+ call_if 1, PetalburgCity_Gym_EventScript_154AD2
compare FACING, 4
- callif 1, PetalburgCity_Gym_EventScript_154ADD
- pause 70
+ call_if 1, PetalburgCity_Gym_EventScript_154ADD
+ delay 70
compare FACING, 2
- callif 1, PetalburgCity_Gym_EventScript_154AE8
+ call_if 1, PetalburgCity_Gym_EventScript_154AE8
compare FACING, 1
- callif 1, PetalburgCity_Gym_EventScript_154AF3
+ call_if 1, PetalburgCity_Gym_EventScript_154AF3
compare FACING, 3
- callif 1, PetalburgCity_Gym_EventScript_154AFE
+ call_if 1, PetalburgCity_Gym_EventScript_154AFE
compare FACING, 4
- callif 1, PetalburgCity_Gym_EventScript_154B09
+ call_if 1, PetalburgCity_Gym_EventScript_154B09
msgbox PetalburgCity_Gym_Text_17A9F6, 4
release
end
PetalburgCity_Gym_EventScript_154ABC:: @ 8154ABC
- move 1, PetalburgCity_Gym_Movement_1A0841
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0841
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154AC7:: @ 8154AC7
- move 1, PetalburgCity_Gym_Movement_1A0845
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154AD2:: @ 8154AD2
- move 1, PetalburgCity_Gym_Movement_1A083F
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A083F
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154ADD:: @ 8154ADD
- move 1, PetalburgCity_Gym_Movement_1A0843
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0843
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154AE8:: @ 8154AE8
- move 1, PetalburgCity_Gym_Movement_1A0845
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0845
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154AF3:: @ 8154AF3
- move 1, PetalburgCity_Gym_Movement_1A0841
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0841
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154AFE:: @ 8154AFE
- move 1, PetalburgCity_Gym_Movement_1A0843
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A0843
+ waitmovement 0
return
PetalburgCity_Gym_EventScript_154B09:: @ 8154B09
- move 1, PetalburgCity_Gym_Movement_1A083F
- waitmove 0
+ applymovement 1, PetalburgCity_Gym_Movement_1A083F
+ waitmovement 0
return
@ 8154B14
@@ -593,20 +593,20 @@ PetalburgCity_Gym_EventScript_154B69:: @ 8154B69
PetalburgCity_Gym_EventScript_154B73:: @ 8154B73
lockall
compare 0x4085, 6
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 7
setvar 0x8009, 85
msgbox PetalburgCity_Gym_Text_17B870, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154BA8:: @ 8154BA8
- closebutton
- pause 30
- warpwalk PetalburgCity_Gym, 255, 32776, 32777
+ closemessage
+ delay 30
+ warpdoor PetalburgCity_Gym, 255, 32776, 32777
waitstate
releaseall
end
@@ -623,150 +623,150 @@ PetalburgCity_Gym_EventScript_154BB9:: @ 8154BB9
PetalburgCity_Gym_EventScript_154BC3:: @ 8154BC3
lockall
compare 0x4085, 6
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 1
setvar 0x8009, 98
msgbox PetalburgCity_Gym_Text_17B8D4, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154BF8:: @ 8154BF8
lockall
checktrainerflag OPPONENT_RANDALL
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 7
setvar 0x8009, 46
msgbox PetalburgCity_Gym_Text_17B90F, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154C2B:: @ 8154C2B
lockall
checktrainerflag OPPONENT_RANDALL
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 1
setvar 0x8009, 59
msgbox PetalburgCity_Gym_Text_17B950, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154C5E:: @ 8154C5E
lockall
checktrainerflag OPPONENT_MARY
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 7
setvar 0x8009, 59
msgbox PetalburgCity_Gym_Text_17B950, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154C91:: @ 8154C91
lockall
checktrainerflag OPPONENT_MARY
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 1
setvar 0x8009, 72
msgbox PetalburgCity_Gym_Text_17B98A, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154CC4:: @ 8154CC4
lockall
checktrainerflag OPPONENT_PARKER
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 1
setvar 0x8009, 20
msgbox PetalburgCity_Gym_Text_17B9C5, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154CF7:: @ 8154CF7
lockall
checktrainerflag OPPONENT_LORI
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 7
setvar 0x8009, 20
msgbox PetalburgCity_Gym_Text_17B9C5, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154D2A:: @ 8154D2A
lockall
checktrainerflag OPPONENT_LORI
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 1
setvar 0x8009, 33
msgbox PetalburgCity_Gym_Text_17BA00, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154D5D:: @ 8154D5D
lockall
checktrainerflag OPPONENT_GEORGE
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 7
setvar 0x8009, 33
msgbox PetalburgCity_Gym_Text_17BA00, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154D90:: @ 8154D90
lockall
checktrainerflag OPPONENT_JODY
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 1
setvar 0x8009, 7
msgbox PetalburgCity_Gym_Text_17BA3D, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154DC3:: @ 8154DC3
lockall
checktrainerflag OPPONENT_BERKE
- jumpif 0, PetalburgCity_Gym_EventScript_154BB9
+ goto_if 0, PetalburgCity_Gym_EventScript_154BB9
setvar 0x8008, 7
setvar 0x8009, 7
msgbox PetalburgCity_Gym_Text_17BA3D, 5
compare RESULT, 1
- jumpeq PetalburgCity_Gym_EventScript_154BA8
+ goto_if_eq PetalburgCity_Gym_EventScript_154BA8
compare RESULT, 0
- jumpeq PetalburgCity_Gym_EventScript_154BB7
+ goto_if_eq PetalburgCity_Gym_EventScript_154BB7
end
PetalburgCity_Gym_EventScript_154DF6:: @ 8154DF6
trainerbattle 2, OPPONENT_RANDALL, 0, PetalburgCity_Gym_Text_17ADA5, PetalburgCity_Gym_Text_17AE11, PetalburgCity_Gym_EventScript_154E1A
checkflag 1217
- jumpeq PetalburgCity_Gym_EventScript_154E29
+ goto_if_eq PetalburgCity_Gym_EventScript_154E29
msgbox PetalburgCity_Gym_Text_17AE30, 6
end
@@ -784,7 +784,7 @@ PetalburgCity_Gym_EventScript_154E29:: @ 8154E29
PetalburgCity_Gym_EventScript_154E32:: @ 8154E32
trainerbattle 2, OPPONENT_PARKER, 0, PetalburgCity_Gym_Text_17AF5A, PetalburgCity_Gym_Text_17AF98, PetalburgCity_Gym_EventScript_154E56
checkflag 1217
- jumpeq PetalburgCity_Gym_EventScript_154E65
+ goto_if_eq PetalburgCity_Gym_EventScript_154E65
msgbox PetalburgCity_Gym_Text_17AFD3, 6
end
@@ -802,7 +802,7 @@ PetalburgCity_Gym_EventScript_154E65:: @ 8154E65
PetalburgCity_Gym_EventScript_154E6E:: @ 8154E6E
trainerbattle 2, OPPONENT_GEORGE, 0, PetalburgCity_Gym_Text_17B058, PetalburgCity_Gym_Text_17B0F7, PetalburgCity_Gym_EventScript_154E92
checkflag 1217
- jumpeq PetalburgCity_Gym_EventScript_154EA1
+ goto_if_eq PetalburgCity_Gym_EventScript_154EA1
msgbox PetalburgCity_Gym_Text_17B12C, 6
end
@@ -820,7 +820,7 @@ PetalburgCity_Gym_EventScript_154EA1:: @ 8154EA1
PetalburgCity_Gym_EventScript_154EAA:: @ 8154EAA
trainerbattle 2, OPPONENT_BERKE, 0, PetalburgCity_Gym_Text_17B237, PetalburgCity_Gym_Text_17B2C0, PetalburgCity_Gym_EventScript_154ECE
checkflag 1217
- jumpeq PetalburgCity_Gym_EventScript_154EDD
+ goto_if_eq PetalburgCity_Gym_EventScript_154EDD
msgbox PetalburgCity_Gym_Text_17B2E4, 6
end
@@ -838,7 +838,7 @@ PetalburgCity_Gym_EventScript_154EDD:: @ 8154EDD
PetalburgCity_Gym_EventScript_154EE6:: @ 8154EE6
trainerbattle 2, OPPONENT_MARY, 0, PetalburgCity_Gym_Text_17B3F7, PetalburgCity_Gym_Text_17B454, PetalburgCity_Gym_EventScript_154F0A
checkflag 1217
- jumpeq PetalburgCity_Gym_EventScript_154F19
+ goto_if_eq PetalburgCity_Gym_EventScript_154F19
msgbox PetalburgCity_Gym_Text_17B46F, 6
end
@@ -856,7 +856,7 @@ PetalburgCity_Gym_EventScript_154F19:: @ 8154F19
PetalburgCity_Gym_EventScript_154F22:: @ 8154F22
trainerbattle 2, OPPONENT_LORI, 0, PetalburgCity_Gym_Text_17B58D, PetalburgCity_Gym_Text_17B5CB, PetalburgCity_Gym_EventScript_154F46
checkflag 1217
- jumpeq PetalburgCity_Gym_EventScript_154F55
+ goto_if_eq PetalburgCity_Gym_EventScript_154F55
msgbox PetalburgCity_Gym_Text_17B5EA, 6
end
@@ -874,7 +874,7 @@ PetalburgCity_Gym_EventScript_154F55:: @ 8154F55
PetalburgCity_Gym_EventScript_154F5E:: @ 8154F5E
trainerbattle 2, OPPONENT_JODY, 0, PetalburgCity_Gym_Text_17B6D4, PetalburgCity_Gym_Text_17B732, PetalburgCity_Gym_EventScript_154F82
checkflag 1217
- jumpeq PetalburgCity_Gym_EventScript_154F91
+ goto_if_eq PetalburgCity_Gym_EventScript_154F91
msgbox PetalburgCity_Gym_Text_17B749, 6
end
@@ -892,72 +892,72 @@ PetalburgCity_Gym_EventScript_154F91:: @ 8154F91
PetalburgCity_Gym_EventScript_154F9A:: @ 8154F9A
setvar 0x8004, 1
compare 0x8005, 0
- callif 1, PetalburgCity_Gym_EventScript_155182
+ call_if 1, PetalburgCity_Gym_EventScript_155182
compare 0x8005, 1
- callif 1, PetalburgCity_Gym_EventScript_155187
+ call_if 1, PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_1550A2
return
PetalburgCity_Gym_EventScript_154FBB:: @ 8154FBB
setvar 0x8004, 2
compare 0x8005, 0
- callif 1, PetalburgCity_Gym_EventScript_155182
+ call_if 1, PetalburgCity_Gym_EventScript_155182
compare 0x8005, 1
- callif 1, PetalburgCity_Gym_EventScript_155187
+ call_if 1, PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_1550C7
return
PetalburgCity_Gym_EventScript_154FDC:: @ 8154FDC
setvar 0x8004, 3
compare 0x8005, 0
- callif 1, PetalburgCity_Gym_EventScript_155182
+ call_if 1, PetalburgCity_Gym_EventScript_155182
compare 0x8005, 1
- callif 1, PetalburgCity_Gym_EventScript_155187
+ call_if 1, PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_1550EC
return
PetalburgCity_Gym_EventScript_154FFD:: @ 8154FFD
setvar 0x8004, 4
compare 0x8005, 0
- callif 1, PetalburgCity_Gym_EventScript_155182
+ call_if 1, PetalburgCity_Gym_EventScript_155182
compare 0x8005, 1
- callif 1, PetalburgCity_Gym_EventScript_155187
+ call_if 1, PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_155111
return
PetalburgCity_Gym_EventScript_15501E:: @ 815501E
setvar 0x8004, 5
compare 0x8005, 0
- callif 1, PetalburgCity_Gym_EventScript_155182
+ call_if 1, PetalburgCity_Gym_EventScript_155182
compare 0x8005, 1
- callif 1, PetalburgCity_Gym_EventScript_155187
+ call_if 1, PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_155124
return
PetalburgCity_Gym_EventScript_15503F:: @ 815503F
setvar 0x8004, 6
compare 0x8005, 0
- callif 1, PetalburgCity_Gym_EventScript_155182
+ call_if 1, PetalburgCity_Gym_EventScript_155182
compare 0x8005, 1
- callif 1, PetalburgCity_Gym_EventScript_155187
+ call_if 1, PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_155149
return
PetalburgCity_Gym_EventScript_155060:: @ 8155060
setvar 0x8004, 7
compare 0x8005, 0
- callif 1, PetalburgCity_Gym_EventScript_155182
+ call_if 1, PetalburgCity_Gym_EventScript_155182
compare 0x8005, 1
- callif 1, PetalburgCity_Gym_EventScript_155187
+ call_if 1, PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_15515C
return
PetalburgCity_Gym_EventScript_155081:: @ 8155081
setvar 0x8004, 8
compare 0x8005, 0
- callif 1, PetalburgCity_Gym_EventScript_155182
+ call_if 1, PetalburgCity_Gym_EventScript_155182
compare 0x8005, 1
- callif 1, PetalburgCity_Gym_EventScript_155187
+ call_if 1, PetalburgCity_Gym_EventScript_155187
call PetalburgCity_Gym_EventScript_15516F
return
@@ -1022,7 +1022,7 @@ PetalburgCity_Gym_EventScript_15518B:: @ 815518B
lock
faceplayer
checkflag 1217
- jumpeq PetalburgCity_Gym_EventScript_1551A0
+ goto_if_eq PetalburgCity_Gym_EventScript_1551A0
msgbox PetalburgCity_Gym_Text_17AB96, 4
release
end
@@ -1035,15 +1035,15 @@ PetalburgCity_Gym_EventScript_1551A0:: @ 81551A0
PetalburgCity_Gym_EventScript_1551AA:: @ 81551AA
lockall
checkflag 2059
- jumpeq PetalburgCity_Gym_EventScript_1551CA
- jump PetalburgCity_Gym_EventScript_1551D4
+ goto_if_eq PetalburgCity_Gym_EventScript_1551CA
+ goto PetalburgCity_Gym_EventScript_1551D4
end
PetalburgCity_Gym_EventScript_1551BA:: @ 81551BA
lockall
checkflag 2059
- jumpeq PetalburgCity_Gym_EventScript_1551CA
- jump PetalburgCity_Gym_EventScript_1551D4
+ goto_if_eq PetalburgCity_Gym_EventScript_1551CA
+ goto PetalburgCity_Gym_EventScript_1551D4
end
PetalburgCity_Gym_EventScript_1551CA:: @ 81551CA
diff --git a/data/scripts/maps/PetalburgCity_Mart.inc b/data/scripts/maps/PetalburgCity_Mart.inc
index 2eac03cac..e4186eaae 100644
--- a/data/scripts/maps/PetalburgCity_Mart.inc
+++ b/data/scripts/maps/PetalburgCity_Mart.inc
@@ -5,9 +5,9 @@ PetalburgCity_Mart_EventScript_1552B0:: @ 81552B0
lock
faceplayer
message PetalburgCity_Mart_Text_1A0BE4
- waittext
+ waitmessage
checkflag 296
- jumpeq PetalburgCity_Mart_EventScript_1552EA
+ goto_if_eq PetalburgCity_Mart_EventScript_1552EA
pokemart PetalburgCity_Mart_Items1
msgbox PetalburgCity_Mart_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
index 5ef99eee1..e2013a1d6 100644
--- a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
@@ -10,7 +10,7 @@ PetalburgCity_PokemonCenter_1F_MapScript1_15520A:: @ 815520A
PetalburgCity_PokemonCenter_1F_EventScript_155213:: @ 8155213
setvar 0x800b, 1
call PetalburgCity_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
@@ -27,19 +27,19 @@ PetalburgCity_PokemonCenter_1F_EventScript_155233:: @ 8155233
lock
faceplayer
msgbox PetalburgCity_PokemonCenter_1F_Text_17BDC5, 4
- specialval RESULT, IsStarterInParty
+ specialvar RESULT, IsStarterInParty
compare RESULT, 1
- jumpeq PetalburgCity_PokemonCenter_1F_EventScript_15524F
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_15524F
release
end
PetalburgCity_PokemonCenter_1F_EventScript_15524F:: @ 815524F
compare 0x4023, 0
- callif 1, PetalburgCity_PokemonCenter_1F_EventScript_155272
+ call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_155272
compare 0x4023, 1
- callif 1, PetalburgCity_PokemonCenter_1F_EventScript_15527B
+ call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_15527B
compare 0x4023, 2
- callif 1, PetalburgCity_PokemonCenter_1F_EventScript_155284
+ call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_155284
release
end
diff --git a/data/scripts/maps/PetalburgCity_WallysHouse.inc b/data/scripts/maps/PetalburgCity_WallysHouse.inc
index e8ac407dc..d8e95d8c6 100644
--- a/data/scripts/maps/PetalburgCity_WallysHouse.inc
+++ b/data/scripts/maps/PetalburgCity_WallysHouse.inc
@@ -5,13 +5,13 @@ PetalburgCity_WallysHouse_EventScript_1543C4:: @ 81543C4
lock
faceplayer
checkflag 126
- jumpeq PetalburgCity_WallysHouse_EventScript_1543F7
+ goto_if_eq PetalburgCity_WallysHouse_EventScript_1543F7
checkflag 122
- jumpeq PetalburgCity_WallysHouse_EventScript_154427
+ goto_if_eq PetalburgCity_WallysHouse_EventScript_154427
checkflag 1217
- jumpeq PetalburgCity_WallysHouse_EventScript_154406
+ goto_if_eq PetalburgCity_WallysHouse_EventScript_154406
checkflag 135
- jumpeq PetalburgCity_WallysHouse_EventScript_15443B
+ goto_if_eq PetalburgCity_WallysHouse_EventScript_15443B
msgbox PetalburgCity_WallysHouse_Text_179805, 4
setflag 135
release
@@ -19,8 +19,8 @@ PetalburgCity_WallysHouse_EventScript_1543C4:: @ 81543C4
PetalburgCity_WallysHouse_EventScript_1543F7:: @ 81543F7
checkflag 122
- jumpeq PetalburgCity_WallysHouse_EventScript_154431
- jump PetalburgCity_WallysHouse_EventScript_154406
+ goto_if_eq PetalburgCity_WallysHouse_EventScript_154431
+ goto PetalburgCity_WallysHouse_EventScript_154406
end
PetalburgCity_WallysHouse_EventScript_154406:: @ 8154406
@@ -50,9 +50,9 @@ PetalburgCity_WallysHouse_EventScript_154445:: @ 8154445
lock
faceplayer
checkflag 122
- jumpeq PetalburgCity_WallysHouse_EventScript_15446D
+ goto_if_eq PetalburgCity_WallysHouse_EventScript_15446D
checkflag 1217
- jumpeq PetalburgCity_WallysHouse_EventScript_154463
+ goto_if_eq PetalburgCity_WallysHouse_EventScript_154463
msgbox PetalburgCity_WallysHouse_Text_179C2C, 4
release
end
diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc
index c24f7c195..0b0c72f70 100644
--- a/data/scripts/maps/PetalburgWoods.inc
+++ b/data/scripts/maps/PetalburgWoods.inc
@@ -9,108 +9,108 @@ PetalburgWoods_MapScript1_15CCA2:: @ 815CCA2
PetalburgWoods_EventScript_15CCA8:: @ 815CCA8
lockall
call PetalburgWoods_EventScript_15CDE6
- move 4, PetalburgWoods_Movement_15CE89
- waitmove 0
+ applymovement 4, PetalburgWoods_Movement_15CE89
+ waitmovement 0
msgbox PetalburgWoods_Text_194D92, 4
- closebutton
- playmusic BGM_EVIL_TEAM, 0
- move 3, PetalburgWoods_Movement_15CEC3
- waitmove 0
+ closemessage
+ playbgm BGM_EVIL_TEAM, 0
+ applymovement 3, PetalburgWoods_Movement_15CEC3
+ waitmovement 0
msgbox PetalburgWoods_Text_194DED, 4
- closebutton
- move 3, PetalburgWoods_Movement_15CEB0
- waitmove 0
- move 4, PetalburgWoods_Movement_1A0841
- waitmove 0
+ closemessage
+ applymovement 3, PetalburgWoods_Movement_15CEB0
+ waitmovement 0
+ applymovement 4, PetalburgWoods_Movement_1A0841
+ waitmovement 0
msgbox PetalburgWoods_Text_194E6B, 4
- closebutton
- move 4, PetalburgWoods_Movement_15CE9E
- waitmove 0
+ closemessage
+ applymovement 4, PetalburgWoods_Movement_15CE9E
+ waitmovement 0
msgbox PetalburgWoods_Text_194E9A, 4
- move 3, PetalburgWoods_Movement_15CEC8
- waitmove 0
+ applymovement 3, PetalburgWoods_Movement_15CEC8
+ waitmovement 0
msgbox PetalburgWoods_Text_194EE8, 4
trainerbattle 3, OPPONENT_PETALBURG_WOODS_GRUNT, 0, PetalburgWoods_Text_194F83
- move 3, PetalburgWoods_Movement_15CEB3
- waitmove 0
+ applymovement 3, PetalburgWoods_Movement_15CEB3
+ waitmovement 0
call PetalburgWoods_EventScript_15CDFA
- move 4, PetalburgWoods_Movement_15CE80
- waitmove 0
- jump PetalburgWoods_EventScript_15CE69
+ applymovement 4, PetalburgWoods_Movement_15CE80
+ waitmovement 0
+ goto PetalburgWoods_EventScript_15CE69
end
PetalburgWoods_EventScript_15CD42:: @ 815CD42
lockall
call PetalburgWoods_EventScript_15CDE6
- move 4, PetalburgWoods_Movement_15CE8E
- waitmove 0
- move 255, PetalburgWoods_Movement_1A083F
- waitmove 0
+ applymovement 4, PetalburgWoods_Movement_15CE8E
+ waitmovement 0
+ applymovement 255, PetalburgWoods_Movement_1A083F
+ waitmovement 0
msgbox PetalburgWoods_Text_194D92, 4
- closebutton
- playmusic BGM_EVIL_TEAM, 0
- move 3, PetalburgWoods_Movement_15CEC3
- waitmove 0
+ closemessage
+ playbgm BGM_EVIL_TEAM, 0
+ applymovement 3, PetalburgWoods_Movement_15CEC3
+ waitmovement 0
msgbox PetalburgWoods_Text_194DED, 4
- closebutton
- move 3, PetalburgWoods_Movement_15CEBF
- waitmove 0
- move 4, PetalburgWoods_Movement_1A0841
- waitmove 0
+ closemessage
+ applymovement 3, PetalburgWoods_Movement_15CEBF
+ waitmovement 0
+ applymovement 4, PetalburgWoods_Movement_1A0841
+ waitmovement 0
msgbox PetalburgWoods_Text_194E6B, 4
- closebutton
- move 4, PetalburgWoods_Movement_15CEA4
- waitmove 0
+ closemessage
+ applymovement 4, PetalburgWoods_Movement_15CEA4
+ waitmovement 0
msgbox PetalburgWoods_Text_194E9A, 4
- move 255, PetalburgWoods_Movement_1A0841
- waitmove 0
+ applymovement 255, PetalburgWoods_Movement_1A0841
+ waitmovement 0
msgbox PetalburgWoods_Text_194EE8, 4
trainerbattle 3, OPPONENT_PETALBURG_WOODS_GRUNT, 0, PetalburgWoods_Text_194F83
- move 3, PetalburgWoods_Movement_15CEB3
- waitmove 0
+ applymovement 3, PetalburgWoods_Movement_15CEB3
+ waitmovement 0
call PetalburgWoods_EventScript_15CDFA
- move 4, PetalburgWoods_Movement_15CE95
- waitmove 0
- jump PetalburgWoods_EventScript_15CE69
+ applymovement 4, PetalburgWoods_Movement_15CE95
+ waitmovement 0
+ goto PetalburgWoods_EventScript_15CE69
end
PetalburgWoods_EventScript_15CDE6:: @ 815CDE6
- move 4, PetalburgWoods_Movement_15CE73
- waitmove 0
+ applymovement 4, PetalburgWoods_Movement_15CE73
+ waitmovement 0
msgbox PetalburgWoods_Text_194D71, 4
- closebutton
+ closemessage
return
PetalburgWoods_EventScript_15CDFA:: @ 815CDFA
msgbox PetalburgWoods_Text_194FA4, 4
- closebutton
- move 3, PetalburgWoods_Movement_15CEB7
- waitmove 0
- disappear 3
- move 255, PetalburgWoods_Movement_1A0845
- waitmove 0
+ closemessage
+ applymovement 3, PetalburgWoods_Movement_15CEB7
+ waitmovement 0
+ removeobject 3
+ applymovement 255, PetalburgWoods_Movement_1A0845
+ waitmovement 0
msgbox PetalburgWoods_Text_19507E, 4
giveitem ITEM_GREAT_BALL
compare RESULT, 0
- jumpeq PetalburgWoods_EventScript_15CE3F
- jump PetalburgWoods_EventScript_15CE4D
+ goto_if_eq PetalburgWoods_EventScript_15CE3F
+ goto PetalburgWoods_EventScript_15CE4D
end
PetalburgWoods_EventScript_15CE3F:: @ 815CE3F
msgbox PetalburgWoods_Text_195182, 4
- jump PetalburgWoods_EventScript_15CE4D
+ goto PetalburgWoods_EventScript_15CE4D
end
PetalburgWoods_EventScript_15CE4D:: @ 815CE4D
msgbox PetalburgWoods_Text_19510A, 4
- move 4, PetalburgWoods_Movement_15CEA8
- waitmove 0
+ applymovement 4, PetalburgWoods_Movement_15CEA8
+ waitmovement 0
msgbox PetalburgWoods_Text_195153, 4
- closebutton
+ closemessage
return
PetalburgWoods_EventScript_15CE69:: @ 815CE69
- disappear 4
+ removeobject 4
setvar 0x4098, 1
releaseall
end
@@ -242,11 +242,11 @@ PetalburgWoods_EventScript_15CEDC:: @ 815CEDC
lock
faceplayer
checkflag 297
- jumpeq PetalburgWoods_EventScript_15CF0B
+ goto_if_eq PetalburgWoods_EventScript_15CF0B
msgbox PetalburgWoods_Text_19549E, 4
giveitem ITEM_MIRACLE_SEED
compare RESULT, 0
- jumpeq PetalburgWoods_EventScript_1A029B
+ goto_if_eq PetalburgWoods_EventScript_1A029B
setflag 297
release
end
@@ -271,9 +271,9 @@ PetalburgWoods_EventScript_15CF27:: @ 815CF27
PetalburgWoods_EventScript_15CF3E:: @ 815CF3E
trainerbattle 0, OPPONENT_JAMES_1, 0, PetalburgWoods_Text_19526A, PetalburgWoods_Text_1952AE
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq PetalburgWoods_EventScript_15CF65
+ goto_if_eq PetalburgWoods_EventScript_15CF65
msgbox PetalburgWoods_Text_1952CC, 6
end
diff --git a/data/scripts/maps/Route101.inc b/data/scripts/maps/Route101.inc
index d945aadfc..2fe80e098 100644
--- a/data/scripts/maps/Route101.inc
+++ b/data/scripts/maps/Route101.inc
@@ -18,25 +18,25 @@ Route101_EventScript_14E93F:: @ 814E93F
Route101_EventScript_14E948:: @ 814E948
lockall
- playmusic 410, 1
+ playbgm 410, 1
msgbox Route101_Text_16D10E, 4
- closebutton
- movesprite 2, 0, 15
- movesprite 4, 0, 16
- move 255, Route101_Movement_14EA2C
- move 2, Route101_Movement_14EA50
- move 4, Route101_Movement_14EA1F
- waitmove 0
- move 4, Route101_Movement_14EA00
- move 2, Route101_Movement_14EA31
- waitmove 0
- move 2, Route101_Movement_1A0843
- waitmove 0
- move 4, Route101_Movement_14EA27
- move 2, Route101_Movement_14EA58
- waitmove 0
+ closemessage
+ setobjectxy 2, 0, 15
+ setobjectxy 4, 0, 16
+ applymovement 255, Route101_Movement_14EA2C
+ applymovement 2, Route101_Movement_14EA50
+ applymovement 4, Route101_Movement_14EA1F
+ waitmovement 0
+ applymovement 4, Route101_Movement_14EA00
+ applymovement 2, Route101_Movement_14EA31
+ waitmovement 0
+ applymovement 2, Route101_Movement_1A0843
+ waitmovement 0
+ applymovement 4, Route101_Movement_14EA27
+ applymovement 2, Route101_Movement_14EA58
+ waitmovement 0
msgbox Route101_Text_16D119, 4
- closebutton
+ closemessage
setvar 0x4060, 2
releaseall
end
@@ -44,27 +44,27 @@ Route101_EventScript_14E948:: @ 814E948
Route101_EventScript_14E9B8:: @ 814E9B8
lockall
msgbox Route101_Text_16D15E, 4
- closebutton
- move 255, Route101_Movement_14E9FA
- waitmove 0
+ closemessage
+ applymovement 255, Route101_Movement_14E9FA
+ waitmovement 0
releaseall
end
Route101_EventScript_14E9CE:: @ 814E9CE
lockall
msgbox Route101_Text_16D15E, 4
- closebutton
- move 255, Route101_Movement_14E9FC
- waitmove 0
+ closemessage
+ applymovement 255, Route101_Movement_14E9FC
+ waitmovement 0
releaseall
end
Route101_EventScript_14E9E4:: @ 814E9E4
lockall
msgbox Route101_Text_16D15E, 4
- closebutton
- move 255, Route101_Movement_14E9FE
- waitmove 0
+ closemessage
+ applymovement 255, Route101_Movement_14E9FE
+ waitmovement 0
releaseall
end
@@ -220,14 +220,14 @@ Route101_EventScript_14EA7F:: @ 814EA7F
setflag 2048
setflag 82
fadescreen 1
- disappear 4
- movesprite 255, 6, 13
- move 255, Route101_Movement_1A083F
- waitmove 0
+ removeobject 4
+ setobjectxy 255, 6, 13
+ applymovement 255, Route101_Movement_1A083F
+ waitmovement 0
special ScrSpecial_ChooseStarter
waitstate
- move 2, Route101_Movement_14EAD7
- waitmove 0
+ applymovement 2, Route101_Movement_14EAD7
+ waitmovement 0
msgbox Route101_Text_16D191, 4
special ScrSpecial_HealPlayerParty
setflag 720
diff --git a/data/scripts/maps/Route102.inc b/data/scripts/maps/Route102.inc
index b0a714763..95a0a4a1f 100644
--- a/data/scripts/maps/Route102.inc
+++ b/data/scripts/maps/Route102.inc
@@ -19,9 +19,9 @@ Route102_EventScript_14EAF5:: @ 814EAF5
Route102_EventScript_14EAFE:: @ 814EAFE
trainerbattle 0, OPPONENT_CALVIN_1, 0, Route102_Text_1B79C3, Route102_Text_1B7A2C
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route102_EventScript_14EB25
+ goto_if_eq Route102_EventScript_14EB25
msgbox Route102_Text_1B7A60, 6
end
diff --git a/data/scripts/maps/Route103.inc b/data/scripts/maps/Route103.inc
index 4c7da3d0d..ff0ccce30 100644
--- a/data/scripts/maps/Route103.inc
+++ b/data/scripts/maps/Route103.inc
@@ -9,22 +9,22 @@ Route103_MapScript1_14EB87:: @ 814EB87
Route103_EventScript_14EB92:: @ 814EB92
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq Route103_EventScript_14EBAB
+ goto_if_eq Route103_EventScript_14EBAB
compare RESULT, 1
- jumpeq Route103_EventScript_14EC04
+ goto_if_eq Route103_EventScript_14EC04
end
Route103_EventScript_14EBAB:: @ 814EBAB
msgbox Route103_Text_16D57A, 4
- playmusic 415, 1
- move 2, Route103_Movement_1A0839
- waitmove 0
- move 2, Route103_Movement_1A0833
- waitmove 0
- move 2, Route103_Movement_1A0835
- waitmove 0
+ playbgm 415, 1
+ applymovement 2, Route103_Movement_1A0839
+ waitmovement 0
+ applymovement 2, Route103_Movement_1A0833
+ waitmovement 0
+ applymovement 2, Route103_Movement_1A0835
+ waitmovement 0
msgbox Route103_Text_16D5B6, 4
switch 0x4023
case 0, Route103_EventScript_14EC5D
@@ -34,13 +34,13 @@ Route103_EventScript_14EBAB:: @ 814EBAB
Route103_EventScript_14EC04:: @ 814EC04
msgbox Route103_Text_16D762, 4
- playmusic 421, 1
- move 2, Route103_Movement_1A0839
- waitmove 0
- move 2, Route103_Movement_1A0833
- waitmove 0
- move 2, Route103_Movement_1A0835
- waitmove 0
+ playbgm 421, 1
+ applymovement 2, Route103_Movement_1A0839
+ waitmovement 0
+ applymovement 2, Route103_Movement_1A0833
+ waitmovement 0
+ applymovement 2, Route103_Movement_1A0835
+ waitmovement 0
msgbox Route103_Text_16D7A9, 4
switch 0x4023
case 0, Route103_EventScript_14EC8D
@@ -50,46 +50,46 @@ Route103_EventScript_14EC04:: @ 814EC04
Route103_EventScript_14EC5D:: @ 814EC5D
trainerbattle 3, OPPONENT_MAY_4, 0, Route103_Text_16D65B
- jump Route103_EventScript_14ECBD
+ goto Route103_EventScript_14ECBD
end
Route103_EventScript_14EC6D:: @ 814EC6D
trainerbattle 3, OPPONENT_MAY_7, 0, Route103_Text_16D65B
- jump Route103_EventScript_14ECBD
+ goto Route103_EventScript_14ECBD
end
Route103_EventScript_14EC7D:: @ 814EC7D
trainerbattle 3, OPPONENT_MAY_1, 0, Route103_Text_16D65B
- jump Route103_EventScript_14ECBD
+ goto Route103_EventScript_14ECBD
end
Route103_EventScript_14EC8D:: @ 814EC8D
trainerbattle 3, OPPONENT_BRENDAN_4, 0, Route103_Text_16D836
- jump Route103_EventScript_14ECCB
+ goto Route103_EventScript_14ECCB
end
Route103_EventScript_14EC9D:: @ 814EC9D
trainerbattle 3, OPPONENT_BRENDAN_7, 0, Route103_Text_16D836
- jump Route103_EventScript_14ECCB
+ goto Route103_EventScript_14ECCB
end
Route103_EventScript_14ECAD:: @ 814ECAD
trainerbattle 3, OPPONENT_BRENDAN_1, 0, Route103_Text_16D836
- jump Route103_EventScript_14ECCB
+ goto Route103_EventScript_14ECCB
end
Route103_EventScript_14ECBD:: @ 814ECBD
msgbox Route103_Text_16D688, 4
- jump Route103_EventScript_14ECD9
+ goto Route103_EventScript_14ECD9
end
Route103_EventScript_14ECCB:: @ 814ECCB
msgbox Route103_Text_16D856, 4
- jump Route103_EventScript_14ECD9
+ goto Route103_EventScript_14ECD9
end
Route103_EventScript_14ECD9:: @ 814ECD9
- closebutton
+ closemessage
switch FACING
case 1, Route103_EventScript_14ED29
case 2, Route103_EventScript_14ED0C
@@ -98,33 +98,33 @@ Route103_EventScript_14ECD9:: @ 814ECD9
end
Route103_EventScript_14ED0C:: @ 814ED0C
- move 2, Route103_Movement_14ED67
- waitmove 0
- playsfx 10
- move 2, Route103_Movement_14ED6B
- waitmove 0
- jump Route103_EventScript_14ED46
+ applymovement 2, Route103_Movement_14ED67
+ waitmovement 0
+ playse 10
+ applymovement 2, Route103_Movement_14ED6B
+ waitmovement 0
+ goto Route103_EventScript_14ED46
end
Route103_EventScript_14ED29:: @ 814ED29
- move 2, Route103_Movement_14ED71
- waitmove 0
- playsfx 10
- move 2, Route103_Movement_14ED74
- waitmove 0
- jump Route103_EventScript_14ED46
+ applymovement 2, Route103_Movement_14ED71
+ waitmovement 0
+ playse 10
+ applymovement 2, Route103_Movement_14ED74
+ waitmovement 0
+ goto Route103_EventScript_14ED46
end
Route103_EventScript_14ED46:: @ 814ED46
- disappear 2
+ removeobject 2
setvar 0x4062, 1
setvar 0x4084, 4
clearflag 889
setflag 130
setvar 0x40c7, 1
clearflag 979
- playmusicbattle 0
- fadedefault
+ savebgm 0
+ fadedefaultbgm
releaseall
end
@@ -173,9 +173,9 @@ Route103_EventScript_14ED94:: @ 814ED94
Route103_EventScript_14EDAB:: @ 814EDAB
trainerbattle 4, OPPONENT_AMY_AND_LIV_1, 0, Route103_Text_1B7DF7, Route103_Text_1B7E3B, Route103_Text_1B7EAC
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route103_EventScript_14EDD6
+ goto_if_eq Route103_EventScript_14EDD6
msgbox Route103_Text_1B7E50, 6
end
@@ -186,9 +186,9 @@ Route103_EventScript_14EDD6:: @ 814EDD6
Route103_EventScript_14EDF1:: @ 814EDF1
trainerbattle 4, OPPONENT_AMY_AND_LIV_1, 0, Route103_Text_1B7EFB, Route103_Text_1B7F20, Route103_Text_1B7F8E
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route103_EventScript_14EE1C
+ goto_if_eq Route103_EventScript_14EE1C
msgbox Route103_Text_1B7F40, 6
end
@@ -204,9 +204,9 @@ Route103_EventScript_14EE37:: @ 814EE37
Route103_EventScript_14EE4E:: @ 814EE4E
trainerbattle 0, OPPONENT_MIGUEL_1, 0, Route103_Text_1B82A9, Route103_Text_1B82EC
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route103_EventScript_14EE75
+ goto_if_eq Route103_EventScript_14EE75
msgbox Route103_Text_1B830D, 6
end
diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc
index b617767bf..651f2afb4 100644
--- a/data/scripts/maps/Route104.inc
+++ b/data/scripts/maps/Route104.inc
@@ -9,7 +9,7 @@ Route104_MapScript2_14EE97:: @ 814EE97
Route104_EventScript_14EEA1:: @ 814EEA1
lockall
- jump Route104_EventScript_14EFD5
+ goto Route104_EventScript_14EFD5
end
Route104_MapScript1_14EEA8:: @ 814EEA8
@@ -18,9 +18,9 @@ Route104_MapScript1_14EEA8:: @ 814EEA8
Route104_EventScript_14EEAE:: @ 814EEAE
checkflag 127
- jumpif 0, Route104_EventScript_14EEC4
+ goto_if 0, Route104_EventScript_14EEC4
checkflag 2057
- jumpif 0, Route104_EventScript_14EEC4
+ goto_if 0, Route104_EventScript_14EEC4
clearflag 906
return
@@ -32,11 +32,11 @@ Route104_EventScript_14EEC8:: @ 814EEC8
lock
faceplayer
checkflag 246
- jumpeq Route104_EventScript_14EEFF
+ goto_if_eq Route104_EventScript_14EEFF
msgbox Route104_Text_1C55B9, 4
giveitem ITEM_CHESTO_BERRY
compare RESULT, 0
- jumpeq Route104_EventScript_1A029B
+ goto_if_eq Route104_EventScript_1A029B
setflag 246
msgbox Route104_Text_1C5665, 4
release
@@ -51,11 +51,11 @@ Route104_EventScript_14EF09:: @ 814EF09
lock
faceplayer
checkflag 279
- jumpeq Route104_EventScript_14EF38
+ goto_if_eq Route104_EventScript_14EF38
msgbox Route104_Text_16DD91, 4
giveitem ITEM_WHITE_HERB
compare RESULT, 0
- jumpeq Route104_EventScript_1A029B
+ goto_if_eq Route104_EventScript_1A029B
setflag 279
release
end
@@ -105,11 +105,11 @@ Route104_EventScript_14EF93:: @ 814EF93
lock
faceplayer
checkflag 262
- jumpeq Route104_EventScript_14EFC2
+ goto_if_eq Route104_EventScript_14EFC2
msgbox Route104_Text_16DC5F, 4
giveitem ITEM_TM09
compare RESULT, 0
- jumpeq Route104_EventScript_1A029B
+ goto_if_eq Route104_EventScript_1A029B
setflag 262
release
end
@@ -124,44 +124,44 @@ Route104_EventScript_14EFCC:: @ 814EFCC
end
Route104_EventScript_14EFD5:: @ 814EFD5
- spritelevelup 8, 0, 19, 0
- spritelevelup 255, 0, 19, 0
- move 8, Route104_Movement_14F16C
- waitmove 0
- disappear 8
- move 255, Route104_Movement_14F162
- waitmove 0
- spriteinvisible 255, 0, 19
+ setobjectpriority 8, 0, 19, 0
+ setobjectpriority 255, 0, 19, 0
+ applymovement 8, Route104_Movement_14F16C
+ waitmovement 0
+ removeobject 8
+ applymovement 255, Route104_Movement_14F162
+ waitmovement 0
+ hideobject 255, 0, 19
call Route104_EventScript_1A02E7
- move 7, Route104_Movement_14F09F
- move 255, Route104_Movement_14F09F
- waitmove 0
- move 255, Route104_Movement_14F166
- waitmove 0
+ applymovement 7, Route104_Movement_14F09F
+ applymovement 255, Route104_Movement_14F09F
+ waitmovement 0
+ applymovement 255, Route104_Movement_14F166
+ waitmovement 0
call Route104_EventScript_1A02EF
- spritevisible 255, 0, 11
- move 255, Route104_Movement_14F168
- waitmove 0
- movespriteperm 2, 12, 8
- reappear 2
- spritelevelup 2, 0, 11, 0
+ showobject 255, 0, 11
+ applymovement 255, Route104_Movement_14F168
+ waitmovement 0
+ setobjectxyperm 2, 12, 8
+ addobject 2
+ setobjectpriority 2, 0, 11, 0
clearflag 740
- move 2, Route104_Movement_14F16F
- waitmove 0
- reappear 4
+ applymovement 2, Route104_Movement_14F16F
+ waitmovement 0
+ addobject 4
clearflag 743
call Route104_EventScript_1A02EF
setflag 742
- spriteinvisible 7, 0, 19
+ hideobject 7, 0, 19
copyvar 0x4096, 0x8008
- restorespritelevel 255, 0, 19
- restorespritelevel 2, 0, 11
- moveoffscreen 2
+ resetobjectpriority 255, 0, 19
+ resetobjectpriority 2, 0, 11
+ moveobjectoffscreen 2
setvar 0x408e, 0
checkflag 189
- jumpif 0, Route104_EventScript_14F08B
+ goto_if 0, Route104_EventScript_14F08B
checkflag 189
- jumpeq Route104_EventScript_14F095
+ goto_if_eq Route104_EventScript_14F095
end
Route104_EventScript_14F08B:: @ 814F08B
@@ -409,9 +409,9 @@ Route104_EventScript_14F189:: @ 814F189
Route104_EventScript_14F1A0:: @ 814F1A0
trainerbattle 0, OPPONENT_HALEY_1, 0, Route104_Text_1B8770, Route104_Text_1B87A7
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route104_EventScript_14F1C7
+ goto_if_eq Route104_EventScript_14F1C7
msgbox Route104_Text_1B87C3, 6
end
@@ -422,9 +422,9 @@ Route104_EventScript_14F1C7:: @ 814F1C7
Route104_EventScript_14F1DE:: @ 814F1DE
trainerbattle 0, OPPONENT_WINSTON_1, 0, Route104_Text_1B88D4, Route104_Text_1B8911
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route104_EventScript_14F205
+ goto_if_eq Route104_EventScript_14F205
msgbox Route104_Text_1B8925, 6
end
@@ -435,9 +435,9 @@ Route104_EventScript_14F205:: @ 814F205
Route104_EventScript_14F21C:: @ 814F21C
trainerbattle 0, OPPONENT_CINDY_1, 0, Route104_Text_1B8A24, Route104_Text_1B8A61
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route104_EventScript_14F243
+ goto_if_eq Route104_EventScript_14F243
msgbox Route104_Text_1B8A69, 6
end
diff --git a/data/scripts/maps/Route104_MrBrineysHouse.inc b/data/scripts/maps/Route104_MrBrineysHouse.inc
index 5c6704e67..f24e92cd4 100644
--- a/data/scripts/maps/Route104_MrBrineysHouse.inc
+++ b/data/scripts/maps/Route104_MrBrineysHouse.inc
@@ -5,9 +5,9 @@ Route104_MrBrineysHouse_MapScripts:: @ 815BCB2
Route104_MrBrineysHouse_MapScript1_15BCB8:: @ 815BCB8
setflag 2109
compare 0x4090, 1
- callif 1, Route104_MrBrineysHouse_EventScript_15BCD4
+ call_if 1, Route104_MrBrineysHouse_EventScript_15BCD4
checkflag 188
- callif 1, Route104_MrBrineysHouse_EventScript_15BCD0
+ call_if 1, Route104_MrBrineysHouse_EventScript_15BCD0
end
Route104_MrBrineysHouse_EventScript_15BCD0:: @ 815BCD0
@@ -15,22 +15,22 @@ Route104_MrBrineysHouse_EventScript_15BCD0:: @ 815BCD0
return
Route104_MrBrineysHouse_EventScript_15BCD4:: @ 815BCD4
- movespriteperm 1, 9, 3
- spritebehave 1, 50
- movespriteperm 2, 9, 6
- spritebehave 2, 51
+ setobjectxyperm 1, 9, 3
+ setobjectmovementtype 1, 50
+ setobjectxyperm 2, 9, 6
+ setobjectmovementtype 2, 51
return
Route104_MrBrineysHouse_EventScript_15BCEB:: @ 815BCEB
lock
faceplayer
checkflag 147
- callif 0, Route104_MrBrineysHouse_EventScript_15BD0E
+ call_if 0, Route104_MrBrineysHouse_EventScript_15BD0E
checkflag 189
- jumpif 0, Route104_MrBrineysHouse_EventScript_15BD65
+ goto_if 0, Route104_MrBrineysHouse_EventScript_15BD65
checkflag 149
- jumpif 0, Route104_MrBrineysHouse_EventScript_15BD7E
- jump Route104_MrBrineysHouse_EventScript_15BD32
+ goto_if 0, Route104_MrBrineysHouse_EventScript_15BD7E
+ goto Route104_MrBrineysHouse_EventScript_15BD32
end
Route104_MrBrineysHouse_EventScript_15BD0E:: @ 815BD0E
@@ -38,14 +38,14 @@ Route104_MrBrineysHouse_EventScript_15BD0E:: @ 815BD0E
msgbox Route104_MrBrineysHouse_Text_191A82, 4
msgbox Route104_MrBrineysHouse_Text_191AAD, 5
compare RESULT, 0
- jumpeq Route104_MrBrineysHouse_EventScript_15BD97
- jump Route104_MrBrineysHouse_EventScript_15BDAB
+ goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97
+ goto Route104_MrBrineysHouse_EventScript_15BDAB
end
Route104_MrBrineysHouse_EventScript_15BD32:: @ 815BD32
message Route104_MrBrineysHouse_Text_191E80
- waittext
- multichoicedef 21, 8, 14, 1, 0
+ waitmessage
+ multichoicedefault 21, 8, 14, 1, 0
switch RESULT
case 0, Route104_MrBrineysHouse_EventScript_15BDAB
case 1, Route104_MrBrineysHouse_EventScript_15BDA1
@@ -55,15 +55,15 @@ Route104_MrBrineysHouse_EventScript_15BD32:: @ 815BD32
Route104_MrBrineysHouse_EventScript_15BD65:: @ 815BD65
msgbox Route104_MrBrineysHouse_Text_191CC3, 5
compare RESULT, 0
- jumpeq Route104_MrBrineysHouse_EventScript_15BD97
- jump Route104_MrBrineysHouse_EventScript_15BDAB
+ goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97
+ goto Route104_MrBrineysHouse_EventScript_15BDAB
end
Route104_MrBrineysHouse_EventScript_15BD7E:: @ 815BD7E
msgbox Route104_MrBrineysHouse_Text_191DA6, 5
compare RESULT, 0
- jumpeq Route104_MrBrineysHouse_EventScript_15BD97
- jump Route104_MrBrineysHouse_EventScript_15BDAB
+ goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97
+ goto Route104_MrBrineysHouse_EventScript_15BDAB
end
Route104_MrBrineysHouse_EventScript_15BD97:: @ 815BD97
@@ -91,8 +91,8 @@ Route104_MrBrineysHouse_EventScript_15BDAB:: @ 815BDAB
Route104_MrBrineysHouse_EventScript_15BDD1:: @ 815BDD1
lock
faceplayer
- checksound
- pokecry SPECIES_WINGULL, 0
+ waitse
+ playpokecry SPECIES_WINGULL, 0
msgbox Route104_MrBrineysHouse_Text_191FB9, 4
waitpokecry
release
diff --git a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
index 02842c62d..4c5becf88 100644
--- a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
+++ b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
@@ -5,39 +5,39 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 815BDE4
Route104_PrettyPetalFlowerShop_MapScript1_15BDEA:: @ 815BDEA
setflag 2108
checkflag 127
- jumpif 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03
+ goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03
checkflag 2057
- jumpif 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03
+ goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03
setflag 1
end
Route104_PrettyPetalFlowerShop_EventScript_15BE03:: @ 815BE03
- movespriteperm 1, 4, 6
+ setobjectxyperm 1, 4, 6
end
Route104_PrettyPetalFlowerShop_EventScript_15BE0B:: @ 815BE0B
lock
faceplayer
checkflag 1
- jumpeq Route104_PrettyPetalFlowerShop_EventScript_15BE7C
+ goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE7C
msgbox Route104_PrettyPetalFlowerShop_Text_1C5EC6, 4
checkflag 127
- jumpeq Route104_PrettyPetalFlowerShop_EventScript_15BE4A
+ goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE4A
setflag 127
msgbox Route104_PrettyPetalFlowerShop_Text_1C5F48, 5
compare RESULT, 1
- callif 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A
+ call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A
compare RESULT, 0
- callif 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73
+ call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73
release
end
Route104_PrettyPetalFlowerShop_EventScript_15BE4A:: @ 815BE4A
msgbox Route104_PrettyPetalFlowerShop_Text_1C5F1B, 5
compare RESULT, 1
- callif 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A
+ call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A
compare RESULT, 0
- callif 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73
+ call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73
release
end
@@ -51,7 +51,7 @@ Route104_PrettyPetalFlowerShop_EventScript_15BE73:: @ 815BE73
Route104_PrettyPetalFlowerShop_EventScript_15BE7C:: @ 815BE7C
message Route104_PrettyPetalFlowerShop_Text_1A0C42
- waittext
+ waitmessage
pokemartbp Route104_PrettyPetalFlowerShop_Items
msgbox Route104_PrettyPetalFlowerShop_Text_1A0C02, 4
release
@@ -73,7 +73,7 @@ Route104_PrettyPetalFlowerShop_EventScript_15BEA4:: @ 815BEA4
lock
faceplayer
checkflag 94
- jumpif 0, Route104_PrettyPetalFlowerShop_EventScript_15BEB9
+ goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BEB9
msgbox Route104_PrettyPetalFlowerShop_Text_1C61E8, 4
release
end
@@ -89,15 +89,15 @@ Route104_PrettyPetalFlowerShop_EventScript_15BEB9:: @ 815BEB9
Route104_PrettyPetalFlowerShop_EventScript_15BEDA:: @ 815BEDA
lock
faceplayer
- checkdailyflags
+ dodailyevents
checkflag 2256
- jumpeq Route104_PrettyPetalFlowerShop_EventScript_15BF1A
+ goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BF1A
msgbox Route104_PrettyPetalFlowerShop_Text_1C62DA, 4
random 8
addvar RESULT, 133
giveitem RESULT
compare RESULT, 0
- jumpeq Route104_PrettyPetalFlowerShop_EventScript_1A029B
+ goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_1A029B
setflag 2256
msgbox Route104_PrettyPetalFlowerShop_Text_1C6335, 4
release
diff --git a/data/scripts/maps/Route104_Prototype.inc b/data/scripts/maps/Route104_Prototype.inc
index ff1c9d258..3c218747a 100644
--- a/data/scripts/maps/Route104_Prototype.inc
+++ b/data/scripts/maps/Route104_Prototype.inc
@@ -5,21 +5,21 @@ Route104_Prototype_EventScript_160C4B:: @ 8160C4B
lock
faceplayer
checktrainerflag OPPONENT_BRIANNA_1
- jumpif 0, Route104_Prototype_EventScript_160C99
+ goto_if 0, Route104_Prototype_EventScript_160C99
checktrainerflag OPPONENT_CINDY_2
- jumpif 0, Route104_Prototype_EventScript_160C99
+ goto_if 0, Route104_Prototype_EventScript_160C99
checktrainerflag OPPONENT_AMY_AND_LIV_3
- jumpif 0, Route104_Prototype_EventScript_160C99
+ goto_if 0, Route104_Prototype_EventScript_160C99
checktrainerflag OPPONENT_GINA_AND_MIA_2
- jumpif 0, Route104_Prototype_EventScript_160C99
+ goto_if 0, Route104_Prototype_EventScript_160C99
checktrainerflag OPPONENT_LUCAS_2
- jumpif 0, Route104_Prototype_EventScript_160C99
+ goto_if 0, Route104_Prototype_EventScript_160C99
checktrainerflag OPPONENT_MIKE_1
- jumpif 0, Route104_Prototype_EventScript_160C99
+ goto_if 0, Route104_Prototype_EventScript_160C99
setflag 215
msgbox Route104_Prototype_Text_19B267, 4
checkflag 216
- jumpeq Route104_Prototype_EventScript_160CFB
+ goto_if_eq Route104_Prototype_EventScript_160CFB
release
end
@@ -32,21 +32,21 @@ Route104_Prototype_EventScript_160CA3:: @ 8160CA3
lock
faceplayer
checktrainerflag OPPONENT_BRIANNA_1
- jumpif 0, Route104_Prototype_EventScript_160CF1
+ goto_if 0, Route104_Prototype_EventScript_160CF1
checktrainerflag OPPONENT_CINDY_2
- jumpif 0, Route104_Prototype_EventScript_160CF1
+ goto_if 0, Route104_Prototype_EventScript_160CF1
checktrainerflag OPPONENT_AMY_AND_LIV_3
- jumpif 0, Route104_Prototype_EventScript_160CF1
+ goto_if 0, Route104_Prototype_EventScript_160CF1
checktrainerflag OPPONENT_GINA_AND_MIA_2
- jumpif 0, Route104_Prototype_EventScript_160CF1
+ goto_if 0, Route104_Prototype_EventScript_160CF1
checktrainerflag OPPONENT_LUCAS_2
- jumpif 0, Route104_Prototype_EventScript_160CF1
+ goto_if 0, Route104_Prototype_EventScript_160CF1
checktrainerflag OPPONENT_MIKE_1
- jumpif 0, Route104_Prototype_EventScript_160CF1
+ goto_if 0, Route104_Prototype_EventScript_160CF1
setflag 216
msgbox Route104_Prototype_Text_19B2E9, 4
checkflag 215
- jumpeq Route104_Prototype_EventScript_160CFB
+ goto_if_eq Route104_Prototype_EventScript_160CFB
release
end
@@ -56,10 +56,10 @@ Route104_Prototype_EventScript_160CF1:: @ 8160CF1
end
Route104_Prototype_EventScript_160CFB:: @ 8160CFB
- closebutton
- pause 60
+ closemessage
+ delay 60
fadescreen 1
- pause 60
+ delay 60
special DoSoftReset
waitstate
release
diff --git a/data/scripts/maps/Route105.inc b/data/scripts/maps/Route105.inc
index c71e2ce05..1182dae7e 100644
--- a/data/scripts/maps/Route105.inc
+++ b/data/scripts/maps/Route105.inc
@@ -4,7 +4,7 @@ Route105_MapScripts:: @ 814F298
Route105_MapScript1_14F29E:: @ 814F29E
checkflag 228
- callif 0, Route105_EventScript_14F2A8
+ call_if 0, Route105_EventScript_14F2A8
end
Route105_EventScript_14F2A8:: @ 814F2A8
diff --git a/data/scripts/maps/Route106.inc b/data/scripts/maps/Route106.inc
index 0c25594c6..2ec903363 100644
--- a/data/scripts/maps/Route106.inc
+++ b/data/scripts/maps/Route106.inc
@@ -17,9 +17,9 @@ Route106_EventScript_14F34F:: @ 814F34F
Route106_EventScript_14F366:: @ 814F366
trainerbattle 0, OPPONENT_ELLIOT_1, 0, Route106_Text_1B8EF0, Route106_Text_1B8F25
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route106_EventScript_14F38D
+ goto_if_eq Route106_EventScript_14F38D
msgbox Route106_Text_1B8F55, 6
end
diff --git a/data/scripts/maps/Route107.inc b/data/scripts/maps/Route107.inc
index a14bb7298..b6973407b 100644
--- a/data/scripts/maps/Route107.inc
+++ b/data/scripts/maps/Route107.inc
@@ -8,9 +8,9 @@ Route107_EventScript_14F3BC:: @ 814F3BC
Route107_EventScript_14F3D3:: @ 814F3D3
trainerbattle 0, OPPONENT_TONY_1, 0, Route107_Text_1B933A, Route107_Text_1B9365
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route107_EventScript_14F3FA
+ goto_if_eq Route107_EventScript_14F3FA
msgbox Route107_Text_1B938E, 6
end
diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc
index 58c38173e..9f0ef8c8d 100644
--- a/data/scripts/maps/Route109.inc
+++ b/data/scripts/maps/Route109.inc
@@ -3,11 +3,11 @@ Route109_MapScripts:: @ 814F4D2
Route109_EventScript_14F4D3:: @ 814F4D3
call Route109_EventScript_1A010C
- spritelevelup 2, 0, 24, 0
- spritelevelup 255, 0, 24, 0
- move 2, Route109_Movement_14F67B
- waitmove 0
- disappear 2
+ setobjectpriority 2, 0, 24, 0
+ setobjectpriority 255, 0, 24, 0
+ applymovement 2, Route109_Movement_14F67B
+ waitmovement 0
+ removeobject 2
switch FACING
case 1, Route109_EventScript_14F518
case 3, Route109_EventScript_14F538
@@ -15,49 +15,49 @@ Route109_EventScript_14F4D3:: @ 814F4D3
end
Route109_EventScript_14F518:: @ 814F518
- move 255, Route109_Movement_14F66D
- waitmove 0
- jump Route109_EventScript_14F548
+ applymovement 255, Route109_Movement_14F66D
+ waitmovement 0
+ goto Route109_EventScript_14F548
end
Route109_EventScript_14F528:: @ 814F528
- move 255, Route109_Movement_14F675
- waitmove 0
- jump Route109_EventScript_14F548
+ applymovement 255, Route109_Movement_14F675
+ waitmovement 0
+ goto Route109_EventScript_14F548
end
Route109_EventScript_14F538:: @ 814F538
- move 255, Route109_Movement_14F678
- waitmove 0
- jump Route109_EventScript_14F548
+ applymovement 255, Route109_Movement_14F678
+ waitmovement 0
+ goto Route109_EventScript_14F548
end
Route109_EventScript_14F548:: @ 814F548
- spriteinvisible 255, 0, 24
+ hideobject 255, 0, 24
call Route109_EventScript_1A02E7
- move 1, Route109_Movement_14F5BF
- move 255, Route109_Movement_14F5BF
- waitmove 0
+ applymovement 1, Route109_Movement_14F5BF
+ applymovement 255, Route109_Movement_14F5BF
+ waitmovement 0
call Route109_EventScript_1A02EF
- spritevisible 255, 0, 11
- move 255, Route109_Movement_14F670
- waitmove 0
- reappear 4
+ showobject 255, 0, 11
+ applymovement 255, Route109_Movement_14F670
+ waitmovement 0
+ addobject 4
clearflag 743
- movespriteperm 2, 12, 8
- reappear 2
- spritelevelup 2, 0, 11, 0
- move 2, Route109_Movement_14F67D
- waitmove 0
+ setobjectxyperm 2, 12, 8
+ addobject 2
+ setobjectpriority 2, 0, 11, 0
+ applymovement 2, Route109_Movement_14F67D
+ waitmovement 0
clearflag 740
setflag 744
- spriteinvisible 1, 0, 24
+ hideobject 1, 0, 24
msgbox Route109_Text_16B4B5, 4
- closebutton
+ closemessage
copyvar 0x4096, 0x8008
- restorespritelevel 255, 0, 24
- restorespritelevel 2, 0, 11
- moveoffscreen 2
+ resetobjectpriority 255, 0, 24
+ resetobjectpriority 2, 0, 11
+ moveobjectoffscreen 2
release
end
@@ -272,22 +272,22 @@ Route109_EventScript_14F680:: @ 814F680
lock
faceplayer
checkflag 149
- jumpif 0, Route109_EventScript_14F691
- jump Route109_EventScript_14F6AF
+ goto_if 0, Route109_EventScript_14F691
+ goto Route109_EventScript_14F6AF
end
Route109_EventScript_14F691:: @ 814F691
message Route109_Text_16E0F9
msgbox Route109_Text_16E0F9, 5
compare RESULT, 0
- jumpeq Route109_EventScript_14F6F1
- jump Route109_EventScript_14F6E2
+ goto_if_eq Route109_EventScript_14F6F1
+ goto Route109_EventScript_14F6E2
end
Route109_EventScript_14F6AF:: @ 814F6AF
message Route109_Text_16E26A
- waittext
- multichoicedef 21, 8, 14, 1, 0
+ waitmessage
+ multichoicedefault 21, 8, 14, 1, 0
switch RESULT
case 0, Route109_EventScript_14F6E2
case 1, Route109_EventScript_14F6FB
@@ -296,8 +296,8 @@ Route109_EventScript_14F6AF:: @ 814F6AF
Route109_EventScript_14F6E2:: @ 814F6E2
msgbox Route109_Text_16E159, 4
- closebutton
- jump Route109_EventScript_14F4D3
+ closemessage
+ goto Route109_EventScript_14F4D3
end
Route109_EventScript_14F6F1:: @ 814F6F1
@@ -318,9 +318,9 @@ Route109_EventScript_14F70E:: @ 814F70E
lock
faceplayer
msgbox Route109_Text_16E405, 4
- closebutton
- move LAST_TALKED, Route109_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, Route109_Movement_1A083D
+ waitmovement 0
release
end
@@ -329,22 +329,22 @@ Route109_EventScript_14F725:: @ 814F725
faceplayer
special GetPlayerBigGuyGirlString
checkflag 280
- jumpeq Route109_EventScript_14F762
+ goto_if_eq Route109_EventScript_14F762
msgbox Route109_Text_16E433, 4
giveitem ITEM_SOFT_SAND
compare RESULT, 0
- jumpeq Route109_EventScript_1A029B
- closebutton
- move LAST_TALKED, Route109_Movement_1A083D
- waitmove 0
+ goto_if_eq Route109_EventScript_1A029B
+ closemessage
+ applymovement LAST_TALKED, Route109_Movement_1A083D
+ waitmovement 0
setflag 280
release
end
Route109_EventScript_14F762:: @ 814F762
msgbox Route109_Text_16E446, 4
- move LAST_TALKED, Route109_Movement_1A083D
- waitmove 0
+ applymovement LAST_TALKED, Route109_Movement_1A083D
+ waitmovement 0
release
end
@@ -359,8 +359,8 @@ Route109_EventScript_14F77F:: @ 814F77F
Route109_EventScript_14F788:: @ 814F788
lock
faceplayer
- checksound
- pokecry SPECIES_ZIGZAGOON, 0
+ waitse
+ playpokecry SPECIES_ZIGZAGOON, 0
msgbox Route109_Text_16E5CA, 4
waitpokecry
release
@@ -396,9 +396,9 @@ Route109_EventScript_14F7F2:: @ 814F7F2
Route109_EventScript_14F809:: @ 814F809
trainerbattle 0, OPPONENT_RICKY_1, 0, Route109_Text_1B9C23, Route109_Text_1B9C65
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route109_EventScript_14F830
+ goto_if_eq Route109_EventScript_14F830
msgbox Route109_Text_1B9C6E, 6
end
@@ -409,9 +409,9 @@ Route109_EventScript_14F830:: @ 814F830
Route109_EventScript_14F847:: @ 814F847
trainerbattle 0, OPPONENT_LOLA_1, 0, Route109_Text_1B9D54, Route109_Text_1B9D87
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route109_EventScript_14F86E
+ goto_if_eq Route109_EventScript_14F86E
msgbox Route109_Text_1B9D8E, 6
end
diff --git a/data/scripts/maps/Route109_SeashoreHouse.inc b/data/scripts/maps/Route109_SeashoreHouse.inc
index e1d9c380b..4d8d363aa 100644
--- a/data/scripts/maps/Route109_SeashoreHouse.inc
+++ b/data/scripts/maps/Route109_SeashoreHouse.inc
@@ -10,11 +10,11 @@ Route109_SeashoreHouse_EventScript_160DD4:: @ 8160DD4
lock
faceplayer
checkflag 140
- jumpeq Route109_SeashoreHouse_EventScript_160E36
+ goto_if_eq Route109_SeashoreHouse_EventScript_160E36
checkflag 141
- jumpeq Route109_SeashoreHouse_EventScript_160E08
+ goto_if_eq Route109_SeashoreHouse_EventScript_160E08
checkflag 2
- jumpeq Route109_SeashoreHouse_EventScript_160DFE
+ goto_if_eq Route109_SeashoreHouse_EventScript_160DFE
msgbox Route109_SeashoreHouse_Text_19B4D9, 4
setflag 2
release
@@ -29,7 +29,7 @@ Route109_SeashoreHouse_EventScript_160E08:: @ 8160E08
msgbox Route109_SeashoreHouse_Text_19B609, 4
giveitem ITEM_SODA_POP, 6
compare RESULT, 0
- jumpeq Route109_SeashoreHouse_EventScript_160E2C
+ goto_if_eq Route109_SeashoreHouse_EventScript_160E2C
setflag 140
release
end
@@ -40,41 +40,41 @@ Route109_SeashoreHouse_EventScript_160E2C:: @ 8160E2C
end
Route109_SeashoreHouse_EventScript_160E36:: @ 8160E36
- showmoney 0, 0
- snop
+ showmoneybox 0, 0
+ nop
msgbox Route109_SeashoreHouse_Text_19B702, 5
compare RESULT, 1
- jumpeq Route109_SeashoreHouse_EventScript_160E5A
+ goto_if_eq Route109_SeashoreHouse_EventScript_160E5A
msgbox Route109_SeashoreHouse_Text_19B773, 4
- hidemoney 0, 0
+ hidemoneybox 0, 0
release
end
Route109_SeashoreHouse_EventScript_160E5A:: @ 8160E5A
checkmoney 0x12c, 0
compare RESULT, 0
- jumpeq Route109_SeashoreHouse_EventScript_160E9E
+ goto_if_eq Route109_SeashoreHouse_EventScript_160E9E
checkitemspace ITEM_SODA_POP, 1
compare RESULT, 0
- jumpeq Route109_SeashoreHouse_EventScript_160EAB
+ goto_if_eq Route109_SeashoreHouse_EventScript_160EAB
msgbox Route109_SeashoreHouse_Text_19B74C, 4
- paymoney 0x12c, 0
- updatemoney 0, 0
- snop
+ takemoney 0x12c, 0
+ updatemoneybox 0, 0
+ nop
giveitem ITEM_SODA_POP
- hidemoney 0, 0
+ hidemoneybox 0, 0
release
end
Route109_SeashoreHouse_EventScript_160E9E:: @ 8160E9E
msgbox Route109_SeashoreHouse_Text_19B759, 4
- hidemoney 0, 0
+ hidemoneybox 0, 0
release
end
Route109_SeashoreHouse_EventScript_160EAB:: @ 8160EAB
msgbox Route109_SeashoreHouse_Text_1A0CC2, 4
- hidemoney 0, 0
+ hidemoneybox 0, 0
release
end
@@ -95,11 +95,11 @@ Route109_SeashoreHouse_EventScript_160EEE:: @ 8160EEE
Route109_SeashoreHouse_EventScript_160F09:: @ 8160F09
checktrainerflag OPPONENT_DWAYNE
- jumpif 0, Route109_SeashoreHouse_EventScript_160F29
+ goto_if 0, Route109_SeashoreHouse_EventScript_160F29
checktrainerflag OPPONENT_JOHANNA
- jumpif 0, Route109_SeashoreHouse_EventScript_160F29
+ goto_if 0, Route109_SeashoreHouse_EventScript_160F29
checktrainerflag OPPONENT_SIMON
- jumpif 0, Route109_SeashoreHouse_EventScript_160F29
+ goto_if 0, Route109_SeashoreHouse_EventScript_160F29
setflag 141
release
end
diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc
index a77feaa0f..146be5959 100644
--- a/data/scripts/maps/Route110.inc
+++ b/data/scripts/maps/Route110.inc
@@ -13,11 +13,11 @@ Route110_MapScript1_14F914:: @ 814F914
call Route110_EventScript_1A014E
call Route110_EventScript_1A0172
compare 0x40a9, 1
- callif 1, Route110_EventScript_14F92F
+ call_if 1, Route110_EventScript_14F92F
end
Route110_EventScript_14F92F:: @ 814F92F
- playmusicbattle 403 @ Bicycle music
+ savebgm 403 @ Bicycle music
return
Route110_MapScript2_14F933:: @ 814F933
@@ -33,8 +33,8 @@ Route110_EventScript_14F946:: @ 814F946
lock
faceplayer
msgbox Route110_Text_16E6C0, 4
- move LAST_TALKED, Route110_Movement_1A083D
- waitmove 0
+ applymovement LAST_TALKED, Route110_Movement_1A083D
+ waitmovement 0
release
end
@@ -42,8 +42,8 @@ Route110_EventScript_14F95C:: @ 814F95C
lock
faceplayer
msgbox Route110_Text_16E6F2, 4
- move LAST_TALKED, Route110_Movement_1A083D
- waitmove 0
+ applymovement LAST_TALKED, Route110_Movement_1A083D
+ waitmovement 0
release
end
@@ -51,8 +51,8 @@ Route110_EventScript_14F972:: @ 814F972
lock
faceplayer
msgbox Route110_Text_16E729, 4
- move LAST_TALKED, Route110_Movement_1A083D
- waitmove 0
+ applymovement LAST_TALKED, Route110_Movement_1A083D
+ waitmovement 0
release
end
@@ -60,8 +60,8 @@ Route110_EventScript_14F988:: @ 814F988
lock
faceplayer
msgbox Route110_Text_16E76A, 4
- move LAST_TALKED, Route110_Movement_1A083D
- waitmove 0
+ applymovement LAST_TALKED, Route110_Movement_1A083D
+ waitmovement 0
release
end
@@ -131,9 +131,9 @@ Route110_EventScript_14FA25:: @ 814FA25
Route110_EventScript_14FA2E:: @ 814FA2E
lockall
- specialval RESULT, GetRecordedCyclingRoadResults
+ specialvar RESULT, GetRecordedCyclingRoadResults
compare RESULT, 0
- jumpeq Route110_EventScript_14FA49
+ goto_if_eq Route110_EventScript_14FA49
msgbox Route110_Text_16F53A, 4
releaseall
end
@@ -146,11 +146,11 @@ Route110_EventScript_14FA49:: @ 814FA49
Route110_EventScript_14FA53:: @ 814FA53
lock
faceplayer
- specialval RESULT, GetPlayerAvatarBike
+ specialvar RESULT, GetPlayerAvatarBike
compare RESULT, 1
- jumpeq Route110_EventScript_14FA84
+ goto_if_eq Route110_EventScript_14FA84
compare 0x40a9, 0
- jumpeq Route110_EventScript_14FA7A
+ goto_if_eq Route110_EventScript_14FA7A
msgbox Route110_Text_16F26A, 4
release
end
@@ -177,9 +177,9 @@ Route110_EventScript_14FAA5:: @ 814FAA5
Route110_EventScript_14FABC:: @ 814FABC
trainerbattle 0, OPPONENT_EDWIN_1, 0, Route110_Text_1BA7D2, Route110_Text_1BA803
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route110_EventScript_14FAE3
+ goto_if_eq Route110_EventScript_14FAE3
msgbox Route110_Text_1BA829, 6
end
@@ -205,9 +205,9 @@ Route110_EventScript_14FB28:: @ 814FB28
Route110_EventScript_14FB3F:: @ 814FB3F
trainerbattle 0, OPPONENT_BENJAMIN_1, 0, Route110_Text_1BA352, Route110_Text_1BA379
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route110_EventScript_14FB66
+ goto_if_eq Route110_EventScript_14FB66
msgbox Route110_Text_1BA3A5, 6
end
@@ -223,9 +223,9 @@ Route110_EventScript_14FB7D:: @ 814FB7D
Route110_EventScript_14FB94:: @ 814FB94
trainerbattle 0, OPPONENT_ABIGAIL_1, 0, Route110_Text_1BA4A0, Route110_Text_1BA50F
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route110_EventScript_14FBBB
+ goto_if_eq Route110_EventScript_14FBBB
msgbox Route110_Text_1BA52E, 6
end
@@ -236,9 +236,9 @@ Route110_EventScript_14FBBB:: @ 814FBBB
Route110_EventScript_14FBD2:: @ 814FBD2
trainerbattle 0, OPPONENT_ISABEL_1, 0, Route110_Text_1BA990, Route110_Text_1BA9D0
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route110_EventScript_14FBF9
+ goto_if_eq Route110_EventScript_14FBF9
msgbox Route110_Text_1BA9E9, 6
end
@@ -254,8 +254,8 @@ Route110_EventScript_14FC10:: @ 814FC10
Route110_EventScript_14FC27:: @ 814FC27
lockall
- move 21, Route110_Movement_1A0843
- waitmove 0
+ applymovement 21, Route110_Movement_1A0843
+ waitmovement 0
call Route110_EventScript_14FC39
releaseall
end
@@ -279,84 +279,84 @@ Route110_EventScript_14FC39:: @ 814FC39
Route110_EventScript_14FCC3:: @ 814FCC3
msgbox Route110_Text_16EF9F, 4
- jump Route110_EventScript_14FD09
+ goto Route110_EventScript_14FD09
end
Route110_EventScript_14FCD1:: @ 814FCD1
msgbox Route110_Text_16F012, 4
- jump Route110_EventScript_14FD09
+ goto Route110_EventScript_14FD09
end
Route110_EventScript_14FCDF:: @ 814FCDF
msgbox Route110_Text_16F069, 4
- jump Route110_EventScript_14FD09
+ goto Route110_EventScript_14FD09
end
Route110_EventScript_14FCED:: @ 814FCED
msgbox Route110_Text_16F0D0, 4
- jump Route110_EventScript_14FD09
+ goto Route110_EventScript_14FD09
end
Route110_EventScript_14FCFB:: @ 814FCFB
msgbox Route110_Text_16F139, 4
- jump Route110_EventScript_14FD09
+ goto Route110_EventScript_14FD09
end
Route110_EventScript_14FD09:: @ 814FD09
setvar 0x40a9, 3
- playmusicbattle 0
- fadedefault
+ savebgm 0
+ fadedefaultbgm
return
Route110_EventScript_14FD13:: @ 814FD13
setvar 0x8008, 1
- jump Route110_EventScript_14FD34
+ goto Route110_EventScript_14FD34
end
Route110_EventScript_14FD1E:: @ 814FD1E
setvar 0x8008, 2
- jump Route110_EventScript_14FD34
+ goto Route110_EventScript_14FD34
end
Route110_EventScript_14FD29:: @ 814FD29
setvar 0x8008, 3
- jump Route110_EventScript_14FD34
+ goto Route110_EventScript_14FD34
end
Route110_EventScript_14FD34:: @ 814FD34
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, Route110_EventScript_14FDA7
+ call_if 1, Route110_EventScript_14FDA7
compare RESULT, 1
- callif 1, Route110_EventScript_14FDAC
- move 28, Route110_Movement_1A0845
- waitmove 0
- move 28, Route110_Movement_1A0833
- waitmove 0
- move 28, Route110_Movement_1A0835
- waitmove 0
- pause 30
+ call_if 1, Route110_EventScript_14FDAC
+ applymovement 28, Route110_Movement_1A0845
+ waitmovement 0
+ applymovement 28, Route110_Movement_1A0833
+ waitmovement 0
+ applymovement 28, Route110_Movement_1A0835
+ waitmovement 0
+ delay 30
compare 0x8008, 1
- callif 1, Route110_EventScript_14FF14
+ call_if 1, Route110_EventScript_14FF14
compare 0x8008, 2
- callif 1, Route110_EventScript_14FF1F
+ call_if 1, Route110_EventScript_14FF1F
compare 0x8008, 3
- callif 1, Route110_EventScript_14FF2A
- checkgender
+ call_if 1, Route110_EventScript_14FF2A
+ checkplayergender
compare RESULT, 0
- jumpeq Route110_EventScript_14FDB1
+ goto_if_eq Route110_EventScript_14FDB1
compare RESULT, 1
- jumpeq Route110_EventScript_14FE2B
+ goto_if_eq Route110_EventScript_14FE2B
releaseall
end
Route110_EventScript_14FDA7:: @ 814FDA7
- playmusic 415, 1
+ playbgm 415, 1
return
Route110_EventScript_14FDAC:: @ 814FDAC
- playmusic 421, 1
+ playbgm 421, 1
return
Route110_EventScript_14FDB1:: @ 814FDB1
@@ -369,24 +369,24 @@ Route110_EventScript_14FDB1:: @ 814FDB1
Route110_EventScript_14FDE0:: @ 814FDE0
trainerbattle 3, OPPONENT_MAY_5, 0, Route110_Text_16E826
- jump Route110_EventScript_14FE10
+ goto Route110_EventScript_14FE10
end
Route110_EventScript_14FDF0:: @ 814FDF0
trainerbattle 3, OPPONENT_MAY_8, 0, Route110_Text_16E826
- jump Route110_EventScript_14FE10
+ goto Route110_EventScript_14FE10
end
Route110_EventScript_14FE00:: @ 814FE00
trainerbattle 3, OPPONENT_MAY_2, 0, Route110_Text_16E826
- jump Route110_EventScript_14FE10
+ goto Route110_EventScript_14FE10
end
Route110_EventScript_14FE10:: @ 814FE10
msgbox Route110_Text_16E84C, 4
call Route110_EventScript_14FEA5
msgbox Route110_Text_16E8B3, 4
- jump Route110_EventScript_14FEB2
+ goto Route110_EventScript_14FEB2
end
Route110_EventScript_14FE2B:: @ 814FE2B
@@ -399,24 +399,24 @@ Route110_EventScript_14FE2B:: @ 814FE2B
Route110_EventScript_14FE5A:: @ 814FE5A
trainerbattle 3, OPPONENT_BRENDAN_5, 0, Route110_Text_16EA0F
- jump Route110_EventScript_14FE8A
+ goto Route110_EventScript_14FE8A
end
Route110_EventScript_14FE6A:: @ 814FE6A
trainerbattle 3, OPPONENT_BRENDAN_8, 0, Route110_Text_16EA0F
- jump Route110_EventScript_14FE8A
+ goto Route110_EventScript_14FE8A
end
Route110_EventScript_14FE7A:: @ 814FE7A
trainerbattle 3, OPPONENT_BRENDAN_2, 0, Route110_Text_16EA0F
- jump Route110_EventScript_14FE8A
+ goto Route110_EventScript_14FE8A
end
Route110_EventScript_14FE8A:: @ 814FE8A
msgbox Route110_Text_16EA2A, 4
call Route110_EventScript_14FEA5
msgbox Route110_Text_16EA7B, 4
- jump Route110_EventScript_14FEB2
+ goto Route110_EventScript_14FEB2
end
Route110_EventScript_14FEA5:: @ 814FEA5
@@ -424,71 +424,71 @@ Route110_EventScript_14FEA5:: @ 814FEA5
return
Route110_EventScript_14FEB2:: @ 814FEB2
- closebutton
+ closemessage
compare 0x8008, 1
- callif 1, Route110_EventScript_14FF56
+ call_if 1, Route110_EventScript_14FF56
compare 0x8008, 2
- callif 1, Route110_EventScript_14FF5E
+ call_if 1, Route110_EventScript_14FF5E
compare 0x8008, 3
- callif 1, Route110_EventScript_14FF66
- spritebehave 28, 10
- spritebehave 29, 10
- disappear 28
- reappear 29
- pause 45
+ call_if 1, Route110_EventScript_14FF66
+ setobjectmovementtype 28, 10
+ setobjectmovementtype 29, 10
+ removeobject 28
+ addobject 29
+ delay 45
compare 0x8008, 1
- callif 1, Route110_EventScript_14FF35
+ call_if 1, Route110_EventScript_14FF35
compare 0x8008, 2
- callif 1, Route110_EventScript_14FF40
+ call_if 1, Route110_EventScript_14FF40
compare 0x8008, 3
- callif 1, Route110_EventScript_14FF4B
- disappear 29
+ call_if 1, Route110_EventScript_14FF4B
+ removeobject 29
setvar 0x4069, 1
- playmusicbattle 0
- fadedefault
+ savebgm 0
+ fadedefaultbgm
releaseall
end
Route110_EventScript_14FF14:: @ 814FF14
- move 28, Route110_Movement_14FF6E
- waitmove 0
+ applymovement 28, Route110_Movement_14FF6E
+ waitmovement 0
return
Route110_EventScript_14FF1F:: @ 814FF1F
- move 28, Route110_Movement_14FF72
- waitmove 0
+ applymovement 28, Route110_Movement_14FF72
+ waitmovement 0
return
Route110_EventScript_14FF2A:: @ 814FF2A
- move 28, Route110_Movement_14FF74
- waitmove 0
+ applymovement 28, Route110_Movement_14FF74
+ waitmovement 0
return
Route110_EventScript_14FF35:: @ 814FF35
- move 29, Route110_Movement_14FF78
- waitmove 0
+ applymovement 29, Route110_Movement_14FF78
+ waitmovement 0
return
Route110_EventScript_14FF40:: @ 814FF40
- move 29, Route110_Movement_14FF80
- waitmove 0
+ applymovement 29, Route110_Movement_14FF80
+ waitmovement 0
return
Route110_EventScript_14FF4B:: @ 814FF4B
- move 29, Route110_Movement_14FF89
- waitmove 0
+ applymovement 29, Route110_Movement_14FF89
+ waitmovement 0
return
Route110_EventScript_14FF56:: @ 814FF56
- movespriteperm 29, 33, 55
+ setobjectxyperm 29, 33, 55
return
Route110_EventScript_14FF5E:: @ 814FF5E
- movespriteperm 29, 34, 55
+ setobjectxyperm 29, 34, 55
return
Route110_EventScript_14FF66:: @ 814FF66
- movespriteperm 29, 35, 55
+ setobjectxyperm 29, 35, 55
return
Route110_Movement_14FF6E:: @ 814FF6E
diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
index 96e492b39..c60bc366e 100644
--- a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
+++ b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc
@@ -4,9 +4,9 @@ Route110_SeasideCyclingRoadNorthEntrance_MapScripts:: @ 81634C8
Route110_SeasideCyclingRoadNorthEntrance_MapScript1_1634CE:: @ 81634CE
compare 0x40a9, 3
- callif 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5
+ call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5
compare 0x40a9, 2
- callif 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5
+ call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5
end
Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5:: @ 81634E5
@@ -23,11 +23,11 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634EB:: @ 81634EB
Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634F7:: @ 81634F7
@ Coord event directly in front of the gatesman heading left to right
lockall
- specialval RESULT, GetPlayerAvatarBike @ player state?
+ specialvar RESULT, GetPlayerAvatarBike @ player state?
compare RESULT, 2
- callif 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D
+ call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D
compare RESULT, 0
- jumpeq Route110_SeasideCyclingRoadNorthEntrance_EventScript_163523
+ goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_163523
setflag 2091
setvar 0x4001, 1
releaseall
@@ -41,9 +41,9 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D:: @ 816351D
Route110_SeasideCyclingRoadNorthEntrance_EventScript_163523:: @ 8163523
@ You don't have a bike!
msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_19E3AD, 4
- closebutton
- move 255, Route110_SeasideCyclingRoadNorthEntrance_Movement_163538
- waitmove 0
+ closemessage
+ applymovement 255, Route110_SeasideCyclingRoadNorthEntrance_Movement_163538
+ waitmovement 0
releaseall
end
diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc
index 08d6fb5f1..cf18a8e36 100644
--- a/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc
+++ b/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc
@@ -10,9 +10,9 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_16347F:: @ 816347F
Route110_SeasideCyclingRoadSouthEntrance_EventScript_16348B:: @ 816348B
lockall
- specialval RESULT, GetPlayerAvatarBike
+ specialvar RESULT, GetPlayerAvatarBike
compare RESULT, 0
- jumpeq Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634A6
+ goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634A6
setflag 2091
setvar 0x4001, 1
releaseall
@@ -20,9 +20,9 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_16348B:: @ 816348B
Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634A6:: @ 81634A6
msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_19E3AD, 4
- closebutton
- move 255, Route110_SeasideCyclingRoadSouthEntrance_Movement_1634BB
- waitmove 0
+ closemessage
+ applymovement 255, Route110_SeasideCyclingRoadSouthEntrance_Movement_1634BB
+ waitmovement 0
releaseall
end
diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc
index 10e1a6865..12309207c 100644
--- a/data/scripts/maps/Route110_TrickHouseEnd.inc
+++ b/data/scripts/maps/Route110_TrickHouseEnd.inc
@@ -7,7 +7,7 @@ Route110_TrickHouseEnd_MapScripts:: @ 8161936
Route110_TrickHouseEnd_MapScript1_16194B:: @ 816194B
compare 0x4001, 1
- callif 1, Route110_TrickHouseEnd_EventScript_161994
+ call_if 1, Route110_TrickHouseEnd_EventScript_161994
end
Route110_TrickHouseEnd_MapScript1_161957:: @ 8161957
@@ -21,9 +21,9 @@ Route110_TrickHouseEnd_MapScript2_161965:: @ 8161965
.2byte 0
Route110_TrickHouseEnd_EventScript_16196F:: @ 816196F
- reappear 1
- spritevisible 1, 29, 1
- spriteface 1, 4
+ addobject 1
+ showobject 1, 29, 1
+ turnobject 1, 4
end
Route110_TrickHouseEnd_MapScript2_16197C:: @ 816197C
@@ -62,9 +62,9 @@ Route110_TrickHouseEnd_EventScript_161A0B:: @ 8161A0B
setvar 0x40c1, 0
giveitem ITEM_RARE_CANDY
compare RESULT, 0
- callif 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
- closebutton
+ closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
release
end
@@ -75,9 +75,9 @@ Route110_TrickHouseEnd_EventScript_161A47:: @ 8161A47
setvar 0x40c1, 0
giveitem ITEM_TIMER_BALL
compare RESULT, 0
- callif 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
- closebutton
+ closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
release
end
@@ -88,9 +88,9 @@ Route110_TrickHouseEnd_EventScript_161A83:: @ 8161A83
setvar 0x40c1, 0
giveitem ITEM_HARD_STONE
compare RESULT, 0
- callif 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
- closebutton
+ closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
release
end
@@ -101,9 +101,9 @@ Route110_TrickHouseEnd_EventScript_161ABF:: @ 8161ABF
setvar 0x40c1, 0
giveitem ITEM_SMOKE_BALL
compare RESULT, 0
- callif 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
- closebutton
+ closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
release
end
@@ -114,9 +114,9 @@ Route110_TrickHouseEnd_EventScript_161AFB:: @ 8161AFB
setvar 0x40c1, 0
giveitem ITEM_TM12
compare RESULT, 0
- callif 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
- closebutton
+ closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
release
end
@@ -127,9 +127,9 @@ Route110_TrickHouseEnd_EventScript_161B37:: @ 8161B37
setvar 0x40c1, 0
giveitem ITEM_MAGNET
compare RESULT, 0
- callif 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
- closebutton
+ closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
release
end
@@ -140,30 +140,30 @@ Route110_TrickHouseEnd_EventScript_161B73:: @ 8161B73
setvar 0x40c1, 0
giveitem ITEM_PP_MAX
compare RESULT, 0
- callif 1, Route110_TrickHouseEnd_EventScript_161C4E
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C4E
msgbox Route110_TrickHouseEnd_Text_19C9BD, 4
- closebutton
+ closemessage
call Route110_TrickHouseEnd_EventScript_161C2E
release
end
Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF
msgbox Route110_TrickHouseEnd_Text_19C5AF, 4
- closebutton
+ closemessage
compare FACING, 1
- callif 1, Route110_TrickHouseEnd_EventScript_161C74
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C74
compare FACING, 2
- callif 1, Route110_TrickHouseEnd_EventScript_161C7F
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C7F
compare FACING, 3
- callif 1, Route110_TrickHouseEnd_EventScript_161C8A
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C8A
compare FACING, 4
- callif 1, Route110_TrickHouseEnd_EventScript_161C95
- pause 30
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C95
+ delay 30
msgbox Route110_TrickHouseEnd_Text_19C602, 4
- closebutton
- move 1, Route110_TrickHouseEnd_Movement_1A0839
- waitmove 0
- pause 30
+ closemessage
+ applymovement 1, Route110_TrickHouseEnd_Movement_1A0839
+ waitmovement 0
+ delay 30
msgbox Route110_TrickHouseEnd_Text_19C691, 4
setvar 0x40c1, 0
.ifdef SAPPHIRE
@@ -172,7 +172,7 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF
givedecoration 31
.endc
compare RESULT, 0
- callif 1, Route110_TrickHouseEnd_EventScript_161C61
+ call_if 1, Route110_TrickHouseEnd_EventScript_161C61
msgbox Route110_TrickHouseEnd_Text_19C85C, 4
call Route110_TrickHouseEnd_EventScript_161C2E
special ResetTrickHouseEndRoomFlag
@@ -180,12 +180,12 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF
end
Route110_TrickHouseEnd_EventScript_161C2E:: @ 8161C2E
- move 1, Route110_TrickHouseEnd_Movement_161315
- waitmove 0
- playsfx 178
- move 1, Route110_TrickHouseEnd_Movement_16131E
- waitmove 0
- disappear 1
+ applymovement 1, Route110_TrickHouseEnd_Movement_161315
+ waitmovement 0
+ playse 178
+ applymovement 1, Route110_TrickHouseEnd_Movement_16131E
+ waitmovement 0
+ removeobject 1
addvar 0x4044, 1
return
@@ -202,43 +202,43 @@ Route110_TrickHouseEnd_EventScript_161C61:: @ 8161C61
return
Route110_TrickHouseEnd_EventScript_161C74:: @ 8161C74
- move 1, Route110_TrickHouseEnd_Movement_1A0845
- waitmove 0
+ applymovement 1, Route110_TrickHouseEnd_Movement_1A0845
+ waitmovement 0
return
Route110_TrickHouseEnd_EventScript_161C7F:: @ 8161C7F
- move 1, Route110_TrickHouseEnd_Movement_1A0841
- waitmove 0
+ applymovement 1, Route110_TrickHouseEnd_Movement_1A0841
+ waitmovement 0
return
Route110_TrickHouseEnd_EventScript_161C8A:: @ 8161C8A
- move 1, Route110_TrickHouseEnd_Movement_1A083F
- waitmove 0
+ applymovement 1, Route110_TrickHouseEnd_Movement_1A083F
+ waitmovement 0
return
Route110_TrickHouseEnd_EventScript_161C95:: @ 8161C95
- move 1, Route110_TrickHouseEnd_Movement_1A0843
- waitmove 0
+ applymovement 1, Route110_TrickHouseEnd_Movement_1A0843
+ waitmovement 0
return
Route110_TrickHouseEnd_EventScript_161CA0:: @ 8161CA0
lockall
- spriteface 1, 3
- playsfx 21
- move 1, Route110_TrickHouseEnd_Movement_1A0833
- waitmove 0
- pause 20
- move 1, Route110_TrickHouseEnd_Movement_161CEA
- waitmove 0
- playsfx 178
- move 255, Route110_TrickHouseEnd_Movement_1A0845
- waitmove 0
+ turnobject 1, 3
+ playse 21
+ applymovement 1, Route110_TrickHouseEnd_Movement_1A0833
+ waitmovement 0
+ delay 20
+ applymovement 1, Route110_TrickHouseEnd_Movement_161CEA
+ waitmovement 0
+ playse 178
+ applymovement 255, Route110_TrickHouseEnd_Movement_1A0845
+ waitmovement 0
msgbox Route110_TrickHouseEnd_Text_19CA8B, 4
- closebutton
- move 255, Route110_TrickHouseEnd_Movement_161CE8
- waitmove 0
- pause 4
- spriteface 1, 4
+ closemessage
+ applymovement 255, Route110_TrickHouseEnd_Movement_161CE8
+ waitmovement 0
+ delay 4
+ turnobject 1, 4
releaseall
end
diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc
index 2601942be..568ba2af6 100644
--- a/data/scripts/maps/Route110_TrickHouseEntrance.inc
+++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc
@@ -7,17 +7,17 @@ Route110_TrickHouseEntrance_MapScripts:: @ 8160F2B
Route110_TrickHouseEntrance_MapScript1_160F3B:: @ 8160F3B
setflag 2114
compare 0x40b5, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_160FCE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_160FCE
compare 0x40c1, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_160FB2
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_160FB2
compare 0x40a6, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_16108E
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_16108E
compare 0x40a7, 5
- callif 1, Route110_TrickHouseEntrance_EventScript_160FDE
+ call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE
compare 0x40a7, 3
- callif 1, Route110_TrickHouseEntrance_EventScript_160FDE
+ call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE
compare 0x40a7, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_160FDE
+ call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE
switch 0x40a7
case 0, Route110_TrickHouseEntrance_EventScript_16109A
case 1, Route110_TrickHouseEntrance_EventScript_1610A0
@@ -28,7 +28,7 @@ Route110_TrickHouseEntrance_MapScript1_160F3B:: @ 8160F3B
Route110_TrickHouseEntrance_EventScript_160FB2:: @ 8160FB2
setvar 0x40a5, 1
compare 0x4044, 8
- jumpeq Route110_TrickHouseEntrance_EventScript_160FC8
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_160FC8
setvar 0x40a7, 2
end
@@ -45,56 +45,56 @@ Route110_TrickHouseEntrance_EventScript_160FCE:: @ 8160FCE
Route110_TrickHouseEntrance_EventScript_160FDE:: @ 8160FDE
setvar 0x40a7, 0
compare 0x4044, 1
- callif 1, Route110_TrickHouseEntrance_EventScript_16103C
+ call_if 1, Route110_TrickHouseEntrance_EventScript_16103C
compare 0x4044, 2
- callif 1, Route110_TrickHouseEntrance_EventScript_161046
+ call_if 1, Route110_TrickHouseEntrance_EventScript_161046
compare 0x4044, 3
- callif 1, Route110_TrickHouseEntrance_EventScript_161050
+ call_if 1, Route110_TrickHouseEntrance_EventScript_161050
compare 0x4044, 4
- callif 1, Route110_TrickHouseEntrance_EventScript_16105A
+ call_if 1, Route110_TrickHouseEntrance_EventScript_16105A
compare 0x4044, 5
- callif 1, Route110_TrickHouseEntrance_EventScript_161064
+ call_if 1, Route110_TrickHouseEntrance_EventScript_161064
compare 0x4044, 6
- callif 1, Route110_TrickHouseEntrance_EventScript_16106E
+ call_if 1, Route110_TrickHouseEntrance_EventScript_16106E
compare 0x4044, 7
- callif 1, Route110_TrickHouseEntrance_EventScript_161078
+ call_if 1, Route110_TrickHouseEntrance_EventScript_161078
compare 0x4044, 8
- callif 1, Route110_TrickHouseEntrance_EventScript_161082
+ call_if 1, Route110_TrickHouseEntrance_EventScript_161082
return
Route110_TrickHouseEntrance_EventScript_16103C:: @ 816103C
checkflag 2057
- callif 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if 0, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161046:: @ 8161046
checkflag 2058
- callif 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if 0, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161050:: @ 8161050
checkflag 2059
- callif 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if 0, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_16105A:: @ 816105A
checkflag 2060
- callif 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if 0, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161064:: @ 8161064
checkflag 2061
- callif 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if 0, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_16106E:: @ 816106E
checkflag 2062
- callif 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if 0, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161078:: @ 8161078
checkflag 2052
- callif 0, Route110_TrickHouseEntrance_EventScript_161088
+ call_if 0, Route110_TrickHouseEntrance_EventScript_161088
return
Route110_TrickHouseEntrance_EventScript_161082:: @ 8161082
@@ -106,8 +106,8 @@ Route110_TrickHouseEntrance_EventScript_161088:: @ 8161088
return
Route110_TrickHouseEntrance_EventScript_16108E:: @ 816108E
- movespriteperm 1, 5, 2
- spritebehave 1, 4
+ setobjectxyperm 1, 5, 2
+ setobjectmovementtype 1, 4
end
Route110_TrickHouseEntrance_EventScript_16109A:: @ 816109A
@@ -138,15 +138,15 @@ Route110_TrickHouseEntrance_MapScript2_1610B2:: @ 81610B2
.2byte 0
Route110_TrickHouseEntrance_EventScript_1610F4:: @ 81610F4
- reappear 1
- spritevisible 1, 29, 0
- spriteface 1, 4
- spriteface 255, 3
+ addobject 1
+ showobject 1, 29, 0
+ turnobject 1, 4
+ turnobject 255, 3
end
Route110_TrickHouseEntrance_EventScript_161105:: @ 8161105
- reappear 1
- spriteinvisible 1, 29, 0
+ addobject 1
+ hideobject 1, 29, 0
switch 0x4044
case 0, Route110_TrickHouseEntrance_EventScript_16116B
case 1, Route110_TrickHouseEntrance_EventScript_161173
@@ -159,51 +159,51 @@ Route110_TrickHouseEntrance_EventScript_161105:: @ 8161105
end
Route110_TrickHouseEntrance_EventScript_16116B:: @ 816116B
- movesprite 1, 6, 3
+ setobjectxy 1, 6, 3
end
Route110_TrickHouseEntrance_EventScript_161173:: @ 8161173
- movesprite 1, 11, 5
+ setobjectxy 1, 11, 5
end
Route110_TrickHouseEntrance_EventScript_16117B:: @ 816117B
- movesprite 1, 11, 1
+ setobjectxy 1, 11, 1
end
Route110_TrickHouseEntrance_EventScript_161183:: @ 8161183
- movesprite 1, 3, 1
+ setobjectxy 1, 3, 1
end
Route110_TrickHouseEntrance_EventScript_16118B:: @ 816118B
- movesprite 1, 0, 5
+ setobjectxy 1, 0, 5
end
Route110_TrickHouseEntrance_EventScript_161193:: @ 8161193
- movesprite 1, 9, 1
+ setobjectxy 1, 9, 1
end
Route110_TrickHouseEntrance_EventScript_16119B:: @ 816119B
- movesprite 1, 8, 1
+ setobjectxy 1, 8, 1
end
Route110_TrickHouseEntrance_EventScript_1611A3:: @ 81611A3
- movesprite 1, 4, 4
+ setobjectxy 1, 4, 4
end
Route110_TrickHouseEntrance_EventScript_1611AB:: @ 81611AB
- disappear 1
+ removeobject 1
end
Route110_TrickHouseEntrance_EventScript_1611AF:: @ 81611AF
- reappear 1
- movesprite 1, 5, 2
- spriteface 1, 2
+ addobject 1
+ setobjectxy 1, 5, 2
+ turnobject 1, 2
end
Route110_TrickHouseEntrance_EventScript_1611BE:: @ 81611BE
- reappear 1
- movesprite 1, 5, 2
- spriteface 1, 1
+ addobject 1
+ setobjectxy 1, 5, 2
+ turnobject 1, 1
end
Route110_TrickHouseEntrance_MapScript2_1611CD:: @ 81611CD
@@ -212,18 +212,18 @@ Route110_TrickHouseEntrance_MapScript2_1611CD:: @ 81611CD
Route110_TrickHouseEntrance_EventScript_1611D7:: @ 81611D7
lockall
- pause 20
+ delay 20
compare 0x4044, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_161327
+ call_if 1, Route110_TrickHouseEntrance_EventScript_161327
msgbox Route110_TrickHouseEntrance_Text_19BD82, 4
- closebutton
- pause 20
- move 1, Route110_TrickHouseEntrance_Movement_161315
- waitmove 0
- playsfx 178
- move 1, Route110_TrickHouseEntrance_Movement_16131E
- waitmove 0
- disappear 1
+ closemessage
+ delay 20
+ applymovement 1, Route110_TrickHouseEntrance_Movement_161315
+ waitmovement 0
+ playse 178
+ applymovement 1, Route110_TrickHouseEntrance_Movement_16131E
+ waitmovement 0
+ removeobject 1
setvar 0x40a7, 1
setvar 0x40a6, 0
releaseall
@@ -243,28 +243,28 @@ Route110_TrickHouseEntrance_EventScript_16121A:: @ 816121A
end
Route110_TrickHouseEntrance_EventScript_16124D:: @ 816124D
- playsfx 21
- move 255, Route110_TrickHouseEntrance_Movement_1A0833
- waitmove 0
- move 255, Route110_TrickHouseEntrance_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 255, Route110_TrickHouseEntrance_Movement_1A0833
+ waitmovement 0
+ applymovement 255, Route110_TrickHouseEntrance_Movement_1A0835
+ waitmovement 0
compare 0x4044, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1612CD
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1612CD
compare 0x4044, 1
- callif 1, Route110_TrickHouseEntrance_EventScript_1612D6
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1612D6
compare 0x4044, 2
- callif 1, Route110_TrickHouseEntrance_EventScript_1612DF
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1612DF
compare 0x4044, 3
- callif 1, Route110_TrickHouseEntrance_EventScript_1612E8
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1612E8
compare 0x4044, 4
- callif 1, Route110_TrickHouseEntrance_EventScript_1612F1
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1612F1
compare 0x4044, 5
- callif 1, Route110_TrickHouseEntrance_EventScript_1612FA
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1612FA
compare 0x4044, 6
- callif 1, Route110_TrickHouseEntrance_EventScript_161303
+ call_if 1, Route110_TrickHouseEntrance_EventScript_161303
compare 0x4044, 7
- callif 1, Route110_TrickHouseEntrance_EventScript_16130C
- closebutton
+ call_if 1, Route110_TrickHouseEntrance_EventScript_16130C
+ closemessage
setvar 0x40a6, 1
warp Route110_TrickHouseEntrance, 255, 6, 2
waitstate
@@ -333,46 +333,46 @@ Route110_TrickHouseEntrance_EventScript_161327:: @ 8161327
Route110_TrickHouseEntrance_EventScript_161330:: @ 8161330
msgbox Route110_TrickHouseEntrance_Text_19BF19, 4
- closebutton
- move 1, Route110_TrickHouseEntrance_Movement_1A0839
- waitmove 0
- playsfx 21
- move 1, Route110_TrickHouseEntrance_Movement_1A0833
- waitmove 0
- move 1, Route110_TrickHouseEntrance_Movement_1A0835
- waitmove 0
+ closemessage
+ applymovement 1, Route110_TrickHouseEntrance_Movement_1A0839
+ waitmovement 0
+ playse 21
+ applymovement 1, Route110_TrickHouseEntrance_Movement_1A0833
+ waitmovement 0
+ applymovement 1, Route110_TrickHouseEntrance_Movement_1A0835
+ waitmovement 0
msgbox Route110_TrickHouseEntrance_Text_19BFAB, 4
- move 1, Route110_TrickHouseEntrance_Movement_1A0841
- waitmove 0
+ applymovement 1, Route110_TrickHouseEntrance_Movement_1A0841
+ waitmovement 0
releaseall
end
Route110_TrickHouseEntrance_EventScript_16136E:: @ 816136E
- move 1, Route110_TrickHouseEntrance_Movement_1A0839
- waitmove 0
+ applymovement 1, Route110_TrickHouseEntrance_Movement_1A0839
+ waitmovement 0
msgbox Route110_TrickHouseEntrance_Text_19C07E, 4
compare 0x4044, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_1613CE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_1613CE
compare 0x4044, 2
- jumpeq Route110_TrickHouseEntrance_EventScript_1613FA
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_1613FA
compare 0x4044, 3
- jumpeq Route110_TrickHouseEntrance_EventScript_161426
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161426
compare 0x4044, 4
- jumpeq Route110_TrickHouseEntrance_EventScript_161452
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161452
compare 0x4044, 5
- jumpeq Route110_TrickHouseEntrance_EventScript_16147E
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_16147E
compare 0x4044, 6
- jumpeq Route110_TrickHouseEntrance_EventScript_1614AA
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_1614AA
compare 0x4044, 7
- jumpeq Route110_TrickHouseEntrance_EventScript_1614D6
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_1614D6
end
Route110_TrickHouseEntrance_EventScript_1613CE:: @ 81613CE
giveitem ITEM_RARE_CANDY
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_161502
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -380,9 +380,9 @@ Route110_TrickHouseEntrance_EventScript_1613CE:: @ 81613CE
Route110_TrickHouseEntrance_EventScript_1613FA:: @ 81613FA
giveitem ITEM_TIMER_BALL
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_161502
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -390,9 +390,9 @@ Route110_TrickHouseEntrance_EventScript_1613FA:: @ 81613FA
Route110_TrickHouseEntrance_EventScript_161426:: @ 8161426
giveitem ITEM_HARD_STONE
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_161502
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -400,9 +400,9 @@ Route110_TrickHouseEntrance_EventScript_161426:: @ 8161426
Route110_TrickHouseEntrance_EventScript_161452:: @ 8161452
giveitem ITEM_SMOKE_BALL
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_161502
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -410,9 +410,9 @@ Route110_TrickHouseEntrance_EventScript_161452:: @ 8161452
Route110_TrickHouseEntrance_EventScript_16147E:: @ 816147E
giveitem ITEM_TM12
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_161502
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -420,9 +420,9 @@ Route110_TrickHouseEntrance_EventScript_16147E:: @ 816147E
Route110_TrickHouseEntrance_EventScript_1614AA:: @ 81614AA
giveitem ITEM_MAGNET
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_161502
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -430,9 +430,9 @@ Route110_TrickHouseEntrance_EventScript_1614AA:: @ 81614AA
Route110_TrickHouseEntrance_EventScript_1614D6:: @ 81614D6
giveitem ITEM_PP_MAX
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_161502
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161502
compare RESULT, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5
msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4
releaseall
end
@@ -440,14 +440,14 @@ Route110_TrickHouseEntrance_EventScript_1614D6:: @ 81614D6
Route110_TrickHouseEntrance_EventScript_161502:: @ 8161502
setvar 0x40c1, 0
setvar 0x40a7, 3
- move 1, Route110_TrickHouseEntrance_Movement_1A0841
- waitmove 0
+ applymovement 1, Route110_TrickHouseEntrance_Movement_1A0841
+ waitmovement 0
releaseall
end
Route110_TrickHouseEntrance_EventScript_161518:: @ 8161518
- move 1, Route110_TrickHouseEntrance_Movement_1A0839
- waitmove 0
+ applymovement 1, Route110_TrickHouseEntrance_Movement_1A0839
+ waitmovement 0
msgbox Route110_TrickHouseEntrance_Text_19C128, 4
.ifdef SAPPHIRE
givedecoration 32
@@ -455,24 +455,24 @@ Route110_TrickHouseEntrance_EventScript_161518:: @ 8161518
givedecoration 31
.endif
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_161551
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161551
compare RESULT, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1A02B8
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1A02B8
msgbox Route110_TrickHouseEntrance_Text_19C18D, 4
releaseall
end
Route110_TrickHouseEntrance_EventScript_161551:: @ 8161551
msgbox Route110_TrickHouseEntrance_Text_19C17E, 4
- closebutton
- move 1, Route110_TrickHouseEntrance_Movement_16309F
- waitmove 0
- move 1, Route110_TrickHouseEntrance_Movement_161315
- waitmove 0
- playsfx 178
- move 1, Route110_TrickHouseEntrance_Movement_16131E
- waitmove 0
- disappear 1
+ closemessage
+ applymovement 1, Route110_TrickHouseEntrance_Movement_16309F
+ waitmovement 0
+ applymovement 1, Route110_TrickHouseEntrance_Movement_161315
+ waitmovement 0
+ playse 178
+ applymovement 1, Route110_TrickHouseEntrance_Movement_16131E
+ waitmovement 0
+ removeobject 1
setvar 0x40c1, 0
setvar 0x40a7, 5
releaseall
@@ -494,20 +494,20 @@ Route110_TrickHouseEntrance_EventScript_1615BD:: @ 81615BD
Route110_TrickHouseEntrance_EventScript_1615C7:: @ 81615C7
msgbox Route110_TrickHouseEntrance_Text_19BE7D, 5
- closebutton
+ closemessage
compare RESULT, 1
- jumpeq Route110_TrickHouseEntrance_EventScript_1615DD
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_1615DD
releaseall
end
Route110_TrickHouseEntrance_EventScript_1615DD:: @ 81615DD
setmaptile 5, 1, 537, 0
special DrawWholeMapView
- pause 20
- move 255, Route110_TrickHouseEntrance_Movement_1A0856
- waitmove 0
- move 255, Route110_TrickHouseEntrance_Movement_16165E
- waitmove 0
+ delay 20
+ applymovement 255, Route110_TrickHouseEntrance_Movement_1A0856
+ waitmovement 0
+ applymovement 255, Route110_TrickHouseEntrance_Movement_16165E
+ waitmovement 0
switch 0x4044
case 0, Route110_TrickHouseEntrance_EventScript_161660
case 1, Route110_TrickHouseEntrance_EventScript_16166B
@@ -578,7 +578,7 @@ Route110_TrickHouseEntrance_EventScript_1616B8:: @ 81616B8
Route110_TrickHouseEntrance_EventScript_1616C2:: @ 81616C2
compare 0x4044, 8
- jumpeq Route110_TrickHouseEntrance_EventScript_1616D7
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_1616D7
msgbox Route110_TrickHouseEntrance_Text_19BE6E, 4
releaseall
end
@@ -603,9 +603,9 @@ gUnknown_081616E1:: @ 81616E1
Route110_TrickHouseEntrance_EventScript_161740:: @ 8161740
compare 0x40AB, 0
- jumpeq Route110_TrickHouseEntrance_EventScript_161888
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161888
msgbox UnknownString_819CAD1, 4
- playsfx SE_PIN
+ playse SE_PIN
setvar 0x40AB, 2
setmaptile 13, 1, 523, 0
special DrawWholeMapView
@@ -614,9 +614,9 @@ Route110_TrickHouseEntrance_EventScript_161740:: @ 8161740
Route110_TrickHouseEntrance_EventScript_161769:: @ 8161769
compare 0x40AC, 0
- jumpeq Route110_TrickHouseEntrance_EventScript_161888
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161888
msgbox UnknownString_819CCCB, 4
- playsfx SE_PIN
+ playse SE_PIN
setvar 0x40AC, 2
setmaptile 13, 1, 523, 0
special DrawWholeMapView
@@ -625,9 +625,9 @@ Route110_TrickHouseEntrance_EventScript_161769:: @ 8161769
Route110_TrickHouseEntrance_EventScript_161792:: @ 8161792
compare 0x40AD, 0
- jumpeq Route110_TrickHouseEntrance_EventScript_161888
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161888
msgbox UnknownString_819CEF9, 4
- playsfx SE_PIN
+ playse SE_PIN
setvar 0x40AD, 2
setmaptile 13, 1, 523, 0
special DrawWholeMapView
@@ -636,9 +636,9 @@ Route110_TrickHouseEntrance_EventScript_161792:: @ 8161792
Route110_TrickHouseEntrance_EventScript_1617BB:: @ 81617BB
compare 0x40AE, 0
- jumpeq Route110_TrickHouseEntrance_EventScript_161888
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161888
msgbox UnknownString_819D164, 4
- playsfx SE_PIN
+ playse SE_PIN
setvar 0x40AE, 2
setmaptile 13, 1, 523, 0
special DrawWholeMapView
@@ -647,9 +647,9 @@ Route110_TrickHouseEntrance_EventScript_1617BB:: @ 81617BB
Route110_TrickHouseEntrance_EventScript_1617E4:: @ 81617E4
compare 0x40AF, 0
- jumpeq Route110_TrickHouseEntrance_EventScript_161888
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161888
msgbox UnknownString_819D3A5, 4
- playsfx SE_PIN
+ playse SE_PIN
setvar 0x40AF, 2
setmaptile 13, 1, 523, 0
special DrawWholeMapView
@@ -658,9 +658,9 @@ Route110_TrickHouseEntrance_EventScript_1617E4:: @ 81617E4
Route110_TrickHouseEntrance_EventScript_16180D:: @ 816180D
compare 0x40B0, 0
- jumpeq Route110_TrickHouseEntrance_EventScript_161888
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161888
msgbox UnknownString_819DC0A, 4
- playsfx SE_PIN
+ playse SE_PIN
setvar 0x40B0, 2
setmaptile 13, 1, 523, 0
special DrawWholeMapView
@@ -669,9 +669,9 @@ Route110_TrickHouseEntrance_EventScript_16180D:: @ 816180D
Route110_TrickHouseEntrance_EventScript_161836:: @ 8161836
compare 0x40B1, 0
- jumpeq Route110_TrickHouseEntrance_EventScript_161888
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161888
msgbox UnknownString_819DE8D, 4
- playsfx SE_PIN
+ playse SE_PIN
setvar 0x40B1, 2
setmaptile 13, 1, 523, 0
special DrawWholeMapView
@@ -680,9 +680,9 @@ Route110_TrickHouseEntrance_EventScript_161836:: @ 8161836
Route110_TrickHouseEntrance_EventScript_16185F:: @ 816185F
compare 0x40B2, 0
- jumpeq Route110_TrickHouseEntrance_EventScript_161888
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_161888
msgbox UnknownString_819E0FF, 4
- playsfx SE_PIN
+ playse SE_PIN
setvar 0x40B2, 2
setmaptile 13, 1, 523, 0
special DrawWholeMapView
@@ -714,10 +714,10 @@ Route110_TrickHousePuzzle5_EventScript_16189C:: @ 816189C
Route110_TrickHousePuzzle6_EventScript_16189C:: @ 816189C
Route110_TrickHousePuzzle7_EventScript_16189C:: @ 816189C
Route110_TrickHousePuzzle8_EventScript_16189C:: @ 816189C
- fanfare 370
+ playfanfare 370
message Route110_TrickHousePuzzle1_Text_19C1B8
waitfanfare
- waittext
+ waitmessage
msgbox Route110_TrickHousePuzzle1_Text_19C1CB, 4
releaseall
end
@@ -727,11 +727,11 @@ Route110_TrickHouseEntrance_EventScript_1618B0:: @ 81618B0
msgbox Route110_TrickHouseEntrance_Text_19BA56, 4
releaseall
compare 0x4044, 0
- callif 1, Route110_TrickHouseEntrance_EventScript_1618E1
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1618E1
compare 0x4044, 1
- callif 1, Route110_TrickHouseEntrance_EventScript_1618F6
+ call_if 1, Route110_TrickHouseEntrance_EventScript_1618F6
compare 0x4044, 2
- callif 1, Route110_TrickHouseEntrance_EventScript_16190B
+ call_if 1, Route110_TrickHouseEntrance_EventScript_16190B
setvar 0x40a5, 1
end
@@ -757,10 +757,10 @@ Route110_TrickHouseEntrance_EventScript_16190B:: @ 816190B
return
Route110_TrickHouseEntrance_EventScript_161920:: @ 8161920
- setanimation 0, 32772
- setanimation 1, 32773
- setanimation 2, 32774
- doanimation 54
- checkanimation 54
- pause 10
+ setfieldeffect 0, 32772
+ setfieldeffect 1, 32773
+ setfieldeffect 2, 32774
+ dofieldeffect 54
+ waitfieldeffect 54
+ delay 10
return
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle1.inc b/data/scripts/maps/Route110_TrickHousePuzzle1.inc
index 6b6d45af2..3a89c2db1 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle1.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle1.inc
@@ -4,7 +4,7 @@ Route110_TrickHousePuzzle1_MapScripts:: @ 8161CF8
Route110_TrickHousePuzzle1_MapScript1_161CFE:: @ 8161CFE
compare 0x40ab, 2
- jumpeq Route110_TrickHousePuzzle1_EventScript_161D0A
+ goto_if_eq Route110_TrickHousePuzzle1_EventScript_161D0A
end
Route110_TrickHousePuzzle1_EventScript_161D0A:: @ 8161D0A
@@ -14,13 +14,13 @@ Route110_TrickHousePuzzle1_EventScript_161D0A:: @ 8161D0A
Route110_TrickHousePuzzle1_EventScript_161D14:: @ 8161D14
lockall
compare 0x40ab, 0
- jumpeq Route110_TrickHousePuzzle1_EventScript_161D26
- jump Route110_TrickHousePuzzle1_EventScript_161892
+ goto_if_eq Route110_TrickHousePuzzle1_EventScript_161D26
+ goto Route110_TrickHousePuzzle1_EventScript_161892
end
Route110_TrickHousePuzzle1_EventScript_161D26:: @ 8161D26
setvar 0x40ab, 1
- jump Route110_TrickHousePuzzle1_EventScript_16189C
+ goto Route110_TrickHousePuzzle1_EventScript_16189C
end
Route110_TrickHousePuzzle1_EventScript_161D31:: @ 8161D31
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc
index 27ffad50d..f71a9611a 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle2.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc
@@ -5,13 +5,13 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 8161D76
Route110_TrickHousePuzzle2_MapScript1_161D81:: @ 8161D81
compare 0x4001, 1
- callif 1, Route110_TrickHousePuzzle2_EventScript_161E2C
+ call_if 1, Route110_TrickHousePuzzle2_EventScript_161E2C
compare 0x4002, 1
- callif 1, Route110_TrickHousePuzzle2_EventScript_161E3F
+ call_if 1, Route110_TrickHousePuzzle2_EventScript_161E3F
compare 0x4003, 1
- callif 1, Route110_TrickHousePuzzle2_EventScript_161E52
+ call_if 1, Route110_TrickHousePuzzle2_EventScript_161E52
compare 0x4004, 1
- callif 1, Route110_TrickHousePuzzle2_EventScript_161E65
+ call_if 1, Route110_TrickHousePuzzle2_EventScript_161E65
end
Route110_TrickHousePuzzle2_MapScript1_161DAE:: @ 8161DAE
@@ -24,19 +24,19 @@ Route110_TrickHousePuzzle2_MapScript1_161DAE:: @ 8161DAE
Route110_TrickHousePuzzle2_EventScript_161DC3:: @ 8161DC3
lockall
compare 0x40ac, 0
- jumpeq Route110_TrickHousePuzzle2_EventScript_161DD5
- jump Route110_TrickHousePuzzle2_EventScript_161892
+ goto_if_eq Route110_TrickHousePuzzle2_EventScript_161DD5
+ goto Route110_TrickHousePuzzle2_EventScript_161892
end
Route110_TrickHousePuzzle2_EventScript_161DD5:: @ 8161DD5
setvar 0x40ac, 1
- jump Route110_TrickHousePuzzle2_EventScript_16189C
+ goto Route110_TrickHousePuzzle2_EventScript_16189C
end
Route110_TrickHousePuzzle2_EventScript_161DE0:: @ 8161DE0
lockall
setvar 0x4001, 1
- playsfx 21
+ playse 21
call Route110_TrickHousePuzzle2_EventScript_161E2C
special DrawWholeMapView
releaseall
@@ -45,7 +45,7 @@ Route110_TrickHousePuzzle2_EventScript_161DE0:: @ 8161DE0
Route110_TrickHousePuzzle2_EventScript_161DF3:: @ 8161DF3
lockall
setvar 0x4002, 1
- playsfx 21
+ playse 21
call Route110_TrickHousePuzzle2_EventScript_161E3F
special DrawWholeMapView
releaseall
@@ -54,7 +54,7 @@ Route110_TrickHousePuzzle2_EventScript_161DF3:: @ 8161DF3
Route110_TrickHousePuzzle2_EventScript_161E06:: @ 8161E06
lockall
setvar 0x4003, 1
- playsfx 21
+ playse 21
call Route110_TrickHousePuzzle2_EventScript_161E52
special DrawWholeMapView
releaseall
@@ -63,7 +63,7 @@ Route110_TrickHousePuzzle2_EventScript_161E06:: @ 8161E06
Route110_TrickHousePuzzle2_EventScript_161E19:: @ 8161E19
lockall
setvar 0x4004, 1
- playsfx 21
+ playse 21
call Route110_TrickHousePuzzle2_EventScript_161E65
special DrawWholeMapView
releaseall
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc
index efd96ec44..a50ecd3ce 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle3.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc
@@ -6,9 +6,9 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 8161EBD
Route110_TrickHousePuzzle3_MapScript1_161EC8:: @ 8161EC8
call Route110_TrickHousePuzzle3_EventScript_161F12
compare 0x4009, 0
- callif 1, Route110_TrickHousePuzzle3_EventScript_161FE5
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161FE5
compare 0x4009, 1
- callif 1, Route110_TrickHousePuzzle3_EventScript_1622C8
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_1622C8
end
Route110_TrickHousePuzzle3_MapScript1_161EE4:: @ 8161EE4
@@ -32,19 +32,19 @@ Route110_TrickHousePuzzle3_EventScript_161F12:: @ 8161F12
setmaptile 1, 3, 600, 0
setmaptile 10, 2, 600, 0
compare 0x4008, 1
- callif 1, Route110_TrickHousePuzzle3_EventScript_161F9F
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161F9F
compare 0x4008, 2
- callif 1, Route110_TrickHousePuzzle3_EventScript_161FA9
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161FA9
compare 0x4008, 3
- callif 1, Route110_TrickHousePuzzle3_EventScript_161FB3
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161FB3
compare 0x4008, 4
- callif 1, Route110_TrickHousePuzzle3_EventScript_161FBD
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161FBD
compare 0x4008, 5
- callif 1, Route110_TrickHousePuzzle3_EventScript_161FC7
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161FC7
compare 0x4008, 6
- callif 1, Route110_TrickHousePuzzle3_EventScript_161FD1
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161FD1
compare 0x4008, 7
- callif 1, Route110_TrickHousePuzzle3_EventScript_161FDB
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161FDB
return
Route110_TrickHousePuzzle3_EventScript_161F9F:: @ 8161F9F
@@ -248,50 +248,50 @@ Route110_TrickHousePuzzle3_EventScript_1622C8:: @ 81622C8
Route110_TrickHousePuzzle3_EventScript_1625AB:: @ 81625AB
lockall
setvar 0x4008, 1
- jump Route110_TrickHousePuzzle3_EventScript_1625FF
+ goto Route110_TrickHousePuzzle3_EventScript_1625FF
end
Route110_TrickHousePuzzle3_EventScript_1625B7:: @ 81625B7
lockall
setvar 0x4008, 2
- jump Route110_TrickHousePuzzle3_EventScript_1625FF
+ goto Route110_TrickHousePuzzle3_EventScript_1625FF
end
Route110_TrickHousePuzzle3_EventScript_1625C3:: @ 81625C3
lockall
setvar 0x4008, 3
- jump Route110_TrickHousePuzzle3_EventScript_1625FF
+ goto Route110_TrickHousePuzzle3_EventScript_1625FF
end
Route110_TrickHousePuzzle3_EventScript_1625CF:: @ 81625CF
lockall
setvar 0x4008, 4
- jump Route110_TrickHousePuzzle3_EventScript_1625FF
+ goto Route110_TrickHousePuzzle3_EventScript_1625FF
end
Route110_TrickHousePuzzle3_EventScript_1625DB:: @ 81625DB
lockall
setvar 0x4008, 5
- jump Route110_TrickHousePuzzle3_EventScript_1625FF
+ goto Route110_TrickHousePuzzle3_EventScript_1625FF
end
Route110_TrickHousePuzzle3_EventScript_1625E7:: @ 81625E7
lockall
setvar 0x4008, 6
- jump Route110_TrickHousePuzzle3_EventScript_1625FF
+ goto Route110_TrickHousePuzzle3_EventScript_1625FF
end
Route110_TrickHousePuzzle3_EventScript_1625F3:: @ 81625F3
lockall
setvar 0x4008, 7
- jump Route110_TrickHousePuzzle3_EventScript_1625FF
+ goto Route110_TrickHousePuzzle3_EventScript_1625FF
end
Route110_TrickHousePuzzle3_EventScript_1625FF:: @ 81625FF
call Route110_TrickHousePuzzle3_EventScript_162612
- playsfx 21
+ playse 21
call Route110_TrickHousePuzzle3_EventScript_161F12
- jump Route110_TrickHousePuzzle3_EventScript_1626AD
+ goto Route110_TrickHousePuzzle3_EventScript_1626AD
end
Route110_TrickHousePuzzle3_EventScript_162612:: @ 8162612
@@ -303,19 +303,19 @@ Route110_TrickHousePuzzle3_EventScript_162612:: @ 8162612
setvar 0x4006, 0
setvar 0x4007, 0
compare 0x4008, 1
- callif 1, Route110_TrickHousePuzzle3_EventScript_162683
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_162683
compare 0x4008, 2
- callif 1, Route110_TrickHousePuzzle3_EventScript_162689
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_162689
compare 0x4008, 3
- callif 1, Route110_TrickHousePuzzle3_EventScript_16268F
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_16268F
compare 0x4008, 4
- callif 1, Route110_TrickHousePuzzle3_EventScript_162695
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_162695
compare 0x4008, 5
- callif 1, Route110_TrickHousePuzzle3_EventScript_16269B
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_16269B
compare 0x4008, 6
- callif 1, Route110_TrickHousePuzzle3_EventScript_1626A1
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_1626A1
compare 0x4008, 7
- callif 1, Route110_TrickHousePuzzle3_EventScript_1626A7
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_1626A7
return
Route110_TrickHousePuzzle3_EventScript_162683:: @ 8162683
@@ -348,14 +348,14 @@ Route110_TrickHousePuzzle3_EventScript_1626A7:: @ 81626A7
Route110_TrickHousePuzzle3_EventScript_1626AD:: @ 81626AD
compare 0x4009, 1
- callif 1, Route110_TrickHousePuzzle3_EventScript_161FE5
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_161FE5
compare 0x4009, 0
- callif 1, Route110_TrickHousePuzzle3_EventScript_1622C8
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_1622C8
special DrawWholeMapView
compare 0x4009, 1
- jumpeq Route110_TrickHousePuzzle3_EventScript_1626DD
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_1626DD
compare 0x4009, 0
- jumpeq Route110_TrickHousePuzzle3_EventScript_1626E4
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_1626E4
end
Route110_TrickHousePuzzle3_EventScript_1626DD:: @ 81626DD
@@ -371,13 +371,13 @@ Route110_TrickHousePuzzle3_EventScript_1626E4:: @ 81626E4
Route110_TrickHousePuzzle3_EventScript_1626EB:: @ 81626EB
lockall
compare 0x40ad, 0
- jumpeq Route110_TrickHousePuzzle3_EventScript_1626FD
- jump Route110_TrickHousePuzzle3_EventScript_161892
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_1626FD
+ goto Route110_TrickHousePuzzle3_EventScript_161892
end
Route110_TrickHousePuzzle3_EventScript_1626FD:: @ 81626FD
setvar 0x40ad, 1
- jump Route110_TrickHousePuzzle3_EventScript_16189C
+ goto Route110_TrickHousePuzzle3_EventScript_16189C
end
Route110_TrickHousePuzzle3_EventScript_162708:: @ 8162708
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle4.inc b/data/scripts/maps/Route110_TrickHousePuzzle4.inc
index 89d5e45c3..0c9fc426f 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle4.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle4.inc
@@ -4,13 +4,13 @@ Route110_TrickHousePuzzle4_MapScripts:: @ 816274D
Route110_TrickHousePuzzle4_EventScript_16274E:: @ 816274E
lockall
compare 0x40ae, 0
- jumpeq Route110_TrickHousePuzzle4_EventScript_162760
- jump Route110_TrickHousePuzzle4_EventScript_161892
+ goto_if_eq Route110_TrickHousePuzzle4_EventScript_162760
+ goto Route110_TrickHousePuzzle4_EventScript_161892
end
Route110_TrickHousePuzzle4_EventScript_162760:: @ 8162760
setvar 0x40ae, 1
- jump Route110_TrickHousePuzzle4_EventScript_16189C
+ goto Route110_TrickHousePuzzle4_EventScript_16189C
end
Route110_TrickHousePuzzle4_EventScript_16276B:: @ 816276B
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle5.inc b/data/scripts/maps/Route110_TrickHousePuzzle5.inc
index cd5d2fbb9..222a71138 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle5.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle5.inc
@@ -14,163 +14,163 @@ Route110_TrickHousePuzzle5_MapScript1_1627B6:: @ 81627B6
Route110_TrickHousePuzzle5_EventScript_1627D5:: @ 81627D5
lockall
compare 0x40af, 0
- jumpeq Route110_TrickHousePuzzle5_EventScript_1627E7
- jump Route110_TrickHousePuzzle5_EventScript_161892
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_1627E7
+ goto Route110_TrickHousePuzzle5_EventScript_161892
end
Route110_TrickHousePuzzle5_EventScript_1627E7:: @ 81627E7
setvar 0x40af, 1
- jump Route110_TrickHousePuzzle5_EventScript_16189C
+ goto Route110_TrickHousePuzzle5_EventScript_16189C
end
Route110_TrickHousePuzzle5_EventScript_1627F2:: @ 81627F2
lockall
- move 1, Route110_TrickHousePuzzle5_Movement_1A0839
- waitmove 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0839
+ waitmovement 0
compare 0x4001, 1
- jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_16293F
+ goto Route110_TrickHousePuzzle5_EventScript_16293F
end
Route110_TrickHousePuzzle5_EventScript_162813:: @ 8162813
lockall
- move 2, Route110_TrickHousePuzzle5_Movement_1A0839
- waitmove 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0839
+ waitmovement 0
compare 0x4002, 1
- jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_1629B3
+ goto Route110_TrickHousePuzzle5_EventScript_1629B3
end
Route110_TrickHousePuzzle5_EventScript_162834:: @ 8162834
lockall
- move 3, Route110_TrickHousePuzzle5_Movement_1A0839
- waitmove 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0839
+ waitmovement 0
compare 0x4003, 1
- jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_162A27
+ goto Route110_TrickHousePuzzle5_EventScript_162A27
end
Route110_TrickHousePuzzle5_EventScript_162855:: @ 8162855
lockall
- move 4, Route110_TrickHousePuzzle5_Movement_1A0839
- waitmove 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0839
+ waitmovement 0
compare 0x4004, 1
- jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_162A9B
+ goto Route110_TrickHousePuzzle5_EventScript_162A9B
end
Route110_TrickHousePuzzle5_EventScript_162876:: @ 8162876
lockall
- move 5, Route110_TrickHousePuzzle5_Movement_1A0839
- waitmove 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0839
+ waitmovement 0
compare 0x4005, 1
- jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_162B0F
+ goto Route110_TrickHousePuzzle5_EventScript_162B0F
end
Route110_TrickHousePuzzle5_EventScript_162897:: @ 8162897
lockall
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_16293F
+ goto Route110_TrickHousePuzzle5_EventScript_16293F
end
Route110_TrickHousePuzzle5_EventScript_1628A3:: @ 81628A3
lockall
setvar 0x4009, 1
- jump Route110_TrickHousePuzzle5_EventScript_16293F
+ goto Route110_TrickHousePuzzle5_EventScript_16293F
end
Route110_TrickHousePuzzle5_EventScript_1628AF:: @ 81628AF
lockall
setvar 0x4009, 2
- jump Route110_TrickHousePuzzle5_EventScript_16293F
+ goto Route110_TrickHousePuzzle5_EventScript_16293F
end
Route110_TrickHousePuzzle5_EventScript_1628BB:: @ 81628BB
lockall
setvar 0x4009, 3
- jump Route110_TrickHousePuzzle5_EventScript_16293F
+ goto Route110_TrickHousePuzzle5_EventScript_16293F
end
Route110_TrickHousePuzzle5_EventScript_1628C7:: @ 81628C7
lockall
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_1629B3
+ goto Route110_TrickHousePuzzle5_EventScript_1629B3
end
Route110_TrickHousePuzzle5_EventScript_1628D3:: @ 81628D3
lockall
setvar 0x4009, 1
- jump Route110_TrickHousePuzzle5_EventScript_1629B3
+ goto Route110_TrickHousePuzzle5_EventScript_1629B3
end
Route110_TrickHousePuzzle5_EventScript_1628DF:: @ 81628DF
lockall
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_162A27
+ goto Route110_TrickHousePuzzle5_EventScript_162A27
end
Route110_TrickHousePuzzle5_EventScript_1628EB:: @ 81628EB
lockall
setvar 0x4009, 1
- jump Route110_TrickHousePuzzle5_EventScript_162A27
+ goto Route110_TrickHousePuzzle5_EventScript_162A27
end
Route110_TrickHousePuzzle5_EventScript_1628F7:: @ 81628F7
lockall
setvar 0x4009, 2
- jump Route110_TrickHousePuzzle5_EventScript_162A27
+ goto Route110_TrickHousePuzzle5_EventScript_162A27
end
Route110_TrickHousePuzzle5_EventScript_162903:: @ 8162903
lockall
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_162A9B
+ goto Route110_TrickHousePuzzle5_EventScript_162A9B
end
Route110_TrickHousePuzzle5_EventScript_16290F:: @ 816290F
lockall
setvar 0x4009, 1
- jump Route110_TrickHousePuzzle5_EventScript_162A9B
+ goto Route110_TrickHousePuzzle5_EventScript_162A9B
end
Route110_TrickHousePuzzle5_EventScript_16291B:: @ 816291B
lockall
setvar 0x4009, 0
- jump Route110_TrickHousePuzzle5_EventScript_162B0F
+ goto Route110_TrickHousePuzzle5_EventScript_162B0F
end
Route110_TrickHousePuzzle5_EventScript_162927:: @ 8162927
lockall
setvar 0x4009, 1
- jump Route110_TrickHousePuzzle5_EventScript_162B0F
+ goto Route110_TrickHousePuzzle5_EventScript_162B0F
end
Route110_TrickHousePuzzle5_EventScript_162933:: @ 8162933
lockall
setvar 0x4009, 2
- jump Route110_TrickHousePuzzle5_EventScript_162B0F
+ goto Route110_TrickHousePuzzle5_EventScript_162B0F
end
Route110_TrickHousePuzzle5_EventScript_16293F:: @ 816293F
setvar 0x4001, 1
setvar 0x4008, 1
- playsfx 21
- move 1, Route110_TrickHousePuzzle5_Movement_1A0833
- waitmove 0
- move 1, Route110_TrickHousePuzzle5_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0833
+ waitmovement 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0835
+ waitmovement 0
compare 0x4009, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162DF3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3
compare 0x4009, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162E2B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B
compare 0x4009, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162E63
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63
msgbox Route110_TrickHousePuzzle5_Text_19D423, 4
random 3
switch RESULT
@@ -182,17 +182,17 @@ Route110_TrickHousePuzzle5_EventScript_16293F:: @ 816293F
Route110_TrickHousePuzzle5_EventScript_1629B3:: @ 81629B3
setvar 0x4002, 1
setvar 0x4008, 2
- playsfx 21
- move 2, Route110_TrickHousePuzzle5_Movement_1A0833
- waitmove 0
- move 2, Route110_TrickHousePuzzle5_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0833
+ waitmovement 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0835
+ waitmovement 0
compare 0x4009, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162E9B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162E9B
compare 0x4009, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162ED3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162ED3
compare 0x4009, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F0B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F0B
msgbox Route110_TrickHousePuzzle5_Text_19D636, 4
random 3
switch RESULT
@@ -204,17 +204,17 @@ Route110_TrickHousePuzzle5_EventScript_1629B3:: @ 81629B3
Route110_TrickHousePuzzle5_EventScript_162A27:: @ 8162A27
setvar 0x4003, 1
setvar 0x4008, 3
- playsfx 21
- move 3, Route110_TrickHousePuzzle5_Movement_1A0833
- waitmove 0
- move 3, Route110_TrickHousePuzzle5_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0833
+ waitmovement 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0835
+ waitmovement 0
compare 0x4009, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162DF3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3
compare 0x4009, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162E2B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B
compare 0x4009, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162E63
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63
msgbox Route110_TrickHousePuzzle5_Text_19D7D3, 4
random 3
switch RESULT
@@ -226,17 +226,17 @@ Route110_TrickHousePuzzle5_EventScript_162A27:: @ 8162A27
Route110_TrickHousePuzzle5_EventScript_162A9B:: @ 8162A9B
setvar 0x4004, 1
setvar 0x4008, 4
- playsfx 21
- move 4, Route110_TrickHousePuzzle5_Movement_1A0833
- waitmove 0
- move 4, Route110_TrickHousePuzzle5_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0833
+ waitmovement 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0835
+ waitmovement 0
compare 0x4009, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162DF3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3
compare 0x4009, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162E2B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B
compare 0x4009, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162E63
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63
msgbox Route110_TrickHousePuzzle5_Text_19D93D, 4
random 3
switch RESULT
@@ -248,17 +248,17 @@ Route110_TrickHousePuzzle5_EventScript_162A9B:: @ 8162A9B
Route110_TrickHousePuzzle5_EventScript_162B0F:: @ 8162B0F
setvar 0x4005, 1
setvar 0x4008, 5
- playsfx 21
- move 5, Route110_TrickHousePuzzle5_Movement_1A0833
- waitmove 0
- move 5, Route110_TrickHousePuzzle5_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0833
+ waitmovement 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0835
+ waitmovement 0
compare 0x4009, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162E9B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162E9B
compare 0x4009, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162ED3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162ED3
compare 0x4009, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F0B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F0B
msgbox Route110_TrickHousePuzzle5_Text_19DA9A, 4
random 3
switch RESULT
@@ -272,7 +272,7 @@ Route110_TrickHousePuzzle5_EventScript_162B83:: @ 8162B83
multichoice 0, 0, 25, 1
switch RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162BA6:: @ 8162BA6
@@ -280,7 +280,7 @@ Route110_TrickHousePuzzle5_EventScript_162BA6:: @ 8162BA6
multichoice 0, 0, 26, 1
switch RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162BC9:: @ 8162BC9
@@ -288,7 +288,7 @@ Route110_TrickHousePuzzle5_EventScript_162BC9:: @ 8162BC9
multichoice 0, 0, 27, 1
switch RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162BEC:: @ 8162BEC
@@ -296,7 +296,7 @@ Route110_TrickHousePuzzle5_EventScript_162BEC:: @ 8162BEC
multichoice 0, 0, 28, 1
switch RESULT
case 2, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162C0F:: @ 8162C0F
@@ -304,7 +304,7 @@ Route110_TrickHousePuzzle5_EventScript_162C0F:: @ 8162C0F
multichoice 0, 0, 29, 1
switch RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162C32:: @ 8162C32
@@ -312,7 +312,7 @@ Route110_TrickHousePuzzle5_EventScript_162C32:: @ 8162C32
multichoice 0, 0, 30, 1
switch RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162C55:: @ 8162C55
@@ -320,7 +320,7 @@ Route110_TrickHousePuzzle5_EventScript_162C55:: @ 8162C55
multichoice 0, 0, 31, 1
switch RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162C78:: @ 8162C78
@@ -328,7 +328,7 @@ Route110_TrickHousePuzzle5_EventScript_162C78:: @ 8162C78
multichoice 0, 0, 32, 1
switch RESULT
case 2, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162C9B:: @ 8162C9B
@@ -336,7 +336,7 @@ Route110_TrickHousePuzzle5_EventScript_162C9B:: @ 8162C9B
multichoice 0, 0, 33, 1
switch RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162CBE:: @ 8162CBE
@@ -344,7 +344,7 @@ Route110_TrickHousePuzzle5_EventScript_162CBE:: @ 8162CBE
multichoice 0, 0, 34, 1
switch RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162CE1:: @ 8162CE1
@@ -352,7 +352,7 @@ Route110_TrickHousePuzzle5_EventScript_162CE1:: @ 8162CE1
multichoice 0, 0, 35, 1
switch RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162D04:: @ 8162D04
@@ -360,7 +360,7 @@ Route110_TrickHousePuzzle5_EventScript_162D04:: @ 8162D04
multichoice 0, 0, 36, 1
switch RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162D27:: @ 8162D27
@@ -368,7 +368,7 @@ Route110_TrickHousePuzzle5_EventScript_162D27:: @ 8162D27
multichoice 0, 0, 37, 1
switch RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162D4A:: @ 8162D4A
@@ -376,7 +376,7 @@ Route110_TrickHousePuzzle5_EventScript_162D4A:: @ 8162D4A
multichoice 0, 0, 38, 1
switch RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162D6D:: @ 8162D6D
@@ -384,32 +384,32 @@ Route110_TrickHousePuzzle5_EventScript_162D6D:: @ 8162D6D
multichoice 0, 0, 39, 1
switch RESULT
case 2, Route110_TrickHousePuzzle5_EventScript_162DDF
- jump Route110_TrickHousePuzzle5_EventScript_162D90
+ goto Route110_TrickHousePuzzle5_EventScript_162D90
end
Route110_TrickHousePuzzle5_EventScript_162D90:: @ 8162D90
- checksound
- playsfx 32
+ waitse
+ playse 32
msgbox Route110_TrickHousePuzzle5_Text_19D5CF, 4
- move 1, Route110_TrickHousePuzzle5_Movement_16309F
- move 2, Route110_TrickHousePuzzle5_Movement_16309F
- move 3, Route110_TrickHousePuzzle5_Movement_16309F
- move 4, Route110_TrickHousePuzzle5_Movement_16309F
- move 5, Route110_TrickHousePuzzle5_Movement_16309F
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_16309F
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_16309F
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_16309F
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_16309F
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_16309F
msgbox Route110_TrickHousePuzzle5_Text_19D5ED, 4
- waitmove 0
- closebutton
+ waitmovement 0
+ closemessage
msgbox Route110_TrickHousePuzzle5_Text_19D615, 4
- closebutton
+ closemessage
warp Route110_TrickHousePuzzle5, 255, 0, 21
waitstate
releaseall
end
Route110_TrickHousePuzzle5_EventScript_162DDF:: @ 8162DDF
- checksound
- playsfx 31
- jump Route110_TrickHousePuzzle5_EventScript_162DE9
+ waitse
+ playse 31
+ goto Route110_TrickHousePuzzle5_EventScript_162DE9
end
Route110_TrickHousePuzzle5_EventScript_162DE9:: @ 8162DE9
@@ -419,230 +419,230 @@ Route110_TrickHousePuzzle5_EventScript_162DE9:: @ 8162DE9
Route110_TrickHousePuzzle5_EventScript_162DF3:: @ 8162DF3
compare 0x4008, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F43
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F43
compare 0x4008, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F4E
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F4E
compare 0x4008, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F59
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F59
compare 0x4008, 4
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F64
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F64
compare 0x4008, 5
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F6F
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F6F
return
Route110_TrickHousePuzzle5_EventScript_162E2B:: @ 8162E2B
compare 0x4008, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F7A
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F7A
compare 0x4008, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F85
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F85
compare 0x4008, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F90
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F90
compare 0x4008, 4
- callif 1, Route110_TrickHousePuzzle5_EventScript_162F9B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162F9B
compare 0x4008, 5
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FA6
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FA6
return
Route110_TrickHousePuzzle5_EventScript_162E63:: @ 8162E63
compare 0x4008, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FB1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FB1
compare 0x4008, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FBC
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FBC
compare 0x4008, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FC7
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FC7
compare 0x4009, 4
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FD2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FD2
compare 0x4009, 5
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FDD
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FDD
return
Route110_TrickHousePuzzle5_EventScript_162E9B:: @ 8162E9B
compare 0x4008, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FE8
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FE8
compare 0x4008, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FF3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FF3
compare 0x4008, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_162FFE
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_162FFE
compare 0x4008, 4
- callif 1, Route110_TrickHousePuzzle5_EventScript_163009
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_163009
compare 0x4008, 5
- callif 1, Route110_TrickHousePuzzle5_EventScript_163014
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_163014
return
Route110_TrickHousePuzzle5_EventScript_162ED3:: @ 8162ED3
compare 0x4008, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_16301F
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_16301F
compare 0x4008, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_16302A
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_16302A
compare 0x4008, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_163035
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_163035
compare 0x4008, 4
- callif 1, Route110_TrickHousePuzzle5_EventScript_163040
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_163040
compare 0x4008, 5
- callif 1, Route110_TrickHousePuzzle5_EventScript_16304B
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_16304B
return
Route110_TrickHousePuzzle5_EventScript_162F0B:: @ 8162F0B
compare 0x4008, 1
- callif 1, Route110_TrickHousePuzzle5_EventScript_163056
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_163056
compare 0x4008, 2
- callif 1, Route110_TrickHousePuzzle5_EventScript_163061
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_163061
compare 0x4008, 3
- callif 1, Route110_TrickHousePuzzle5_EventScript_16306C
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_16306C
compare 0x4008, 4
- callif 1, Route110_TrickHousePuzzle5_EventScript_163077
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_163077
compare 0x4008, 5
- callif 1, Route110_TrickHousePuzzle5_EventScript_163082
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_163082
return
Route110_TrickHousePuzzle5_EventScript_162F43:: @ 8162F43
- move 1, Route110_TrickHousePuzzle5_Movement_16308D
- waitmove 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_16308D
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162F4E:: @ 8162F4E
- move 2, Route110_TrickHousePuzzle5_Movement_16308D
- waitmove 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_16308D
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162F59:: @ 8162F59
- move 3, Route110_TrickHousePuzzle5_Movement_16308D
- waitmove 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_16308D
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162F64:: @ 8162F64
- move 4, Route110_TrickHousePuzzle5_Movement_16308D
- waitmove 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_16308D
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162F6F:: @ 8162F6F
- move 5, Route110_TrickHousePuzzle5_Movement_16308D
- waitmove 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_16308D
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162F7A:: @ 8162F7A
- move 1, Route110_TrickHousePuzzle5_Movement_16308F
- waitmove 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_16308F
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162F85:: @ 8162F85
- move 2, Route110_TrickHousePuzzle5_Movement_16308F
- waitmove 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_16308F
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162F90:: @ 8162F90
- move 3, Route110_TrickHousePuzzle5_Movement_16308F
- waitmove 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_16308F
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162F9B:: @ 8162F9B
- move 4, Route110_TrickHousePuzzle5_Movement_16308F
- waitmove 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_16308F
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FA6:: @ 8162FA6
- move 5, Route110_TrickHousePuzzle5_Movement_16308F
- waitmove 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_16308F
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FB1:: @ 8162FB1
- move 1, Route110_TrickHousePuzzle5_Movement_163092
- waitmove 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_163092
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FBC:: @ 8162FBC
- move 2, Route110_TrickHousePuzzle5_Movement_163092
- waitmove 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_163092
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FC7:: @ 8162FC7
- move 3, Route110_TrickHousePuzzle5_Movement_163092
- waitmove 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_163092
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FD2:: @ 8162FD2
- move 4, Route110_TrickHousePuzzle5_Movement_163092
- waitmove 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_163092
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FDD:: @ 8162FDD
- move 5, Route110_TrickHousePuzzle5_Movement_163092
- waitmove 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_163092
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FE8:: @ 8162FE8
- move 1, Route110_TrickHousePuzzle5_Movement_163096
- waitmove 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_163096
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FF3:: @ 8162FF3
- move 2, Route110_TrickHousePuzzle5_Movement_163096
- waitmove 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_163096
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_162FFE:: @ 8162FFE
- move 3, Route110_TrickHousePuzzle5_Movement_163096
- waitmove 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_163096
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_163009:: @ 8163009
- move 4, Route110_TrickHousePuzzle5_Movement_163096
- waitmove 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_163096
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_163014:: @ 8163014
- move 5, Route110_TrickHousePuzzle5_Movement_163096
- waitmove 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_163096
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_16301F:: @ 816301F
- move 1, Route110_TrickHousePuzzle5_Movement_163098
- waitmove 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_163098
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_16302A:: @ 816302A
- move 2, Route110_TrickHousePuzzle5_Movement_163098
- waitmove 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_163098
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_163035:: @ 8163035
- move 3, Route110_TrickHousePuzzle5_Movement_163098
- waitmove 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_163098
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_163040:: @ 8163040
- move 4, Route110_TrickHousePuzzle5_Movement_163098
- waitmove 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_163098
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_16304B:: @ 816304B
- move 5, Route110_TrickHousePuzzle5_Movement_163098
- waitmove 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_163098
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_163056:: @ 8163056
- move 1, Route110_TrickHousePuzzle5_Movement_16309B
- waitmove 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_16309B
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_163061:: @ 8163061
- move 2, Route110_TrickHousePuzzle5_Movement_16309B
- waitmove 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_16309B
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_16306C:: @ 816306C
- move 3, Route110_TrickHousePuzzle5_Movement_16309B
- waitmove 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_16309B
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_163077:: @ 8163077
- move 4, Route110_TrickHousePuzzle5_Movement_16309B
- waitmove 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_16309B
+ waitmovement 0
return
Route110_TrickHousePuzzle5_EventScript_163082:: @ 8163082
- move 5, Route110_TrickHousePuzzle5_Movement_16309B
- waitmove 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_16309B
+ waitmovement 0
return
Route110_TrickHousePuzzle5_Movement_16308D:: @ 816308D
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle6.inc b/data/scripts/maps/Route110_TrickHousePuzzle6.inc
index 1e47bbd83..ddf845142 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle6.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle6.inc
@@ -18,13 +18,13 @@ Route110_TrickHousePuzzle6_EventScript_1630E6:: @ 81630E6
Route110_TrickHousePuzzle6_EventScript_1630EA:: @ 81630EA
lockall
compare 0x40b0, 0
- jumpeq Route110_TrickHousePuzzle6_EventScript_1630FC
- jump Route110_TrickHousePuzzle6_EventScript_161892
+ goto_if_eq Route110_TrickHousePuzzle6_EventScript_1630FC
+ goto Route110_TrickHousePuzzle6_EventScript_161892
end
Route110_TrickHousePuzzle6_EventScript_1630FC:: @ 81630FC
setvar 0x40b0, 1
- jump Route110_TrickHousePuzzle6_EventScript_16189C
+ goto Route110_TrickHousePuzzle6_EventScript_16189C
end
Route110_TrickHousePuzzle6_EventScript_163107:: @ 8163107
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc
index 7f965b467..3361e3e9d 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle7.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc
@@ -11,15 +11,15 @@ Route110_TrickHousePuzzle7_MapScript1_163161:: @ 8163161
Route110_TrickHousePuzzle7_EventScript_163167:: @ 8163167
checkflag 194
- callif 1, Route110_TrickHousePuzzle7_EventScript_163195
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_163195
checkflag 195
- callif 1, Route110_TrickHousePuzzle7_EventScript_1631A8
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_1631A8
checkflag 196
- callif 1, Route110_TrickHousePuzzle7_EventScript_1631BB
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_1631BB
checkflag 197
- callif 1, Route110_TrickHousePuzzle7_EventScript_1631CE
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_1631CE
checkflag 198
- callif 1, Route110_TrickHousePuzzle7_EventScript_1631E1
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_1631E1
return
Route110_TrickHousePuzzle7_EventScript_163195:: @ 8163195
@@ -74,7 +74,7 @@ Route110_TrickHousePuzzle7_EventScript_163240:: @ 8163240
Route110_TrickHousePuzzle7_MapScript1_163253:: @ 8163253
compare 0x40b6, 1
- jumpeq Route110_TrickHousePuzzle7_EventScript_16326E
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_16326E
clearflag 194
clearflag 195
clearflag 196
@@ -87,7 +87,7 @@ Route110_TrickHousePuzzle7_EventScript_16326E:: @ 816326E
Route110_TrickHousePuzzle7_MapScript1_16326F:: @ 816326F
compare 0x40b6, 1
- callif 1, Route110_TrickHousePuzzle7_EventScript_163167
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_163167
end
Route110_TrickHousePuzzle7_MapScript2_16327B:: @ 816327B
@@ -101,13 +101,13 @@ Route110_TrickHousePuzzle7_EventScript_163285:: @ 8163285
Route110_TrickHousePuzzle7_EventScript_16328B:: @ 816328B
lockall
compare 0x40b1, 0
- jumpeq Route110_TrickHousePuzzle7_EventScript_16329D
- jump Route110_TrickHousePuzzle7_EventScript_161892
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_16329D
+ goto Route110_TrickHousePuzzle7_EventScript_161892
end
Route110_TrickHousePuzzle7_EventScript_16329D:: @ 816329D
setvar 0x40b1, 1
- jump Route110_TrickHousePuzzle7_EventScript_16189C
+ goto Route110_TrickHousePuzzle7_EventScript_16189C
end
Route110_TrickHousePuzzle7_EventScript_1632A8:: @ 81632A8
@@ -120,77 +120,77 @@ Route110_TrickHousePuzzle7_EventScript_1632A8:: @ 81632A8
Route110_TrickHousePuzzle7_EventScript_1632B9:: @ 81632B9
lockall
- pause 32
+ delay 32
checkflag 194
- callif 0, Route110_TrickHousePuzzle7_EventScript_163195
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_163195
checkflag 194
- callif 1, Route110_TrickHousePuzzle7_EventScript_1631F4
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_1631F4
special DrawWholeMapView
- playsfx 36
+ playse 36
checkflag 194
- jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633A4
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633A4
checkflag 194
- jumpeq Route110_TrickHousePuzzle7_EventScript_1633A9
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633A9
end
Route110_TrickHousePuzzle7_EventScript_1632E8:: @ 81632E8
lockall
- pause 32
+ delay 32
checkflag 195
- callif 0, Route110_TrickHousePuzzle7_EventScript_1631A8
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_1631A8
checkflag 195
- callif 1, Route110_TrickHousePuzzle7_EventScript_163207
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_163207
special DrawWholeMapView
- playsfx 36
+ playse 36
checkflag 195
- jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633AE
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633AE
checkflag 195
- jumpeq Route110_TrickHousePuzzle7_EventScript_1633B3
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633B3
end
Route110_TrickHousePuzzle7_EventScript_163317:: @ 8163317
lockall
- pause 32
+ delay 32
checkflag 196
- callif 0, Route110_TrickHousePuzzle7_EventScript_1631BB
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_1631BB
checkflag 196
- callif 1, Route110_TrickHousePuzzle7_EventScript_16321A
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_16321A
special DrawWholeMapView
- playsfx 36
+ playse 36
checkflag 196
- jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633B8
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633B8
checkflag 196
- jumpeq Route110_TrickHousePuzzle7_EventScript_1633BD
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633BD
end
Route110_TrickHousePuzzle7_EventScript_163346:: @ 8163346
lockall
- pause 32
+ delay 32
checkflag 197
- callif 0, Route110_TrickHousePuzzle7_EventScript_1631CE
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_1631CE
checkflag 197
- callif 1, Route110_TrickHousePuzzle7_EventScript_16322D
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_16322D
special DrawWholeMapView
- playsfx 36
+ playse 36
checkflag 197
- jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633C2
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633C2
checkflag 197
- jumpeq Route110_TrickHousePuzzle7_EventScript_1633C7
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633C7
end
Route110_TrickHousePuzzle7_EventScript_163375:: @ 8163375
lockall
- pause 32
+ delay 32
checkflag 198
- callif 0, Route110_TrickHousePuzzle7_EventScript_1631E1
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_1631E1
checkflag 198
- callif 1, Route110_TrickHousePuzzle7_EventScript_163240
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_163240
special DrawWholeMapView
- playsfx 36
+ playse 36
checkflag 198
- jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633CC
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633CC
checkflag 198
- jumpeq Route110_TrickHousePuzzle7_EventScript_1633D1
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633D1
end
Route110_TrickHousePuzzle7_EventScript_1633A4:: @ 81633A4
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle8.inc b/data/scripts/maps/Route110_TrickHousePuzzle8.inc
index a31c868be..5f0b00684 100644
--- a/data/scripts/maps/Route110_TrickHousePuzzle8.inc
+++ b/data/scripts/maps/Route110_TrickHousePuzzle8.inc
@@ -4,13 +4,13 @@ Route110_TrickHousePuzzle8_MapScripts:: @ 816341B
Route110_TrickHousePuzzle8_EventScript_16341C:: @ 816341C
lockall
compare 0x40b2, 0
- jumpeq Route110_TrickHousePuzzle8_EventScript_16342E
- jump Route110_TrickHousePuzzle8_EventScript_161892
+ goto_if_eq Route110_TrickHousePuzzle8_EventScript_16342E
+ goto Route110_TrickHousePuzzle8_EventScript_161892
end
Route110_TrickHousePuzzle8_EventScript_16342E:: @ 816342E
setvar 0x40b2, 1
- jump Route110_TrickHousePuzzle8_EventScript_16189C
+ goto Route110_TrickHousePuzzle8_EventScript_16189C
end
Route110_TrickHousePuzzle8_EventScript_163439:: @ 8163439
diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc
index 1358a44be..545e62921 100644
--- a/data/scripts/maps/Route111.inc
+++ b/data/scripts/maps/Route111.inc
@@ -5,7 +5,7 @@ Route111_MapScripts:: @ 814FF91
Route111_MapScript1_14FF9C:: @ 814FF9C
checkflag 228
- callif 0, Route111_EventScript_14FFA6
+ call_if 0, Route111_EventScript_14FFA6
end
Route111_EventScript_14FFA6:: @ 814FFA6
@@ -17,21 +17,21 @@ Route111_MapScript1_14FFB9:: @ 814FFB9
call Route111_EventScript_14FFCD
call Route111_EventScript_1AE313
checktrainerflag OPPONENT_VICKY
- jumpif 0, Route111_EventScript_15000D
+ goto_if 0, Route111_EventScript_15000D
end
Route111_EventScript_14FFCD:: @ 814FFCD
getplayerxy 0x4000, 0x4001
compare 0x4001, 34
- jumpif 0, Route111_EventScript_15000C
+ goto_if 0, Route111_EventScript_15000C
compare 0x4001, 107
- jumpif 2, Route111_EventScript_15000C
+ goto_if 2, Route111_EventScript_15000C
compare 0x4001, 72
- jumpif 2, Route111_EventScript_150009
+ goto_if 2, Route111_EventScript_150009
compare 0x4000, 2000
- jumpif 2, Route111_EventScript_15000C
+ goto_if 2, Route111_EventScript_15000C
compare 0x4000, 8
- jumpif 0, Route111_EventScript_15000C
+ goto_if 0, Route111_EventScript_15000C
Route111_EventScript_150009:: @ 8150009
setweather 8
@@ -44,25 +44,25 @@ Route111_EventScript_15000D:: @ 815000D
setflag 769
setflag 770
setflag 771
- settrainerflag OPPONENT_VICTOR
- settrainerflag OPPONENT_VICTORIA
- settrainerflag OPPONENT_VIVI
+ cleartrainerflag OPPONENT_VICTOR
+ cleartrainerflag OPPONENT_VICTORIA
+ cleartrainerflag OPPONENT_VIVI
end
Route111_EventScript_150023:: @ 8150023
lockall
msgbox Route111_Text_16FA54, 5
compare RESULT, 0
- jumpeq Route111_EventScript_15005F
+ goto_if_eq Route111_EventScript_15005F
giveitem ITEM_ROOT_FOSSIL
- closebutton
+ closemessage
setflag 963
setflag 964
- disappear 34
- pause 30
- move 35, Route111_Movement_1500AF
- waitmove 0
- disappear 35
+ removeobject 34
+ delay 30
+ applymovement 35, Route111_Movement_1500AF
+ waitmovement 0
+ removeobject 35
releaseall
end
@@ -75,16 +75,16 @@ Route111_EventScript_150069:: @ 8150069
lockall
msgbox Route111_Text_16FAED, 5
compare RESULT, 0
- jumpeq Route111_EventScript_1500A5
+ goto_if_eq Route111_EventScript_1500A5
giveitem ITEM_CLAW_FOSSIL
- closebutton
+ closemessage
setflag 964
setflag 963
- disappear 35
- pause 30
- move 34, Route111_Movement_1500AF
- waitmove 0
- disappear 34
+ removeobject 35
+ delay 30
+ applymovement 34, Route111_Movement_1500AF
+ waitmovement 0
+ removeobject 34
releaseall
end
@@ -120,13 +120,13 @@ Route111_Movement_1500AF:: @ 81500AF
Route111_EventScript_1500C5:: @ 81500C5
lock
faceplayer
- checkdailyflags
+ dodailyevents
checkflag 2252
- jumpeq Route111_EventScript_150100
+ goto_if_eq Route111_EventScript_150100
msgbox Route111_Text_1C56F0, 4
giveitem ITEM_RAZZ_BERRY
compare RESULT, 0
- jumpeq Route111_EventScript_1A029B
+ goto_if_eq Route111_EventScript_1A029B
setflag 2252
special GetPlayerBigGuyGirlString
msgbox Route111_Text_1C5781, 4
@@ -141,67 +141,67 @@ Route111_EventScript_150100:: @ 8150100
@ 815010A
lockall
setvar 0x8004, 0
- jump Route111_EventScript_15013A
+ goto Route111_EventScript_15013A
end
Route111_EventScript_150116:: @ 8150116
lockall
setvar 0x8004, 1
- jump Route111_EventScript_15013A
+ goto Route111_EventScript_15013A
end
Route111_EventScript_150122:: @ 8150122
lockall
setvar 0x8004, 2
- jump Route111_EventScript_15013A
+ goto Route111_EventScript_15013A
end
@ 815012E
lockall
setvar 0x8004, 3
- jump Route111_EventScript_15013A
+ goto Route111_EventScript_15013A
end
Route111_EventScript_15013A:: @ 815013A
checkitem ITEM_GO_GOGGLES, 1
compare RESULT, 0
- jumpeq Route111_EventScript_150151
+ goto_if_eq Route111_EventScript_150151
setvar 0x4003, 1
releaseall
end
Route111_EventScript_150151:: @ 8150151
msgbox Route111_Text_1A0F93, 4
- closebutton
+ closemessage
compare 0x8004, 0
- callif 1, Route111_EventScript_150188
+ call_if 1, Route111_EventScript_150188
compare 0x8004, 1
- callif 1, Route111_EventScript_150193
+ call_if 1, Route111_EventScript_150193
compare 0x8004, 2
- callif 1, Route111_EventScript_15019E
+ call_if 1, Route111_EventScript_15019E
compare 0x8004, 3
- callif 1, Route111_EventScript_1501A9
+ call_if 1, Route111_EventScript_1501A9
releaseall
end
Route111_EventScript_150188:: @ 8150188
- move 255, Route111_Movement_1501B4
- waitmove 0
+ applymovement 255, Route111_Movement_1501B4
+ waitmovement 0
return
Route111_EventScript_150193:: @ 8150193
- move 255, Route111_Movement_1501B6
- waitmove 0
+ applymovement 255, Route111_Movement_1501B6
+ waitmovement 0
return
Route111_EventScript_15019E:: @ 815019E
- move 255, Route111_Movement_1501B8
- waitmove 0
+ applymovement 255, Route111_Movement_1501B8
+ waitmovement 0
return
Route111_EventScript_1501A9:: @ 81501A9
- move 255, Route111_Movement_1501BA
- waitmove 0
+ applymovement 255, Route111_Movement_1501BA
+ waitmovement 0
return
Route111_Movement_1501B4:: @ 81501B4
@@ -222,14 +222,14 @@ Route111_Movement_1501BA:: @ 81501BA
Route111_EventScript_1501BC:: @ 81501BC
setweather 2
- fademusic 360
+ fadenewbgm 360
doweather
setvar 0x4003, 0
end
Route111_EventScript_1501C9:: @ 81501C9
setweather 8
- fademusic 409
+ fadenewbgm 409
doweather
end
@@ -239,7 +239,7 @@ Route111_EventScript_1501D1:: @ 81501D1
setflag 2115
msgbox Route111_Text_16F705, 5
compare RESULT, 1
- jumpeq Route111_EventScript_1501F3
+ goto_if_eq Route111_EventScript_1501F3
msgbox Route111_Text_16F785, 4
release
end
@@ -247,80 +247,80 @@ Route111_EventScript_1501D1:: @ 81501D1
Route111_EventScript_1501F3:: @ 81501F3
msgbox Route111_Text_16F7B3, 4
trainerbattle 3, OPPONENT_VICTOR, 0, Route111_Text_16F7D2
- move 1, Route111_Movement_1A0841
- waitmove 0
+ applymovement 1, Route111_Movement_1A0841
+ waitmovement 0
call Route111_EventScript_150348
msgbox Route111_Text_16F7FF, 4
- closebutton
- move 1, Route111_Movement_150356
- waitmove 0
- disappear 1
+ closemessage
+ applymovement 1, Route111_Movement_150356
+ waitmovement 0
+ removeobject 1
call Route111_EventScript_15034F
- move 255, Route111_Movement_15035B
- waitmove 0
+ applymovement 255, Route111_Movement_15035B
+ waitmovement 0
call Route111_EventScript_150348
- reappear 2
- move 2, Route111_Movement_150359
- waitmove 0
+ addobject 2
+ applymovement 2, Route111_Movement_150359
+ waitmovement 0
call Route111_EventScript_15034F
msgbox Route111_Text_16F82D, 4
trainerbattle 3, OPPONENT_VICTORIA, 0, Route111_Text_16F8A6
- move 2, Route111_Movement_1A0841
- waitmove 0
+ applymovement 2, Route111_Movement_1A0841
+ waitmovement 0
call Route111_EventScript_150348
msgbox Route111_Text_16F8D5, 4
- closebutton
- move 2, Route111_Movement_150356
- waitmove 0
- disappear 2
+ closemessage
+ applymovement 2, Route111_Movement_150356
+ waitmovement 0
+ removeobject 2
call Route111_EventScript_15034F
- move 255, Route111_Movement_15035B
- waitmove 0
+ applymovement 255, Route111_Movement_15035B
+ waitmovement 0
call Route111_EventScript_150348
- reappear 3
- move 3, Route111_Movement_150359
- waitmove 0
+ addobject 3
+ applymovement 3, Route111_Movement_150359
+ waitmovement 0
call Route111_EventScript_15034F
msgbox Route111_Text_16F90E, 4
trainerbattle 3, OPPONENT_VIVI, 0, Route111_Text_16F956
- move 3, Route111_Movement_1A0841
- waitmove 0
+ applymovement 3, Route111_Movement_1A0841
+ waitmovement 0
call Route111_EventScript_150348
msgbox Route111_Text_16F96C, 4
- closebutton
- move 3, Route111_Movement_150356
- waitmove 0
- disappear 3
+ closemessage
+ applymovement 3, Route111_Movement_150356
+ waitmovement 0
+ removeobject 3
call Route111_EventScript_15034F
- move 255, Route111_Movement_15035B
- waitmove 0
+ applymovement 255, Route111_Movement_15035B
+ waitmovement 0
call Route111_EventScript_150348
- reappear 4
- move 4, Route111_Movement_150359
- waitmove 0
+ addobject 4
+ applymovement 4, Route111_Movement_150359
+ waitmovement 0
call Route111_EventScript_15034F
msgbox Route111_Text_16F991, 4
trainerbattle 3, OPPONENT_VICKY, 0, Route111_Text_16F9EC
msgbox Route111_Text_16FA22, 4
- closebutton
- move 4, Route111_Movement_1A0841
- waitmove 0
+ closemessage
+ applymovement 4, Route111_Movement_1A0841
+ waitmovement 0
call Route111_EventScript_150348
- move 4, Route111_Movement_150356
- waitmove 0
- disappear 4
+ applymovement 4, Route111_Movement_150356
+ waitmovement 0
+ removeobject 4
call Route111_EventScript_15034F
release
end
Route111_EventScript_150348:: @ 8150348
- setdooropened 13, 113
- doorchange
+ opendoor 13, 113
+ waitdooranim
return
Route111_EventScript_15034F:: @ 815034F
- setdoorclosed 13, 113
- doorchange
+ closedoor 13, 113
+ waitdooranim
return
Route111_Movement_150356:: @ 8150356
@@ -392,9 +392,9 @@ Route111_EventScript_1503EC:: @ 81503EC
Route111_EventScript_150403:: @ 8150403
trainerbattle 0, OPPONENT_DUSTY_1, 0, Route111_Text_1BAEC9, Route111_Text_1BAF14
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route111_EventScript_15042A
+ goto_if_eq Route111_EventScript_15042A
msgbox Route111_Text_1BAF5B, 6
end
@@ -420,9 +420,9 @@ Route111_EventScript_15046F:: @ 815046F
Route111_EventScript_150486:: @ 8150486
trainerbattle 0, OPPONENT_WILTON_1, 0, Route111_Text_1BB2E3, Route111_Text_1BB313
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route111_EventScript_1504AD
+ goto_if_eq Route111_EventScript_1504AD
msgbox Route111_Text_1BB33E, 6
end
@@ -433,9 +433,9 @@ Route111_EventScript_1504AD:: @ 81504AD
Route111_EventScript_1504C4:: @ 81504C4
trainerbattle 0, OPPONENT_BROOKE_1, 0, Route111_Text_1BB44F, Route111_Text_1BB49F
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route111_EventScript_1504EB
+ goto_if_eq Route111_EventScript_1504EB
msgbox Route111_Text_1BB4CE, 6
end
diff --git a/data/scripts/maps/Route111_OldLadysRestStop.inc b/data/scripts/maps/Route111_OldLadysRestStop.inc
index 107026a4b..5576a44ff 100644
--- a/data/scripts/maps/Route111_OldLadysRestStop.inc
+++ b/data/scripts/maps/Route111_OldLadysRestStop.inc
@@ -11,20 +11,20 @@ Route111_OldLadysRestStop_EventScript_15BFDB:: @ 815BFDB
faceplayer
msgbox Route111_OldLadysRestStop_Text_1923AF, 5
compare RESULT, 1
- jumpeq Route111_OldLadysRestStop_EventScript_15BFFC
+ goto_if_eq Route111_OldLadysRestStop_EventScript_15BFFC
compare RESULT, 0
- jumpeq Route111_OldLadysRestStop_EventScript_15C029
+ goto_if_eq Route111_OldLadysRestStop_EventScript_15C029
end
Route111_OldLadysRestStop_EventScript_15BFFC:: @ 815BFFC
msgbox Route111_OldLadysRestStop_Text_192423, 4
- closebutton
+ closemessage
call Route111_OldLadysRestStop_EventScript_1A02CA
msgbox Route111_OldLadysRestStop_Text_19244D, 5
compare RESULT, 1
- jumpeq Route111_OldLadysRestStop_EventScript_15BFFC
+ goto_if_eq Route111_OldLadysRestStop_EventScript_15BFFC
compare RESULT, 0
- jumpeq Route111_OldLadysRestStop_EventScript_15C029
+ goto_if_eq Route111_OldLadysRestStop_EventScript_15C029
end
Route111_OldLadysRestStop_EventScript_15C029:: @ 815C029
diff --git a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc
index 3eb514ad2..d9a94ce75 100644
--- a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc
+++ b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc
@@ -6,7 +6,7 @@ Route111_WinstrateFamilysHouse_EventScript_15BF25:: @ 815BF25
faceplayer
setvar 0x8008, 2
msgbox Route111_WinstrateFamilysHouse_Text_191FCE, 4
- jump Route111_WinstrateFamilysHouse_EventScript_15BFC4
+ goto Route111_WinstrateFamilysHouse_EventScript_15BFC4
end
Route111_WinstrateFamilysHouse_EventScript_15BF3A:: @ 815BF3A
@@ -14,18 +14,18 @@ Route111_WinstrateFamilysHouse_EventScript_15BF3A:: @ 815BF3A
faceplayer
setvar 0x8008, 3
checkflag 277
- jumpeq Route111_WinstrateFamilysHouse_EventScript_15BF72
+ goto_if_eq Route111_WinstrateFamilysHouse_EventScript_15BF72
msgbox Route111_WinstrateFamilysHouse_Text_19208A, 4
giveitem ITEM_MACHO_BRACE
compare RESULT, 0
- jumpeq Route111_WinstrateFamilysHouse_EventScript_1A029B
+ goto_if_eq Route111_WinstrateFamilysHouse_EventScript_1A029B
setflag 277
- jump Route111_WinstrateFamilysHouse_EventScript_15BFC4
+ goto Route111_WinstrateFamilysHouse_EventScript_15BFC4
end
Route111_WinstrateFamilysHouse_EventScript_15BF72:: @ 815BF72
msgbox Route111_WinstrateFamilysHouse_Text_19214D, 4
- jump Route111_WinstrateFamilysHouse_EventScript_15BFC4
+ goto Route111_WinstrateFamilysHouse_EventScript_15BFC4
end
Route111_WinstrateFamilysHouse_EventScript_15BF80:: @ 815BF80
@@ -33,7 +33,7 @@ Route111_WinstrateFamilysHouse_EventScript_15BF80:: @ 815BF80
faceplayer
setvar 0x8008, 1
msgbox Route111_WinstrateFamilysHouse_Text_192190, 4
- jump Route111_WinstrateFamilysHouse_EventScript_15BFC4
+ goto Route111_WinstrateFamilysHouse_EventScript_15BFC4
end
Route111_WinstrateFamilysHouse_EventScript_15BF95:: @ 815BF95
@@ -41,20 +41,20 @@ Route111_WinstrateFamilysHouse_EventScript_15BF95:: @ 815BF95
faceplayer
setvar 0x8008, 4
checkflag 4
- jumpeq Route111_WinstrateFamilysHouse_EventScript_15BFB6
+ goto_if_eq Route111_WinstrateFamilysHouse_EventScript_15BFB6
msgbox Route111_WinstrateFamilysHouse_Text_192219, 4
setflag 4
- jump Route111_WinstrateFamilysHouse_EventScript_15BFC4
+ goto Route111_WinstrateFamilysHouse_EventScript_15BFC4
end
Route111_WinstrateFamilysHouse_EventScript_15BFB6:: @ 815BFB6
msgbox Route111_WinstrateFamilysHouse_Text_192334, 4
- jump Route111_WinstrateFamilysHouse_EventScript_15BFC4
+ goto Route111_WinstrateFamilysHouse_EventScript_15BFC4
end
Route111_WinstrateFamilysHouse_EventScript_15BFC4:: @ 815BFC4
- closebutton
- move 0x8008, Route111_WinstrateFamilysHouse_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 0x8008, Route111_WinstrateFamilysHouse_Movement_1A083D
+ waitmovement 0
release
end
diff --git a/data/scripts/maps/Route112.inc b/data/scripts/maps/Route112.inc
index 1c1e36838..d0d464207 100644
--- a/data/scripts/maps/Route112.inc
+++ b/data/scripts/maps/Route112.inc
@@ -38,9 +38,9 @@ Route112_EventScript_150549:: @ 8150549
Route112_EventScript_150560:: @ 8150560
trainerbattle 0, OPPONENT_TRENT_1, 0, Route112_Text_1BB6A0, Route112_Text_1BB707
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route112_EventScript_150587
+ goto_if_eq Route112_EventScript_150587
msgbox Route112_Text_1BB721, 6
end
diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc
index 016b868a8..22534aa77 100644
--- a/data/scripts/maps/Route112_CableCarStation.inc
+++ b/data/scripts/maps/Route112_CableCarStation.inc
@@ -4,14 +4,14 @@ Route112_CableCarStation_MapScripts:: @ 815C033
.byte 0
Route112_CableCarStation_MapScript1_15C03E:: @ 815C03E
- warp6 Route112, 255, 28, 28
+ setescapewarp Route112, 255, 28, 28
compare 0x40a3, 2
- callif 1, Route112_CableCarStation_EventScript_15C052
+ call_if 1, Route112_CableCarStation_EventScript_15C052
end
Route112_CableCarStation_EventScript_15C052:: @ 815C052
- movespriteperm 1, 7, 4
- spritebehave 1, 9
+ setobjectxyperm 1, 7, 4
+ setobjectmovementtype 1, 9
return
Route112_CableCarStation_MapScript2_15C05E:: @ 815C05E
@@ -20,12 +20,12 @@ Route112_CableCarStation_MapScript2_15C05E:: @ 815C05E
Route112_CableCarStation_EventScript_15C068:: @ 815C068
lockall
- move 255, Route112_CableCarStation_Movement_15C0F5
- move 1, Route112_CableCarStation_Movement_15C0EB
- waitmove 0
+ applymovement 255, Route112_CableCarStation_Movement_15C0F5
+ applymovement 1, Route112_CableCarStation_Movement_15C0EB
+ waitmovement 0
setvar 0x40a3, 0
- movespriteperm 1, 6, 7
- spritebehave 1, 8
+ setobjectxyperm 1, 6, 7
+ setobjectmovementtype 1, 8
releaseall
end
@@ -34,20 +34,20 @@ Route112_CableCarStation_EventScript_15C08C:: @ 815C08C
faceplayer
msgbox Route112_CableCarStation_Text_1924F5, 5
compare RESULT, 1
- jumpeq Route112_CableCarStation_EventScript_15C0AD
+ goto_if_eq Route112_CableCarStation_EventScript_15C0AD
compare RESULT, 0
- jumpeq Route112_CableCarStation_EventScript_15C0DC
+ goto_if_eq Route112_CableCarStation_EventScript_15C0DC
end
Route112_CableCarStation_EventScript_15C0AD:: @ 815C0AD
msgbox Route112_CableCarStation_Text_1925A9, 4
- closebutton
- move 1, Route112_CableCarStation_Movement_15C0E6
- move 255, Route112_CableCarStation_Movement_15C0F0
- waitmove 0
+ closemessage
+ applymovement 1, Route112_CableCarStation_Movement_15C0E6
+ applymovement 255, Route112_CableCarStation_Movement_15C0F0
+ waitmovement 0
setvar 0x8004, 0
setvar 0x40a3, 1
- inccounter GAME_STAT_RODE_CABLE_CAR
+ incrementgamestat GAME_STAT_RODE_CABLE_CAR
special CableCarWarp
special sub_8123218
waitstate
diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc
index 1fc5a9345..2eb34cdf3 100644
--- a/data/scripts/maps/Route113.inc
+++ b/data/scripts/maps/Route113.inc
@@ -15,9 +15,9 @@ Route113_MapScript1_1505DA:: @ 81505DA
Route113_EventScript_1505E5:: @ 81505E5
getplayerxy 0x4000, 0x4001
compare 0x4000, 19
- jumpif 0, Route113_EventScript_150604
+ goto_if 0, Route113_EventScript_150604
compare 0x4000, 84
- jumpif 2, Route113_EventScript_150604
+ goto_if 2, Route113_EventScript_150604
setweather 7
return
@@ -60,9 +60,9 @@ Route113_EventScript_150652:: @ 8150652
Route113_EventScript_150669:: @ 8150669
trainerbattle 0, OPPONENT_MADELINE_1, 0, Route113_Text_1BBB27, Route113_Text_1BBB7A
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route113_EventScript_150690
+ goto_if_eq Route113_EventScript_150690
msgbox Route113_Text_1BBB9A, 6
end
@@ -73,9 +73,9 @@ Route113_EventScript_150690:: @ 8150690
Route113_EventScript_1506A7:: @ 81506A7
trainerbattle 0, OPPONENT_LAO_1, 0, Route113_Text_1BBC59, Route113_Text_1BBC90
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route113_EventScript_1506CE
+ goto_if_eq Route113_EventScript_1506CE
msgbox Route113_Text_1BBCAB, 6
end
diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc
index 83983f9bb..d0b608339 100644
--- a/data/scripts/maps/Route113_GlassWorkshop.inc
+++ b/data/scripts/maps/Route113_GlassWorkshop.inc
@@ -5,7 +5,7 @@ Route113_GlassWorkshop_MapScripts:: @ 816354A
Route113_GlassWorkshop_MapScript1_163550:: @ 8163550
setflag 2116
compare 0x40be, 1
- callif 1, Route113_GlassWorkshop_EventScript_16355F
+ call_if 1, Route113_GlassWorkshop_EventScript_16355F
end
Route113_GlassWorkshop_EventScript_16355F:: @ 816355F
@@ -16,11 +16,11 @@ Route113_GlassWorkshop_EventScript_163565:: @ 8163565
lock
faceplayer
compare 0x40be, 10
- jumpif 4, Route113_GlassWorkshop_EventScript_1638D2
+ goto_if 4, Route113_GlassWorkshop_EventScript_1638D2
compare 0x40be, 2
- jumpeq Route113_GlassWorkshop_EventScript_1635B5
+ goto_if_eq Route113_GlassWorkshop_EventScript_1635B5
compare 0x40be, 1
- jumpeq Route113_GlassWorkshop_EventScript_1635AB
+ goto_if_eq Route113_GlassWorkshop_EventScript_1635AB
msgbox Route113_GlassWorkshop_Text_19E4E6, 4
giveitem ITEM_SOOT_SACK
setvar 0x40be, 1
@@ -36,13 +36,13 @@ Route113_GlassWorkshop_EventScript_1635AB:: @ 81635AB
Route113_GlassWorkshop_EventScript_1635B5:: @ 81635B5
checkitem ITEM_SOOT_SACK, 1
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_1635E4
+ goto_if_eq Route113_GlassWorkshop_EventScript_1635E4
msgbox Route113_GlassWorkshop_Text_19E65B, 4
compare 0x4048, 250
- jumpif 0, Route113_GlassWorkshop_EventScript_163818
+ goto_if 0, Route113_GlassWorkshop_EventScript_163818
message Route113_GlassWorkshop_Text_19E757
- waittext
- jump Route113_GlassWorkshop_EventScript_1635EE
+ waitmessage
+ goto Route113_GlassWorkshop_EventScript_1635EE
end
Route113_GlassWorkshop_EventScript_1635E4:: @ 81635E4
@@ -68,102 +68,102 @@ Route113_GlassWorkshop_EventScript_1635EE:: @ 81635EE
Route113_GlassWorkshop_EventScript_163660:: @ 8163660
setvar 0x8008, 39
- bufferitem 0, 0x8008
+ getitemname 0, 0x8008
setvar 0x800a, 250
compare 0x4048, 250
- jumpif 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if 0, Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, 5
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_163845
+ goto_if_eq Route113_GlassWorkshop_EventScript_163845
setvar 0x40be, 10
subvar 0x4048, 250
- jump Route113_GlassWorkshop_EventScript_163851
+ goto Route113_GlassWorkshop_EventScript_163851
end
Route113_GlassWorkshop_EventScript_16369C:: @ 816369C
setvar 0x8008, 40
- bufferitem 0, 0x8008
+ getitemname 0, 0x8008
setvar 0x800a, 500
compare 0x4048, 500
- jumpif 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if 0, Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, 5
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_163845
+ goto_if_eq Route113_GlassWorkshop_EventScript_163845
setvar 0x40be, 11
subvar 0x4048, 500
- jump Route113_GlassWorkshop_EventScript_163851
+ goto Route113_GlassWorkshop_EventScript_163851
end
Route113_GlassWorkshop_EventScript_1636D8:: @ 81636D8
setvar 0x8008, 41
- bufferitem 0, 0x8008
+ getitemname 0, 0x8008
setvar 0x800a, 500
compare 0x4048, 500
- jumpif 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if 0, Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, 5
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_163845
+ goto_if_eq Route113_GlassWorkshop_EventScript_163845
setvar 0x40be, 12
subvar 0x4048, 500
- jump Route113_GlassWorkshop_EventScript_163851
+ goto Route113_GlassWorkshop_EventScript_163851
end
Route113_GlassWorkshop_EventScript_163714:: @ 8163714
setvar 0x8008, 43
- bufferitem 0, 0x8008
+ getitemname 0, 0x8008
setvar 0x800a, 1000
compare 0x4048, 1000
- jumpif 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if 0, Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, 5
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_163845
+ goto_if_eq Route113_GlassWorkshop_EventScript_163845
setvar 0x40be, 13
subvar 0x4048, 1000
- jump Route113_GlassWorkshop_EventScript_163851
+ goto Route113_GlassWorkshop_EventScript_163851
end
Route113_GlassWorkshop_EventScript_163750:: @ 8163750
setvar 0x8008, 42
- bufferitem 0, 0x8008
+ getitemname 0, 0x8008
setvar 0x800a, 1000
compare 0x4048, 1000
- jumpif 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if 0, Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, 5
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_163845
+ goto_if_eq Route113_GlassWorkshop_EventScript_163845
setvar 0x40be, 14
subvar 0x4048, 1000
- jump Route113_GlassWorkshop_EventScript_163851
+ goto Route113_GlassWorkshop_EventScript_163851
end
Route113_GlassWorkshop_EventScript_16378C:: @ 816378C
setvar 0x8009, 1
setvar 0x8008, 13
- bufferdecor 0, 0x8008
+ getdecorname 0, 0x8008
setvar 0x800a, 6000
compare 0x4048, 6000
- jumpif 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if 0, Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, 5
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_163845
+ goto_if_eq Route113_GlassWorkshop_EventScript_163845
setvar 0x40be, 15
subvar 0x4048, 6000
- jump Route113_GlassWorkshop_EventScript_163851
+ goto Route113_GlassWorkshop_EventScript_163851
end
Route113_GlassWorkshop_EventScript_1637CD:: @ 81637CD
setvar 0x8009, 1
setvar 0x8008, 6
- bufferdecor 0, 0x8008
+ getdecorname 0, 0x8008
setvar 0x800a, 8000
compare 0x4048, 8000
- jumpif 0, Route113_GlassWorkshop_EventScript_163830
+ goto_if 0, Route113_GlassWorkshop_EventScript_163830
msgbox Route113_GlassWorkshop_Text_19E7CD, 5
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_163845
+ goto_if_eq Route113_GlassWorkshop_EventScript_163845
setvar 0x40be, 16
subvar 0x4048, 8000
- jump Route113_GlassWorkshop_EventScript_163851
+ goto Route113_GlassWorkshop_EventScript_163851
end
Route113_GlassWorkshop_EventScript_16380E:: @ 816380E
@@ -174,37 +174,37 @@ Route113_GlassWorkshop_EventScript_16380E:: @ 816380E
Route113_GlassWorkshop_EventScript_163818:: @ 8163818
setvar 0x800a, 250
subvar 0x800a, 16456
- buffernum 0, 32778
+ getnumberstring 0, 32778
msgbox Route113_GlassWorkshop_Text_19E697, 4
release
end
Route113_GlassWorkshop_EventScript_163830:: @ 8163830
subvar 0x800a, 16456
- buffernum 1, 32778
+ getnumberstring 1, 32778
message Route113_GlassWorkshop_Text_19E890
- waittext
- jump Route113_GlassWorkshop_EventScript_1635EE
+ waitmessage
+ goto Route113_GlassWorkshop_EventScript_1635EE
end
Route113_GlassWorkshop_EventScript_163845:: @ 8163845
message Route113_GlassWorkshop_Text_19E802
- waittext
- jump Route113_GlassWorkshop_EventScript_1635EE
+ waitmessage
+ goto Route113_GlassWorkshop_EventScript_1635EE
end
Route113_GlassWorkshop_EventScript_163851:: @ 8163851
msgbox Route113_GlassWorkshop_Text_19E827, 4
- closebutton
+ closemessage
fadescreen 1
- playsfx 5
- pause 30
+ playse 5
+ delay 30
fadescreen 0
msgbox Route113_GlassWorkshop_Text_19E9D7, 4
compare 0x8009, 0
- callif 1, Route113_GlassWorkshop_EventScript_163889
+ call_if 1, Route113_GlassWorkshop_EventScript_163889
compare 0x8009, 1
- callif 1, Route113_GlassWorkshop_EventScript_1638A1
+ call_if 1, Route113_GlassWorkshop_EventScript_1638A1
setvar 0x40be, 2
release
end
@@ -212,13 +212,13 @@ Route113_GlassWorkshop_EventScript_163851:: @ 8163851
Route113_GlassWorkshop_EventScript_163889:: @ 8163889
giveitem 0x8008
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_1638B4
+ goto_if_eq Route113_GlassWorkshop_EventScript_1638B4
return
Route113_GlassWorkshop_EventScript_1638A1:: @ 81638A1
givedecoration 0x8008
compare RESULT, 0
- jumpeq Route113_GlassWorkshop_EventScript_1638C3
+ goto_if_eq Route113_GlassWorkshop_EventScript_1638C3
return
Route113_GlassWorkshop_EventScript_1638B4:: @ 81638B4
@@ -247,58 +247,58 @@ Route113_GlassWorkshop_EventScript_1638D2:: @ 81638D2
Route113_GlassWorkshop_EventScript_163925:: @ 8163925
setvar 0x8009, 0
setvar 0x8008, 39
- bufferitem 0, 0x8008
- jump Route113_GlassWorkshop_EventScript_1639B1
+ getitemname 0, 0x8008
+ goto Route113_GlassWorkshop_EventScript_1639B1
end
Route113_GlassWorkshop_EventScript_163939:: @ 8163939
setvar 0x8009, 0
setvar 0x8008, 40
- bufferitem 0, 0x8008
- jump Route113_GlassWorkshop_EventScript_1639B1
+ getitemname 0, 0x8008
+ goto Route113_GlassWorkshop_EventScript_1639B1
end
Route113_GlassWorkshop_EventScript_16394D:: @ 816394D
setvar 0x8009, 0
setvar 0x8008, 41
- bufferitem 0, 0x8008
- jump Route113_GlassWorkshop_EventScript_1639B1
+ getitemname 0, 0x8008
+ goto Route113_GlassWorkshop_EventScript_1639B1
end
Route113_GlassWorkshop_EventScript_163961:: @ 8163961
setvar 0x8009, 0
setvar 0x8008, 43
- bufferitem 0, 0x8008
- jump Route113_GlassWorkshop_EventScript_1639B1
+ getitemname 0, 0x8008
+ goto Route113_GlassWorkshop_EventScript_1639B1
end
Route113_GlassWorkshop_EventScript_163975:: @ 8163975
setvar 0x8009, 0
setvar 0x8008, 42
- bufferitem 0, 0x8008
- jump Route113_GlassWorkshop_EventScript_1639B1
+ getitemname 0, 0x8008
+ goto Route113_GlassWorkshop_EventScript_1639B1
end
Route113_GlassWorkshop_EventScript_163989:: @ 8163989
setvar 0x8009, 1
setvar 0x8008, 13
- bufferdecor 0, 13
- jump Route113_GlassWorkshop_EventScript_1639B1
+ getdecorname 0, 13
+ goto Route113_GlassWorkshop_EventScript_1639B1
end
Route113_GlassWorkshop_EventScript_16399D:: @ 816399D
setvar 0x8009, 1
setvar 0x8008, 6
- bufferdecor 0, 6
- jump Route113_GlassWorkshop_EventScript_1639B1
+ getdecorname 0, 6
+ goto Route113_GlassWorkshop_EventScript_1639B1
end
Route113_GlassWorkshop_EventScript_1639B1:: @ 81639B1
msgbox Route113_GlassWorkshop_Text_19E9D7, 4
compare 0x8009, 0
- callif 1, Route113_GlassWorkshop_EventScript_163889
+ call_if 1, Route113_GlassWorkshop_EventScript_163889
compare 0x8009, 1
- callif 1, Route113_GlassWorkshop_EventScript_1638A1
+ call_if 1, Route113_GlassWorkshop_EventScript_1638A1
setvar 0x40be, 2
release
end
diff --git a/data/scripts/maps/Route114.inc b/data/scripts/maps/Route114.inc
index cfe1dfe7d..0730db23a 100644
--- a/data/scripts/maps/Route114.inc
+++ b/data/scripts/maps/Route114.inc
@@ -4,16 +4,16 @@ Route114_MapScripts:: @ 8150732
Route114_EventScript_150733:: @ 8150733
lock
faceplayer
- checkdailyflags
+ dodailyevents
checkflag 2251
- jumpeq Route114_EventScript_150778
+ goto_if_eq Route114_EventScript_150778
msgbox Route114_Text_1C5803, 4
random 5
addvar RESULT, 15
addvar RESULT, 133
giveitem RESULT
compare RESULT, 0
- jumpeq Route114_EventScript_1A029B
+ goto_if_eq Route114_EventScript_1A029B
setflag 2251
msgbox Route114_Text_1C5861, 4
release
@@ -28,11 +28,11 @@ Route114_EventScript_150782:: @ 8150782
lock
faceplayer
checkflag 231
- jumpeq Route114_EventScript_1507B9
+ goto_if_eq Route114_EventScript_1507B9
msgbox Route114_Text_170154, 4
giveitem ITEM_TM05
compare RESULT, 0
- jumpeq Route114_EventScript_1A029B
+ goto_if_eq Route114_EventScript_1A029B
setflag 231
msgbox Route114_Text_1701C5, 4
release
@@ -46,8 +46,8 @@ Route114_EventScript_1507B9:: @ 81507B9
Route114_EventScript_1507C3:: @ 81507C3
lock
faceplayer
- checksound
- pokecry SPECIES_POOCHYENA, 2
+ waitse
+ playpokecry SPECIES_POOCHYENA, 2
msgbox Route114_Text_1701F9, 4
waitpokecry
release
@@ -87,9 +87,9 @@ Route114_EventScript_150836:: @ 8150836
Route114_EventScript_15084D:: @ 815084D
trainerbattle 0, OPPONENT_STEVE_1, 0, Route114_Text_1BC2F5, Route114_Text_1BC327
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route114_EventScript_150874
+ goto_if_eq Route114_EventScript_150874
msgbox Route114_Text_1BC337, 6
end
@@ -100,9 +100,9 @@ Route114_EventScript_150874:: @ 8150874
Route114_EventScript_15088B:: @ 815088B
trainerbattle 0, OPPONENT_BERNIE_1, 0, Route114_Text_1BC45A, Route114_Text_1BC499
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route114_EventScript_1508B2
+ goto_if_eq Route114_EventScript_1508B2
msgbox Route114_Text_1BC4B5, 6
end
diff --git a/data/scripts/maps/Route114_FossilManiacsHouse.inc b/data/scripts/maps/Route114_FossilManiacsHouse.inc
index 50305dc04..b217f24c4 100644
--- a/data/scripts/maps/Route114_FossilManiacsHouse.inc
+++ b/data/scripts/maps/Route114_FossilManiacsHouse.inc
@@ -10,11 +10,11 @@ Route114_FossilManiacsHouse_EventScript_15C1C3:: @ 815C1C3
lock
faceplayer
checkflag 261
- jumpeq Route114_FossilManiacsHouse_EventScript_15C1F2
+ goto_if_eq Route114_FossilManiacsHouse_EventScript_15C1F2
msgbox Route114_FossilManiacsHouse_Text_1925E1, 4
giveitem ITEM_TM28
compare RESULT, 0
- jumpeq Route114_FossilManiacsHouse_EventScript_1A029B
+ goto_if_eq Route114_FossilManiacsHouse_EventScript_1A029B
setflag 261
release
end
diff --git a/data/scripts/maps/Route114_FossilManiacsTunnel.inc b/data/scripts/maps/Route114_FossilManiacsTunnel.inc
index 7986a0436..13843f758 100644
--- a/data/scripts/maps/Route114_FossilManiacsTunnel.inc
+++ b/data/scripts/maps/Route114_FossilManiacsTunnel.inc
@@ -5,13 +5,13 @@ Route114_FossilManiacsTunnel_EventScript_15C20F:: @ 815C20F
lock
faceplayer
checkflag 267
- jumpeq Route114_FossilManiacsTunnel_EventScript_15C24E
+ goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C24E
checkitem ITEM_ROOT_FOSSIL, 1
compare RESULT, 1
- jumpeq Route114_FossilManiacsTunnel_EventScript_15C244
+ goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C244
checkitem ITEM_CLAW_FOSSIL, 1
compare RESULT, 1
- jumpeq Route114_FossilManiacsTunnel_EventScript_15C244
+ goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C244
msgbox Route114_FossilManiacsTunnel_Text_192795, 4
release
end
diff --git a/data/scripts/maps/Route114_LanettesHouse.inc b/data/scripts/maps/Route114_LanettesHouse.inc
index ff8a1c565..e4334647c 100644
--- a/data/scripts/maps/Route114_LanettesHouse.inc
+++ b/data/scripts/maps/Route114_LanettesHouse.inc
@@ -10,7 +10,7 @@ Route114_LanettesHouse_EventScript_15C262:: @ 815C262
lock
faceplayer
checkflag 131
- jumpeq Route114_LanettesHouse_EventScript_15C28F
+ goto_if_eq Route114_LanettesHouse_EventScript_15C28F
setflag 2123
msgbox Route114_LanettesHouse_Text_192A0D, 4
.ifdef SAPPHIRE
@@ -19,7 +19,7 @@ Route114_LanettesHouse_EventScript_15C262:: @ 815C262
givedecoration 100
.endif
compare RESULT, 0
- jumpeq Route114_LanettesHouse_EventScript_1A02AE
+ goto_if_eq Route114_LanettesHouse_EventScript_1A02AE
setflag 131
release
end
@@ -33,7 +33,7 @@ Route114_LanettesHouse_EventScript_15C299:: @ 815C299
lockall
msgbox Route114_LanettesHouse_Text_192B4A, 5
compare RESULT, 1
- jumpeq Route114_LanettesHouse_EventScript_15C2B7
+ goto_if_eq Route114_LanettesHouse_EventScript_15C2B7
msgbox Route114_LanettesHouse_Text_192DA9, 4
releaseall
end
@@ -41,7 +41,7 @@ Route114_LanettesHouse_EventScript_15C299:: @ 815C299
Route114_LanettesHouse_EventScript_15C2B7:: @ 815C2B7
msgbox Route114_LanettesHouse_Text_192C01, 5
compare RESULT, 1
- callif 1, Route114_LanettesHouse_EventScript_15C2CC
+ call_if 1, Route114_LanettesHouse_EventScript_15C2CC
releaseall
end
diff --git a/data/scripts/maps/Route115.inc b/data/scripts/maps/Route115.inc
index 2b0d744ca..8e0eb7855 100644
--- a/data/scripts/maps/Route115.inc
+++ b/data/scripts/maps/Route115.inc
@@ -15,9 +15,9 @@ Route115_EventScript_150940:: @ 8150940
Route115_EventScript_150949:: @ 8150949
trainerbattle 0, OPPONENT_TIMOTHY_1, 0, Route115_Text_1BC9AC, Route115_Text_1BC9E6
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route115_EventScript_150970
+ goto_if_eq Route115_EventScript_150970
msgbox Route115_Text_1BCA0E, 6
end
@@ -33,9 +33,9 @@ Route115_EventScript_150987:: @ 8150987
Route115_EventScript_15099E:: @ 815099E
trainerbattle 0, OPPONENT_NOB_1, 0, Route115_Text_1BCB8A, Route115_Text_1BCBC1
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route115_EventScript_1509C5
+ goto_if_eq Route115_EventScript_1509C5
msgbox Route115_Text_1BCBDE, 6
end
@@ -46,9 +46,9 @@ Route115_EventScript_1509C5:: @ 81509C5
Route115_EventScript_1509DC:: @ 81509DC
trainerbattle 0, OPPONENT_CYNDY_1, 0, Route115_Text_1BCCF4, Route115_Text_1BCD32
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route115_EventScript_150A03
+ goto_if_eq Route115_EventScript_150A03
msgbox Route115_Text_1BCD4C, 6
end
diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc
index f5ef82f8b..beb01e083 100644
--- a/data/scripts/maps/Route116.inc
+++ b/data/scripts/maps/Route116.inc
@@ -4,20 +4,20 @@ Route116_MapScripts:: @ 8150A31
Route116_MapScript1_150A37:: @ 8150A37
checkflag 143
- callif 1, Route116_EventScript_150A41
+ call_if 1, Route116_EventScript_150A41
end
Route116_EventScript_150A41:: @ 8150A41
- movespriteperm 21, 41, 10
+ setobjectxyperm 21, 41, 10
return
Route116_EventScript_150A49:: @ 8150A49
lock
faceplayer
checkflag 143
- jumpeq Route116_EventScript_150A67
+ goto_if_eq Route116_EventScript_150A67
checkflag 142
- jumpeq Route116_EventScript_150A71
+ goto_if_eq Route116_EventScript_150A71
msgbox Route116_Text_1703CF, 4
release
end
@@ -36,45 +36,45 @@ Route116_EventScript_150A7B:: @ 8150A7B
lock
faceplayer
checkflag 287
- jumpeq Route116_EventScript_150B04
+ goto_if_eq Route116_EventScript_150B04
msgbox Route116_Text_1705AE, 4
- jump Route116_EventScript_150A94
+ goto Route116_EventScript_150A94
end
Route116_EventScript_150A94:: @ 8150A94
setflag 287
giveitem ITEM_REPEAT_BALL
compare RESULT, 0
- jumpeq Route116_EventScript_150B12
+ goto_if_eq Route116_EventScript_150B12
msgbox Route116_Text_1707B8, 4
- closebutton
+ closemessage
compare FACING, 2
- callif 1, Route116_EventScript_150AEE
+ call_if 1, Route116_EventScript_150AEE
compare FACING, 1
- callif 1, Route116_EventScript_150AEE
+ call_if 1, Route116_EventScript_150AEE
compare FACING, 3
- callif 1, Route116_EventScript_150AEE
+ call_if 1, Route116_EventScript_150AEE
compare FACING, 4
- callif 1, Route116_EventScript_150AF9
- disappear LAST_TALKED
+ call_if 1, Route116_EventScript_150AF9
+ removeobject LAST_TALKED
clearflag 949
setflag 256
release
end
Route116_EventScript_150AEE:: @ 8150AEE
- move LAST_TALKED, Route116_Movement_150B1C
- waitmove 0
+ applymovement LAST_TALKED, Route116_Movement_150B1C
+ waitmovement 0
return
Route116_EventScript_150AF9:: @ 8150AF9
- move LAST_TALKED, Route116_Movement_150B25
- waitmove 0
+ applymovement LAST_TALKED, Route116_Movement_150B25
+ waitmovement 0
return
Route116_EventScript_150B04:: @ 8150B04
msgbox Route116_Text_170865, 4
- jump Route116_EventScript_150A94
+ goto Route116_EventScript_150A94
end
Route116_EventScript_150B12:: @ 8150B12
@@ -136,9 +136,9 @@ Route116_EventScript_150B5D:: @ 8150B5D
Route116_EventScript_150B6E:: @ 8150B6E
lockall
- move 11, Route116_Movement_1A0843
- move 255, Route116_Movement_1A083F
- waitmove 0
+ applymovement 11, Route116_Movement_1A0843
+ applymovement 255, Route116_Movement_1A083F
+ waitmovement 0
msgbox Route116_Text_17032A, 4
setvar 0x406f, 2
releaseall
@@ -149,58 +149,58 @@ Route116_EventScript_150B8F:: @ 8150B8F
faceplayer
checkitem ITEM_BLACK_GLASSES, 1
compare RESULT, 1
- jumpeq Route116_EventScript_150BCA
- specialval RESULT, sub_810F828
+ goto_if_eq Route116_EventScript_150BCA
+ specialvar RESULT, sub_810F828
compare RESULT, 1
- jumpeq Route116_EventScript_150BBB
+ goto_if_eq Route116_EventScript_150BBB
msgbox Route116_Text_1708EE, 4
release
end
Route116_EventScript_150BBB:: @ 8150BBB
msgbox Route116_Text_1709B7, 4
- closebutton
- jump Route116_EventScript_150C03
+ closemessage
+ goto Route116_EventScript_150C03
end
Route116_EventScript_150BCA:: @ 8150BCA
msgbox Route116_Text_1708EE, 4
msgbox Route116_Text_170921, 4
- specialval RESULT, sub_810F828
+ specialvar RESULT, sub_810F828
compare RESULT, 1
- jumpeq Route116_EventScript_150BF4
+ goto_if_eq Route116_EventScript_150BF4
msgbox Route116_Text_170A03, 4
release
end
Route116_EventScript_150BF4:: @ 8150BF4
msgbox Route116_Text_17094D, 4
- closebutton
- jump Route116_EventScript_150C03
+ closemessage
+ goto Route116_EventScript_150C03
end
Route116_EventScript_150C03:: @ 8150C03
- pause 20
+ delay 20
compare FACING, 2
- callif 1, Route116_EventScript_150C37
+ call_if 1, Route116_EventScript_150C37
compare FACING, 1
- callif 1, Route116_EventScript_150C37
+ call_if 1, Route116_EventScript_150C37
compare FACING, 3
- callif 1, Route116_EventScript_150C37
+ call_if 1, Route116_EventScript_150C37
compare FACING, 4
- callif 1, Route116_EventScript_150C42
- disappear LAST_TALKED
+ call_if 1, Route116_EventScript_150C42
+ removeobject LAST_TALKED
release
end
Route116_EventScript_150C37:: @ 8150C37
- move LAST_TALKED, Route116_Movement_150C4D
- waitmove 0
+ applymovement LAST_TALKED, Route116_Movement_150C4D
+ waitmovement 0
return
Route116_EventScript_150C42:: @ 8150C42
- move LAST_TALKED, Route116_Movement_150C57
- waitmove 0
+ applymovement LAST_TALKED, Route116_Movement_150C57
+ waitmovement 0
return
Route116_Movement_150C4D:: @ 8150C4D
@@ -240,9 +240,9 @@ Route116_EventScript_150C79:: @ 8150C79
Route116_EventScript_150C90:: @ 8150C90
trainerbattle 0, OPPONENT_JERRY_1, 0, Route116_Text_1BD1C0, Route116_Text_1BD21A
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route116_EventScript_150CB7
+ goto_if_eq Route116_EventScript_150CB7
msgbox Route116_Text_1BD248, 6
end
@@ -263,9 +263,9 @@ Route116_EventScript_150CE5:: @ 8150CE5
Route116_EventScript_150CFC:: @ 8150CFC
trainerbattle 0, OPPONENT_KAREN_1, 0, Route116_Text_1BD377, Route116_Text_1BD3AC
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route116_EventScript_150D23
+ goto_if_eq Route116_EventScript_150D23
msgbox Route116_Text_1BD3C3, 6
end
diff --git a/data/scripts/maps/Route116_TunnelersRestHouse.inc b/data/scripts/maps/Route116_TunnelersRestHouse.inc
index d141fae37..10991c38c 100644
--- a/data/scripts/maps/Route116_TunnelersRestHouse.inc
+++ b/data/scripts/maps/Route116_TunnelersRestHouse.inc
@@ -18,7 +18,7 @@ Route116_TunnelersRestHouse_EventScript_15C2FA:: @ 815C2FA
lock
faceplayer
checkflag 199
- jumpeq Route116_TunnelersRestHouse_EventScript_15C30F
+ goto_if_eq Route116_TunnelersRestHouse_EventScript_15C30F
msgbox Route116_TunnelersRestHouse_Text_193135, 4
release
end
diff --git a/data/scripts/maps/Route117.inc b/data/scripts/maps/Route117.inc
index 61dbf6a30..40affd3fd 100644
--- a/data/scripts/maps/Route117.inc
+++ b/data/scripts/maps/Route117.inc
@@ -8,8 +8,8 @@ Route117_MapScript1_150D40:: @ 8150D40
Route117_EventScript_150D46:: @ 8150D46
checkflag 134
- jumpif 0, Route117_EventScript_150D56
- movespriteperm 3, 47, 6
+ goto_if 0, Route117_EventScript_150D56
+ setobjectxyperm 3, 47, 6
Route117_EventScript_150D56:: @ 8150D56
return
@@ -40,9 +40,9 @@ Route117_EventScript_150D84:: @ 8150D84
Route117_EventScript_150D8D:: @ 8150D8D
trainerbattle 0, OPPONENT_ISAAC_1, 0, Route117_Text_1BD49E, Route117_Text_1BD4D9
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route117_EventScript_150DB4
+ goto_if_eq Route117_EventScript_150DB4
msgbox Route117_Text_1BD4F9, 6
end
@@ -53,9 +53,9 @@ Route117_EventScript_150DB4:: @ 8150DB4
Route117_EventScript_150DCB:: @ 8150DCB
trainerbattle 0, OPPONENT_LYDIA_1, 0, Route117_Text_1BD634, Route117_Text_1BD67B
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route117_EventScript_150DF2
+ goto_if_eq Route117_EventScript_150DF2
msgbox Route117_Text_1BD69B, 6
end
@@ -66,9 +66,9 @@ Route117_EventScript_150DF2:: @ 8150DF2
Route117_EventScript_150E09:: @ 8150E09
trainerbattle 0, OPPONENT_DYLAN_1, 0, Route117_Text_1BD79A, Route117_Text_1BD7E0
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route117_EventScript_150E30
+ goto_if_eq Route117_EventScript_150E30
msgbox Route117_Text_1BD7F5, 6
end
@@ -79,9 +79,9 @@ Route117_EventScript_150E30:: @ 8150E30
Route117_EventScript_150E47:: @ 8150E47
trainerbattle 0, OPPONENT_MARIA_1, 0, Route117_Text_1BD914, Route117_Text_1BD965
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route117_EventScript_150E6E
+ goto_if_eq Route117_EventScript_150E6E
msgbox Route117_Text_1BD98F, 6
end
@@ -97,9 +97,9 @@ Route117_EventScript_150E85:: @ 8150E85
Route117_EventScript_150E9C:: @ 8150E9C
trainerbattle 4, OPPONENT_ANNA_AND_MEG_1, 0, Route117_Text_1BDBC3, Route117_Text_1BDC07, Route117_Text_1BDC96
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route117_EventScript_150EC7
+ goto_if_eq Route117_EventScript_150EC7
msgbox Route117_Text_1BDC44, 6
end
@@ -110,9 +110,9 @@ Route117_EventScript_150EC7:: @ 8150EC7
Route117_EventScript_150EE2:: @ 8150EE2
trainerbattle 4, OPPONENT_ANNA_AND_MEG_1, 0, Route117_Text_1BDCD2, Route117_Text_1BDD1E, Route117_Text_1BDD8B
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route117_EventScript_150F0D
+ goto_if_eq Route117_EventScript_150F0D
msgbox Route117_Text_1BDD4E, 6
end
diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc
index 0b5b4748e..b96346f15 100644
--- a/data/scripts/maps/Route118.inc
+++ b/data/scripts/maps/Route118.inc
@@ -10,12 +10,12 @@ Route118_EventScript_150F34:: @ 8150F34
lock
faceplayer
checkflag 227
- jumpeq Route118_EventScript_150F89
+ goto_if_eq Route118_EventScript_150F89
msgbox Route118_Text_170F12, 5
compare RESULT, 1
- jumpeq Route118_EventScript_150F5E
+ goto_if_eq Route118_EventScript_150F5E
compare RESULT, 0
- jumpeq Route118_EventScript_150F7F
+ goto_if_eq Route118_EventScript_150F7F
end
Route118_EventScript_150F5E:: @ 8150F5E
@@ -51,62 +51,62 @@ Route118_EventScript_150FA5:: @ 8150FA5
Route118_EventScript_150FAE:: @ 8150FAE
lockall
setvar 0x8008, 0
- move 255, Route118_Movement_1A0841
- waitmove 0
- move 19, Route118_Movement_151069
- waitmove 0
- jump Route118_EventScript_151004
+ applymovement 255, Route118_Movement_1A0841
+ waitmovement 0
+ applymovement 19, Route118_Movement_151069
+ waitmovement 0
+ goto Route118_EventScript_151004
end
Route118_EventScript_150FCE:: @ 8150FCE
lockall
setvar 0x8008, 1
- move 255, Route118_Movement_1A0841
- waitmove 0
- jump Route118_EventScript_151004
+ applymovement 255, Route118_Movement_1A0841
+ waitmovement 0
+ goto Route118_EventScript_151004
end
Route118_EventScript_150FE4:: @ 8150FE4
lockall
setvar 0x8008, 2
- move 255, Route118_Movement_1A0841
- waitmove 0
- move 19, Route118_Movement_15106B
- waitmove 0
- jump Route118_EventScript_151004
+ applymovement 255, Route118_Movement_1A0841
+ waitmovement 0
+ applymovement 19, Route118_Movement_15106B
+ waitmovement 0
+ goto Route118_EventScript_151004
end
Route118_EventScript_151004:: @ 8151004
- playsfx 10
- move 19, Route118_Movement_15106D
- waitmove 0
- pause 30
+ playse 10
+ applymovement 19, Route118_Movement_15106D
+ waitmovement 0
+ delay 30
msgbox Route118_Text_170D66, 4
- closebutton
+ closemessage
compare 0x8008, 0
- callif 1, Route118_EventScript_151048
+ call_if 1, Route118_EventScript_151048
compare 0x8008, 1
- callif 1, Route118_EventScript_151053
+ call_if 1, Route118_EventScript_151053
compare 0x8008, 2
- callif 1, Route118_EventScript_15105E
+ call_if 1, Route118_EventScript_15105E
setvar 0x4071, 1
- disappear 19
+ removeobject 19
releaseall
end
Route118_EventScript_151048:: @ 8151048
- move 19, Route118_Movement_151071
- waitmove 0
+ applymovement 19, Route118_Movement_151071
+ waitmovement 0
return
Route118_EventScript_151053:: @ 8151053
- move 19, Route118_Movement_15107C
- waitmove 0
+ applymovement 19, Route118_Movement_15107C
+ waitmovement 0
return
Route118_EventScript_15105E:: @ 815105E
- move 19, Route118_Movement_151086
- waitmove 0
+ applymovement 19, Route118_Movement_151086
+ waitmovement 0
return
Route118_Movement_151069:: @ 8151069
@@ -161,9 +161,9 @@ Route118_Movement_151086:: @ 8151086
Route118_EventScript_15108F:: @ 815108F
trainerbattle 0, OPPONENT_ROSE_1, 0, Route118_Text_1BDFF4, Route118_Text_1BE03C
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route118_EventScript_1510B6
+ goto_if_eq Route118_EventScript_1510B6
msgbox Route118_Text_1BE05E, 6
end
@@ -184,9 +184,9 @@ Route118_EventScript_1510E4:: @ 81510E4
Route118_EventScript_1510FB:: @ 81510FB
trainerbattle 0, OPPONENT_DALTON_1, 0, Route118_Text_1BE3E8, Route118_Text_1BE406
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route118_EventScript_151122
+ goto_if_eq Route118_EventScript_151122
msgbox Route118_Text_1BE413, 6
end
diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc
index 55a3fb1dc..2179a7e18 100644
--- a/data/scripts/maps/Route119.inc
+++ b/data/scripts/maps/Route119.inc
@@ -5,22 +5,22 @@ Route119_MapScripts:: @ 8151167
Route119_MapScript1_151172:: @ 8151172
checkflag 2145
- callif 1, Route119_EventScript_15117C
+ call_if 1, Route119_EventScript_15117C
end
Route119_EventScript_15117C:: @ 815117C
compare 0x8004, 6
- callif 1, Route119_EventScript_151193
+ call_if 1, Route119_EventScript_151193
compare 0x8004, 7
- callif 1, Route119_EventScript_151197
+ call_if 1, Route119_EventScript_151197
return
Route119_EventScript_151193:: @ 8151193
- disappear 35
+ removeobject 35
return
Route119_EventScript_151197:: @ 8151197
- disappear 36
+ removeobject 36
return
Route119_MapScript1_15119B:: @ 815119B
@@ -28,7 +28,7 @@ Route119_MapScript1_15119B:: @ 815119B
call Route119_EventScript_1A0172
call Route119_EventScript_1A0196
compare 0x40b3, 1
- callif 1, Route119_EventScript_1511B9
+ call_if 1, Route119_EventScript_1511B9
special SetRoute119Weather
end
@@ -40,51 +40,51 @@ Route119_EventScript_1511B9:: @ 81511B9
Route119_EventScript_1511C5:: @ 81511C5
setvar 0x4001, 1
- jump Route119_EventScript_1511DB
+ goto Route119_EventScript_1511DB
end
Route119_EventScript_1511D0:: @ 81511D0
setvar 0x4001, 2
- jump Route119_EventScript_1511DB
+ goto Route119_EventScript_1511DB
end
Route119_EventScript_1511DB:: @ 81511DB
lockall
- reappear 25
- checkgender
+ addobject 25
+ checkplayergender
compare RESULT, 0
- callif 1, Route119_EventScript_151254
+ call_if 1, Route119_EventScript_151254
compare RESULT, 1
- callif 1, Route119_EventScript_151259
- pause 65
+ call_if 1, Route119_EventScript_151259
+ delay 65
compare 0x4001, 1
- callif 1, Route119_EventScript_1513A6
+ call_if 1, Route119_EventScript_1513A6
compare 0x4001, 2
- callif 1, Route119_EventScript_1513B1
- move 255, Route119_Movement_1A0845
- waitmove 0
- pause 30
+ call_if 1, Route119_EventScript_1513B1
+ applymovement 255, Route119_Movement_1A0845
+ waitmovement 0
+ delay 30
compare 0x4001, 1
- callif 1, Route119_EventScript_1513D2
+ call_if 1, Route119_EventScript_1513D2
compare 0x4001, 2
- callif 1, Route119_EventScript_1513E1
- disappear 25
- reappear 16
- pause 30
- checkgender
+ call_if 1, Route119_EventScript_1513E1
+ removeobject 25
+ addobject 16
+ delay 30
+ checkplayergender
compare RESULT, 0
- jumpeq Route119_EventScript_15125E
+ goto_if_eq Route119_EventScript_15125E
compare RESULT, 1
- jumpeq Route119_EventScript_1512D8
+ goto_if_eq Route119_EventScript_1512D8
releaseall
end
Route119_EventScript_151254:: @ 8151254
- playmusic 415, 1
+ playbgm 415, 1
return
Route119_EventScript_151259:: @ 8151259
- playmusic 421, 1
+ playbgm 421, 1
return
Route119_EventScript_15125E:: @ 815125E
@@ -97,24 +97,24 @@ Route119_EventScript_15125E:: @ 815125E
Route119_EventScript_15128D:: @ 815128D
trainerbattle 3, OPPONENT_MAY_6, 0, Route119_Text_171156
- jump Route119_EventScript_1512BD
+ goto Route119_EventScript_1512BD
end
Route119_EventScript_15129D:: @ 815129D
trainerbattle 3, OPPONENT_MAY_9, 0, Route119_Text_171156
- jump Route119_EventScript_1512BD
+ goto Route119_EventScript_1512BD
end
Route119_EventScript_1512AD:: @ 81512AD
trainerbattle 3, OPPONENT_MAY_3, 0, Route119_Text_171156
- jump Route119_EventScript_1512BD
+ goto Route119_EventScript_1512BD
end
Route119_EventScript_1512BD:: @ 81512BD
msgbox Route119_Text_1711B1, 4
call Route119_EventScript_151352
msgbox Route119_Text_171214, 4
- jump Route119_EventScript_151362
+ goto Route119_EventScript_151362
end
Route119_EventScript_1512D8:: @ 81512D8
@@ -127,24 +127,24 @@ Route119_EventScript_1512D8:: @ 81512D8
Route119_EventScript_151307:: @ 8151307
trainerbattle 3, OPPONENT_BRENDAN_6, 0, Route119_Text_1713E2
- jump Route119_EventScript_151337
+ goto Route119_EventScript_151337
end
Route119_EventScript_151317:: @ 8151317
trainerbattle 3, OPPONENT_BRENDAN_9, 0, Route119_Text_1713E2
- jump Route119_EventScript_151337
+ goto Route119_EventScript_151337
end
Route119_EventScript_151327:: @ 8151327
trainerbattle 3, OPPONENT_BRENDAN_3, 0, Route119_Text_1713E2
- jump Route119_EventScript_151337
+ goto Route119_EventScript_151337
end
Route119_EventScript_151337:: @ 8151337
msgbox Route119_Text_17140B, 4
call Route119_EventScript_151352
msgbox Route119_Text_171475, 4
- jump Route119_EventScript_151362
+ goto Route119_EventScript_151362
end
Route119_EventScript_151352:: @ 8151352
@@ -153,53 +153,53 @@ Route119_EventScript_151352:: @ 8151352
return
Route119_EventScript_151362:: @ 8151362
- closebutton
+ closemessage
compare 0x4001, 1
- callif 1, Route119_EventScript_1513D2
+ call_if 1, Route119_EventScript_1513D2
compare 0x4001, 2
- callif 1, Route119_EventScript_1513E1
- disappear 16
- reappear 25
- pause 30
+ call_if 1, Route119_EventScript_1513E1
+ removeobject 16
+ addobject 25
+ delay 30
compare 0x4001, 1
- callif 1, Route119_EventScript_1513BC
+ call_if 1, Route119_EventScript_1513BC
compare 0x4001, 2
- callif 1, Route119_EventScript_1513C7
- disappear 25
+ call_if 1, Route119_EventScript_1513C7
+ removeobject 25
setvar 0x4072, 1
- playmusicbattle 0
- fadedefault
+ savebgm 0
+ fadedefaultbgm
releaseall
end
Route119_EventScript_1513A6:: @ 81513A6
- move 25, Route119_Movement_1513F0
- waitmove 0
+ applymovement 25, Route119_Movement_1513F0
+ waitmovement 0
return
Route119_EventScript_1513B1:: @ 81513B1
- move 25, Route119_Movement_1513FA
- waitmove 0
+ applymovement 25, Route119_Movement_1513FA
+ waitmovement 0
return
Route119_EventScript_1513BC:: @ 81513BC
- move 25, Route119_Movement_151405
- waitmove 0
+ applymovement 25, Route119_Movement_151405
+ waitmovement 0
return
Route119_EventScript_1513C7:: @ 81513C7
- move 25, Route119_Movement_15140F
- waitmove 0
+ applymovement 25, Route119_Movement_15140F
+ waitmovement 0
return
Route119_EventScript_1513D2:: @ 81513D2
- movespriteperm 16, 25, 32
- movespriteperm 25, 25, 32
+ setobjectxyperm 16, 25, 32
+ setobjectxyperm 25, 25, 32
return
Route119_EventScript_1513E1:: @ 81513E1
- movespriteperm 16, 26, 32
- movespriteperm 25, 26, 32
+ setobjectxyperm 16, 26, 32
+ setobjectxyperm 25, 26, 32
return
Route119_Movement_1513F0:: @ 81513F0
@@ -296,9 +296,9 @@ Route119_EventScript_1514A8:: @ 81514A8
Route119_EventScript_1514BF:: @ 81514BF
trainerbattle 0, OPPONENT_JACKSON_1, 0, Route119_Text_1BE8BB, Route119_Text_1BE90E
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route119_EventScript_1514E6
+ goto_if_eq Route119_EventScript_1514E6
msgbox Route119_Text_1BE937, 6
end
@@ -309,9 +309,9 @@ Route119_EventScript_1514E6:: @ 81514E6
Route119_EventScript_1514FD:: @ 81514FD
trainerbattle 0, OPPONENT_CATHERINE_1, 0, Route119_Text_1BEA3A, Route119_Text_1BEA88
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route119_EventScript_151524
+ goto_if_eq Route119_EventScript_151524
msgbox Route119_Text_1BEAB3, 6
end
@@ -354,9 +354,9 @@ Route119_EventScript_1515C5:: @ 81515C5
lock
faceplayer
msgbox Route119_Text_171520, 4
- closebutton
- move LAST_TALKED, Route119_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, Route119_Movement_1A083D
+ waitmovement 0
release
end
@@ -364,9 +364,9 @@ Route119_EventScript_1515DC:: @ 81515DC
lock
faceplayer
msgbox Route119_Text_17157C, 4
- closebutton
- move LAST_TALKED, Route119_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, Route119_Movement_1A083D
+ waitmovement 0
release
end
diff --git a/data/scripts/maps/Route119_House.inc b/data/scripts/maps/Route119_House.inc
index 6395e40eb..42cc89068 100644
--- a/data/scripts/maps/Route119_House.inc
+++ b/data/scripts/maps/Route119_House.inc
@@ -8,8 +8,8 @@ Route119_House_EventScript_163DDE:: @ 8163DDE
Route119_House_EventScript_163DE7:: @ 8163DE7
lock
faceplayer
- checksound
- pokecry SPECIES_WINGULL, 0
+ waitse
+ playpokecry SPECIES_WINGULL, 0
msgbox Route119_House_Text_19F406, 4
waitpokecry
release
diff --git a/data/scripts/maps/Route119_WeatherInstitute_1F.inc b/data/scripts/maps/Route119_WeatherInstitute_1F.inc
index 95ec39d61..3dc9672e3 100644
--- a/data/scripts/maps/Route119_WeatherInstitute_1F.inc
+++ b/data/scripts/maps/Route119_WeatherInstitute_1F.inc
@@ -5,12 +5,12 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 8163C2A
Route119_WeatherInstitute_1F_MapScript1_163C30:: @ 8163C30
call Route119_WeatherInstitute_1F_EventScript_1A0196
compare 0x40b3, 0
- callif 1, Route119_WeatherInstitute_1F_EventScript_163C41
+ call_if 1, Route119_WeatherInstitute_1F_EventScript_163C41
end
Route119_WeatherInstitute_1F_EventScript_163C41:: @ 8163C41
- movespriteperm 5, 0, 5
- spritebehave 5, 10
+ setobjectxyperm 5, 0, 5
+ setobjectmovementtype 5, 10
return
Route119_WeatherInstitute_1F_EventScript_163C4D:: @ 8163C4D
@@ -18,7 +18,7 @@ Route119_WeatherInstitute_1F_EventScript_163C4D:: @ 8163C4D
faceplayer
special GetPlayerBigGuyGirlString
compare 0x40b3, 0
- jumpeq Route119_WeatherInstitute_1F_EventScript_163C67
+ goto_if_eq Route119_WeatherInstitute_1F_EventScript_163C67
msgbox Route119_WeatherInstitute_1F_Text_19ED22, 4
release
end
@@ -39,7 +39,7 @@ Route119_WeatherInstitute_1F_EventScript_163C7A:: @ 8163C7A
Route119_WeatherInstitute_1F_EventScript_163C83:: @ 8163C83
lockall
msgbox Route119_WeatherInstitute_1F_Text_19EE8B, 4
- closebutton
+ closemessage
call Route119_WeatherInstitute_1F_EventScript_1A02CA
releaseall
end
diff --git a/data/scripts/maps/Route119_WeatherInstitute_2F.inc b/data/scripts/maps/Route119_WeatherInstitute_2F.inc
index 37f8e9ec6..ac64904a2 100644
--- a/data/scripts/maps/Route119_WeatherInstitute_2F.inc
+++ b/data/scripts/maps/Route119_WeatherInstitute_2F.inc
@@ -5,19 +5,19 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 8163CC2
Route119_WeatherInstitute_2F_MapScript1_163CC8:: @ 8163CC8
call Route119_WeatherInstitute_2F_EventScript_1A0196
compare 0x40b3, 0
- callif 1, Route119_WeatherInstitute_2F_EventScript_163CE4
+ call_if 1, Route119_WeatherInstitute_2F_EventScript_163CE4
compare 0x40b3, 1
- callif 1, Route119_WeatherInstitute_2F_EventScript_163CF0
+ call_if 1, Route119_WeatherInstitute_2F_EventScript_163CF0
end
Route119_WeatherInstitute_2F_EventScript_163CE4:: @ 8163CE4
- movespriteperm 5, 1, 6
- spritebehave 5, 10
+ setobjectxyperm 5, 1, 6
+ setobjectmovementtype 5, 10
return
Route119_WeatherInstitute_2F_EventScript_163CF0:: @ 8163CF0
- movespriteperm 5, 4, 6
- spritebehave 5, 10
+ setobjectxyperm 5, 4, 6
+ setobjectmovementtype 5, 10
return
Route119_WeatherInstitute_2F_EventScript_163CFC:: @ 8163CFC
@@ -37,32 +37,32 @@ Route119_WeatherInstitute_2F_EventScript_163D2A:: @ 8163D2A
Route119_WeatherInstitute_2F_EventScript_163D45:: @ 8163D45
msgbox Route119_WeatherInstitute_2F_Text_19F11B, 4
- closebutton
+ closemessage
setvar 0x40b3, 1
clearflag 893
- fadedefault
+ fadedefaultbgm
fadescreen 1
setflag 890
- disappear 1
- disappear 2
- disappear 3
+ removeobject 1
+ removeobject 2
+ removeobject 3
fadescreen 0
- move 5, Route119_WeatherInstitute_2F_Movement_163DC8
- waitmove 0
- moveoffscreen 5
- jump Route119_WeatherInstitute_2F_EventScript_163D7A
+ applymovement 5, Route119_WeatherInstitute_2F_Movement_163DC8
+ waitmovement 0
+ moveobjectoffscreen 5
+ goto Route119_WeatherInstitute_2F_EventScript_163D7A
end
Route119_WeatherInstitute_2F_EventScript_163D7A:: @ 8163D7A
msgbox Route119_WeatherInstitute_2F_Text_19F1CF, 4
countpokemon
compare RESULT, 6
- jumpeq Route119_WeatherInstitute_2F_EventScript_163DB4
- fanfare 370
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_163DB4
+ playfanfare 370
message Route119_WeatherInstitute_2F_Text_19F267
waitfanfare
- waittext
- givepokemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0
+ waitmessage
+ givepoke SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0
setflag 151
msgbox Route119_WeatherInstitute_2F_Text_19F27D, 4
release
@@ -88,6 +88,6 @@ Route119_WeatherInstitute_2F_EventScript_163DCC:: @ 8163DCC
lock
faceplayer
checkflag 151
- jumpeq Route119_WeatherInstitute_2F_EventScript_163DBE
- jump Route119_WeatherInstitute_2F_EventScript_163D7A
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_163DBE
+ goto Route119_WeatherInstitute_2F_EventScript_163D7A
end
diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc
index 75385fe8f..868d00324 100644
--- a/data/scripts/maps/Route120.inc
+++ b/data/scripts/maps/Route120.inc
@@ -6,56 +6,56 @@ Route120_MapScripts:: @ 815160E
Route120_MapScript1_15161E:: @ 815161E
checkflag 2145
- callif 1, Route120_EventScript_151628
+ call_if 1, Route120_EventScript_151628
end
Route120_EventScript_151628:: @ 8151628
compare 0x8004, 0
- callif 1, Route120_EventScript_15166B
+ call_if 1, Route120_EventScript_15166B
compare 0x8004, 1
- callif 1, Route120_EventScript_151672
+ call_if 1, Route120_EventScript_151672
compare 0x8004, 2
- callif 1, Route120_EventScript_151676
+ call_if 1, Route120_EventScript_151676
compare 0x8004, 3
- callif 1, Route120_EventScript_15167A
+ call_if 1, Route120_EventScript_15167A
compare 0x8004, 4
- callif 1, Route120_EventScript_15167E
+ call_if 1, Route120_EventScript_15167E
compare 0x8004, 5
- callif 1, Route120_EventScript_151682
+ call_if 1, Route120_EventScript_151682
return
Route120_EventScript_15166B:: @ 815166B
- disappear 30
- disappear 36
+ removeobject 30
+ removeobject 36
return
Route120_EventScript_151672:: @ 8151672
- disappear 37
+ removeobject 37
return
Route120_EventScript_151676:: @ 8151676
- disappear 38
+ removeobject 38
return
Route120_EventScript_15167A:: @ 815167A
- disappear 39
+ removeobject 39
return
Route120_EventScript_15167E:: @ 815167E
- disappear 41
+ removeobject 41
return
Route120_EventScript_151682:: @ 8151682
- disappear 40
+ removeobject 40
return
Route120_MapScript1_151686:: @ 8151686
checkflag 228
- callif 0, Route120_EventScript_1516A2
+ call_if 0, Route120_EventScript_1516A2
checkflag 285
- callif 1, Route120_EventScript_1516B5
+ call_if 1, Route120_EventScript_1516B5
checkflag 285
- callif 0, Route120_EventScript_1516DA
+ call_if 0, Route120_EventScript_1516DA
end
Route120_EventScript_1516A2:: @ 81516A2
@@ -71,7 +71,7 @@ Route120_EventScript_1516B5:: @ 81516B5
return
Route120_EventScript_1516DA:: @ 81516DA
- spritebehave 36, 10
+ setobjectmovementtype 36, 10
return
Route120_MapScript1_1516DF:: @ 81516DF
@@ -82,11 +82,11 @@ Route120_MapScript1_1516DF:: @ 81516DF
Route120_EventScript_1516EA:: @ 81516EA
getplayerxy 0x4000, 0x4001
compare 0x4001, 14
- jumpif 3, Route120_EventScript_151715
+ goto_if 3, Route120_EventScript_151715
compare 0x4001, 60
- jumpif 3, Route120_EventScript_151719
+ goto_if 3, Route120_EventScript_151719
compare 0x4001, 61
- jumpif 4, Route120_EventScript_151711
+ goto_if 4, Route120_EventScript_151711
return
Route120_EventScript_151711:: @ 8151711
@@ -99,10 +99,10 @@ Route120_EventScript_151715:: @ 8151715
Route120_EventScript_151719:: @ 8151719
compare 0x4000, 7
- jumpif 3, Route120_EventScript_151735
+ goto_if 3, Route120_EventScript_151735
compare 0x4000, 19
- jumpif 3, Route120_EventScript_151715
- jump Route120_EventScript_151735
+ goto_if 3, Route120_EventScript_151715
+ goto Route120_EventScript_151735
end
Route120_EventScript_151735:: @ 8151735
@@ -112,15 +112,15 @@ Route120_EventScript_151735:: @ 8151735
Route120_EventScript_151739:: @ 8151739
lock
faceplayer
- checkdailyflags
+ dodailyevents
checkflag 2254
- jumpeq Route120_EventScript_151837
+ goto_if_eq Route120_EventScript_151837
msgbox Route120_Text_1C58F1, 5
compare RESULT, 1
- callif 1, Route120_EventScript_151841
+ call_if 1, Route120_EventScript_151841
compare RESULT, 0
- callif 1, Route120_EventScript_15184A
- specialval RESULT, GetPlayerTrainerIdOnesDigit
+ call_if 1, Route120_EventScript_15184A
+ specialvar RESULT, GetPlayerTrainerIdOnesDigit
switch RESULT
case 0, Route120_EventScript_1517DC
case 5, Route120_EventScript_1517DC
@@ -136,33 +136,33 @@ Route120_EventScript_151739:: @ 8151739
Route120_EventScript_1517DC:: @ 81517DC
setvar 0x8004, 143
- jump Route120_EventScript_151813
+ goto Route120_EventScript_151813
end
Route120_EventScript_1517E7:: @ 81517E7
setvar 0x8004, 144
- jump Route120_EventScript_151813
+ goto Route120_EventScript_151813
end
Route120_EventScript_1517F2:: @ 81517F2
setvar 0x8004, 145
- jump Route120_EventScript_151813
+ goto Route120_EventScript_151813
end
Route120_EventScript_1517FD:: @ 81517FD
setvar 0x8004, 146
- jump Route120_EventScript_151813
+ goto Route120_EventScript_151813
end
Route120_EventScript_151808:: @ 8151808
setvar 0x8004, 147
- jump Route120_EventScript_151813
+ goto Route120_EventScript_151813
end
Route120_EventScript_151813:: @ 8151813
giveitem 0x8004
compare RESULT, 0
- jumpeq Route120_EventScript_1A029B
+ goto_if_eq Route120_EventScript_1A029B
setflag 2254
msgbox Route120_Text_1C5A0B, 4
release
@@ -185,11 +185,11 @@ Route120_EventScript_151853:: @ 8151853
lock
faceplayer
checkflag 290
- jumpeq Route120_EventScript_151884
+ goto_if_eq Route120_EventScript_151884
msgbox Route120_Text_171827, 5
compare RESULT, 0
- jumpeq Route120_EventScript_151877
- jump Route120_EventScript_15189D
+ goto_if_eq Route120_EventScript_151877
+ goto Route120_EventScript_15189D
end
Route120_EventScript_151877:: @ 8151877
@@ -201,55 +201,55 @@ Route120_EventScript_151877:: @ 8151877
Route120_EventScript_151884:: @ 8151884
msgbox Route120_Text_17196F, 5
compare RESULT, 0
- jumpeq Route120_EventScript_151877
- jump Route120_EventScript_15189D
+ goto_if_eq Route120_EventScript_151877
+ goto Route120_EventScript_15189D
end
Route120_EventScript_15189D:: @ 815189D
msgbox Route120_Text_1719A0, 4
- closebutton
+ closemessage
compare FACING, 2
- callif 1, Route120_EventScript_15197F
+ call_if 1, Route120_EventScript_15197F
compare FACING, 3
- callif 1, Route120_EventScript_15198A
- move 31, Route120_Movement_1A083F
- waitmove 0
- pause 20
+ call_if 1, Route120_EventScript_15198A
+ applymovement 31, Route120_Movement_1A083F
+ waitmovement 0
+ delay 20
msgbox Route120_Text_1719D4, 4
- closebutton
- move 30, Route120_Movement_1A0843
- waitmove 0
- move 30, Route120_Movement_1A0662
- waitmove 0
- checksound
- pokecry SPECIES_KECLEON, 2
- pause 40
+ closemessage
+ applymovement 30, Route120_Movement_1A0843
+ waitmovement 0
+ applymovement 30, Route120_Movement_1A0662
+ waitmovement 0
+ waitse
+ playpokecry SPECIES_KECLEON, 2
+ delay 40
waitpokecry
setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
setvar 0x8004, 0
setflag 2145
dowildbattle
clearflag 2145
- jump Route120_EventScript_151908
+ goto Route120_EventScript_151908
end
Route120_EventScript_151908:: @ 8151908
- move 31, Route120_Movement_1A0845
- move 255, Route120_Movement_1A0841
- waitmove 0
+ applymovement 31, Route120_Movement_1A0845
+ applymovement 255, Route120_Movement_1A0841
+ waitmovement 0
msgbox Route120_Text_171A40, 4
giveitem ITEM_DEVON_SCOPE
setflag 285
msgbox Route120_Text_171B0E, 4
- closebutton
- move 31, Route120_Movement_1A0845
- waitmove 0
- pause 50
- setanimation 0, 1
- doanimation 30
- pause 15
- disappear 31
- checkanimation 30
+ closemessage
+ applymovement 31, Route120_Movement_1A0845
+ waitmovement 0
+ delay 50
+ setfieldeffect 0, 1
+ dofieldeffect 30
+ delay 15
+ removeobject 31
+ waitfieldeffect 30
setmaptile 13, 15, 663, 0
setmaptile 12, 16, 671, 0
setmaptile 12, 17, 161, 0
@@ -259,13 +259,13 @@ Route120_EventScript_151908:: @ 8151908
end
Route120_EventScript_15197F:: @ 815197F
- move 255, Route120_Movement_1A083F
- waitmove 0
+ applymovement 255, Route120_Movement_1A083F
+ waitmovement 0
return
Route120_EventScript_15198A:: @ 815198A
- move 255, Route120_Movement_151995
- waitmove 0
+ applymovement 255, Route120_Movement_151995
+ waitmovement 0
return
Route120_Movement_151995:: @ 8151995
@@ -292,9 +292,9 @@ Route120_EventScript_1519B3:: @ 81519B3
Route120_EventScript_1519CA:: @ 81519CA
trainerbattle 0, OPPONENT_ROBERT_1, 0, Route120_Text_1BF07E, Route120_Text_1BF0A5
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route120_EventScript_1519F1
+ goto_if_eq Route120_EventScript_1519F1
msgbox Route120_Text_1BF0C3, 6
end
@@ -315,9 +315,9 @@ Route120_EventScript_151A1F:: @ 8151A1F
Route120_EventScript_151A36:: @ 8151A36
trainerbattle 0, OPPONENT_BRANDON_1, 0, Route120_Text_1BF32B, Route120_Text_1BF36B
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route120_EventScript_151A5D
+ goto_if_eq Route120_EventScript_151A5D
msgbox Route120_Text_1BF38D, 6
end
diff --git a/data/scripts/maps/Route121.inc b/data/scripts/maps/Route121.inc
index e1aaec716..39443d2f9 100644
--- a/data/scripts/maps/Route121.inc
+++ b/data/scripts/maps/Route121.inc
@@ -21,14 +21,14 @@ Route121_EventScript_151B1C:: @ 8151B1C
Route121_EventScript_151B25:: @ 8151B25
lockall
msgbox Route121_Text_171C8F, 4
- closebutton
- move 12, Route121_Movement_151B57
- move 13, Route121_Movement_151B60
- move 14, Route121_Movement_151B69
- waitmove 0
- disappear 12
- disappear 13
- disappear 14
+ closemessage
+ applymovement 12, Route121_Movement_151B57
+ applymovement 13, Route121_Movement_151B60
+ applymovement 14, Route121_Movement_151B69
+ waitmovement 0
+ removeobject 12
+ removeobject 13
+ removeobject 14
setvar 0x4074, 1
releaseall
end
@@ -73,9 +73,9 @@ Route121_EventScript_151B72:: @ 8151B72
Route121_EventScript_151B89:: @ 8151B89
trainerbattle 0, OPPONENT_WALTER_1, 0, Route121_Text_1BFA1B, Route121_Text_1BFA8C
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route121_EventScript_151BB0
+ goto_if_eq Route121_EventScript_151BB0
msgbox Route121_Text_1BFA9D, 6
end
@@ -101,9 +101,9 @@ Route121_EventScript_151BF9:: @ 8151BF9
Route121_EventScript_151C14:: @ 8151C14
trainerbattle 0, OPPONENT_JESSICA_1, 0, Route121_Text_1BFE51, Route121_Text_1BFE80
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route121_EventScript_151C3B
+ goto_if_eq Route121_EventScript_151C3B
msgbox Route121_Text_1BFEAE, 6
end
diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc
index 251b09c73..9649271f4 100644
--- a/data/scripts/maps/Route121_SafariZoneEntrance.inc
+++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc
@@ -8,8 +8,8 @@ Route121_SafariZoneEntrance_MapScript2_15C329:: @ 815C329
Route121_SafariZoneEntrance_EventScript_15C333:: @ 815C333
lockall
- move 255, Route121_SafariZoneEntrance_Movement_15C348
- waitmove 0
+ applymovement 255, Route121_SafariZoneEntrance_Movement_15C348
+ waitmovement 0
special ExitSafariMode
setvar 0x40a4, 0
releaseall
@@ -35,7 +35,7 @@ Route121_SafariZoneEntrance_EventScript_15C35A:: @ 815C35A
faceplayer
msgbox Route121_SafariZoneEntrance_Text_1C3704, 5
compare RESULT, 1
- jumpeq Route121_SafariZoneEntrance_EventScript_15C379
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_15C379
msgbox Route121_SafariZoneEntrance_Text_1C373C, 4
release
end
@@ -47,39 +47,39 @@ Route121_SafariZoneEntrance_EventScript_15C379:: @ 815C379
Route121_SafariZoneEntrance_EventScript_15C383:: @ 815C383
lockall
- move 255, Route121_SafariZoneEntrance_Movement_1A0841
- waitmove 0
- showmoney 0, 0
- snop
+ applymovement 255, Route121_SafariZoneEntrance_Movement_1A0841
+ waitmovement 0
+ showmoneybox 0, 0
+ nop
msgbox Route121_SafariZoneEntrance_Text_1C3832, 5
compare RESULT, 1
- jumpeq Route121_SafariZoneEntrance_EventScript_15C3B3
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_15C3B3
msgbox Route121_SafariZoneEntrance_Text_1C3895, 4
- jump Route121_SafariZoneEntrance_EventScript_15C46C
+ goto Route121_SafariZoneEntrance_EventScript_15C46C
end
Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3
checkitem ITEM_POKEBLOCK_CASE, 1
compare RESULT, 0
- jumpeq Route121_SafariZoneEntrance_EventScript_15C450
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_15C450
call Route121_SafariZoneEntrance_EventScript_15C425
checkmoney 0x1f4, 0
compare RESULT, 0
- jumpeq Route121_SafariZoneEntrance_EventScript_15C45E
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_15C45E
msgbox Route121_SafariZoneEntrance_Text_1C38D9, 4
- paymoney 0x1f4, 0
- updatemoney 0, 0
- snop
+ takemoney 0x1f4, 0
+ updatemoneybox 0, 0
+ nop
msgbox Route121_SafariZoneEntrance_Text_1C38F4, 4
- fanfare 370
+ playfanfare 370
message Route121_SafariZoneEntrance_Text_1C3910
waitfanfare
- waittext
+ waitmessage
msgbox Route121_SafariZoneEntrance_Text_1C392D, 4
- closebutton
- hidemoney 0, 0
- move 255, Route121_SafariZoneEntrance_Movement_15C47E
- waitmove 0
+ closemessage
+ hidemoneybox 0, 0
+ applymovement 255, Route121_SafariZoneEntrance_Movement_15C47E
+ waitmovement 0
special EnterSafariMode
setvar 0x40a4, 2
warp SafariZone_Southeast, 255, 32, 33
@@ -89,12 +89,12 @@ Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3
Route121_SafariZoneEntrance_EventScript_15C425:: @ 815C425
countpokemon
compare RESULT, 6
- jumpif 5, Route121_SafariZoneEntrance_EventScript_15C44F
- specialval RESULT, CheckFreePokemonStorageSpace
+ goto_if 5, Route121_SafariZoneEntrance_EventScript_15C44F
+ specialvar RESULT, CheckFreePokemonStorageSpace
compare RESULT, 1
- jumpeq Route121_SafariZoneEntrance_EventScript_15C44F
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_15C44F
msgbox Route121_SafariZoneEntrance_Text_1C39A3, 4
- jump Route121_SafariZoneEntrance_EventScript_15C46C
+ goto Route121_SafariZoneEntrance_EventScript_15C46C
end
Route121_SafariZoneEntrance_EventScript_15C44F:: @ 815C44F
@@ -102,19 +102,19 @@ Route121_SafariZoneEntrance_EventScript_15C44F:: @ 815C44F
Route121_SafariZoneEntrance_EventScript_15C450:: @ 815C450
msgbox Route121_SafariZoneEntrance_Text_1C39C3, 4
- jump Route121_SafariZoneEntrance_EventScript_15C46C
+ goto Route121_SafariZoneEntrance_EventScript_15C46C
end
Route121_SafariZoneEntrance_EventScript_15C45E:: @ 815C45E
msgbox Route121_SafariZoneEntrance_Text_1C38B5, 4
- jump Route121_SafariZoneEntrance_EventScript_15C46C
+ goto Route121_SafariZoneEntrance_EventScript_15C46C
end
Route121_SafariZoneEntrance_EventScript_15C46C:: @ 815C46C
- closebutton
- hidemoney 0, 0
- move 255, Route121_SafariZoneEntrance_Movement_15C47C
- waitmove 0
+ closemessage
+ hidemoneybox 0, 0
+ applymovement 255, Route121_SafariZoneEntrance_Movement_15C47C
+ waitmovement 0
releaseall
end
diff --git a/data/scripts/maps/Route123.inc b/data/scripts/maps/Route123.inc
index 891a395f0..14c5a2dba 100644
--- a/data/scripts/maps/Route123.inc
+++ b/data/scripts/maps/Route123.inc
@@ -10,15 +10,15 @@ Route123_EventScript_151C5D:: @ 8151C5D
lock
faceplayer
checkflag 232
- jumpeq Route123_EventScript_151CAC
+ goto_if_eq Route123_EventScript_151CAC
msgbox Route123_Text_171D83, 4
special IsGrassTypeInParty
compare RESULT, 0
- jumpeq Route123_EventScript_151CAA
+ goto_if_eq Route123_EventScript_151CAA
msgbox Route123_Text_171DC2, 4
giveitem ITEM_TM19
compare RESULT, 0
- jumpeq Route123_EventScript_1A029B
+ goto_if_eq Route123_EventScript_1A029B
setflag 232
msgbox Route123_Text_171E34, 4
release
@@ -62,9 +62,9 @@ Route123_EventScript_151CFF:: @ 8151CFF
Route123_EventScript_151D16:: @ 8151D16
trainerbattle 0, OPPONENT_CAMERON_1, 0, Route123_Text_1C013F, Route123_Text_1C01A3
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route123_EventScript_151D3D
+ goto_if_eq Route123_EventScript_151D3D
msgbox Route123_Text_1C01B1, 6
end
@@ -75,9 +75,9 @@ Route123_EventScript_151D3D:: @ 8151D3D
Route123_EventScript_151D54:: @ 8151D54
trainerbattle 0, OPPONENT_JACKI_1, 0, Route123_Text_1C028C, Route123_Text_1C0303
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route123_EventScript_151D7B
+ goto_if_eq Route123_EventScript_151D7B
msgbox Route123_Text_1C030F, 6
end
diff --git a/data/scripts/maps/Route123_BerryMastersHouse.inc b/data/scripts/maps/Route123_BerryMastersHouse.inc
index 9290f845d..64888759d 100644
--- a/data/scripts/maps/Route123_BerryMastersHouse.inc
+++ b/data/scripts/maps/Route123_BerryMastersHouse.inc
@@ -9,16 +9,16 @@ Route123_BerryMastersHouse_MapScript1_1639E5:: @ 81639E5
Route123_BerryMastersHouse_EventScript_1639E9:: @ 81639E9
lock
faceplayer
- checkdailyflags
+ dodailyevents
checkflag 2253
- jumpeq Route123_BerryMastersHouse_EventScript_163A5A
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163A5A
msgbox Route123_BerryMastersHouse_Text_1C5BC4, 4
random 10
addvar RESULT, 20
addvar RESULT, 133
giveitem RESULT
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_1A029B
+ goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B
setflag 2253
msgbox Route123_BerryMastersHouse_Text_1C5C66, 4
random 10
@@ -26,7 +26,7 @@ Route123_BerryMastersHouse_EventScript_1639E9:: @ 81639E9
addvar RESULT, 133
giveitem RESULT
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_1A029B
+ goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B
msgbox Route123_BerryMastersHouse_Text_1C5C83, 4
release
end
@@ -39,18 +39,18 @@ Route123_BerryMastersHouse_EventScript_163A5A:: @ 8163A5A
Route123_BerryMastersHouse_EventScript_163A64:: @ 8163A64
lock
faceplayer
- checkdailyflags
+ dodailyevents
checkflag 2257
- jumpeq Route123_BerryMastersHouse_EventScript_163C13
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163C13
msgbox Route123_BerryMastersHouse_Text_1C5D24, 4
setvar 0x8004, 13
call Route123_BerryMastersHouse_EventScript_1A00F3
lock
faceplayer
compare RESULT, 1
- jumpeq Route123_BerryMastersHouse_EventScript_163AAD
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163AAD
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_163A9B
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163A9B
end
Route123_BerryMastersHouse_EventScript_163A9B:: @ 8163A9B
@@ -61,17 +61,17 @@ Route123_BerryMastersHouse_EventScript_163A9B:: @ 8163A9B
Route123_BerryMastersHouse_EventScript_163AAD:: @ 8163AAD
compare 0x8004, 0
- jumpeq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
compare 0x8004, 1
- jumpeq Route123_BerryMastersHouse_EventScript_163B1E
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163B1E
compare 0x8004, 2
- jumpeq Route123_BerryMastersHouse_EventScript_163B4F
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163B4F
compare 0x8004, 3
- jumpeq Route123_BerryMastersHouse_EventScript_163B80
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163B80
compare 0x8004, 4
- jumpeq Route123_BerryMastersHouse_EventScript_163BB1
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163BB1
compare 0x8004, 5
- jumpeq Route123_BerryMastersHouse_EventScript_163BE2
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163BE2
end
Route123_BerryMastersHouse_EventScript_163AF0:: @ 8163AF0
@@ -80,64 +80,64 @@ Route123_BerryMastersHouse_EventScript_163AF0:: @ 8163AF0
addvar RESULT, 133
giveitem RESULT
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_1A029B
- jump Route123_BerryMastersHouse_EventScript_163C1D
+ goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B
+ goto Route123_BerryMastersHouse_EventScript_163C1D
release
end
Route123_BerryMastersHouse_EventScript_163B1E:: @ 8163B1E
checkflag 248
- jumpeq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem ITEM_SPELON_BERRY
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_1A029B
+ goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B
setflag 248
- jump Route123_BerryMastersHouse_EventScript_163C1D
+ goto Route123_BerryMastersHouse_EventScript_163C1D
end
Route123_BerryMastersHouse_EventScript_163B4F:: @ 8163B4F
checkflag 249
- jumpeq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem ITEM_PAMTRE_BERRY
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_1A029B
+ goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B
setflag 249
- jump Route123_BerryMastersHouse_EventScript_163C1D
+ goto Route123_BerryMastersHouse_EventScript_163C1D
end
Route123_BerryMastersHouse_EventScript_163B80:: @ 8163B80
checkflag 250
- jumpeq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem ITEM_WATMEL_BERRY
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_1A029B
+ goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B
setflag 250
- jump Route123_BerryMastersHouse_EventScript_163C1D
+ goto Route123_BerryMastersHouse_EventScript_163C1D
end
Route123_BerryMastersHouse_EventScript_163BB1:: @ 8163BB1
checkflag 251
- jumpeq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem ITEM_DURIN_BERRY
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_1A029B
+ goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B
setflag 251
- jump Route123_BerryMastersHouse_EventScript_163C1D
+ goto Route123_BerryMastersHouse_EventScript_163C1D
end
Route123_BerryMastersHouse_EventScript_163BE2:: @ 8163BE2
checkflag 252
- jumpeq Route123_BerryMastersHouse_EventScript_163AF0
+ goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0
msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4
giveitem ITEM_BELUE_BERRY
compare RESULT, 0
- jumpeq Route123_BerryMastersHouse_EventScript_1A029B
+ goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B
setflag 252
- jump Route123_BerryMastersHouse_EventScript_163C1D
+ goto Route123_BerryMastersHouse_EventScript_163C1D
end
Route123_BerryMastersHouse_EventScript_163C13:: @ 8163C13
diff --git a/data/scripts/maps/Route124.inc b/data/scripts/maps/Route124.inc
index 68f17b12a..ffe4cef97 100644
--- a/data/scripts/maps/Route124.inc
+++ b/data/scripts/maps/Route124.inc
@@ -4,7 +4,7 @@ Route124_MapScripts:: @ 8151DDF
Route124_MapScript1_151DE5:: @ 8151DE5
checkflag 2090
- callif 1, Route124_EventScript_1A02C1
+ call_if 1, Route124_EventScript_1A02C1
end
Route124_EventScript_151DEF:: @ 8151DEF
@@ -23,9 +23,9 @@ Route124_EventScript_151E0F:: @ 8151E0F
Route124_EventScript_151E26:: @ 8151E26
trainerbattle 0, OPPONENT_JENNY_1, 0, Route124_Text_1C07B4, Route124_Text_1C07F9
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route124_EventScript_151E4D
+ goto_if_eq Route124_EventScript_151E4D
msgbox Route124_Text_1C080E, 6
end
@@ -46,9 +46,9 @@ Route124_EventScript_151E7B:: @ 8151E7B
Route124_EventScript_151E92:: @ 8151E92
trainerbattle 4, OPPONENT_RITA_AND_SAM_1, 0, Route124_Text_1C0ABD, Route124_Text_1C0B36, Route124_Text_1C0BC8
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route124_EventScript_151EBD
+ goto_if_eq Route124_EventScript_151EBD
msgbox Route124_Text_1C0B72, 6
end
@@ -59,9 +59,9 @@ Route124_EventScript_151EBD:: @ 8151EBD
Route124_EventScript_151ED8:: @ 8151ED8
trainerbattle 4, OPPONENT_RITA_AND_SAM_1, 0, Route124_Text_1C0C0E, Route124_Text_1C0C4F, Route124_Text_1C0CE0
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route124_EventScript_151F03
+ goto_if_eq Route124_EventScript_151F03
msgbox Route124_Text_1C0C7F, 6
end
diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
index e1049c8be..7421e94e0 100644
--- a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
+++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
@@ -10,38 +10,38 @@ Route124_DivingTreasureHuntersHouse_EventScript_163E04:: @ 8163E04
lock
faceplayer
checkflag 217
- jumpeq Route124_DivingTreasureHuntersHouse_EventScript_163E20
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E20
msgbox Route124_DivingTreasureHuntersHouse_Text_19F416, 4
setflag 217
- jump Route124_DivingTreasureHuntersHouse_EventScript_163E2E
+ goto Route124_DivingTreasureHuntersHouse_EventScript_163E2E
end
Route124_DivingTreasureHuntersHouse_EventScript_163E20:: @ 8163E20
msgbox Route124_DivingTreasureHuntersHouse_Text_19F48F, 4
- jump Route124_DivingTreasureHuntersHouse_EventScript_163E2E
+ goto Route124_DivingTreasureHuntersHouse_EventScript_163E2E
end
Route124_DivingTreasureHuntersHouse_EventScript_163E2E:: @ 8163E2E
call Route124_DivingTreasureHuntersHouse_EventScript_163E44
compare 0x4001, 0
- jumpeq Route124_DivingTreasureHuntersHouse_EventScript_164329
- jump Route124_DivingTreasureHuntersHouse_EventScript_163EA2
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_164329
+ goto Route124_DivingTreasureHuntersHouse_EventScript_163EA2
end
Route124_DivingTreasureHuntersHouse_EventScript_163E44:: @ 8163E44
setvar 0x4001, 0
checkitem ITEM_RED_SHARD, 1
compare RESULT, 1
- callif 1, Route124_DivingTreasureHuntersHouse_EventScript_163E8A
+ call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E8A
checkitem ITEM_YELLOW_SHARD, 1
compare RESULT, 1
- callif 1, Route124_DivingTreasureHuntersHouse_EventScript_163E90
+ call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E90
checkitem ITEM_BLUE_SHARD, 1
compare RESULT, 1
- callif 1, Route124_DivingTreasureHuntersHouse_EventScript_163E96
+ call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E96
checkitem ITEM_GREEN_SHARD, 1
compare RESULT, 1
- callif 1, Route124_DivingTreasureHuntersHouse_EventScript_163E9C
+ call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E9C
return
Route124_DivingTreasureHuntersHouse_EventScript_163E8A:: @ 8163E8A
@@ -62,12 +62,12 @@ Route124_DivingTreasureHuntersHouse_EventScript_163E9C:: @ 8163E9C
Route124_DivingTreasureHuntersHouse_EventScript_163EA2:: @ 8163EA2
msgbox Route124_DivingTreasureHuntersHouse_Text_19F544, 4
- jump Route124_DivingTreasureHuntersHouse_EventScript_163EB0
+ goto Route124_DivingTreasureHuntersHouse_EventScript_163EB0
end
Route124_DivingTreasureHuntersHouse_EventScript_163EB0:: @ 8163EB0
message Route124_DivingTreasureHuntersHouse_Text_19F5C5
- waittext
+ waitmessage
switch 0x4001
case 1, Route124_DivingTreasureHuntersHouse_EventScript_163F61
case 2, Route124_DivingTreasureHuntersHouse_EventScript_163F87
@@ -91,7 +91,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_163F61:: @ 8163F61
switch RESULT
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164256
case 1, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_163F87:: @ 8163F87
@@ -99,7 +99,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_163F87:: @ 8163F87
switch RESULT
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164265
case 1, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_163FAD:: @ 8163FAD
@@ -108,7 +108,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_163FAD:: @ 8163FAD
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164256
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164265
case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_163FDE:: @ 8163FDE
@@ -116,7 +116,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_163FDE:: @ 8163FDE
switch RESULT
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164274
case 1, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_164004:: @ 8164004
@@ -125,7 +125,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164004:: @ 8164004
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164256
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164274
case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_164035:: @ 8164035
@@ -134,7 +134,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164035:: @ 8164035
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164265
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164274
case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_164066:: @ 8164066
@@ -144,7 +144,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164066:: @ 8164066
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164265
case 2, Route124_DivingTreasureHuntersHouse_EventScript_164274
case 3, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_1640A2:: @ 81640A2
@@ -152,7 +152,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_1640A2:: @ 81640A2
switch RESULT
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164283
case 1, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_1640C8:: @ 81640C8
@@ -161,7 +161,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_1640C8:: @ 81640C8
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164256
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164283
case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_1640F9:: @ 81640F9
@@ -170,7 +170,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_1640F9:: @ 81640F9
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164265
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164283
case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_16412A:: @ 816412A
@@ -180,7 +180,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_16412A:: @ 816412A
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164265
case 2, Route124_DivingTreasureHuntersHouse_EventScript_164283
case 3, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_164166:: @ 8164166
@@ -189,7 +189,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164166:: @ 8164166
case 0, Route124_DivingTreasureHuntersHouse_EventScript_164274
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164283
case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_164197:: @ 8164197
@@ -199,7 +199,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164197:: @ 8164197
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164274
case 2, Route124_DivingTreasureHuntersHouse_EventScript_164283
case 3, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_1641D3:: @ 81641D3
@@ -209,7 +209,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_1641D3:: @ 81641D3
case 1, Route124_DivingTreasureHuntersHouse_EventScript_164274
case 2, Route124_DivingTreasureHuntersHouse_EventScript_164283
case 3, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_16420F:: @ 816420F
@@ -220,42 +220,42 @@ Route124_DivingTreasureHuntersHouse_EventScript_16420F:: @ 816420F
case 2, Route124_DivingTreasureHuntersHouse_EventScript_164274
case 3, Route124_DivingTreasureHuntersHouse_EventScript_164283
case 4, Route124_DivingTreasureHuntersHouse_EventScript_16431F
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_164256:: @ 8164256
setvar 0x8008, 48
setvar 0x8009, 95
- jump Route124_DivingTreasureHuntersHouse_EventScript_164292
+ goto Route124_DivingTreasureHuntersHouse_EventScript_164292
Route124_DivingTreasureHuntersHouse_EventScript_164265:: @ 8164265
setvar 0x8008, 50
setvar 0x8009, 96
- jump Route124_DivingTreasureHuntersHouse_EventScript_164292
+ goto Route124_DivingTreasureHuntersHouse_EventScript_164292
Route124_DivingTreasureHuntersHouse_EventScript_164274:: @ 8164274
setvar 0x8008, 49
setvar 0x8009, 97
- jump Route124_DivingTreasureHuntersHouse_EventScript_164292
+ goto Route124_DivingTreasureHuntersHouse_EventScript_164292
Route124_DivingTreasureHuntersHouse_EventScript_164283:: @ 8164283
setvar 0x8008, 51
setvar 0x8009, 98
- jump Route124_DivingTreasureHuntersHouse_EventScript_164292
+ goto Route124_DivingTreasureHuntersHouse_EventScript_164292
Route124_DivingTreasureHuntersHouse_EventScript_164292:: @ 8164292
- bufferitem 0, 0x8008
- bufferitem 1, 0x8009
+ getitemname 0, 0x8008
+ getitemname 1, 0x8009
msgbox Route124_DivingTreasureHuntersHouse_Text_19F5E0, 5
compare RESULT, 0
- jumpeq Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_16431F
checkitemspace 0x8009, 1
compare RESULT, 1
- jumpeq Route124_DivingTreasureHuntersHouse_EventScript_1642D3
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_1642D3
checkitem 0x8008, 2
compare RESULT, 0
- jumpeq Route124_DivingTreasureHuntersHouse_EventScript_1642D3
- jump Route124_DivingTreasureHuntersHouse_EventScript_164315
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_1642D3
+ goto Route124_DivingTreasureHuntersHouse_EventScript_164315
end
Route124_DivingTreasureHuntersHouse_EventScript_1642D3:: @ 81642D3
@@ -264,11 +264,11 @@ Route124_DivingTreasureHuntersHouse_EventScript_1642D3:: @ 81642D3
msgbox Route124_DivingTreasureHuntersHouse_Text_19F606, 4
call Route124_DivingTreasureHuntersHouse_EventScript_163E44
compare 0x4001, 0
- jumpeq Route124_DivingTreasureHuntersHouse_EventScript_164333
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_164333
msgbox Route124_DivingTreasureHuntersHouse_Text_19F629, 5
compare RESULT, 1
- jumpeq Route124_DivingTreasureHuntersHouse_EventScript_163EB0
- jump Route124_DivingTreasureHuntersHouse_EventScript_16431F
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163EB0
+ goto Route124_DivingTreasureHuntersHouse_EventScript_16431F
end
Route124_DivingTreasureHuntersHouse_EventScript_164315:: @ 8164315
diff --git a/data/scripts/maps/Route125.inc b/data/scripts/maps/Route125.inc
index a5d2457d5..489a7314b 100644
--- a/data/scripts/maps/Route125.inc
+++ b/data/scripts/maps/Route125.inc
@@ -4,7 +4,7 @@ Route125_MapScripts:: @ 8151F1E
Route125_MapScript1_151F24:: @ 8151F24
checkflag 2090
- callif 1, Route125_EventScript_1A02C1
+ call_if 1, Route125_EventScript_1A02C1
end
Route125_EventScript_151F2E:: @ 8151F2E
@@ -29,9 +29,9 @@ Route125_EventScript_151F73:: @ 8151F73
Route125_EventScript_151F8A:: @ 8151F8A
trainerbattle 0, OPPONENT_ERNEST_1, 0, Route125_Text_1C11AF, Route125_Text_1C11ED
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route125_EventScript_151FB1
+ goto_if_eq Route125_EventScript_151FB1
msgbox Route125_Text_1C1208, 6
end
diff --git a/data/scripts/maps/Route126.inc b/data/scripts/maps/Route126.inc
index f3d1a77f9..729922681 100644
--- a/data/scripts/maps/Route126.inc
+++ b/data/scripts/maps/Route126.inc
@@ -4,7 +4,7 @@ Route126_MapScripts:: @ 8151FFE
Route126_MapScript1_152004:: @ 8152004
checkflag 2090
- callif 1, Route126_EventScript_1A02C1
+ call_if 1, Route126_EventScript_1A02C1
end
Route126_EventScript_15200E:: @ 815200E
diff --git a/data/scripts/maps/Route127.inc b/data/scripts/maps/Route127.inc
index b4461b253..284d1fbd4 100644
--- a/data/scripts/maps/Route127.inc
+++ b/data/scripts/maps/Route127.inc
@@ -4,7 +4,7 @@ Route127_MapScripts:: @ 815206A
Route127_MapScript1_152070:: @ 8152070
checkflag 2090
- callif 1, Route127_EventScript_1A02C1
+ call_if 1, Route127_EventScript_1A02C1
end
Route127_EventScript_15207A:: @ 815207A
diff --git a/data/scripts/maps/Route128.inc b/data/scripts/maps/Route128.inc
index 011591400..615662fc1 100644
--- a/data/scripts/maps/Route128.inc
+++ b/data/scripts/maps/Route128.inc
@@ -5,7 +5,7 @@ Route128_MapScripts:: @ 815211B
Route128_MapScript1_152126:: @ 8152126
checkflag 2090
- callif 1, Route128_EventScript_1A02C1
+ call_if 1, Route128_EventScript_1A02C1
call Route128_EventScript_1A0196
end
@@ -15,73 +15,73 @@ Route128_MapScript2_152135:: @ 8152135
Route128_EventScript_15213F:: @ 815213F
lockall
- pause 20
+ delay 20
.ifndef SAPPHIRE
special sub_807E25C
waitstate
.endif
- move 4, Route128_Movement_152271
- waitmove 0
+ applymovement 4, Route128_Movement_152271
+ waitmovement 0
msgbox Route128_Text_171EE0, 4
- move 4, Route128_Movement_152279
- waitmove 0
+ applymovement 4, Route128_Movement_152279
+ waitmovement 0
msgbox Route128_Text_171F35, 4
- closebutton
- move 5, Route128_Movement_152293
- waitmove 0
- move 4, Route128_Movement_1A0841
- waitmove 0
+ closemessage
+ applymovement 5, Route128_Movement_152293
+ waitmovement 0
+ applymovement 4, Route128_Movement_1A0841
+ waitmovement 0
msgbox Route128_Text_171F4B, 4
- closebutton
- move 5, Route128_Movement_1522A1
- waitmove 0
- move 255, Route128_Movement_1A0841
- waitmove 0
+ closemessage
+ applymovement 5, Route128_Movement_1522A1
+ waitmovement 0
+ applymovement 255, Route128_Movement_1A0841
+ waitmovement 0
msgbox Route128_Text_172008, 4
- closebutton
- move 4, Route128_Movement_15227E
- move 255, Route128_Movement_1A083F
- move 5, Route128_Movement_152290
- waitmove 0
+ closemessage
+ applymovement 4, Route128_Movement_15227E
+ applymovement 255, Route128_Movement_1A083F
+ applymovement 5, Route128_Movement_152290
+ waitmovement 0
msgbox Route128_Text_17210B, 4
- closebutton
- pause 40
- move 5, Route128_Movement_152296
- move 4, Route128_Movement_152283
- waitmove 0
- disappear 5
- disappear 4
- pause 100
- setanimation 0, 1
- doanimation 30
- checkanimation 30
- reappear 3
- move 3, Route128_Movement_15226F
- waitmove 0
- move 255, Route128_Movement_1A0843
- waitmove 0
+ closemessage
+ delay 40
+ applymovement 5, Route128_Movement_152296
+ applymovement 4, Route128_Movement_152283
+ waitmovement 0
+ removeobject 5
+ removeobject 4
+ delay 100
+ setfieldeffect 0, 1
+ dofieldeffect 30
+ waitfieldeffect 30
+ addobject 3
+ applymovement 3, Route128_Movement_15226F
+ waitmovement 0
+ applymovement 255, Route128_Movement_1A0843
+ waitmovement 0
msgbox Route128_Text_172181, 4
- closebutton
- move 3, Route128_Movement_15226D
- move 255, Route128_Movement_1A0841
- waitmove 0
+ closemessage
+ applymovement 3, Route128_Movement_15226D
+ applymovement 255, Route128_Movement_1A0841
+ waitmovement 0
.ifdef SAPPHIRE
msgbox Route128_Text_1721A2, 4
.else
msgbox Route128_Text_1722A1, 4
.endif
- move 3, Route128_Movement_1A0845
- waitmove 0
+ applymovement 3, Route128_Movement_1A0845
+ waitmovement 0
msgbox Route128_Text_1723BE, 4
- closebutton
- move 3, Route128_Movement_1A0845
- waitmove 0
- pause 50
- setanimation 0, 1
- doanimation 30
- pause 15
- disappear 3
- checkanimation 30
+ closemessage
+ applymovement 3, Route128_Movement_1A0845
+ waitmovement 0
+ delay 50
+ setfieldeffect 0, 1
+ dofieldeffect 30
+ delay 15
+ removeobject 3
+ waitfieldeffect 30
setvar 0x407b, 2
releaseall
end
@@ -182,9 +182,9 @@ Route128_Movement_1522A1:: @ 81522A1
Route128_EventScript_1522A4:: @ 81522A4
trainerbattle 0, OPPONENT_ISAIAH_1, 0, Route128_Text_1C1C67, Route128_Text_1C1C95
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route128_EventScript_1522CB
+ goto_if_eq Route128_EventScript_1522CB
msgbox Route128_Text_1C1CC3, 6
end
@@ -195,9 +195,9 @@ Route128_EventScript_1522CB:: @ 81522CB
Route128_EventScript_1522E2:: @ 81522E2
trainerbattle 0, OPPONENT_KATELYN_1, 0, Route128_Text_1C1DB0, Route128_Text_1C1E25
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq Route128_EventScript_152309
+ goto_if_eq Route128_EventScript_152309
msgbox Route128_Text_1C1E4A, 6
end
diff --git a/data/scripts/maps/Route130.inc b/data/scripts/maps/Route130.inc
index bac6728a7..69da29471 100644
--- a/data/scripts/maps/Route130.inc
+++ b/data/scripts/maps/Route130.inc
@@ -3,9 +3,9 @@ Route130_MapScripts:: @ 81523C2
.byte 0
Route130_MapScript1_1523C8:: @ 81523C8
- specialval RESULT, IsMirageIslandPresent
+ specialvar RESULT, IsMirageIslandPresent
compare RESULT, 1
- jumpeq Route130_EventScript_15240C
+ goto_if_eq Route130_EventScript_15240C
setflag 17
setflag 18
setflag 19
@@ -22,11 +22,11 @@ Route130_MapScript1_1523C8:: @ 81523C8
setflag 30
setflag 31
setflag 32
- setmapfooter 264
+ setmaplayoutindex 264
end
Route130_EventScript_15240C:: @ 815240C
- setmapfooter 46
+ setmaplayoutindex 46
end
Route130_EventScript_152410:: @ 8152410
diff --git a/data/scripts/maps/Route131.inc b/data/scripts/maps/Route131.inc
index 81cb7dc02..50ad4222b 100644
--- a/data/scripts/maps/Route131.inc
+++ b/data/scripts/maps/Route131.inc
@@ -4,11 +4,11 @@ Route131_MapScripts:: @ 815243E
Route131_MapScript1_152444:: @ 8152444
checkflag 2052
- callif 1, Route131_EventScript_15244E
+ call_if 1, Route131_EventScript_15244E
end
Route131_EventScript_15244E:: @ 815244E
- setmapfooter 320
+ setmaplayoutindex 320
return
Route131_EventScript_152452:: @ 8152452
diff --git a/data/scripts/maps/Route134.inc b/data/scripts/maps/Route134.inc
index b1f77fac1..6b4d330d1 100644
--- a/data/scripts/maps/Route134.inc
+++ b/data/scripts/maps/Route134.inc
@@ -3,7 +3,7 @@ Route134_MapScripts:: @ 81525B5
.byte 0
Route134_MapScript1_1525BB:: @ 81525BB
- warp4 Underwater_Route134, 255, 8, 6
+ setdivewarp Underwater_Route134, 255, 8, 6
end
Route134_EventScript_1525C4:: @ 81525C4
diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc
index c338e8b67..916eb8108 100644
--- a/data/scripts/maps/RustboroCity.inc
+++ b/data/scripts/maps/RustboroCity.inc
@@ -12,7 +12,7 @@ RustboroCity_EventScript_14C386:: @ 814C386
lock
faceplayer
checkflag 142
- jumpeq RustboroCity_EventScript_14C39B
+ goto_if_eq RustboroCity_EventScript_14C39B
msgbox RustboroCity_Text_16689D, 4
release
end
@@ -37,7 +37,7 @@ RustboroCity_EventScript_14C3BA:: @ 814C3BA
lock
faceplayer
checkflag 2055
- jumpeq RustboroCity_EventScript_14C3CF
+ goto_if_eq RustboroCity_EventScript_14C3CF
msgbox RustboroCity_Text_16696D, 4
release
end
@@ -51,7 +51,7 @@ RustboroCity_EventScript_14C3D9:: @ 814C3D9
lock
faceplayer
checkflag 188
- jumpeq RustboroCity_EventScript_14C3EE
+ goto_if_eq RustboroCity_EventScript_14C3EE
msgbox RustboroCity_Text_166B86, 4
release
end
@@ -101,8 +101,8 @@ RustboroCity_EventScript_14C449:: @ 814C449
lock
faceplayer
msgbox RustboroCity_Text_166D59, 4
- move 7, RustboroCity_Movement_1A083D
- waitmove 0
+ applymovement 7, RustboroCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -110,8 +110,8 @@ RustboroCity_EventScript_14C45F:: @ 814C45F
lock
faceplayer
msgbox RustboroCity_Text_166DB0, 4
- move 8, RustboroCity_Movement_1A083D
- waitmove 0
+ applymovement 8, RustboroCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -124,60 +124,60 @@ RustboroCity_EventScript_14C475:: @ 814C475
RustboroCity_EventScript_14C481:: @ 814C481
lockall
- movespriteperm 9, 14, 21
- spritebehave 9, 10
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
setvar 0x8004, 0
- jump RustboroCity_EventScript_14C4F4
+ goto RustboroCity_EventScript_14C4F4
end
RustboroCity_EventScript_14C498:: @ 814C498
lockall
- movespriteperm 9, 14, 21
- spritebehave 9, 10
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
setvar 0x8004, 1
- jump RustboroCity_EventScript_14C4F4
+ goto RustboroCity_EventScript_14C4F4
end
RustboroCity_EventScript_14C4AF:: @ 814C4AF
lockall
- movespriteperm 9, 14, 21
- spritebehave 9, 10
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
setvar 0x8004, 2
- jump RustboroCity_EventScript_14C4F4
+ goto RustboroCity_EventScript_14C4F4
end
RustboroCity_EventScript_14C4C6:: @ 814C4C6
lockall
- movespriteperm 9, 14, 21
- spritebehave 9, 10
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
setvar 0x8004, 3
- jump RustboroCity_EventScript_14C4F4
+ goto RustboroCity_EventScript_14C4F4
end
RustboroCity_EventScript_14C4DD:: @ 814C4DD
lockall
- movespriteperm 9, 14, 21
- spritebehave 9, 10
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
setvar 0x8004, 4
- jump RustboroCity_EventScript_14C4F4
+ goto RustboroCity_EventScript_14C4F4
end
RustboroCity_EventScript_14C4F4:: @ 814C4F4
msgbox RustboroCity_Text_166E65, 4
- closebutton
- reappear 10
- reappear 9
- move 10, RustboroCity_Movement_14C5C2
- waitmove 0
- disappear 10
- move 9, RustboroCity_Movement_14C5D3
- waitmove 0
+ closemessage
+ addobject 10
+ addobject 9
+ applymovement 10, RustboroCity_Movement_14C5C2
+ waitmovement 0
+ removeobject 10
+ applymovement 9, RustboroCity_Movement_14C5D3
+ waitmovement 0
msgbox RustboroCity_Text_166E7E, 4
- closebutton
- move 9, RustboroCity_Movement_14C5DB
- waitmove 0
- disappear 9
- movespriteperm 9, 30, 10
+ closemessage
+ applymovement 9, RustboroCity_Movement_14C5DB
+ waitmovement 0
+ removeobject 9
+ setobjectxyperm 9, 30, 10
clearflag 732
setflag 142
setvar 0x405a, 2
@@ -200,30 +200,30 @@ RustboroCity_EventScript_14C4F4:: @ 814C4F4
return
@ 814C56F
- move 9, RustboroCity_Movement_14C5E3
- waitmove 0
+ applymovement 9, RustboroCity_Movement_14C5E3
+ waitmovement 0
return
@ 814C57A
- move 9, RustboroCity_Movement_14C5E7
- waitmove 0
+ applymovement 9, RustboroCity_Movement_14C5E7
+ waitmovement 0
return
@ 814C585
- move 9, RustboroCity_Movement_14C5EC
- waitmove 0
+ applymovement 9, RustboroCity_Movement_14C5EC
+ waitmovement 0
return
@ 814C590
- move 9, RustboroCity_Movement_14C5F1
- waitmove 0
+ applymovement 9, RustboroCity_Movement_14C5F1
+ waitmovement 0
return
@ 814C59B
- move 9, RustboroCity_Movement_14C5F7
- waitmove 0
- move 255, RustboroCity_Movement_1A0841
- waitmove 0
+ applymovement 9, RustboroCity_Movement_14C5F7
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A0841
+ waitmovement 0
return
@ 814C5B0
@@ -327,105 +327,105 @@ RustboroCity_EventScript_14C5FF:: @ 814C5FF
lock
faceplayer
checkflag 143
- jumpeq RustboroCity_EventScript_14C614
+ goto_if_eq RustboroCity_EventScript_14C614
msgbox RustboroCity_Text_166F6B, 4
release
end
RustboroCity_EventScript_14C614:: @ 814C614
- checksound
+ waitse
setvar 0x4001, 4
- jump RustboroCity_EventScript_14C77D
+ goto RustboroCity_EventScript_14C77D
end
RustboroCity_EventScript_14C620:: @ 814C620
lockall
setvar 0x4001, 0
- jump RustboroCity_EventScript_14C650
+ goto RustboroCity_EventScript_14C650
end
RustboroCity_EventScript_14C62C:: @ 814C62C
lockall
setvar 0x4001, 1
- jump RustboroCity_EventScript_14C650
+ goto RustboroCity_EventScript_14C650
end
RustboroCity_EventScript_14C638:: @ 814C638
lockall
setvar 0x4001, 2
- jump RustboroCity_EventScript_14C650
+ goto RustboroCity_EventScript_14C650
end
RustboroCity_EventScript_14C644:: @ 814C644
lockall
setvar 0x4001, 3
- jump RustboroCity_EventScript_14C650
+ goto RustboroCity_EventScript_14C650
end
RustboroCity_EventScript_14C650:: @ 814C650
compare 0x4001, 0
- callif 1, RustboroCity_EventScript_14C691
+ call_if 1, RustboroCity_EventScript_14C691
compare 0x4001, 1
- callif 1, RustboroCity_EventScript_14C6BD
+ call_if 1, RustboroCity_EventScript_14C6BD
compare 0x4001, 2
- callif 1, RustboroCity_EventScript_14C6E9
+ call_if 1, RustboroCity_EventScript_14C6E9
compare 0x4001, 3
- callif 1, RustboroCity_EventScript_14C715
+ call_if 1, RustboroCity_EventScript_14C715
setflag 159
setvar 0x405a, 3
- moveoffscreen 9
+ moveobjectoffscreen 9
msgbox RustboroCity_Text_166EA5, 4
releaseall
end
RustboroCity_EventScript_14C691:: @ 814C691
- move 9, RustboroCity_Movement_1A0841
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
- move 255, RustboroCity_Movement_1A0845
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A0841
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A0845
+ waitmovement 0
return
RustboroCity_EventScript_14C6BD:: @ 814C6BD
- move 9, RustboroCity_Movement_1A083F
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
- move 255, RustboroCity_Movement_1A0843
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A083F
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A0843
+ waitmovement 0
return
RustboroCity_EventScript_14C6E9:: @ 814C6E9
- move 9, RustboroCity_Movement_1A0845
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
- move 255, RustboroCity_Movement_1A0841
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A0845
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A0841
+ waitmovement 0
return
RustboroCity_EventScript_14C715:: @ 814C715
- move 9, RustboroCity_Movement_1A0845
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
- move 9, RustboroCity_Movement_14C74B
- waitmove 0
- move 255, RustboroCity_Movement_1A0841
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A0845
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_14C74B
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A0841
+ waitmovement 0
return
RustboroCity_Movement_14C74B:: @ 814C74B
@@ -435,48 +435,48 @@ RustboroCity_Movement_14C74B:: @ 814C74B
RustboroCity_EventScript_14C74D:: @ 814C74D
lockall
setvar 0x4001, 0
- jump RustboroCity_EventScript_14C77D
+ goto RustboroCity_EventScript_14C77D
end
RustboroCity_EventScript_14C759:: @ 814C759
lockall
setvar 0x4001, 1
- jump RustboroCity_EventScript_14C77D
+ goto RustboroCity_EventScript_14C77D
end
RustboroCity_EventScript_14C765:: @ 814C765
lockall
setvar 0x4001, 2
- jump RustboroCity_EventScript_14C77D
+ goto RustboroCity_EventScript_14C77D
end
RustboroCity_EventScript_14C771:: @ 814C771
lockall
setvar 0x4001, 3
- jump RustboroCity_EventScript_14C77D
+ goto RustboroCity_EventScript_14C77D
end
RustboroCity_EventScript_14C77D:: @ 814C77D
compare 0x4001, 0
- callif 1, RustboroCity_EventScript_14C7FE
+ call_if 1, RustboroCity_EventScript_14C7FE
compare 0x4001, 1
- callif 1, RustboroCity_EventScript_14C82A
+ call_if 1, RustboroCity_EventScript_14C82A
compare 0x4001, 2
- callif 1, RustboroCity_EventScript_14C856
+ call_if 1, RustboroCity_EventScript_14C856
compare 0x4001, 3
- callif 1, RustboroCity_EventScript_14C882
+ call_if 1, RustboroCity_EventScript_14C882
compare 0x4001, 4
- callif 1, RustboroCity_EventScript_14C8B8
+ call_if 1, RustboroCity_EventScript_14C8B8
msgbox RustboroCity_Text_166FB4, 4
giveitem ITEM_GREAT_BALL
compare RESULT, 0
- callif 1, RustboroCity_EventScript_14C7F5
+ call_if 1, RustboroCity_EventScript_14C7F5
msgbox RustboroCity_Text_16707F, 4
- closebutton
+ closemessage
setflag 144
setflag 732
setvar 0x405a, 5
- pause 30
+ delay 30
warp RustboroCity_DevonCorp_3F, 255, 2, 2
waitstate
releaseall
@@ -487,75 +487,75 @@ RustboroCity_EventScript_14C7F5:: @ 814C7F5
return
RustboroCity_EventScript_14C7FE:: @ 814C7FE
- move 9, RustboroCity_Movement_1A0841
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
- move 255, RustboroCity_Movement_1A0845
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A0841
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A0845
+ waitmovement 0
return
RustboroCity_EventScript_14C82A:: @ 814C82A
- move 9, RustboroCity_Movement_1A0843
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
- move 255, RustboroCity_Movement_1A083F
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A0843
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A083F
+ waitmovement 0
return
RustboroCity_EventScript_14C856:: @ 814C856
- move 9, RustboroCity_Movement_1A0845
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
- move 255, RustboroCity_Movement_1A0841
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A0845
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A0841
+ waitmovement 0
return
RustboroCity_EventScript_14C882:: @ 814C882
- move 9, RustboroCity_Movement_1A0845
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
- move 9, RustboroCity_Movement_14C74B
- waitmove 0
- move 255, RustboroCity_Movement_1A0841
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A0845
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_14C74B
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_1A0841
+ waitmovement 0
return
RustboroCity_EventScript_14C8B8:: @ 814C8B8
- move 9, RustboroCity_Movement_1A083F
- waitmove 0
- playsfx 21
- move 9, RustboroCity_Movement_1A0833
- waitmove 0
- move 9, RustboroCity_Movement_1A0835
- waitmove 0
+ applymovement 9, RustboroCity_Movement_1A083F
+ waitmovement 0
+ playse 21
+ applymovement 9, RustboroCity_Movement_1A0833
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1A0835
+ waitmovement 0
return
RustboroCity_EventScript_14C8DA:: @ 814C8DA
lock
faceplayer
checkflag 288
- jumpeq RustboroCity_EventScript_14C917
- checkgender
+ goto_if_eq RustboroCity_EventScript_14C917
+ checkplayergender
compare RESULT, 0
- jumpeq RustboroCity_EventScript_14C8FD
+ goto_if_eq RustboroCity_EventScript_14C8FD
compare RESULT, 1
- jumpeq RustboroCity_EventScript_14C90A
+ goto_if_eq RustboroCity_EventScript_14C90A
end
RustboroCity_EventScript_14C8FD:: @ 814C8FD
@@ -571,11 +571,11 @@ RustboroCity_EventScript_14C90A:: @ 814C90A
end
RustboroCity_EventScript_14C917:: @ 814C917
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq RustboroCity_EventScript_14C92F
+ goto_if_eq RustboroCity_EventScript_14C92F
compare RESULT, 1
- jumpeq RustboroCity_EventScript_14C939
+ goto_if_eq RustboroCity_EventScript_14C939
end
RustboroCity_EventScript_14C92F:: @ 814C92F
diff --git a/data/scripts/maps/RustboroCity_CuttersHouse.inc b/data/scripts/maps/RustboroCity_CuttersHouse.inc
index d400de1ef..3e98746f3 100644
--- a/data/scripts/maps/RustboroCity_CuttersHouse.inc
+++ b/data/scripts/maps/RustboroCity_CuttersHouse.inc
@@ -5,7 +5,7 @@ RustboroCity_CuttersHouse_EventScript_157D27:: @ 8157D27
lock
faceplayer
checkflag 137
- jumpeq RustboroCity_CuttersHouse_EventScript_157D53
+ goto_if_eq RustboroCity_CuttersHouse_EventScript_157D53
msgbox RustboroCity_CuttersHouse_Text_18509C, 4
giveitem ITEM_HM01
setflag 137
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc
index 97a59257f..48d8aaf9f 100644
--- a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc
+++ b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc
@@ -4,21 +4,21 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8157406
RustboroCity_DevonCorp_1F_MapScript1_15740C:: @ 815740C
checkflag 144
- callif 0, RustboroCity_DevonCorp_1F_EventScript_157416
+ call_if 0, RustboroCity_DevonCorp_1F_EventScript_157416
end
RustboroCity_DevonCorp_1F_EventScript_157416:: @ 8157416
- movespriteperm 2, 14, 2
- spritebehave 2, 8
+ setobjectxyperm 2, 14, 2
+ setobjectmovementtype 2, 8
return
RustboroCity_DevonCorp_1F_EventScript_157422:: @ 8157422
lock
faceplayer
checkflag 144
- jumpeq RustboroCity_DevonCorp_1F_EventScript_15744A
+ goto_if_eq RustboroCity_DevonCorp_1F_EventScript_15744A
checkflag 142
- jumpeq RustboroCity_DevonCorp_1F_EventScript_157440
+ goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157440
msgbox RustboroCity_DevonCorp_1F_Text_1829A4, 4
release
end
@@ -37,11 +37,11 @@ RustboroCity_DevonCorp_1F_EventScript_157454:: @ 8157454
lock
faceplayer
checkflag 144
- jumpeq RustboroCity_DevonCorp_1F_EventScript_15747B
+ goto_if_eq RustboroCity_DevonCorp_1F_EventScript_15747B
checkflag 143
- jumpeq RustboroCity_DevonCorp_1F_EventScript_157485
+ goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157485
checkflag 142
- jumpeq RustboroCity_DevonCorp_1F_EventScript_157485
+ goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157485
msgbox RustboroCity_DevonCorp_1F_Text_182AF0, 4
release
end
@@ -60,11 +60,11 @@ RustboroCity_DevonCorp_1F_EventScript_15748F:: @ 815748F
lock
faceplayer
checkflag 144
- jumpeq RustboroCity_DevonCorp_1F_EventScript_1574B6
+ goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574B6
checkflag 143
- jumpeq RustboroCity_DevonCorp_1F_EventScript_1574C0
+ goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574C0
checkflag 142
- jumpeq RustboroCity_DevonCorp_1F_EventScript_1574C0
+ goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574C0
msgbox RustboroCity_DevonCorp_1F_Text_1828EE, 4
release
end
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc
index e35015b3e..f40c1b87b 100644
--- a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc
+++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc
@@ -4,7 +4,7 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 81574CA
RustboroCity_DevonCorp_2F_MapScript1_1574D0:: @ 81574D0
compare 0x40c4, 1
- callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
end
RustboroCity_DevonCorp_2F_EventScript_1574DC:: @ 81574DC
@@ -15,7 +15,7 @@ RustboroCity_DevonCorp_2F_EventScript_1574E2:: @ 81574E2
lock
faceplayer
compare 0x40c4, 1
- callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
msgbox RustboroCity_DevonCorp_2F_Text_182B81, 4
release
end
@@ -24,9 +24,9 @@ RustboroCity_DevonCorp_2F_EventScript_1574F9:: @ 81574F9
lock
faceplayer
compare 0x40c4, 1
- callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
checkflag 287
- jumpeq RustboroCity_DevonCorp_2F_EventScript_157519
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157519
msgbox RustboroCity_DevonCorp_2F_Text_182BD8, 4
release
end
@@ -40,9 +40,9 @@ RustboroCity_DevonCorp_2F_EventScript_157523:: @ 8157523
lock
faceplayer
compare 0x40c4, 1
- callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
checkflag 188
- jumpeq RustboroCity_DevonCorp_2F_EventScript_157543
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157543
msgbox RustboroCity_DevonCorp_2F_Text_182D2A, 4
release
end
@@ -56,7 +56,7 @@ RustboroCity_DevonCorp_2F_EventScript_15754D:: @ 815754D
lock
faceplayer
compare 0x40c4, 1
- callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC
msgbox RustboroCity_DevonCorp_2F_Text_182E6B, 4
release
end
@@ -65,30 +65,30 @@ RustboroCity_DevonCorp_2F_EventScript_157564:: @ 8157564
lock
faceplayer
compare 0x40c4, 2
- jumpeq RustboroCity_DevonCorp_2F_EventScript_15764A
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_15764A
compare 0x40c4, 1
- jumpeq RustboroCity_DevonCorp_2F_EventScript_157640
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157640
msgbox RustboroCity_DevonCorp_2F_Text_182ED5, 4
checkitem ITEM_ROOT_FOSSIL, 1
compare RESULT, 1
- jumpeq RustboroCity_DevonCorp_2F_EventScript_1575A6
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_1575A6
checkitem ITEM_CLAW_FOSSIL, 1
compare RESULT, 1
- jumpeq RustboroCity_DevonCorp_2F_EventScript_1575EE
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_1575EE
release
end
RustboroCity_DevonCorp_2F_EventScript_1575A6:: @ 81575A6
- closebutton
- playsfx 21
- move 5, RustboroCity_DevonCorp_2F_Movement_1A0833
- waitmove 0
- move 5, RustboroCity_DevonCorp_2F_Movement_1A0835
- waitmove 0
+ closemessage
+ playse 21
+ applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0833
+ waitmovement 0
+ applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0835
+ waitmovement 0
msgbox RustboroCity_DevonCorp_2F_Text_182F35, 5
compare RESULT, 0
- jumpeq RustboroCity_DevonCorp_2F_EventScript_157636
- bufferitem 0, ITEM_ROOT_FOSSIL
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157636
+ getitemname 0, ITEM_ROOT_FOSSIL
msgbox RustboroCity_DevonCorp_2F_Text_183023, 4
removeitem ITEM_ROOT_FOSSIL, 1
setvar 0x40c4, 1
@@ -97,16 +97,16 @@ RustboroCity_DevonCorp_2F_EventScript_1575A6:: @ 81575A6
end
RustboroCity_DevonCorp_2F_EventScript_1575EE:: @ 81575EE
- closebutton
- playsfx 21
- move 5, RustboroCity_DevonCorp_2F_Movement_1A0833
- waitmove 0
- move 5, RustboroCity_DevonCorp_2F_Movement_1A0835
- waitmove 0
+ closemessage
+ playse 21
+ applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0833
+ waitmovement 0
+ applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0835
+ waitmovement 0
msgbox RustboroCity_DevonCorp_2F_Text_182F35, 5
compare RESULT, 0
- jumpeq RustboroCity_DevonCorp_2F_EventScript_157636
- bufferitem 0, ITEM_CLAW_FOSSIL
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157636
+ getitemname 0, ITEM_CLAW_FOSSIL
msgbox RustboroCity_DevonCorp_2F_Text_183023, 4
removeitem ITEM_CLAW_FOSSIL, 1
setvar 0x40c4, 1
@@ -126,48 +126,48 @@ RustboroCity_DevonCorp_2F_EventScript_157640:: @ 8157640
RustboroCity_DevonCorp_2F_EventScript_15764A:: @ 815764A
compare 0x40c5, 1
- jumpeq RustboroCity_DevonCorp_2F_EventScript_157661
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157661
compare 0x40c5, 2
- jumpeq RustboroCity_DevonCorp_2F_EventScript_1576B4
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_1576B4
end
RustboroCity_DevonCorp_2F_EventScript_157661:: @ 8157661
- bufferpoke 1, SPECIES_LILEEP
+ getspeciesname 1, SPECIES_LILEEP
msgbox RustboroCity_DevonCorp_2F_Text_183124, 4
countpokemon
compare RESULT, 6
- jumpeq RustboroCity_DevonCorp_2F_EventScript_157707
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157707
copyvar 0x8004, RESULT
setvar 0x40c4, 0
setflag 267
- fanfare 370
+ playfanfare 370
message RustboroCity_DevonCorp_2F_Text_18319E
waitfanfare
- waittext
- givepokemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0
+ waitmessage
+ givepoke SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0
msgbox RustboroCity_DevonCorp_2F_Text_1A1102, 5
compare RESULT, 1
- callif 1, RustboroCity_DevonCorp_2F_EventScript_1A0678
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678
release
end
RustboroCity_DevonCorp_2F_EventScript_1576B4:: @ 81576B4
- bufferpoke 1, SPECIES_ANORITH
+ getspeciesname 1, SPECIES_ANORITH
msgbox RustboroCity_DevonCorp_2F_Text_183124, 4
countpokemon
compare RESULT, 6
- jumpeq RustboroCity_DevonCorp_2F_EventScript_157707
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157707
copyvar 0x8004, RESULT
setvar 0x40c4, 0
setflag 267
- fanfare 370
+ playfanfare 370
message RustboroCity_DevonCorp_2F_Text_18319E
waitfanfare
- waittext
- givepokemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0
+ waitmessage
+ givepoke SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0
msgbox RustboroCity_DevonCorp_2F_Text_1A1102, 5
compare RESULT, 1
- callif 1, RustboroCity_DevonCorp_2F_EventScript_1A0678
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678
release
end
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc
index 2b749c873..6f0152e60 100644
--- a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc
+++ b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc
@@ -6,12 +6,12 @@ RustboroCity_DevonCorp_3F_MapScripts:: @ 8157711
RustboroCity_DevonCorp_3F_MapScript1_157721:: @ 8157721
compare 0x408f, 0
- callif 1, RustboroCity_DevonCorp_3F_EventScript_15772D
+ call_if 1, RustboroCity_DevonCorp_3F_EventScript_15772D
end
RustboroCity_DevonCorp_3F_EventScript_15772D:: @ 815772D
- movespriteperm 2, 3, 2
- spritebehave 2, 9
+ setobjectxyperm 2, 3, 2
+ setobjectmovementtype 2, 9
return
RustboroCity_DevonCorp_3F_MapScript2_157739:: @ 8157739
@@ -19,7 +19,7 @@ RustboroCity_DevonCorp_3F_MapScript2_157739:: @ 8157739
.2byte 0
RustboroCity_DevonCorp_3F_EventScript_157743:: @ 8157743
- spriteface 255, 4
+ turnobject 255, 4
end
RustboroCity_DevonCorp_3F_MapScript2_157748:: @ 8157748
@@ -29,31 +29,31 @@ RustboroCity_DevonCorp_3F_MapScript2_157748:: @ 8157748
RustboroCity_DevonCorp_3F_EventScript_157752:: @ 8157752
lockall
msgbox RustboroCity_DevonCorp_3F_Text_18374C, 4
- closebutton
- move 2, RustboroCity_DevonCorp_3F_Movement_157815
- waitmove 0
- pause 80
- move 2, RustboroCity_DevonCorp_3F_Movement_15781E
- waitmove 0
+ closemessage
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_157815
+ waitmovement 0
+ delay 80
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_15781E
+ waitmovement 0
msgbox RustboroCity_DevonCorp_3F_Text_183903, 4
- closebutton
- playmusic 420, 0
- move 2, RustboroCity_DevonCorp_3F_Movement_157803
- move 255, RustboroCity_DevonCorp_3F_Movement_157827
- waitmove 0
+ closemessage
+ playbgm 420, 0
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_157803
+ applymovement 255, RustboroCity_DevonCorp_3F_Movement_157827
+ waitmovement 0
msgbox RustboroCity_DevonCorp_3F_Text_18394A, 4
- closebutton
- fadedefault
- move 2, RustboroCity_DevonCorp_3F_Movement_157812
- move 255, RustboroCity_DevonCorp_3F_Movement_157835
- waitmove 0
+ closemessage
+ fadedefaultbgm
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_157812
+ applymovement 255, RustboroCity_DevonCorp_3F_Movement_157835
+ waitmovement 0
msgbox RustboroCity_DevonCorp_3F_Text_18320B, 4
giveitem ITEM_LETTER
msgbox RustboroCity_DevonCorp_3F_Text_18337E, 4
- fanfare 370
+ playfanfare 370
message RustboroCity_DevonCorp_3F_Text_183422
waitfanfare
- waittext
+ waitmessage
setflag 2050
setflag 188
msgbox RustboroCity_DevonCorp_3F_Text_183439, 4
@@ -147,13 +147,13 @@ RustboroCity_DevonCorp_3F_EventScript_15783B:: @ 815783B
lock
faceplayer
checkflag 272
- jumpeq RustboroCity_DevonCorp_3F_EventScript_15789B
+ goto_if_eq RustboroCity_DevonCorp_3F_EventScript_15789B
checkflag 189
- jumpeq RustboroCity_DevonCorp_3F_EventScript_157864
+ goto_if_eq RustboroCity_DevonCorp_3F_EventScript_157864
msgbox RustboroCity_DevonCorp_3F_Text_18351E, 4
- closebutton
- move LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D
+ waitmovement 0
release
end
@@ -161,20 +161,20 @@ RustboroCity_DevonCorp_3F_EventScript_157864:: @ 8157864
msgbox RustboroCity_DevonCorp_3F_Text_18353E, 4
giveitem ITEM_EXP_SHARE
compare RESULT, 0
- jumpeq RustboroCity_DevonCorp_3F_EventScript_1A029B
+ goto_if_eq RustboroCity_DevonCorp_3F_EventScript_1A029B
setflag 272
msgbox RustboroCity_DevonCorp_3F_Text_1835B3, 4
- closebutton
- move LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D
+ waitmovement 0
release
end
RustboroCity_DevonCorp_3F_EventScript_15789B:: @ 815789B
msgbox RustboroCity_DevonCorp_3F_Text_18368D, 4
- closebutton
- move LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D
+ waitmovement 0
release
end
@@ -182,7 +182,7 @@ RustboroCity_DevonCorp_3F_EventScript_1578B0:: @ 81578B0
lock
faceplayer
checkflag 256
- jumpeq RustboroCity_DevonCorp_3F_EventScript_1578C5
+ goto_if_eq RustboroCity_DevonCorp_3F_EventScript_1578C5
msgbox RustboroCity_DevonCorp_3F_Text_18395C, 4
release
end
diff --git a/data/scripts/maps/RustboroCity_Flat2_1F.inc b/data/scripts/maps/RustboroCity_Flat2_1F.inc
index 5aa91d5d1..b6b8b41b1 100644
--- a/data/scripts/maps/RustboroCity_Flat2_1F.inc
+++ b/data/scripts/maps/RustboroCity_Flat2_1F.inc
@@ -8,8 +8,8 @@ RustboroCity_Flat2_1F_EventScript_157D7A:: @ 8157D7A
RustboroCity_Flat2_1F_EventScript_157D83:: @ 8157D83
lock
faceplayer
- checksound
- pokecry SPECIES_SKITTY, 0
+ waitse
+ playpokecry SPECIES_SKITTY, 0
msgbox RustboroCity_Flat2_1F_Text_185410, 4
waitpokecry
release
diff --git a/data/scripts/maps/RustboroCity_Flat2_2F.inc b/data/scripts/maps/RustboroCity_Flat2_2F.inc
index d6e0c92b3..0dfec5cfa 100644
--- a/data/scripts/maps/RustboroCity_Flat2_2F.inc
+++ b/data/scripts/maps/RustboroCity_Flat2_2F.inc
@@ -9,11 +9,11 @@ RustboroCity_Flat2_2F_EventScript_157DA0:: @ 8157DA0
lock
faceplayer
checkflag 213
- jumpeq RustboroCity_Flat2_2F_EventScript_157DCF
+ goto_if_eq RustboroCity_Flat2_2F_EventScript_157DCF
msgbox RustboroCity_Flat2_2F_Text_185461, 4
giveitem ITEM_PREMIER_BALL
compare RESULT, 0
- jumpeq RustboroCity_Flat2_2F_EventScript_1A029B
+ goto_if_eq RustboroCity_Flat2_2F_EventScript_1A029B
setflag 213
release
end
diff --git a/data/scripts/maps/RustboroCity_Gym.inc b/data/scripts/maps/RustboroCity_Gym.inc
index e4f91f82e..b1bbfb8d8 100644
--- a/data/scripts/maps/RustboroCity_Gym.inc
+++ b/data/scripts/maps/RustboroCity_Gym.inc
@@ -4,14 +4,14 @@ RustboroCity_Gym_MapScripts:: @ 81578D8
RustboroCity_Gym_EventScript_1578D9:: @ 81578D9
trainerbattle 1, OPPONENT_ROXANNE, 0, RustboroCity_Gym_Text_183EE5, RustboroCity_Gym_Text_183FC4, RustboroCity_Gym_EventScript_1578FE
checkflag 165
- jumpif 0, RustboroCity_Gym_EventScript_15793C
+ goto_if 0, RustboroCity_Gym_EventScript_15793C
msgbox RustboroCity_Gym_Text_184252, 4
release
end
RustboroCity_Gym_EventScript_1578FE:: @ 81578FE
message RustboroCity_Gym_Text_1840AB
- waittext
+ waitmessage
call RustboroCity_Gym_EventScript_1A02C5
msgbox RustboroCity_Gym_Text_1840D5, 4
setflag 1201
@@ -21,14 +21,14 @@ RustboroCity_Gym_EventScript_1578FE:: @ 81578FE
setvar 0x8008, 1
call RustboroCity_Gym_EventScript_1A01C0
compare 0x4085, 6
- callif 1, RustboroCity_Gym_EventScript_1A00FB
- jump RustboroCity_Gym_EventScript_15793C
+ call_if 1, RustboroCity_Gym_EventScript_1A00FB
+ goto RustboroCity_Gym_EventScript_15793C
end
RustboroCity_Gym_EventScript_15793C:: @ 815793C
giveitem ITEM_TM39
compare RESULT, 0
- jumpeq RustboroCity_Gym_EventScript_1A029B
+ goto_if_eq RustboroCity_Gym_EventScript_1A029B
setflag 165
msgbox RustboroCity_Gym_Text_184170, 4
release
@@ -48,7 +48,7 @@ RustboroCity_Gym_EventScript_15798E:: @ 815798E
lock
faceplayer
checkflag 1201
- jumpeq RustboroCity_Gym_EventScript_1579A3
+ goto_if_eq RustboroCity_Gym_EventScript_1579A3
msgbox RustboroCity_Gym_Text_183A4B, 4
release
end
@@ -61,15 +61,15 @@ RustboroCity_Gym_EventScript_1579A3:: @ 81579A3
RustboroCity_Gym_EventScript_1579AD:: @ 81579AD
lockall
checkflag 2055
- jumpeq RustboroCity_Gym_EventScript_1579CD
- jump RustboroCity_Gym_EventScript_1579D7
+ goto_if_eq RustboroCity_Gym_EventScript_1579CD
+ goto RustboroCity_Gym_EventScript_1579D7
end
RustboroCity_Gym_EventScript_1579BD:: @ 81579BD
lockall
checkflag 2055
- jumpeq RustboroCity_Gym_EventScript_1579CD
- jump RustboroCity_Gym_EventScript_1579D7
+ goto_if_eq RustboroCity_Gym_EventScript_1579CD
+ goto RustboroCity_Gym_EventScript_1579D7
end
RustboroCity_Gym_EventScript_1579CD:: @ 81579CD
diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc
index 402fff1d3..b983617e0 100644
--- a/data/scripts/maps/RustboroCity_House1.inc
+++ b/data/scripts/maps/RustboroCity_House1.inc
@@ -5,24 +5,24 @@ RustboroCity_House1_EventScript_157C7D:: @ 8157C7D
lock
faceplayer
checkflag 153
- jumpeq RustboroCity_House1_EventScript_157D13
+ goto_if_eq RustboroCity_House1_EventScript_157D13
setvar 0x8008, 0
copyvar 0x8004, 0x8008
- specialval RESULT, sub_804D89C
+ specialvar RESULT, sub_804D89C
copyvar 0x8009, RESULT
msgbox RustboroCity_House1_Text_184EBA, 5
compare RESULT, 0
- jumpeq RustboroCity_House1_EventScript_157CFB
+ goto_if_eq RustboroCity_House1_EventScript_157CFB
special sub_80F9A0C
waitstate
copyvar 0x800a, 0x8004
compare 0x8004, 255
- jumpeq RustboroCity_House1_EventScript_157CFB
+ goto_if_eq RustboroCity_House1_EventScript_157CFB
copyvar 0x8005, 0x800a
- specialval RESULT, sub_804DB2C
+ specialvar RESULT, sub_804DB2C
copyvar 0x800b, RESULT
- comparevars RESULT, 0x8009
- jumpif 5, RustboroCity_House1_EventScript_157D05
+ compare RESULT, 0x8009
+ goto_if 5, RustboroCity_House1_EventScript_157D05
copyvar 0x8004, 0x8008
copyvar 0x8005, 0x800a
special sub_804DB68
@@ -39,7 +39,7 @@ RustboroCity_House1_EventScript_157CFB:: @ 8157CFB
end
RustboroCity_House1_EventScript_157D05:: @ 8157D05
- bufferpoke 0, 0x8009
+ getspeciesname 0, 0x8009
msgbox RustboroCity_House1_Text_184F8F, 4
release
end
diff --git a/data/scripts/maps/RustboroCity_House3.inc b/data/scripts/maps/RustboroCity_House3.inc
index 0e81ed158..a5088175e 100644
--- a/data/scripts/maps/RustboroCity_House3.inc
+++ b/data/scripts/maps/RustboroCity_House3.inc
@@ -12,8 +12,8 @@ RustboroCity_House3_EventScript_157DF6:: @ 8157DF6
RustboroCity_House3_EventScript_157DFF:: @ 8157DFF
lock
faceplayer
- checksound
- pokecry SPECIES_PIKACHU, 0
+ waitse
+ playpokecry SPECIES_PIKACHU, 0
msgbox RustboroCity_House3_Text_18567D, 4
waitpokecry
release
diff --git a/data/scripts/maps/RustboroCity_Mart.inc b/data/scripts/maps/RustboroCity_Mart.inc
index 6b4ff3a77..cb722a6af 100644
--- a/data/scripts/maps/RustboroCity_Mart.inc
+++ b/data/scripts/maps/RustboroCity_Mart.inc
@@ -5,11 +5,11 @@ RustboroCity_Mart_EventScript_157BD4:: @ 8157BD4
lock
faceplayer
message RustboroCity_Mart_Text_1A0BE4
- waittext
+ waitmessage
checkflag 287
- jumpif 0, RustboroCity_Mart_EventScript_157BEF
+ goto_if 0, RustboroCity_Mart_EventScript_157BEF
checkflag 287
- jumpeq RustboroCity_Mart_EventScript_157C18
+ goto_if_eq RustboroCity_Mart_EventScript_157C18
end
RustboroCity_Mart_EventScript_157BEF:: @ 8157BEF
diff --git a/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc b/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc
index 896e8e220..53b481832 100644
--- a/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc
@@ -10,7 +10,7 @@ RustboroCity_PokemonCenter_1F_MapScript1_157B7F:: @ 8157B7F
RustboroCity_PokemonCenter_1F_EventScript_157B88:: @ 8157B88
setvar 0x800b, 1
call RustboroCity_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/RustboroCity_PokemonSchool.inc b/data/scripts/maps/RustboroCity_PokemonSchool.inc
index 8b037a3e7..73b364f5e 100644
--- a/data/scripts/maps/RustboroCity_PokemonSchool.inc
+++ b/data/scripts/maps/RustboroCity_PokemonSchool.inc
@@ -4,13 +4,13 @@ RustboroCity_PokemonSchool_MapScripts:: @ 81579E1
RustboroCity_PokemonSchool_EventScript_1579E2:: @ 81579E2
lockall
msgbox RustboroCity_PokemonSchool_Text_184321, 4
- jump RustboroCity_PokemonSchool_EventScript_1579F1
+ goto RustboroCity_PokemonSchool_EventScript_1579F1
end
RustboroCity_PokemonSchool_EventScript_1579F1:: @ 81579F1
message RustboroCity_PokemonSchool_Text_184368
- waittext
- multichoicerow 8, 1, 13, 3, 0
+ waitmessage
+ multichoicegrid 8, 1, 13, 3, 0
switch RESULT
case 0, RustboroCity_PokemonSchool_EventScript_157A50
case 1, RustboroCity_PokemonSchool_EventScript_157A5E
@@ -23,27 +23,27 @@ RustboroCity_PokemonSchool_EventScript_1579F1:: @ 81579F1
RustboroCity_PokemonSchool_EventScript_157A50:: @ 8157A50
msgbox RustboroCity_PokemonSchool_Text_184389, 4
- jump RustboroCity_PokemonSchool_EventScript_1579F1
+ goto RustboroCity_PokemonSchool_EventScript_1579F1
end
RustboroCity_PokemonSchool_EventScript_157A5E:: @ 8157A5E
msgbox RustboroCity_PokemonSchool_Text_184447, 4
- jump RustboroCity_PokemonSchool_EventScript_1579F1
+ goto RustboroCity_PokemonSchool_EventScript_1579F1
end
RustboroCity_PokemonSchool_EventScript_157A6C:: @ 8157A6C
msgbox RustboroCity_PokemonSchool_Text_1844EC, 4
- jump RustboroCity_PokemonSchool_EventScript_1579F1
+ goto RustboroCity_PokemonSchool_EventScript_1579F1
end
RustboroCity_PokemonSchool_EventScript_157A7A:: @ 8157A7A
msgbox RustboroCity_PokemonSchool_Text_1845A5, 4
- jump RustboroCity_PokemonSchool_EventScript_1579F1
+ goto RustboroCity_PokemonSchool_EventScript_1579F1
end
RustboroCity_PokemonSchool_EventScript_157A88:: @ 8157A88
msgbox RustboroCity_PokemonSchool_Text_184627, 4
- jump RustboroCity_PokemonSchool_EventScript_1579F1
+ goto RustboroCity_PokemonSchool_EventScript_1579F1
end
RustboroCity_PokemonSchool_EventScript_157A96:: @ 8157A96
@@ -78,37 +78,37 @@ RustboroCity_PokemonSchool_EventScript_157ACE:: @ 8157ACE
lock
faceplayer
checkflag 275
- jumpeq RustboroCity_PokemonSchool_EventScript_157B34
+ goto_if_eq RustboroCity_PokemonSchool_EventScript_157B34
compare FACING, 4
- callif 1, RustboroCity_PokemonSchool_EventScript_157B1E
+ call_if 1, RustboroCity_PokemonSchool_EventScript_157B1E
compare FACING, 3
- callif 1, RustboroCity_PokemonSchool_EventScript_157B29
+ call_if 1, RustboroCity_PokemonSchool_EventScript_157B29
msgbox RustboroCity_PokemonSchool_Text_1846A2, 4
giveitem ITEM_QUICK_CLAW
compare RESULT, 0
- jumpeq RustboroCity_PokemonSchool_EventScript_1A029B
- closebutton
- move LAST_TALKED, RustboroCity_PokemonSchool_Movement_1A0845
- waitmove 0
+ goto_if_eq RustboroCity_PokemonSchool_EventScript_1A029B
+ closemessage
+ applymovement LAST_TALKED, RustboroCity_PokemonSchool_Movement_1A0845
+ waitmovement 0
setflag 275
release
end
RustboroCity_PokemonSchool_EventScript_157B1E:: @ 8157B1E
- move LAST_TALKED, RustboroCity_PokemonSchool_Movement_157B60
- waitmove 0
+ applymovement LAST_TALKED, RustboroCity_PokemonSchool_Movement_157B60
+ waitmovement 0
return
RustboroCity_PokemonSchool_EventScript_157B29:: @ 8157B29
- move LAST_TALKED, RustboroCity_PokemonSchool_Movement_157B49
- waitmove 0
+ applymovement LAST_TALKED, RustboroCity_PokemonSchool_Movement_157B49
+ waitmovement 0
return
RustboroCity_PokemonSchool_EventScript_157B34:: @ 8157B34
msgbox RustboroCity_PokemonSchool_Text_184737, 4
- closebutton
- move LAST_TALKED, RustboroCity_PokemonSchool_Movement_1A0845
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, RustboroCity_PokemonSchool_Movement_1A0845
+ waitmovement 0
release
end
diff --git a/data/scripts/maps/RusturfTunnel.inc b/data/scripts/maps/RusturfTunnel.inc
index 129bef7c9..28f6f0ad4 100644
--- a/data/scripts/maps/RusturfTunnel.inc
+++ b/data/scripts/maps/RusturfTunnel.inc
@@ -11,21 +11,21 @@ RusturfTunnel_MapScript2_15C750:: @ 815C750
RusturfTunnel_MapScript1_15C762:: @ 815C762
call RusturfTunnel_EventScript_1A0196
compare 0x409a, 2
- callif 1, RusturfTunnel_EventScript_15C773
+ call_if 1, RusturfTunnel_EventScript_15C773
end
RusturfTunnel_EventScript_15C773:: @ 815C773
- movespriteperm 7, 13, 4
- movespriteperm 6, 13, 5
+ setobjectxyperm 7, 13, 4
+ setobjectxyperm 6, 13, 5
return
RusturfTunnel_EventScript_15C782:: @ 815C782
lock
faceplayer
msgbox RusturfTunnel_Text_194766, 4
- closebutton
- move LAST_TALKED, RusturfTunnel_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, RusturfTunnel_Movement_1A083D
+ waitmovement 0
release
end
@@ -33,126 +33,126 @@ RusturfTunnel_EventScript_15C799:: @ 815C799
lock
faceplayer
checkflag 1
- jumpeq RusturfTunnel_EventScript_15C7BC
+ goto_if_eq RusturfTunnel_EventScript_15C7BC
setflag 1
msgbox RusturfTunnel_Text_1944C5, 4
- closebutton
- move LAST_TALKED, RusturfTunnel_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, RusturfTunnel_Movement_1A083D
+ waitmovement 0
release
end
RusturfTunnel_EventScript_15C7BC:: @ 815C7BC
msgbox RusturfTunnel_Text_1945B2, 4
- closebutton
- move LAST_TALKED, RusturfTunnel_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, RusturfTunnel_Movement_1A083D
+ waitmovement 0
release
end
RusturfTunnel_EventScript_15C7D1:: @ 815C7D1
lockall
compare 0x4001, 1
- callif 1, RusturfTunnel_EventScript_15C8CA
+ call_if 1, RusturfTunnel_EventScript_15C8CA
compare 0x4001, 2
- callif 1, RusturfTunnel_EventScript_15C8DF
+ call_if 1, RusturfTunnel_EventScript_15C8DF
compare 0x4001, 3
- callif 1, RusturfTunnel_EventScript_15C8EA
+ call_if 1, RusturfTunnel_EventScript_15C8EA
call RusturfTunnel_EventScript_15C92D
msgbox RusturfTunnel_Text_19461D, 4
compare 0x4001, 2
- callif 1, RusturfTunnel_EventScript_15C8EB
+ call_if 1, RusturfTunnel_EventScript_15C8EB
compare 0x4001, 3
- callif 1, RusturfTunnel_EventScript_15C8EB
+ call_if 1, RusturfTunnel_EventScript_15C8EB
giveitem ITEM_HM04
setflag 106
msgbox RusturfTunnel_Text_194693, 4
- closebutton
+ closemessage
compare 0x4001, 1
- callif 1, RusturfTunnel_EventScript_15C880
+ call_if 1, RusturfTunnel_EventScript_15C880
compare 0x4001, 2
- callif 1, RusturfTunnel_EventScript_15C892
+ call_if 1, RusturfTunnel_EventScript_15C892
compare 0x4001, 3
- callif 1, RusturfTunnel_EventScript_15C8AE
+ call_if 1, RusturfTunnel_EventScript_15C8AE
msgbox RusturfTunnel_Text_194706, 4
- closebutton
+ closemessage
compare 0x4001, 1
- callif 1, RusturfTunnel_EventScript_15C8F7
+ call_if 1, RusturfTunnel_EventScript_15C8F7
compare 0x4001, 2
- callif 1, RusturfTunnel_EventScript_15C909
+ call_if 1, RusturfTunnel_EventScript_15C909
compare 0x4001, 3
- callif 1, RusturfTunnel_EventScript_15C91B
+ call_if 1, RusturfTunnel_EventScript_15C91B
call RusturfTunnel_EventScript_1A0442
releaseall
end
RusturfTunnel_EventScript_15C880:: @ 815C880
- move 255, RusturfTunnel_Movement_15C96A
- move 1, RusturfTunnel_Movement_15C98F
- waitmove 0
+ applymovement 255, RusturfTunnel_Movement_15C96A
+ applymovement 1, RusturfTunnel_Movement_15C98F
+ waitmovement 0
return
RusturfTunnel_EventScript_15C892:: @ 815C892
- move 255, RusturfTunnel_Movement_15C96D
- move 1, RusturfTunnel_Movement_15C994
- waitmove 0
- move 10, RusturfTunnel_Movement_1A0845
- waitmove 0
+ applymovement 255, RusturfTunnel_Movement_15C96D
+ applymovement 1, RusturfTunnel_Movement_15C994
+ waitmovement 0
+ applymovement 10, RusturfTunnel_Movement_1A0845
+ waitmovement 0
return
RusturfTunnel_EventScript_15C8AE:: @ 815C8AE
- move 255, RusturfTunnel_Movement_15C96D
- move 1, RusturfTunnel_Movement_15C994
- waitmove 0
- move 10, RusturfTunnel_Movement_1A0845
- waitmove 0
+ applymovement 255, RusturfTunnel_Movement_15C96D
+ applymovement 1, RusturfTunnel_Movement_15C994
+ waitmovement 0
+ applymovement 10, RusturfTunnel_Movement_1A0845
+ waitmovement 0
return
RusturfTunnel_EventScript_15C8CA:: @ 815C8CA
- move 1, RusturfTunnel_Movement_1A0841
- waitmove 0
- move 255, RusturfTunnel_Movement_1A0845
- waitmove 0
+ applymovement 1, RusturfTunnel_Movement_1A0841
+ waitmovement 0
+ applymovement 255, RusturfTunnel_Movement_1A0845
+ waitmovement 0
return
RusturfTunnel_EventScript_15C8DF:: @ 815C8DF
- move 1, RusturfTunnel_Movement_15C970
- waitmove 0
+ applymovement 1, RusturfTunnel_Movement_15C970
+ waitmovement 0
return
RusturfTunnel_EventScript_15C8EA:: @ 815C8EA
return
RusturfTunnel_EventScript_15C8EB:: @ 815C8EB
- closebutton
- move 1, RusturfTunnel_Movement_15C98D
- waitmove 0
+ closemessage
+ applymovement 1, RusturfTunnel_Movement_15C98D
+ waitmovement 0
return
RusturfTunnel_EventScript_15C8F7:: @ 815C8F7
- move 10, RusturfTunnel_Movement_15C945
- move 1, RusturfTunnel_Movement_15C973
- waitmove 0
+ applymovement 10, RusturfTunnel_Movement_15C945
+ applymovement 1, RusturfTunnel_Movement_15C973
+ waitmovement 0
return
RusturfTunnel_EventScript_15C909:: @ 815C909
- move 10, RusturfTunnel_Movement_15C951
- move 1, RusturfTunnel_Movement_15C980
- waitmove 0
+ applymovement 10, RusturfTunnel_Movement_15C951
+ applymovement 1, RusturfTunnel_Movement_15C980
+ waitmovement 0
return
RusturfTunnel_EventScript_15C91B:: @ 815C91B
- move 10, RusturfTunnel_Movement_15C951
- move 1, RusturfTunnel_Movement_15C980
- waitmove 0
+ applymovement 10, RusturfTunnel_Movement_15C951
+ applymovement 1, RusturfTunnel_Movement_15C980
+ waitmovement 0
return
RusturfTunnel_EventScript_15C92D:: @ 815C92D
- playsfx 21
- move 1, RusturfTunnel_Movement_1A0833
- waitmove 0
- move 1, RusturfTunnel_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 1, RusturfTunnel_Movement_1A0833
+ waitmovement 0
+ applymovement 1, RusturfTunnel_Movement_1A0835
+ waitmovement 0
return
RusturfTunnel_Movement_15C945:: @ 815C945
@@ -280,12 +280,12 @@ RusturfTunnel_EventScript_15C9A5:: @ 815C9A5
RusturfTunnel_EventScript_15C9AB:: @ 815C9AB
lockall
msgbox RusturfTunnel_Text_194159, 4
- closebutton
- move 6, RusturfTunnel_Movement_15C9D3
- move 7, RusturfTunnel_Movement_15C9D3
- waitmove 0
- moveoffscreen 6
- moveoffscreen 7
+ closemessage
+ applymovement 6, RusturfTunnel_Movement_15C9D3
+ applymovement 7, RusturfTunnel_Movement_15C9D3
+ waitmovement 0
+ moveobjectoffscreen 6
+ moveobjectoffscreen 7
setvar 0x409a, 3
releaseall
end
@@ -299,8 +299,8 @@ RusturfTunnel_Movement_15C9D3:: @ 815C9D3
RusturfTunnel_EventScript_15C9D7:: @ 815C9D7
lock
faceplayer
- checksound
- pokecry SPECIES_WINGULL, 0
+ waitse
+ playpokecry SPECIES_WINGULL, 0
msgbox RusturfTunnel_Text_194188, 4
waitpokecry
release
@@ -309,38 +309,38 @@ RusturfTunnel_EventScript_15C9D7:: @ 815C9D7
RusturfTunnel_EventScript_15C9EA:: @ 815C9EA
lock
faceplayer
- playmusic BGM_EVIL_TEAM, 0
+ playbgm BGM_EVIL_TEAM, 0
msgbox RusturfTunnel_Text_19419B, 4
trainerbattle 3, OPPONENT_RUSTURF_TUNNEL_GRUNT, 0, RusturfTunnel_Text_194243
msgbox RusturfTunnel_Text_194274, 4
giveitem ITEM_DEVON_GOODS
- closebutton
- move 255, RusturfTunnel_Movement_15CA99
- move 6, RusturfTunnel_Movement_15CAA2
- waitmove 0
- disappear 6
- pause 50
- reappear 5
- move 5, RusturfTunnel_Movement_15CAAC
- waitmove 0
- move 255, RusturfTunnel_Movement_15CA9F
- move 5, RusturfTunnel_Movement_15CAC0
- waitmove 0
+ closemessage
+ applymovement 255, RusturfTunnel_Movement_15CA99
+ applymovement 6, RusturfTunnel_Movement_15CAA2
+ waitmovement 0
+ removeobject 6
+ delay 50
+ addobject 5
+ applymovement 5, RusturfTunnel_Movement_15CAAC
+ waitmovement 0
+ applymovement 255, RusturfTunnel_Movement_15CA9F
+ applymovement 5, RusturfTunnel_Movement_15CAC0
+ waitmovement 0
msgbox RusturfTunnel_Text_19432A, 4
- move 5, RusturfTunnel_Movement_1A0839
- waitmove 0
+ applymovement 5, RusturfTunnel_Movement_1A0839
+ waitmovement 0
message RusturfTunnel_Text_19434F
- waittext
- checksound
- pokecry SPECIES_WINGULL, 0
+ waitmessage
+ waitse
+ playpokecry SPECIES_WINGULL, 0
waitbutton
waitpokecry
- closebutton
- move 5, RusturfTunnel_Movement_15CAB4
- move 7, RusturfTunnel_Movement_15CAC3
- waitmove 0
- disappear 5
- disappear 7
+ closemessage
+ applymovement 5, RusturfTunnel_Movement_15CAB4
+ applymovement 7, RusturfTunnel_Movement_15CAC3
+ waitmovement 0
+ removeobject 5
+ removeobject 7
clearflag 142
setflag 143
setvar 0x405a, 4
diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc
index 58cfbec47..2c55a9443 100644
--- a/data/scripts/maps/SSTidalCorridor.inc
+++ b/data/scripts/maps/SSTidalCorridor.inc
@@ -13,7 +13,7 @@ SSTidalCorridor_EventScript_15FCBC:: @ 815FCBC
special SetSSTidalFlag
setvar 0x40b4, 2
lockall
- playsfx 73
+ playse 73
msgbox SSTidalCorridor_Text_199007, 4
releaseall
end
@@ -21,7 +21,7 @@ SSTidalCorridor_EventScript_15FCBC:: @ 815FCBC
SSTidalCorridor_EventScript_15FCD2:: @ 815FCD2
setvar 0x40b4, 6
lockall
- playsfx 73
+ playse 73
msgbox SSTidalCorridor_Text_199088, 4
releaseall
end
@@ -29,29 +29,29 @@ SSTidalCorridor_EventScript_15FCD2:: @ 815FCD2
SSTidalRooms_EventScript_15FCE5:: @ 815FCE5
special SetSSTidalFlag
setvar 0x40b4, 7
- playsfx 73
+ playse 73
msgbox SSTidalRooms_Text_199007, 4
return
SSTidalRooms_EventScript_15FCF9:: @ 815FCF9
special ResetSSTidalFlag
setvar 0x40b4, 4
- playsfx 73
+ playse 73
msgbox SSTidalRooms_Text_1990F8, 4
return
gUnknown_0815FD0D:: @ 815FD0D
compare 0x40B4, 2
- jumpeq SSTidalCorridor_EventScript_15FD24
+ goto_if_eq SSTidalCorridor_EventScript_15FD24
compare 0x40B4, 7
- jumpeq SSTidalCorridor_EventScript_15FD3A
+ goto_if_eq SSTidalCorridor_EventScript_15FD3A
end
SSTidalCorridor_EventScript_15FD24:: @ 815FD24
special ResetSSTidalFlag
setvar 0x40b4, 3
lockall
- playsfx 73
+ playse 73
msgbox SSTidalCorridor_Text_199088, 4
releaseall
end
@@ -60,7 +60,7 @@ SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A
special ResetSSTidalFlag
setvar 0x40b4, 8
lockall
- playsfx 73
+ playse 73
msgbox SSTidalCorridor_Text_1990B4, 4
releaseall
end
@@ -68,7 +68,7 @@ SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A
SSTidalRooms_EventScript_15FD50:: @ 815FD50
special ResetSSTidalFlag
setvar 0x40b4, 8
- playsfx 73
+ playse 73
msgbox SSTidalRooms_Text_1990B4, 4
return
@@ -87,8 +87,8 @@ SSTidalCorridor_EventScript_15FD96:: @ 815FD96
SSTidalCorridor_EventScript_15FD9F:: @ 815FD9F
lock
faceplayer
- checksound
- pokecry SPECIES_WINGULL, 0
+ waitse
+ playpokecry SPECIES_WINGULL, 0
msgbox SSTidalCorridor_Text_199388, 4
waitpokecry
release
@@ -114,9 +114,9 @@ SSTidalCorridor_EventScript_15FDD6:: @ 815FDD6
lock
faceplayer
compare 0x40b4, 4
- jumpeq SSTidalCorridor_EventScript_15FDF8
+ goto_if_eq SSTidalCorridor_EventScript_15FDF8
compare 0x40b4, 8
- jumpeq SSTidalCorridor_EventScript_15FE17
+ goto_if_eq SSTidalCorridor_EventScript_15FE17
msgbox SSTidalCorridor_Text_19913B, 4
release
end
@@ -125,7 +125,7 @@ SSTidalCorridor_EventScript_15FDF8:: @ 815FDF8
sethealplace 8
msgbox SSTidalCorridor_Text_1991F4, 4
checkflag 260
- callif 1, SSTidalCorridor_EventScript_15FE36
+ call_if 1, SSTidalCorridor_EventScript_15FE36
warp LilycoveCity_Harbor, 255, 8, 11
waitstate
release
@@ -135,7 +135,7 @@ SSTidalCorridor_EventScript_15FE17:: @ 815FE17
sethealplace 4
msgbox SSTidalCorridor_Text_1991F4, 4
checkflag 260
- callif 1, SSTidalCorridor_EventScript_15FE36
+ call_if 1, SSTidalCorridor_EventScript_15FE36
warp SlateportCity_Harbor, 255, 8, 11
waitstate
release
@@ -148,9 +148,9 @@ SSTidalCorridor_EventScript_15FE36:: @ 815FE36
SSTidalCorridor_EventScript_15FE3A:: @ 815FE3A
lockall
compare 0x40b4, 2
- jumpeq SSTidalCorridor_EventScript_15FE5B
+ goto_if_eq SSTidalCorridor_EventScript_15FE5B
compare 0x40b4, 7
- jumpeq SSTidalCorridor_EventScript_15FE5B
+ goto_if_eq SSTidalCorridor_EventScript_15FE5B
msgbox SSTidalCorridor_Text_199268, 4
releaseall
end
@@ -164,7 +164,7 @@ SSTidalCorridor_EventScript_15FE60:: @ 815FE60
lock
faceplayer
checkflag 247
- jumpeq SSTidalCorridor_EventScript_15FE7A
+ goto_if_eq SSTidalCorridor_EventScript_15FE7A
call SSTidalCorridor_EventScript_15FE84
msgbox SSTidalCorridor_Text_199203, 4
release
@@ -177,23 +177,23 @@ SSTidalCorridor_EventScript_15FE7A:: @ 815FE7A
SSTidalCorridor_EventScript_15FE84:: @ 815FE84
checktrainerflag OPPONENT_PHILLIP
- jumpif 0, SSTidalCorridor_EventScript_15FED5
+ goto_if 0, SSTidalCorridor_EventScript_15FED5
checktrainerflag OPPONENT_LEONARD
- jumpif 0, SSTidalCorridor_EventScript_15FED5
+ goto_if 0, SSTidalCorridor_EventScript_15FED5
checktrainerflag OPPONENT_COLTON
- jumpif 0, SSTidalCorridor_EventScript_15FED5
+ goto_if 0, SSTidalCorridor_EventScript_15FED5
checktrainerflag OPPONENT_TUCKER
- jumpif 0, SSTidalCorridor_EventScript_15FED5
+ goto_if 0, SSTidalCorridor_EventScript_15FED5
checktrainerflag OPPONENT_THOMAS
- jumpif 0, SSTidalCorridor_EventScript_15FED5
+ goto_if 0, SSTidalCorridor_EventScript_15FED5
checktrainerflag OPPONENT_LEA_AND_JED
- jumpif 0, SSTidalCorridor_EventScript_15FED5
+ goto_if 0, SSTidalCorridor_EventScript_15FED5
checktrainerflag OPPONENT_GARRET
- jumpif 0, SSTidalCorridor_EventScript_15FED5
+ goto_if 0, SSTidalCorridor_EventScript_15FED5
checktrainerflag OPPONENT_ANETTE
- jumpif 0, SSTidalCorridor_EventScript_15FED5
+ goto_if 0, SSTidalCorridor_EventScript_15FED5
setflag 247
- jump SSTidalCorridor_EventScript_15FE7A
+ goto SSTidalCorridor_EventScript_15FE7A
return
SSTidalCorridor_EventScript_15FED5:: @ 815FED5
diff --git a/data/scripts/maps/SSTidalRooms.inc b/data/scripts/maps/SSTidalRooms.inc
index 4d588cd46..c7cd4447d 100644
--- a/data/scripts/maps/SSTidalRooms.inc
+++ b/data/scripts/maps/SSTidalRooms.inc
@@ -5,11 +5,11 @@ SSTidalRooms_EventScript_15FF06:: @ 815FF06
lock
faceplayer
checkflag 260
- jumpeq SSTidalRooms_EventScript_15FF3D
+ goto_if_eq SSTidalRooms_EventScript_15FF3D
msgbox SSTidalRooms_Text_199B65, 4
giveitem ITEM_TM49
compare RESULT, 0
- jumpeq SSTidalRooms_EventScript_1A029B
+ goto_if_eq SSTidalRooms_EventScript_1A029B
setflag 260
msgbox SSTidalRooms_Text_199C1A, 4
release
@@ -23,7 +23,7 @@ SSTidalRooms_EventScript_15FF3D:: @ 815FF3D
SSTidalRooms_EventScript_15FF47:: @ 815FF47
lockall
msgbox SSTidalRooms_Text_19956B, 4
- closebutton
+ closemessage
call SSTidalRooms_EventScript_1A02CA
call SSTidalRooms_EventScript_15FD64
releaseall
diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc
index 22fd5ec56..06a400810 100644
--- a/data/scripts/maps/SafariZone_Southeast.inc
+++ b/data/scripts/maps/SafariZone_Southeast.inc
@@ -10,22 +10,22 @@ SafariZone_Southeast_MapScript2_160041:: @ 8160041
SafariZone_Southeast_EventScript_16004B:: @ 816004B
lockall
setvar 0x4001, 0
- move 255, SafariZone_Southeast_Movement_160087
- waitmove 0
- move 1, SafariZone_Southeast_Movement_160089
- waitmove 0
- movespriteperm 1, 32, 34
+ applymovement 255, SafariZone_Southeast_Movement_160087
+ waitmovement 0
+ applymovement 1, SafariZone_Southeast_Movement_160089
+ waitmovement 0
+ setobjectxyperm 1, 32, 34
setvar 0x40a4, 0
releaseall
end
SafariZone_Southeast_MapScript1_160073:: @ 8160073
compare 0x40a4, 2
- callif 1, SafariZone_Southeast_EventScript_16007F
+ call_if 1, SafariZone_Southeast_EventScript_16007F
end
SafariZone_Southeast_EventScript_16007F:: @ 816007F
- movespriteperm 1, 31, 34
+ setobjectxyperm 1, 31, 34
return
SafariZone_Southeast_Movement_160087:: @ 8160087
@@ -53,10 +53,10 @@ SafariZone_Southeast_EventScript_1600A7:: @ 81600A7
lock
faceplayer
compare 0x4001, 0
- jumpeq SafariZone_Southeast_EventScript_1600D1
+ goto_if_eq SafariZone_Southeast_EventScript_1600D1
msgbox SafariZone_Southeast_Text_1C3A56, 5
compare RESULT, 1
- jumpeq SafariZone_Southeast_EventScript_1600E0
+ goto_if_eq SafariZone_Southeast_EventScript_1600E0
msgbox SafariZone_Southeast_Text_1C3A9C, 4
release
end
@@ -69,32 +69,32 @@ SafariZone_Southeast_EventScript_1600D1:: @ 81600D1
SafariZone_Southeast_EventScript_1600E0:: @ 81600E0
msgbox SafariZone_Southeast_Text_1C3ACA, 4
- closebutton
+ closemessage
switch FACING
case 2, SafariZone_Southeast_EventScript_160105
case 4, SafariZone_Southeast_EventScript_16011F
end
SafariZone_Southeast_EventScript_160105:: @ 8160105
- move 1, SafariZone_Southeast_Movement_160150
- waitmove 0
- move 255, SafariZone_Southeast_Movement_16014B
- waitmove 0
- jump SafariZone_Southeast_EventScript_160139
+ applymovement 1, SafariZone_Southeast_Movement_160150
+ waitmovement 0
+ applymovement 255, SafariZone_Southeast_Movement_16014B
+ waitmovement 0
+ goto SafariZone_Southeast_EventScript_160139
end
SafariZone_Southeast_EventScript_16011F:: @ 816011F
- move 1, SafariZone_Southeast_Movement_160153
- waitmove 0
- move 255, SafariZone_Southeast_Movement_16014D
- waitmove 0
- jump SafariZone_Southeast_EventScript_160139
+ applymovement 1, SafariZone_Southeast_Movement_160153
+ waitmovement 0
+ applymovement 255, SafariZone_Southeast_Movement_16014D
+ waitmovement 0
+ goto SafariZone_Southeast_EventScript_160139
end
SafariZone_Southeast_EventScript_160139:: @ 8160139
setvar 0x40a4, 1
special ExitSafariMode
- warpwalk Route121_SafariZoneEntrance, 255, 2, 5
+ warpdoor Route121_SafariZoneEntrance, 255, 2, 5
waitstate
end
diff --git a/data/scripts/maps/SeafloorCavern_Entrance.inc b/data/scripts/maps/SeafloorCavern_Entrance.inc
index 0bf99d2ad..7ea46d9b0 100644
--- a/data/scripts/maps/SeafloorCavern_Entrance.inc
+++ b/data/scripts/maps/SeafloorCavern_Entrance.inc
@@ -3,6 +3,6 @@ SeafloorCavern_Entrance_MapScripts:: @ 815DA4A
.byte 0
SeafloorCavern_Entrance_MapScript1_15DA50:: @ 815DA50
- warp4 Underwater_SeafloorCavern, 255, 6, 5
- warp6 Underwater_SeafloorCavern, 255, 6, 5
+ setdivewarp Underwater_SeafloorCavern, 255, 6, 5
+ setescapewarp Underwater_SeafloorCavern, 255, 6, 5
end
diff --git a/data/scripts/maps/SeafloorCavern_Room9.inc b/data/scripts/maps/SeafloorCavern_Room9.inc
index 71184346f..eb3d108a6 100644
--- a/data/scripts/maps/SeafloorCavern_Room9.inc
+++ b/data/scripts/maps/SeafloorCavern_Room9.inc
@@ -6,9 +6,9 @@ SeafloorCavern_Room9_MapScript1_15DAEC:: @ 815DAEC
call SeafloorCavern_Room9_EventScript_1A0196
call SeafloorCavern_Room9_EventScript_1A01B5
.ifdef SAPPHIRE
- setmapfooter 157
+ setmaplayoutindex 157
.else
- setmapfooter 327
+ setmaplayoutindex 327
.endif
end
@@ -18,35 +18,35 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA
setvar 0x8005, 3
setvar 0x8006, 4
setvar 0x8007, 5
- move 255, SeafloorCavern_Room9_Movement_1A0841
- waitmove 0
- move 255, SeafloorCavern_Room9_Movement_15DD68
- waitmove 0
+ applymovement 255, SeafloorCavern_Room9_Movement_1A0841
+ waitmovement 0
+ applymovement 255, SeafloorCavern_Room9_Movement_15DD68
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B41B8, 4
.else
msgbox SeafloorCavern_Room9_Text_1B4850, 4
.endif
- closebutton
- reappear 0x8004
- move 255, SeafloorCavern_Room9_Movement_1A083F
- waitmove 0
- move 0x8004, SeafloorCavern_Room9_Movement_15DD36
- waitmove 0
+ closemessage
+ addobject 0x8004
+ applymovement 255, SeafloorCavern_Room9_Movement_1A083F
+ waitmovement 0
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_15DD36
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B41D5, 4
.else
msgbox SeafloorCavern_Room9_Text_1B486C, 4
.endif
- move 0x8004, SeafloorCavern_Room9_Movement_1A0841
- waitmove 0
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0841
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B4201, 4
.else
msgbox SeafloorCavern_Room9_Text_1B4897, 4
.endif
- move 0x8004, SeafloorCavern_Room9_Movement_1A0839
- waitmove 0
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0839
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B4289, 4
.else
@@ -78,45 +78,45 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA
.else
setvar RESULT, 0
.endif
- playsfx 209
- setanimation 0, 16
- setanimation 1, 42
- setanimation 2, 0
- doanimation 54
- checkanimation 54
+ playse 209
+ setfieldeffect 0, 16
+ setfieldeffect 1, 42
+ setfieldeffect 2, 0
+ dofieldeffect 54
+ waitfieldeffect 54
.ifdef SAPPHIRE
setvar RESULT, 0
.else
setvar RESULT, 1
.endif
- fanfare 388
- playsfx 107
+ playfanfare 388
+ playse 107
special sub_80818A4
- move 0x8004, SeafloorCavern_Room9_Movement_1A0841
- move 255, SeafloorCavern_Room9_Movement_1A0841
- waitmove 0
- pause 150
- disappear 7
- reappear 1
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0841
+ applymovement 255, SeafloorCavern_Room9_Movement_1A0841
+ waitmovement 0
+ delay 150
+ removeobject 7
+ addobject 1
waitstate
- pause 60
- move 1, SeafloorCavern_Room9_Movement_15DD4C
- waitmove 0
+ delay 60
+ applymovement 1, SeafloorCavern_Room9_Movement_15DD4C
+ waitmovement 0
special sub_80818FC
waitstate
setvar 0x8004, 1
setvar 0x8005, 1
special sub_810F758
waitstate
- move 1, SeafloorCavern_Room9_Movement_15DD57
- waitmove 0
- disappear 1
- pause 4
+ applymovement 1, SeafloorCavern_Room9_Movement_15DD57
+ waitmovement 0
+ removeobject 1
+ delay 4
setvar 0x8004, 2
setvar 0x8005, 2
special sub_810F758
waitstate
- pause 30
+ delay 30
setvar 0x8004, 2
setvar 0x8005, 3
setvar 0x8006, 4
@@ -126,52 +126,52 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA
.else
msgbox SeafloorCavern_Room9_Text_1B4A89, 4
.endif
- playsfx 2
- move 255, SeafloorCavern_Room9_Movement_1A083F
- waitmove 0
+ playse 2
+ applymovement 255, SeafloorCavern_Room9_Movement_1A083F
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B4443, 4
.else
msgbox SeafloorCavern_Room9_Text_1B4ADB, 4
.endif
- closebutton
- move 0x8004, SeafloorCavern_Room9_Movement_15DD41
- waitmove 0
+ closemessage
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_15DD41
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B447A, 4
.else
msgbox SeafloorCavern_Room9_Text_1B4B11, 4
.endif
- closebutton
- playsfx 3
- pause 20
- move 0x8004, SeafloorCavern_Room9_Movement_1A0845
- waitmove 0
+ closemessage
+ playse 3
+ delay 20
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0845
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B45C6, 4
.else
msgbox SeafloorCavern_Room9_Text_1B4C79, 4
.endif
- closebutton
- reappear 0x8005
- reappear 0x8006
- reappear 0x8007
- move 0x8007, SeafloorCavern_Room9_Movement_15DD63
- move 0x8006, SeafloorCavern_Room9_Movement_15DD63
- move 0x8005, SeafloorCavern_Room9_Movement_15DD5A
- waitmove 0
- move 0x8004, SeafloorCavern_Room9_Movement_1A083F
- waitmove 0
+ closemessage
+ addobject 0x8005
+ addobject 0x8006
+ addobject 0x8007
+ applymovement 0x8007, SeafloorCavern_Room9_Movement_15DD63
+ applymovement 0x8006, SeafloorCavern_Room9_Movement_15DD63
+ applymovement 0x8005, SeafloorCavern_Room9_Movement_15DD5A
+ waitmovement 0
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_1A083F
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B464D, 4
.else
msgbox SeafloorCavern_Room9_Text_1B4D02, 4
.endif
- playsfx 21
- move 0x8004, SeafloorCavern_Room9_Movement_1A0833
- waitmove 0
- move 0x8004, SeafloorCavern_Room9_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0833
+ waitmovement 0
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0835
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B4723, 4
.else
@@ -182,10 +182,10 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA
.else
msgbox SeafloorCavern_Room9_Text_1B4E37, 4
.endif
- closebutton
- move 0x8005, SeafloorCavern_Room9_Movement_15DD60
- move 0x8004, SeafloorCavern_Room9_Movement_15DD46
- waitmove 0
+ closemessage
+ applymovement 0x8005, SeafloorCavern_Room9_Movement_15DD60
+ applymovement 0x8004, SeafloorCavern_Room9_Movement_15DD46
+ waitmovement 0
.ifdef SAPPHIRE
msgbox UnknownString_81B4818, 4
.else
diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc
index 76a930dc0..526ada367 100644
--- a/data/scripts/maps/SealedChamber_InnerRoom.inc
+++ b/data/scripts/maps/SealedChamber_InnerRoom.inc
@@ -3,34 +3,34 @@ SealedChamber_InnerRoom_MapScripts:: @ 815F1E7
SealedChamber_InnerRoom_EventScript_15F1E8:: @ 815F1E8
lockall
- braillemsg SealedChamber_InnerRoom_Braille_1C53C1
+ braillemessage SealedChamber_InnerRoom_Braille_1C53C1
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
checkflag 228
- jumpeq SealedChamber_InnerRoom_EventScript_15F247
- specialval RESULT, CheckRelicanthWailord
+ goto_if_eq SealedChamber_InnerRoom_EventScript_15F247
+ specialvar RESULT, CheckRelicanthWailord
compare RESULT, 0
- jumpeq SealedChamber_InnerRoom_EventScript_15F247
- fadeout 0
- playsfx 49
+ goto_if_eq SealedChamber_InnerRoom_EventScript_15F247
+ fadeoutbgm 0
+ playse 49
special DoSealedChamberShakingEffect1
waitstate
- pause 40
+ delay 40
special DoSealedChamberShakingEffect2
waitstate
- playsfx 8
- pause 40
+ playse 8
+ delay 40
special DoSealedChamberShakingEffect2
waitstate
- playsfx 8
- pause 40
+ playse 8
+ delay 40
special DoSealedChamberShakingEffect2
waitstate
- playsfx 8
- pause 40
+ playse 8
+ delay 40
msgbox SealedChamber_InnerRoom_Text_1A138B, 4
- closebutton
- fadein 0
+ closemessage
+ fadeinbgm 0
setflag 228
releaseall
end
@@ -41,48 +41,48 @@ SealedChamber_InnerRoom_EventScript_15F247:: @ 815F247
SealedChamber_InnerRoom_EventScript_15F249:: @ 815F249
lockall
- braillemsg SealedChamber_InnerRoom_Braille_1C53F2
+ braillemessage SealedChamber_InnerRoom_Braille_1C53F2
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_InnerRoom_EventScript_15F257:: @ 815F257
lockall
- braillemsg SealedChamber_InnerRoom_Braille_1C5414
+ braillemessage SealedChamber_InnerRoom_Braille_1C5414
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_InnerRoom_EventScript_15F265:: @ 815F265
lockall
- braillemsg SealedChamber_InnerRoom_Braille_1C5435
+ braillemessage SealedChamber_InnerRoom_Braille_1C5435
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_InnerRoom_EventScript_15F273:: @ 815F273
lockall
- braillemsg SealedChamber_InnerRoom_Braille_1C545C
+ braillemessage SealedChamber_InnerRoom_Braille_1C545C
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_InnerRoom_EventScript_15F281:: @ 815F281
lockall
- braillemsg SealedChamber_InnerRoom_Braille_1C5470
+ braillemessage SealedChamber_InnerRoom_Braille_1C5470
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_InnerRoom_EventScript_15F28F:: @ 815F28F
lockall
- braillemsg SealedChamber_InnerRoom_Braille_1C549B
+ braillemessage SealedChamber_InnerRoom_Braille_1C549B
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data/scripts/maps/SealedChamber_OuterRoom.inc b/data/scripts/maps/SealedChamber_OuterRoom.inc
index 83ca4e4df..f16a88802 100644
--- a/data/scripts/maps/SealedChamber_OuterRoom.inc
+++ b/data/scripts/maps/SealedChamber_OuterRoom.inc
@@ -5,8 +5,8 @@ SealedChamber_OuterRoom_MapScripts:: @ 815F0C6
.byte 0
SealedChamber_OuterRoom_MapScript1_15F0D6:: @ 815F0D6
- warp4 Underwater_SealedChamber, 255, 12, 44
- warp6 Underwater_SealedChamber, 255, 12, 44
+ setdivewarp Underwater_SealedChamber, 255, 12, 44
+ setescapewarp Underwater_SealedChamber, 255, 12, 44
end
SealedChamber_OuterRoom_MapScript1_15F0E7:: @ 815F0E7
@@ -15,7 +15,7 @@ SealedChamber_OuterRoom_MapScript1_15F0E7:: @ 815F0E7
SealedChamber_OuterRoom_MapScript1_15F0EB:: @ 815F0EB
checkflag 2127
- callif 0, SealedChamber_OuterRoom_EventScript_15F0F5
+ call_if 0, SealedChamber_OuterRoom_EventScript_15F0F5
end
SealedChamber_OuterRoom_EventScript_15F0F5:: @ 815F0F5
@@ -29,91 +29,91 @@ SealedChamber_OuterRoom_EventScript_15F0F5:: @ 815F0F5
SealedChamber_OuterRoom_EventScript_15F12C:: @ 815F12C
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C534F
+ braillemessage SealedChamber_OuterRoom_Braille_1C534F
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F13A:: @ 815F13A
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C5359
+ braillemessage SealedChamber_OuterRoom_Braille_1C5359
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F148:: @ 815F148
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C5363
+ braillemessage SealedChamber_OuterRoom_Braille_1C5363
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F156:: @ 815F156
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C536D
+ braillemessage SealedChamber_OuterRoom_Braille_1C536D
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F164:: @ 815F164
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C5377
+ braillemessage SealedChamber_OuterRoom_Braille_1C5377
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F172:: @ 815F172
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C5381
+ braillemessage SealedChamber_OuterRoom_Braille_1C5381
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F180:: @ 815F180
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C538B
+ braillemessage SealedChamber_OuterRoom_Braille_1C538B
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F18E:: @ 815F18E
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C5396
+ braillemessage SealedChamber_OuterRoom_Braille_1C5396
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F19C:: @ 815F19C
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C539E
+ braillemessage SealedChamber_OuterRoom_Braille_1C539E
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F1AA:: @ 815F1AA
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C53A9
+ braillemessage SealedChamber_OuterRoom_Braille_1C53A9
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
SealedChamber_OuterRoom_EventScript_15F1B8:: @ 815F1B8
lockall
checkflag 2127
- jumpeq SealedChamber_OuterRoom_EventScript_15F1CF
- braillemsg SealedChamber_OuterRoom_Braille_1C53B1
+ goto_if_eq SealedChamber_OuterRoom_EventScript_15F1CF
+ braillemessage SealedChamber_OuterRoom_Braille_1C53B1
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
@@ -124,8 +124,8 @@ SealedChamber_OuterRoom_EventScript_15F1CF:: @ 815F1CF
SealedChamber_OuterRoom_EventScript_15F1D9:: @ 815F1D9
lockall
- braillemsg SealedChamber_OuterRoom_Braille_1C53B1
+ braillemessage SealedChamber_OuterRoom_Braille_1C53B1
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
index 38a1c9a74..52d430db5 100644
--- a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
@@ -5,43 +5,43 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 815E057
ShoalCave_LowTideEntranceRoom_MapScript1_15E05D:: @ 815E05D
special UpdateShoalTideFlag
checkflag 2106
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E06E
- jump ShoalCave_LowTideEntranceRoom_EventScript_15E072
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E06E
+ goto ShoalCave_LowTideEntranceRoom_EventScript_15E072
ShoalCave_LowTideEntranceRoom_EventScript_15E06E:: @ 815E06E
- setmapfooter 169
+ setmaplayoutindex 169
end
ShoalCave_LowTideEntranceRoom_EventScript_15E072:: @ 815E072
- setmapfooter 165
+ setmaplayoutindex 165
end
ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076
lock
faceplayer
- checkdailyflags
+ dodailyevents
checkflag 2143
- callif 1, ShoalCave_LowTideEntranceRoom_EventScript_15E176
+ call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_15E176
checkitem ITEM_SHOAL_SALT, 4
compare RESULT, 0
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E138
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E138
checkitem ITEM_SHOAL_SHELL, 4
compare RESULT, 0
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E138
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E138
msgbox ShoalCave_LowTideEntranceRoom_Text_1C6793, 5
compare RESULT, 0
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E16C
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E16C
checkitemspace ITEM_SHELL_BELL, 1
compare RESULT, 0
- callif 1, ShoalCave_LowTideEntranceRoom_EventScript_15E106
+ call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_15E106
compare RESULT, 2
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E12E
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E12E
msgbox ShoalCave_LowTideEntranceRoom_Text_1C6808, 4
removeitem ITEM_SHOAL_SALT, 4
removeitem ITEM_SHOAL_SHELL, 4
giveitem ITEM_SHELL_BELL
compare RESULT, 0
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_1A029B
msgbox ShoalCave_LowTideEntranceRoom_Text_1C688E, 4
setflag 2
release
@@ -50,13 +50,13 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076
ShoalCave_LowTideEntranceRoom_EventScript_15E106:: @ 815E106
checkitem ITEM_SHOAL_SALT, 5
compare RESULT, 1
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E117
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E117
return
ShoalCave_LowTideEntranceRoom_EventScript_15E117:: @ 815E117
checkitem ITEM_SHOAL_SHELL, 5
compare RESULT, 1
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E128
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E128
return
ShoalCave_LowTideEntranceRoom_EventScript_15E128:: @ 815E128
@@ -71,10 +71,10 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E12E:: @ 815E12E
ShoalCave_LowTideEntranceRoom_EventScript_15E138:: @ 815E138
checkitem ITEM_SHOAL_SALT, 1
compare RESULT, 1
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E162
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E162
checkitem ITEM_SHOAL_SHELL, 1
compare RESULT, 1
- jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E162
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E162
msgbox ShoalCave_LowTideEntranceRoom_Text_1C6668, 4
release
end
diff --git a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
index 3078b4625..ada997023 100644
--- a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
@@ -5,15 +5,15 @@ ShoalCave_LowTideInnerRoom_MapScripts:: @ 815E192
ShoalCave_LowTideInnerRoom_MapScript1_15E19D:: @ 815E19D
checkflag 2106
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1AB
- jump ShoalCave_LowTideInnerRoom_EventScript_15E1AF
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1AB
+ goto ShoalCave_LowTideInnerRoom_EventScript_15E1AF
ShoalCave_LowTideInnerRoom_EventScript_15E1AB:: @ 815E1AB
- setmapfooter 170
+ setmaplayoutindex 170
end
ShoalCave_LowTideInnerRoom_EventScript_15E1AF:: @ 815E1AF
- setmapfooter 166
+ setmaplayoutindex 166
end
ShoalCave_LowTideInnerRoom_MapScript1_15E1B3:: @ 815E1B3
@@ -22,46 +22,46 @@ ShoalCave_LowTideInnerRoom_MapScript1_15E1B3:: @ 815E1B3
ShoalCave_LowTideInnerRoom_EventScript_15E1B9:: @ 815E1B9
checkflag 952
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1DA
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1DA
checkflag 2106
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1DA
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1DA
setmaptile 31, 8, 856, 1
- jump ShoalCave_LowTideInnerRoom_EventScript_15E1DA
+ goto ShoalCave_LowTideInnerRoom_EventScript_15E1DA
end
ShoalCave_LowTideInnerRoom_EventScript_15E1DA:: @ 815E1DA
checkflag 953
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1FB
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1FB
checkflag 2106
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1FB
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1FB
setmaptile 14, 26, 856, 1
- jump ShoalCave_LowTideInnerRoom_EventScript_15E1FB
+ goto ShoalCave_LowTideInnerRoom_EventScript_15E1FB
end
ShoalCave_LowTideInnerRoom_EventScript_15E1FB:: @ 815E1FB
checkflag 956
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E213
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E213
setmaptile 41, 20, 857, 1
- jump ShoalCave_LowTideInnerRoom_EventScript_15E213
+ goto ShoalCave_LowTideInnerRoom_EventScript_15E213
end
ShoalCave_LowTideInnerRoom_EventScript_15E213:: @ 815E213
checkflag 957
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E22B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E22B
setmaptile 41, 10, 857, 1
- jump ShoalCave_LowTideInnerRoom_EventScript_15E22B
+ goto ShoalCave_LowTideInnerRoom_EventScript_15E22B
end
ShoalCave_LowTideInnerRoom_EventScript_15E22B:: @ 815E22B
checkflag 958
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E243
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E243
setmaptile 6, 9, 857, 1
- jump ShoalCave_LowTideInnerRoom_EventScript_15E243
+ goto ShoalCave_LowTideInnerRoom_EventScript_15E243
end
ShoalCave_LowTideInnerRoom_EventScript_15E243:: @ 815E243
checkflag 959
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E256
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E256
setmaptile 16, 13, 857, 1
return
@@ -71,10 +71,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E256:: @ 815E256
ShoalCave_LowTideInnerRoom_EventScript_15E257:: @ 815E257
lockall
checkflag 956
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E289
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289
giveitem ITEM_SHOAL_SHELL
compare RESULT, 0
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 41, 20, 859, 0
special DrawWholeMapView
setflag 956
@@ -89,10 +89,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E289:: @ 815E289
ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293
lockall
checkflag 957
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E289
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289
giveitem ITEM_SHOAL_SHELL
compare RESULT, 0
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 41, 10, 859, 0
special DrawWholeMapView
setflag 957
@@ -102,10 +102,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293
ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5
lockall
checkflag 958
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E289
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289
giveitem ITEM_SHOAL_SHELL
compare RESULT, 0
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 6, 9, 859, 0
special DrawWholeMapView
setflag 958
@@ -115,10 +115,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5
ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7
lockall
checkflag 959
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E289
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289
giveitem ITEM_SHOAL_SHELL
compare RESULT, 0
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 16, 13, 859, 0
special DrawWholeMapView
setflag 959
@@ -128,10 +128,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7
ShoalCave_LowTideInnerRoom_EventScript_15E329:: @ 815E329
lockall
checkflag 952
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E35B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E35B
giveitem ITEM_SHOAL_SALT
compare RESULT, 0
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 31, 8, 858, 0
special DrawWholeMapView
setflag 952
@@ -146,10 +146,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E35B:: @ 815E35B
ShoalCave_LowTideInnerRoom_EventScript_15E365:: @ 815E365
lockall
checkflag 953
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E35B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E35B
giveitem ITEM_SHOAL_SALT
compare RESULT, 0
- jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B
setmaptile 14, 26, 858, 0
special DrawWholeMapView
setflag 953
diff --git a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
index 67de2676f..db5779efe 100644
--- a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
@@ -8,7 +8,7 @@ ShoalCave_LowTideLowerRoom_MapScript1_15E3F9:: @ 815E3F9
ShoalCave_LowTideLowerRoom_EventScript_15E3FF:: @ 815E3FF
checkflag 955
- jumpeq ShoalCave_LowTideLowerRoom_EventScript_15E412
+ goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E412
setmaptile 18, 2, 856, 1
return
@@ -18,10 +18,10 @@ ShoalCave_LowTideLowerRoom_EventScript_15E412:: @ 815E412
ShoalCave_LowTideLowerRoom_EventScript_15E413:: @ 815E413
lockall
checkflag 955
- jumpeq ShoalCave_LowTideLowerRoom_EventScript_15E445
+ goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E445
giveitem ITEM_SHOAL_SALT
compare RESULT, 0
- jumpeq ShoalCave_LowTideLowerRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_1A029B
setmaptile 18, 2, 858, 0
special DrawWholeMapView
setflag 955
@@ -37,11 +37,11 @@ ShoalCave_LowTideLowerRoom_EventScript_15E44F:: @ 815E44F
lock
faceplayer
checkflag 283
- jumpeq ShoalCave_LowTideLowerRoom_EventScript_15E47E
+ goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E47E
msgbox ShoalCave_LowTideLowerRoom_Text_198200, 4
giveitem ITEM_FOCUS_BAND
compare RESULT, 0
- jumpeq ShoalCave_LowTideLowerRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_1A029B
setflag 283
release
end
diff --git a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
index c46a2cb2d..bffb7bd49 100644
--- a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
+++ b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
@@ -8,7 +8,7 @@ ShoalCave_LowTideStairsRoom_MapScript1_15E39D:: @ 815E39D
ShoalCave_LowTideStairsRoom_EventScript_15E3A3:: @ 815E3A3
checkflag 954
- jumpeq ShoalCave_LowTideStairsRoom_EventScript_15E3B6
+ goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_15E3B6
setmaptile 11, 11, 856, 1
return
@@ -18,10 +18,10 @@ ShoalCave_LowTideStairsRoom_EventScript_15E3B6:: @ 815E3B6
ShoalCave_LowTideStairsRoom_EventScript_15E3B7:: @ 815E3B7
lockall
checkflag 954
- jumpeq ShoalCave_LowTideStairsRoom_EventScript_15E3E9
+ goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_15E3E9
giveitem ITEM_SHOAL_SALT
compare RESULT, 0
- jumpeq ShoalCave_LowTideStairsRoom_EventScript_1A029B
+ goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_1A029B
setmaptile 11, 11, 858, 0
special DrawWholeMapView
setflag 954
diff --git a/data/scripts/maps/SkyPillar_2F.inc b/data/scripts/maps/SkyPillar_2F.inc
index 62cb389f2..3b3585bf8 100644
--- a/data/scripts/maps/SkyPillar_2F.inc
+++ b/data/scripts/maps/SkyPillar_2F.inc
@@ -6,5 +6,5 @@ SkyPillar_2F_MapScripts:: @ 815F2C9
SkyPillar_2F_MapScript1_15F2D9:: @ 815F2D9
tileeffect 7
- warp5 SkyPillar_1F, 255, 0, 0
+ setholewarp SkyPillar_1F, 255, 0, 0
end
diff --git a/data/scripts/maps/SkyPillar_4F.inc b/data/scripts/maps/SkyPillar_4F.inc
index 5e1f7f4e6..3d535a25a 100644
--- a/data/scripts/maps/SkyPillar_4F.inc
+++ b/data/scripts/maps/SkyPillar_4F.inc
@@ -6,5 +6,5 @@ SkyPillar_4F_MapScripts:: @ 815F2E5
SkyPillar_4F_MapScript1_15F2F5:: @ 815F2F5
tileeffect 7
- warp5 SkyPillar_3F, 255, 0, 0
+ setholewarp SkyPillar_3F, 255, 0, 0
end
diff --git a/data/scripts/maps/SkyPillar_Top.inc b/data/scripts/maps/SkyPillar_Top.inc
index d659a23c1..1dee6e9c4 100644
--- a/data/scripts/maps/SkyPillar_Top.inc
+++ b/data/scripts/maps/SkyPillar_Top.inc
@@ -4,20 +4,20 @@ SkyPillar_Top_MapScripts:: @ 815F302
SkyPillar_Top_MapScript1_15F308:: @ 815F308
checkflag 2145
- callif 1, SkyPillar_Top_EventScript_15F312
+ call_if 1, SkyPillar_Top_EventScript_15F312
end
SkyPillar_Top_EventScript_15F312:: @ 815F312
- disappear LAST_TALKED
+ removeobject LAST_TALKED
return
SkyPillar_Top_EventScript_15F316:: @ 815F316
lock
faceplayer
setwildbattle SPECIES_RAYQUAZA, 70, ITEM_NONE
- checksound
- pokecry SPECIES_RAYQUAZA, 2
- pause 40
+ waitse
+ playpokecry SPECIES_RAYQUAZA, 2
+ delay 40
waitpokecry
setflag 773
setflag 2145
diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc
index e156f8948..bea1455a7 100644
--- a/data/scripts/maps/SlateportCity.inc
+++ b/data/scripts/maps/SlateportCity.inc
@@ -13,7 +13,7 @@ SlateportCity_MapScript1_14BA3C:: @ 814BA3C
setvar 0x40aa, 0
call SlateportCity_EventScript_14BA5C
compare 0x4058, 1
- callif 1, SlateportCity_EventScript_14BA68
+ call_if 1, SlateportCity_EventScript_14BA68
end
SlateportCity_EventScript_14BA5C:: @ 814BA5C
@@ -23,27 +23,27 @@ SlateportCity_EventScript_14BA5C:: @ 814BA5C
return
SlateportCity_EventScript_14BA68:: @ 814BA68
- movespriteperm 11, 28, 13
- movespriteperm 7, 25, 13
- movespriteperm 3, 25, 14
- movespriteperm 6, 27, 16
- movespriteperm 8, 28, 16
- movespriteperm 1, 29, 16
- movespriteperm 2, 31, 14
- spritebehave 11, 8
- spritebehave 7, 18
- spritebehave 3, 16
- spritebehave 6, 7
- spritebehave 8, 7
- spritebehave 1, 7
- spritebehave 2, 9
+ setobjectxyperm 11, 28, 13
+ setobjectxyperm 7, 25, 13
+ setobjectxyperm 3, 25, 14
+ setobjectxyperm 6, 27, 16
+ setobjectxyperm 8, 28, 16
+ setobjectxyperm 1, 29, 16
+ setobjectxyperm 2, 31, 14
+ setobjectmovementtype 11, 8
+ setobjectmovementtype 7, 18
+ setobjectmovementtype 3, 16
+ setobjectmovementtype 6, 7
+ setobjectmovementtype 8, 7
+ setobjectmovementtype 1, 7
+ setobjectmovementtype 2, 9
return
SlateportCity_EventScript_14BAB6:: @ 814BAB6
lock
faceplayer
message SlateportCity_Text_164642
- waittext
+ waitmessage
pokemart SlateportCity_Items1
msgbox SlateportCity_Text_1A0C02, 4
release
@@ -64,19 +64,19 @@ SlateportCity_Items1:: @ 814BAD0
SlateportCity_EventScript_14BAE0:: @ 814BAE0
lock
faceplayer
- bufferfirstpoke 0
+ getfirstpartypokename 0
msgbox SlateportCity_Text_164682, 4
- specialval RESULT, LeadMonHasEffortRibbon
+ specialvar RESULT, LeadMonHasEffortRibbon
compare RESULT, 1
- callif 1, SlateportCity_EventScript_14BB35
- specialval RESULT, ScrSpecial_AreLeadMonEVsMaxedOut
+ call_if 1, SlateportCity_EventScript_14BB35
+ specialvar RESULT, ScrSpecial_AreLeadMonEVsMaxedOut
compare RESULT, 0
- callif 1, SlateportCity_EventScript_14BB2B
+ call_if 1, SlateportCity_EventScript_14BB2B
msgbox SlateportCity_Text_164691, 4
- fanfare 370
+ playfanfare 370
message SlateportCity_Text_1646DD
waitfanfare
- waittext
+ waitmessage
msgbox SlateportCity_Text_1646FC, 4
special GivLeadMonEffortRibbon
release
@@ -96,7 +96,7 @@ SlateportCity_EventScript_14BB3F:: @ 814BB3F
lock
faceplayer
compare 0x4058, 1
- callif 1, SlateportCity_EventScript_14BB56
+ call_if 1, SlateportCity_EventScript_14BB56
msgbox SlateportCity_Text_164814, 4
release
end
@@ -110,7 +110,7 @@ SlateportCity_EventScript_14BB60:: @ 814BB60
lock
faceplayer
compare 0x4058, 1
- callif 1, SlateportCity_EventScript_14BB77
+ call_if 1, SlateportCity_EventScript_14BB77
msgbox SlateportCity_Text_1648A0, 4
release
end
@@ -124,9 +124,9 @@ SlateportCity_EventScript_14BB81:: @ 814BB81
lock
faceplayer
compare 0x4058, 1
- callif 1, SlateportCity_EventScript_14BBA1
+ call_if 1, SlateportCity_EventScript_14BBA1
checkflag 96
- jumpeq SlateportCity_EventScript_14BBAB
+ goto_if_eq SlateportCity_EventScript_14BBAB
msgbox SlateportCity_Text_164937, 4
release
end
@@ -145,7 +145,7 @@ SlateportCity_EventScript_14BBB5:: @ 814BBB5
lock
faceplayer
compare 0x4058, 1
- callif 1, SlateportCity_EventScript_14BBCC
+ call_if 1, SlateportCity_EventScript_14BBCC
msgbox SlateportCity_Text_164A30, 4
release
end
@@ -157,7 +157,7 @@ SlateportCity_EventScript_14BBCC:: @ 814BBCC
SlateportCity_EventScript_14BBD6:: @ 814BBD6
compare 0x4058, 1
- jumpeq SlateportCity_EventScript_14BBEA
+ goto_if_eq SlateportCity_EventScript_14BBEA
msgbox SlateportCity_Text_164AA9, 2
end
@@ -169,7 +169,7 @@ SlateportCity_EventScript_14BBF3:: @ 814BBF3
lock
faceplayer
compare 0x4058, 1
- callif 1, SlateportCity_EventScript_14BC0A
+ call_if 1, SlateportCity_EventScript_14BC0A
msgbox SlateportCity_Text_164B34, 4
release
end
@@ -183,7 +183,7 @@ SlateportCity_EventScript_14BC14:: @ 814BC14
lock
faceplayer
checkflag 148
- jumpeq SlateportCity_EventScript_14BC29
+ goto_if_eq SlateportCity_EventScript_14BC29
msgbox SlateportCity_Text_164BBF, 4
release
end
@@ -200,9 +200,9 @@ SlateportCity_EventScript_14BC33:: @ 814BC33
SlateportCity_EventScript_14BC3C:: @ 814BC3C
lockall
checkflag 2052
- jumpeq SlateportCity_EventScript_14BC63
+ goto_if_eq SlateportCity_EventScript_14BC63
checkflag 2061
- jumpeq SlateportCity_EventScript_14BC59
+ goto_if_eq SlateportCity_EventScript_14BC59
msgbox SlateportCity_Text_1658A0, 4
releaseall
end
@@ -236,7 +236,7 @@ SlateportCity_EventScript_14BC88:: @ 814BC88
SlateportCity_EventScript_14BC91:: @ 814BC91
lockall
checkflag 2052
- jumpeq SlateportCity_EventScript_14BCA5
+ goto_if_eq SlateportCity_EventScript_14BCA5
msgbox SlateportCity_Text_165A8B, 4
releaseall
end
@@ -254,7 +254,7 @@ SlateportCity_EventScript_14BCB8:: @ 814BCB8
lock
faceplayer
compare 0x4058, 1
- callif 1, SlateportCity_EventScript_14BCCF
+ call_if 1, SlateportCity_EventScript_14BCCF
msgbox SlateportCity_Text_164F9E, 4
release
end
@@ -289,9 +289,9 @@ SlateportCity_EventScript_14BD06:: @ 814BD06
faceplayer
msgbox SlateportCity_Text_1650F1, 5
compare RESULT, 1
- callif 1, SlateportCity_EventScript_14BD28
+ call_if 1, SlateportCity_EventScript_14BD28
compare RESULT, 0
- callif 1, SlateportCity_EventScript_14BD31
+ call_if 1, SlateportCity_EventScript_14BD31
release
end
@@ -307,9 +307,9 @@ SlateportCity_EventScript_14BD3A:: @ 814BD3A
lock
faceplayer
msgbox SlateportCity_Text_164C64, 4
- closebutton
- move 5, SlateportCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 5, SlateportCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -317,9 +317,9 @@ SlateportCity_EventScript_14BD51:: @ 814BD51
lock
faceplayer
msgbox SlateportCity_Text_164C9F, 4
- closebutton
- move 19, SlateportCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 19, SlateportCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -327,9 +327,9 @@ SlateportCity_EventScript_14BD68:: @ 814BD68
lock
faceplayer
msgbox SlateportCity_Text_164CE8, 4
- closebutton
- move 20, SlateportCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 20, SlateportCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -337,9 +337,9 @@ SlateportCity_EventScript_14BD7F:: @ 814BD7F
lock
faceplayer
msgbox SlateportCity_Text_164D2B, 4
- closebutton
- move 27, SlateportCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 27, SlateportCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -347,9 +347,9 @@ SlateportCity_EventScript_14BD96:: @ 814BD96
lock
faceplayer
msgbox SlateportCity_Text_164D92, 4
- closebutton
- move 28, SlateportCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 28, SlateportCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -357,9 +357,9 @@ SlateportCity_EventScript_14BDAD:: @ 814BDAD
lock
faceplayer
msgbox SlateportCity_Text_164DD5, 4
- closebutton
- move 29, SlateportCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 29, SlateportCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -367,9 +367,9 @@ SlateportCity_EventScript_14BDC4:: @ 814BDC4
lock
faceplayer
msgbox SlateportCity_Text_164DF4, 4
- closebutton
- move 30, SlateportCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 30, SlateportCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -377,9 +377,9 @@ SlateportCity_EventScript_14BDDB:: @ 814BDDB
lock
faceplayer
msgbox SlateportCity_Text_164E46, 4
- closebutton
- move 31, SlateportCity_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 31, SlateportCity_Movement_1A083D
+ waitmovement 0
release
end
@@ -387,7 +387,7 @@ SlateportCity_EventScript_14BDF2:: @ 814BDF2
lock
faceplayer
message SlateportCity_Text_1A0BE4
- waittext
+ waitmessage
pokemartdecor SlateportCity_Decorations1
msgbox SlateportCity_Text_1A0C02, 4
release
@@ -411,9 +411,9 @@ SlateportCity_EventScript_14BE20:: @ 814BE20
lock
faceplayer
checkflag 96
- jumpif 0, SlateportCity_EventScript_14BE16
+ goto_if 0, SlateportCity_EventScript_14BE16
message SlateportCity_Text_1A0BE4
- waittext
+ waitmessage
pokemartdecor SlateportCity_Decorations2
msgbox SlateportCity_Text_1A0C02, 4
release
@@ -443,9 +443,9 @@ SlateportCity_Decorations2:: @ 814BE40
lock
faceplayer
checkflag 96
- jumpif 0, SlateportCity_EventScript_14BE16
+ goto_if 0, SlateportCity_EventScript_14BE16
message SlateportCity_Text_1A0BE4
- waittext
+ waitmessage
pokemartdecor SlateportCity_Decorations3
msgbox SlateportCity_Text_1A0C02, 4
release
@@ -472,7 +472,7 @@ SlateportCity_EventScript_14BE9A:: @ 814BE9A
lock
faceplayer
message SlateportCity_Text_1A0BE4
- waittext
+ waitmessage
pokemart SlateportCity_Items2
msgbox SlateportCity_Text_1A0C02, 4
release
@@ -490,49 +490,49 @@ SlateportCity_EventScript_14BEBC:: @ 814BEBC
lockall
msgbox SlateportCity_Text_165498, 4
msgbox SlateportCity_Text_1654E0, 4
- closebutton
- move 10, SlateportCity_Movement_1A0843
- waitmove 0
- pause 10
- move 9, SlateportCity_Movement_1A0845
- waitmove 0
- pause 25
- move 11, SlateportCity_Movement_14C000
- move 255, SlateportCity_Movement_14C00E
- move 10, SlateportCity_Movement_14BFDD
- move 9, SlateportCity_Movement_14BFEA
- waitmove 0
- disappear 10
- disappear 9
+ closemessage
+ applymovement 10, SlateportCity_Movement_1A0843
+ waitmovement 0
+ delay 10
+ applymovement 9, SlateportCity_Movement_1A0845
+ waitmovement 0
+ delay 25
+ applymovement 11, SlateportCity_Movement_14C000
+ applymovement 255, SlateportCity_Movement_14C00E
+ applymovement 10, SlateportCity_Movement_14BFDD
+ applymovement 9, SlateportCity_Movement_14BFEA
+ waitmovement 0
+ removeobject 10
+ removeobject 9
msgbox SlateportCity_Text_16558D, 4
- move 11, SlateportCity_Movement_1A0841
- waitmove 0
+ applymovement 11, SlateportCity_Movement_1A0841
+ waitmovement 0
msgbox SlateportCity_Text_1655E7, 4
- playmusic BGM_EVIL_TEAM, 0
+ playbgm BGM_EVIL_TEAM, 0
msgbox SlateportCity_Text_1656BC, 4
- move 6, SlateportCity_Movement_1A083F
- move 1, SlateportCity_Movement_1A083F
- move 7, SlateportCity_Movement_14BFCD
- move 3, SlateportCity_Movement_1A0831
- move 2, SlateportCity_Movement_14BFD5
- waitmove 0
- move 11, SlateportCity_Movement_1A0845
- waitmove 0
+ applymovement 6, SlateportCity_Movement_1A083F
+ applymovement 1, SlateportCity_Movement_1A083F
+ applymovement 7, SlateportCity_Movement_14BFCD
+ applymovement 3, SlateportCity_Movement_1A0831
+ applymovement 2, SlateportCity_Movement_14BFD5
+ waitmovement 0
+ applymovement 11, SlateportCity_Movement_1A0845
+ waitmovement 0
msgbox SlateportCity_Text_16578F, 4
- playsfx 21
- move 11, SlateportCity_Movement_1A0833
- waitmove 0
- move 11, SlateportCity_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 11, SlateportCity_Movement_1A0833
+ waitmovement 0
+ applymovement 11, SlateportCity_Movement_1A0835
+ waitmovement 0
msgbox SlateportCity_Text_1657FA, 4
- move 11, SlateportCity_Movement_1A0839
- waitmove 0
+ applymovement 11, SlateportCity_Movement_1A0839
+ waitmovement 0
msgbox SlateportCity_Text_16583A, 4
- closebutton
- move 11, SlateportCity_Movement_14BFFB
- move 255, SlateportCity_Movement_14C008
- waitmove 0
- disappear 11
+ closemessage
+ applymovement 11, SlateportCity_Movement_14BFFB
+ applymovement 255, SlateportCity_Movement_14C008
+ waitmovement 0
+ removeobject 11
clearflag 841
clearflag 848
clearflag 845
diff --git a/data/scripts/maps/SlateportCity_ContestHall.inc b/data/scripts/maps/SlateportCity_ContestHall.inc
index 559719583..f8070f1a1 100644
--- a/data/scripts/maps/SlateportCity_ContestHall.inc
+++ b/data/scripts/maps/SlateportCity_ContestHall.inc
@@ -13,11 +13,11 @@ SlateportCity_ContestHall_EventScript_15555E:: @ 815555E
lock
faceplayer
checkflag 265
- jumpeq SlateportCity_ContestHall_EventScript_155595
+ goto_if_eq SlateportCity_ContestHall_EventScript_155595
msgbox SlateportCity_ContestHall_Text_17CCE2, 4
giveitem ITEM_TM41
compare RESULT, 0
- jumpeq SlateportCity_ContestHall_EventScript_1A029B
+ goto_if_eq SlateportCity_ContestHall_EventScript_1A029B
setflag 265
msgbox SlateportCity_ContestHall_Text_17CE28, 4
release
@@ -31,80 +31,80 @@ SlateportCity_ContestHall_EventScript_155595:: @ 8155595
SlateportCity_ContestHall_EventScript_15559F:: @ 815559F
msgbox SlateportCity_ContestHall_Text_17CEF3, 2
lockall
- move 3, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 3, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_1555B4:: @ 81555B4
msgbox SlateportCity_ContestHall_Text_17CFA7, 2
lockall
- move 4, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 4, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_1555C9:: @ 81555C9
msgbox SlateportCity_ContestHall_Text_17D054, 2
lockall
- move 5, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 5, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_1555DE:: @ 81555DE
msgbox SlateportCity_ContestHall_Text_17D07F, 2
lockall
- move 6, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 6, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_1555F3:: @ 81555F3
msgbox SlateportCity_ContestHall_Text_17D0F9, 2
lockall
- move 7, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 7, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_155608:: @ 8155608
msgbox SlateportCity_ContestHall_Text_17D222, 2
lockall
- move 8, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 8, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_15561D:: @ 815561D
msgbox SlateportCity_ContestHall_Text_17D39A, 2
lockall
- move 9, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 9, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_155632:: @ 8155632
msgbox SlateportCity_ContestHall_Text_17D3F0, 2
lockall
- move 10, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 10, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_155647:: @ 8155647
msgbox SlateportCity_ContestHall_Text_17D300, 2
lockall
- move 12, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 12, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_ContestHall_EventScript_15565C:: @ 815565C
msgbox SlateportCity_ContestHall_Text_17D27F, 2
lockall
- move 11, SlateportCity_ContestHall_Movement_1A083D
- waitmove 0
+ applymovement 11, SlateportCity_ContestHall_Movement_1A083D
+ waitmovement 0
releaseall
end
diff --git a/data/scripts/maps/SlateportCity_ContestLobby.inc b/data/scripts/maps/SlateportCity_ContestLobby.inc
index b1ce50815..cb4632d77 100644
--- a/data/scripts/maps/SlateportCity_ContestLobby.inc
+++ b/data/scripts/maps/SlateportCity_ContestLobby.inc
@@ -20,28 +20,28 @@ SlateportCity_ContestLobby_EventScript_15541D:: @ 815541D
SlateportCity_ContestLobby_EventScript_155448:: @ 8155448
lockall
- move 1, SlateportCity_ContestLobby_Movement_1554CC
- waitmove 0
- playsfx 71
+ applymovement 1, SlateportCity_ContestLobby_Movement_1554CC
+ waitmovement 0
+ playse 71
setmaptile 4, 2, 545, 1
setmaptile 4, 3, 609, 1
special DrawWholeMapView
- move 1, SlateportCity_ContestLobby_Movement_1554CF
- waitmove 0
- playsfx 71
+ applymovement 1, SlateportCity_ContestLobby_Movement_1554CF
+ waitmovement 0
+ playse 71
setmaptile 4, 2, 721, 1
setmaptile 4, 3, 729, 1
special DrawWholeMapView
- pause 20
- move 1, SlateportCity_ContestLobby_Movement_1554DC
- waitmove 0
- move 255, SlateportCity_ContestLobby_Movement_1554CA
- waitmove 0
+ delay 20
+ applymovement 1, SlateportCity_ContestLobby_Movement_1554DC
+ waitmovement 0
+ applymovement 255, SlateportCity_ContestLobby_Movement_1554CA
+ waitmovement 0
msgbox SlateportCity_ContestLobby_Text_1A6832, 4
- closebutton
- move 1, SlateportCity_ContestLobby_Movement_1554D3
- move 255, SlateportCity_ContestLobby_Movement_1554C0
- waitmove 0
+ closemessage
+ applymovement 1, SlateportCity_ContestLobby_Movement_1554D3
+ applymovement 255, SlateportCity_ContestLobby_Movement_1554C0
+ waitmovement 0
releaseall
return
@@ -102,9 +102,9 @@ SlateportCity_ContestLobby_EventScript_1554F0:: @ 81554F0
SlateportCity_ContestLobby_EventScript_1554F9:: @ 81554F9
lockall
checkflag 95
- jumpeq SlateportCity_ContestLobby_EventScript_155526
- move 7, SlateportCity_ContestLobby_Movement_1A0839
- waitmove 0
+ goto_if_eq SlateportCity_ContestLobby_EventScript_155526
+ applymovement 7, SlateportCity_ContestLobby_Movement_1A0839
+ waitmovement 0
msgbox SlateportCity_ContestLobby_Text_17CA67, 4
giveitem ITEM_POKEBLOCK_CASE
setflag 95
@@ -118,7 +118,7 @@ SlateportCity_ContestLobby_EventScript_155526:: @ 8155526
SlateportCity_ContestLobby_EventScript_15552F:: @ 815552F
lockall
fadescreen 1
- showcontestwinner 3
+ drawcontestwinner 3
releaseall
end
@@ -130,6 +130,6 @@ SlateportCity_ContestLobby_EventScript_155536:: @ 8155536
lockall
special ShowBerryBlenderRecordWindow
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data/scripts/maps/SlateportCity_Harbor.inc b/data/scripts/maps/SlateportCity_Harbor.inc
index d65d28877..f145c4a3d 100644
--- a/data/scripts/maps/SlateportCity_Harbor.inc
+++ b/data/scripts/maps/SlateportCity_Harbor.inc
@@ -3,12 +3,12 @@ SlateportCity_Harbor_MapScripts:: @ 8155F5D
.byte 0
SlateportCity_Harbor_MapScript1_155F63:: @ 8155F63
- warp6 SlateportCity, 255, 28, 13
+ setescapewarp SlateportCity, 255, 28, 13
setvar 0x4001, 0
compare 0x40a0, 1
- callif 1, SlateportCity_Harbor_EventScript_155F89
+ call_if 1, SlateportCity_Harbor_EventScript_155F89
checkflag 2052
- callif 1, SlateportCity_Harbor_EventScript_155F85
+ call_if 1, SlateportCity_Harbor_EventScript_155F85
end
SlateportCity_Harbor_EventScript_155F85:: @ 8155F85
@@ -16,89 +16,89 @@ SlateportCity_Harbor_EventScript_155F85:: @ 8155F85
return
SlateportCity_Harbor_EventScript_155F89:: @ 8155F89
- playmusicbattle BGM_EVIL_TEAM
- movespriteperm 4, 12, 13
- spritebehave 4, 9
+ savebgm BGM_EVIL_TEAM
+ setobjectxyperm 4, 12, 13
+ setobjectmovementtype 4, 9
setflag 905
return
SlateportCity_Harbor_EventScript_155F9B:: @ 8155F9B
lockall
setvar 0x8008, 0
- jump SlateportCity_Harbor_EventScript_155FD5
+ goto SlateportCity_Harbor_EventScript_155FD5
end
SlateportCity_Harbor_EventScript_155FA7:: @ 8155FA7
lockall
setvar 0x8008, 1
- jump SlateportCity_Harbor_EventScript_155FD5
+ goto SlateportCity_Harbor_EventScript_155FD5
end
SlateportCity_Harbor_EventScript_155FB3:: @ 8155FB3
lockall
setvar 0x8008, 2
- jump SlateportCity_Harbor_EventScript_155FD5
+ goto SlateportCity_Harbor_EventScript_155FD5
end
SlateportCity_Harbor_EventScript_155FBF:: @ 8155FBF
lockall
setvar 0x8008, 3
- move 255, SlateportCity_Harbor_Movement_1560C2
- waitmove 0
- jump SlateportCity_Harbor_EventScript_155FD5
+ applymovement 255, SlateportCity_Harbor_Movement_1560C2
+ waitmovement 0
+ goto SlateportCity_Harbor_EventScript_155FD5
end
SlateportCity_Harbor_EventScript_155FD5:: @ 8155FD5
- move 7, SlateportCity_Harbor_Movement_1A0845
- waitmove 0
- move 255, SlateportCity_Harbor_Movement_1A0841
- waitmove 0
+ applymovement 7, SlateportCity_Harbor_Movement_1A0845
+ waitmovement 0
+ applymovement 255, SlateportCity_Harbor_Movement_1A0841
+ waitmovement 0
msgbox SlateportCity_Harbor_Text_17FD7D, 4
- closebutton
- move 6, SlateportCity_Harbor_Movement_15609B
- move 7, SlateportCity_Harbor_Movement_15609B
- move 8, SlateportCity_Harbor_Movement_1560A5
- waitmove 0
- disappear 6
- disappear 7
- disappear 8
+ closemessage
+ applymovement 6, SlateportCity_Harbor_Movement_15609B
+ applymovement 7, SlateportCity_Harbor_Movement_15609B
+ applymovement 8, SlateportCity_Harbor_Movement_1560A5
+ waitmovement 0
+ removeobject 6
+ removeobject 7
+ removeobject 8
setvar 0x40a0, 2
compare 0x8008, 0
- callif 1, SlateportCity_Harbor_EventScript_15605C
+ call_if 1, SlateportCity_Harbor_EventScript_15605C
compare 0x8008, 1
- callif 1, SlateportCity_Harbor_EventScript_156071
+ call_if 1, SlateportCity_Harbor_EventScript_156071
compare 0x8008, 2
- callif 1, SlateportCity_Harbor_EventScript_156086
+ call_if 1, SlateportCity_Harbor_EventScript_156086
compare 0x8008, 3
- callif 1, SlateportCity_Harbor_EventScript_156086
+ call_if 1, SlateportCity_Harbor_EventScript_156086
msgbox SlateportCity_Harbor_Text_17FE60, 4
- closebutton
+ closemessage
setflag 821
setflag 822
- moveoffscreen 4
- spritebehave 4, 10
+ moveobjectoffscreen 4
+ setobjectmovementtype 4, 10
releaseall
end
SlateportCity_Harbor_EventScript_15605C:: @ 815605C
- move 4, SlateportCity_Harbor_Movement_1560B3
- waitmove 0
- move 255, SlateportCity_Harbor_Movement_1A0845
- waitmove 0
+ applymovement 4, SlateportCity_Harbor_Movement_1560B3
+ waitmovement 0
+ applymovement 255, SlateportCity_Harbor_Movement_1A0845
+ waitmovement 0
return
SlateportCity_Harbor_EventScript_156071:: @ 8156071
- move 4, SlateportCity_Harbor_Movement_1560B9
- waitmove 0
- move 255, SlateportCity_Harbor_Movement_1A0843
- waitmove 0
+ applymovement 4, SlateportCity_Harbor_Movement_1560B9
+ waitmovement 0
+ applymovement 255, SlateportCity_Harbor_Movement_1A0843
+ waitmovement 0
return
SlateportCity_Harbor_EventScript_156086:: @ 8156086
- move 4, SlateportCity_Harbor_Movement_1560BE
- waitmove 0
- move 255, SlateportCity_Harbor_Movement_1A0843
- waitmove 0
+ applymovement 4, SlateportCity_Harbor_Movement_1560BE
+ waitmovement 0
+ applymovement 255, SlateportCity_Harbor_Movement_1A0843
+ waitmovement 0
return
SlateportCity_Harbor_Movement_15609B:: @ 815609B
@@ -160,7 +160,7 @@ SlateportCity_Harbor_EventScript_1560C4:: @ 81560C4
lock
faceplayer
checkflag 2052
- jumpeq SlateportCity_Harbor_EventScript_1560D9
+ goto_if_eq SlateportCity_Harbor_EventScript_1560D9
msgbox SlateportCity_Harbor_Text_17FA0A, 4
release
end
@@ -169,14 +169,14 @@ SlateportCity_Harbor_EventScript_1560D9:: @ 81560D9
msgbox SlateportCity_Harbor_Text_17FA73, 4
checkitem ITEM_SS_TICKET, 1
compare RESULT, 0
- jumpeq SlateportCity_Harbor_EventScript_156135
+ goto_if_eq SlateportCity_Harbor_EventScript_156135
message SlateportCity_Harbor_Text_17FB0A
- waittext
- jump SlateportCity_Harbor_EventScript_1560FD
+ waitmessage
+ goto SlateportCity_Harbor_EventScript_1560FD
end
SlateportCity_Harbor_EventScript_1560FD:: @ 81560FD
- multichoicedef 18, 6, 52, 2, 0
+ multichoicedefault 18, 6, 52, 2, 0
switch RESULT
case 0, SlateportCity_Harbor_EventScript_15613F
case 1, SlateportCity_Harbor_EventScript_156167
@@ -192,7 +192,7 @@ SlateportCity_Harbor_EventScript_156135:: @ 8156135
SlateportCity_Harbor_EventScript_15613F:: @ 815613F
msgbox SlateportCity_Harbor_Text_17FB81, 5
compare RESULT, 0
- jumpeq SlateportCity_Harbor_EventScript_15618A
+ goto_if_eq SlateportCity_Harbor_EventScript_15618A
setvar 0x40b4, 1
call SlateportCity_Harbor_EventScript_156196
warp SSTidalCorridor, 255, 1, 10
@@ -203,7 +203,7 @@ SlateportCity_Harbor_EventScript_15613F:: @ 815613F
SlateportCity_Harbor_EventScript_156167:: @ 8156167
msgbox SlateportCity_Harbor_Text_17FB9C, 5
compare RESULT, 0
- jumpeq SlateportCity_Harbor_EventScript_15618A
+ goto_if_eq SlateportCity_Harbor_EventScript_15618A
call SlateportCity_Harbor_EventScript_156196
warp BattleTower_Outside, 255, 19, 23
waitstate
@@ -212,23 +212,23 @@ SlateportCity_Harbor_EventScript_156167:: @ 8156167
SlateportCity_Harbor_EventScript_15618A:: @ 815618A
message SlateportCity_Harbor_Text_17FBE5
- waittext
- jump SlateportCity_Harbor_EventScript_1560FD
+ waitmessage
+ goto SlateportCity_Harbor_EventScript_1560FD
end
SlateportCity_Harbor_EventScript_156196:: @ 8156196
msgbox SlateportCity_Harbor_Text_17FBB6, 4
- closebutton
- move LAST_TALKED, SlateportCity_Harbor_Movement_1A0841
- waitmove 0
- pause 30
- spriteinvisible LAST_TALKED, 9, 8
+ closemessage
+ applymovement LAST_TALKED, SlateportCity_Harbor_Movement_1A0841
+ waitmovement 0
+ delay 30
+ hideobject LAST_TALKED, 9, 8
compare FACING, 2
- callif 1, SlateportCity_Harbor_EventScript_1561EF
+ call_if 1, SlateportCity_Harbor_EventScript_1561EF
compare FACING, 4
- callif 1, SlateportCity_Harbor_EventScript_1561E4
- pause 30
- spriteinvisible 255, 0, 0
+ call_if 1, SlateportCity_Harbor_EventScript_1561E4
+ delay 30
+ hideobject 255, 0, 0
setvar 0x8004, 5
call SlateportCity_Harbor_EventScript_1A040E
return
@@ -239,13 +239,13 @@ SlateportCity_Harbor_EventScript_1561DA:: @ 81561DA
end
SlateportCity_Harbor_EventScript_1561E4:: @ 81561E4
- move 255, SlateportCity_Harbor_Movement_1561FA
- waitmove 0
+ applymovement 255, SlateportCity_Harbor_Movement_1561FA
+ waitmovement 0
return
SlateportCity_Harbor_EventScript_1561EF:: @ 81561EF
- move 255, SlateportCity_Harbor_Movement_1561FD
- waitmove 0
+ applymovement 255, SlateportCity_Harbor_Movement_1561FD
+ waitmovement 0
return
SlateportCity_Harbor_Movement_1561FA:: @ 81561FA
@@ -269,17 +269,17 @@ SlateportCity_Harbor_EventScript_156211:: @ 8156211
lock
faceplayer
checkflag 2061
- jumpeq SlateportCity_Harbor_EventScript_15626F
+ goto_if_eq SlateportCity_Harbor_EventScript_15626F
checkflag 271
- jumpeq SlateportCity_Harbor_EventScript_156265
+ goto_if_eq SlateportCity_Harbor_EventScript_156265
checkflag 112
- jumpeq SlateportCity_Harbor_EventScript_156258
+ goto_if_eq SlateportCity_Harbor_EventScript_156258
compare 0x40a0, 2
- jumpeq SlateportCity_Harbor_EventScript_15624E
+ goto_if_eq SlateportCity_Harbor_EventScript_15624E
msgbox SlateportCity_Harbor_Text_17FD1C, 4
- closebutton
- move LAST_TALKED, SlateportCity_Harbor_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, SlateportCity_Harbor_Movement_1A083D
+ waitmovement 0
release
end
@@ -301,12 +301,12 @@ SlateportCity_Harbor_EventScript_156265:: @ 8156265
SlateportCity_Harbor_EventScript_15626F:: @ 815626F
compare 0x4001, 1
- jumpeq SlateportCity_Harbor_EventScript_156380
+ goto_if_eq SlateportCity_Harbor_EventScript_156380
checkitem ITEM_SCANNER, 1
compare RESULT, 1
- jumpeq SlateportCity_Harbor_EventScript_1562A7
+ goto_if_eq SlateportCity_Harbor_EventScript_1562A7
checkflag 2052
- jumpeq SlateportCity_Harbor_EventScript_15629D
+ goto_if_eq SlateportCity_Harbor_EventScript_15629D
msgbox SlateportCity_Harbor_Text_18017B, 4
release
end
@@ -318,8 +318,8 @@ SlateportCity_Harbor_EventScript_15629D:: @ 815629D
SlateportCity_Harbor_EventScript_1562A7:: @ 81562A7
message SlateportCity_Harbor_Text_18028B
- waittext
- jump SlateportCity_Harbor_EventScript_1562B3
+ waitmessage
+ goto SlateportCity_Harbor_EventScript_1562B3
end
SlateportCity_Harbor_EventScript_1562B3:: @ 81562B3
@@ -334,27 +334,27 @@ SlateportCity_Harbor_EventScript_1562B3:: @ 81562B3
SlateportCity_Harbor_EventScript_1562EA:: @ 81562EA
msgbox SlateportCity_Harbor_Text_1803DD, 5
compare RESULT, 0
- jumpeq SlateportCity_Harbor_EventScript_156374
+ goto_if_eq SlateportCity_Harbor_EventScript_156374
giveitem ITEM_DEEP_SEA_TOOTH
compare RESULT, 0
- jumpeq SlateportCity_Harbor_EventScript_1A029B
+ goto_if_eq SlateportCity_Harbor_EventScript_1A029B
removeitem ITEM_SCANNER, 1
msgbox SlateportCity_Harbor_Text_18046B, 4
setflag 294
- jump SlateportCity_Harbor_EventScript_156380
+ goto SlateportCity_Harbor_EventScript_156380
end
SlateportCity_Harbor_EventScript_15632A:: @ 815632A
msgbox SlateportCity_Harbor_Text_180412, 5
compare RESULT, 0
- jumpeq SlateportCity_Harbor_EventScript_156374
+ goto_if_eq SlateportCity_Harbor_EventScript_156374
giveitem ITEM_DEEP_SEA_SCALE
compare RESULT, 0
- jumpeq SlateportCity_Harbor_EventScript_1A029B
+ goto_if_eq SlateportCity_Harbor_EventScript_1A029B
removeitem ITEM_SCANNER, 1
msgbox SlateportCity_Harbor_Text_18046B, 4
setflag 294
- jump SlateportCity_Harbor_EventScript_156380
+ goto SlateportCity_Harbor_EventScript_156380
end
SlateportCity_Harbor_EventScript_15636A:: @ 815636A
@@ -364,8 +364,8 @@ SlateportCity_Harbor_EventScript_15636A:: @ 815636A
SlateportCity_Harbor_EventScript_156374:: @ 8156374
message SlateportCity_Harbor_Text_180447
- waittext
- jump SlateportCity_Harbor_EventScript_1562B3
+ waitmessage
+ goto SlateportCity_Harbor_EventScript_1562B3
end
SlateportCity_Harbor_EventScript_156380:: @ 8156380
diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc
index 4161889e1..c72aa229a 100644
--- a/data/scripts/maps/SlateportCity_House1.inc
+++ b/data/scripts/maps/SlateportCity_House1.inc
@@ -6,9 +6,9 @@ SlateportCity_House1_EventScript_15567B:: @ 815567B
faceplayer
msgbox SlateportCity_House1_Text_17D46A, 5
compare RESULT, 1
- jumpeq SlateportCity_House1_EventScript_15569C
+ goto_if_eq SlateportCity_House1_EventScript_15569C
compare RESULT, 0
- jumpeq SlateportCity_House1_EventScript_1556BF
+ goto_if_eq SlateportCity_House1_EventScript_1556BF
end
SlateportCity_House1_EventScript_15569C:: @ 815569C
@@ -16,9 +16,9 @@ SlateportCity_House1_EventScript_15569C:: @ 815569C
special sub_80F9A0C
waitstate
compare 0x8004, 255
- jumpif 5, SlateportCity_House1_EventScript_1556C9
+ goto_if 5, SlateportCity_House1_EventScript_1556C9
compare 0x8004, 255
- jumpeq SlateportCity_House1_EventScript_1556BF
+ goto_if_eq SlateportCity_House1_EventScript_1556BF
end
SlateportCity_House1_EventScript_1556BF:: @ 81556BF
@@ -27,22 +27,22 @@ SlateportCity_House1_EventScript_1556BF:: @ 81556BF
end
SlateportCity_House1_EventScript_1556C9:: @ 81556C9
- specialval RESULT, ScriptGetPartyMonSpecies
+ specialvar RESULT, ScriptGetPartyMonSpecies
compare RESULT, SPECIES_EGG
- jumpeq SlateportCity_House1_EventScript_15571C
+ goto_if_eq SlateportCity_House1_EventScript_15571C
special sub_80BFAE0
special sub_80BFB10
compare RESULT, 1
- jumpeq SlateportCity_House1_EventScript_155726
- specialval RESULT, sub_810F96C
+ goto_if_eq SlateportCity_House1_EventScript_155726
+ specialvar RESULT, sub_810F96C
special sub_80BFAE0
compare RESULT, 1
- jumpeq SlateportCity_House1_EventScript_155726
+ goto_if_eq SlateportCity_House1_EventScript_155726
msgbox SlateportCity_House1_Text_17D505, 5
compare RESULT, 1
- jumpeq SlateportCity_House1_EventScript_155730
+ goto_if_eq SlateportCity_House1_EventScript_155730
compare RESULT, 0
- jumpeq SlateportCity_House1_EventScript_1556BF
+ goto_if_eq SlateportCity_House1_EventScript_1556BF
end
SlateportCity_House1_EventScript_15571C:: @ 815571C
@@ -58,10 +58,10 @@ SlateportCity_House1_EventScript_155726:: @ 8155726
SlateportCity_House1_EventScript_155730:: @ 8155730
msgbox SlateportCity_House1_Text_17D580, 4
call SlateportCity_House1_EventScript_1A0678
- specialval RESULT, sub_80BF9B4
+ specialvar RESULT, sub_80BF9B4
special sub_80BFAE0
compare RESULT, 1
- jumpeq SlateportCity_House1_EventScript_15575A
+ goto_if_eq SlateportCity_House1_EventScript_15575A
msgbox SlateportCity_House1_Text_17D63A, 4
release
end
diff --git a/data/scripts/maps/SlateportCity_House2.inc b/data/scripts/maps/SlateportCity_House2.inc
index 2d50f0851..934fae153 100644
--- a/data/scripts/maps/SlateportCity_House2.inc
+++ b/data/scripts/maps/SlateportCity_House2.inc
@@ -10,7 +10,7 @@ SlateportCity_House2_EventScript_156399:: @ 8156399
faceplayer
checkitem ITEM_CONTEST_PASS, 1
compare RESULT, 1
- jumpeq SlateportCity_House2_EventScript_1563B5
+ goto_if_eq SlateportCity_House2_EventScript_1563B5
msgbox SlateportCity_House2_Text_180567, 4
release
end
diff --git a/data/scripts/maps/SlateportCity_Mart.inc b/data/scripts/maps/SlateportCity_Mart.inc
index 730afe6d4..39a1d5ba2 100644
--- a/data/scripts/maps/SlateportCity_Mart.inc
+++ b/data/scripts/maps/SlateportCity_Mart.inc
@@ -5,7 +5,7 @@ SlateportCity_Mart_EventScript_156411:: @ 8156411
lock
faceplayer
message SlateportCity_Mart_Text_1A0BE4
- waittext
+ waitmessage
pokemart SlateportCity_Mart_Items
msgbox SlateportCity_Mart_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc
index e84f8ccc6..1ee8ff39b 100644
--- a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc
+++ b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc
@@ -18,59 +18,59 @@ SlateportCity_OceanicMuseum_1F_EventScript_155ADB:: @ 8155ADB
SlateportCity_OceanicMuseum_1F_EventScript_155AE4:: @ 8155AE4
lockall
- move 255, SlateportCity_OceanicMuseum_1F_Movement_1A083F
- waitmove 0
- jump SlateportCity_OceanicMuseum_1F_EventScript_155B06
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_1A083F
+ waitmovement 0
+ goto SlateportCity_OceanicMuseum_1F_EventScript_155B06
end
SlateportCity_OceanicMuseum_1F_EventScript_155AF5:: @ 8155AF5
lockall
- move 255, SlateportCity_OceanicMuseum_1F_Movement_1A0843
- waitmove 0
- jump SlateportCity_OceanicMuseum_1F_EventScript_155B06
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_1A0843
+ waitmovement 0
+ goto SlateportCity_OceanicMuseum_1F_EventScript_155B06
end
SlateportCity_OceanicMuseum_1F_EventScript_155B06:: @ 8155B06
- showmoney 0, 0
- snop
+ showmoneybox 0, 0
+ nop
msgbox SlateportCity_OceanicMuseum_1F_Text_17E18D, 5
compare RESULT, 1
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_155B2D
- closebutton
- hidemoney 0, 0
- move 255, SlateportCity_OceanicMuseum_1F_Movement_155B8D
- waitmove 0
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155B2D
+ closemessage
+ hidemoneybox 0, 0
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_155B8D
+ waitmovement 0
releaseall
end
SlateportCity_OceanicMuseum_1F_EventScript_155B2D:: @ 8155B2D
checkmoney 0x32, 0
compare RESULT, 0
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_155B5A
- paymoney 0x32, 0
- updatemoney 0, 0
- snop
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155B5A
+ takemoney 0x32, 0
+ updatemoneybox 0, 0
+ nop
msgbox SlateportCity_OceanicMuseum_1F_Text_17E1DE, 4
setvar 0x40aa, 1
- hidemoney 0, 0
+ hidemoneybox 0, 0
releaseall
end
SlateportCity_OceanicMuseum_1F_EventScript_155B5A:: @ 8155B5A
checkflag 149
- jumpif 0, SlateportCity_OceanicMuseum_1F_EventScript_155B7B
+ goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_155B7B
msgbox SlateportCity_OceanicMuseum_1F_Text_17E1F5, 4
- closebutton
- hidemoney 0, 0
- move 255, SlateportCity_OceanicMuseum_1F_Movement_155B8D
- waitmove 0
+ closemessage
+ hidemoneybox 0, 0
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_155B8D
+ waitmovement 0
releaseall
end
SlateportCity_OceanicMuseum_1F_EventScript_155B7B:: @ 8155B7B
msgbox SlateportCity_OceanicMuseum_1F_Text_17E22D, 4
setvar 0x40aa, 1
- hidemoney 0, 0
+ hidemoneybox 0, 0
releaseall
end
@@ -157,40 +157,40 @@ SlateportCity_OceanicMuseum_1F_EventScript_155C31:: @ 8155C31
SlateportCity_OceanicMuseum_1F_EventScript_155C3A:: @ 8155C3A
lock
faceplayer
- pause 8
- playsfx 21
- move 13, SlateportCity_OceanicMuseum_1F_Movement_1A0833
- waitmove 0
- move 13, SlateportCity_OceanicMuseum_1F_Movement_1A0835
- waitmove 0
+ delay 8
+ playse 21
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_1A0833
+ waitmovement 0
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_1A0835
+ waitmovement 0
msgbox SlateportCity_OceanicMuseum_1F_Text_17E582, 4
giveitem ITEM_TM46
compare RESULT, 0
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_155CC2
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155CC2
setflag 269
msgbox SlateportCity_OceanicMuseum_1F_Text_17E606, 4
- closebutton
+ closemessage
compare FACING, 2
- jumpeq SlateportCity_OceanicMuseum_1F_EventScript_155C98
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155C98
compare FACING, 2
- jumpif 5, SlateportCity_OceanicMuseum_1F_EventScript_155CAD
+ goto_if 5, SlateportCity_OceanicMuseum_1F_EventScript_155CAD
end
SlateportCity_OceanicMuseum_1F_EventScript_155C98:: @ 8155C98
- move 13, SlateportCity_OceanicMuseum_1F_Movement_155CD3
- waitmove 0
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_155CD3
+ waitmovement 0
setflag 965
- playsfx 9
- disappear 13
+ playse 9
+ removeobject 13
release
end
SlateportCity_OceanicMuseum_1F_EventScript_155CAD:: @ 8155CAD
- move 13, SlateportCity_OceanicMuseum_1F_Movement_155CCC
- waitmove 0
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_155CCC
+ waitmovement 0
setflag 965
- playsfx 9
- disappear 13
+ playse 9
+ removeobject 13
release
end
diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc
index 57bfbbd03..e379c633d 100644
--- a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc
+++ b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc
@@ -10,82 +10,82 @@ SlateportCity_OceanicMuseum_2F_EventScript_155CE6:: @ 8155CE6
lock
faceplayer
msgbox SlateportCity_OceanicMuseum_2F_Text_17ECFD, 4
- closebutton
- playmusic BGM_EVIL_TEAM, 1
- reappear 3
- move 3, SlateportCity_OceanicMuseum_2F_Movement_155EB4
- waitmove 0
- reappear 4
- move 4, SlateportCity_OceanicMuseum_2F_Movement_155EC3
- waitmove 0
- move 3, SlateportCity_OceanicMuseum_2F_Movement_155EB8
- move 4, SlateportCity_OceanicMuseum_2F_Movement_155EC5
- waitmove 0
+ closemessage
+ playbgm BGM_EVIL_TEAM, 1
+ addobject 3
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EB4
+ waitmovement 0
+ addobject 4
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EC3
+ waitmovement 0
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EB8
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EC5
+ waitmovement 0
compare FACING, 1
- callif 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62
compare FACING, 4
- callif 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62
msgbox SlateportCity_OceanicMuseum_2F_Text_17EDAE, 4
compare FACING, 4
- callif 5, SlateportCity_OceanicMuseum_2F_EventScript_155E6D
+ call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_155E6D
msgbox SlateportCity_OceanicMuseum_2F_Text_17EDD7, 4
msgbox SlateportCity_OceanicMuseum_2F_Text_17EE01, 4
- closebutton
- move 4, SlateportCity_OceanicMuseum_2F_Movement_155EB2
- waitmove 0
+ closemessage
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EB2
+ waitmovement 0
compare FACING, 1
- callif 1, SlateportCity_OceanicMuseum_2F_EventScript_155E78
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E78
compare FACING, 3
- callif 1, SlateportCity_OceanicMuseum_2F_EventScript_155E83
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E83
trainerbattle 3, OPPONENT_MUSEUM_2F_GRUNT_1, 0, SlateportCity_OceanicMuseum_2F_Text_17EE4E
msgbox SlateportCity_OceanicMuseum_2F_Text_17EE66, 4
- closebutton
- move 4, SlateportCity_OceanicMuseum_2F_Movement_155EBF
- waitmove 0
- move 3, SlateportCity_OceanicMuseum_2F_Movement_155EB2
- waitmove 0
+ closemessage
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EBF
+ waitmovement 0
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EB2
+ waitmovement 0
msgbox SlateportCity_OceanicMuseum_2F_Text_17EEA5, 4
- playmusicbattle 0
+ savebgm 0
trainerbattle 3, OPPONENT_MUSEUM_2F_GRUNT_2, 0, SlateportCity_OceanicMuseum_2F_Text_17EED6
- move 3, SlateportCity_OceanicMuseum_2F_Movement_155EBF
- waitmove 0
- move 3, SlateportCity_OceanicMuseum_2F_Movement_1A0845
- move 4, SlateportCity_OceanicMuseum_2F_Movement_1A0841
- waitmove 0
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EBF
+ waitmovement 0
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_1A0845
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_1A0841
+ waitmovement 0
msgbox SlateportCity_OceanicMuseum_2F_Text_17EEEA, 4
- closebutton
- pause 35
- reappear 2
- move 2, SlateportCity_OceanicMuseum_2F_Movement_155EA8
- move 4, SlateportCity_OceanicMuseum_2F_Movement_155ECE
- waitmove 0
+ closemessage
+ delay 35
+ addobject 2
+ applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_155EA8
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155ECE
+ waitmovement 0
msgbox SlateportCity_OceanicMuseum_2F_Text_17EF62, 4
- move 2, SlateportCity_OceanicMuseum_2F_Movement_155EA6
- waitmove 0
+ applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_155EA6
+ waitmovement 0
.ifdef SAPPHIRE
msgbox SlateportCity_OceanicMuseum_2F_Text_17EFC9, 4
.else
msgbox SlateportCity_OceanicMuseum_2F_Text_17F17E, 4
.endif
- closebutton
+ closemessage
fadescreen 1
- disappear 2
- disappear 3
- disappear 4
+ removeobject 2
+ removeobject 3
+ removeobject 4
fadescreen 0
- pause 30
+ delay 30
setflag 883
- move 255, SlateportCity_OceanicMuseum_2F_Movement_1A0843
- waitmove 0
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_1A0843
+ waitmovement 0
msgbox SlateportCity_OceanicMuseum_2F_Text_17F352, 4
setvar 0x8004, 269
call SlateportCity_OceanicMuseum_2F_EventScript_1A067F
msgbox SlateportCity_OceanicMuseum_2F_Text_17F433, 4
- closebutton
- move 1, SlateportCity_OceanicMuseum_2F_Movement_155E98
- waitmove 0
- playsfx 9
- disappear 1
+ closemessage
+ applymovement 1, SlateportCity_OceanicMuseum_2F_Movement_155E98
+ waitmovement 0
+ playse 9
+ removeobject 1
setflag 900
setflag 149
clearflag 947
@@ -94,23 +94,23 @@ SlateportCity_OceanicMuseum_2F_EventScript_155CE6:: @ 8155CE6
end
SlateportCity_OceanicMuseum_2F_EventScript_155E62:: @ 8155E62
- move 255, SlateportCity_OceanicMuseum_2F_Movement_1A083F
- waitmove 0
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_1A083F
+ waitmovement 0
return
SlateportCity_OceanicMuseum_2F_EventScript_155E6D:: @ 8155E6D
- move 1, SlateportCity_OceanicMuseum_2F_Movement_1A083F
- waitmove 0
+ applymovement 1, SlateportCity_OceanicMuseum_2F_Movement_1A083F
+ waitmovement 0
return
SlateportCity_OceanicMuseum_2F_EventScript_155E78:: @ 8155E78
- move 255, SlateportCity_OceanicMuseum_2F_Movement_155E8E
- waitmove 0
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_155E8E
+ waitmovement 0
return
SlateportCity_OceanicMuseum_2F_EventScript_155E83:: @ 8155E83
- move 255, SlateportCity_OceanicMuseum_2F_Movement_155E92
- waitmove 0
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_155E92
+ waitmovement 0
return
SlateportCity_OceanicMuseum_2F_Movement_155E8E:: @ 8155E8E
@@ -265,8 +265,8 @@ SlateportCity_OceanicMuseum_2F_EventScript_155F46:: @ 8155F46
lock
faceplayer
msgbox SlateportCity_OceanicMuseum_2F_Text_17F53B, 4
- closebutton
- move LAST_TALKED, SlateportCity_OceanicMuseum_2F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement LAST_TALKED, SlateportCity_OceanicMuseum_2F_Movement_1A083D
+ waitmovement 0
release
end
diff --git a/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc b/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc
index c550a6850..9aa326f70 100644
--- a/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc
@@ -10,7 +10,7 @@ SlateportCity_PokemonCenter_1F_MapScript1_1563C5:: @ 81563C5
SlateportCity_PokemonCenter_1F_EventScript_1563CE:: @ 81563CE
setvar 0x800b, 1
call SlateportCity_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc
index 0a7466a3b..4195ad43a 100644
--- a/data/scripts/maps/SlateportCity_PokemonFanClub.inc
+++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc
@@ -18,27 +18,27 @@ SlateportCity_PokemonFanClub_EventScript_15576B:: @ 815576B
SlateportCity_PokemonFanClub_EventScript_155795:: @ 8155795
setvar 0x40b7, 1
msgbox SlateportCity_PokemonFanClub_Text_17D773, 4
- jump SlateportCity_PokemonFanClub_EventScript_155808
+ goto SlateportCity_PokemonFanClub_EventScript_155808
end
SlateportCity_PokemonFanClub_EventScript_1557A8:: @ 81557A8
setvar 0x4002, 0
checkflag 204
- callif 1, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
checkflag 203
- callif 1, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
checkflag 202
- callif 1, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
checkflag 201
- callif 1, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
checkflag 200
- callif 1, SlateportCity_PokemonFanClub_EventScript_155893
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_155893
compare 0x4002, 5
- callif 1, SlateportCity_PokemonFanClub_EventScript_15588D
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_15588D
compare 0x40b7, 2
- jumpeq SlateportCity_PokemonFanClub_EventScript_1557FE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1557FE
msgbox SlateportCity_PokemonFanClub_Text_17DA14, 4
- jump SlateportCity_PokemonFanClub_EventScript_155808
+ goto SlateportCity_PokemonFanClub_EventScript_155808
end
SlateportCity_PokemonFanClub_EventScript_1557FE:: @ 81557FE
@@ -50,16 +50,16 @@ SlateportCity_PokemonFanClub_EventScript_155808:: @ 8155808
msgbox SlateportCity_PokemonFanClub_Text_17DA49, 4
setvar 0x4001, 0
checkflag 204
- callif 0, SlateportCity_PokemonFanClub_EventScript_1559FE
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_1559FE
checkflag 203
- callif 0, SlateportCity_PokemonFanClub_EventScript_1559E7
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_1559E7
checkflag 202
- callif 0, SlateportCity_PokemonFanClub_EventScript_1559D0
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_1559D0
checkflag 201
- callif 0, SlateportCity_PokemonFanClub_EventScript_1559B9
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_1559B9
checkflag 200
- callif 0, SlateportCity_PokemonFanClub_EventScript_1559A2
- bufferfirstpoke 0
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_1559A2
+ getfirstpartypokename 0
switch 0x4001
case 0, SlateportCity_PokemonFanClub_EventScript_155899
case 1, SlateportCity_PokemonFanClub_EventScript_1558A3
@@ -86,7 +86,7 @@ SlateportCity_PokemonFanClub_EventScript_155899:: @ 8155899
SlateportCity_PokemonFanClub_EventScript_1558A3:: @ 81558A3
checkitemspace ITEM_RED_SCARF, 1
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_155998
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998
msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4
setflag 200
giveitem ITEM_RED_SCARF
@@ -97,7 +97,7 @@ SlateportCity_PokemonFanClub_EventScript_1558A3:: @ 81558A3
SlateportCity_PokemonFanClub_EventScript_1558D4:: @ 81558D4
checkitemspace ITEM_BLUE_SCARF, 1
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_155998
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998
msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4
setflag 201
giveitem ITEM_BLUE_SCARF
@@ -108,7 +108,7 @@ SlateportCity_PokemonFanClub_EventScript_1558D4:: @ 81558D4
SlateportCity_PokemonFanClub_EventScript_155905:: @ 8155905
checkitemspace ITEM_PINK_SCARF, 1
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_155998
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998
msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4
setflag 202
giveitem ITEM_PINK_SCARF
@@ -119,7 +119,7 @@ SlateportCity_PokemonFanClub_EventScript_155905:: @ 8155905
SlateportCity_PokemonFanClub_EventScript_155936:: @ 8155936
checkitemspace ITEM_GREEN_SCARF, 1
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_155998
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998
msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4
setflag 203
giveitem ITEM_GREEN_SCARF
@@ -130,7 +130,7 @@ SlateportCity_PokemonFanClub_EventScript_155936:: @ 8155936
SlateportCity_PokemonFanClub_EventScript_155967:: @ 8155967
checkitemspace ITEM_YELLOW_SCARF, 1
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_155998
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998
msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4
setflag 204
giveitem ITEM_YELLOW_SCARF
@@ -144,9 +144,9 @@ SlateportCity_PokemonFanClub_EventScript_155998:: @ 8155998
end
SlateportCity_PokemonFanClub_EventScript_1559A2:: @ 81559A2
- specialval RESULT, CheckLeadMonCool
+ specialvar RESULT, CheckLeadMonCool
compare RESULT, 1
- callif 1, SlateportCity_PokemonFanClub_EventScript_1559B3
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_1559B3
return
SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3
@@ -154,9 +154,9 @@ SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3
return
SlateportCity_PokemonFanClub_EventScript_1559B9:: @ 81559B9
- specialval RESULT, CheckLeadMonBeauty
+ specialvar RESULT, CheckLeadMonBeauty
compare RESULT, 1
- callif 1, SlateportCity_PokemonFanClub_EventScript_1559CA
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_1559CA
return
SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA
@@ -164,9 +164,9 @@ SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA
return
SlateportCity_PokemonFanClub_EventScript_1559D0:: @ 81559D0
- specialval RESULT, CheckLeadMonCute
+ specialvar RESULT, CheckLeadMonCute
compare RESULT, 1
- callif 1, SlateportCity_PokemonFanClub_EventScript_1559E1
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_1559E1
return
SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1
@@ -174,9 +174,9 @@ SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1
return
SlateportCity_PokemonFanClub_EventScript_1559E7:: @ 81559E7
- specialval RESULT, CheckLeadMonSmart
+ specialvar RESULT, CheckLeadMonSmart
compare RESULT, 1
- callif 1, SlateportCity_PokemonFanClub_EventScript_1559F8
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_1559F8
return
SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8
@@ -184,9 +184,9 @@ SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8
return
SlateportCity_PokemonFanClub_EventScript_1559FE:: @ 81559FE
- specialval RESULT, CheckLeadMonTough
+ specialvar RESULT, CheckLeadMonTough
compare RESULT, 1
- callif 1, SlateportCity_PokemonFanClub_EventScript_155A0F
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_155A0F
return
SlateportCity_PokemonFanClub_EventScript_155A0F:: @ 8155A0F
@@ -197,24 +197,24 @@ SlateportCity_PokemonFanClub_EventScript_155A15:: @ 8155A15
lock
faceplayer
checkflag 278
- jumpeq SlateportCity_PokemonFanClub_EventScript_155A75
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_155A75
msgbox SlateportCity_PokemonFanClub_Text_17DE6B, 4
- specialval RESULT, GetLeadMonFriendshipScore
+ specialvar RESULT, GetLeadMonFriendshipScore
compare RESULT, 4
- jumpif 4, SlateportCity_PokemonFanClub_EventScript_155A3A
+ goto_if 4, SlateportCity_PokemonFanClub_EventScript_155A3A
release
end
SlateportCity_PokemonFanClub_EventScript_155A3A:: @ 8155A3A
- playsfx 21
- move LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0833
- waitmove 0
- move LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0833
+ waitmovement 0
+ applymovement LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0835
+ waitmovement 0
msgbox SlateportCity_PokemonFanClub_Text_17DF57, 4
giveitem ITEM_SOOTHE_BELL
compare RESULT, 0
- jumpeq SlateportCity_PokemonFanClub_EventScript_1A029B
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_1A029B
setflag 278
release
end
@@ -235,8 +235,8 @@ SlateportCity_PokemonFanClub_EventScript_155A88:: @ 8155A88
SlateportCity_PokemonFanClub_EventScript_155A91:: @ 8155A91
lock
faceplayer
- checksound
- pokecry SPECIES_SKITTY, 0
+ waitse
+ playpokecry SPECIES_SKITTY, 0
msgbox SlateportCity_PokemonFanClub_Text_17E14E, 4
waitpokecry
release
@@ -245,8 +245,8 @@ SlateportCity_PokemonFanClub_EventScript_155A91:: @ 8155A91
SlateportCity_PokemonFanClub_EventScript_155AA4:: @ 8155AA4
lock
faceplayer
- checksound
- pokecry SPECIES_ZIGZAGOON, 0
+ waitse
+ playpokecry SPECIES_ZIGZAGOON, 0
msgbox SlateportCity_PokemonFanClub_Text_17E164, 4
waitpokecry
release
@@ -255,8 +255,8 @@ SlateportCity_PokemonFanClub_EventScript_155AA4:: @ 8155AA4
SlateportCity_PokemonFanClub_EventScript_155AB7:: @ 8155AB7
lock
faceplayer
- checksound
- pokecry SPECIES_AZUMARILL, 0
+ waitse
+ playpokecry SPECIES_AZUMARILL, 0
msgbox SlateportCity_PokemonFanClub_Text_17E178, 4
waitpokecry
release
diff --git a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc
index 4c0596d29..9fe7f1f1a 100644
--- a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc
+++ b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc
@@ -4,52 +4,52 @@ SlateportCity_SternsShipyard_1F_MapScripts:: @ 8155335
SlateportCity_SternsShipyard_1F_EventScript_155336:: @ 8155336
lockall
checkflag 2052
- jumpeq SlateportCity_SternsShipyard_1F_EventScript_155388
+ goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_155388
checkflag 2061
- jumpeq SlateportCity_SternsShipyard_1F_EventScript_15539C
+ goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_15539C
checkflag 149
- jumpeq SlateportCity_SternsShipyard_1F_EventScript_1553CF
+ goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_1553CF
checkflag 148
- jumpeq SlateportCity_SternsShipyard_1F_EventScript_1553B0
+ goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_1553B0
msgbox SlateportCity_SternsShipyard_1F_Text_17C14B, 4
- move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
- waitmove 0
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
+ waitmovement 0
msgbox SlateportCity_SternsShipyard_1F_Text_17C1EC, 4
- closebutton
- move 1, SlateportCity_SternsShipyard_1F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A083D
+ waitmovement 0
setflag 148
setflag 882
releaseall
end
SlateportCity_SternsShipyard_1F_EventScript_155388:: @ 8155388
- move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
- waitmove 0
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
+ waitmovement 0
msgbox SlateportCity_SternsShipyard_1F_Text_17C472, 4
releaseall
end
SlateportCity_SternsShipyard_1F_EventScript_15539C:: @ 815539C
- move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
- waitmove 0
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
+ waitmovement 0
msgbox SlateportCity_SternsShipyard_1F_Text_17C3F7, 4
releaseall
end
SlateportCity_SternsShipyard_1F_EventScript_1553B0:: @ 81553B0
- move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
- waitmove 0
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
+ waitmovement 0
msgbox SlateportCity_SternsShipyard_1F_Text_17C2F2, 4
- closebutton
- move 1, SlateportCity_SternsShipyard_1F_Movement_1A083D
- waitmove 0
+ closemessage
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A083D
+ waitmovement 0
releaseall
end
SlateportCity_SternsShipyard_1F_EventScript_1553CF:: @ 81553CF
- move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
- waitmove 0
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839
+ waitmovement 0
msgbox SlateportCity_SternsShipyard_1F_Text_17C360, 4
releaseall
end
diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc
index 0c22fbc37..bddc5965d 100644
--- a/data/scripts/maps/SootopolisCity.inc
+++ b/data/scripts/maps/SootopolisCity.inc
@@ -6,19 +6,19 @@ SootopolisCity_MapScripts:: @ 814D07D
SootopolisCity_MapScript1_14D08D:: @ 814D08D
checkflag 129
- callif 0, SootopolisCity_EventScript_14D0A0
+ call_if 0, SootopolisCity_EventScript_14D0A0
checkflag 129
- callif 1, SootopolisCity_EventScript_14D0B1
+ call_if 1, SootopolisCity_EventScript_14D0B1
end
SootopolisCity_EventScript_14D0A0:: @ 814D0A0
- movespriteperm 3, 31, 18
+ setobjectxyperm 3, 31, 18
setmaptile 31, 32, 592, 1
return
SootopolisCity_EventScript_14D0B1:: @ 814D0B1
checkflag 113
- callif 0, SootopolisCity_EventScript_14D0BB
+ call_if 0, SootopolisCity_EventScript_14D0BB
return
SootopolisCity_EventScript_14D0BB:: @ 814D0BB
@@ -36,40 +36,40 @@ SootopolisCity_EventScript_14D0BB:: @ 814D0BB
SootopolisCity_MapScript1_14D10D:: @ 814D10D
setflag 2077
checkflag 113
- callif 1, SootopolisCity_EventScript_14D159
+ call_if 1, SootopolisCity_EventScript_14D159
checkflag 2090
- callif 1, SootopolisCity_EventScript_14D123
+ call_if 1, SootopolisCity_EventScript_14D123
end
SootopolisCity_EventScript_14D123:: @ 814D123
call SootopolisCity_EventScript_1A02C1
- movespriteperm 1, 29, 19
- movespriteperm 2, 33, 19
+ setobjectxyperm 1, 29, 19
+ setobjectxyperm 2, 33, 19
compare 0x405e, 1
- callif 1, SootopolisCity_EventScript_14D142
+ call_if 1, SootopolisCity_EventScript_14D142
return
SootopolisCity_EventScript_14D142:: @ 814D142
- movespriteperm 10, 29, 6
- spritebehave 10, 10
- movespriteperm 5, 30, 6
- spritebehave 5, 9
+ setobjectxyperm 10, 29, 6
+ setobjectmovementtype 10, 10
+ setobjectxyperm 5, 30, 6
+ setobjectmovementtype 5, 9
return
SootopolisCity_EventScript_14D159:: @ 814D159
- movespriteperm 10, 31, 33
- spritebehave 10, 8
+ setobjectxyperm 10, 31, 33
+ setobjectmovementtype 10, 8
return
SootopolisCity_MapScript1_14D165:: @ 814D165
- warp4 Underwater_SootopolisCity, 255, 9, 6
+ setdivewarp Underwater_SootopolisCity, 255, 9, 6
end
SootopolisCity_EventScript_14D16E:: @ 814D16E
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_EventScript_14D183
+ goto_if_eq SootopolisCity_EventScript_14D183
msgbox SootopolisCity_Text_1696A4, 4
release
end
@@ -90,30 +90,30 @@ SootopolisCity_EventScript_14D196:: @ 814D196
SootopolisCity_EventScript_14D19F:: @ 814D19F
lock
faceplayer
- checkdailyflags
+ dodailyevents
special GetPlayerBigGuyGirlString
checkflag 2258
- jumpeq SootopolisCity_EventScript_14D241
+ goto_if_eq SootopolisCity_EventScript_14D241
msgbox SootopolisCity_Text_1C63F2, 4
random 10
addvar RESULT, 20
addvar RESULT, 133
giveitem RESULT
compare RESULT, 0
- jumpeq SootopolisCity_EventScript_1A029B
+ goto_if_eq SootopolisCity_EventScript_1A029B
setflag 2258
msgbox SootopolisCity_Text_1C64D0, 4
random 2
compare RESULT, 0
- jumpeq SootopolisCity_EventScript_14D1FF
+ goto_if_eq SootopolisCity_EventScript_14D1FF
compare RESULT, 1
- jumpeq SootopolisCity_EventScript_14D220
+ goto_if_eq SootopolisCity_EventScript_14D220
end
SootopolisCity_EventScript_14D1FF:: @ 814D1FF
giveitem ITEM_FIGY_BERRY
compare RESULT, 0
- jumpeq SootopolisCity_EventScript_1A029B
+ goto_if_eq SootopolisCity_EventScript_1A029B
msgbox SootopolisCity_Text_1C650B, 4
release
end
@@ -121,7 +121,7 @@ SootopolisCity_EventScript_14D1FF:: @ 814D1FF
SootopolisCity_EventScript_14D220:: @ 814D220
giveitem ITEM_IAPAPA_BERRY
compare RESULT, 0
- jumpeq SootopolisCity_EventScript_1A029B
+ goto_if_eq SootopolisCity_EventScript_1A029B
msgbox SootopolisCity_Text_1C650B, 4
release
end
@@ -129,7 +129,7 @@ SootopolisCity_EventScript_14D220:: @ 814D220
SootopolisCity_EventScript_14D241:: @ 814D241
msgbox SootopolisCity_Text_1C6540, 5
compare RESULT, 1
- jumpeq SootopolisCity_EventScript_14D25E
+ goto_if_eq SootopolisCity_EventScript_14D25E
msgbox SootopolisCity_Text_1C6626, 4
release
end
@@ -143,7 +143,7 @@ SootopolisCity_EventScript_14D268:: @ 814D268
lock
faceplayer
checkflag 1236
- jumpeq SootopolisCity_EventScript_14D27D
+ goto_if_eq SootopolisCity_EventScript_14D27D
msgbox SootopolisCity_Text_16A4D6, 4
release
end
@@ -157,7 +157,7 @@ SootopolisCity_EventScript_14D287:: @ 814D287
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_EventScript_14D29C
+ goto_if_eq SootopolisCity_EventScript_14D29C
msgbox SootopolisCity_Text_169813, 4
release
end
@@ -171,7 +171,7 @@ SootopolisCity_EventScript_14D2A6:: @ 814D2A6
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_EventScript_14D2BB
+ goto_if_eq SootopolisCity_EventScript_14D2BB
msgbox SootopolisCity_Text_1698A0, 4
release
end
@@ -185,7 +185,7 @@ SootopolisCity_EventScript_14D2C5:: @ 814D2C5
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_EventScript_14D2DA
+ goto_if_eq SootopolisCity_EventScript_14D2DA
msgbox SootopolisCity_Text_1697A7, 4
release
end
@@ -213,81 +213,81 @@ ClosedSootopolisGymDoorScript:: @ 814D2FF
SootopolisCity_EventScript_14D308:: @ 814D308
lockall
- move 10, SootopolisCity_Movement_1A083F
- move 255, SootopolisCity_Movement_1A0843
- waitmove 0
- playsfx 21
- move 10, SootopolisCity_Movement_1A0833
- waitmove 0
- move 10, SootopolisCity_Movement_1A0835
- waitmove 0
- move 10, SootopolisCity_Movement_14D413
- waitmove 0
+ applymovement 10, SootopolisCity_Movement_1A083F
+ applymovement 255, SootopolisCity_Movement_1A0843
+ waitmovement 0
+ playse 21
+ applymovement 10, SootopolisCity_Movement_1A0833
+ waitmovement 0
+ applymovement 10, SootopolisCity_Movement_1A0835
+ waitmovement 0
+ applymovement 10, SootopolisCity_Movement_14D413
+ waitmovement 0
.ifdef SAPPHIRE
msgbox SootopolisCity_Text_169988, 4
.else
msgbox SootopolisCity_Text_169E0F, 4
.endif
- closebutton
- move 10, SootopolisCity_Movement_14D417
- move 255, SootopolisCity_Movement_14D440
- waitmove 10
+ closemessage
+ applymovement 10, SootopolisCity_Movement_14D417
+ applymovement 255, SootopolisCity_Movement_14D440
+ waitmovement 10
.ifdef SAPPHIRE
msgbox SootopolisCity_Text_1699FD, 4
.else
msgbox SootopolisCity_Text_169E82, 4
.endif
- playsfx 21
- move 5, SootopolisCity_Movement_1A0833
- waitmove 0
- move 5, SootopolisCity_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 5, SootopolisCity_Movement_1A0833
+ waitmovement 0
+ applymovement 5, SootopolisCity_Movement_1A0835
+ waitmovement 0
.ifdef SAPPHIRE
msgbox SootopolisCity_Text_169AB7, 4
.else
msgbox SootopolisCity_Text_169F3C, 4
.endif
- closebutton
- pause 30
- move 5, SootopolisCity_Movement_14D46A
- move 10, SootopolisCity_Movement_14D41D
- move 255, SootopolisCity_Movement_14D445
- waitmove 0
- move 5, SootopolisCity_Movement_1A0843
- move 255, SootopolisCity_Movement_1A0843
- waitmove 0
- pause 30
- move 10, SootopolisCity_Movement_1A0845
- waitmove 0
+ closemessage
+ delay 30
+ applymovement 5, SootopolisCity_Movement_14D46A
+ applymovement 10, SootopolisCity_Movement_14D41D
+ applymovement 255, SootopolisCity_Movement_14D445
+ waitmovement 0
+ applymovement 5, SootopolisCity_Movement_1A0843
+ applymovement 255, SootopolisCity_Movement_1A0843
+ waitmovement 0
+ delay 30
+ applymovement 10, SootopolisCity_Movement_1A0845
+ waitmovement 0
.ifdef SAPPHIRE
msgbox SootopolisCity_Text_169AE7, 4
.else
msgbox SootopolisCity_Text_169F6B, 4
.endif
- closebutton
- pause 30
- move 5, SootopolisCity_Movement_14D47C
- move 255, SootopolisCity_Movement_14D457
- move 10, SootopolisCity_Movement_14D42D
- waitmove 0
- move 5, SootopolisCity_Movement_1A083F
- waitmove 0
+ closemessage
+ delay 30
+ applymovement 5, SootopolisCity_Movement_14D47C
+ applymovement 255, SootopolisCity_Movement_14D457
+ applymovement 10, SootopolisCity_Movement_14D42D
+ waitmovement 0
+ applymovement 5, SootopolisCity_Movement_1A083F
+ waitmovement 0
.ifdef SAPPHIRE
msgbox SootopolisCity_Text_169BC7, 4
.else
msgbox SootopolisCity_Text_16A06C, 4
.endif
- move 255, SootopolisCity_Movement_1A083F
- waitmove 0
+ applymovement 255, SootopolisCity_Movement_1A083F
+ waitmovement 0
.ifdef SAPPHIRE
msgbox SootopolisCity_Text_169C99, 4
.else
msgbox SootopolisCity_Text_16A13E, 4
.endif
- moveoffscreen 5
- spritebehave 5, 9
- moveoffscreen 10
- spritebehave 10, 10
+ moveobjectoffscreen 5
+ setobjectmovementtype 5, 9
+ moveobjectoffscreen 10
+ setobjectmovementtype 10, 10
setvar 0x405e, 2
releaseall
end
@@ -446,7 +446,7 @@ SootopolisCity_EventScript_14D498:: @ 814D498
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_EventScript_14D4AD
+ goto_if_eq SootopolisCity_EventScript_14D4AD
.ifdef SAPPHIRE
msgbox SootopolisCity_Text_169DA6, 4
.else
@@ -457,14 +457,14 @@ SootopolisCity_EventScript_14D498:: @ 814D498
SootopolisCity_EventScript_14D4AD:: @ 814D4AD
msgbox SootopolisCity_Text_16A33E, 4
- closebutton
- move LAST_TALKED, SootopolisCity_Movement_1A0845
- waitmove 0
- pause 50
- setanimation 0, 1
- doanimation 30
- pause 15
- disappear LAST_TALKED
- checkanimation 30
+ closemessage
+ applymovement LAST_TALKED, SootopolisCity_Movement_1A0845
+ waitmovement 0
+ delay 50
+ setfieldeffect 0, 1
+ dofieldeffect 30
+ delay 15
+ removeobject LAST_TALKED
+ waitfieldeffect 30
release
end
diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc
index 32bf4d619..51b67ee4b 100644
--- a/data/scripts/maps/SootopolisCity_Gym_1F.inc
+++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc
@@ -20,11 +20,11 @@ SootopolisCity_Gym_1F_MapScript1_15AF25:: @ 815AF25
SootopolisCity_Gym_1F_EventScript_15AF2E:: @ 815AF2E
compare 0x4022, 8
- jumpif 0, SootopolisCity_Gym_1F_EventScript_15AF85
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF85
compare 0x4022, 28
- jumpif 0, SootopolisCity_Gym_1F_EventScript_15AF73
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF73
compare 0x4022, 69
- jumpif 0, SootopolisCity_Gym_1F_EventScript_15AF61
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF61
setmaptile 8, 4, 519, 0
setmaptile 8, 5, 519, 0
@@ -48,35 +48,35 @@ SootopolisCity_Gym_1F_MapScript2_15AF86:: @ 815AF86
SootopolisCity_Gym_1F_EventScript_15AFA8:: @ 815AFA8
addvar 0x4022, 1
- pause 40
- playsfx 40
+ delay 40
+ playse 40
call SootopolisCity_Gym_1F_EventScript_15AF2E
special DrawWholeMapView
end
SootopolisCity_Gym_1F_EventScript_15AFBC:: @ 815AFBC
addvar 0x4022, 1
- pause 40
- playsfx 40
+ delay 40
+ playse 40
call SootopolisCity_Gym_1F_EventScript_15AF2E
special DrawWholeMapView
end
SootopolisCity_Gym_1F_EventScript_15AFD0:: @ 815AFD0
addvar 0x4022, 1
- pause 40
- playsfx 40
+ delay 40
+ playse 40
call SootopolisCity_Gym_1F_EventScript_15AF2E
special DrawWholeMapView
end
SootopolisCity_Gym_1F_EventScript_15AFE4:: @ 815AFE4
lockall
- pause 20
- move 255, SootopolisCity_Gym_1F_Movement_15AFFD
- waitmove 0
- playsfx 43
- pause 60
+ delay 20
+ applymovement 255, SootopolisCity_Gym_1F_Movement_15AFFD
+ waitmovement 0
+ playse 43
+ delay 60
warphole SootopolisCity_Gym_B1F
waitstate
end
@@ -88,29 +88,29 @@ SootopolisCity_Gym_1F_Movement_15AFFD:: @ 815AFFD
SootopolisCity_Gym_1F_EventScript_15AFFF:: @ 815AFFF
trainerbattle 1, OPPONENT_WALLACE, 0, SootopolisCity_Gym_1F_Text_18F0CA, SootopolisCity_Gym_1F_Text_18F282, SootopolisCity_Gym_1F_EventScript_15B02D
checkflag 172
- jumpif 0, SootopolisCity_Gym_1F_EventScript_15B056
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_15B056
checkflag 2060
- jumpif 0, SootopolisCity_Gym_1F_EventScript_15B07A
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_15B07A
msgbox SootopolisCity_Gym_1F_Text_18F4D7, 4
release
end
SootopolisCity_Gym_1F_EventScript_15B02D:: @ 815B02D
message SootopolisCity_Gym_1F_Text_18F342
- waittext
+ waitmessage
call SootopolisCity_Gym_1F_EventScript_1A02C5
msgbox SootopolisCity_Gym_1F_Text_18F36B, 4
setflag 1236
setflag 2062
setvar 0x8008, 8
call SootopolisCity_Gym_1F_EventScript_1A01C0
- jump SootopolisCity_Gym_1F_EventScript_15B056
+ goto SootopolisCity_Gym_1F_EventScript_15B056
end
SootopolisCity_Gym_1F_EventScript_15B056:: @ 815B056
giveitem ITEM_TM03
compare RESULT, 0
- jumpeq SootopolisCity_Gym_1F_EventScript_1A029B
+ goto_if_eq SootopolisCity_Gym_1F_EventScript_1A029B
msgbox SootopolisCity_Gym_1F_Text_18F466, 4
setflag 172
release
@@ -125,7 +125,7 @@ SootopolisCity_Gym_1F_EventScript_15B084:: @ 815B084
lock
faceplayer
checkflag 1236
- jumpeq SootopolisCity_Gym_1F_EventScript_15B099
+ goto_if_eq SootopolisCity_Gym_1F_EventScript_15B099
msgbox SootopolisCity_Gym_1F_Text_18E8A5, 4
release
end
@@ -138,15 +138,15 @@ SootopolisCity_Gym_1F_EventScript_15B099:: @ 815B099
SootopolisCity_Gym_1F_EventScript_15B0A3:: @ 815B0A3
lockall
checkflag 2062
- jumpeq SootopolisCity_Gym_1F_EventScript_15B0C3
- jump SootopolisCity_Gym_1F_EventScript_15B0CD
+ goto_if_eq SootopolisCity_Gym_1F_EventScript_15B0C3
+ goto SootopolisCity_Gym_1F_EventScript_15B0CD
end
SootopolisCity_Gym_1F_EventScript_15B0B3:: @ 815B0B3
lockall
checkflag 2062
- jumpeq SootopolisCity_Gym_1F_EventScript_15B0C3
- jump SootopolisCity_Gym_1F_EventScript_15B0CD
+ goto_if_eq SootopolisCity_Gym_1F_EventScript_15B0C3
+ goto SootopolisCity_Gym_1F_EventScript_15B0CD
end
SootopolisCity_Gym_1F_EventScript_15B0C3:: @ 815B0C3
diff --git a/data/scripts/maps/SootopolisCity_House1.inc b/data/scripts/maps/SootopolisCity_House1.inc
index 604f04c4f..4877d6d6e 100644
--- a/data/scripts/maps/SootopolisCity_House1.inc
+++ b/data/scripts/maps/SootopolisCity_House1.inc
@@ -5,7 +5,7 @@ SootopolisCity_House1_EventScript_15B29B:: @ 815B29B
lock
faceplayer
checkflag 121
- jumpeq SootopolisCity_House1_EventScript_15B2C7
+ goto_if_eq SootopolisCity_House1_EventScript_15B2C7
msgbox SootopolisCity_House1_Text_18F991, 4
giveitem ITEM_TM31
setflag 121
@@ -21,8 +21,8 @@ SootopolisCity_House1_EventScript_15B2C7:: @ 815B2C7
SootopolisCity_House1_EventScript_15B2D1:: @ 815B2D1
lock
faceplayer
- checksound
- pokecry SPECIES_KECLEON, 0
+ waitse
+ playpokecry SPECIES_KECLEON, 0
msgbox SootopolisCity_House1_Text_18FA50, 4
waitpokecry
release
diff --git a/data/scripts/maps/SootopolisCity_House2.inc b/data/scripts/maps/SootopolisCity_House2.inc
index 409a871a8..011806291 100644
--- a/data/scripts/maps/SootopolisCity_House2.inc
+++ b/data/scripts/maps/SootopolisCity_House2.inc
@@ -6,9 +6,9 @@ SootopolisCity_House2_EventScript_15B2E5:: @ 815B2E5
faceplayer
msgbox SootopolisCity_House2_Text_18FA66, 5
compare RESULT, 1
- callif 1, SootopolisCity_House2_EventScript_15B307
+ call_if 1, SootopolisCity_House2_EventScript_15B307
compare RESULT, 0
- callif 1, SootopolisCity_House2_EventScript_15B310
+ call_if 1, SootopolisCity_House2_EventScript_15B310
release
end
diff --git a/data/scripts/maps/SootopolisCity_House3.inc b/data/scripts/maps/SootopolisCity_House3.inc
index 88e35730e..f1bf0bf19 100644
--- a/data/scripts/maps/SootopolisCity_House3.inc
+++ b/data/scripts/maps/SootopolisCity_House3.inc
@@ -6,7 +6,7 @@ SootopolisCity_House3_EventScript_15B31A:: @ 815B31A
faceplayer
msgbox SootopolisCity_House3_Text_18FB36, 5
compare RESULT, 1
- jumpeq SootopolisCity_House3_EventScript_15B339
+ goto_if_eq SootopolisCity_House3_EventScript_15B339
msgbox SootopolisCity_House3_Text_18FBC0, 4
release
end
diff --git a/data/scripts/maps/SootopolisCity_House4.inc b/data/scripts/maps/SootopolisCity_House4.inc
index ee3bfe61b..c192a0340 100644
--- a/data/scripts/maps/SootopolisCity_House4.inc
+++ b/data/scripts/maps/SootopolisCity_House4.inc
@@ -12,8 +12,8 @@ SootopolisCity_House4_EventScript_15B356:: @ 815B356
SootopolisCity_House4_EventScript_15B35F:: @ 815B35F
lock
faceplayer
- checksound
- pokecry SPECIES_AZUMARILL, 0
+ waitse
+ playpokecry SPECIES_AZUMARILL, 0
msgbox SootopolisCity_House4_Text_18FDD8, 4
waitpokecry
release
diff --git a/data/scripts/maps/SootopolisCity_House6.inc b/data/scripts/maps/SootopolisCity_House6.inc
index cccfa78ee..a0fdc5ca4 100644
--- a/data/scripts/maps/SootopolisCity_House6.inc
+++ b/data/scripts/maps/SootopolisCity_House6.inc
@@ -5,14 +5,14 @@ SootopolisCity_House6_EventScript_15B386:: @ 815B386
lock
faceplayer
checkflag 245
- jumpeq SootopolisCity_House6_EventScript_15B3CD
+ goto_if_eq SootopolisCity_House6_EventScript_15B3CD
msgbox SootopolisCity_House6_Text_18FEA1, 5
compare RESULT, 0
- callif 1, SootopolisCity_House6_EventScript_15B3C3
+ call_if 1, SootopolisCity_House6_EventScript_15B3C3
msgbox SootopolisCity_House6_Text_18FF12, 4
givedecoration 117
compare RESULT, 0
- jumpeq SootopolisCity_House6_EventScript_15B3D7
+ goto_if_eq SootopolisCity_House6_EventScript_15B3D7
setflag 245
release
end
@@ -28,7 +28,7 @@ SootopolisCity_House6_EventScript_15B3CD:: @ 815B3CD
end
SootopolisCity_House6_EventScript_15B3D7:: @ 815B3D7
- bufferdecor 1, 117
+ getdecorname 1, 117
msgbox SootopolisCity_House6_Text_1A0CEF, 4
msgbox SootopolisCity_House6_Text_18FF28, 4
release
diff --git a/data/scripts/maps/SootopolisCity_House8.inc b/data/scripts/maps/SootopolisCity_House8.inc
index 9d7618316..df536004e 100644
--- a/data/scripts/maps/SootopolisCity_House8.inc
+++ b/data/scripts/maps/SootopolisCity_House8.inc
@@ -10,14 +10,14 @@ SootopolisCity_House8_EventScript_15B401:: @ 815B401
waitstate
copyvar RESULT, 0x8004
compare RESULT, 255
- jumpeq SootopolisCity_House8_EventScript_15B448
+ goto_if_eq SootopolisCity_House8_EventScript_15B448
special CompareShroomishSize
compare RESULT, 1
- jumpeq SootopolisCity_House8_EventScript_15B452
+ goto_if_eq SootopolisCity_House8_EventScript_15B452
compare RESULT, 2
- jumpeq SootopolisCity_House8_EventScript_15B45C
+ goto_if_eq SootopolisCity_House8_EventScript_15B45C
compare RESULT, 3
- jumpeq SootopolisCity_House8_EventScript_15B466
+ goto_if_eq SootopolisCity_House8_EventScript_15B466
release
end
@@ -40,8 +40,8 @@ SootopolisCity_House8_EventScript_15B466:: @ 815B466
msgbox SootopolisCity_House8_Text_19021D, 4
giveitem ITEM_ELIXIR
compare RESULT, 0
- jumpeq SootopolisCity_House8_EventScript_15B488
- closebutton
+ goto_if_eq SootopolisCity_House8_EventScript_15B488
+ closemessage
release
end
@@ -59,14 +59,14 @@ SootopolisCity_House8_EventScript_15B492:: @ 815B492
waitstate
copyvar RESULT, 0x8004
compare RESULT, 255
- jumpeq SootopolisCity_House8_EventScript_15B4D9
+ goto_if_eq SootopolisCity_House8_EventScript_15B4D9
special CompareBarboachSize
compare RESULT, 1
- jumpeq SootopolisCity_House8_EventScript_15B4E3
+ goto_if_eq SootopolisCity_House8_EventScript_15B4E3
compare RESULT, 2
- jumpeq SootopolisCity_House8_EventScript_15B4ED
+ goto_if_eq SootopolisCity_House8_EventScript_15B4ED
compare RESULT, 3
- jumpeq SootopolisCity_House8_EventScript_15B4F7
+ goto_if_eq SootopolisCity_House8_EventScript_15B4F7
release
end
@@ -89,8 +89,8 @@ SootopolisCity_House8_EventScript_15B4F7:: @ 815B4F7
msgbox SootopolisCity_House8_Text_190536, 4
giveitem ITEM_ELIXIR
compare RESULT, 0
- jumpeq SootopolisCity_House8_EventScript_15B519
- closebutton
+ goto_if_eq SootopolisCity_House8_EventScript_15B519
+ closemessage
release
end
diff --git a/data/scripts/maps/SootopolisCity_Mart.inc b/data/scripts/maps/SootopolisCity_Mart.inc
index 9f37f9d0b..b88347002 100644
--- a/data/scripts/maps/SootopolisCity_Mart.inc
+++ b/data/scripts/maps/SootopolisCity_Mart.inc
@@ -5,7 +5,7 @@ SootopolisCity_Mart_EventScript_15B21B:: @ 815B21B
lock
faceplayer
message SootopolisCity_Mart_Text_1A0BE4
- waittext
+ waitmessage
pokemart SootopolisCity_Mart_Items
msgbox SootopolisCity_Mart_Text_1A0C02, 4
release
@@ -30,9 +30,9 @@ SootopolisCity_Mart_EventScript_15B24A:: @ 815B24A
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_Mart_EventScript_15B268
+ goto_if_eq SootopolisCity_Mart_EventScript_15B268
checkflag 129
- jumpif 0, SootopolisCity_Mart_EventScript_15B268
+ goto_if 0, SootopolisCity_Mart_EventScript_15B268
msgbox SootopolisCity_Mart_Text_18F8D7, 4
release
end
@@ -46,9 +46,9 @@ SootopolisCity_Mart_EventScript_15B272:: @ 815B272
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_Mart_EventScript_15B290
+ goto_if_eq SootopolisCity_Mart_EventScript_15B290
checkflag 129
- jumpif 0, SootopolisCity_Mart_EventScript_15B290
+ goto_if 0, SootopolisCity_Mart_EventScript_15B290
msgbox SootopolisCity_Mart_Text_18F96B, 4
release
end
diff --git a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc
index 29cc06584..cb09d8856 100644
--- a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc
+++ b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc
@@ -9,7 +9,7 @@ SootopolisCity_PokemonCenter_1F_MapScript1_15B196:: @ 815B196
@ 815B19A
setvar 0x800B, 1
call VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
@@ -18,9 +18,9 @@ SootopolisCity_PokemonCenter_1F_EventScript_15B1A8:: @ 815B1A8
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_PokemonCenter_1F_EventScript_15B1C6
+ goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_15B1C6
checkflag 129
- jumpif 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6
+ goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6
msgbox SootopolisCity_PokemonCenter_1F_Text_18F770, 4
release
end
@@ -34,9 +34,9 @@ SootopolisCity_PokemonCenter_1F_EventScript_15B1D0:: @ 815B1D0
lock
faceplayer
checkflag 113
- jumpeq SootopolisCity_PokemonCenter_1F_EventScript_15B1EE
+ goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_15B1EE
checkflag 129
- jumpif 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE
+ goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE
msgbox SootopolisCity_PokemonCenter_1F_Text_18F860, 4
release
end
diff --git a/data/scripts/maps/SouthernIsland_Exterior.inc b/data/scripts/maps/SouthernIsland_Exterior.inc
index 9723647cd..3c6426024 100644
--- a/data/scripts/maps/SouthernIsland_Exterior.inc
+++ b/data/scripts/maps/SouthernIsland_Exterior.inc
@@ -11,13 +11,13 @@ SouthernIsland_Exterior_EventScript_160AE0:: @ 8160AE0
faceplayer
msgbox SouthernIsland_Exterior_Text_1C5215, 5
compare RESULT, 0
- jumpeq SouthernIsland_Exterior_EventScript_160B25
+ goto_if_eq SouthernIsland_Exterior_EventScript_160B25
msgbox SouthernIsland_Exterior_Text_1C5281, 4
- closebutton
- move LAST_TALKED, SouthernIsland_Exterior_Movement_1A0845
- waitmove 0
- pause 30
- spriteinvisible 1, 26, 9
+ closemessage
+ applymovement LAST_TALKED, SouthernIsland_Exterior_Movement_1A0845
+ waitmovement 0
+ delay 30
+ hideobject 1, 26, 9
setvar 0x8004, 2
call SouthernIsland_Exterior_EventScript_1A047C
warp LilycoveCity_Harbor, 255, 8, 11
@@ -31,13 +31,13 @@ SouthernIsland_Exterior_EventScript_160B25:: @ 8160B25
end
BattleTower_Outside_EventScript_160B2F:: @ 8160B2F
- move 255, BattleTower_Outside_Movement_160B45
- waitmove 0
+ applymovement 255, BattleTower_Outside_Movement_160B45
+ waitmovement 0
return
BattleTower_Outside_EventScript_160B3A:: @ 8160B3A
- move 255, BattleTower_Outside_Movement_160B47
- waitmove 0
+ applymovement 255, BattleTower_Outside_Movement_160B47
+ waitmovement 0
return
BattleTower_Outside_Movement_160B45:: @ 8160B45
diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc
index e5eaadab5..bcb316f96 100644
--- a/data/scripts/maps/SouthernIsland_Interior.inc
+++ b/data/scripts/maps/SouthernIsland_Interior.inc
@@ -5,11 +5,11 @@ SouthernIsland_Interior_MapScripts:: @ 8160B53
SouthernIsland_Interior_MapScript1_160B5E:: @ 8160B5E
checkflag 2145
- callif 1, SouthernIsland_Interior_EventScript_160B68
+ call_if 1, SouthernIsland_Interior_EventScript_160B68
end
SouthernIsland_Interior_EventScript_160B68:: @ 8160B68
- disappear 2
+ removeobject 2
return
SouthernIsland_Interior_MapScript1_160B6C:: @ 8160B6C
@@ -22,11 +22,11 @@ SouthernIsland_Interior_MapScript1_160B6C:: @ 8160B6C
end
SouthernIsland_Interior_EventScript_160B77:: @ 8160B77
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq SouthernIsland_Interior_EventScript_160B8F
+ goto_if_eq SouthernIsland_Interior_EventScript_160B8F
compare RESULT, 1
- jumpeq SouthernIsland_Interior_EventScript_160B95
+ goto_if_eq SouthernIsland_Interior_EventScript_160B95
end
SouthernIsland_Interior_EventScript_160B8F:: @ 8160B8F
@@ -40,29 +40,29 @@ SouthernIsland_Interior_EventScript_160B95:: @ 8160B95
SouthernIsland_Interior_EventScript_160B9B:: @ 8160B9B
lockall
setvar 0x8008, 12
- jump SouthernIsland_Interior_EventScript_160BA7
+ goto SouthernIsland_Interior_EventScript_160BA7
end
SouthernIsland_Interior_EventScript_160BA7:: @ 8160BA7
checkflag 206
- jumpeq SouthernIsland_Interior_EventScript_160C08
+ goto_if_eq SouthernIsland_Interior_EventScript_160C08
checkflag 2131
- jumpif 0, SouthernIsland_Interior_EventScript_160C08
+ goto_if 0, SouthernIsland_Interior_EventScript_160C08
setflag 206
special SpawnCameraDummy
- move 127, SouthernIsland_Interior_Movement_160C12
- waitmove 0
- pause 50
- checksound
- pokecry SPECIES_LATIAS_OR_LATIOS, 0
- pause 30
+ applymovement 127, SouthernIsland_Interior_Movement_160C12
+ waitmovement 0
+ delay 50
+ waitse
+ playpokecry SPECIES_LATIAS_OR_LATIOS, 0
+ delay 30
waitpokecry
- reappear 2
- pause 30
- move 127, SouthernIsland_Interior_Movement_160C16
- move 2, SouthernIsland_Interior_Movement_160C22
- waitmove 0
- pause 50
+ addobject 2
+ delay 30
+ applymovement 127, SouthernIsland_Interior_Movement_160C16
+ applymovement 2, SouthernIsland_Interior_Movement_160C22
+ waitmovement 0
+ delay 50
special RemoveCameraDummy
setwildbattle SPECIES_LATIAS_OR_LATIOS, 50, ITEM_SOUL_DEW
setflag 911
diff --git a/data/scripts/maps/Underwater_Route134.inc b/data/scripts/maps/Underwater_Route134.inc
index ee79f9799..bbe7e1ce2 100644
--- a/data/scripts/maps/Underwater_Route134.inc
+++ b/data/scripts/maps/Underwater_Route134.inc
@@ -3,5 +3,5 @@ Underwater_Route134_MapScripts:: @ 815F071
.byte 0
Underwater_Route134_MapScript1_15F077:: @ 815F077
- warp4 Route134, 255, 60, 31
+ setdivewarp Route134, 255, 60, 31
end
diff --git a/data/scripts/maps/Underwater_SeafloorCavern.inc b/data/scripts/maps/Underwater_SeafloorCavern.inc
index c879ec609..3d2fe81b2 100644
--- a/data/scripts/maps/Underwater_SeafloorCavern.inc
+++ b/data/scripts/maps/Underwater_SeafloorCavern.inc
@@ -7,7 +7,7 @@ Underwater_SeafloorCavern_MapScripts:: @ 815D99E
Underwater_SeafloorCavern_MapScript1_15D9AE:: @ 815D9AE
setflag 2119
checkflag 129
- jumpeq Underwater_SeafloorCavern_EventScript_15D9BB
+ goto_if_eq Underwater_SeafloorCavern_EventScript_15D9BB
end
Underwater_SeafloorCavern_EventScript_15D9BB:: @ 815D9BB
@@ -16,7 +16,7 @@ Underwater_SeafloorCavern_EventScript_15D9BB:: @ 815D9BB
Underwater_SeafloorCavern_MapScript1_15D9BF:: @ 815D9BF
checkflag 129
- callif 1, Underwater_SeafloorCavern_EventScript_15D9C9
+ call_if 1, Underwater_SeafloorCavern_EventScript_15D9C9
end
Underwater_SeafloorCavern_EventScript_15D9C9:: @ 815D9C9
@@ -35,7 +35,7 @@ Underwater_SeafloorCavern_EventScript_15D9C9:: @ 815D9C9
return
Underwater_SeafloorCavern_MapScript1_15DA36:: @ 815DA36
- warp4 SeafloorCavern_Entrance, 255, 10, 17
+ setdivewarp SeafloorCavern_Entrance, 255, 10, 17
end
Underwater_SeafloorCavern_EventScript_15DA3F:: @ 815DA3F
diff --git a/data/scripts/maps/Underwater_SealedChamber.inc b/data/scripts/maps/Underwater_SealedChamber.inc
index d7e7aabcb..836ad86e2 100644
--- a/data/scripts/maps/Underwater_SealedChamber.inc
+++ b/data/scripts/maps/Underwater_SealedChamber.inc
@@ -5,23 +5,23 @@ Underwater_SealedChamber_MapScripts:: @ 815F080
Underwater_SealedChamber_MapScript1_15F086:: @ 815F086
getplayerxy 0x8004, 0x8005
compare 0x8004, 12
- jumpif 5, Underwater_SealedChamber_EventScript_15F0A6
+ goto_if 5, Underwater_SealedChamber_EventScript_15F0A6
compare 0x8005, 44
- jumpif 5, Underwater_SealedChamber_EventScript_15F0A6
- jump Underwater_SealedChamber_EventScript_15F0AF
+ goto_if 5, Underwater_SealedChamber_EventScript_15F0A6
+ goto Underwater_SealedChamber_EventScript_15F0AF
Underwater_SealedChamber_EventScript_15F0A6:: @ 815F0A6
- warp4 Route134, 255, 60, 31
+ setdivewarp Route134, 255, 60, 31
end
Underwater_SealedChamber_EventScript_15F0AF:: @ 815F0AF
- warp4 SealedChamber_OuterRoom, 255, 10, 19
+ setdivewarp SealedChamber_OuterRoom, 255, 10, 19
end
Underwater_SealedChamber_EventScript_15F0B8:: @ 815F0B8
lockall
- braillemsg Underwater_SealedChamber_Braille_1C533D
+ braillemessage Underwater_SealedChamber_Braille_1C533D
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data/scripts/maps/Underwater_SootopolisCity.inc b/data/scripts/maps/Underwater_SootopolisCity.inc
index 624c2c83e..c9405dfd7 100644
--- a/data/scripts/maps/Underwater_SootopolisCity.inc
+++ b/data/scripts/maps/Underwater_SootopolisCity.inc
@@ -3,5 +3,5 @@ Underwater_SootopolisCity_MapScripts:: @ 815CAE4
.byte 0
Underwater_SootopolisCity_MapScript1_15CAEA:: @ 815CAEA
- warp4 SootopolisCity, 255, 29, 53
+ setdivewarp SootopolisCity, 255, 29, 53
end
diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc
index cbd782f35..34d0bb70b 100644
--- a/data/scripts/maps/UnknownMap_25_34.inc
+++ b/data/scripts/maps/UnknownMap_25_34.inc
@@ -14,40 +14,40 @@ LinkContestRoom1_MapScript1_15F595:: @ 815F595
LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5
special ScriptGetMultiplayerId
compare RESULT, 0
- callif 1, LinkContestRoom1_EventScript_15F5E0
+ call_if 1, LinkContestRoom1_EventScript_15F5E0
compare RESULT, 1
- callif 1, LinkContestRoom1_EventScript_15F5E4
+ call_if 1, LinkContestRoom1_EventScript_15F5E4
compare RESULT, 2
- callif 1, LinkContestRoom1_EventScript_15F5E8
+ call_if 1, LinkContestRoom1_EventScript_15F5E8
compare RESULT, 3
- callif 1, LinkContestRoom1_EventScript_15F5EC
+ call_if 1, LinkContestRoom1_EventScript_15F5EC
compare RESULT, 4
- callif 1, LinkContestRoom1_EventScript_15F5F0
+ call_if 1, LinkContestRoom1_EventScript_15F5F0
return
LinkContestRoom1_EventScript_15F5E0:: @ 815F5E0
- playmusicbattle 393
+ savebgm 393
return
LinkContestRoom1_EventScript_15F5E4:: @ 815F5E4
- playmusicbattle 394
+ savebgm 394
return
LinkContestRoom1_EventScript_15F5E8:: @ 815F5E8
- playmusicbattle 395
+ savebgm 395
return
LinkContestRoom1_EventScript_15F5EC:: @ 815F5EC
- playmusicbattle 396
+ savebgm 396
return
LinkContestRoom1_EventScript_15F5F0:: @ 815F5F0
- playmusicbattle 440
+ savebgm 440
return
LinkContestRoom1_MapScript1_15F5F4:: @ 815F5F4
compare 0x4009, 1
- callif 1, LinkContestRoom1_EventScript_15F600
+ call_if 1, LinkContestRoom1_EventScript_15F600
end
LinkContestRoom1_EventScript_15F600:: @ 815F600
@@ -68,7 +68,7 @@ LinkContestRoom1_EventScript_15F61A:: @ 815F61A
end
LinkContestRoom1_EventScript_15F625:: @ 815F625
- spriteinvisible 255, 0, 9
+ hideobject 255, 0, 9
call LinkContestRoom1_EventScript_15F919
end
@@ -76,7 +76,7 @@ LinkContestRoom1_EventScript_15F630:: @ 815F630
call LinkContestRoom1_EventScript_15F6E6
call LinkContestRoom1_EventScript_15F646
compare 0x4000, 8
- jumpif 0, LinkContestRoom1_EventScript_15F630
+ goto_if 0, LinkContestRoom1_EventScript_15F630
return
LinkContestRoom1_EventScript_15F646:: @ 815F646
@@ -302,73 +302,73 @@ LinkContestRoom1_EventScript_15F919:: @ 815F919
return
LinkContestRoom1_EventScript_15F956:: @ 815F956
- createvsprite 5, 20, 3, 2, 3, 1
- createvsprite 46, 24, 11, 2, 3, 1
+ createvobject 5, 20, 3, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
return
LinkContestRoom1_EventScript_15F969:: @ 815F969
- createvsprite 45, 0, 2, 3, 3, 4
- createvsprite 66, 1, 2, 4, 3, 4
- createvsprite 55, 2, 2, 7, 3, 4
- createvsprite 46, 3, 2, 8, 3, 4
- createvsprite 5, 10, 12, 3, 3, 3
- createvsprite 20, 11, 12, 4, 3, 3
- createvsprite 24, 12, 12, 7, 3, 3
- createvsprite 12, 13, 12, 8, 3, 3
- createvsprite 47, 20, 3, 2, 3, 1
- createvsprite 46, 24, 11, 2, 3, 1
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 46, 3, 2, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 12, 13, 12, 8, 3, 3
+ createvobject 47, 20, 3, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
return
LinkContestRoom1_EventScript_15F9C4:: @ 815F9C4
- createvsprite 45, 0, 2, 3, 3, 4
- createvsprite 66, 1, 2, 4, 3, 4
- createvsprite 55, 2, 2, 7, 3, 4
- createvsprite 48, 3, 2, 8, 3, 4
- createvsprite 5, 10, 12, 3, 3, 3
- createvsprite 20, 11, 12, 4, 3, 3
- createvsprite 24, 12, 12, 7, 3, 3
- createvsprite 45, 13, 12, 8, 3, 3
- createvsprite 22, 20, 3, 2, 3, 1
- createvsprite 23, 20, 6, 2, 3, 1
- createvsprite 34, 20, 7, 2, 3, 1
- createvsprite 46, 24, 8, 2, 3, 1
- createvsprite 48, 24, 11, 2, 3, 1
- createvsprite 11, 25, 3, 9, 3, 2
- createvsprite 35, 26, 4, 9, 3, 2
- createvsprite 17, 27, 5, 9, 3, 2
- createvsprite 41, 28, 9, 9, 3, 2
- createvsprite 38, 29, 10, 9, 3, 2
- createvsprite 83, 30, 11, 9, 3, 2
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 48, 3, 2, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 22, 20, 3, 2, 3, 1
+ createvobject 23, 20, 6, 2, 3, 1
+ createvobject 34, 20, 7, 2, 3, 1
+ createvobject 46, 24, 8, 2, 3, 1
+ createvobject 48, 24, 11, 2, 3, 1
+ createvobject 11, 25, 3, 9, 3, 2
+ createvobject 35, 26, 4, 9, 3, 2
+ createvobject 17, 27, 5, 9, 3, 2
+ createvobject 41, 28, 9, 9, 3, 2
+ createvobject 38, 29, 10, 9, 3, 2
+ createvobject 83, 30, 11, 9, 3, 2
return
LinkContestRoom1_EventScript_15FA70:: @ 815FA70
- createvsprite 45, 0, 2, 3, 3, 4
- createvsprite 66, 1, 2, 4, 3, 4
- createvsprite 55, 2, 2, 7, 3, 4
- createvsprite 12, 3, 2, 8, 3, 4
- createvsprite 39, 4, 1, 3, 3, 4
- createvsprite 34, 6, 1, 5, 3, 4
- createvsprite 26, 7, 1, 6, 3, 4
- createvsprite 48, 9, 1, 8, 3, 4
- createvsprite 5, 10, 12, 3, 3, 3
- createvsprite 20, 11, 12, 4, 3, 3
- createvsprite 24, 12, 12, 7, 3, 3
- createvsprite 45, 13, 12, 8, 3, 3
- createvsprite 50, 14, 13, 3, 3, 3
- createvsprite 52, 15, 13, 4, 3, 3
- createvsprite 65, 17, 13, 6, 3, 3
- createvsprite 83, 18, 13, 7, 3, 3
- createvsprite 116, 19, 13, 8, 3, 3
- createvsprite 25, 20, 3, 2, 3, 1
- createvsprite 31, 21, 6, 2, 3, 1
- createvsprite 33, 22, 7, 2, 3, 1
- createvsprite 46, 24, 11, 2, 3, 1
- createvsprite 49, 25, 3, 9, 3, 2
- createvsprite 35, 26, 4, 9, 3, 2
- createvsprite 48, 27, 5, 9, 3, 2
- createvsprite 41, 28, 9, 9, 3, 2
- createvsprite 38, 29, 10, 9, 3, 2
- createvsprite 83, 30, 11, 9, 3, 2
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 12, 3, 2, 8, 3, 4
+ createvobject 39, 4, 1, 3, 3, 4
+ createvobject 34, 6, 1, 5, 3, 4
+ createvobject 26, 7, 1, 6, 3, 4
+ createvobject 48, 9, 1, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 50, 14, 13, 3, 3, 3
+ createvobject 52, 15, 13, 4, 3, 3
+ createvobject 65, 17, 13, 6, 3, 3
+ createvobject 83, 18, 13, 7, 3, 3
+ createvobject 116, 19, 13, 8, 3, 3
+ createvobject 25, 20, 3, 2, 3, 1
+ createvobject 31, 21, 6, 2, 3, 1
+ createvobject 33, 22, 7, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ createvobject 49, 25, 3, 9, 3, 2
+ createvobject 35, 26, 4, 9, 3, 2
+ createvobject 48, 27, 5, 9, 3, 2
+ createvobject 41, 28, 9, 9, 3, 2
+ createvobject 38, 29, 10, 9, 3, 2
+ createvobject 83, 30, 11, 9, 3, 2
return
LinkContestRoom1_EventScript_15FB64:: @ 815FB64
@@ -381,25 +381,25 @@ LinkContestRoom1_EventScript_15FB64:: @ 815FB64
return
LinkContestRoom1_EventScript_15FBA1:: @ 815FBA1
- inccounter GAME_STAT_ENTERED_CONTEST
+ incrementgamestat GAME_STAT_ENTERED_CONTEST
warp VerdanturfTown_ContestLobby, 255, 5, 4
waitstate
end
LinkContestRoom1_EventScript_15FBAD:: @ 815FBAD
- inccounter GAME_STAT_ENTERED_CONTEST
+ incrementgamestat GAME_STAT_ENTERED_CONTEST
warp FallarborTown_ContestLobby, 255, 5, 4
waitstate
end
LinkContestRoom1_EventScript_15FBB9:: @ 815FBB9
- inccounter GAME_STAT_ENTERED_CONTEST
+ incrementgamestat GAME_STAT_ENTERED_CONTEST
warp SlateportCity_ContestLobby, 255, 5, 4
waitstate
end
LinkContestRoom1_EventScript_15FBC5:: @ 815FBC5
- inccounter GAME_STAT_ENTERED_CONTEST
+ incrementgamestat GAME_STAT_ENTERED_CONTEST
warp LilycoveCity_ContestLobby, 255, 6, 4
waitstate
end
@@ -413,11 +413,11 @@ FallarborTown_ContestLobby_EventScript_15FBDB:: @ 815FBDB
LilycoveCity_ContestLobby_EventScript_15FBDB:: @ 815FBDB
SlateportCity_ContestLobby_EventScript_15FBDB:: @ 815FBDB
VerdanturfTown_ContestLobby_EventScript_15FBDB:: @ 815FBDB
- checkgender
+ checkplayergender
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_15FBF3
+ goto_if_eq FallarborTown_ContestLobby_EventScript_15FBF3
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_15FBF9
+ goto_if_eq FallarborTown_ContestLobby_EventScript_15FBF9
return
FallarborTown_ContestLobby_EventScript_15FBF3:: @ 815FBF3
diff --git a/data/scripts/maps/VerdanturfTown.inc b/data/scripts/maps/VerdanturfTown.inc
index 610643823..3e8f02302 100644
--- a/data/scripts/maps/VerdanturfTown.inc
+++ b/data/scripts/maps/VerdanturfTown.inc
@@ -12,17 +12,17 @@ VerdanturfTown_EventScript_14E866:: @ 814E866
lock
faceplayer
checkflag 199
- jumpeq VerdanturfTown_EventScript_14E885
+ goto_if_eq VerdanturfTown_EventScript_14E885
msgbox VerdanturfTown_Text_16CAEB, 4
- move 2, VerdanturfTown_Movement_1A083D
- waitmove 0
+ applymovement 2, VerdanturfTown_Movement_1A083D
+ waitmovement 0
release
end
VerdanturfTown_EventScript_14E885:: @ 814E885
msgbox VerdanturfTown_Text_16CBCE, 4
- move 2, VerdanturfTown_Movement_1A083D
- waitmove 0
+ applymovement 2, VerdanturfTown_Movement_1A083D
+ waitmovement 0
release
end
@@ -38,7 +38,7 @@ VerdanturfTown_EventScript_14E8AB:: @ 814E8AB
lock
faceplayer
checkflag 199
- jumpeq VerdanturfTown_EventScript_14E8C0
+ goto_if_eq VerdanturfTown_EventScript_14E8C0
msgbox VerdanturfTown_Text_16CD4D, 4
release
end
diff --git a/data/scripts/maps/VerdanturfTown_ContestLobby.inc b/data/scripts/maps/VerdanturfTown_ContestLobby.inc
index 8fd4016d1..8462892e6 100644
--- a/data/scripts/maps/VerdanturfTown_ContestLobby.inc
+++ b/data/scripts/maps/VerdanturfTown_ContestLobby.inc
@@ -20,28 +20,28 @@ VerdanturfTown_ContestLobby_EventScript_153D76:: @ 8153D76
VerdanturfTown_ContestLobby_EventScript_153DA1:: @ 8153DA1
lockall
- move 1, VerdanturfTown_ContestLobby_Movement_153E25
- waitmove 0
- playsfx 71
+ applymovement 1, VerdanturfTown_ContestLobby_Movement_153E25
+ waitmovement 0
+ playse 71
setmaptile 4, 2, 545, 1
setmaptile 4, 3, 609, 1
special DrawWholeMapView
- move 1, VerdanturfTown_ContestLobby_Movement_153E28
- waitmove 0
- playsfx 71
+ applymovement 1, VerdanturfTown_ContestLobby_Movement_153E28
+ waitmovement 0
+ playse 71
setmaptile 4, 2, 721, 1
setmaptile 4, 3, 729, 1
special DrawWholeMapView
- pause 20
- move 1, VerdanturfTown_ContestLobby_Movement_153E35
- waitmove 0
- move 255, VerdanturfTown_ContestLobby_Movement_153E23
- waitmove 0
+ delay 20
+ applymovement 1, VerdanturfTown_ContestLobby_Movement_153E35
+ waitmovement 0
+ applymovement 255, VerdanturfTown_ContestLobby_Movement_153E23
+ waitmovement 0
msgbox VerdanturfTown_ContestLobby_Text_1A6832, 4
- closebutton
- move 1, VerdanturfTown_ContestLobby_Movement_153E2C
- move 255, VerdanturfTown_ContestLobby_Movement_153E19
- waitmove 0
+ closemessage
+ applymovement 1, VerdanturfTown_ContestLobby_Movement_153E2C
+ applymovement 255, VerdanturfTown_ContestLobby_Movement_153E19
+ waitmovement 0
releaseall
return
@@ -90,7 +90,7 @@ VerdanturfTown_ContestLobby_Movement_153E35:: @ 8153E35
VerdanturfTown_ContestLobby_EventScript_153E37:: @ 8153E37
lockall
fadescreen 1
- showcontestwinner 1
+ drawcontestwinner 1
releaseall
end
@@ -102,11 +102,11 @@ VerdanturfTown_ContestLobby_EventScript_153E47:: @ 8153E47
lock
faceplayer
checkflag 235
- jumpeq VerdanturfTown_ContestLobby_EventScript_153E76
+ goto_if_eq VerdanturfTown_ContestLobby_EventScript_153E76
msgbox VerdanturfTown_ContestLobby_Text_177DEC, 4
giveitem ITEM_TM45
compare RESULT, 0
- jumpeq VerdanturfTown_ContestLobby_EventScript_1A029B
+ goto_if_eq VerdanturfTown_ContestLobby_EventScript_1A029B
setflag 235
release
end
@@ -124,6 +124,6 @@ VerdanturfTown_ContestLobby_EventScript_153E89:: @ 8153E89
lockall
special ShowBerryBlenderRecordWindow
waitbutton
- hidebox 0, 0, 29, 19
+ erasebox 0, 0, 29, 19
releaseall
end
diff --git a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc
index 5453fb42c..1cfa785d3 100644
--- a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc
+++ b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc
@@ -5,7 +5,7 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_154030:: @ 8154030
lock
faceplayer
msgbox VerdanturfTown_FriendshipRatersHouse_Text_178A9C, 4
- specialval RESULT, GetLeadMonFriendshipScore
+ specialvar RESULT, GetLeadMonFriendshipScore
switch RESULT
case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_154093
case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_15409D
@@ -55,8 +55,8 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_1540CF:: @ 81540CF
VerdanturfTown_FriendshipRatersHouse_EventScript_1540D9:: @ 81540D9
lock
faceplayer
- checksound
- pokecry SPECIES_PIKACHU, 0
+ waitse
+ playpokecry SPECIES_PIKACHU, 0
msgbox VerdanturfTown_FriendshipRatersHouse_Text_178CFD, 4
waitpokecry
release
diff --git a/data/scripts/maps/VerdanturfTown_Mart.inc b/data/scripts/maps/VerdanturfTown_Mart.inc
index 4227dc8b1..db72de227 100644
--- a/data/scripts/maps/VerdanturfTown_Mart.inc
+++ b/data/scripts/maps/VerdanturfTown_Mart.inc
@@ -5,7 +5,7 @@ VerdanturfTown_Mart_EventScript_153EBC:: @ 8153EBC
lock
faceplayer
message VerdanturfTown_Mart_Text_1A0BE4
- waittext
+ waitmessage
pokemart VerdanturfTown_Mart_Items
msgbox VerdanturfTown_Mart_Text_1A0C02, 4
release
diff --git a/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc b/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc
index e0fee3fb8..a0b1f87de 100644
--- a/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc
+++ b/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc
@@ -11,7 +11,7 @@ PacifidlogTown_PokemonCenter_1F_EventScript_153F18:: @ 8153F18
VerdanturfTown_PokemonCenter_1F_EventScript_153F18:: @ 8153F18
setvar 0x800b, 1
call VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B
- waittext
+ waitmessage
waitbutton
release
end
diff --git a/data/scripts/maps/VerdanturfTown_WandasHouse.inc b/data/scripts/maps/VerdanturfTown_WandasHouse.inc
index 80bd6151d..fad64292b 100644
--- a/data/scripts/maps/VerdanturfTown_WandasHouse.inc
+++ b/data/scripts/maps/VerdanturfTown_WandasHouse.inc
@@ -5,7 +5,7 @@ VerdanturfTown_WandasHouse_EventScript_153F5B:: @ 8153F5B
lock
faceplayer
checkflag 193
- jumpeq VerdanturfTown_WandasHouse_EventScript_153F73
+ goto_if_eq VerdanturfTown_WandasHouse_EventScript_153F73
msgbox VerdanturfTown_WandasHouse_Text_1783F6, 4
setflag 193
release
@@ -20,9 +20,9 @@ VerdanturfTown_WandasHouse_EventScript_153F7D:: @ 8153F7D
lock
faceplayer
checkflag 126
- jumpeq VerdanturfTown_WandasHouse_EventScript_153FA5
+ goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FA5
checkflag 1213
- jumpeq VerdanturfTown_WandasHouse_EventScript_153F9B
+ goto_if_eq VerdanturfTown_WandasHouse_EventScript_153F9B
msgbox VerdanturfTown_WandasHouse_Text_17859A, 4
release
end
@@ -45,9 +45,9 @@ VerdanturfTown_WandasHouse_EventScript_153FB8:: @ 8153FB8
lock
faceplayer
checkflag 1213
- jumpeq VerdanturfTown_WandasHouse_EventScript_153FE0
+ goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FE0
checkflag 190
- jumpeq VerdanturfTown_WandasHouse_EventScript_153FD6
+ goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FD6
msgbox VerdanturfTown_WandasHouse_Text_1787FB, 4
release
end
@@ -66,11 +66,11 @@ VerdanturfTown_WandasHouse_EventScript_153FEA:: @ 8153FEA
lock
faceplayer
checkflag 126
- jumpeq VerdanturfTown_WandasHouse_EventScript_154025
+ goto_if_eq VerdanturfTown_WandasHouse_EventScript_154025
checkflag 1213
- jumpeq VerdanturfTown_WandasHouse_EventScript_15401B
+ goto_if_eq VerdanturfTown_WandasHouse_EventScript_15401B
checkflag 199
- jumpeq VerdanturfTown_WandasHouse_EventScript_154011
+ goto_if_eq VerdanturfTown_WandasHouse_EventScript_154011
msgbox VerdanturfTown_WandasHouse_Text_1788B1, 4
release
end
diff --git a/data/scripts/maps/VictoryRoad_1F.inc b/data/scripts/maps/VictoryRoad_1F.inc
index f64ca20ab..fe775d793 100644
--- a/data/scripts/maps/VictoryRoad_1F.inc
+++ b/data/scripts/maps/VictoryRoad_1F.inc
@@ -4,7 +4,7 @@ VictoryRoad_1F_MapScripts:: @ 815DE83
VictoryRoad_1F_MapScript1_15DE89:: @ 815DE89
checkflag 126
- callif 1, VictoryRoad_1F_EventScript_15DE93
+ call_if 1, VictoryRoad_1F_EventScript_15DE93
end
VictoryRoad_1F_EventScript_15DE93:: @ 815DE93
@@ -13,36 +13,36 @@ VictoryRoad_1F_EventScript_15DE93:: @ 815DE93
VictoryRoad_1F_EventScript_15DE97:: @ 815DE97
lockall
- reappear 4
- move 4, VictoryRoad_1F_Movement_15DF07
- waitmove 0
- jump VictoryRoad_1F_EventScript_15DED3
+ addobject 4
+ applymovement 4, VictoryRoad_1F_Movement_15DF07
+ waitmovement 0
+ goto VictoryRoad_1F_EventScript_15DED3
end
VictoryRoad_1F_EventScript_15DEAB:: @ 815DEAB
lockall
- reappear 4
- move 4, VictoryRoad_1F_Movement_15DF13
- waitmove 0
- jump VictoryRoad_1F_EventScript_15DED3
+ addobject 4
+ applymovement 4, VictoryRoad_1F_Movement_15DF13
+ waitmovement 0
+ goto VictoryRoad_1F_EventScript_15DED3
end
VictoryRoad_1F_EventScript_15DEBF:: @ 815DEBF
lockall
- reappear 4
- move 4, VictoryRoad_1F_Movement_15DF1E
- waitmove 0
- jump VictoryRoad_1F_EventScript_15DED3
+ addobject 4
+ applymovement 4, VictoryRoad_1F_Movement_15DF1E
+ waitmovement 0
+ goto VictoryRoad_1F_EventScript_15DED3
end
VictoryRoad_1F_EventScript_15DED3:: @ 815DED3
- move 255, VictoryRoad_1F_Movement_1A083F
- waitmove 0
+ applymovement 255, VictoryRoad_1F_Movement_1A083F
+ waitmovement 0
msgbox VictoryRoad_1F_Text_19782B, 4
trainerbattle 3, OPPONENT_WALLY_1, 0, VictoryRoad_1F_Text_197943
msgbox VictoryRoad_1F_Text_197967, 4
clearflag 858
- moveoffscreen 4
+ moveobjectoffscreen 4
setflag 126
setvar 0x40c3, 1
releaseall
@@ -93,9 +93,9 @@ VictoryRoad_1F_EventScript_15DF28:: @ 815DF28
VictoryRoad_1F_EventScript_15DF31:: @ 815DF31
trainerbattle 0, OPPONENT_WALLY_3, 0, VictoryRoad_1F_Text_1979BA, VictoryRoad_1F_Text_197A23
- specialval RESULT, sub_8082C68
+ specialvar RESULT, sub_8082C68
compare RESULT, 1
- jumpeq VictoryRoad_1F_EventScript_15DF58
+ goto_if_eq VictoryRoad_1F_EventScript_15DF58
msgbox VictoryRoad_1F_Text_197A47, 6
end
diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc
index 997b5a31c..402afae23 100644
--- a/data/scripts/mauville_man.inc
+++ b/data/scripts/mauville_man.inc
@@ -27,20 +27,20 @@ SpeakToBard:
faceplayer
msgbox gTextBard_HiImTheBard, MSGBOX_YESNO
compare RESULT, YES
- jumpeq yes_hear_song
+ goto_if_eq yes_hear_song
compare RESULT, NO
- jumpeq dont_hear_song
+ goto_if_eq dont_hear_song
end
yes_hear_song:
setvar 0x8004, 0
@ Give the player ear rape
special ScrSpecial_PlayBardSong
- pause 60
+ delay 60
special ScrSpecial_HasBardSongBeenChanged
compare RESULT, FALSE
@ Prompt new lyrics only if song hasn't been changed
- jumpeq prompt_write_lyrics
+ goto_if_eq prompt_write_lyrics
msgbox gTextBard_OhWhatAMovingSong, 4
release
end
@@ -53,9 +53,9 @@ dont_hear_song:
prompt_write_lyrics:
msgbox gTextBard_SoHowDoYouLikeMySong, MSGBOX_YESNO
compare RESULT, YES
- jumpeq write_lyrics
+ goto_if_eq write_lyrics
compare RESULT, NO
- jumpeq dont_write_lyrics
+ goto_if_eq dont_write_lyrics
end
write_lyrics:
@@ -64,15 +64,15 @@ write_lyrics:
lock
faceplayer
compare RESULT, NO
- jumpeq dont_write_lyrics
+ goto_if_eq dont_write_lyrics
msgbox gTextBard_ThankYouKindly, 4
setvar 0x8004, 1
@ Give the player ear rape again
special ScrSpecial_PlayBardSong
- pause 60
+ delay 60
msgbox gTextBard_WasThatHowYouWanted, MSGBOX_YESNO
compare RESULT, NO
- jumpeq write_lyrics @ Keep looping until player responds YES
+ goto_if_eq write_lyrics @ Keep looping until player responds YES
special ScrSpecial_SaveBardSongLyrics
msgbox gTextBard_OkayThatsIt, 4
release
@@ -95,7 +95,7 @@ SpeakToHipster:
msgbox gTextHipster_TheyCallMeTheHipster, 4
special ScrSpecial_GetHipsterSpokenFlag
compare RESULT, FALSE
- jumpeq hipster_first_time
+ goto_if_eq hipster_first_time
msgbox gTextHipster_TaughtYouAlready, 4
release
end
@@ -103,7 +103,7 @@ SpeakToHipster:
hipster_first_time:
special ScrSpecial_HipsterTeachWord
compare RESULT, TRUE @ TRUE if player learned a new word
- jumpeq teach_new_word
+ goto_if_eq teach_new_word
msgbox gTextHipster_YouAlreadyKnowALot, 4
release
end
@@ -126,13 +126,13 @@ SpeakToTrader:
faceplayer
msgbox gTextTrader_Introduction, MSGBOX_YESNO
compare RESULT, NO
- jumpeq dont_want_to_trade
+ goto_if_eq dont_want_to_trade
special ScrSpecial_GetTraderTradedFlag
compare RESULT, TRUE
- jumpeq already_traded
+ goto_if_eq already_traded
message gTextTrader_MenuPrompt
- waittext
- jump do_trader_menu_get
+ waitmessage
+ goto do_trader_menu_get
end
dont_want_to_trade:
@@ -147,16 +147,16 @@ do_trader_menu_get:
special ScrSpecial_TraderMenuGetDecoration
waitstate
compare 0x8004, 0
- jumpeq cancelled_get_menu
+ goto_if_eq cancelled_get_menu
compare 0x8004, 65535
- jumpeq rare_item_cant_trade_away
+ goto_if_eq rare_item_cant_trade_away
msgbox gTextTrader_ItemOnceBelongedTo, MSGBOX_YESNO
compare RESULT, NO
- jumpeq dont_want_item
+ goto_if_eq dont_want_item
special ScrSpecial_DoesPlayerHaveNoDecorations
compare RESULT, TRUE
- jumpeq player_has_no_decorations
- jump do_trader_menu_give
+ goto_if_eq player_has_no_decorations
+ goto do_trader_menu_give
end
cancelled_get_menu:
@@ -165,14 +165,14 @@ cancelled_get_menu:
rare_item_cant_trade_away:
message gTextTrader_ICantTradeThatOneAway
- waittext
- jump do_trader_menu_get
+ waitmessage
+ goto do_trader_menu_get
end
dont_want_item:
message gTextTrader_MenuPrompt
- waittext
- jump do_trader_menu_get
+ waitmessage
+ goto do_trader_menu_get
end
player_has_no_decorations:
@@ -184,15 +184,15 @@ do_trader_menu_give:
special ScrSpecial_TraderMenuGiveDecoration
waitstate
compare 0x8006, 0
- jumpeq cancelled_give_menu
+ goto_if_eq cancelled_give_menu
compare 0x8006, 65535
- jumpeq decoration_is_in_use
+ goto_if_eq decoration_is_in_use
special ScrSpecial_IsDecorationFull
compare RESULT, 1
- jumpeq decorations_full
+ goto_if_eq decorations_full
msgbox gTextTrader_SoWellTrade, MSGBOX_YESNO
compare RESULT, NO
- jumpeq do_trader_menu_give
+ goto_if_eq do_trader_menu_give
special ScrSpecial_TraderDoDecorationTrade
msgbox gTextTrader_ThenWellTrade, 2
end
@@ -203,7 +203,7 @@ cancelled_give_menu:
decoration_is_in_use:
msgbox gTextTrader_InUseYouCantTradeIt, 4
- jump do_trader_menu_give
+ goto do_trader_menu_give
end
decorations_full:
@@ -226,71 +226,71 @@ SpeakToStoryteller:
faceplayer
msgbox gTextStoryteller_Introduction, MSGBOX_YESNO
compare RESULT, NO
- jumpeq dont_hear_story
- specialval RESULT, ScrSpecial_StorytellerGetFreeStorySlot
+ goto_if_eq dont_hear_story
+ specialvar RESULT, ScrSpecial_StorytellerGetFreeStorySlot
compare RESULT, 0 @ If slot is 0, then the list is empty
- jumpeq no_stories_recorded
+ goto_if_eq no_stories_recorded
choose_story:
message gTextStoryteller_WhichTale
- waittext
+ waitmessage
special ScrSpecial_StorytellerStoryListMenu
waitstate
compare RESULT, FALSE
- jumpeq cancel_story_menu
+ goto_if_eq cancel_story_menu
setvar 0x8008, 1
special ScrSpecial_StorytellerDisplayStory
- waittext
+ waitmessage
waitbutton
- specialval RESULT, ScrSpecial_StorytellerUpdateStat
+ specialvar RESULT, ScrSpecial_StorytellerUpdateStat
compare RESULT, FALSE
- jumpeq no_stat_update
- jump stat_update
+ goto_if_eq no_stat_update
+ goto stat_update
cancel_story_menu:
compare 0x8008, 0
- jumpeq dont_hear_story
- jump yes_hear_story
+ goto_if_eq dont_hear_story
+ goto yes_hear_story
no_stat_update:
msgbox gTextStoryteller_CouldThereBeOtherTrainers, 4
msgbox gTextStoryteller_HearAnotherLegendaryTale, MSGBOX_YESNO
compare RESULT, YES
- jumpeq choose_story
+ goto_if_eq choose_story
yes_hear_story:
- specialval RESULT, ScrSpecial_HasStorytellerAlreadyRecorded
+ specialvar RESULT, ScrSpecial_HasStorytellerAlreadyRecorded
compare RESULT, TRUE
- jumpeq cant_record_story @ already recorded story
- specialval RESULT, ScrSpecial_StorytellerGetFreeStorySlot
+ goto_if_eq cant_record_story @ already recorded story
+ specialvar RESULT, ScrSpecial_StorytellerGetFreeStorySlot
compare RESULT, 4
- jumpeq cant_record_story @ story list is full
- jump prompt_record_story
+ goto_if_eq cant_record_story @ story list is full
+ goto prompt_record_story
no_stories_recorded:
msgbox gTextStoryteller_ButIKnowOfNoLegendaryTrainers, 4
prompt_record_story:
msgbox gTextStoryteller_HaveYouAnyTales, MSGBOX_YESNO
compare RESULT, NO
- jumpeq dont_hear_story
- specialval RESULT, ScrSpecial_StorytellerInitializeRandomStat
+ goto_if_eq dont_hear_story
+ specialvar RESULT, ScrSpecial_StorytellerInitializeRandomStat
compare RESULT, TRUE
- jumpeq stat_update
+ goto_if_eq stat_update
msgbox gTextStoryteller_ImNotSatisfied, 4
- closebutton
+ closemessage
release
end
stat_update:
msgbox gTextStoryteller_BirthOfANewLegend, 4
- closebutton
+ closemessage
release
end
dont_hear_story:
msgbox gTextStoryteller_OhIFeelStifled, 4
- closebutton
+ closemessage
release
end
cant_record_story:
msgbox gTextStoryteller_WishMorePeopleWould, 4
- closebutton
+ closemessage
release
end
@@ -306,41 +306,41 @@ SpeakToGiddy:
faceplayer
msgbox gTextGiddy_Introduction, MSGBOX_YESNO
compare RESULT, YES
- jumpeq yes_hear_giddy
+ goto_if_eq yes_hear_giddy
compare RESULT, NO
- jumpeq dont_hear_giddy
+ goto_if_eq dont_hear_giddy
end
yes_hear_giddy:
special ScrSpecial_GiddyShouldTellAnotherTale
compare RESULT, TRUE
- jumpeq tell_giddy_tale
+ goto_if_eq tell_giddy_tale
compare RESULT, FALSE
- jumpeq bye_bye
+ goto_if_eq bye_bye
end
tell_another_giddy_tale:
special ScrSpecial_GiddyShouldTellAnotherTale
compare RESULT, TRUE
- jumpeq also_i_was_thinking
+ goto_if_eq also_i_was_thinking
compare RESULT, FALSE
- jumpeq bye_bye
+ goto_if_eq bye_bye
end
also_i_was_thinking:
msgbox gTextGiddy_AlsoIWasThinking, 4
- jump tell_giddy_tale
+ goto tell_giddy_tale
end
tell_giddy_tale:
special ScrSpecial_GenerateGiddyLine
special ShowFieldMessageStringVar4
- waittext
+ waitmessage
yesnobox 20, 8
compare RESULT, 1
- jumpeq tell_another_giddy_tale
+ goto_if_eq tell_another_giddy_tale
compare RESULT, 0
- jumpeq tell_another_giddy_tale
+ goto_if_eq tell_another_giddy_tale
end
dont_hear_giddy:
diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc
index 5fd68beca..df097fc19 100644
--- a/data/scripts/mystery_event_club.inc
+++ b/data/scripts/mystery_event_club.inc
@@ -2,9 +2,9 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1B14:: @ 81B1B14
lock
faceplayer
checkflag 2053
- jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB
msgbox PetalburgCity_PokemonCenter_1F_Text_1B1C97, 4
- jump PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D
+ goto PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D
end
PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D:: @ 81B1B2D
@@ -19,22 +19,22 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D:: @ 81B1B2D
PetalburgCity_PokemonCenter_1F_EventScript_1B1B6C:: @ 81B1B6C
msgbox PetalburgCity_PokemonCenter_1F_Text_1B1D3A, 4
- jump PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D
+ goto PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D
end
PetalburgCity_PokemonCenter_1F_EventScript_1B1B7A:: @ 81B1B7A
msgbox PetalburgCity_PokemonCenter_1F_Text_1B1F7B, 4
- closebutton
+ closemessage
setvar 0x8004, 0
call PetalburgCity_PokemonCenter_1F_EventScript_1A00F3
lock
faceplayer
compare 0x8004, 1
- callif 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77
+ call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77
compare RESULT, 0
- jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1
compare RESULT, 1
- jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB
end
PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1:: @ 81B1BB1
@@ -45,8 +45,8 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1:: @ 81B1BB1
PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB:: @ 81B1BBB
setvar 0x8004, 0
special sub_80EB7C4
- waittext
- pause 80
+ waitmessage
+ delay 80
msgbox PetalburgCity_PokemonCenter_1F_Text_1B2137, 4
release
end
@@ -58,7 +58,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1BD1:: @ 81B1BD1
PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB:: @ 81B1BDB
msgbox PetalburgCity_PokemonCenter_1F_Text_1B202F, 4
- jump PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9
+ goto PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9
end
PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9:: @ 81B1BE9
@@ -73,22 +73,22 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9:: @ 81B1BE9
PetalburgCity_PokemonCenter_1F_EventScript_1B1C28:: @ 81B1C28
msgbox PetalburgCity_PokemonCenter_1F_Text_1B1D3A, 4
- jump PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9
+ goto PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9
end
PetalburgCity_PokemonCenter_1F_EventScript_1B1C36:: @ 81B1C36
msgbox PetalburgCity_PokemonCenter_1F_Text_1B207F, 4
- closebutton
+ closemessage
setvar 0x8004, 0
call PetalburgCity_PokemonCenter_1F_EventScript_1A00F3
lock
faceplayer
compare 0x8004, 1
- callif 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77
+ call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77
compare RESULT, 0
- jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1
compare RESULT, 1
- jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB
end
PetalburgCity_PokemonCenter_1F_EventScript_1B1C6D:: @ 81B1C6D
@@ -98,9 +98,9 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1C6D:: @ 81B1C6D
PetalburgCity_PokemonCenter_1F_EventScript_1B1C77:: @ 81B1C77
checkflag 2059
- jumpif 0, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96
+ goto_if 0, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96
checkflag 2124
- jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1C96
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1C96
setflag 2124
msgbox PetalburgCity_PokemonCenter_1F_Text_1B21CC, 3
release
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
index e9f379b24..69a4dc3e9 100644
--- a/data/scripts/players_house.inc
+++ b/data/scripts/players_house.inc
@@ -6,29 +6,29 @@ LittlerootTown_MaysHouse_2F_EventScript_1B6950:: @ 81B6950
LittlerootTown_BrendansHouse_1F_EventScript_1B6956:: @ 81B6956
LittlerootTown_MaysHouse_1F_EventScript_1B6956:: @ 81B6956
msgbox LittlerootTown_BrendansHouse_1F_Text_172429, 4
- move 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0839
- waitmove 0
+ applymovement 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0839
+ waitmovement 0
compare 0x8005, 0
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B699F
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B699F
compare 0x8005, 1
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B69AA
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B69AA
msgbox LittlerootTown_BrendansHouse_1F_Text_172453, 4
- closebutton
+ closemessage
setvar 0x4092, 4
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1B69B5
- move 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0841
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B69B5
+ applymovement 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0841
+ waitmovement 0
releaseall
end
LittlerootTown_BrendansHouse_1F_EventScript_1B699F:: @ 81B699F
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1A0843
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A0843
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1B69AA:: @ 81B69AA
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_Movement_1B69B5:: @ 81B69B5
@@ -38,74 +38,74 @@ LittlerootTown_BrendansHouse_1F_Movement_1B69B5:: @ 81B69B5
LittlerootTown_BrendansHouse_1F_EventScript_1B69B7:: @ 81B69B7
LittlerootTown_MaysHouse_1F_EventScript_1B69B7:: @ 81B69B7
msgbox LittlerootTown_BrendansHouse_1F_Text_172531, 4
- closebutton
- move 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0841
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CDC
- waitmove 0
+ closemessage
+ applymovement 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0841
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CDC
+ waitmovement 0
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_1B69D3:: @ 81B69D3
lockall
setvar 0x8004, 0
- jump LittlerootTown_BrendansHouse_2F_EventScript_1B69EB
+ goto LittlerootTown_BrendansHouse_2F_EventScript_1B69EB
end
LittlerootTown_MaysHouse_2F_EventScript_1B69DF:: @ 81B69DF
lockall
setvar 0x8004, 1
- jump LittlerootTown_MaysHouse_2F_EventScript_1B69EB
+ goto LittlerootTown_MaysHouse_2F_EventScript_1B69EB
end
LittlerootTown_BrendansHouse_2F_EventScript_1B69EB:: @ 81B69EB
LittlerootTown_MaysHouse_2F_EventScript_1B69EB:: @ 81B69EB
checkflag 81
- jumpeq LittlerootTown_BrendansHouse_2F_EventScript_1B6A91
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6A91
msgbox LittlerootTown_BrendansHouse_2F_Text_172E18, 4
call LittlerootTown_BrendansHouse_2F_EventScript_1B6A9B
- pause 30
+ delay 30
setvar 0x4092, 6
setflag 81
setflag 754
setflag 755
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A31
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A31
compare RESULT, 1
- callif 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A61
- playsfx 9
- disappear 0x8008
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A61
+ playse 9
+ removeobject 0x8008
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_1B6A31:: @ 81B6A31
setvar 0x8008, 14
- reappear 0x8008
- move 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AA2
- waitmove 0
- move 255, LittlerootTown_BrendansHouse_2F_Movement_1A0843
- waitmove 0
+ addobject 0x8008
+ applymovement 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AA2
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1A0843
+ waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_172E4C, 4
- closebutton
- move 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AA9
- waitmove 0
+ closemessage
+ applymovement 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AA9
+ waitmovement 0
return
LittlerootTown_BrendansHouse_2F_EventScript_1B6A61:: @ 81B6A61
setvar 0x8008, 14
- reappear 0x8008
- move 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AAD
- waitmove 0
- move 255, LittlerootTown_BrendansHouse_2F_Movement_1A083F
- waitmove 0
+ addobject 0x8008
+ applymovement 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AAD
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1A083F
+ waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_172E4C, 4
- closebutton
- move 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AB4
- waitmove 0
+ closemessage
+ applymovement 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AB4
+ waitmovement 0
return
LittlerootTown_BrendansHouse_2F_EventScript_1B6A91:: @ 81B6A91
- inccounter GAME_STAT_CHECKED_CLOCK
+ incrementgamestat GAME_STAT_CHECKED_CLOCK
fadescreen 1
special ScrSpecial_ViewWallClock
waitstate
@@ -155,75 +155,75 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6AB8:: @ 81B6AB8
end
LittlerootTown_BrendansHouse_1F_EventScript_1B6ABF:: @ 81B6ABF
- move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0843
- waitmove 0
+ applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0843
+ waitmovement 0
call LittlerootTown_BrendansHouse_1F_EventScript_1B6B9D
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CCC
- waitmove 0
- playmusic 453, 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CCC
+ waitmovement 0
+ playbgm 453, 0
msgbox LittlerootTown_BrendansHouse_1F_Text_1725C9, 4
- closebutton
- move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1B6BDB
- waitmove 0
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CD2
- waitmove 0
+ closemessage
+ applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1B6BDB
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CD2
+ waitmovement 0
call LittlerootTown_BrendansHouse_1F_EventScript_1B6BBE
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F
+ waitmovement 0
msgbox LittlerootTown_BrendansHouse_1F_Text_1725FE, 4
msgbox LittlerootTown_BrendansHouse_1F_Text_172644, 4
- closebutton
+ closemessage
setvar 0x4001, 1
- move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1B6BE1
- waitmove 0
- jump LittlerootTown_BrendansHouse_1F_EventScript_1B6AB8
+ applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1B6BE1
+ waitmovement 0
+ goto LittlerootTown_BrendansHouse_1F_EventScript_1B6AB8
end
LittlerootTown_MaysHouse_1F_EventScript_1B6B2E:: @ 81B6B2E
- move 0x8005, LittlerootTown_MaysHouse_1F_Movement_1A083F
- waitmove 0
+ applymovement 0x8005, LittlerootTown_MaysHouse_1F_Movement_1A083F
+ waitmovement 0
call LittlerootTown_MaysHouse_1F_EventScript_1B6B9D
- move 255, LittlerootTown_MaysHouse_1F_Movement_1B6CD4
- waitmove 0
- playmusic 453, 0
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1B6CD4
+ waitmovement 0
+ playbgm 453, 0
msgbox LittlerootTown_MaysHouse_1F_Text_1725C9, 4
- closebutton
- move 0x8005, LittlerootTown_MaysHouse_1F_Movement_1B6BDE
- waitmove 0
- move 255, LittlerootTown_MaysHouse_1F_Movement_1B6CDA
- waitmove 0
+ closemessage
+ applymovement 0x8005, LittlerootTown_MaysHouse_1F_Movement_1B6BDE
+ waitmovement 0
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1B6CDA
+ waitmovement 0
call LittlerootTown_MaysHouse_1F_EventScript_1B6BBE
- move 255, LittlerootTown_MaysHouse_1F_Movement_1A0843
- waitmove 0
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1A0843
+ waitmovement 0
msgbox LittlerootTown_MaysHouse_1F_Text_1725FE, 4
msgbox LittlerootTown_MaysHouse_1F_Text_172644, 4
- closebutton
+ closemessage
setvar 0x4001, 1
- move 0x8005, LittlerootTown_MaysHouse_1F_Movement_1B6BE5
- waitmove 0
- jump LittlerootTown_MaysHouse_1F_EventScript_1B6AB8
+ applymovement 0x8005, LittlerootTown_MaysHouse_1F_Movement_1B6BE5
+ waitmovement 0
+ goto LittlerootTown_MaysHouse_1F_EventScript_1B6AB8
end
LittlerootTown_BrendansHouse_1F_EventScript_1B6B9D:: @ 81B6B9D
LittlerootTown_MaysHouse_1F_EventScript_1B6B9D:: @ 81B6B9D
- playsfx 21
- move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0833
- waitmove 0
- move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0835
- waitmove 0
+ playse 21
+ applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0833
+ waitmovement 0
+ applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0835
+ waitmovement 0
msgbox LittlerootTown_BrendansHouse_1F_Text_1725A3, 4
- closebutton
+ closemessage
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6BBE:: @ 81B6BBE
LittlerootTown_MaysHouse_1F_EventScript_1B6BBE:: @ 81B6BBE
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1A0841
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A0841
+ waitmovement 0
msgbox LittlerootTown_BrendansHouse_1F_Text_172841, 4
- fadedefault
+ fadedefaultbgm
special TurnOffTVScreen
setflag 2096
- pause 35
+ delay 35
return
LittlerootTown_BrendansHouse_1F_Movement_1B6BDB:: @ 81B6BDB
@@ -253,17 +253,17 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6BE9:: @ 81B6BE9
lock
faceplayer
compare 0x4082, 4
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33
compare 0x408c, 4
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33
checkflag 2059
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D
checkflag 82
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72
compare 0x4001, 1
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C80
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C80
compare 0x4092, 7
- jumpif 4, LittlerootTown_BrendansHouse_1F_EventScript_1B6C9C
+ goto_if 4, LittlerootTown_BrendansHouse_1F_EventScript_1B6C9C
msgbox LittlerootTown_BrendansHouse_1F_Text_172429, 4
release
end
@@ -275,11 +275,11 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6C33:: @ 81B6C33
LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D:: @ 81B6C3D
checkflag 133
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72
msgbox LittlerootTown_BrendansHouse_1F_Text_172782, 4
giveitem ITEM_AMULET_COIN
compare RESULT, 0
- jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1A029B
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1A029B
msgbox LittlerootTown_BrendansHouse_1F_Text_1727CD, 4
setflag 133
release
@@ -287,7 +287,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D:: @ 81B6C3D
LittlerootTown_BrendansHouse_1F_EventScript_1B6C72:: @ 81B6C72
msgbox LittlerootTown_BrendansHouse_1F_Text_172717, 4
- jump LittlerootTown_BrendansHouse_1F_EventScript_1B6C8A
+ goto LittlerootTown_BrendansHouse_1F_EventScript_1B6C8A
end
LittlerootTown_BrendansHouse_1F_EventScript_1B6C80:: @ 81B6C80
@@ -296,9 +296,9 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6C80:: @ 81B6C80
end
LittlerootTown_BrendansHouse_1F_EventScript_1B6C8A:: @ 81B6C8A
- closebutton
+ closemessage
call LittlerootTown_BrendansHouse_1F_EventScript_1A02CA
- inccounter GAME_STAT_RESTED_AT_HOME
+ incrementgamestat GAME_STAT_RESTED_AT_HOME
msgbox LittlerootTown_BrendansHouse_1F_Text_17276B, 4
release
end
@@ -312,8 +312,8 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6CA6:: @ 81B6CA6
LittlerootTown_MaysHouse_1F_EventScript_1B6CA6:: @ 81B6CA6
lock
faceplayer
- checksound
- pokecry SPECIES_MACHOKE, 0
+ waitse
+ playpokecry SPECIES_MACHOKE, 0
msgbox LittlerootTown_BrendansHouse_1F_Text_17281D, 4
waitpokecry
release
@@ -323,8 +323,8 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6CB9:: @ 81B6CB9
LittlerootTown_MaysHouse_1F_EventScript_1B6CB9:: @ 81B6CB9
lock
faceplayer
- checksound
- pokecry SPECIES_MACHOKE, 0
+ waitse
+ playpokecry SPECIES_MACHOKE, 0
msgbox LittlerootTown_BrendansHouse_1F_Text_172831, 4
waitpokecry
release
@@ -361,43 +361,43 @@ LittlerootTown_BrendansHouse_1F_Movement_1B6CDC:: @ 81B6CDC
LittlerootTown_BrendansHouse_1F_EventScript_1B6CDE:: @ 81B6CDE
LittlerootTown_MaysHouse_1F_EventScript_1B6CDE:: @ 81B6CDE
lockall
- checkgender
+ checkplayergender
compare RESULT, 0
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DAD
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DAD
compare RESULT, 1
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD
compare 0x8008, 0
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D
compare 0x8008, 1
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E28
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0839
- waitmove 0
- playsfx 21
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0833
- waitmove 0
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0835
- waitmove 0
- pause 20
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E28
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0839
+ waitmovement 0
+ playse 21
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0833
+ waitmovement 0
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0835
+ waitmovement 0
+ delay 20
compare 0x8008, 0
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD
compare 0x8008, 1
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8
msgbox LittlerootTown_BrendansHouse_1F_Text_17298B, 4
giveitem ITEM_SS_TICKET
msgbox LittlerootTown_BrendansHouse_1F_Text_172A7D, 4
- closebutton
+ closemessage
compare 0x8008, 0
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3
compare 0x8008, 1
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE
msgbox LittlerootTown_BrendansHouse_1F_Text_172B5E, 4
- closebutton
+ closemessage
compare 0x8008, 0
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9
compare 0x8008, 1
- callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B
- playsfx 8
- disappear 0x8009
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B
+ playse 8
+ removeobject 0x8009
setflag 291
setvar 0x4082, 4
setvar 0x408c, 4
@@ -417,45 +417,45 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD:: @ 81B6DBD
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD:: @ 81B6DCD
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E33
- waitmove 0
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E33
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8:: @ 81B6DD8
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E36
- waitmove 0
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E36
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3:: @ 81B6DE3
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E39
- waitmove 0
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E39
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE:: @ 81B6DEE
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E3B
- waitmove 0
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E3B
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9:: @ 81B6DF9
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E4F
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E3D
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E4F
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E3D
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B:: @ 81B6E0B
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E4F
- move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E43
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E4F
+ applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E43
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D:: @ 81B6E1D
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E49
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E49
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1B6E28:: @ 81B6E28
- move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E54
- waitmove 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E54
+ waitmovement 0
return
LittlerootTown_BrendansHouse_1F_Movement_1B6E33:: @ 81B6E33
diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc
index 852acd292..6fe754097 100644
--- a/data/scripts/pokeblocks.inc
+++ b/data/scripts/pokeblocks.inc
@@ -1,36 +1,36 @@
FallarborTown_ContestLobby_EventScript_1B7604:: @ 81B7604
setvar 0x8008, 4
setvar 0x8009, 1
- move 0x8008, FallarborTown_ContestLobby_Movement_1B7821
- waitmove 0
- jump FallarborTown_ContestLobby_EventScript_1B7681
+ applymovement 0x8008, FallarborTown_ContestLobby_Movement_1B7821
+ waitmovement 0
+ goto FallarborTown_ContestLobby_EventScript_1B7681
end
SlateportCity_ContestLobby_EventScript_1B761E:: @ 81B761E
setvar 0x8008, 2
setvar 0x8009, 2
- move 6, SlateportCity_ContestLobby_Movement_1A083D
- move 0x8008, SlateportCity_ContestLobby_Movement_1B7821
- waitmove 0
- jump SlateportCity_ContestLobby_EventScript_1B7681
+ applymovement 6, SlateportCity_ContestLobby_Movement_1A083D
+ applymovement 0x8008, SlateportCity_ContestLobby_Movement_1B7821
+ waitmovement 0
+ goto SlateportCity_ContestLobby_EventScript_1B7681
end
VerdanturfTown_ContestLobby_EventScript_1B763F:: @ 81B763F
setvar 0x8008, 2
setvar 0x8009, 1
- move 0x8008, VerdanturfTown_ContestLobby_Movement_1B7821
- waitmove 0
- jump VerdanturfTown_ContestLobby_EventScript_1B7681
+ applymovement 0x8008, VerdanturfTown_ContestLobby_Movement_1B7821
+ waitmovement 0
+ goto VerdanturfTown_ContestLobby_EventScript_1B7681
end
LilycoveCity_ContestLobby_EventScript_1B7659:: @ 81B7659
setvar 0x8008, 3
setvar 0x8009, 3
- move 9, LilycoveCity_ContestLobby_Movement_1A083D
- move 10, LilycoveCity_ContestLobby_Movement_1A083D
- move 0x8008, LilycoveCity_ContestLobby_Movement_1B7821
- waitmove 0
- jump LilycoveCity_ContestLobby_EventScript_1B7681
+ applymovement 9, LilycoveCity_ContestLobby_Movement_1A083D
+ applymovement 10, LilycoveCity_ContestLobby_Movement_1A083D
+ applymovement 0x8008, LilycoveCity_ContestLobby_Movement_1B7821
+ waitmovement 0
+ goto LilycoveCity_ContestLobby_EventScript_1B7681
end
FallarborTown_ContestLobby_EventScript_1B7681:: @ 81B7681
@@ -40,24 +40,24 @@ VerdanturfTown_ContestLobby_EventScript_1B7681:: @ 81B7681
lockall
msgbox FallarborTown_ContestLobby_Text_1B6E63, 5
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1B76A1
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B76A1
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B76E5
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B76E5
end
FallarborTown_ContestLobby_EventScript_1B76A1:: @ 81B76A1
checkitem ITEM_POKEBLOCK_CASE, 1
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B7780
- specialval RESULT, PlayerHasBerries
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7780
+ specialvar RESULT, PlayerHasBerries
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B770E
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B770E
msgbox FallarborTown_ContestLobby_Text_1B6E9D, 4
- specialval RESULT, sub_810CA00
+ specialvar RESULT, sub_810CA00
compare RESULT, 65535
- jumpif 5, FallarborTown_ContestLobby_EventScript_1B76EF
+ goto_if 5, FallarborTown_ContestLobby_EventScript_1B76EF
compare RESULT, 65535
- jumpeq FallarborTown_ContestLobby_EventScript_1B7776
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7776
end
FallarborTown_ContestLobby_EventScript_1B76E5:: @ 81B76E5
@@ -68,27 +68,27 @@ FallarborTown_ContestLobby_EventScript_1B76E5:: @ 81B76E5
FallarborTown_ContestLobby_EventScript_1B76EF:: @ 81B76EF
msgbox FallarborTown_ContestLobby_Text_1B6ED0, 5
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1B7734
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7734
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B7726
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7726
end
FallarborTown_ContestLobby_EventScript_1B770E:: @ 81B770E
msgbox FallarborTown_ContestLobby_Text_1B6FF0, 4
- checkdailyflags
+ dodailyevents
checkflag 2241
- jumpeq FallarborTown_ContestLobby_EventScript_1B774F
- jump FallarborTown_ContestLobby_EventScript_1B7759
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B774F
+ goto FallarborTown_ContestLobby_EventScript_1B7759
end
FallarborTown_ContestLobby_EventScript_1B7726:: @ 81B7726
msgbox FallarborTown_ContestLobby_Text_1B6F1F, 4
- jump FallarborTown_ContestLobby_EventScript_1B7734
+ goto FallarborTown_ContestLobby_EventScript_1B7734
end
FallarborTown_ContestLobby_EventScript_1B7734:: @ 81B7734
msgbox FallarborTown_ContestLobby_Text_1B6EF1, 4
- jump FallarborTown_ContestLobby_EventScript_1B7742
+ goto FallarborTown_ContestLobby_EventScript_1B7742
end
FallarborTown_ContestLobby_EventScript_1B7742:: @ 81B7742
@@ -108,7 +108,7 @@ FallarborTown_ContestLobby_EventScript_1B7759:: @ 81B7759
msgbox FallarborTown_ContestLobby_Text_1B704A, 4
giveitem ITEM_PECHA_BERRY
setflag 2241
- jump FallarborTown_ContestLobby_EventScript_1B76EF
+ goto FallarborTown_ContestLobby_EventScript_1B76EF
end
FallarborTown_ContestLobby_EventScript_1B7776:: @ 81B7776
@@ -123,22 +123,22 @@ FallarborTown_ContestLobby_EventScript_1B7780:: @ 81B7780
FallarborTown_ContestLobby_EventScript_1B778A:: @ 81B778A
setvar 0x8008, 4
- jump FallarborTown_ContestLobby_EventScript_1B77B6
+ goto FallarborTown_ContestLobby_EventScript_1B77B6
end
SlateportCity_ContestLobby_EventScript_1B7795:: @ 81B7795
setvar 0x8008, 2
- jump SlateportCity_ContestLobby_EventScript_1B77B6
+ goto SlateportCity_ContestLobby_EventScript_1B77B6
end
VerdanturfTown_ContestLobby_EventScript_1B77A0:: @ 81B77A0
setvar 0x8008, 2
- jump VerdanturfTown_ContestLobby_EventScript_1B77B6
+ goto VerdanturfTown_ContestLobby_EventScript_1B77B6
end
LilycoveCity_ContestLobby_EventScript_1B77AB:: @ 81B77AB
setvar 0x8008, 3
- jump LilycoveCity_ContestLobby_EventScript_1B77B6
+ goto LilycoveCity_ContestLobby_EventScript_1B77B6
end
FallarborTown_ContestLobby_EventScript_1B77B6:: @ 81B77B6
@@ -148,11 +148,11 @@ VerdanturfTown_ContestLobby_EventScript_1B77B6:: @ 81B77B6
lock
faceplayer
msgbox FallarborTown_ContestLobby_Text_1B742F, 4
- specialval RESULT, PlayerHasBerries
+ specialvar RESULT, PlayerHasBerries
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1B77DC
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B77DC
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B77E6
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B77E6
end
FallarborTown_ContestLobby_EventScript_1B77DC:: @ 81B77DC
@@ -161,10 +161,10 @@ FallarborTown_ContestLobby_EventScript_1B77DC:: @ 81B77DC
end
FallarborTown_ContestLobby_EventScript_1B77E6:: @ 81B77E6
- checkdailyflags
+ dodailyevents
checkflag 2241
- jumpeq FallarborTown_ContestLobby_EventScript_1B77F6
- jump FallarborTown_ContestLobby_EventScript_1B7800
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B77F6
+ goto FallarborTown_ContestLobby_EventScript_1B7800
end
FallarborTown_ContestLobby_EventScript_1B77F6:: @ 81B77F6
@@ -188,19 +188,19 @@ VerdanturfTown_ContestLobby_Movement_1B7821:: @ 81B7821
step_end
FallarborTown_ContestLobby_EventScript_1B7823:: @ 81B7823
- jump FallarborTown_ContestLobby_EventScript_1B783B
+ goto FallarborTown_ContestLobby_EventScript_1B783B
end
SlateportCity_ContestLobby_EventScript_1B7829:: @ 81B7829
- jump SlateportCity_ContestLobby_EventScript_1B783B
+ goto SlateportCity_ContestLobby_EventScript_1B783B
end
VerdanturfTown_ContestLobby_EventScript_1B782F:: @ 81B782F
- jump VerdanturfTown_ContestLobby_EventScript_1B783B
+ goto VerdanturfTown_ContestLobby_EventScript_1B783B
end
LilycoveCity_ContestLobby_EventScript_1B7835:: @ 81B7835
- jump LilycoveCity_ContestLobby_EventScript_1B783B
+ goto LilycoveCity_ContestLobby_EventScript_1B783B
end
FallarborTown_ContestLobby_EventScript_1B783B:: @ 81B783B
@@ -208,25 +208,25 @@ LilycoveCity_ContestLobby_EventScript_1B783B:: @ 81B783B
SlateportCity_ContestLobby_EventScript_1B783B:: @ 81B783B
VerdanturfTown_ContestLobby_EventScript_1B783B:: @ 81B783B
lockall
- specialval RESULT, PlayerHasBerries
+ specialvar RESULT, PlayerHasBerries
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B7897
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7897
checkitem ITEM_POKEBLOCK_CASE, 1
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B7942
- specialval RESULT, sub_810CA00
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7942
+ specialvar RESULT, sub_810CA00
compare RESULT, 65535
- jumpif 5, FallarborTown_ContestLobby_EventScript_1B7878
+ goto_if 5, FallarborTown_ContestLobby_EventScript_1B7878
compare RESULT, 65535
- jumpeq FallarborTown_ContestLobby_EventScript_1B7938
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7938
end
FallarborTown_ContestLobby_EventScript_1B7878:: @ 81B7878
msgbox FallarborTown_ContestLobby_Text_1B727C, 5
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1B78A1
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B78A1
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B7936
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7936
end
FallarborTown_ContestLobby_EventScript_1B7897:: @ 81B7897
@@ -237,45 +237,45 @@ FallarborTown_ContestLobby_EventScript_1B7897:: @ 81B7897
FallarborTown_ContestLobby_EventScript_1B78A1:: @ 81B78A1
call S_DoSaveDialog
compare RESULT, 0
- jumpeq FallarborTown_ContestLobby_EventScript_1B7936
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7936
message FallarborTown_ContestLobby_Text_1B7304
- waittext
+ waitmessage
special sub_8083614
waitstate
compare RESULT, 1
- jumpeq FallarborTown_ContestLobby_EventScript_1B7980
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7980
compare RESULT, 2
- jumpeq FallarborTown_ContestLobby_EventScript_1B794C
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B794C
compare RESULT, 3
- jumpeq FallarborTown_ContestLobby_EventScript_1B7959
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7959
compare RESULT, 5
- jumpeq FallarborTown_ContestLobby_EventScript_1B7966
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7966
compare RESULT, 6
- jumpeq FallarborTown_ContestLobby_EventScript_1B7973
+ goto_if_eq FallarborTown_ContestLobby_EventScript_1B7973
end
FallarborTown_ContestLobby_EventScript_1B78F3:: @ 81B78F3
msgbox FallarborTown_ContestLobby_Text_1B733B, 4
- jump FallarborTown_ContestLobby_EventScript_1B791D
+ goto FallarborTown_ContestLobby_EventScript_1B791D
end
FallarborTown_ContestLobby_EventScript_1B7901:: @ 81B7901
msgbox FallarborTown_ContestLobby_Text_1B7347, 4
- jump FallarborTown_ContestLobby_EventScript_1B791D
+ goto FallarborTown_ContestLobby_EventScript_1B791D
end
FallarborTown_ContestLobby_EventScript_1B790F:: @ 81B790F
msgbox FallarborTown_ContestLobby_Text_1B735A, 4
- jump FallarborTown_ContestLobby_EventScript_1B791D
+ goto FallarborTown_ContestLobby_EventScript_1B791D
end
FallarborTown_ContestLobby_EventScript_1B791D:: @ 81B791D
setvar 0x8004, 0
fadescreen 1
- disappear 240
- disappear 239
- disappear 238
- disappear 237
+ removeobject 240
+ removeobject 239
+ removeobject 238
+ removeobject 237
special sub_804E538
waitstate
releaseall
@@ -321,11 +321,11 @@ FallarborTown_ContestLobby_EventScript_1B7973:: @ 81B7973
FallarborTown_ContestLobby_EventScript_1B7980:: @ 81B7980
fadescreen 1
- specialval RESULT, GetLinkPartnerNames
+ specialvar RESULT, GetLinkPartnerNames
copyvar 0x8008, RESULT
copyvar 0x8004, 0x8008
special SpawnBerryBlenderLinkPlayerSprites
- jump FallarborTown_ContestLobby_EventScript_1B799A
+ goto FallarborTown_ContestLobby_EventScript_1B799A
end
FallarborTown_ContestLobby_EventScript_1B799A:: @ 81B799A
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
index 03293115b..d0283f072 100644
--- a/data/scripts/safari_zone.inc
+++ b/data/scripts/safari_zone.inc
@@ -1,7 +1,7 @@
gUnknown_081C340A:: @ 81C340A
setvar 0x40a4, 1
special ExitSafariMode
- warp3 Route121_SafariZoneEntrance, 255, 2, 5
+ setwarp Route121_SafariZoneEntrance, 255, 2, 5
end
EventScript_1C341B: @ 81C341B
@@ -15,39 +15,39 @@ gUnknown_081C342D:: @ 81C342D
lockall
msgbox UnknownString_81C34B2, 5
compare RESULT, 1
- jumpeq EventScript_1C3443
+ goto_if_eq EventScript_1C3443
releaseall
end
EventScript_1C3443:
- jump EventScript_1C341B
+ goto EventScript_1C341B
gUnknown_081C3448:: @ 81C3448
lockall
- playsfx 73
+ playse 73
message UnknownString_81C34E4
- waittext
+ waitmessage
waitbutton
releaseall
- jump EventScript_1C341B
+ goto EventScript_1C341B
gUnknown_081C3459:: @ 81C3459
lockall
- playsfx 73
+ playse 73
message UnknownString_81C3514
- waittext
+ waitmessage
waitbutton
releaseall
- jump EventScript_1C341B
+ goto EventScript_1C341B
gUnknown_081C346A:: @ 81C346A
lockall
special SafariZoneGetPokeblockNameInFeeder
- compare RESULT, -1
- jumpif 5, EventScript_1C34A9
+ compare RESULT, 0xFFFF
+ goto_if 5, EventScript_1C34A9
msgbox UnknownString_81C354E, 5
compare RESULT, 1
- jumpeq EventScript_1C348E
+ goto_if_eq EventScript_1C348E
releaseall
end
@@ -55,20 +55,20 @@ EventScript_1C348E:
fadescreen 1
special sub_810BAF4
waitstate
- compare RESULT, -1
- jumpif 5, EventScript_1C34A0
+ compare RESULT, 0xFFFF
+ goto_if 5, EventScript_1C34A0
end
EventScript_1C34A0:
message UnknownString_81C35A9
- waittext
+ waitmessage
waitbutton
releaseall
end
EventScript_1C34A9:
message UnknownString_81C3583
- waittext
+ waitmessage
waitbutton
releaseall
end
diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc
index 629125030..f3c03a853 100644
--- a/data/scripts/secret_power_tm.inc
+++ b/data/scripts/secret_power_tm.inc
@@ -3,7 +3,7 @@ Route111_EventScript_1A3858:: @ 81A3858
faceplayer
msgbox Route111_Text_1A3520, 5
compare RESULT, 1
- jumpeq Route111_EventScript_1A3877
+ goto_if_eq Route111_EventScript_1A3877
msgbox Route111_Text_1A37B5, 4
release
end
@@ -11,29 +11,29 @@ Route111_EventScript_1A3858:: @ 81A3858
Route111_EventScript_1A3877:: @ 81A3877
giveitem ITEM_TM43
compare RESULT, 0
- jumpeq Route111_EventScript_1A38D9
+ goto_if_eq Route111_EventScript_1A38D9
msgbox Route111_Text_1A35C5, 4
- closebutton
+ closemessage
setflag 96
clearflag 948
compare FACING, 3
- callif 1, Route111_EventScript_1A38C3
+ call_if 1, Route111_EventScript_1A38C3
compare FACING, 4
- callif 1, Route111_EventScript_1A38C3
+ call_if 1, Route111_EventScript_1A38C3
compare FACING, 2
- callif 1, Route111_EventScript_1A38CE
- disappear LAST_TALKED
+ call_if 1, Route111_EventScript_1A38CE
+ removeobject LAST_TALKED
release
end
Route111_EventScript_1A38C3:: @ 81A38C3
- move LAST_TALKED, Route111_Movement_1A38E3
- waitmove 0
+ applymovement LAST_TALKED, Route111_Movement_1A38E3
+ waitmovement 0
return
Route111_EventScript_1A38CE:: @ 81A38CE
- move LAST_TALKED, Route111_Movement_1A38EF
- waitmove 0
+ applymovement LAST_TALKED, Route111_Movement_1A38EF
+ waitmovement 0
return
Route111_EventScript_1A38D9:: @ 81A38D9
diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc
index 1f8956811..425f42a85 100644
--- a/data/scripts/tv.inc
+++ b/data/scripts/tv.inc
@@ -1,33 +1,33 @@
Event_TV:: @ 81A6E72
lockall
- inccounter GAME_STAT_WATCHED_TV
+ incrementgamestat GAME_STAT_WATCHED_TV
special sub_80C2014
- specialval RESULT, CheckForBigMovieOrEmergencyNewsOnTV
+ specialvar RESULT, CheckForBigMovieOrEmergencyNewsOnTV
compare RESULT, 2
- jumpeq EventScript_1A6F01
+ goto_if_eq EventScript_1A6F01
compare RESULT, 1
- jumpeq EventScript_1A6F0B
+ goto_if_eq EventScript_1A6F0B
checkflag 2098
- jumpif 0, EventScript_1A6EF1
+ goto_if 0, EventScript_1A6EF1
checkflag 2097
- jumpeq EventScript_1A6EF1
- specialval RESULT, IsTVShowInSearchOfTrainersAiring
+ goto_if_eq EventScript_1A6EF1
+ specialvar RESULT, IsTVShowInSearchOfTrainersAiring
compare RESULT, 1
- jumpeq EventScript_1A6F66
- jump EventScript_1A6F50
+ goto_if_eq EventScript_1A6F66
+ goto EventScript_1A6F50
end
EventScript_1A6EBB:
- specialval 0x8004, special_0x44
+ specialvar 0x8004, special_0x44
compare 0x8004, 255
- jumpeq EventScript_1A6F3F
- specialval RESULT, special_0x4a
+ goto_if_eq EventScript_1A6F3F
+ specialvar RESULT, special_0x4a
compare RESULT, 255
- jumpeq EventScript_1A6F3F
+ goto_if_eq EventScript_1A6F3F
copyvar 0x8004, RESULT
- specialval RESULT, sub_80BDA0C
+ specialvar RESULT, sub_80BDA0C
compare RESULT, 0
- jumpif 5, EventScript_1A6F21
+ goto_if 5, EventScript_1A6F21
end
EventScript_1A6EF1:
@@ -57,11 +57,11 @@ EventScript_1A6F0B:
EventScript_1A6F21:
special DoTVShow
- waittext
+ waitmessage
waitbutton
compare RESULT, 1
- jumpif 5, EventScript_1A6F21
- jump EventScript_1A6F37
+ goto_if 5, EventScript_1A6F21
+ goto EventScript_1A6F37
end
EventScript_1A6F37:
@@ -73,23 +73,23 @@ EventScript_1A6F37:
EventScript_1A6F3F:
special GetMomOrDadStringForTVMessage
msgbox UnknownString_81A0E68, 4
- jump EventScript_1A6F37
+ goto EventScript_1A6F37
end
EventScript_1A6F50:
special sub_80BECE8
compare RESULT, 0
- jumpeq EventScript_1A6EBB
- waittext
+ goto_if_eq EventScript_1A6EBB
+ waitmessage
waitbutton
- jump EventScript_1A6F37
+ goto EventScript_1A6F37
end
EventScript_1A6F66:
special DoTVShowInSearchOfTrainers
- waittext
+ waitmessage
waitbutton
compare RESULT, 0
- jumpeq EventScript_1A6F66
- jump EventScript_1A6F37
+ goto_if_eq EventScript_1A6F66
+ goto EventScript_1A6F37
end
diff --git a/data/secret_base.s b/data/secret_base.s
deleted file mode 100644
index 59ded8ddf..000000000
--- a/data/secret_base.s
+++ /dev/null
@@ -1,77 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 1
-gUnknown_083D1358:: @ 83D1358
- .2byte 0x26, 0x36
- .2byte 0x27, 0x37
- .2byte 0x1A0, 0x1A1
- .2byte 0x1A8, 0x1A9
- .2byte 0x1B0, 0x1B1
- .2byte 0x208, 0x210
- .2byte 0x271, 0x278
-
-gUnknown_083D1374:: @ 83D1374
- .byte 0, 0
- .byte 1, 3
- .byte 6, 0
- .byte 5, 9
- .byte 12, 0
- .byte 1, 3
- .byte 18, 0
- .byte 7, 13
- .byte 1, 0
- .byte 2, 3
- .byte 7, 0
- .byte 9, 2
- .byte 13, 0
- .byte 13, 4
- .byte 19, 0
- .byte 1, 2
- .byte 2, 0
- .byte 1, 3
- .byte 8, 0
- .byte 1, 2
- .byte 14, 0
- .byte 3, 15
- .byte 20, 0
- .byte 3, 14
- .byte 3, 0
- .byte 9, 3
- .byte 9, 0
- .byte 8, 7
- .byte 15, 0
- .byte 3, 6
- .byte 21, 0
- .byte 5, 9
- .byte 4, 0
- .byte 2, 3
- .byte 10, 0
- .byte 5, 6
- .byte 16, 0
- .byte 15, 3
- .byte 22, 0
- .byte 4, 10
- .byte 5, 0
- .byte 3, 3
- .byte 11, 0
- .byte 1, 2
- .byte 17, 0
- .byte 7, 8
- .byte 23, 0
- .byte 9, 6
-
- .align 2
-gUnknown_083D13D4:: @ 83D13D4
- .4byte SecretBaseText_DelRegist, sub_80BCA84
- .4byte gUnknownText_Exit, sub_80BCBF8
-
- .align 2
-gUnknown_083D13E4:: @ 83D13E4
- .4byte sub_80BCB90
- .4byte sub_80BCBC0
-
-gUnknown_083D13EC:: @ 83D13EC
- .byte 0x23,0x24,0xF,0x1F,0x21,0x2F,0xE,0x14,0x20,0x22,0x0,0x0
diff --git a/data/specials.inc b/data/specials.inc
index 3545d1dff..0b3648c4a 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -51,7 +51,7 @@ gSpecials::
def_special sub_80C5568
def_special sub_8083BDC
def_special FieldObjectInteractionGetBerryTreeData
- def_special sub_80B4EE4
+ def_special Berry_FadeAndGoToBerryBagMenu
def_special FieldObjectInteractionPlantBerryTree
def_special FieldObjectInteractionPickBerryTree
def_special FieldObjectInteractionRemoveBerryTree
@@ -160,7 +160,7 @@ gSpecials::
def_special SetFlagInVar
def_special CableCarWarp
def_special sub_8123218
- def_special sub_8053E90
+ def_special Overworld_PlaySpecialMapMusic
def_special StartWallClock
def_special ScrSpecial_ViewWallClock
def_special ScrSpecial_ChooseStarter
@@ -241,19 +241,19 @@ gSpecials::
def_special sub_8134548
def_special sub_81347F8
def_special CheckPartyBattleTowerBanlist
- def_special sub_8135474
- def_special sub_81360C0
+ def_special PrintBattleTowerTrainerGreeting
+ def_special PrintEReaderTrainerGreeting
def_special sub_813556C
def_special sub_8135668
def_special sub_81358A4
def_special sub_8135A14
def_special sub_8135BA0
- def_special sub_8135C38
- def_special sub_8135D84
- def_special sub_8135DEC
- def_special sub_8135E50
+ def_special BattleTower_SoftReset
+ def_special DetermineBattleTowerPrize
+ def_special GiveBattleTowerPrize
+ def_special AwardBattleTowerRibbons
def_special ChooseBattleTowerPlayerParty
- def_special sub_813601C
+ def_special ValidateEReaderTrainer
def_special sub_810F404
def_special ReducePlayerPartyToThree
def_special BedroomPC
@@ -329,7 +329,7 @@ gSpecials::
def_special sp13F_fall_to_last_warp
def_special ShowContestEntryMonPic
def_special sub_80C5164
- def_special sub_8134AB4
+ def_special SetEReaderTrainerGfxId
def_special ScrSpecial_StartSouthernIslandBattle
def_special SetRoute119Weather
def_special SetRoute123Weather
diff --git a/data/trade.s b/data/trade.s
deleted file mode 100644
index 8f96a72b1..000000000
--- a/data/trade.s
+++ /dev/null
@@ -1,774 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
- .byte 0x90, 0x08, 0x00, 0x00
- .byte 0xC0, 0x3A, 0x00, 0x00
- .byte 0x1C, 0x00, 0x00, 0x00
- .byte 0x30, 0x05, 0x00, 0x00
- .byte 0x24, 0x00, 0x00, 0x00
- .byte 0x64, 0x00, 0x00, 0x00
- .byte 0xD8, 0x04, 0x00, 0x00
-
- .align 1
-gTradeMovesBoxTilemap:: @ 820ABF0
- .incbin "graphics/trade/moves_box_map.bin"
-
- .align 1
-gTradePartyBoxTilemap:: @ 820ADEE
- .incbin "graphics/trade/party_box_map.bin"
-
- .align 2
-gTradeStripesBG2Tilemap:: @ 820AFEC
- .incbin "graphics/trade/stripes_bg2_map.bin"
-
- .align 2
-gTradeStripesBG3Tilemap:: @ 820B7EC
- .incbin "graphics/trade/stripes_bg3_map.bin"
-
- .align 2
-gOamData_820BFEC:: @ 820BFEC
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_820BFF4:: @ 820BFF4
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820BFFC:: @ 820BFFC
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C004:: @ 820C004
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C00C:: @ 820C00C
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C014:: @ 820C014
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C01C:: @ 820C01C
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_820C024:: @ 820C024
- .4byte gSpriteAnim_820BFF4
- .4byte gSpriteAnim_820BFFC
- .4byte gSpriteAnim_820C004
- .4byte gSpriteAnim_820C00C
- .4byte gSpriteAnim_820C014
- .4byte gSpriteAnim_820C01C
-
- .align 2
-TradeScreenTextPalette: @ 820C03C
- .incbin "graphics/trade/text1.gbapal"
- .incbin "graphics/trade/text2.gbapal" @ unused?
-
- .align 2
-gUnknown_0820C07C:: @ 820C07C
- obj_tiles 0x0201d000, 256, 0x00c8
- obj_tiles 0x0201d100, 256, 0x00c9
- obj_tiles 0x0201d200, 256, 0x00ca
- obj_tiles 0x0201d300, 256, 0x00cb
- obj_tiles 0x0201d400, 256, 0x00cc
- obj_tiles 0x0201d500, 256, 0x00cd
- obj_tiles 0x0201d600, 256, 0x00ce
- obj_tiles 0x0201d700, 256, 0x00cf
- obj_tiles 0x0201d800, 256, 0x00d0
- obj_tiles 0x0201d900, 256, 0x00d1
- obj_tiles 0x0201da00, 256, 0x00d2
- obj_tiles 0x0201db00, 256, 0x00d3
- obj_tiles 0x0201dc00, 256, 0x00d4
-
- .align 2
-gSpritePalette_TradeScreenText:: @ 820C0E4
- obj_pal TradeScreenTextPalette, 4925
-
- .align 2
-gSpriteTemplate_820C0EC:: @ 820C0EC
- spr_template 200, 4925, gOamData_820BFEC, gSpriteAnimTable_820C024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_820C104:: @ 820C104
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_820C10C:: @ 820C10C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820C114:: @ 820C114
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_820C11C:: @ 820C11C
- .4byte gSpriteAnim_820C10C
- .4byte gSpriteAnim_820C114
-
- .align 2
-gUnknown_0820C124:: @ 820C124
- obj_tiles gUnknown_08EA1DEC, 0x800, 300
-
- .align 2
-gUnknown_0820C12C:: @ 820C12C
- obj_pal gUnknown_08EA0328, 2345
-
- .align 2
-gSpriteTemplate_820C134:: @ 820C134
- spr_template 300, 2345, gOamData_820C104, gSpriteAnimTable_820C11C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_0820C14C:: @ 820C14C
- .4byte TradeText_Cancel
- .4byte TradeText_ChoosePoke
- .4byte TradeText_Summary1
- .4byte TradeText_Trade1
- .4byte TradeText_CancelTradePrompt
- .4byte TradeText_PressBToExit
-
-@ This is used to determine the next mon to select when the D-Pad is
-@ pressed in a given direction.
-@ Note that the mons are laid out like this.
-@ 0-5 are the player's party and 6-11 are the trading partner's party.
-@ 12 is the cancel button.
-@ 0 1 6 7
-@ 2 3 8 9
-@ 4 5 10 11
-@ 12
-gTradeNextSelectedMonTable:: @ 820C164
- @ 0
- .byte 4, 2, 12, 12, 0, 0 @ up
- .byte 2, 4, 12, 12, 0, 0 @ down
- .byte 7, 6, 1, 0, 0, 0 @ left
- .byte 1, 6, 7, 0, 0, 0 @ right
- @ 1
- .byte 5, 3, 12, 12, 0, 0 @ up
- .byte 3, 5, 12, 12, 0, 0 @ down
- .byte 0, 7, 6, 1, 0, 0 @ left
- .byte 6, 7, 0, 1, 0, 0 @ right
- @ 2
- .byte 0, 0, 0, 0, 0, 0 @ up
- .byte 4, 0, 0, 0, 0, 0 @ down
- .byte 9, 8, 7, 6, 0, 0 @ left
- .byte 3, 1, 0, 0, 0, 0 @ right
- @ 3
- .byte 1, 1, 1, 1, 0, 0 @ up
- .byte 5, 1, 1, 1, 0, 0 @ down
- .byte 2, 9, 8, 7, 0, 0 @ left
- .byte 8, 9, 6, 6, 0, 0 @ right
- @ 4
- .byte 2, 2, 2, 2, 0, 0 @ up
- .byte 0, 0, 0, 0, 0, 0 @ down
- .byte 11, 10, 9, 8, 7, 6 @ left
- .byte 5, 3, 1, 0, 0, 0 @ right
- @ 5
- .byte 3, 3, 3, 3, 0, 0 @ up
- .byte 1, 1, 1, 1, 0, 0 @ down
- .byte 4, 4, 4, 4, 0, 0 @ left
- .byte 10, 8, 6, 0, 0, 0 @ right
- @ 6
- .byte 10, 8, 12, 0, 0, 0 @ up
- .byte 8, 10, 12, 0, 0, 0 @ down
- .byte 1, 0, 0, 0, 0, 0 @ left
- .byte 7, 0, 1, 0, 0, 0 @ right
- @ 7
- .byte 12, 0, 0, 0, 0, 0 @ up
- .byte 9, 12, 0, 0, 0, 0 @ down
- .byte 6, 0, 0, 0, 0, 0 @ left
- .byte 0, 0, 0, 0, 0, 0 @ right
- @ 8
- .byte 6, 0, 0, 0, 0, 0 @ up
- .byte 10, 6, 0, 0, 0, 0 @ down
- .byte 3, 2, 1, 0, 0, 0 @ left
- .byte 9, 7, 0, 0, 0, 0 @ right
- @ 9
- .byte 7, 0, 0, 0, 0, 0 @ up
- .byte 11, 12, 0, 0, 0, 0 @ down
- .byte 8, 0, 0, 0, 0, 0 @ left
- .byte 2, 1, 0, 0, 0, 0 @ right
- @ 10
- .byte 8, 0, 0, 0, 0, 0 @ up
- .byte 6, 0, 0, 0, 0, 0 @ down
- .byte 5, 4, 3, 2, 1, 0 @ left
- .byte 11, 9, 7, 0, 0, 0 @ right
- @ 11
- .byte 9, 0, 0, 0, 0, 0 @ up
- .byte 12, 0, 0, 0, 0, 0 @ down
- .byte 10, 0, 0, 0, 0, 0 @ left
- .byte 4, 2, 0, 0, 0, 0 @ right
- @ 12
- .byte 11, 9, 7, 6, 0, 0 @ up
- .byte 7, 6, 0, 0, 0, 0 @ down
- .byte 12, 0, 0, 0, 0, 0 @ left
- .byte 12, 0, 0, 0, 0, 0 @ right
-
-@ The coordinates are in units of tiles.
-@ These are used for both mon icons and the selected mon cursor,
-@ but the origins of the coordinates differ.
-gTradeMonSpriteCoords:: @ 820C29C
- @ left-side party
- .byte 1, 5
- .byte 8, 5
- .byte 1, 10
- .byte 8, 10
- .byte 1, 15
- .byte 8, 15
-
- @ right-side party
- .byte 16, 5
- .byte 23, 5
- .byte 16, 10
- .byte 23, 10
- .byte 16, 15
- .byte 23, 15
-
- @ cancel button
- .byte 23, 18
-
-gTradeLevelDisplayCoords:: @ 820C2B6
- @ left-side party
- .byte 5, 4
- .byte 12, 4
- .byte 5, 9
- .byte 12, 9
- .byte 5, 14
- .byte 12, 14
-
- @ right-side party
- .byte 20, 4
- .byte 27, 4
- .byte 20, 9
- .byte 27, 9
- .byte 20, 14
- .byte 27, 14
-
-gTradeMonBoxCoords:: @ 820C2CE
- @ left-side party
- .byte 1, 3
- .byte 8, 3
- .byte 1, 8
- .byte 8, 8
- .byte 1, 13
- .byte 8, 13
-
- @ right-side party
- .byte 16, 3
- .byte 23, 3
- .byte 16, 8
- .byte 23, 8
- .byte 16, 13
- .byte 23, 13
-
-gTradeUnknownSpriteCoords:: @ 820C2E6
- .byte 59, 10
- .byte 179, 10
- .byte 59, 10
- .byte 179, 10
-
- .align 2
-gUnknown_0820C2F0:: @ 820C2F0
- .4byte TradeText_LinkStandby
- .4byte TradeText_TradeCancelled
- .4byte TradeText_OnlyPoke
- .4byte TradeText_NonTradablePoke
- .4byte TradeText_WaitingForFriend
- .4byte TradeText_WantToTrade
-
-gTradeMessageWindowRects:: @ 820C308
- .byte 8, 7, 22, 12
- .byte 8, 7, 22, 12
- .byte 6, 7, 24, 12
- .byte 6, 7, 24, 12
- .byte 8, 7, 22, 12
- .byte 7, 7, 23, 12
-
- .align 2
-gUnknown_0820C320:: @ 820C320
- .4byte TradeText_Summary2, sub_804A9F4 @unknown
- .4byte TradeText_Trade2, sub_804AA00
-
-gUnknown_0820C330:: @ 820C330
- .byte 0, 14
- .byte 15, 29
-
-gUnknown_0820C334:: @ 820C334
- .byte 3, 5
- .byte 3, 7
- .byte 18, 5
- .byte 18, 7
-
-gOtherText_Terminator::
- .string "$"
-
-gOtherText_MaleSymbol3:: @ 820C33D
- .string "♂$"
-
-gOtherText_FemaleSymbol3:: @ 820C33F
- .string "♀$"
-
-gOtherText_GenderlessSymbol:: @ 820C341
- .string "$$"
-
- .align 2
- .4byte gTileBuffer
-
-@ Unused debug strings?
- .string "かいめの そうしん$", 13
- .string "かいめの じゅしん$", 13
- .string "ポケモンアイコンセット$", 13
- .string "OBJテキストセット$", 13
- .string "セルセット$", 13
- .string "OBJテキストADD$", 13
- .string "システムメッセージADD$", 13
- .string "はいけいセット$", 13
-
-@ Shedinja's Japanese name
-@ sub_8048D44 compares a pokemon name with this string
-gUnknown_0820C3B0:: @ 820C3B0
- .string "ヌケニン$"
-
- .string "こうかんせいりつ $" @ trade completed
- .string "だめだたらしいよ $" @ it's no good (trade failed maybe?)
-
-gUnknown_0820C3D1:: @ 820C3D1
- .byte 4, 3
- .byte 19, 3
-
- .align 2
-gTradeBallPalette:: @ 820C3D8
- .incbin "graphics/trade/ball.gbapal"
-
- .align 2
-gTradeBallTiles:: @ 820C3F8
- .incbin "graphics/trade/ball.4bpp"
-
- .align 2
-gUnknown_0820C9F8:: @ 820C9F8
- .incbin "graphics/trade/unknown.gbapal"
- .incbin "graphics/trade/gba.gbapal"
- .incbin "graphics/trade/shadow.gbapal"
- .space 32
- .incbin "graphics/trade/misc.gbapal"
-
- .align 2
-gUnknown_0820CA98:: @ 820CA98
- .incbin "graphics/trade/gba.4bpp"
- .incbin "graphics/trade/shadow.4bpp"
-
- .align 2
-gUnknown_0820DD98:: @ 820DD98
- .incbin "graphics/trade/pokeball_symbol.8bpp"
-
- .align 2
-gUnknown_0820F798:: @ 820F798
- .incbin "graphics/trade/shadow_map.bin"
-
- .align 2
-gUnknown_08210798:: @ 8210798
- .incbin "graphics/trade/gba_map.bin"
-
- .align 2
-gUnknown_08211798:: @ 8211798
- .incbin "graphics/trade/cable_closeup_map.bin"
-
- .align 2
-gUnknown_08211F98:: @ 8211F98
- .incbin "graphics/trade/pokeball_symbol_map.bin"
-
- .incbin "graphics/unused/unknown/8212098.gbapal"
-
- .align 2
-gTradeCableEndPalette:: @ 82120B8
- .incbin "graphics/trade/cable_end.gbapal"
-
- .incbin "graphics/unused/unknown/82120D8.gbapal"
-
- .space 32
-
- .align 2
-gTradeGlowPalette:: @ 8212118
- .incbin "graphics/trade/glow.gbapal"
-
- .align 2
-gTradeGlow1Tiles:: @ 8212138
- .incbin "graphics/trade/glow1.4bpp"
-
- .align 2
-gTradeGlow2Tiles:: @ 8212338
- .incbin "graphics/trade/glow2.4bpp"
-
- .align 2
-gTradeCableEndTiles:: @ 8212538
- .incbin "graphics/trade/cable_end.4bpp"
-
- .align 2
-gTradeGBAScreenTiles:: @ 8212738
- .incbin "graphics/trade/gba_screen.4bpp"
-
- .align 2
-gUnknown_08213738:: @ 8213738
- .incbin "graphics/trade/gba_affine.8bpp"
-
- .align 2
-gUnknown_08215778:: @ 8215778
- .incbin "graphics/trade/gba_affine_map.bin"
-
- .align 2
-gOamData_8215878:: @ 8215878
- .2byte 0x0100
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8215880:: @ 8215880
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 4, 3
- obj_image_anim_frame 8, 3
- obj_image_anim_frame 12, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 20, 3
- obj_image_anim_frame 24, 3
- obj_image_anim_frame 28, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 36, 3
- obj_image_anim_frame 40, 3
- obj_image_anim_frame 44, 3
- obj_image_anim_loop 1
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_82158BC:: @ 82158BC
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 4, 3
- obj_image_anim_frame 8, 3
- obj_image_anim_frame 12, 3
- obj_image_anim_frame 16, 3
- obj_image_anim_frame 20, 3
- obj_image_anim_frame 24, 3
- obj_image_anim_frame 28, 3
- obj_image_anim_frame 32, 3
- obj_image_anim_frame 36, 3
- obj_image_anim_frame 40, 3
- obj_image_anim_frame 44, 3
- obj_image_anim_loop 2
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_82158F8:: @ 82158F8
- .4byte gSpriteAnim_8215880
- .4byte gSpriteAnim_82158BC
-
- .align 2
-gSpriteAffineAnim_8215900:: @ 8215900
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 1
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8215910:: @ 8215910
- obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8215920:: @ 8215920
- obj_rot_scal_anim_frame 0x60, 0x100, 0, 0
- obj_rot_scal_anim_frame 0x0, 0x0, 0, 5
- obj_rot_scal_anim_frame 0x8, 0x0, 0, 20
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_8215940:: @ 8215940
- .4byte gSpriteAffineAnim_8215900
- .4byte gSpriteAffineAnim_8215910
- .4byte gSpriteAffineAnim_8215920
-
- .align 2
-gUnknown_0821594C:: @ 821594C
- obj_tiles gTradeBallTiles, 0x600, 5557
-
- .align 2
-gUnknown_08215954:: @ 8215954
- obj_pal gTradeBallPalette, 5558
-
- .align 2
-gSpriteTemplate_821595C:: @ 821595C
- spr_template 5557, 5558, gOamData_8215878, gSpriteAnimTable_82158F8, NULL, gSpriteAffineAnimTable_8215940, sub_804D6BC
-
- .align 2
-gOamData_8215974:: @ 8215974
- .2byte 0x0500
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_821597C:: @ 821597C
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8215984:: @ 8215984
- .4byte gSpriteAnim_821597C
-
- .align 2
-gSpriteAffineAnim_8215988:: @ 8215988
- obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 5
- obj_rot_scal_anim_frame 0xA, 0xA, 0, 5
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_82159A0:: @ 82159A0
- .4byte gSpriteAffineAnim_8215988
-
- .align 2
-gUnknown_082159A4:: @ 82159A4
- obj_tiles gTradeGlow1Tiles, 0x200, 5550
-
- .align 2
-gUnknown_082159AC:: @ 82159AC
- obj_pal gTradeGlowPalette, 5551
-
- .align 2
-gUnknown_082159B4:: @ 82159B4
- obj_pal gTradeCableEndPalette, 5555
-
- .align 2
-gSpriteTemplate_82159BC:: @ 82159BC
- spr_template 5550, 5551, gOamData_8215974, gSpriteAnimTable_8215984, NULL, gSpriteAffineAnimTable_82159A0, sub_804B058
-
- .align 2
-gOamData_82159D4:: @ 82159D4
- .2byte 0x8000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_82159DC:: @ 82159DC
- obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_82159E4:: @ 82159E4
- obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_82159EC:: @ 82159EC
- .4byte gSpriteAnim_82159DC
- .4byte gSpriteAnim_82159E4
-
- .align 2
-gUnknown_082159F4:: @ 82159F4
- obj_tiles gTradeGlow2Tiles, 0x300, 5552
-
- .align 2
-gSpriteTemplate_82159FC:: @ 82159FC
- spr_template 5552, 5551, gOamData_82159D4, gSpriteAnimTable_82159EC, NULL, gDummySpriteAffineAnimTable, sub_804B07C
-
- .align 2
-gOamData_8215A14:: @ 8215A14
- .2byte 0x8000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8215A1C:: @ 8215A1C
- obj_image_anim_frame 0, 10
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8215A24:: @ 8215A24
- .4byte gSpriteAnim_8215A1C
-
- .align 2
-gUnknown_08215A28:: @ 8215A28
- obj_tiles gTradeCableEndTiles, 0x100, 5554
-
- .align 2
-gSpriteTemplate_8215A30:: @ 8215A30
- spr_template 5554, 5555, gOamData_8215A14, gSpriteAnimTable_8215A24, NULL, gDummySpriteAffineAnimTable, sub_804B0BC
-
- .align 2
-gOamData_8215A48:: @ 8215A48
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_8215A50:: @ 8215A50
- obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 96, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_loop 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8215A74:: @ 8215A74
- .4byte gSpriteAnim_8215A50
-
- .align 2
-gUnknown_08215A78:: @ 8215A78
- obj_tiles gTradeGBAScreenTiles, 0x1000, 5556
-
- .align 2
-gSpriteTemplate_8215A80:: @ 8215A80
- spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104
-
- .align 1
-gTradeGlow2PaletteAnimTable:: @ 8215A98
- .2byte 0x7F12
- .2byte 0x7F12
- .2byte 0x7F12
- .2byte 0x7FFF
- .2byte 0x7FFF
- .2byte 0x7FFF
- .2byte 0x7F12
- .2byte 0x7F12
- .2byte 0x7F12
- .2byte 0x7FFF
- .2byte 0x7FFF
- .2byte 0x7FFF
-
- .align 2
-gSpriteAffineAnim_8215AB0:: @ 8215AB0
- obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0
- obj_rot_scal_anim_jump 0
-
- .align 2
-gSpriteAffineAnimTable_8215AC0:: @ 8215AC0
- .4byte gSpriteAffineAnim_8215AB0
-
-@ 8215AC4
- .include "data/ingame_trades.inc"
-
-gTradeBallVerticalVelocityTable:: @ 8215BA0
- .byte 0
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 3
- .byte 3
- .byte 3
- .byte 3
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte -4
- .byte -4
- .byte -4
- .byte -3
- .byte -3
- .byte -3
- .byte -3
- .byte -2
- .byte -2
- .byte -2
- .byte -2
- .byte -1
- .byte -1
- .byte -1
- .byte -1
- .byte 0
- .byte -1
- .byte 0
- .byte -1
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 1
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 3
- .byte 3
- .byte 3
- .byte 3
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte -4
- .byte -3
- .byte -3
- .byte -2
- .byte -2
- .byte -1
- .byte -1
- .byte -1
- .byte 0
- .byte -1
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 1
- .byte 1
- .byte 2
- .byte 2
- .byte 3
- .byte 3
- .byte 4
- .byte -4
- .byte -3
- .byte -2
- .byte -1
- .byte -1
- .byte -1
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 1
- .byte 2
- .byte 3
diff --git a/graphics/battle_anims/backgrounds/00.pal b/graphics/battle_anims/backgrounds/00.pal
deleted file mode 100644
index a46b57c02..000000000
--- a/graphics/battle_anims/backgrounds/00.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 139 0
-230 57 156
-197 41 123
-164 32 98
-123 24 74
-82 16 49
-41 8 24
-0 0 0
-255 82 180
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/02.pal b/graphics/battle_anims/backgrounds/02.pal
deleted file mode 100644
index c32ecc328..000000000
--- a/graphics/battle_anims/backgrounds/02.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-106 156 255
-123 139 222
-148 123 189
-164 106 156
-189 98 123
-205 82 90
-230 65 57
-255 57 32
diff --git a/graphics/battle_anims/backgrounds/03.pal b/graphics/battle_anims/backgrounds/03.pal
deleted file mode 100644
index 0c87ad045..000000000
--- a/graphics/battle_anims/backgrounds/03.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 0 0
-164 0 0
-82 0 0
-0 0 0
-41 0 57
-82 0 115
-123 0 172
-148 0 131
-172 0 98
-197 0 65
-222 0 32
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/04.pal b/graphics/battle_anims/backgrounds/04.pal
deleted file mode 100644
index 020e93b7a..000000000
--- a/graphics/battle_anims/backgrounds/04.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 164 115
-255 57 8
-255 90 8
-255 131 8
-255 172 8
-255 213 8
-255 255 8
-255 255 131
-255 255 255
-255 255 0
-65 0 0
-115 16 0
-172 32 0
-230 57 8
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/07.pal b/graphics/battle_anims/backgrounds/07.pal
deleted file mode 100644
index d9c7f07f3..000000000
--- a/graphics/battle_anims/backgrounds/07.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-106 49 49
-222 0 0
-189 0 0
-156 0 0
-123 0 0
-98 0 0
-0 0 0
-255 255 255
-255 255 164
-255 255 82
-255 255 0
-255 164 0
-255 82 0
-255 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/09.pal b/graphics/battle_anims/backgrounds/09.pal
deleted file mode 100644
index 4f3613621..000000000
--- a/graphics/battle_anims/backgrounds/09.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-106 106 255
-123 131 255
-139 156 255
-156 180 255
-172 205 255
-189 230 255
-205 255 255
-230 255 255
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/11.pal b/graphics/battle_anims/backgrounds/11.pal
deleted file mode 100644
index 496e1b13c..000000000
--- a/graphics/battle_anims/backgrounds/11.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-131 82 115
-148 106 131
-172 131 148
-189 156 164
-213 189 189
-222 205 205
-230 222 222
-238 238 238
-255 255 255
-0 32 98
-82 106 148
-164 180 197
-246 0 0
-246 0 0
-246 0 0
diff --git a/graphics/battle_anims/backgrounds/12.pal b/graphics/battle_anims/backgrounds/12.pal
deleted file mode 100644
index 5d4e8b23d..000000000
--- a/graphics/battle_anims/backgrounds/12.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 0 0
-115 90 82
-131 106 65
-148 131 57
-172 156 41
-189 180 32
-213 205 16
-230 230 8
-255 255 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/15.pal b/graphics/battle_anims/backgrounds/15.pal
deleted file mode 100644
index 90f103423..000000000
--- a/graphics/battle_anims/backgrounds/15.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 238 246
-197 230 238
-164 213 238
-139 205 230
-115 189 222
-82 139 213
-57 98 213
-32 57 213
-0 0 0
-0 0 115
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/16.pal b/graphics/battle_anims/backgrounds/16.pal
deleted file mode 100644
index 162b80179..000000000
--- a/graphics/battle_anims/backgrounds/16.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 8 65
-32 49 90
-65 98 115
-0 24 205
-255 255 82
-205 148 82
-255 172 115
-213 65 41
-180 255 197
-90 139 197
-255 90 197
-156 90 156
-0 0 0
-0 0 0
-255 255 255
diff --git a/graphics/battle_anims/backgrounds/17.pal b/graphics/battle_anims/backgrounds/17.pal
deleted file mode 100644
index e02a042a2..000000000
--- a/graphics/battle_anims/backgrounds/17.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-98 189 222
-106 164 222
-123 139 222
-131 115 222
-148 90 222
-255 255 222
-255 255 106
-255 205 98
-205 172 148
-213 172 0
-189 131 0
-172 90 0
-156 57 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/20.pal b/graphics/battle_anims/backgrounds/20.pal
deleted file mode 100644
index 1f4e13d64..000000000
--- a/graphics/battle_anims/backgrounds/20.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-24 131 98
-41 139 106
-57 156 123
-82 172 139
-98 180 148
-115 197 164
-139 213 180
-172 230 197
-205 255 222
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/21.pal b/graphics/battle_anims/backgrounds/21.pal
deleted file mode 100644
index 0f999d51b..000000000
--- a/graphics/battle_anims/backgrounds/21.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 222 197
-230 189 148
-213 156 98
-205 123 49
-172 90 32
-139 57 16
-115 24 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/attract.pal b/graphics/battle_anims/backgrounds/attract.pal
deleted file mode 100644
index a3a183566..000000000
--- a/graphics/battle_anims/backgrounds/attract.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 172 205
-255 189 213
-255 205 222
-255 222 230
-148 8 0
-255 205 230
-255 180 213
-255 164 197
-255 148 189
-255 131 172
-246 106 139
-238 82 115
-238 57 90
-230 32 65
-230 8 41
diff --git a/graphics/battle_anims/backgrounds/scary_face.pal b/graphics/battle_anims/backgrounds/scary_face.pal
deleted file mode 100644
index 580360ac0..000000000
--- a/graphics/battle_anims/backgrounds/scary_face.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-123 98 0
-189 172 0
-255 255 0
-255 189 0
-255 123 0
-255 57 0
-255 0 0
-230 8 16
-205 16 32
-180 24 49
-156 32 65
-131 41 82
-106 49 98
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/backgrounds/water.pal b/graphics/battle_anims/backgrounds/water.pal
deleted file mode 100644
index ee7a7b6e2..000000000
--- a/graphics/battle_anims/backgrounds/water.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-98 90 255
-115 106 255
-139 131 255
-164 156 255
-180 180 255
-205 205 255
-230 230 255
-255 255 255
-98 90 255
-115 106 255
-197 197 255
-238 238 255
-255 255 255
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/masks/cure_bubbles.pal b/graphics/battle_anims/masks/cure_bubbles.pal
deleted file mode 100644
index 2868f2479..000000000
--- a/graphics/battle_anims/masks/cure_bubbles.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-189 255 255
-123 255 255
-57 255 255
-57 205 238
-57 156 230
-57 106 213
-65 57 205
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/masks/metal_shine.pal b/graphics/battle_anims/masks/metal_shine.pal
deleted file mode 100644
index 019a17c3f..000000000
--- a/graphics/battle_anims/masks/metal_shine.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-82 172 255
-255 255 255
-164 148 139
-98 131 41
-123 156 65
-148 180 90
-172 205 115
-197 230 139
-222 255 164
-82 172 0
-98 180 24
-123 197 49
-148 213 74
-172 222 98
-197 238 123
-222 255 148
diff --git a/graphics/battle_anims/masks/morning_sun.pal b/graphics/battle_anims/masks/morning_sun.pal
deleted file mode 100644
index 08249a43c..000000000
--- a/graphics/battle_anims/masks/morning_sun.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 246 246
-189 238 238
-156 230 238
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/000.pal b/graphics/battle_anims/sprites/000.pal
deleted file mode 100644
index 66804cc6c..000000000
--- a/graphics/battle_anims/sprites/000.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/002.pal b/graphics/battle_anims/sprites/002.pal
deleted file mode 100644
index ed60c8e60..000000000
--- a/graphics/battle_anims/sprites/002.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 255 205
-189 255 156
-156 255 106
-123 205 74
-98 164 49
-65 115 24
-41 74 0
-57 0 0
-255 222 131
-222 189 98
-189 156 65
-156 131 41
-197 49 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/003.pal b/graphics/battle_anims/sprites/003.pal
deleted file mode 100644
index 5626f453a..000000000
--- a/graphics/battle_anims/sprites/003.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-255 74 106
-255 255 139
-255 172 24
-255 197 41
diff --git a/graphics/battle_anims/sprites/004.pal b/graphics/battle_anims/sprites/004.pal
deleted file mode 100644
index e4706557b..000000000
--- a/graphics/battle_anims/sprites/004.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-197 197 197
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/005.pal b/graphics/battle_anims/sprites/005.pal
deleted file mode 100644
index b30683d9d..000000000
--- a/graphics/battle_anims/sprites/005.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 139 0
-255 156 8
-255 172 24
-106 180 255
-255 213 57
-16 238 255
-255 255 90
-255 255 255
-255 74 106
-255 115 148
-255 164 197
-255 205 238
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/006.pal b/graphics/battle_anims/sprites/006.pal
deleted file mode 100644
index e2fb87aec..000000000
--- a/graphics/battle_anims/sprites/006.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 255 255
-74 106 16
-98 131 41
-123 156 65
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-98 180 24
-123 197 49
-148 213 74
-172 222 98
-197 238 123
-222 255 148
diff --git a/graphics/battle_anims/sprites/007.pal b/graphics/battle_anims/sprites/007.pal
deleted file mode 100644
index bb46ffa84..000000000
--- a/graphics/battle_anims/sprites/007.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-41 24 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/008.pal b/graphics/battle_anims/sprites/008.pal
deleted file mode 100644
index 1df277936..000000000
--- a/graphics/battle_anims/sprites/008.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-213 222 255
-164 0 255
-189 49 255
-189 0 189
-189 0 148
-255 0 255
-255 148 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 255
diff --git a/graphics/battle_anims/sprites/009.pal b/graphics/battle_anims/sprites/009.pal
deleted file mode 100644
index 37714d9c2..000000000
--- a/graphics/battle_anims/sprites/009.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-123 123 123
-139 139 139
-156 156 156
-172 172 172
-197 197 197
-213 213 213
-230 230 230
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/011.pal b/graphics/battle_anims/sprites/011.pal
deleted file mode 100644
index 81af310e1..000000000
--- a/graphics/battle_anims/sprites/011.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 139 0
-255 156 8
-255 172 24
-255 197 41
-255 213 57
-255 230 74
-255 255 90
-255 255 255
-255 74 106
-255 115 148
-255 164 197
-255 205 238
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/012.pal b/graphics/battle_anims/sprites/012.pal
deleted file mode 100644
index 493a33207..000000000
--- a/graphics/battle_anims/sprites/012.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 0 0
-255 106 49
-197 0 0
-222 41 90
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/013.pal b/graphics/battle_anims/sprites/013.pal
deleted file mode 100644
index e2010bd43..000000000
--- a/graphics/battle_anims/sprites/013.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-0 0 0
-255 172 0
-255 255 139
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/014.pal b/graphics/battle_anims/sprites/014.pal
deleted file mode 100644
index e9f5664c4..000000000
--- a/graphics/battle_anims/sprites/014.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 238 0
-0 156 0
-0 74 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 0 0
-164 0 0
-82 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/015.pal b/graphics/battle_anims/sprites/015.pal
deleted file mode 100644
index 5626f453a..000000000
--- a/graphics/battle_anims/sprites/015.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-255 74 106
-255 255 139
-255 172 24
-255 197 41
diff --git a/graphics/battle_anims/sprites/016.pal b/graphics/battle_anims/sprites/016.pal
deleted file mode 100644
index eb2648d43..000000000
--- a/graphics/battle_anims/sprites/016.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-156 255 255
-0 0 0
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/018.pal b/graphics/battle_anims/sprites/018.pal
deleted file mode 100644
index c1010186d..000000000
--- a/graphics/battle_anims/sprites/018.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 222 230
-189 189 205
-156 156 189
-123 123 164
-98 98 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/019.pal b/graphics/battle_anims/sprites/019.pal
deleted file mode 100644
index 7c63560ca..000000000
--- a/graphics/battle_anims/sprites/019.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-0 255 255
-197 255 255
-49 8 106
-197 255 205
-246 255 205
-0 49 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/020.pal b/graphics/battle_anims/sprites/020.pal
deleted file mode 100644
index ab74d4109..000000000
--- a/graphics/battle_anims/sprites/020.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 0 0
-255 98 0
-255 156 0
-255 197 0
-255 213 98
-255 238 197
-0 0 0
-0 0 0
-98 139 98
-0 0 0
-0 0 0
-131 131 131
-164 164 164
-213 205 205
-255 255 255
diff --git a/graphics/battle_anims/sprites/021.pal b/graphics/battle_anims/sprites/021.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/021.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/023.pal b/graphics/battle_anims/sprites/023.pal
deleted file mode 100644
index 8e6e6e902..000000000
--- a/graphics/battle_anims/sprites/023.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-0 230 255
-115 230 255
-213 230 255
-0 0 0
-255 255 172
-255 255 115
-0 0 0
-98 139 98
-0 0 0
-0 0 0
-131 131 131
-164 164 164
-213 205 205
-255 255 255
diff --git a/graphics/battle_anims/sprites/024.pal b/graphics/battle_anims/sprites/024.pal
deleted file mode 100644
index f6de49201..000000000
--- a/graphics/battle_anims/sprites/024.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 205 255
-255 255 255
-0 0 0
-148 156 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/025.pal b/graphics/battle_anims/sprites/025.pal
deleted file mode 100644
index 51e06ad33..000000000
--- a/graphics/battle_anims/sprites/025.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-0 230 255
-115 230 255
-213 230 255
-0 0 0
-255 255 172
-255 255 115
-0 0 0
-98 139 98
-0 0 0
-0 0 0
-156 156 156
-197 197 197
-230 230 230
-255 255 255
diff --git a/graphics/battle_anims/sprites/026.pal b/graphics/battle_anims/sprites/026.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/026.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/027.pal b/graphics/battle_anims/sprites/027.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/027.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/028.pal b/graphics/battle_anims/sprites/028.pal
deleted file mode 100644
index bfa9b1ae7..000000000
--- a/graphics/battle_anims/sprites/028.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-189 230 255
-131 205 255
-65 180 255
-8 156 255
-8 115 222
-8 82 197
-8 41 172
-8 8 148
-255 49 8
-255 0 0
-156 0 0
-156 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/029.pal b/graphics/battle_anims/sprites/029.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/029.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/030.pal b/graphics/battle_anims/sprites/030.pal
deleted file mode 100644
index b3c3dd6c6..000000000
--- a/graphics/battle_anims/sprites/030.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 230 222
-213 205 189
-189 189 156
-172 164 123
-156 148 90
-123 123 65
-98 98 49
-74 74 32
-49 49 16
-24 24 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/031.pal b/graphics/battle_anims/sprites/031.pal
deleted file mode 100644
index ebfeb116a..000000000
--- a/graphics/battle_anims/sprites/031.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 246 255
-197 238 255
-164 230 255
-139 230 255
-106 180 222
-74 131 189
-41 82 156
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/032.pal b/graphics/battle_anims/sprites/032.pal
deleted file mode 100644
index fb028145c..000000000
--- a/graphics/battle_anims/sprites/032.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-106 213 255
-0 0 0
-255 255 255
diff --git a/graphics/battle_anims/sprites/033.pal b/graphics/battle_anims/sprites/033.pal
deleted file mode 100644
index 0ee440185..000000000
--- a/graphics/battle_anims/sprites/033.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 213 57
-255 180 41
-255 148 24
-255 74 8
-255 0 0
-164 0 0
-74 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/036.pal b/graphics/battle_anims/sprites/036.pal
deleted file mode 100644
index 1321b152b..000000000
--- a/graphics/battle_anims/sprites/036.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 197 255
-205 148 255
-189 98 255
-123 65 205
-57 32 156
-0 0 106
-238 255 172
-222 255 90
-205 255 8
-0 0 106
-156 0 0
-230 255 0
-230 156 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/038.pal b/graphics/battle_anims/sprites/038.pal
deleted file mode 100644
index 97f71b709..000000000
--- a/graphics/battle_anims/sprites/038.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 246 123
-255 238 0
-255 139 0
-255 41 0
-156 0 0
-57 0 0
-255 255 255
-131 255 172
-8 255 90
-8 164 90
-8 74 90
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/039.pal b/graphics/battle_anims/sprites/039.pal
deleted file mode 100644
index 63d40ae47..000000000
--- a/graphics/battle_anims/sprites/039.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 246 123
-255 238 0
-255 139 0
-255 41 0
-156 0 0
-57 0 0
-255 255 255
-189 197 205
-123 148 164
-57 98 123
-0 49 82
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/042.pal b/graphics/battle_anims/sprites/042.pal
deleted file mode 100644
index 45180662f..000000000
--- a/graphics/battle_anims/sprites/042.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 148 246
-255 82 82
-255 139 82
-255 189 82
-255 255 82
-189 255 82
-139 255 82
-82 255 82
-82 222 139
-82 205 189
-115 148 255
-148 115 255
-180 82 255
-255 255 255
-49 98 230
-148 172 238
diff --git a/graphics/battle_anims/sprites/043.pal b/graphics/battle_anims/sprites/043.pal
deleted file mode 100644
index 35cbf0096..000000000
--- a/graphics/battle_anims/sprites/043.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-57 255 255
-8 255 255
-8 205 255
-8 156 255
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/044.pal b/graphics/battle_anims/sprites/044.pal
deleted file mode 100644
index 35cbf0096..000000000
--- a/graphics/battle_anims/sprites/044.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-57 255 255
-8 255 255
-8 205 255
-8 156 255
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/045.pal b/graphics/battle_anims/sprites/045.pal
deleted file mode 100644
index 6923a9b25..000000000
--- a/graphics/battle_anims/sprites/045.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 213 222
-255 172 189
-255 131 156
-205 98 131
-156 65 106
-106 32 82
-57 0 57
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/046.pal b/graphics/battle_anims/sprites/046.pal
deleted file mode 100644
index 80a58a1b5..000000000
--- a/graphics/battle_anims/sprites/046.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 197
-255 255 255
-255 255 205
-255 230 148
-255 213 90
-255 197 32
-255 164 24
-255 131 16
-222 82 8
-189 41 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/048.pal b/graphics/battle_anims/sprites/048.pal
deleted file mode 100644
index 67eecf69b..000000000
--- a/graphics/battle_anims/sprites/048.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-172 255 205
-90 255 156
-8 255 106
-8 205 98
-8 156 98
-8 106 98
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/050.pal b/graphics/battle_anims/sprites/050.pal
deleted file mode 100644
index c20894da9..000000000
--- a/graphics/battle_anims/sprites/050.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 197 246
-255 255 255
-255 230 180
-255 213 106
-255 197 32
-255 123 16
-255 49 8
-205 164 106
-156 123 16
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/054.pal b/graphics/battle_anims/sprites/054.pal
deleted file mode 100644
index f3c299ce3..000000000
--- a/graphics/battle_anims/sprites/054.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 0
-0 255 255
-197 255 255
-255 255 156
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/056.pal b/graphics/battle_anims/sprites/056.pal
deleted file mode 100644
index 5dc1faf3b..000000000
--- a/graphics/battle_anims/sprites/056.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 197 197
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/057.pal b/graphics/battle_anims/sprites/057.pal
deleted file mode 100644
index 36b47b3df..000000000
--- a/graphics/battle_anims/sprites/057.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 205 255
-255 255 246
-156 255 222
-65 255 197
-49 205 164
-41 164 131
-32 123 98
-16 82 65
-8 41 32
-148 82 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-180 180 180
-255 255 255
diff --git a/graphics/battle_anims/sprites/058.pal b/graphics/battle_anims/sprites/058.pal
deleted file mode 100644
index 8bd0f0a08..000000000
--- a/graphics/battle_anims/sprites/058.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-156 255 255
-255 255 180
-238 222 148
-230 197 115
-213 172 82
-205 148 57
-172 115 41
-148 82 24
-123 49 8
-74 24 8
-32 0 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/059.pal b/graphics/battle_anims/sprites/059.pal
deleted file mode 100644
index a85e5028d..000000000
--- a/graphics/battle_anims/sprites/059.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-197 246 238
-139 238 222
-90 172 222
-41 106 222
-0 49 222
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/060.pal b/graphics/battle_anims/sprites/060.pal
deleted file mode 100644
index 80bbc3a61..000000000
--- a/graphics/battle_anims/sprites/060.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 238 123
-255 222 0
-255 156 0
-255 98 0
-156 74 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/061.pal b/graphics/battle_anims/sprites/061.pal
deleted file mode 100644
index d457b6c8a..000000000
--- a/graphics/battle_anims/sprites/061.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 197 246
-255 255 255
-213 222 230
-180 189 205
-148 156 180
-115 123 156
-82 90 131
-49 57 106
-8 8 24
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/062.pal b/graphics/battle_anims/sprites/062.pal
deleted file mode 100644
index f8c6a17e4..000000000
--- a/graphics/battle_anims/sprites/062.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 197 246
-255 255 255
-205 255 230
-156 255 205
-106 255 180
-57 255 156
-41 197 139
-32 148 123
-24 98 115
-16 49 98
-8 0 90
-8 0 57
-8 0 24
-8 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/063.pal b/graphics/battle_anims/sprites/063.pal
deleted file mode 100644
index 229f146fc..000000000
--- a/graphics/battle_anims/sprites/063.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 197 246
-222 255 164
-197 230 139
-172 205 115
-148 180 90
-123 156 65
-98 131 41
-74 106 16
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/064.pal b/graphics/battle_anims/sprites/064.pal
deleted file mode 100644
index 78f6d2a96..000000000
--- a/graphics/battle_anims/sprites/064.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 230 230
-255 213 205
-255 189 180
-255 172 156
-222 148 131
-189 131 115
-164 106 90
-131 90 74
-106 74 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/065.pal b/graphics/battle_anims/sprites/065.pal
deleted file mode 100644
index ad467dabf..000000000
--- a/graphics/battle_anims/sprites/065.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 197 246
-255 255 255
-255 213 255
-255 172 255
-255 131 255
-255 90 255
-255 57 255
-213 65 230
-172 82 205
-139 98 189
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/066.pal b/graphics/battle_anims/sprites/066.pal
deleted file mode 100644
index a70579ce1..000000000
--- a/graphics/battle_anims/sprites/066.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 205 255
-172 255 156
-172 213 139
-172 180 123
-180 148 106
-180 115 90
-189 82 82
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/070.pal b/graphics/battle_anims/sprites/070.pal
deleted file mode 100644
index 1a20338e3..000000000
--- a/graphics/battle_anims/sprites/070.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 197 246
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-57 255 255
-8 255 255
-8 205 255
-8 156 255
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/072.pal b/graphics/battle_anims/sprites/072.pal
deleted file mode 100644
index 56981c262..000000000
--- a/graphics/battle_anims/sprites/072.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 246 246
-255 255 255
-222 205 205
-222 180 189
-255 106 180
-255 57 156
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/073.pal b/graphics/battle_anims/sprites/073.pal
deleted file mode 100644
index b5852193d..000000000
--- a/graphics/battle_anims/sprites/073.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 238 164
-255 230 82
-255 222 0
-255 180 0
-255 148 0
-255 106 0
-255 74 0
-156 74 0
-74 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/075.pal b/graphics/battle_anims/sprites/075.pal
deleted file mode 100644
index c2d659b4b..000000000
--- a/graphics/battle_anims/sprites/075.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 197 222
-255 197 222
-255 148 164
-255 98 106
-255 49 49
-255 0 0
-255 49 24
-255 98 49
-255 156 74
-255 197 131
-255 238 197
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/076.pal b/graphics/battle_anims/sprites/076.pal
deleted file mode 100644
index 1282dda5e..000000000
--- a/graphics/battle_anims/sprites/076.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-172 205 255
-255 255 255
-172 238 255
-90 222 255
-8 205 255
-8 139 255
-8 74 255
-8 8 255
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/078.pal b/graphics/battle_anims/sprites/078.pal
deleted file mode 100644
index 5d2000b00..000000000
--- a/graphics/battle_anims/sprites/078.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 148
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-57 49 255
-180 255 255
-106 255 255
-57 238 180
-8 230 106
-8 115 90
-8 8 74
-0 0 0
diff --git a/graphics/battle_anims/sprites/080.pal b/graphics/battle_anims/sprites/080.pal
deleted file mode 100644
index 48b548404..000000000
--- a/graphics/battle_anims/sprites/080.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 148 148
-255 255 255
-255 255 164
-255 255 82
-255 255 0
-255 205 0
-255 156 0
-255 106 0
-255 57 0
-205 32 0
-156 16 0
-115 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/081.pal b/graphics/battle_anims/sprites/081.pal
deleted file mode 100644
index 7021bc4c5..000000000
--- a/graphics/battle_anims/sprites/081.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 197 246
-255 255 255
-255 230 230
-255 213 213
-255 189 197
-255 172 180
-255 148 164
-255 131 148
-213 106 123
-180 82 98
-139 57 74
-106 32 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/082.pal b/graphics/battle_anims/sprites/082.pal
deleted file mode 100644
index ac0ff05fc..000000000
--- a/graphics/battle_anims/sprites/082.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 255
-0 246 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/083.pal b/graphics/battle_anims/sprites/083.pal
deleted file mode 100644
index 83289a5c0..000000000
--- a/graphics/battle_anims/sprites/083.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-49 246 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/084.pal b/graphics/battle_anims/sprites/084.pal
deleted file mode 100644
index 618788a15..000000000
--- a/graphics/battle_anims/sprites/084.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 148 197
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-57 255 255
-8 255 255
-8 205 255
-8 156 255
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/085.pal b/graphics/battle_anims/sprites/085.pal
deleted file mode 100644
index 207a5dc06..000000000
--- a/graphics/battle_anims/sprites/085.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 49 16
-0 98 32
-0 148 49
-0 197 65
-0 255 82
-255 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/086.pal b/graphics/battle_anims/sprites/086.pal
deleted file mode 100644
index d8b179037..000000000
--- a/graphics/battle_anims/sprites/086.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 197 246
-255 255 255
-255 238 189
-255 222 123
-255 205 57
-238 156 41
-230 106 24
-222 57 8
-148 24 8
-74 0 8
-255 148 189
-222 98 131
-189 49 74
-156 0 24
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/087.pal b/graphics/battle_anims/sprites/087.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/087.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/088.pal b/graphics/battle_anims/sprites/088.pal
deleted file mode 100644
index aa294ce5c..000000000
--- a/graphics/battle_anims/sprites/088.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-213 213 222
-172 172 189
-131 131 164
-90 90 131
-57 57 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/089.pal b/graphics/battle_anims/sprites/089.pal
deleted file mode 100644
index adb0f11a1..000000000
--- a/graphics/battle_anims/sprites/089.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 197 246
-255 255 255
-255 255 164
-255 255 82
-189 255 82
-123 255 82
-0 255 0
-0 205 16
-0 156 32
-0 106 49
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/090.pal b/graphics/battle_anims/sprites/090.pal
deleted file mode 100644
index a7551117c..000000000
--- a/graphics/battle_anims/sprites/090.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-205 255 246
-255 255 255
-255 255 189
-255 255 123
-255 255 57
-230 156 32
-205 57 8
-180 123 255
-131 90 205
-82 57 156
-32 24 106
-255 24 8
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/091.pal b/graphics/battle_anims/sprites/091.pal
deleted file mode 100644
index 7021bc4c5..000000000
--- a/graphics/battle_anims/sprites/091.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 197 246
-255 255 255
-255 230 230
-255 213 213
-255 189 197
-255 172 180
-255 148 164
-255 131 148
-213 106 123
-180 82 98
-139 57 74
-106 32 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/092.pal b/graphics/battle_anims/sprites/092.pal
deleted file mode 100644
index 886d5bc2e..000000000
--- a/graphics/battle_anims/sprites/092.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 255
-255 172 205
-255 90 156
-255 8 115
-213 0 82
-180 0 57
-139 0 24
-106 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/093.pal b/graphics/battle_anims/sprites/093.pal
deleted file mode 100644
index 2ddd5a79a..000000000
--- a/graphics/battle_anims/sprites/093.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 197 197
-255 255 255
-255 255 222
-255 255 189
-255 255 156
-255 230 115
-255 205 74
-255 180 32
-255 156 0
-213 115 0
-172 74 8
-98 0 24
-57 0 0
-197 255 238
-164 197 222
-131 139 213
diff --git a/graphics/battle_anims/sprites/094.pal b/graphics/battle_anims/sprites/094.pal
deleted file mode 100644
index 1ed4c7d40..000000000
--- a/graphics/battle_anims/sprites/094.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 255
-255 255 255
-230 230 222
-205 205 189
-180 189 164
-164 164 131
-139 148 106
-115 123 74
-98 106 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/095.pal b/graphics/battle_anims/sprites/095.pal
deleted file mode 100644
index cd66b6577..000000000
--- a/graphics/battle_anims/sprites/095.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 246 246
-255 255 255
-148 230 156
-49 205 57
-32 164 41
-24 131 24
-8 90 8
-0 57 0
-0 0 0
-255 205 0
-222 139 0
-189 74 0
-156 8 0
-255 246 148
-222 197 115
-189 148 82
diff --git a/graphics/battle_anims/sprites/096.pal b/graphics/battle_anims/sprites/096.pal
deleted file mode 100644
index 5dab7d9aa..000000000
--- a/graphics/battle_anims/sprites/096.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 148 238
-255 255 255
-255 205 213
-255 156 180
-255 106 139
-255 57 106
-238 41 65
-222 24 32
-205 8 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/097.pal b/graphics/battle_anims/sprites/097.pal
deleted file mode 100644
index 0f3c4da53..000000000
--- a/graphics/battle_anims/sprites/097.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 197 246
-255 255 255
-222 222 222
-197 197 197
-172 172 172
-148 148 148
-123 123 123
-98 98 98
-74 74 74
-49 49 49
-24 24 24
-0 0 0
-8 16 24
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/099.pal b/graphics/battle_anims/sprites/099.pal
deleted file mode 100644
index 765eca3e7..000000000
--- a/graphics/battle_anims/sprites/099.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 238 230
-197 222 205
-164 205 180
-139 197 156
-98 156 131
-65 115 106
-32 74 82
-0 32 57
-255 255 222
-255 255 189
-255 255 156
-98 98 98
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/100.pal b/graphics/battle_anims/sprites/100.pal
deleted file mode 100644
index d556e120c..000000000
--- a/graphics/battle_anims/sprites/100.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 148 148
-255 255 255
-255 255 139
-255 255 24
-246 205 24
-238 164 24
-230 123 24
-222 82 24
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/101.pal b/graphics/battle_anims/sprites/101.pal
deleted file mode 100644
index 4dd4d0404..000000000
--- a/graphics/battle_anims/sprites/101.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 197 246
-255 255 255
-205 255 230
-156 255 205
-106 255 180
-57 255 156
-41 213 123
-32 172 90
-16 131 57
-8 90 24
-0 57 0
-205 106 0
-0 57 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/103.pal b/graphics/battle_anims/sprites/103.pal
deleted file mode 100644
index fab0c9ffa..000000000
--- a/graphics/battle_anims/sprites/103.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 197 246
-255 255 255
-255 238 230
-255 230 205
-255 222 180
-255 213 156
-255 205 131
-222 164 98
-189 123 74
-164 82 49
-131 41 24
-106 8 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/104.pal b/graphics/battle_anims/sprites/104.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/104.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/105.pal b/graphics/battle_anims/sprites/105.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/105.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/107.pal b/graphics/battle_anims/sprites/107.pal
deleted file mode 100644
index 35cbf0096..000000000
--- a/graphics/battle_anims/sprites/107.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-57 255 255
-8 255 255
-8 205 255
-8 156 255
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/109.pal b/graphics/battle_anims/sprites/109.pal
deleted file mode 100644
index 6a069ced2..000000000
--- a/graphics/battle_anims/sprites/109.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 255
-255 255 0
-205 255 0
-156 255 0
-106 255 0
-57 255 0
-8 255 0
-0 213 0
-0 180 0
-0 139 0
-0 106 0
-0 65 0
-0 32 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/111.pal b/graphics/battle_anims/sprites/111.pal
deleted file mode 100644
index a088af0b5..000000000
--- a/graphics/battle_anims/sprites/111.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-172 255 255
-255 255 255
-238 197 189
-230 148 131
-213 98 65
-205 49 8
-172 32 8
-148 24 8
-123 16 8
-98 8 8
-74 0 8
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/112.pal b/graphics/battle_anims/sprites/112.pal
deleted file mode 100644
index 1321b152b..000000000
--- a/graphics/battle_anims/sprites/112.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 197 255
-205 148 255
-189 98 255
-123 65 205
-57 32 156
-0 0 106
-238 255 172
-222 255 90
-205 255 8
-0 0 106
-156 0 0
-230 255 0
-230 156 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/113.pal b/graphics/battle_anims/sprites/113.pal
deleted file mode 100644
index 35cbf0096..000000000
--- a/graphics/battle_anims/sprites/113.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-57 255 255
-8 255 255
-8 205 255
-8 156 255
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/114.pal b/graphics/battle_anims/sprites/114.pal
deleted file mode 100644
index fc9db2bca..000000000
--- a/graphics/battle_anims/sprites/114.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 148 246
-255 255 255
-238 213 205
-222 180 164
-213 148 123
-197 115 82
-189 82 41
-148 65 41
-106 49 41
-74 32 41
-32 16 41
-0 0 41
-0 0 0
-255 0 8
-180 0 8
-0 0 0
diff --git a/graphics/battle_anims/sprites/115.pal b/graphics/battle_anims/sprites/115.pal
deleted file mode 100644
index c5f241feb..000000000
--- a/graphics/battle_anims/sprites/115.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-98 90 255
-115 106 255
-139 131 255
-164 156 255
-180 180 255
-205 205 255
-230 230 255
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-180 180 255
-205 205 255
-230 230 255
diff --git a/graphics/battle_anims/sprites/116.pal b/graphics/battle_anims/sprites/116.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/116.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/117.pal b/graphics/battle_anims/sprites/117.pal
deleted file mode 100644
index 949fe139e..000000000
--- a/graphics/battle_anims/sprites/117.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-148 246 148
-98 222 74
-57 205 0
-57 164 0
-57 131 0
-57 90 0
-57 57 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/118.pal b/graphics/battle_anims/sprites/118.pal
deleted file mode 100644
index f175442ec..000000000
--- a/graphics/battle_anims/sprites/118.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 230 213
-213 205 172
-189 180 131
-172 156 90
-156 131 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/119.pal b/graphics/battle_anims/sprites/119.pal
deleted file mode 100644
index c342e8b9c..000000000
--- a/graphics/battle_anims/sprites/119.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-238 222 213
-230 197 172
-222 164 131
-213 139 90
-205 115 57
-0 0 0
-0 0 0
-197 246 246
-164 205 222
-131 164 197
-106 123 180
-74 82 156
-49 49 139
-0 0 0
diff --git a/graphics/battle_anims/sprites/120.pal b/graphics/battle_anims/sprites/120.pal
deleted file mode 100644
index aeaa9fe5e..000000000
--- a/graphics/battle_anims/sprites/120.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 230 238
-205 205 222
-180 180 205
-156 156 189
-131 131 172
-106 106 156
-8 57 106
-148 49 0
-197 57 98
-246 164 98
-246 172 148
-246 180 197
-246 197 246
-0 0 0
diff --git a/graphics/battle_anims/sprites/121.pal b/graphics/battle_anims/sprites/121.pal
deleted file mode 100644
index 00c818974..000000000
--- a/graphics/battle_anims/sprites/121.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 98
-213 255 98
-172 255 98
-131 255 98
-98 255 98
-41 197 246
-90 148 246
-139 98 246
-189 49 246
-238 0 246
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/122.pal b/graphics/battle_anims/sprites/122.pal
deleted file mode 100644
index c2a7f896a..000000000
--- a/graphics/battle_anims/sprites/122.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 246 246
-213 197 230
-180 148 213
-148 98 197
-115 65 164
-82 32 131
-49 0 98
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/124.pal b/graphics/battle_anims/sprites/124.pal
deleted file mode 100644
index 5d2000b00..000000000
--- a/graphics/battle_anims/sprites/124.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 148
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-57 49 255
-180 255 255
-106 255 255
-57 238 180
-8 230 106
-8 115 90
-8 8 74
-0 0 0
diff --git a/graphics/battle_anims/sprites/125.pal b/graphics/battle_anims/sprites/125.pal
deleted file mode 100644
index 11b96c6f9..000000000
--- a/graphics/battle_anims/sprites/125.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 246 246
-255 255 255
-230 189 189
-205 131 131
-180 65 65
-164 8 8
-123 8 8
-82 8 8
-41 8 8
-0 8 8
-0 0 0
-0 0 0
-164 172 172
-82 90 90
-0 8 8
-0 0 0
diff --git a/graphics/battle_anims/sprites/126.pal b/graphics/battle_anims/sprites/126.pal
deleted file mode 100644
index fee220c67..000000000
--- a/graphics/battle_anims/sprites/126.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 255 246
-255 255 255
-213 213 213
-180 180 180
-139 139 139
-106 106 106
-65 65 65
-32 32 32
-0 0 0
-255 106 255
-255 106 255
-255 106 255
-255 106 255
-255 106 255
-255 106 255
-255 106 255
diff --git a/graphics/battle_anims/sprites/127.pal b/graphics/battle_anims/sprites/127.pal
deleted file mode 100644
index 8b6e458a1..000000000
--- a/graphics/battle_anims/sprites/127.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 238 197
-255 255 255
-230 238 222
-205 222 189
-189 205 164
-164 189 131
-148 172 106
-123 139 90
-106 106 82
-82 82 74
-65 49 65
-49 24 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/128.pal b/graphics/battle_anims/sprites/128.pal
deleted file mode 100644
index 5c106a4fa..000000000
--- a/graphics/battle_anims/sprites/128.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-213 222 230
-180 197 205
-148 164 189
-106 139 164
-74 106 148
-41 82 123
-8 57 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/130.pal b/graphics/battle_anims/sprites/130.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/130.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/132.pal b/graphics/battle_anims/sprites/132.pal
deleted file mode 100644
index e64c6269f..000000000
--- a/graphics/battle_anims/sprites/132.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 164 164
-255 82 82
-255 0 0
-213 0 0
-172 0 0
-131 0 0
-90 0 0
-57 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/133.pal b/graphics/battle_anims/sprites/133.pal
deleted file mode 100644
index 6b8e06e11..000000000
--- a/graphics/battle_anims/sprites/133.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 255
-238 238 230
-222 222 205
-205 205 189
-197 197 164
-180 180 148
-164 164 123
-156 156 106
-131 131 82
-106 106 57
-82 82 32
-57 57 8
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/135.pal b/graphics/battle_anims/sprites/135.pal
deleted file mode 100644
index 19ef98f9c..000000000
--- a/graphics/battle_anims/sprites/135.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 41 255
-0 0 0
-205 156 32
-230 205 98
-255 255 172
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/136.pal b/graphics/battle_anims/sprites/136.pal
deleted file mode 100644
index 96939e342..000000000
--- a/graphics/battle_anims/sprites/136.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 41 255
-255 255 255
-255 172 0
-255 255 82
-255 255 0
-255 255 164
-139 131 255
-164 156 255
-180 180 255
-205 205 255
-230 230 255
-255 49 82
-139 255 164
-74 156 123
-172 255 139
-82 238 131
diff --git a/graphics/battle_anims/sprites/139.pal b/graphics/battle_anims/sprites/139.pal
deleted file mode 100644
index bb46ffa84..000000000
--- a/graphics/battle_anims/sprites/139.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-41 24 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/140.pal b/graphics/battle_anims/sprites/140.pal
deleted file mode 100644
index 6ebb6dba3..000000000
--- a/graphics/battle_anims/sprites/140.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-230 123 123
-230 180 123
-230 230 123
-180 230 123
-123 230 123
-123 230 230
-123 123 230
-230 123 230
-230 230 230
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/143.pal b/graphics/battle_anims/sprites/143.pal
deleted file mode 100644
index bd810fa7d..000000000
--- a/graphics/battle_anims/sprites/143.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-57 0 41
-0 0 0
-82 82 82
-164 164 164
-205 205 205
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/144.pal b/graphics/battle_anims/sprites/144.pal
deleted file mode 100644
index c5f241feb..000000000
--- a/graphics/battle_anims/sprites/144.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-98 90 255
-115 106 255
-139 131 255
-164 156 255
-180 180 255
-205 205 255
-230 230 255
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-180 180 255
-205 205 255
-230 230 255
diff --git a/graphics/battle_anims/sprites/147.pal b/graphics/battle_anims/sprites/147.pal
deleted file mode 100644
index 1f7d9c128..000000000
--- a/graphics/battle_anims/sprites/147.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 139 0
-255 156 8
-255 172 24
-255 197 41
-255 213 57
-255 230 74
-255 255 90
-255 255 255
-255 74 106
-255 115 148
-255 164 197
-255 205 238
-82 172 0
-172 222 98
-0 0 0
diff --git a/graphics/battle_anims/sprites/148.pal b/graphics/battle_anims/sprites/148.pal
deleted file mode 100644
index c5f241feb..000000000
--- a/graphics/battle_anims/sprites/148.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-98 90 255
-115 106 255
-139 131 255
-164 156 255
-180 180 255
-205 205 255
-230 230 255
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-180 180 255
-205 205 255
-230 230 255
diff --git a/graphics/battle_anims/sprites/150.pal b/graphics/battle_anims/sprites/150.pal
deleted file mode 100644
index 26bc9d8a7..000000000
--- a/graphics/battle_anims/sprites/150.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 255 255
-65 0 65
-139 0 139
-213 0 213
-255 0 255
-222 82 222
-238 164 238
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/152.pal b/graphics/battle_anims/sprites/152.pal
deleted file mode 100644
index 66804cc6c..000000000
--- a/graphics/battle_anims/sprites/152.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/153.pal b/graphics/battle_anims/sprites/153.pal
deleted file mode 100644
index b65fd9621..000000000
--- a/graphics/battle_anims/sprites/153.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-255 172 0
-255 255 139
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/154.pal b/graphics/battle_anims/sprites/154.pal
deleted file mode 100644
index 37714d9c2..000000000
--- a/graphics/battle_anims/sprites/154.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-123 123 123
-139 139 139
-156 156 156
-172 172 172
-197 197 197
-213 213 213
-230 230 230
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/155.pal b/graphics/battle_anims/sprites/155.pal
deleted file mode 100644
index c5f241feb..000000000
--- a/graphics/battle_anims/sprites/155.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-98 90 255
-115 106 255
-139 131 255
-164 156 255
-180 180 255
-205 205 255
-230 230 255
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-180 180 255
-205 205 255
-230 230 255
diff --git a/graphics/battle_anims/sprites/156.pal b/graphics/battle_anims/sprites/156.pal
deleted file mode 100644
index 372a787d8..000000000
--- a/graphics/battle_anims/sprites/156.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 255 255
-65 0 65
-139 0 139
-213 0 213
-255 0 255
-222 82 222
-238 164 238
-24 16 82
-24 16 98
-24 24 115
-24 32 139
-24 32 156
-24 41 172
-32 49 197
-0 0 0
diff --git a/graphics/battle_anims/sprites/157.pal b/graphics/battle_anims/sprites/157.pal
deleted file mode 100644
index b65fd9621..000000000
--- a/graphics/battle_anims/sprites/157.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-255 172 0
-255 255 139
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/158.pal b/graphics/battle_anims/sprites/158.pal
deleted file mode 100644
index 66804cc6c..000000000
--- a/graphics/battle_anims/sprites/158.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/160.pal b/graphics/battle_anims/sprites/160.pal
deleted file mode 100644
index 1ed6f0c44..000000000
--- a/graphics/battle_anims/sprites/160.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 255 255
-74 106 16
-98 131 41
-123 156 65
-148 180 90
-172 205 115
-197 230 139
-222 255 164
-82 172 0
-98 180 24
-123 197 49
-148 213 74
-172 222 98
-197 238 123
-222 255 148
diff --git a/graphics/battle_anims/sprites/161.pal b/graphics/battle_anims/sprites/161.pal
deleted file mode 100644
index 50fe16275..000000000
--- a/graphics/battle_anims/sprites/161.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-255 74 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/162.pal b/graphics/battle_anims/sprites/162.pal
deleted file mode 100644
index bb46ffa84..000000000
--- a/graphics/battle_anims/sprites/162.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-41 24 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/163.pal b/graphics/battle_anims/sprites/163.pal
deleted file mode 100644
index b65fd9621..000000000
--- a/graphics/battle_anims/sprites/163.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-255 172 0
-255 255 139
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/166.pal b/graphics/battle_anims/sprites/166.pal
deleted file mode 100644
index f7c23eb77..000000000
--- a/graphics/battle_anims/sprites/166.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-82 172 0
-106 180 32
-131 189 65
-156 205 106
-180 213 139
-205 230 180
-230 238 213
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-156 205 106
-180 213 139
-205 230 180
diff --git a/graphics/battle_anims/sprites/171.pal b/graphics/battle_anims/sprites/171.pal
deleted file mode 100644
index 5626f453a..000000000
--- a/graphics/battle_anims/sprites/171.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-255 74 106
-255 255 139
-255 172 24
-255 197 41
diff --git a/graphics/battle_anims/sprites/174.pal b/graphics/battle_anims/sprites/174.pal
deleted file mode 100644
index 81af310e1..000000000
--- a/graphics/battle_anims/sprites/174.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 139 0
-255 156 8
-255 172 24
-255 197 41
-255 213 57
-255 230 74
-255 255 90
-255 255 255
-255 74 106
-255 115 148
-255 164 197
-255 205 238
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/175.pal b/graphics/battle_anims/sprites/175.pal
deleted file mode 100644
index 5626f453a..000000000
--- a/graphics/battle_anims/sprites/175.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-255 74 106
-255 255 139
-255 172 24
-255 197 41
diff --git a/graphics/battle_anims/sprites/176.pal b/graphics/battle_anims/sprites/176.pal
deleted file mode 100644
index 372a787d8..000000000
--- a/graphics/battle_anims/sprites/176.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 255 255
-65 0 65
-139 0 139
-213 0 213
-255 0 255
-222 82 222
-238 164 238
-24 16 82
-24 16 98
-24 24 115
-24 32 139
-24 32 156
-24 41 172
-32 49 197
-0 0 0
diff --git a/graphics/battle_anims/sprites/177.pal b/graphics/battle_anims/sprites/177.pal
deleted file mode 100644
index b65fd9621..000000000
--- a/graphics/battle_anims/sprites/177.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-255 172 0
-255 255 139
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/178.pal b/graphics/battle_anims/sprites/178.pal
deleted file mode 100644
index 72a9073f0..000000000
--- a/graphics/battle_anims/sprites/178.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 255 255
-65 0 65
-139 0 139
-213 0 213
-255 0 255
-222 82 222
-238 164 238
-8 8 24
-16 24 57
-24 41 90
-41 57 123
-49 74 156
-57 90 189
-65 106 222
-82 123 255
diff --git a/graphics/battle_anims/sprites/179.pal b/graphics/battle_anims/sprites/179.pal
deleted file mode 100644
index 5626f453a..000000000
--- a/graphics/battle_anims/sprites/179.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-255 74 106
-255 255 139
-255 172 24
-255 197 41
diff --git a/graphics/battle_anims/sprites/182.pal b/graphics/battle_anims/sprites/182.pal
deleted file mode 100644
index 5626f453a..000000000
--- a/graphics/battle_anims/sprites/182.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-197 180 115
-164 148 82
-131 115 57
-98 82 24
-74 57 0
-205 205 197
-131 131 131
-255 74 106
-255 255 139
-255 172 24
-255 197 41
diff --git a/graphics/battle_anims/sprites/183.pal b/graphics/battle_anims/sprites/183.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/183.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/184.pal b/graphics/battle_anims/sprites/184.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/184.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/185.pal b/graphics/battle_anims/sprites/185.pal
deleted file mode 100644
index 2c07276cd..000000000
--- a/graphics/battle_anims/sprites/185.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-238 246 255
-222 238 255
-205 230 255
-197 222 255
-180 213 255
-164 205 255
-156 205 255
-148 180 222
-139 156 189
-131 131 156
-123 106 123
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/186.pal b/graphics/battle_anims/sprites/186.pal
deleted file mode 100644
index 06ef4b1c1..000000000
--- a/graphics/battle_anims/sprites/186.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-238 255 205
-222 255 164
-197 230 139
-172 205 115
-148 180 90
-123 156 65
-98 131 41
-74 106 16
-49 65 16
-255 74 41
-255 74 41
-255 74 41
-255 74 41
-255 74 41
diff --git a/graphics/battle_anims/sprites/187.pal b/graphics/battle_anims/sprites/187.pal
deleted file mode 100644
index 27cf421cc..000000000
--- a/graphics/battle_anims/sprites/187.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 180 255
-238 115 222
-230 57 189
-222 0 156
-189 8 131
-156 24 115
-123 32 90
-90 49 74
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/188.pal b/graphics/battle_anims/sprites/188.pal
deleted file mode 100644
index 5ebdcd6c1..000000000
--- a/graphics/battle_anims/sprites/188.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-197 197 213
-148 148 180
-98 98 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/189.pal b/graphics/battle_anims/sprites/189.pal
deleted file mode 100644
index 2d18375c0..000000000
--- a/graphics/battle_anims/sprites/189.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 0 0
-255 255 222
-213 246 213
-172 238 205
-131 230 197
-98 222 197
-82 189 148
-74 164 98
-65 131 49
-57 106 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/190.pal b/graphics/battle_anims/sprites/190.pal
deleted file mode 100644
index eab05a5b9..000000000
--- a/graphics/battle_anims/sprites/190.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-197 213 213
-148 180 180
-65 115 106
-32 82 74
-0 49 41
-205 164 106
-172 131 90
-139 98 74
-106 74 65
-246 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/191.pal b/graphics/battle_anims/sprites/191.pal
deleted file mode 100644
index 0d4bddb13..000000000
--- a/graphics/battle_anims/sprites/191.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 246
-255 255 255
-230 230 230
-205 205 213
-180 180 197
-156 156 180
-131 131 164
-106 106 148
-82 82 131
-65 65 98
-49 49 74
-32 32 49
-16 16 24
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/192.pal b/graphics/battle_anims/sprites/192.pal
deleted file mode 100644
index e89b226b0..000000000
--- a/graphics/battle_anims/sprites/192.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 213
-255 255 180
-255 255 148
-255 255 106
-255 255 74
-255 255 41
-255 180 24
-255 115 16
-255 49 8
-205 24 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/193.pal b/graphics/battle_anims/sprites/193.pal
deleted file mode 100644
index ef1dc133e..000000000
--- a/graphics/battle_anims/sprites/193.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-246 230 255
-238 205 255
-230 180 255
-222 156 255
-213 131 255
-205 106 255
-180 106 238
-156 106 222
-131 106 205
-106 106 189
-82 106 172
-57 106 156
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/194.pal b/graphics/battle_anims/sprites/194.pal
deleted file mode 100644
index ce0b2b1ef..000000000
--- a/graphics/battle_anims/sprites/194.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-156 32 106
-0 0 0
-24 32 16
-57 65 41
-74 82 57
-131 156 82
-172 189 123
-189 197 148
-205 213 172
-123 139 74
-156 180 98
-98 115 57
-238 238 222
-255 255 255
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/195.pal b/graphics/battle_anims/sprites/195.pal
deleted file mode 100644
index c2055a31e..000000000
--- a/graphics/battle_anims/sprites/195.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 255 222
-156 255 189
-106 255 156
-106 213 131
-106 172 115
-106 131 90
-106 90 74
-106 57 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/196.pal b/graphics/battle_anims/sprites/196.pal
deleted file mode 100644
index 202ce301a..000000000
--- a/graphics/battle_anims/sprites/196.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 205 205
-189 156 156
-156 106 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/197.pal b/graphics/battle_anims/sprites/197.pal
deleted file mode 100644
index b1c292246..000000000
--- a/graphics/battle_anims/sprites/197.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-246 230 255
-197 180 205
-148 131 164
-98 82 123
-49 32 82
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/198.pal b/graphics/battle_anims/sprites/198.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/198.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/199.pal b/graphics/battle_anims/sprites/199.pal
deleted file mode 100644
index b3cbef09c..000000000
--- a/graphics/battle_anims/sprites/199.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-222 197 213
-197 172 180
-180 148 156
-156 123 131
-139 98 98
-115 74 74
-98 49 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/200.pal b/graphics/battle_anims/sprites/200.pal
deleted file mode 100644
index ada4d9331..000000000
--- a/graphics/battle_anims/sprites/200.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-230 230 246
-205 213 246
-189 197 246
-148 156 197
-106 115 148
-74 74 98
-32 32 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/201.pal b/graphics/battle_anims/sprites/201.pal
deleted file mode 100644
index 8b7734104..000000000
--- a/graphics/battle_anims/sprites/201.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 230 197
-246 189 98
-213 164 74
-180 139 57
-156 115 41
-123 90 24
-98 65 8
-82 41 0
-255 106 98
-255 0 0
-205 90 32
-255 65 0
-255 131 0
-255 197 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/202.pal b/graphics/battle_anims/sprites/202.pal
deleted file mode 100644
index 0e94fa898..000000000
--- a/graphics/battle_anims/sprites/202.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 197 246
-255 255 255
-255 238 230
-255 230 205
-255 222 180
-255 213 156
-255 205 131
-238 180 115
-222 164 98
-164 82 49
-131 41 24
-106 8 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/203.pal b/graphics/battle_anims/sprites/203.pal
deleted file mode 100644
index 5daf0f326..000000000
--- a/graphics/battle_anims/sprites/203.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 197 246
-255 255 255
-255 246 238
-255 238 222
-255 230 205
-255 230 197
-255 222 180
-255 213 164
-255 213 156
-164 82 49
-131 41 24
-106 8 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/204.pal b/graphics/battle_anims/sprites/204.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/204.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/205.pal b/graphics/battle_anims/sprites/205.pal
deleted file mode 100644
index 7211c0cff..000000000
--- a/graphics/battle_anims/sprites/205.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 246 164
-255 238 82
-255 230 0
-255 197 0
-255 164 0
-255 131 0
-205 98 8
-156 74 16
-106 49 32
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/207.pal b/graphics/battle_anims/sprites/207.pal
deleted file mode 100644
index b3c3dd6c6..000000000
--- a/graphics/battle_anims/sprites/207.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 230 222
-213 205 189
-189 189 156
-172 164 123
-156 148 90
-123 123 65
-98 98 49
-74 74 32
-49 49 16
-24 24 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/209.pal b/graphics/battle_anims/sprites/209.pal
deleted file mode 100644
index b9fe4f9b8..000000000
--- a/graphics/battle_anims/sprites/209.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 222 238
-205 197 222
-189 172 205
-164 148 189
-148 123 172
-123 98 148
-106 82 123
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/210.pal b/graphics/battle_anims/sprites/210.pal
deleted file mode 100644
index 50393c7f3..000000000
--- a/graphics/battle_anims/sprites/210.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 230 255
-255 205 255
-255 180 255
-255 156 255
-213 123 205
-172 98 164
-131 74 115
-90 49 74
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/211.pal b/graphics/battle_anims/sprites/211.pal
deleted file mode 100644
index 9e84c1ec4..000000000
--- a/graphics/battle_anims/sprites/211.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 189
-255 255 131
-255 255 74
-255 255 16
-213 222 32
-172 189 49
-131 164 74
-90 131 90
-57 106 115
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/215.pal b/graphics/battle_anims/sprites/215.pal
deleted file mode 100644
index 36adf5477..000000000
--- a/graphics/battle_anims/sprites/215.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 255 255
-230 213 230
-222 172 213
-213 131 189
-205 90 172
-197 57 156
-172 57 131
-156 57 115
-131 57 90
-115 57 74
-98 57 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/217.pal b/graphics/battle_anims/sprites/217.pal
deleted file mode 100644
index 7e79dbd7d..000000000
--- a/graphics/battle_anims/sprites/217.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-246 205 205
-246 156 156
-246 106 106
-246 57 65
-197 57 49
-148 57 41
-98 57 24
-49 57 16
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/218.pal b/graphics/battle_anims/sprites/218.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/218.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/220.pal b/graphics/battle_anims/sprites/220.pal
deleted file mode 100644
index 6d6a07036..000000000
--- a/graphics/battle_anims/sprites/220.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 238 255
-213 222 255
-189 213 255
-172 197 255
-148 180 255
-123 156 238
-115 139 222
-106 123 205
-98 90 139
-90 90 172
-82 74 156
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/221.pal b/graphics/battle_anims/sprites/221.pal
deleted file mode 100644
index 38cac78d5..000000000
--- a/graphics/battle_anims/sprites/221.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-246 197 213
-238 148 172
-230 98 131
-222 49 90
-213 98 106
-213 98 106
-156 49 106
-106 49 57
-74 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/222.pal b/graphics/battle_anims/sprites/222.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/222.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/223.pal b/graphics/battle_anims/sprites/223.pal
deleted file mode 100644
index bc1925c2b..000000000
--- a/graphics/battle_anims/sprites/223.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 238 197
-238 213 156
-230 189 123
-213 164 82
-205 139 49
-172 131 49
-148 123 49
-123 115 49
-98 115 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/224.pal b/graphics/battle_anims/sprites/224.pal
deleted file mode 100644
index 85db7a86e..000000000
--- a/graphics/battle_anims/sprites/224.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-238 230 230
-222 205 205
-205 189 189
-197 164 164
-180 148 148
-164 123 123
-131 106 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/225.pal b/graphics/battle_anims/sprites/225.pal
deleted file mode 100644
index 6b4b35604..000000000
--- a/graphics/battle_anims/sprites/225.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 189 189
-255 123 123
-255 57 57
-255 0 0
-213 0 0
-0 0 0
-197 148 197
-238 246 246
-238 222 180
-246 205 123
-246 189 57
-255 172 0
-213 148 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/226.pal b/graphics/battle_anims/sprites/226.pal
deleted file mode 100644
index fa3c8c117..000000000
--- a/graphics/battle_anims/sprites/226.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-238 0 8
-230 230 238
-205 205 230
-180 180 213
-106 106 156
-255 255 255
-230 230 238
-205 205 230
-180 180 213
-156 156 205
-139 41 32
-172 8 16
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/228.pal b/graphics/battle_anims/sprites/228.pal
deleted file mode 100644
index d436d582e..000000000
--- a/graphics/battle_anims/sprites/228.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 148 106
-230 131 106
-205 115 106
-180 98 106
-156 82 106
-131 65 106
-106 49 106
-90 32 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/229.pal b/graphics/battle_anims/sprites/229.pal
deleted file mode 100644
index 94fae44ea..000000000
--- a/graphics/battle_anims/sprites/229.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 246 238
-189 238 222
-164 230 205
-131 222 189
-98 213 172
-74 213 156
-57 172 139
-41 131 131
-32 90 123
-16 49 115
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/230.pal b/graphics/battle_anims/sprites/230.pal
deleted file mode 100644
index a9aeedd70..000000000
--- a/graphics/battle_anims/sprites/230.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 0 0
-205 0 0
-156 0 0
-106 0 0
-139 197 222
-90 148 189
-41 98 156
-0 49 123
-255 255 74
-230 222 57
-213 189 41
-197 156 24
-148 246 49
-98 148 98
diff --git a/graphics/battle_anims/sprites/231.pal b/graphics/battle_anims/sprites/231.pal
deleted file mode 100644
index d3df69d52..000000000
--- a/graphics/battle_anims/sprites/231.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 246 246
-205 238 246
-189 230 246
-164 222 246
-148 222 246
-156 172 205
-164 131 164
-172 82 123
-180 41 82
-197 0 49
-8 8 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/233.pal b/graphics/battle_anims/sprites/233.pal
deleted file mode 100644
index 00ca209c1..000000000
--- a/graphics/battle_anims/sprites/233.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 246 230
-255 238 205
-255 230 180
-255 222 156
-255 222 139
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/234.pal b/graphics/battle_anims/sprites/234.pal
deleted file mode 100644
index 2cf1a4892..000000000
--- a/graphics/battle_anims/sprites/234.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 238 230
-189 230 213
-164 222 189
-131 213 172
-106 205 156
-90 164 131
-82 131 106
-65 90 82
-57 57 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/235.pal b/graphics/battle_anims/sprites/235.pal
deleted file mode 100644
index e8b41ee81..000000000
--- a/graphics/battle_anims/sprites/235.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 222 230
-205 189 205
-180 164 180
-156 131 156
-139 106 139
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/238.pal b/graphics/battle_anims/sprites/238.pal
deleted file mode 100644
index 59e157bc8..000000000
--- a/graphics/battle_anims/sprites/238.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 230 230
-255 205 213
-255 172 189
-255 139 164
-255 115 148
-213 98 123
-180 90 98
-139 74 74
-106 65 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/239.pal b/graphics/battle_anims/sprites/239.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/239.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/240.pal b/graphics/battle_anims/sprites/240.pal
deleted file mode 100644
index e0d9c6649..000000000
--- a/graphics/battle_anims/sprites/240.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 197
-255 255 49
-205 156 49
-255 131 189
-213 74 172
-172 74 74
-255 41 0
-156 41 0
-57 180 180
-57 98 82
-246 98 0
-148 57 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/241.pal b/graphics/battle_anims/sprites/241.pal
deleted file mode 100644
index 8b2c21bc2..000000000
--- a/graphics/battle_anims/sprites/241.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 255 222
-156 255 189
-106 255 156
-90 205 139
-74 156 123
-57 106 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/242.pal b/graphics/battle_anims/sprites/242.pal
deleted file mode 100644
index 524b23be7..000000000
--- a/graphics/battle_anims/sprites/242.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-246 230 238
-238 213 230
-230 197 222
-222 180 213
-213 164 205
-205 148 197
-180 123 172
-156 98 148
-131 74 123
-106 49 98
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/243.pal b/graphics/battle_anims/sprites/243.pal
deleted file mode 100644
index 18c22fe04..000000000
--- a/graphics/battle_anims/sprites/243.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 238 222
-255 230 189
-255 213 156
-255 205 123
-222 172 106
-189 139 90
-156 106 74
-0 0 0
-205 255 255
-90 115 197
-8 16 148
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/244.pal b/graphics/battle_anims/sprites/244.pal
deleted file mode 100644
index f589d587b..000000000
--- a/graphics/battle_anims/sprites/244.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-205 255 246
-164 230 197
-123 205 148
-90 180 98
-90 148 98
-90 123 98
-90 98 98
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/245.pal b/graphics/battle_anims/sprites/245.pal
deleted file mode 100644
index 31ea44604..000000000
--- a/graphics/battle_anims/sprites/245.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-238 222 246
-230 197 246
-222 164 246
-213 139 246
-205 106 246
-197 82 246
-172 74 205
-156 65 164
-131 57 123
-115 49 82
-98 49 49
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/248.pal b/graphics/battle_anims/sprites/248.pal
deleted file mode 100644
index 99b3298e5..000000000
--- a/graphics/battle_anims/sprites/248.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 24 0
-213 24 8
-189 24 24
-156 24 32
-255 255 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/249.pal b/graphics/battle_anims/sprites/249.pal
deleted file mode 100644
index f8ceb4335..000000000
--- a/graphics/battle_anims/sprites/249.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-172 197 213
-98 74 131
-24 16 49
-0 0 0
-0 0 0
-0 0 0
-255 24 0
-189 8 0
-123 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/251.pal b/graphics/battle_anims/sprites/251.pal
deleted file mode 100644
index 7eb6c8e0b..000000000
--- a/graphics/battle_anims/sprites/251.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 246 0
-180 222 49
-123 197 98
-57 172 148
-0 148 197
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/252.pal b/graphics/battle_anims/sprites/252.pal
deleted file mode 100644
index 78137dd68..000000000
--- a/graphics/battle_anims/sprites/252.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 230 213
-255 205 180
-255 180 139
-255 156 106
-255 255 164
-230 213 123
-213 180 90
-197 139 49
-180 106 16
-205 106 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/253.pal b/graphics/battle_anims/sprites/253.pal
deleted file mode 100644
index 5d4490544..000000000
--- a/graphics/battle_anims/sprites/253.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-238 180 255
-230 115 255
-222 49 255
-180 49 255
-148 49 255
-106 49 255
-74 49 255
-57 32 213
-49 24 180
-32 8 139
-24 0 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/254.pal b/graphics/battle_anims/sprites/254.pal
deleted file mode 100644
index 9cef556cd..000000000
--- a/graphics/battle_anims/sprites/254.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-238 222 222
-222 189 189
-205 164 156
-189 131 123
-172 106 98
-156 90 82
-139 74 65
-123 57 49
-115 41 41
-98 24 24
-82 8 8
-74 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/255.pal b/graphics/battle_anims/sprites/255.pal
deleted file mode 100644
index 0469e3834..000000000
--- a/graphics/battle_anims/sprites/255.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 106 148
-148 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/256.pal b/graphics/battle_anims/sprites/256.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/256.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/257.pal b/graphics/battle_anims/sprites/257.pal
deleted file mode 100644
index 24647ea55..000000000
--- a/graphics/battle_anims/sprites/257.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 230 180
-238 205 164
-230 189 148
-213 164 131
-205 148 115
-189 115 90
-164 74 65
-139 32 41
-123 0 24
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/258.pal b/graphics/battle_anims/sprites/258.pal
deleted file mode 100644
index 4af22714e..000000000
--- a/graphics/battle_anims/sprites/258.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-189 205 213
-131 156 180
-65 106 139
-8 57 106
-0 0 0
-222 197 205
-189 164 164
-156 139 131
-123 115 90
-98 90 57
-164 49 8
-189 98 32
-213 148 57
-0 0 0
diff --git a/graphics/battle_anims/sprites/260.pal b/graphics/battle_anims/sprites/260.pal
deleted file mode 100644
index 8fe916560..000000000
--- a/graphics/battle_anims/sprites/260.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-148 131 148
-180 172 131
-213 213 115
-255 255 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/261.pal b/graphics/battle_anims/sprites/261.pal
deleted file mode 100644
index 6bcd99f1f..000000000
--- a/graphics/battle_anims/sprites/261.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-230 148 98
-255 255 222
-230 230 197
-213 205 172
-189 180 148
-172 156 123
-156 131 106
-0 0 0
-0 0 0
-0 0 0
-255 230 156
-246 205 139
-246 180 123
-230 148 98
-213 123 74
-197 98 57
diff --git a/graphics/battle_anims/sprites/262.pal b/graphics/battle_anims/sprites/262.pal
deleted file mode 100644
index ec46c0c02..000000000
--- a/graphics/battle_anims/sprites/262.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-0 0 0
-41 16 156
-41 82 189
-41 148 222
-41 213 255
-106 222 255
-180 238 255
-255 255 255
-74 57 0
-205 205 197
-131 131 131
-255 74 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/263.pal b/graphics/battle_anims/sprites/263.pal
deleted file mode 100644
index 6ad880537..000000000
--- a/graphics/battle_anims/sprites/263.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 230 255
-156 205 255
-106 180 255
-57 156 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/264.pal b/graphics/battle_anims/sprites/264.pal
deleted file mode 100644
index 18047209b..000000000
--- a/graphics/battle_anims/sprites/264.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 148 148
-255 74 74
-255 0 0
-205 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/266.pal b/graphics/battle_anims/sprites/266.pal
deleted file mode 100644
index ddbf8f177..000000000
--- a/graphics/battle_anims/sprites/266.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-156 255 156
-123 222 123
-90 189 90
-57 156 57
-57 106 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/269.pal b/graphics/battle_anims/sprites/269.pal
deleted file mode 100644
index c75e89cda..000000000
--- a/graphics/battle_anims/sprites/269.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-115 197 164
-115 197 164
-115 197 164
-115 197 164
-115 197 164
-115 197 164
-115 197 164
-115 197 164
-115 197 164
-255 172 172
-255 98 98
-205 65 65
-156 57 74
-255 255 255
-0 0 0
diff --git a/graphics/battle_anims/sprites/270.pal b/graphics/battle_anims/sprites/270.pal
deleted file mode 100644
index c67c3b568..000000000
--- a/graphics/battle_anims/sprites/270.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 238 255
-205 222 255
-180 205 255
-156 189 255
-131 172 255
-106 156 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/271.pal b/graphics/battle_anims/sprites/271.pal
deleted file mode 100644
index 0b6a20c45..000000000
--- a/graphics/battle_anims/sprites/271.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 255 246
-213 222 205
-189 197 164
-164 172 123
-139 148 90
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/272.pal b/graphics/battle_anims/sprites/272.pal
deleted file mode 100644
index e0278aedc..000000000
--- a/graphics/battle_anims/sprites/272.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-82 205 255
-57 156 255
-32 106 255
-8 57 255
-0 32 197
-0 16 139
-0 0 90
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/274.pal b/graphics/battle_anims/sprites/274.pal
deleted file mode 100644
index 89b1e16da..000000000
--- a/graphics/battle_anims/sprites/274.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 213 230
-255 172 205
-255 139 180
-255 98 156
-255 65 139
-222 65 131
-189 65 123
-156 65 123
-123 65 115
-90 65 106
-57 65 106
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/277.pal b/graphics/battle_anims/sprites/277.pal
deleted file mode 100644
index 0ab344608..000000000
--- a/graphics/battle_anims/sprites/277.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 205
-255 255 164
-255 255 123
-255 255 82
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-255 0 0
-156 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/278.pal b/graphics/battle_anims/sprites/278.pal
deleted file mode 100644
index 6504771ab..000000000
--- a/graphics/battle_anims/sprites/278.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 0 0
-197 0 49
-148 0 98
-98 0 148
-49 0 197
-0 0 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/279.pal b/graphics/battle_anims/sprites/279.pal
deleted file mode 100644
index 1836733e7..000000000
--- a/graphics/battle_anims/sprites/279.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 0 0
-255 197 0
-255 148 0
-255 98 0
-255 49 0
-205 49 0
-156 49 0
-106 49 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/280.pal b/graphics/battle_anims/sprites/280.pal
deleted file mode 100644
index 276859354..000000000
--- a/graphics/battle_anims/sprites/280.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-189 255 222
-123 255 189
-57 255 156
-57 213 131
-57 180 115
-57 139 90
-57 106 74
-57 74 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/281.pal b/graphics/battle_anims/sprites/281.pal
deleted file mode 100644
index 4b87da02d..000000000
--- a/graphics/battle_anims/sprites/281.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 205 246
-246 246 197
-230 205 164
-222 172 131
-213 139 98
-205 106 74
-172 106 74
-139 106 74
-106 106 74
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/282.pal b/graphics/battle_anims/sprites/282.pal
deleted file mode 100644
index 5d2000b00..000000000
--- a/graphics/battle_anims/sprites/282.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 255 148
-255 255 41
-255 197 32
-255 148 24
-255 98 16
-255 49 8
-57 49 255
-180 255 255
-106 255 255
-57 238 180
-8 230 106
-8 115 90
-8 8 74
-0 0 0
diff --git a/graphics/battle_anims/sprites/283.pal b/graphics/battle_anims/sprites/283.pal
deleted file mode 100644
index 24e6577dc..000000000
--- a/graphics/battle_anims/sprites/283.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-213 213 230
-180 180 205
-139 139 180
-106 106 156
-65 65 131
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/284.pal b/graphics/battle_anims/sprites/284.pal
deleted file mode 100644
index 118c18a63..000000000
--- a/graphics/battle_anims/sprites/284.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-164 148 139
-255 255 255
-213 222 255
-180 197 255
-148 172 255
-49 74 156
-24 41 90
-238 164 238
-238 164 238
-238 164 238
-238 164 238
-238 164 238
-238 164 238
-238 164 238
-238 164 238
-82 123 255
diff --git a/graphics/battle_anims/sprites/285.pal b/graphics/battle_anims/sprites/285.pal
deleted file mode 100644
index 0182d890a..000000000
--- a/graphics/battle_anims/sprites/285.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-255 246 189
-255 246 8
-255 180 8
-255 123 8
-255 57 8
-255 0 8
-205 0 8
-156 0 8
-106 0 8
-0 0 0
-148 98 246
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/smokescreen_impact.pal b/graphics/battle_anims/sprites/smokescreen_impact.pal
deleted file mode 100644
index 64367bdc9..000000000
--- a/graphics/battle_anims/sprites/smokescreen_impact.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 148 49
-57 98 197
-0 0 0
-0 0 0
-0 0 0
-164 156 106
-197 197 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_anims/sprites/substitute.pal b/graphics/battle_anims/sprites/substitute.pal
deleted file mode 100644
index 8b6e458a1..000000000
--- a/graphics/battle_anims/sprites/substitute.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 238 197
-255 255 255
-230 238 222
-205 222 189
-189 205 164
-164 189 131
-148 172 106
-123 139 90
-106 106 82
-82 82 74
-65 49 65
-49 24 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/battle_interface/hpbar.pal b/graphics/battle_interface/hpbar.pal
deleted file mode 100644
index ea646bb82..000000000
--- a/graphics/battle_interface/hpbar.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-57 57 57
-255 255 255
-213 205 189
-131 131 139
-74 65 90
-82 106 90
-255 180 123
-246 148 115
-222 106 90
-115 255 172
-90 213 131
-255 230 57
-205 172 8
-255 90 57
-172 65 74
diff --git a/graphics/battle_interface/window.pal b/graphics/battle_interface/window.pal
deleted file mode 100644
index bc8e8f2bc..000000000
--- a/graphics/battle_interface/window.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-65 65 65
-255 255 222
-222 213 180
-197 189 115
-123 148 131
-82 106 98
-32 57 0
-57 82 65
-255 230 0
-255 156 148
-65 205 255
-0 0 255
-0 255 0
-255 0 0
-106 148 255
diff --git a/graphics/battle_transitions/vs_frame.pal b/graphics/battle_transitions/vs_frame.pal
deleted file mode 100644
index 104afd395..000000000
--- a/graphics/battle_transitions/vs_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 255 0
-65 65 65
-255 255 255
-238 230 197
-213 205 131
-123 148 131
-82 106 98
-32 57 0
-57 82 65
-246 148 115
-222 106 90
-65 205 255
-255 255 255
-213 205 189
-131 131 139
-74 65 90
diff --git a/graphics/berries/aguav/pic.png b/graphics/berries/aguav.png
index 0661fe8d3..0661fe8d3 100644
--- a/graphics/berries/aguav/pic.png
+++ b/graphics/berries/aguav.png
Binary files differ
diff --git a/graphics/berries/aguav/palette.pal b/graphics/berries/aguav/palette.pal
deleted file mode 100644
index fa20daf24..000000000
--- a/graphics/berries/aguav/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-230 255 156
-197 238 131
-164 222 106
-131 205 82
-98 189 57
-74 148 41
-57 115 32
-41 82 24
-255 238 189
-222 197 148
-189 164 106
-156 131 74
-197 197 139
-148 172 98
-90 139 82
diff --git a/graphics/berries/apicot/pic.png b/graphics/berries/apicot.png
index b7098fc90..b7098fc90 100644
--- a/graphics/berries/apicot/pic.png
+++ b/graphics/berries/apicot.png
Binary files differ
diff --git a/graphics/berries/apicot/palette.pal b/graphics/berries/apicot/palette.pal
deleted file mode 100644
index 82cb76d5a..000000000
--- a/graphics/berries/apicot/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-238 238 255
-189 205 238
-148 180 230
-106 148 222
-65 123 213
-65 98 148
-222 255 131
-197 230 123
-172 213 115
-148 189 106
-123 172 98
-90 131 82
-57 164 156
-255 230 98
-205 164 98
diff --git a/graphics/berries/aspear/pic.png b/graphics/berries/aspear.png
index b5e2c5061..b5e2c5061 100644
--- a/graphics/berries/aspear/pic.png
+++ b/graphics/berries/aspear.png
Binary files differ
diff --git a/graphics/berries/aspear/palette.pal b/graphics/berries/aspear/palette.pal
deleted file mode 100644
index 52842fd55..000000000
--- a/graphics/berries/aspear/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-246 238 222
-246 238 189
-246 238 156
-246 238 123
-230 213 115
-213 197 106
-197 180 98
-180 156 90
-164 139 82
-148 123 74
-180 189 148
-156 164 131
-131 139 123
-106 123 115
-0 0 0
diff --git a/graphics/berries/belue/pic.png b/graphics/berries/belue.png
index 81ddaa9bb..81ddaa9bb 100644
--- a/graphics/berries/belue/pic.png
+++ b/graphics/berries/belue.png
Binary files differ
diff --git a/graphics/berries/belue/palette.pal b/graphics/berries/belue/palette.pal
deleted file mode 100644
index 0d348b27e..000000000
--- a/graphics/berries/belue/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-164 172 197
-148 148 180
-131 123 172
-123 98 156
-106 74 148
-98 57 139
-82 41 82
-255 213 164
-230 189 148
-205 164 131
-180 139 123
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/bluk/pic.png b/graphics/berries/bluk.png
index fc7e6c128..fc7e6c128 100644
--- a/graphics/berries/bluk/pic.png
+++ b/graphics/berries/bluk.png
Binary files differ
diff --git a/graphics/berries/bluk/palette.pal b/graphics/berries/bluk/palette.pal
deleted file mode 100644
index 88586d6b5..000000000
--- a/graphics/berries/bluk/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-189 205 213
-164 156 197
-139 115 180
-115 74 172
-98 57 139
-90 49 106
-82 41 82
-180 139 123
-148 106 82
-115 74 41
-0 0 0
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/cheri/pic.png b/graphics/berries/cheri.png
index f70a1ad74..f70a1ad74 100644
--- a/graphics/berries/cheri/pic.png
+++ b/graphics/berries/cheri.png
Binary files differ
diff --git a/graphics/berries/cheri/palette.pal b/graphics/berries/cheri/palette.pal
deleted file mode 100644
index 01acf52c9..000000000
--- a/graphics/berries/cheri/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 49 41
-180 57 32
-148 65 24
-115 82 24
-189 238 131
-156 205 115
-123 172 98
-90 139 82
-115 90 74
-82 90 49
-57 98 32
diff --git a/graphics/berries/chesto/pic.png b/graphics/berries/chesto.png
index db1fe9e73..db1fe9e73 100644
--- a/graphics/berries/chesto/pic.png
+++ b/graphics/berries/chesto.png
Binary files differ
diff --git a/graphics/berries/chesto/palette.pal b/graphics/berries/chesto/palette.pal
deleted file mode 100644
index 3a4e0964f..000000000
--- a/graphics/berries/chesto/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-148 205 255
-123 172 238
-98 148 222
-82 123 213
-65 98 180
-57 74 148
-230 197 164
-213 172 148
-197 156 131
-180 131 115
-164 115 98
-148 98 82
-156 205 115
-74 106 197
-90 139 82
diff --git a/graphics/berries/cornn/pic.png b/graphics/berries/cornn.png
index e124fc599..e124fc599 100644
--- a/graphics/berries/cornn/pic.png
+++ b/graphics/berries/cornn.png
Binary files differ
diff --git a/graphics/berries/cornn/palette.pal b/graphics/berries/cornn/palette.pal
deleted file mode 100644
index 5096389e0..000000000
--- a/graphics/berries/cornn/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-189 205 213
-164 156 197
-139 115 180
-115 74 172
-98 57 139
-90 49 106
-82 41 82
-180 139 123
-180 189 123
-115 74 41
-49 90 0
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/durin/pic.png b/graphics/berries/durin.png
index 5bbb97e1f..5bbb97e1f 100644
--- a/graphics/berries/durin/pic.png
+++ b/graphics/berries/durin.png
Binary files differ
diff --git a/graphics/berries/durin/palette.pal b/graphics/berries/durin/palette.pal
deleted file mode 100644
index 8b636135d..000000000
--- a/graphics/berries/durin/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 246
-230 255 156
-197 238 131
-164 222 106
-131 205 82
-98 189 57
-98 164 57
-98 139 57
-255 246 197
-255 222 148
-139 98 49
-222 172 98
-189 148 98
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/enigma/pic.png b/graphics/berries/enigma.png
index af369550a..af369550a 100644
--- a/graphics/berries/enigma/pic.png
+++ b/graphics/berries/enigma.png
Binary files differ
diff --git a/graphics/berries/enigma/palette.pal b/graphics/berries/enigma/palette.pal
deleted file mode 100644
index 349ecc7f4..000000000
--- a/graphics/berries/enigma/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 246 246
-148 131 123
-115 98 98
-82 74 74
-57 49 49
-24 24 24
-0 0 0
-246 238 222
-222 205 197
-205 180 172
-180 156 156
-164 131 131
-148 106 115
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/figy/pic.png b/graphics/berries/figy.png
index 9ec8425d5..9ec8425d5 100644
--- a/graphics/berries/figy/pic.png
+++ b/graphics/berries/figy.png
Binary files differ
diff --git a/graphics/berries/figy/palette.pal b/graphics/berries/figy/palette.pal
deleted file mode 100644
index e427ea1e9..000000000
--- a/graphics/berries/figy/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 197 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 41 49
-180 41 49
-255 246 205
-230 213 172
-205 189 139
-180 164 115
-123 106 74
-197 123 90
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/ganlon/pic.png b/graphics/berries/ganlon.png
index ec5e38319..ec5e38319 100644
--- a/graphics/berries/ganlon/pic.png
+++ b/graphics/berries/ganlon.png
Binary files differ
diff --git a/graphics/berries/ganlon/palette.pal b/graphics/berries/ganlon/palette.pal
deleted file mode 100644
index 381974125..000000000
--- a/graphics/berries/ganlon/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-222 255 255
-189 230 255
-164 197 238
-139 172 222
-115 148 213
-90 123 197
-65 98 189
-65 65 123
-246 238 164
-222 205 139
-205 180 123
-180 156 106
-164 131 90
-123 172 98
-90 139 82
diff --git a/graphics/berries/grepa/pic.png b/graphics/berries/grepa.png
index 136a86df2..136a86df2 100644
--- a/graphics/berries/grepa/pic.png
+++ b/graphics/berries/grepa.png
Binary files differ
diff --git a/graphics/berries/grepa/palette.pal b/graphics/berries/grepa/palette.pal
deleted file mode 100644
index 42ff8830f..000000000
--- a/graphics/berries/grepa/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-246 238 222
-246 230 180
-246 230 148
-246 222 106
-255 222 74
-222 197 65
-197 172 65
-172 148 65
-148 123 65
-123 98 65
-172 255 74
-131 213 65
-90 180 65
-49 148 65
-238 205 65
diff --git a/graphics/berries/hondew/pic.png b/graphics/berries/hondew.png
index ab1add813..ab1add813 100644
--- a/graphics/berries/hondew/pic.png
+++ b/graphics/berries/hondew.png
Binary files differ
diff --git a/graphics/berries/hondew/palette.pal b/graphics/berries/hondew/palette.pal
deleted file mode 100644
index db2739961..000000000
--- a/graphics/berries/hondew/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 246
-230 255 156
-197 238 131
-164 222 106
-131 205 82
-98 189 57
-98 164 57
-98 139 57
-255 246 197
-255 222 148
-255 197 98
-222 172 98
-189 148 98
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/iapapa/pic.png b/graphics/berries/iapapa.png
index 243e23d29..243e23d29 100644
--- a/graphics/berries/iapapa/pic.png
+++ b/graphics/berries/iapapa.png
Binary files differ
diff --git a/graphics/berries/iapapa/palette.pal b/graphics/berries/iapapa/palette.pal
deleted file mode 100644
index 31fac9dde..000000000
--- a/graphics/berries/iapapa/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 197 197
-246 238 222
-246 238 172
-238 213 148
-230 197 131
-222 180 115
-213 164 98
-205 148 82
-139 90 57
-230 164 90
-238 123 74
-255 90 57
-222 90 57
-197 90 57
-172 90 57
-90 139 82
diff --git a/graphics/berries/kelpsy/pic.png b/graphics/berries/kelpsy.png
index 17b509c04..17b509c04 100644
--- a/graphics/berries/kelpsy/pic.png
+++ b/graphics/berries/kelpsy.png
Binary files differ
diff --git a/graphics/berries/kelpsy/palette.pal b/graphics/berries/kelpsy/palette.pal
deleted file mode 100644
index 67ad7a21c..000000000
--- a/graphics/berries/kelpsy/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-189 205 213
-164 156 197
-139 115 180
-115 74 172
-98 57 139
-90 49 106
-82 41 82
-180 139 123
-148 106 82
-115 74 41
-0 0 0
-189 222 255
-156 197 230
-131 172 205
-106 148 189
diff --git a/graphics/berries/lansat/pic.png b/graphics/berries/lansat.png
index c63a590ec..c63a590ec 100644
--- a/graphics/berries/lansat/pic.png
+++ b/graphics/berries/lansat.png
Binary files differ
diff --git a/graphics/berries/lansat/palette.pal b/graphics/berries/lansat/palette.pal
deleted file mode 100644
index 66621677d..000000000
--- a/graphics/berries/lansat/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 246 246
-189 222 148
-148 197 123
-115 180 106
-82 164 90
-49 148 74
-255 222 164
-246 180 139
-238 148 115
-230 106 90
-222 74 65
-213 41 49
-189 41 49
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/leppa/pic.png b/graphics/berries/leppa.png
index 228bc9c3a..228bc9c3a 100644
--- a/graphics/berries/leppa/pic.png
+++ b/graphics/berries/leppa.png
Binary files differ
diff --git a/graphics/berries/leppa/palette.pal b/graphics/berries/leppa/palette.pal
deleted file mode 100644
index 4fab82d6c..000000000
--- a/graphics/berries/leppa/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 41 49
-180 41 49
-148 41 49
-197 148 98
-189 238 131
-156 205 115
-123 172 98
-90 139 82
-115 90 74
-82 90 49
-57 98 32
diff --git a/graphics/berries/liechi/pic.png b/graphics/berries/liechi.png
index dbfea58ca..dbfea58ca 100644
--- a/graphics/berries/liechi/pic.png
+++ b/graphics/berries/liechi.png
Binary files differ
diff --git a/graphics/berries/liechi/palette.pal b/graphics/berries/liechi/palette.pal
deleted file mode 100644
index c12737deb..000000000
--- a/graphics/berries/liechi/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 246 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 41 49
-180 41 49
-255 255 255
-238 230 213
-222 205 172
-205 180 131
-197 164 90
-255 205 131
-238 164 98
-222 123 65
-213 90 32
diff --git a/graphics/berries/lum/pic.png b/graphics/berries/lum.png
index 52a97fe4b..52a97fe4b 100644
--- a/graphics/berries/lum/pic.png
+++ b/graphics/berries/lum.png
Binary files differ
diff --git a/graphics/berries/lum/palette.pal b/graphics/berries/lum/palette.pal
deleted file mode 100644
index 237ef0dc4..000000000
--- a/graphics/berries/lum/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 246 246
-255 255 222
-238 255 189
-230 255 156
-197 230 131
-172 205 115
-148 180 90
-123 156 74
-115 115 74
-106 82 74
-0 0 0
-0 0 0
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/mago/pic.png b/graphics/berries/mago.png
index b83c4cc3e..b83c4cc3e 100644
--- a/graphics/berries/mago/pic.png
+++ b/graphics/berries/mago.png
Binary files differ
diff --git a/graphics/berries/mago/palette.pal b/graphics/berries/mago/palette.pal
deleted file mode 100644
index 4441e4564..000000000
--- a/graphics/berries/mago/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 222 205
-246 189 180
-246 164 156
-246 139 139
-197 106 106
-148 74 74
-98 41 49
-255 246 197
-230 205 148
-213 164 106
-197 131 65
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/magost/pic.png b/graphics/berries/magost.png
index d3332bc26..d3332bc26 100644
--- a/graphics/berries/magost/pic.png
+++ b/graphics/berries/magost.png
Binary files differ
diff --git a/graphics/berries/magost/palette.pal b/graphics/berries/magost/palette.pal
deleted file mode 100644
index 2393be3d6..000000000
--- a/graphics/berries/magost/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 222 205
-246 189 180
-246 164 156
-246 139 139
-222 123 123
-197 106 106
-180 90 90
-255 246 197
-230 131 131
-246 148 148
-197 131 65
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/nanab/pic.png b/graphics/berries/nanab.png
index 88fa1368e..88fa1368e 100644
--- a/graphics/berries/nanab/pic.png
+++ b/graphics/berries/nanab.png
Binary files differ
diff --git a/graphics/berries/nanab/palette.pal b/graphics/berries/nanab/palette.pal
deleted file mode 100644
index 4441e4564..000000000
--- a/graphics/berries/nanab/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 222 205
-246 189 180
-246 164 156
-246 139 139
-197 106 106
-148 74 74
-98 41 49
-255 246 197
-230 205 148
-213 164 106
-197 131 65
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/nomel/pic.png b/graphics/berries/nomel.png
index 828674f62..828674f62 100644
--- a/graphics/berries/nomel/pic.png
+++ b/graphics/berries/nomel.png
Binary files differ
diff --git a/graphics/berries/nomel/palette.pal b/graphics/berries/nomel/palette.pal
deleted file mode 100644
index 6844ddcc3..000000000
--- a/graphics/berries/nomel/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-246 238 222
-246 230 180
-246 230 148
-246 222 106
-255 222 74
-238 197 65
-222 180 65
-205 156 65
-189 139 65
-123 98 65
-172 255 74
-131 213 65
-90 180 65
-246 205 65
-238 205 65
diff --git a/graphics/berries/oran/pic.png b/graphics/berries/oran.png
index bc9517fac..bc9517fac 100644
--- a/graphics/berries/oran/pic.png
+++ b/graphics/berries/oran.png
Binary files differ
diff --git a/graphics/berries/oran/palette.pal b/graphics/berries/oran/palette.pal
deleted file mode 100644
index ac06d0224..000000000
--- a/graphics/berries/oran/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-189 205 213
-156 172 213
-123 148 213
-90 123 213
-65 98 213
-65 82 180
-65 65 148
-74 49 115
-148 106 82
-115 74 41
-0 0 0
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/pamtre/pic.png b/graphics/berries/pamtre.png
index d066ab74c..d066ab74c 100644
--- a/graphics/berries/pamtre/pic.png
+++ b/graphics/berries/pamtre.png
Binary files differ
diff --git a/graphics/berries/pamtre/palette.pal b/graphics/berries/pamtre/palette.pal
deleted file mode 100644
index fa2cb87a7..000000000
--- a/graphics/berries/pamtre/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-189 205 213
-172 180 205
-156 148 189
-131 106 180
-115 74 172
-98 57 139
-90 49 106
-82 41 82
-238 189 213
-205 164 172
-180 139 139
-156 115 106
-131 90 74
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/pecha/pic.png b/graphics/berries/pecha.png
index 76543a044..76543a044 100644
--- a/graphics/berries/pecha/pic.png
+++ b/graphics/berries/pecha.png
Binary files differ
diff --git a/graphics/berries/pecha/palette.pal b/graphics/berries/pecha/palette.pal
deleted file mode 100644
index b0743cc64..000000000
--- a/graphics/berries/pecha/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 255
-255 222 197
-255 197 148
-222 172 123
-197 148 106
-172 123 90
-148 98 74
-0 0 0
-255 205 172
-238 180 131
-123 246 0
-90 213 0
-57 180 0
-24 148 0
-0 0 0
diff --git a/graphics/berries/persim/pic.png b/graphics/berries/persim.png
index 6c0ba368a..6c0ba368a 100644
--- a/graphics/berries/persim/pic.png
+++ b/graphics/berries/persim.png
Binary files differ
diff --git a/graphics/berries/persim/palette.pal b/graphics/berries/persim/palette.pal
deleted file mode 100644
index 389fac638..000000000
--- a/graphics/berries/persim/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 222 205
-246 189 180
-246 164 156
-246 139 139
-197 106 106
-148 74 74
-98 41 49
-0 0 0
-0 0 0
-0 0 0
-90 98 82
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/petaya/pic.png b/graphics/berries/petaya.png
index 04198ba39..04198ba39 100644
--- a/graphics/berries/petaya/pic.png
+++ b/graphics/berries/petaya.png
Binary files differ
diff --git a/graphics/berries/petaya/palette.pal b/graphics/berries/petaya/palette.pal
deleted file mode 100644
index c6eefb076..000000000
--- a/graphics/berries/petaya/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 246 246
-255 197 205
-246 164 180
-246 131 156
-246 106 139
-189 74 90
-139 41 49
-230 197 148
-205 172 123
-189 148 98
-172 123 74
-156 98 49
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/pinap/pic.png b/graphics/berries/pinap.png
index 71144554a..71144554a 100644
--- a/graphics/berries/pinap/pic.png
+++ b/graphics/berries/pinap.png
Binary files differ
diff --git a/graphics/berries/pinap/palette.pal b/graphics/berries/pinap/palette.pal
deleted file mode 100644
index e62f61e20..000000000
--- a/graphics/berries/pinap/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-246 238 222
-246 238 189
-246 238 156
-246 238 123
-222 205 106
-197 180 98
-172 156 90
-148 123 74
-123 98 65
-106 74 57
-148 255 172
-115 213 148
-82 180 123
-49 148 98
-0 0 0
diff --git a/graphics/berries/pomeg/pic.png b/graphics/berries/pomeg.png
index 394f8558a..394f8558a 100644
--- a/graphics/berries/pomeg/pic.png
+++ b/graphics/berries/pomeg.png
Binary files differ
diff --git a/graphics/berries/pomeg/palette.pal b/graphics/berries/pomeg/palette.pal
deleted file mode 100644
index 01acf52c9..000000000
--- a/graphics/berries/pomeg/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 49 41
-180 57 32
-148 65 24
-115 82 24
-189 238 131
-156 205 115
-123 172 98
-90 139 82
-115 90 74
-82 90 49
-57 98 32
diff --git a/graphics/berries/qualot/pic.png b/graphics/berries/qualot.png
index 15f51d4d8..15f51d4d8 100644
--- a/graphics/berries/qualot/pic.png
+++ b/graphics/berries/qualot.png
Binary files differ
diff --git a/graphics/berries/qualot/palette.pal b/graphics/berries/qualot/palette.pal
deleted file mode 100644
index 4441e4564..000000000
--- a/graphics/berries/qualot/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 222 205
-246 189 180
-246 164 156
-246 139 139
-197 106 106
-148 74 74
-98 41 49
-255 246 197
-230 205 148
-213 164 106
-197 131 65
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/rabuta/pic.png b/graphics/berries/rabuta.png
index cf620f906..cf620f906 100644
--- a/graphics/berries/rabuta/pic.png
+++ b/graphics/berries/rabuta.png
Binary files differ
diff --git a/graphics/berries/rabuta/palette.pal b/graphics/berries/rabuta/palette.pal
deleted file mode 100644
index 251beeb2d..000000000
--- a/graphics/berries/rabuta/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 246
-230 255 156
-197 238 131
-164 222 106
-131 205 82
-98 189 57
-98 164 57
-98 139 57
-255 246 197
-230 213 172
-205 189 156
-180 164 131
-156 139 115
-139 115 98
-90 106 57
-90 139 82
diff --git a/graphics/berries/rawst/pic.png b/graphics/berries/rawst.png
index c0e3e23a6..c0e3e23a6 100644
--- a/graphics/berries/rawst/pic.png
+++ b/graphics/berries/rawst.png
Binary files differ
diff --git a/graphics/berries/rawst/palette.pal b/graphics/berries/rawst/palette.pal
deleted file mode 100644
index a7a4576b5..000000000
--- a/graphics/berries/rawst/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 98 246
-255 255 255
-213 230 222
-172 205 189
-131 189 156
-90 164 123
-49 148 98
-49 131 82
-57 115 74
-65 98 65
-74 82 57
-98 197 0
-49 148 0
-0 98 0
-148 205 0
-0 0 0
diff --git a/graphics/berries/razz/pic.png b/graphics/berries/razz.png
index 5c415012d..5c415012d 100644
--- a/graphics/berries/razz/pic.png
+++ b/graphics/berries/razz.png
Binary files differ
diff --git a/graphics/berries/razz/palette.pal b/graphics/berries/razz/palette.pal
deleted file mode 100644
index 01acf52c9..000000000
--- a/graphics/berries/razz/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 49 41
-180 57 32
-148 65 24
-115 82 24
-189 238 131
-156 205 115
-123 172 98
-90 139 82
-115 90 74
-82 90 49
-57 98 32
diff --git a/graphics/berries/salac/pic.png b/graphics/berries/salac.png
index 557ab1742..557ab1742 100644
--- a/graphics/berries/salac/pic.png
+++ b/graphics/berries/salac.png
Binary files differ
diff --git a/graphics/berries/salac/palette.pal b/graphics/berries/salac/palette.pal
deleted file mode 100644
index c0849c6bc..000000000
--- a/graphics/berries/salac/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 255 255
-255 255 255
-246 255 222
-238 255 189
-230 255 156
-197 238 131
-164 222 106
-131 205 82
-98 189 57
-90 156 41
-82 123 24
-74 98 8
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/sitrus/pic.png b/graphics/berries/sitrus.png
index d98327ae1..d98327ae1 100644
--- a/graphics/berries/sitrus/pic.png
+++ b/graphics/berries/sitrus.png
Binary files differ
diff --git a/graphics/berries/sitrus/palette.pal b/graphics/berries/sitrus/palette.pal
deleted file mode 100644
index b80481ae1..000000000
--- a/graphics/berries/sitrus/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 246 246
-246 238 222
-246 238 172
-246 238 123
-222 213 106
-197 189 90
-172 164 82
-148 139 65
-123 115 57
-246 197 90
-246 172 32
-189 131 32
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/spelon/pic.png b/graphics/berries/spelon.png
index 996f743db..996f743db 100644
--- a/graphics/berries/spelon/pic.png
+++ b/graphics/berries/spelon.png
Binary files differ
diff --git a/graphics/berries/spelon/palette.pal b/graphics/berries/spelon/palette.pal
deleted file mode 100644
index 01acf52c9..000000000
--- a/graphics/berries/spelon/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 49 41
-180 57 32
-148 65 24
-115 82 24
-189 238 131
-156 205 115
-123 172 98
-90 139 82
-115 90 74
-82 90 49
-57 98 32
diff --git a/graphics/berries/starf/pic.png b/graphics/berries/starf.png
index 8cca44ee2..8cca44ee2 100644
--- a/graphics/berries/starf/pic.png
+++ b/graphics/berries/starf.png
Binary files differ
diff --git a/graphics/berries/starf/palette.pal b/graphics/berries/starf/palette.pal
deleted file mode 100644
index 68525b6a6..000000000
--- a/graphics/berries/starf/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 238 246
-246 139 90
-230 255 213
-205 255 180
-180 255 139
-156 255 106
-131 205 106
-106 164 106
-90 123 106
-246 41 41
-156 106 106
-255 156 156
-98 123 205
-164 213 41
-255 205 8
-0 0 0
diff --git a/graphics/berries/tamato/pic.png b/graphics/berries/tamato.png
index 9f2c14d4a..9f2c14d4a 100644
--- a/graphics/berries/tamato/pic.png
+++ b/graphics/berries/tamato.png
Binary files differ
diff --git a/graphics/berries/tamato/palette.pal b/graphics/berries/tamato/palette.pal
deleted file mode 100644
index 01acf52c9..000000000
--- a/graphics/berries/tamato/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 49 41
-180 57 32
-148 65 24
-115 82 24
-189 238 131
-156 205 115
-123 172 98
-90 139 82
-115 90 74
-82 90 49
-57 98 32
diff --git a/graphics/berries/watmel/pic.png b/graphics/berries/watmel.png
index 6da099327..6da099327 100644
--- a/graphics/berries/watmel/pic.png
+++ b/graphics/berries/watmel.png
Binary files differ
diff --git a/graphics/berries/watmel/palette.pal b/graphics/berries/watmel/palette.pal
deleted file mode 100644
index 786c0a848..000000000
--- a/graphics/berries/watmel/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 222 205
-246 189 180
-246 164 156
-246 139 139
-213 115 115
-180 90 90
-148 74 74
-255 246 197
-230 205 148
-238 255 180
-213 246 156
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/wepear/pic.png b/graphics/berries/wepear.png
index 468231651..468231651 100644
--- a/graphics/berries/wepear/pic.png
+++ b/graphics/berries/wepear.png
Binary files differ
diff --git a/graphics/berries/wepear/palette.pal b/graphics/berries/wepear/palette.pal
deleted file mode 100644
index dac1511ff..000000000
--- a/graphics/berries/wepear/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 255 255
-230 255 156
-197 238 131
-164 222 106
-131 205 82
-98 189 57
-98 156 57
-98 123 57
-98 90 57
-0 0 0
-180 230 115
-0 0 0
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berries/wiki/pic.png b/graphics/berries/wiki.png
index d13c76f5b..d13c76f5b 100644
--- a/graphics/berries/wiki/pic.png
+++ b/graphics/berries/wiki.png
Binary files differ
diff --git a/graphics/berries/wiki/palette.pal b/graphics/berries/wiki/palette.pal
deleted file mode 100644
index 88586d6b5..000000000
--- a/graphics/berries/wiki/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-197 197 197
-189 205 213
-164 156 197
-139 115 180
-115 74 172
-98 57 139
-90 49 106
-82 41 82
-180 139 123
-148 106 82
-115 74 41
-0 0 0
-189 238 131
-156 205 115
-123 172 98
-90 139 82
diff --git a/graphics/berry_blender/arrow.pal b/graphics/berry_blender/arrow.pal
deleted file mode 100644
index 4c975292d..000000000
--- a/graphics/berry_blender/arrow.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-213 222 238
-180 197 230
-148 172 222
-115 148 205
-82 123 197
-49 98 189
-255 180 205
-255 115 98
-255 49 0
-205 65 65
-189 24 24
-148 16 16
-74 57 139
-8 0 82
diff --git a/graphics/berry_blender/center.pal b/graphics/berry_blender/center.pal
deleted file mode 100644
index 606c527a3..000000000
--- a/graphics/berry_blender/center.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 197 255
-172 164 222
-139 139 189
-106 106 156
-74 82 123
-41 57 90
-213 222 189
-180 189 156
-148 156 123
-115 123 90
-255 172 123
-246 115 82
-238 57 41
-156 24 0
diff --git a/graphics/berry_blender/outer.pal b/graphics/berry_blender/outer.pal
deleted file mode 100644
index c3b83cf16..000000000
--- a/graphics/berry_blender/outer.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-213 222 238
-180 197 230
-148 172 222
-115 148 205
-82 123 197
-49 98 189
-255 180 205
-255 115 98
-255 49 0
-205 65 65
-189 24 24
-148 123 197
-74 57 139
-8 0 82
diff --git a/graphics/birch_speech/birch.pal b/graphics/birch_speech/birch.pal
deleted file mode 100644
index b89a5861a..000000000
--- a/graphics/birch_speech/birch.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-222 189 148
-197 148 115
-106 74 65
-98 98 115
-41 57 65
-180 115 82
-115 74 57
-205 205 222
-148 148 148
-189 156 90
-139 115 57
-74 49 24
-255 255 255
-0 0 24
diff --git a/graphics/contest/judge.pal b/graphics/contest/judge.pal
deleted file mode 100644
index e62f2abd3..000000000
--- a/graphics/contest/judge.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-156 197 164
-255 222 205
-222 180 148
-172 115 90
-238 238 238
-90 57 57
-57 49 65
-0 0 0
-82 90 8
-57 65 16
-222 82 82
-246 197 49
-246 230 139
-131 131 148
-164 164 180
-205 205 222
diff --git a/graphics/contest/judge_symbols.pal b/graphics/contest/judge_symbols.pal
deleted file mode 100644
index 3eeaa1128..000000000
--- a/graphics/contest/judge_symbols.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-205 148 115
-255 106 115
-255 57 57
-156 0 0
-164 222 255
-106 148 255
-49 82 255
-255 255 115
-246 222 65
-230 106 0
-255 255 255
-189 189 197
-131 131 139
-98 98 123
-65 74 106
-41 49 90
diff --git a/graphics/contest/nextturn.pal b/graphics/contest/nextturn.pal
deleted file mode 100644
index 05991c79e..000000000
--- a/graphics/contest/nextturn.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-148 90 16
-246 189 115
-255 222 115
-255 255 156
-255 49 24
-213 16 0
-246 156 222
-255 0 90
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/interface/ball/dive.pal b/graphics/interface/ball/dive.pal
deleted file mode 100644
index 1bd07d69d..000000000
--- a/graphics/interface/ball/dive.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-90 139 222
-115 164 230
-148 197 238
-180 230 255
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-0 90 156
-24 106 172
-57 123 197
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/great.pal b/graphics/interface/ball/great.pal
deleted file mode 100644
index f19aa5e4a..000000000
--- a/graphics/interface/ball/great.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-98 139 180
-123 156 222
-148 180 222
-180 205 230
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-189 41 90
-222 65 115
-255 98 139
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/luxury.pal b/graphics/interface/ball/luxury.pal
deleted file mode 100644
index a49399d01..000000000
--- a/graphics/interface/ball/luxury.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-49 49 41
-90 90 82
-131 131 123
-180 172 164
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-255 255 156
-255 222 106
-255 189 57
-255 156 8
-230 74 24
-180 74 24
-255 255 255
diff --git a/graphics/interface/ball/master.pal b/graphics/interface/ball/master.pal
deleted file mode 100644
index 72247849b..000000000
--- a/graphics/interface/ball/master.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-115 16 156
-139 41 172
-164 65 189
-189 90 205
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-255 98 139
-255 148 172
-255 197 213
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/nest.pal b/graphics/interface/ball/nest.pal
deleted file mode 100644
index 4bee9fa12..000000000
--- a/graphics/interface/ball/nest.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-0 98 0
-49 148 16
-98 197 32
-156 255 57
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-255 123 98
-255 172 131
-255 222 172
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/net.pal b/graphics/interface/ball/net.pal
deleted file mode 100644
index dc5abb94d..000000000
--- a/graphics/interface/ball/net.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-0 156 106
-49 189 123
-98 222 148
-156 255 172
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-205 205 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/poke.pal b/graphics/interface/ball/poke.pal
deleted file mode 100644
index 0e6b2fb5c..000000000
--- a/graphics/interface/ball/poke.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-131 0 0
-172 0 0
-213 41 41
-255 156 123
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/premier.pal b/graphics/interface/ball/premier.pal
deleted file mode 100644
index 0e6b2fb5c..000000000
--- a/graphics/interface/ball/premier.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-131 0 0
-172 0 0
-213 41 41
-255 156 123
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/repeat.pal b/graphics/interface/ball/repeat.pal
deleted file mode 100644
index c3689e13f..000000000
--- a/graphics/interface/ball/repeat.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-222 98 0
-230 131 32
-238 164 65
-255 197 98
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-205 156 8
-255 255 8
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/safari.pal b/graphics/interface/ball/safari.pal
deleted file mode 100644
index bbe4d76f3..000000000
--- a/graphics/interface/ball/safari.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-148 172 16
-164 197 32
-180 222 49
-197 246 65
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-205 106 41
-230 164 98
-255 222 156
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/ball/timer.pal b/graphics/interface/ball/timer.pal
deleted file mode 100644
index e0c23569e..000000000
--- a/graphics/interface/ball/timer.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-172 0 0
-197 49 41
-222 98 82
-255 156 123
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-180 180 180
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-0 0 0
diff --git a/graphics/interface/ball/ultra.pal b/graphics/interface/ball/ultra.pal
deleted file mode 100644
index 3b7021097..000000000
--- a/graphics/interface/ball/ultra.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-180 139 16
-205 172 32
-230 205 49
-255 238 65
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/interface/hold_icons.pal b/graphics/interface/hold_icons.pal
deleted file mode 100644
index e31d717c9..000000000
--- a/graphics/interface/hold_icons.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-57 205 106
-255 255 255
-213 213 255
-148 148 180
-255 246 156
-222 222 115
-246 82 41
-164 90 82
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-98 98 98
diff --git a/graphics/interface/link_test_digits.pal b/graphics/interface/link_test_digits.pal
deleted file mode 100644
index 5362e8d6d..000000000
--- a/graphics/interface/link_test_digits.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 255 255
diff --git a/graphics/interface/money.pal b/graphics/interface/money.pal
deleted file mode 100644
index 3fa8d8cff..000000000
--- a/graphics/interface/money.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-205 205 205
-164 164 164
-123 123 123
-115 98 98
-65 57 41
-57 106 139
-106 180 49
-255 230 164
-255 205 164
-230 180 123
-255 205 0
-205 180 0
-255 230 0
-0 0 0
diff --git a/graphics/interface/pokeblock_device.pal b/graphics/interface/pokeblock_device.pal
deleted file mode 100644
index a491b61af..000000000
--- a/graphics/interface/pokeblock_device.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 156 255
-82 90 106
-205 197 222
-90 123 148
-90 164 172
-98 189 222
-172 213 238
-197 148 98
-197 197 49
-98 197 98
-255 197 148
-49 148 246
-172 98 82
-246 123 90
-164 156 180
-246 246 246
diff --git a/graphics/interface/status_icons.pal b/graphics/interface/status_icons.pal
deleted file mode 100644
index 718f5bb77..000000000
--- a/graphics/interface/status_icons.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-49 189 131
-57 57 57
-255 255 255
-222 222 222
-197 98 197
-205 131 205
-189 189 24
-205 205 131
-164 164 139
-180 180 148
-139 180 230
-156 197 246
-230 115 82
-255 139 106
-238 82 57
-255 123 98
diff --git a/graphics/interface/summary_frames.pal b/graphics/interface/summary_frames.pal
deleted file mode 100644
index d46aa6c8f..000000000
--- a/graphics/interface/summary_frames.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 0
-148 148 0
-49 172 255
-49 98 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 82 49
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/interface/wordgroup_indicator.pal b/graphics/interface/wordgroup_indicator.pal
deleted file mode 100644
index 0d067c9e2..000000000
--- a/graphics/interface/wordgroup_indicator.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 148
-156 230 255
-98 197 246
-82 148 197
-172 246 213
-139 230 180
-90 164 123
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-41 49 49
-98 98 98
-180 189 180
-222 213 222
-255 255 255
diff --git a/graphics/intro/copyright.pal b/graphics/intro/copyright.pal
deleted file mode 100644
index 4219d4394..000000000
--- a/graphics/intro/copyright.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 32 32
-24 57 57
-49 82 82
-82 106 106
-106 131 131
-139 156 156
-164 180 180
-197 205 205
-222 230 230
-255 255 255
diff --git a/graphics/intro/intro1_eon.pal b/graphics/intro/intro1_eon.pal
deleted file mode 100644
index dcfc242a5..000000000
--- a/graphics/intro/intro1_eon.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-74 74 82
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/intro/intro2_bgclouds.pal b/graphics/intro/intro2_bgclouds.pal
deleted file mode 100644
index 6b312a16c..000000000
--- a/graphics/intro/intro2_bgclouds.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-230 246 255
-205 238 255
-180 230 255
-164 222 255
-139 213 255
-115 205 255
-98 197 255
-230 230 255
-246 255 255
-213 222 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/intro/intro2_bgnight.pal b/graphics/intro/intro2_bgnight.pal
deleted file mode 100644
index 765aad45a..000000000
--- a/graphics/intro/intro2_bgnight.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-0 0 0
-82 90 148
-148 131 164
-57 74 123
-131 106 156
-98 90 123
-156 164 197
-139 148 172
-90 131 139
-189 197 213
-90 115 164
-230 230 82
-131 131 164
-246 246 123
diff --git a/graphics/intro/intro2_bgtrees.pal b/graphics/intro/intro2_bgtrees.pal
deleted file mode 100644
index 5c506481a..000000000
--- a/graphics/intro/intro2_bgtrees.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-156 189 246
-172 205 246
-197 230 255
-213 246 255
-238 255 255
-156 180 172
-197 197 156
-172 189 164
-98 139 98
-98 156 57
-123 164 131
-156 213 82
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/intro/intro2_brendan.pal b/graphics/intro/intro2_brendan.pal
deleted file mode 100644
index 5a8f9efcc..000000000
--- a/graphics/intro/intro2_brendan.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-82 74 74
-139 139 123
-197 189 222
-255 255 255
-230 49 0
-246 148 0
-0 0 0
-255 213 148
-222 164 139
-0 0 0
-246 57 131
-189 57 115
-238 205 16
-189 172 16
-131 164 65
diff --git a/graphics/intro/intro2_grass.pal b/graphics/intro/intro2_grass.pal
deleted file mode 100644
index 389977abf..000000000
--- a/graphics/intro/intro2_grass.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-74 82 82
-90 123 123
-205 205 197
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-106 164 98
-115 197 98
-164 230 90
diff --git a/graphics/intro/intro2_latias.pal b/graphics/intro/intro2_latias.pal
deleted file mode 100644
index 0af96be29..000000000
--- a/graphics/intro/intro2_latias.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-123 106 106
-115 131 164
-222 213 238
-255 255 255
-213 65 57
-238 106 32
-172 74 65
-255 90 65
-180 172 197
-189 139 57
-189 98 41
-90 115 180
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/intro/intro2_latios.pal b/graphics/intro/intro2_latios.pal
deleted file mode 100644
index bb51c0a7d..000000000
--- a/graphics/intro/intro2_latios.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-123 106 106
-115 131 164
-222 213 238
-255 255 255
-106 131 230
-139 197 255
-90 115 180
-139 156 230
-180 172 197
-238 82 32
-238 41 24
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/intro/intro2_may.pal b/graphics/intro/intro2_may.pal
deleted file mode 100644
index 4d15e827b..000000000
--- a/graphics/intro/intro2_may.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-82 74 74
-139 139 123
-197 189 222
-255 255 255
-82 197 0
-148 246 98
-98 98 131
-255 213 148
-222 164 139
-180 172 115
-246 90 90
-189 57 115
-238 205 16
-189 172 16
-131 164 65
diff --git a/graphics/intro/intro3_pokeball.pal b/graphics/intro/intro3_pokeball.pal
deleted file mode 100644
index d520a5e82..000000000
--- a/graphics/intro/intro3_pokeball.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-255 255 255
-0 0 0
-49 41 24
-106 90 57
-164 139 90
-222 98 57
-131 131 189
-255 255 255
-74 32 16
-148 65 32
-41 41 57
-82 82 123
-82 82 82
-164 164 164
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/intro/intro3_streaks.pal b/graphics/intro/intro3_streaks.pal
deleted file mode 100644
index 21ae1e434..000000000
--- a/graphics/intro/intro3_streaks.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-0 0 0
-255 230 74
-255 230 98
-255 238 123
-255 238 148
-255 246 172
-255 255 197
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 255
diff --git a/graphics/misc/birch_bag.pal b/graphics/misc/birch_bag.pal
deleted file mode 100644
index ca609b98d..000000000
--- a/graphics/misc/birch_bag.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 213 148
-255 197 90
-222 172 90
-189 156 90
-148 115 82
-131 82 74
-57 90 98
-74 49 57
-0 98 139
-0 49 65
-213 213 222
-156 156 148
-98 98 115
-0 82 115
-0 0 0
diff --git a/graphics/misc/birch_ballarrow.pal b/graphics/misc/birch_ballarrow.pal
deleted file mode 100644
index 12f7e8075..000000000
--- a/graphics/misc/birch_ballarrow.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-230 82 49
-197 65 49
-164 49 49
-131 41 49
-213 213 222
-172 172 180
-131 131 148
-98 98 115
-255 172 180
-24 57 65
-57 90 98
-0 0 0
-0 0 0
-255 255 255
-0 0 0
diff --git a/graphics/misc/birch_circle.pal b/graphics/misc/birch_circle.pal
deleted file mode 100644
index 52239fbc3..000000000
--- a/graphics/misc/birch_circle.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 57 197
-16 16 16
-32 32 32
-49 49 49
-65 65 65
-82 82 82
-98 98 98
-115 115 115
-131 131 131
-148 148 148
-164 164 164
-180 180 180
-197 197 197
-213 213 213
-230 230 230
-255 255 255
diff --git a/graphics/misc/birch_grass.pal b/graphics/misc/birch_grass.pal
deleted file mode 100644
index 9a87ec0d5..000000000
--- a/graphics/misc/birch_grass.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-139 222 115
-197 230 148
-139 222 115
-255 255 0
-115 189 98
-98 156 82
-74 123 65
-57 90 49
-32 57 32
-255 255 0
-255 255 0
-255 255 0
-255 255 0
-255 255 0
-255 255 0
-82 115 65
diff --git a/graphics/misc/cable_car.pal b/graphics/misc/cable_car.pal
deleted file mode 100644
index 64985f6da..000000000
--- a/graphics/misc/cable_car.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-164 222 222
-98 139 139
-139 180 180
-131 131 139
-98 98 123
-65 74 106
-41 49 90
-139 205 246
-98 172 238
-255 255 148
-238 213 82
-213 172 16
-180 106 0
-139 65 0
diff --git a/graphics/misc/clock_small.pal b/graphics/misc/clock_small.pal
deleted file mode 100644
index 3398fcbe3..000000000
--- a/graphics/misc/clock_small.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 139 90
-0 0 0
-57 57 57
-123 123 123
-189 189 189
-255 255 255
-255 65 41
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/misc/condition_up_down.pal b/graphics/misc/condition_up_down.pal
deleted file mode 100644
index 5b0cfcd3c..000000000
--- a/graphics/misc/condition_up_down.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-123 180 246
-255 255 0
-255 0 0
-0 0 255
-222 222 222
-213 213 213
-205 205 205
-197 197 197
-189 189 189
-180 180 180
-172 172 172
-164 164 164
-148 148 148
-139 139 139
-131 131 131
-0 0 0
diff --git a/graphics/misc/confetti.pal b/graphics/misc/confetti.pal
deleted file mode 100644
index f2494e508..000000000
--- a/graphics/misc/confetti.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 57 57
-156 0 0
-164 222 255
-49 82 255
-255 255 115
-230 106 0
-255 255 255
-189 189 197
-139 246 115
-65 205 57
-255 123 180
-197 49 131
-65 74 106
-0 0 0
-0 0 0
diff --git a/graphics/misc/darkness_field_move_streaks.pal b/graphics/misc/darkness_field_move_streaks.pal
deleted file mode 100644
index 37ea1ae61..000000000
--- a/graphics/misc/darkness_field_move_streaks.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 139 57
-0 0 0
-148 148 148
-197 197 197
-255 255 255
-123 156 230
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/misc/evo_sparkle.pal b/graphics/misc/evo_sparkle.pal
deleted file mode 100644
index 7ccbffd1d..000000000
--- a/graphics/misc/evo_sparkle.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-49 82 82
-82 106 106
-106 131 131
-139 156 156
-164 180 180
-197 205 205
-222 230 230
-255 255 255
diff --git a/graphics/misc/field_move_streaks.pal b/graphics/misc/field_move_streaks.pal
deleted file mode 100644
index 12bc76261..000000000
--- a/graphics/misc/field_move_streaks.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/misc/hof.pal b/graphics/misc/hof.pal
deleted file mode 100644
index b4fffc172..000000000
--- a/graphics/misc/hof.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-0 0 0
-255 213 230
-255 32 32
-255 180 230
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-65 65 65
-255 255 255
diff --git a/graphics/misc/interview_frame.pal b/graphics/misc/interview_frame.pal
deleted file mode 100644
index 7d6c36d2b..000000000
--- a/graphics/misc/interview_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 189
-238 238 205
-213 197 148
-255 255 222
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/misc/mon_markings.pal b/graphics/misc/mon_markings.pal
deleted file mode 100644
index 8f31611f7..000000000
--- a/graphics/misc/mon_markings.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-172 172 172
-131 131 131
-156 156 156
-255 255 255
-205 205 205
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokedex/area_glow.pal b/graphics/pokedex/area_glow.pal
deleted file mode 100644
index 0b9ac5a6d..000000000
--- a/graphics/pokedex/area_glow.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 139 139
-255 115 115
-255 90 90
-255 65 65
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokedex/area_marker.pal b/graphics/pokedex/area_marker.pal
deleted file mode 100644
index d625c8ce2..000000000
--- a/graphics/pokedex/area_marker.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-213 180 0
-0 0 0
-255 0 0
-255 49 49
-255 98 98
-255 156 156
-255 205 205
-255 255 255
-255 255 49
-106 255 255
-172 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokedex/area_unknown.pal b/graphics/pokedex/area_unknown.pal
deleted file mode 100644
index 86aeef732..000000000
--- a/graphics/pokedex/area_unknown.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-246 148 0
-0 0 0
-222 213 222
-255 0 0
-255 255 115
-0 255 0
-0 255 255
-0 0 0
-0 0 0
-0 0 0
-255 255 255
-222 213 222
-98 82 106
-139 148 197
-41 49 49
-82 65 123
diff --git a/graphics/pokedex/arrows.pal b/graphics/pokedex/arrows.pal
deleted file mode 100644
index 256cee631..000000000
--- a/graphics/pokedex/arrows.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 255 0
-255 0 0
-230 0 0
-213 0 0
-197 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-197 197 197
-0 0 0
-255 255 255
diff --git a/graphics/pokedex/cry_meter.pal b/graphics/pokedex/cry_meter.pal
deleted file mode 100644
index 224f3d983..000000000
--- a/graphics/pokedex/cry_meter.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-222 0 0
-16 16 16
-49 49 49
-246 123 106
-82 82 82
-98 98 98
-115 115 115
-131 131 131
-148 148 148
-164 164 164
-180 180 180
-197 197 197
-213 213 213
-230 230 230
-255 255 255
diff --git a/graphics/pokedex/cry_meter_needle.pal b/graphics/pokedex/cry_meter_needle.pal
deleted file mode 100644
index 7336488ff..000000000
--- a/graphics/pokedex/cry_meter_needle.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-246 90 123
-246 139 164
-246 197 205
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokemon_storage/arrow.pal b/graphics/pokemon_storage/arrow.pal
deleted file mode 100644
index 527c10ba2..000000000
--- a/graphics/pokemon_storage/arrow.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 148 172
-238 131 123
-238 115 115
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokemon_storage/beach_bg.pal b/graphics/pokemon_storage/beach_bg.pal
deleted file mode 100644
index b7cb930c4..000000000
--- a/graphics/pokemon_storage/beach_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 255 222
-246 238 180
-238 230 148
-238 222 131
-222 205 115
-213 189 98
-205 164 90
-197 172 65
-255 98 197
-255 148 172
-49 213 205
-164 230 213
-0 0 0
-82 98 255
-49 65 156
diff --git a/graphics/pokemon_storage/beach_frame.pal b/graphics/pokemon_storage/beach_frame.pal
deleted file mode 100644
index 360d77bde..000000000
--- a/graphics/pokemon_storage/beach_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-156 106 57
-197 230 255
-197 246 255
-230 255 255
-98 164 98
-148 222 57
-189 164 90
-246 230 164
-255 246 180
-246 238 164
-98 213 213
-139 230 205
-255 255 255
-82 98 255
-49 65 156
diff --git a/graphics/pokemon_storage/cave_bg.pal b/graphics/pokemon_storage/cave_bg.pal
deleted file mode 100644
index 6b783cdd5..000000000
--- a/graphics/pokemon_storage/cave_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-246 213 131
-213 180 98
-180 148 65
-148 115 32
-115 82 0
-82 49 0
-49 16 0
-139 90 115
-156 106 131
-115 65 90
-0 0 0
-238 238 238
-255 255 255
-90 90 131
-49 49 90
diff --git a/graphics/pokemon_storage/cave_frame.pal b/graphics/pokemon_storage/cave_frame.pal
deleted file mode 100644
index f6e731395..000000000
--- a/graphics/pokemon_storage/cave_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-230 197 123
-213 180 98
-180 148 65
-148 115 32
-115 82 0
-0 0 0
-0 0 0
-139 90 115
-156 106 131
-115 65 90
-0 0 0
-230 230 230
-255 255 255
-90 90 131
-49 49 90
diff --git a/graphics/pokemon_storage/city_bg.pal b/graphics/pokemon_storage/city_bg.pal
deleted file mode 100644
index ba67b3414..000000000
--- a/graphics/pokemon_storage/city_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 255 246
-255 238 246
-230 213 222
-205 189 197
-164 148 156
-139 123 131
-0 0 0
-0 0 0
-180 164 172
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-156 123 82
-115 82 41
diff --git a/graphics/pokemon_storage/city_frame.pal b/graphics/pokemon_storage/city_frame.pal
deleted file mode 100644
index a5387638a..000000000
--- a/graphics/pokemon_storage/city_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-246 246 246
-90 131 197
-123 164 213
-156 197 230
-82 131 115
-115 164 148
-180 189 197
-148 156 164
-115 123 131
-82 90 98
-189 189 230
-222 246 246
-189 213 213
-156 123 82
-106 74 32
diff --git a/graphics/pokemon_storage/crag_bg.pal b/graphics/pokemon_storage/crag_bg.pal
deleted file mode 100644
index f72b27d13..000000000
--- a/graphics/pokemon_storage/crag_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-222 222 222
-189 189 189
-156 156 156
-123 123 123
-90 90 90
-57 57 57
-41 41 41
-222 189 205
-197 164 180
-172 139 156
-246 213 230
-238 238 238
-255 255 255
-213 189 82
-172 148 41
diff --git a/graphics/pokemon_storage/crag_frame.pal b/graphics/pokemon_storage/crag_frame.pal
deleted file mode 100644
index c4f85c644..000000000
--- a/graphics/pokemon_storage/crag_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-222 222 222
-189 189 189
-222 189 205
-197 164 180
-172 139 156
-246 213 230
-139 139 131
-189 189 189
-156 156 156
-123 123 123
-213 189 65
-230 230 230
-255 255 255
-213 189 82
-172 148 41
diff --git a/graphics/pokemon_storage/desert_bg.pal b/graphics/pokemon_storage/desert_bg.pal
deleted file mode 100644
index c5ca027d2..000000000
--- a/graphics/pokemon_storage/desert_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 238 189
-255 213 164
-230 189 139
-205 164 115
-180 139 90
-156 115 65
-131 90 41
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-164 139 82
-123 98 41
diff --git a/graphics/pokemon_storage/desert_frame.pal b/graphics/pokemon_storage/desert_frame.pal
deleted file mode 100644
index 4cf04f8ae..000000000
--- a/graphics/pokemon_storage/desert_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 255 139
-205 189 131
-230 197 98
-230 180 90
-172 164 172
-57 57 57
-172 172 172
-123 123 123
-57 57 57
-213 189 98
-246 205 74
-255 230 106
-255 255 255
-164 139 82
-123 98 41
diff --git a/graphics/pokemon_storage/forest_bg.pal b/graphics/pokemon_storage/forest_bg.pal
deleted file mode 100644
index 946becabb..000000000
--- a/graphics/pokemon_storage/forest_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-230 255 172
-205 255 148
-180 230 123
-156 205 98
-131 180 74
-106 156 49
-82 131 24
-0 0 0
-205 213 172
-172 180 139
-0 0 0
-0 0 0
-0 0 0
-164 139 82
-123 98 41
diff --git a/graphics/pokemon_storage/forest_frame.pal b/graphics/pokemon_storage/forest_frame.pal
deleted file mode 100644
index 1b4166087..000000000
--- a/graphics/pokemon_storage/forest_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-246 255 230
-255 255 213
-222 255 189
-197 246 164
-156 255 139
-123 222 106
-90 189 74
-172 123 41
-205 213 172
-172 180 139
-148 156 115
-123 131 90
-255 255 255
-164 139 82
-123 98 41
diff --git a/graphics/pokemon_storage/machine_bg.pal b/graphics/pokemon_storage/machine_bg.pal
deleted file mode 100644
index 4f75effd5..000000000
--- a/graphics/pokemon_storage/machine_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-230 222 131
-197 180 90
-213 197 98
-213 205 98
-255 0 0
-255 0 0
-255 0 0
-255 0 0
-230 230 123
-172 139 65
-148 106 41
-197 172 90
-246 246 172
-156 115 65
-106 82 49
diff --git a/graphics/pokemon_storage/machine_frame.pal b/graphics/pokemon_storage/machine_frame.pal
deleted file mode 100644
index aa74af16f..000000000
--- a/graphics/pokemon_storage/machine_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-246 246 189
-205 197 90
-230 230 123
-205 205 90
-238 238 148
-213 213 98
-238 238 123
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 255
-156 115 65
-106 82 49
diff --git a/graphics/pokemon_storage/plain_bg.pal b/graphics/pokemon_storage/plain_bg.pal
deleted file mode 100644
index 74e28306b..000000000
--- a/graphics/pokemon_storage/plain_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-246 246 246
-238 238 238
-230 230 230
-222 222 222
-255 255 255
-205 205 205
-180 180 180
-139 139 139
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-148 131 90
-106 90 57
diff --git a/graphics/pokemon_storage/plain_frame.pal b/graphics/pokemon_storage/plain_frame.pal
deleted file mode 100644
index b68d724cd..000000000
--- a/graphics/pokemon_storage/plain_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-238 238 238
-213 213 213
-189 189 189
-164 164 164
-139 139 139
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 255
-148 131 90
-106 90 57
diff --git a/graphics/pokemon_storage/pokecenter_bg.pal b/graphics/pokemon_storage/pokecenter_bg.pal
deleted file mode 100644
index b029c1741..000000000
--- a/graphics/pokemon_storage/pokecenter_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-238 246 246
-222 255 255
-197 246 238
-172 222 213
-148 197 189
-123 172 164
-98 148 139
-255 164 139
-255 164 139
-238 139 115
-246 246 246
-230 230 230
-164 197 205
-148 148 172
-82 82 90
diff --git a/graphics/pokemon_storage/pokecenter_frame.pal b/graphics/pokemon_storage/pokecenter_frame.pal
deleted file mode 100644
index 4a8074805..000000000
--- a/graphics/pokemon_storage/pokecenter_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 255 205
-255 255 255
-213 205 180
-213 180 180
-172 180 156
-0 0 0
-0 0 0
-255 238 139
-255 255 164
-230 172 131
-222 222 222
-213 213 205
-189 189 172
-148 148 172
-82 82 90
diff --git a/graphics/pokemon_storage/polkadot_bg.pal b/graphics/pokemon_storage/polkadot_bg.pal
deleted file mode 100644
index b7bf06f47..000000000
--- a/graphics/pokemon_storage/polkadot_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 255 197
-255 255 164
-255 230 131
-255 197 98
-230 164 65
-197 131 32
-164 98 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-156 74 57
-115 16 0
diff --git a/graphics/pokemon_storage/polkadot_frame.pal b/graphics/pokemon_storage/polkadot_frame.pal
deleted file mode 100644
index d90a6f0b2..000000000
--- a/graphics/pokemon_storage/polkadot_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 255 197
-255 255 164
-255 230 131
-255 197 98
-230 164 65
-197 131 32
-164 98 0
-255 205 164
-238 172 131
-222 139 98
-205 106 65
-189 74 32
-255 255 255
-156 74 57
-115 16 0
diff --git a/graphics/pokemon_storage/river_bg.pal b/graphics/pokemon_storage/river_bg.pal
deleted file mode 100644
index 09d45090a..000000000
--- a/graphics/pokemon_storage/river_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-230 255 156
-197 255 123
-164 230 90
-131 197 57
-98 164 24
-65 131 0
-32 98 0
-230 255 255
-139 230 230
-164 255 255
-197 255 255
-238 238 238
-255 255 255
-180 148 106
-139 106 65
diff --git a/graphics/pokemon_storage/river_frame.pal b/graphics/pokemon_storage/river_frame.pal
deleted file mode 100644
index 9fcc4cbca..000000000
--- a/graphics/pokemon_storage/river_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-238 255 255
-205 255 255
-164 255 255
-131 222 222
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-115 180 0
-148 213 24
-180 246 57
-230 230 230
-255 255 255
-180 148 106
-139 106 65
diff --git a/graphics/pokemon_storage/savanna_bg.pal b/graphics/pokemon_storage/savanna_bg.pal
deleted file mode 100644
index d80816c35..000000000
--- a/graphics/pokemon_storage/savanna_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 255 131
-222 222 98
-189 189 65
-156 156 32
-123 123 0
-90 90 0
-57 57 0
-189 189 65
-131 180 57
-115 164 41
-205 205 82
-238 238 238
-255 255 255
-189 156 82
-148 115 41
diff --git a/graphics/pokemon_storage/savanna_frame.pal b/graphics/pokemon_storage/savanna_frame.pal
deleted file mode 100644
index 1c1742cc2..000000000
--- a/graphics/pokemon_storage/savanna_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-222 222 222
-189 189 189
-238 255 255
-213 230 246
-189 205 222
-57 57 57
-222 222 98
-164 164 41
-115 164 41
-148 197 74
-189 189 65
-230 230 230
-255 255 255
-189 156 82
-148 115 41
diff --git a/graphics/pokemon_storage/scrolling_bg.pal b/graphics/pokemon_storage/scrolling_bg.pal
deleted file mode 100644
index 76e448d81..000000000
--- a/graphics/pokemon_storage/scrolling_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 222
-255 246 189
-255 246 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokemon_storage/seafloor_bg.pal b/graphics/pokemon_storage/seafloor_bg.pal
deleted file mode 100644
index 43b2eecab..000000000
--- a/graphics/pokemon_storage/seafloor_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-164 213 255
-131 180 255
-98 148 222
-65 115 189
-32 82 156
-0 49 123
-0 16 90
-139 90 115
-156 106 131
-115 65 90
-0 0 0
-238 238 238
-255 255 255
-148 180 41
-106 139 0
diff --git a/graphics/pokemon_storage/seafloor_frame.pal b/graphics/pokemon_storage/seafloor_frame.pal
deleted file mode 100644
index 79c7650b4..000000000
--- a/graphics/pokemon_storage/seafloor_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-131 180 255
-98 148 222
-65 115 189
-32 82 156
-0 24 98
-0 0 0
-0 0 0
-139 90 115
-156 106 131
-115 65 90
-0 0 0
-230 230 230
-255 255 255
-148 180 41
-106 139 0
diff --git a/graphics/pokemon_storage/sky_bg.pal b/graphics/pokemon_storage/sky_bg.pal
deleted file mode 100644
index 3d722ed6d..000000000
--- a/graphics/pokemon_storage/sky_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-238 255 255
-205 255 255
-164 255 255
-123 213 246
-90 180 213
-57 148 180
-24 115 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-238 238 238
-255 255 255
-205 139 41
-164 98 0
diff --git a/graphics/pokemon_storage/sky_frame.pal b/graphics/pokemon_storage/sky_frame.pal
deleted file mode 100644
index 951f59ecf..000000000
--- a/graphics/pokemon_storage/sky_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-238 255 255
-205 255 255
-164 255 255
-123 213 246
-90 180 213
-57 148 180
-24 115 148
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-230 230 230
-255 255 255
-205 139 41
-164 98 0
diff --git a/graphics/pokemon_storage/snow_bg.pal b/graphics/pokemon_storage/snow_bg.pal
deleted file mode 100644
index 01e46d027..000000000
--- a/graphics/pokemon_storage/snow_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-230 230 230
-205 205 205
-139 148 189
-106 115 156
-74 82 123
-41 49 90
-8 16 57
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-238 238 238
-255 255 255
-213 131 139
-172 90 98
diff --git a/graphics/pokemon_storage/snow_frame.pal b/graphics/pokemon_storage/snow_frame.pal
deleted file mode 100644
index 437ccb934..000000000
--- a/graphics/pokemon_storage/snow_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-230 230 230
-205 205 205
-139 148 189
-106 115 156
-74 82 123
-172 180 222
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-230 230 230
-255 255 255
-213 131 139
-172 90 98
diff --git a/graphics/pokemon_storage/volcano_bg.pal b/graphics/pokemon_storage/volcano_bg.pal
deleted file mode 100644
index 8ea563b6e..000000000
--- a/graphics/pokemon_storage/volcano_bg.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-255 246 230
-255 238 205
-255 205 172
-246 172 139
-213 139 106
-180 106 74
-148 74 41
-246 156 98
-222 131 74
-205 115 57
-180 82 24
-238 238 238
-255 255 255
-213 131 139
-172 90 98
diff --git a/graphics/pokemon_storage/volcano_frame.pal b/graphics/pokemon_storage/volcano_frame.pal
deleted file mode 100644
index 0378aff29..000000000
--- a/graphics/pokemon_storage/volcano_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-222 222 222
-189 189 189
-139 148 189
-106 115 156
-74 82 123
-172 180 222
-0 0 0
-222 131 74
-205 115 57
-180 82 24
-0 0 0
-230 230 230
-255 255 255
-213 131 139
-172 90 98
diff --git a/graphics/pokemon_storage/waveform.pal b/graphics/pokemon_storage/waveform.pal
deleted file mode 100644
index 4998f9a42..000000000
--- a/graphics/pokemon_storage/waveform.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-148 148 172
-82 82 90
-255 255 255
-205 255 255
-90 189 238
-90 164 205
-82 131 164
-82 106 123
-82 82 90
-0 0 0
-0 0 0
-0 0 0
-148 148 172
-115 115 123
-82 82 90
diff --git a/graphics/pokenav/arrows.pal b/graphics/pokenav/arrows.pal
deleted file mode 100644
index 5761a94e5..000000000
--- a/graphics/pokenav/arrows.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 123 0
-255 139 0
-49 65 74
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokenav/blue_light.pal b/graphics/pokenav/blue_light.pal
deleted file mode 100644
index 0ec325cbc..000000000
--- a/graphics/pokenav/blue_light.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 148 0
-205 205 213
-172 172 189
-8 180 255
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokenav/brendan_icon.pal b/graphics/pokenav/brendan_icon.pal
deleted file mode 100644
index 5aa5d68af..000000000
--- a/graphics/pokenav/brendan_icon.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-16 32 57
-41 57 98
-57 74 123
-123 65 65
-197 65 65
-255 98 90
-0 0 0
-189 156 90
-222 148 115
-255 197 90
-255 197 148
-255 213 180
-222 230 238
-255 255 255
-0 0 0
diff --git a/graphics/pokenav/condition_search2.pal b/graphics/pokenav/condition_search2.pal
deleted file mode 100644
index a5a556515..000000000
--- a/graphics/pokenav/condition_search2.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-65 65 65
-49 65 74
-106 115 123
-255 255 255
-90 123 164
-98 172 230
-197 222 255
-148 156 205
-156 164 205
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokenav/fly_target_icons.pal b/graphics/pokenav/fly_target_icons.pal
deleted file mode 100644
index c0f2cc4e9..000000000
--- a/graphics/pokenav/fly_target_icons.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 0 0
-0 0 0
-0 0 0
-205 205 205
-0 0 0
-0 0 0
-255 213 222
-255 164 197
-197 98 115
-131 131 123
-98 90 90
-49 49 65
-0 0 0
-0 0 0
-255 255 255
diff --git a/graphics/pokenav/icon.pal b/graphics/pokenav/icon.pal
deleted file mode 100644
index 6130754f4..000000000
--- a/graphics/pokenav/icon.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-172 98 41
-180 172 172
-255 197 115
-246 123 98
-98 98 246
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokenav/map_frame.pal b/graphics/pokenav/map_frame.pal
deleted file mode 100644
index d460cfe4e..000000000
--- a/graphics/pokenav/map_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-205 238 255
-197 213 255
-98 98 98
-205 205 205
-189 123 0
-0 0 0
-123 180 213
-0 115 172
-32 74 139
-255 172 16
-255 57 16
-172 90 41
-0 0 0
-0 0 0
-255 255 255
diff --git a/graphics/pokenav/map_squares.pal b/graphics/pokenav/map_squares.pal
deleted file mode 100644
index 7325e7fb8..000000000
--- a/graphics/pokenav/map_squares.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 0
-189 32 32
-255 0 0
-131 156 246
-0 0 255
-148 139 148
-255 255 255
-0 197 0
-205 131 82
-222 0 230
-156 255 255
-230 230 230
-148 49 49
-65 131 74
-0 0 0
diff --git a/graphics/pokenav/may_icon.pal b/graphics/pokenav/may_icon.pal
deleted file mode 100644
index 2f81b350e..000000000
--- a/graphics/pokenav/may_icon.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-74 49 57
-197 65 65
-255 98 90
-205 205 222
-255 255 255
-0 0 0
-123 90 82
-164 106 82
-222 164 148
-255 222 205
-205 131 115
-41 57 65
-98 98 115
-189 156 90
-255 197 90
diff --git a/graphics/pokenav/outline.pal b/graphics/pokenav/outline.pal
deleted file mode 100644
index 06aea7128..000000000
--- a/graphics/pokenav/outline.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-205 205 213
-172 172 189
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/pokenav/sparkle.pal b/graphics/pokenav/sparkle.pal
deleted file mode 100644
index 114155fe4..000000000
--- a/graphics/pokenav/sparkle.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-49 49 57
-148 148 164
-164 255 0
-189 255 0
-230 255 0
-255 255 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-197 205 255
diff --git a/graphics/roulette/azurill.pal b/graphics/roulette/azurill.pal
deleted file mode 100644
index 2d6c464e3..000000000
--- a/graphics/roulette/azurill.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-57 57 65
-139 139 131
-255 255 255
-106 156 255
-255 156 139
-57 57 65
-139 139 131
-255 255 255
-106 156 255
-255 156 139
-57 57 65
-139 139 131
-255 255 255
-106 156 255
-255 156 139
diff --git a/graphics/roulette/ball.pal b/graphics/roulette/ball.pal
deleted file mode 100644
index f72217a9b..000000000
--- a/graphics/roulette/ball.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-41 41 41
-123 123 131
-172 180 197
-255 255 255
-238 238 156
-189 180 106
-131 90 32
-255 131 90
-189 106 98
-230 222 255
-74 189 156
-255 255 255
-98 156 148
-255 255 255
-82 82 82
diff --git a/graphics/roulette/ball_counter.pal b/graphics/roulette/ball_counter.pal
deleted file mode 100644
index e76199ced..000000000
--- a/graphics/roulette/ball_counter.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-57 57 65
-98 98 115
-156 156 164
-255 255 255
-131 230 82
-255 156 164
-106 156 255
-255 255 255
-156 255 106
-246 230 74
-255 230 123
-24 90 16
-255 255 156
-156 255 148
-205 156 255
diff --git a/graphics/roulette/credit.pal b/graphics/roulette/credit.pal
deleted file mode 100644
index 4794c9622..000000000
--- a/graphics/roulette/credit.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-41 41 41
-98 98 115
-205 205 213
-255 255 255
-123 238 139
-255 172 139
-16 156 74
-197 164 255
-49 106 32
-115 197 131
-197 139 189
-255 82 57
-255 238 82
-205 180 8
-255 205 8
diff --git a/graphics/roulette/cursor.pal b/graphics/roulette/cursor.pal
deleted file mode 100644
index f5ff00341..000000000
--- a/graphics/roulette/cursor.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-41 41 41
-123 131 164
-205 205 213
-255 255 255
-123 189 238
-255 57 57
-16 156 74
-98 164 213
-255 255 255
-255 255 255
-255 255 255
-255 57 8
-255 238 82
-74 106 156
-205 156 255
diff --git a/graphics/roulette/makuhita.pal b/graphics/roulette/makuhita.pal
deleted file mode 100644
index 35a9a5307..000000000
--- a/graphics/roulette/makuhita.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-57 57 65
-139 139 131
-255 255 255
-255 230 123
-246 98 90
-57 57 65
-139 139 131
-255 255 255
-255 230 123
-246 98 90
-57 57 65
-139 139 131
-255 255 255
-255 230 123
-246 98 90
diff --git a/graphics/roulette/poke_icons.pal b/graphics/roulette/poke_icons.pal
deleted file mode 100644
index f2d21a7e5..000000000
--- a/graphics/roulette/poke_icons.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-57 57 65
-139 139 131
-255 255 255
-255 255 255
-106 222 222
-246 98 90
-106 156 255
-255 255 255
-255 156 139
-246 246 156
-255 230 123
-255 255 255
-255 255 156
-156 255 148
-205 156 255
diff --git a/graphics/roulette/shadow.pal b/graphics/roulette/shadow.pal
deleted file mode 100644
index 2ac26b064..000000000
--- a/graphics/roulette/shadow.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 98 189
-0 0 0
-65 65 65
-82 82 82
-98 98 98
-115 115 115
-131 131 131
-148 148 148
-164 164 164
-180 180 180
-205 205 205
-255 0 0
-255 255 255
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/roulette/shroomish.pal b/graphics/roulette/shroomish.pal
deleted file mode 100644
index 3a1fbff02..000000000
--- a/graphics/roulette/shroomish.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-65 65 65
-222 172 106
-246 222 164
-123 172 106
-172 222 148
-156 98 74
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/roulette/skitty.pal b/graphics/roulette/skitty.pal
deleted file mode 100644
index cdfca277d..000000000
--- a/graphics/roulette/skitty.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-57 57 65
-139 139 131
-255 255 255
-255 156 139
-246 246 156
-57 57 65
-139 139 131
-255 255 255
-255 156 139
-246 246 156
-57 57 65
-139 139 131
-255 255 255
-255 156 139
-246 246 156
diff --git a/graphics/roulette/tailow.pal b/graphics/roulette/tailow.pal
deleted file mode 100644
index 00b5a7054..000000000
--- a/graphics/roulette/tailow.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-65 65 65
-57 57 139
-90 98 197
-189 205 246
-255 230 90
-255 82 65
-172 57 65
-255 255 255
-65 65 65
-156 123 82
-205 189 106
-164 82 65
-98 74 57
-213 213 213
-255 255 255
diff --git a/graphics/roulette/wynaut.pal b/graphics/roulette/wynaut.pal
deleted file mode 100644
index 5eef080f8..000000000
--- a/graphics/roulette/wynaut.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-57 57 65
-139 139 131
-255 255 255
-106 222 222
-246 98 90
-57 57 65
-139 139 131
-255 255 255
-106 222 222
-246 98 90
-57 57 65
-139 139 131
-255 255 255
-106 222 222
-246 98 90
diff --git a/graphics/text_window/1.pal b/graphics/text_window/1.pal
deleted file mode 100644
index 08c365c84..000000000
--- a/graphics/text_window/1.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-98 197 98
-41 49 49
-74 74 106
-115 106 131
-98 98 148
-115 115 172
-139 139 205
-172 189 172
-222 213 222
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 255
-74 65 82
diff --git a/graphics/text_window/10.pal b/graphics/text_window/10.pal
deleted file mode 100644
index 7ba0c53b6..000000000
--- a/graphics/text_window/10.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-255 180 131
-255 49 0
-255 131 82
-205 115 0
-164 123 49
-131 98 24
-172 139 65
-255 164 8
-189 180 123
-222 213 156
-180 189 180
-222 213 222
-255 255 255
-74 65 82
diff --git a/graphics/text_window/11.pal b/graphics/text_window/11.pal
deleted file mode 100644
index 449263e0f..000000000
--- a/graphics/text_window/11.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-106 115 115
-32 57 205
-82 131 230
-131 156 222
-164 180 230
-189 205 238
-222 230 246
-0 0 0
-180 106 189
-213 148 238
-222 180 238
-238 213 246
-255 255 255
-74 65 82
diff --git a/graphics/text_window/12.pal b/graphics/text_window/12.pal
deleted file mode 100644
index efb2c1ec3..000000000
--- a/graphics/text_window/12.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-74 74 106
-148 90 164
-115 131 65
-156 189 32
-205 246 0
-238 213 74
-255 230 148
-255 148 57
-98 115 123
-123 156 139
-156 205 156
-205 49 57
-255 255 255
-74 65 82
diff --git a/graphics/text_window/13.pal b/graphics/text_window/13.pal
deleted file mode 100644
index 59540758f..000000000
--- a/graphics/text_window/13.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-180 189 180
-222 213 222
-255 0 255
-255 0 255
-123 115 90
-205 172 115
-238 205 139
-32 74 172
-90 205 213
-74 115 197
-255 0 255
-255 0 255
-255 255 255
-74 65 82
diff --git a/graphics/text_window/14.pal b/graphics/text_window/14.pal
deleted file mode 100644
index 492f7de72..000000000
--- a/graphics/text_window/14.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-106 74 16
-180 189 180
-222 213 222
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-156 123 57
-205 172 106
-230 180 115
-230 189 115
-238 205 131
-255 230 164
-255 255 255
-74 65 82
diff --git a/graphics/text_window/15.pal b/graphics/text_window/15.pal
deleted file mode 100644
index 8c1141e05..000000000
--- a/graphics/text_window/15.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-172 123 156
-106 90 115
-82 98 156
-189 156 213
-205 180 222
-222 205 230
-238 230 238
-197 197 197
-197 197 197
-197 197 197
-197 197 197
-197 197 197
-255 255 255
-74 65 82
diff --git a/graphics/text_window/16.pal b/graphics/text_window/16.pal
deleted file mode 100644
index 8b827a70f..000000000
--- a/graphics/text_window/16.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-49 57 197
-32 41 115
-246 246 49
-123 123 49
-255 74 65
-156 41 32
-180 189 180
-222 213 222
-255 255 255
-74 65 82
diff --git a/graphics/text_window/17.pal b/graphics/text_window/17.pal
deleted file mode 100644
index 627af66d5..000000000
--- a/graphics/text_window/17.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-106 115 115
-180 180 180
-82 98 156
-197 180 172
-205 197 189
-222 213 213
-238 230 230
-197 197 197
-197 197 197
-197 197 197
-197 197 197
-197 197 197
-255 255 246
-74 65 82
diff --git a/graphics/text_window/18.pal b/graphics/text_window/18.pal
deleted file mode 100644
index e523123c7..000000000
--- a/graphics/text_window/18.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 164
-189 148 8
-255 189 0
-255 230 0
-255 255 148
-180 189 180
-222 213 222
-255 255 255
-74 65 82
diff --git a/graphics/text_window/19.pal b/graphics/text_window/19.pal
deleted file mode 100644
index 4615c7881..000000000
--- a/graphics/text_window/19.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-180 189 180
-222 213 222
-98 131 57
-255 123 82
-222 98 49
-164 49 16
-238 255 164
-238 213 131
-255 0 255
-197 255 123
-164 213 82
-131 189 65
-255 255 255
-74 65 82
diff --git a/graphics/text_window/2.pal b/graphics/text_window/2.pal
deleted file mode 100644
index ac32c4606..000000000
--- a/graphics/text_window/2.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 255
-74 65 82
diff --git a/graphics/text_window/20.pal b/graphics/text_window/20.pal
deleted file mode 100644
index a7f9e1fbd..000000000
--- a/graphics/text_window/20.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-0 0 0
-0 0 0
-0 0 0
-255 213 255
-255 180 222
-131 82 24
-255 131 131
-238 65 65
-156 213 156
-106 164 106
-49 106 49
-180 189 180
-222 213 222
-255 255 255
-74 65 82
diff --git a/graphics/text_window/3.pal b/graphics/text_window/3.pal
deleted file mode 100644
index 3c5120d11..000000000
--- a/graphics/text_window/3.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-98 156 246
-255 123 115
-222 74 65
-106 49 41
-180 189 180
-222 213 222
-255 255 255
-74 65 82
diff --git a/graphics/text_window/4.pal b/graphics/text_window/4.pal
deleted file mode 100644
index c8e024332..000000000
--- a/graphics/text_window/4.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-57 74 74
-106 123 123
-156 172 172
-205 222 222
-180 189 180
-222 213 222
-255 255 255
-74 65 82
diff --git a/graphics/text_window/5.pal b/graphics/text_window/5.pal
deleted file mode 100644
index 5d81802e2..000000000
--- a/graphics/text_window/5.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-222 213 222
-0 222 255
-123 57 0
-230 123 0
-255 255 41
-0 106 0
-0 172 0
-115 255 41
-139 0 0
-205 49 0
-255 189 0
-0 0 180
-0 106 213
-255 255 255
-74 65 82
diff --git a/graphics/text_window/6.pal b/graphics/text_window/6.pal
deleted file mode 100644
index 3bb5b2006..000000000
--- a/graphics/text_window/6.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-172 180 238
-82 115 115
-148 189 156
-0 41 0
-90 115 106
-115 148 131
-98 74 41
-189 205 197
-115 90 57
-65 74 65
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 255
-74 65 82
diff --git a/graphics/text_window/7.pal b/graphics/text_window/7.pal
deleted file mode 100644
index 142d57bc8..000000000
--- a/graphics/text_window/7.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-139 49 49
-172 57 57
-205 65 65
-230 74 74
-255 82 82
-189 106 106
-255 131 131
-164 156 156
-213 197 197
-238 230 230
-222 213 213
-0 0 0
-0 0 0
-255 255 255
-74 65 82
diff --git a/graphics/text_window/8.pal b/graphics/text_window/8.pal
deleted file mode 100644
index 4d80d0f89..000000000
--- a/graphics/text_window/8.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-0 0 0
-0 0 0
-82 189 0
-139 246 41
-156 115 41
-131 98 24
-172 139 65
-246 98 131
-255 156 180
-255 246 0
-180 189 180
-222 213 222
-255 255 255
-74 65 82
diff --git a/graphics/text_window/9.pal b/graphics/text_window/9.pal
deleted file mode 100644
index b0e3b49e6..000000000
--- a/graphics/text_window/9.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 148 98
-41 49 49
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-230 246 255
-90 131 189
-115 156 213
-156 197 255
-197 238 255
-180 189 180
-222 213 222
-255 255 255
-74 65 82
diff --git a/graphics/title_screen/logo_shine.pal b/graphics/title_screen/logo_shine.pal
deleted file mode 100644
index 561ab8f8f..000000000
--- a/graphics/title_screen/logo_shine.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 156 98
-0 0 0
-148 156 164
-180 189 189
-222 222 238
-255 255 255
-255 0 0
-255 0 0
-255 0 0
-255 0 0
-255 0 0
-255 0 0
-255 0 0
-255 0 0
-255 0 0
-255 0 0
diff --git a/graphics/trade/ball.pal b/graphics/trade/ball.pal
deleted file mode 100644
index 0e6b2fb5c..000000000
--- a/graphics/trade/ball.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-131 0 0
-172 0 0
-213 41 41
-255 156 123
-255 255 255
-148 148 148
-65 65 65
-24 24 24
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/trade/cable_end.pal b/graphics/trade/cable_end.pal
deleted file mode 100644
index 64a442293..000000000
--- a/graphics/trade/cable_end.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 230 238
-189 205 230
-156 180 222
-131 131 139
-98 98 123
-65 74 106
-41 49 90
-230 230 230
-205 205 205
-180 180 180
-156 156 156
-213 180 106
-205 156 82
-49 255 106
diff --git a/graphics/trade/gba.pal b/graphics/trade/gba.pal
deleted file mode 100644
index 64a442293..000000000
--- a/graphics/trade/gba.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 230 238
-189 205 230
-156 180 222
-131 131 139
-98 98 123
-65 74 106
-41 49 90
-230 230 230
-205 205 205
-180 180 180
-156 156 156
-213 180 106
-205 156 82
-49 255 106
diff --git a/graphics/trade/selected_mon.pal b/graphics/trade/selected_mon.pal
deleted file mode 100644
index bb74b34a2..000000000
--- a/graphics/trade/selected_mon.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-123 131 222
-98 98 180
-123 106 222
-106 172 238
-82 148 205
-180 189 230
-148 156 189
-205 106 0
-255 189 49
-246 148 0
-255 213 115
-205 74 90
-255 98 32
-205 205 222
-255 98 32
diff --git a/graphics/trade/shadow.pal b/graphics/trade/shadow.pal
deleted file mode 100644
index a4bec6478..000000000
--- a/graphics/trade/shadow.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 255 255
-222 230 238
-189 205 230
-156 180 222
-0 16 172
-32 32 106
-16 16 90
-0 0 74
-255 255 189
-230 230 164
-205 205 148
-189 180 115
-139 139 90
-74 74 57
-32 32 32
diff --git a/graphics/trainer_card/badges.pal b/graphics/trainer_card/badges.pal
deleted file mode 100644
index dd9246d9d..000000000
--- a/graphics/trainer_card/badges.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-139 98 115
-255 255 255
-213 213 213
-180 180 180
-123 123 123
-255 139 57
-222 57 8
-106 189 255
-65 139 197
-255 213 98
-238 180 57
-197 123 197
-148 74 156
-106 189 255
-205 205 205
-0 0 0
diff --git a/graphics/trainers/aqua_admin_f/front.png b/graphics/trainers/aqua_admin_f.png
index 3428944b6..3428944b6 100644
--- a/graphics/trainers/aqua_admin_f/front.png
+++ b/graphics/trainers/aqua_admin_f.png
Binary files differ
diff --git a/graphics/trainers/aqua_admin_f/palette.pal b/graphics/trainers/aqua_admin_f/palette.pal
deleted file mode 100644
index 4bad68770..000000000
--- a/graphics/trainers/aqua_admin_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-255 131 41
-189 156 90
-238 98 41
-180 65 41
-255 255 255
-0 0 0
diff --git a/graphics/trainers/aqua_admin_m/front.png b/graphics/trainers/aqua_admin_m.png
index 91a434ec8..91a434ec8 100644
--- a/graphics/trainers/aqua_admin_m/front.png
+++ b/graphics/trainers/aqua_admin_m.png
Binary files differ
diff --git a/graphics/trainers/aqua_admin_m/palette.pal b/graphics/trainers/aqua_admin_m/palette.pal
deleted file mode 100644
index 2a7a46d46..000000000
--- a/graphics/trainers/aqua_admin_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-255 131 41
-189 156 90
-222 82 24
-164 49 24
-255 255 255
-0 0 0
diff --git a/graphics/trainers/aqua_grunt_f/front.png b/graphics/trainers/aqua_grunt_f.png
index 5455700db..5455700db 100644
--- a/graphics/trainers/aqua_grunt_f/front.png
+++ b/graphics/trainers/aqua_grunt_f.png
Binary files differ
diff --git a/graphics/trainers/aqua_grunt_f/palette.pal b/graphics/trainers/aqua_grunt_f/palette.pal
deleted file mode 100644
index 4563eba48..000000000
--- a/graphics/trainers/aqua_grunt_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-164 74 65
-189 156 90
-255 106 98
-205 82 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/aqua_grunt_m/front.png b/graphics/trainers/aqua_grunt_m.png
index 77ead55fd..77ead55fd 100644
--- a/graphics/trainers/aqua_grunt_m/front.png
+++ b/graphics/trainers/aqua_grunt_m.png
Binary files differ
diff --git a/graphics/trainers/aqua_grunt_m/palette.pal b/graphics/trainers/aqua_grunt_m/palette.pal
deleted file mode 100644
index c2b28ead9..000000000
--- a/graphics/trainers/aqua_grunt_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-255 164 197
-189 156 90
-255 115 148
-213 82 115
-255 255 255
-0 0 0
diff --git a/graphics/trainers/archie/front.png b/graphics/trainers/archie.png
index e7593b0f0..e7593b0f0 100644
--- a/graphics/trainers/archie/front.png
+++ b/graphics/trainers/archie.png
Binary files differ
diff --git a/graphics/trainers/archie/palette.pal b/graphics/trainers/archie/palette.pal
deleted file mode 100644
index a778ea6bb..000000000
--- a/graphics/trainers/archie/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-131 156 180
-106 123 148
-82 90 115
-57 65 98
-213 213 222
-82 90 156
-24 32 49
-148 156 222
-106 115 213
-255 255 255
-0 0 0
diff --git a/graphics/trainers/aroma_lady/front.png b/graphics/trainers/aroma_lady.png
index 9f6eb814c..9f6eb814c 100644
--- a/graphics/trainers/aroma_lady/front.png
+++ b/graphics/trainers/aroma_lady.png
Binary files differ
diff --git a/graphics/trainers/aroma_lady/palette.pal b/graphics/trainers/aroma_lady/palette.pal
deleted file mode 100644
index eb9f3dfd4..000000000
--- a/graphics/trainers/aroma_lady/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 213 172
-238 197 148
-205 156 115
-115 82 65
-238 230 255
-205 197 213
-156 164 205
-106 98 148
-74 222 148
-172 115 41
-115 65 24
-238 90 131
-189 65 90
-106 255 156
-0 0 0
diff --git a/graphics/trainers/battle_girl/front.png b/graphics/trainers/battle_girl.png
index fbce1299e..fbce1299e 100644
--- a/graphics/trainers/battle_girl/front.png
+++ b/graphics/trainers/battle_girl.png
Binary files differ
diff --git a/graphics/trainers/battle_girl/palette.pal b/graphics/trainers/battle_girl/palette.pal
deleted file mode 100644
index 7f172b169..000000000
--- a/graphics/trainers/battle_girl/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-90 131 189
-65 90 139
-41 65 98
-49 41 65
-205 213 222
-255 164 82
-230 106 0
-197 65 65
-156 106 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/beauty/front.png b/graphics/trainers/beauty.png
index aea688176..aea688176 100644
--- a/graphics/trainers/beauty/front.png
+++ b/graphics/trainers/beauty.png
Binary files differ
diff --git a/graphics/trainers/beauty/palette.pal b/graphics/trainers/beauty/palette.pal
deleted file mode 100644
index ab549df20..000000000
--- a/graphics/trainers/beauty/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-230 172 131
-205 131 115
-123 82 74
-148 131 139
-255 205 106
-213 172 74
-164 123 82
-115 90 115
-74 49 74
-255 82 57
-180 82 74
-131 74 65
-255 255 255
-0 0 24
diff --git a/graphics/trainers/bird_keeper/front.png b/graphics/trainers/bird_keeper.png
index 7ad67c5d7..7ad67c5d7 100644
--- a/graphics/trainers/bird_keeper/front.png
+++ b/graphics/trainers/bird_keeper.png
Binary files differ
diff --git a/graphics/trainers/bird_keeper/palette.pal b/graphics/trainers/bird_keeper/palette.pal
deleted file mode 100644
index 87194c84a..000000000
--- a/graphics/trainers/bird_keeper/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-164 180 197
-131 139 156
-90 98 115
-57 65 82
-213 213 222
-131 16 41
-24 32 49
-213 82 90
-180 41 57
-255 255 255
-0 0 0
diff --git a/graphics/trainers/black_belt/front.png b/graphics/trainers/black_belt.png
index fd3b51c66..fd3b51c66 100644
--- a/graphics/trainers/black_belt/front.png
+++ b/graphics/trainers/black_belt.png
Binary files differ
diff --git a/graphics/trainers/black_belt/palette.pal b/graphics/trainers/black_belt/palette.pal
deleted file mode 100644
index 869e5d8df..000000000
--- a/graphics/trainers/black_belt/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-246 205 189
-222 172 148
-172 131 106
-90 65 49
-148 131 123
-106 90 82
-82 90 115
-49 57 82
-205 189 189
-189 164 164
-156 139 139
-255 98 90
-197 65 65
-246 230 230
-0 0 0
diff --git a/graphics/trainers/brawly/front.png b/graphics/trainers/brawly.png
index a8d05b25d..a8d05b25d 100644
--- a/graphics/trainers/brawly/front.png
+++ b/graphics/trainers/brawly.png
Binary files differ
diff --git a/graphics/trainers/brawly/palette.pal b/graphics/trainers/brawly/palette.pal
deleted file mode 100644
index 5a5a482f2..000000000
--- a/graphics/trainers/brawly/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-49 49 74
-213 213 222
-255 164 197
-115 115 115
-255 139 65
-213 98 24
-255 255 255
-0 0 0
diff --git a/graphics/trainers/brendan/front.png b/graphics/trainers/brendan.png
index c1110bf28..c1110bf28 100644
--- a/graphics/trainers/brendan/front.png
+++ b/graphics/trainers/brendan.png
Binary files differ
diff --git a/graphics/trainers/brendan/palette.pal b/graphics/trainers/brendan/palette.pal
deleted file mode 100644
index b5d3791c3..000000000
--- a/graphics/trainers/brendan/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-222 164 148
-205 131 115
-123 90 82
-98 123 156
-74 90 131
-49 65 106
-24 41 82
-222 230 238
-255 197 90
-189 156 90
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/brendan/back.png b/graphics/trainers/brendan_back.png
index 51b360637..51b360637 100644
--- a/graphics/trainers/brendan/back.png
+++ b/graphics/trainers/brendan_back.png
Binary files differ
diff --git a/graphics/trainers/bug_catcher/front.png b/graphics/trainers/bug_catcher.png
index 8fe86d40e..8fe86d40e 100644
--- a/graphics/trainers/bug_catcher/front.png
+++ b/graphics/trainers/bug_catcher.png
Binary files differ
diff --git a/graphics/trainers/bug_catcher/palette.pal b/graphics/trainers/bug_catcher/palette.pal
deleted file mode 100644
index c68f56690..000000000
--- a/graphics/trainers/bug_catcher/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-230 180 148
-213 148 115
-123 90 82
-222 222 164
-197 197 139
-156 139 74
-41 57 98
-197 197 238
-246 238 213
-189 49 57
-98 164 222
-49 123 156
-255 255 255
-0 0 0
diff --git a/graphics/trainers/bug_maniac/front.png b/graphics/trainers/bug_maniac.png
index 239bba039..239bba039 100644
--- a/graphics/trainers/bug_maniac/front.png
+++ b/graphics/trainers/bug_maniac.png
Binary files differ
diff --git a/graphics/trainers/bug_maniac/palette.pal b/graphics/trainers/bug_maniac/palette.pal
deleted file mode 100644
index 2aa329179..000000000
--- a/graphics/trainers/bug_maniac/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-49 123 156
-49 65 131
-65 74 74
-222 222 164
-197 197 139
-205 213 213
-156 139 74
-98 164 222
-106 115 115
-255 255 255
-0 0 0
diff --git a/graphics/trainers/camper/front.png b/graphics/trainers/camper.png
index 24d173dee..24d173dee 100644
--- a/graphics/trainers/camper/front.png
+++ b/graphics/trainers/camper.png
Binary files differ
diff --git a/graphics/trainers/camper/palette.pal b/graphics/trainers/camper/palette.pal
deleted file mode 100644
index e5c224fd2..000000000
--- a/graphics/trainers/camper/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-230 189 156
-205 156 115
-115 82 65
-131 213 205
-82 164 148
-180 189 222
-57 90 74
-24 49 90
-98 115 230
-57 82 131
-255 98 41
-189 74 41
-255 255 255
-0 0 0
diff --git a/graphics/trainers/collector/front.png b/graphics/trainers/collector.png
index 15187ce1c..15187ce1c 100644
--- a/graphics/trainers/collector/front.png
+++ b/graphics/trainers/collector.png
Binary files differ
diff --git a/graphics/trainers/collector/palette.pal b/graphics/trainers/collector/palette.pal
deleted file mode 100644
index d4d9221e2..000000000
--- a/graphics/trainers/collector/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-230 180 148
-197 139 115
-123 90 82
-106 139 189
-65 98 148
-32 74 123
-255 98 90
-197 65 65
-213 222 230
-131 74 65
-115 123 131
-164 172 180
-255 255 255
-0 0 0
diff --git a/graphics/trainers/cool_trainer_f/front.png b/graphics/trainers/cool_trainer_f.png
index 572aa811a..572aa811a 100644
--- a/graphics/trainers/cool_trainer_f/front.png
+++ b/graphics/trainers/cool_trainer_f.png
Binary files differ
diff --git a/graphics/trainers/cool_trainer_f/palette.pal b/graphics/trainers/cool_trainer_f/palette.pal
deleted file mode 100644
index 292d0fc78..000000000
--- a/graphics/trainers/cool_trainer_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-238 197 156
-205 156 115
-115 82 65
-238 156 115
-205 90 74
-0 189 222
-123 41 24
-180 230 139
-139 180 57
-74 90 32
-255 246 189
-213 205 131
-255 255 255
-0 0 0
diff --git a/graphics/trainers/cool_trainer_m/front.png b/graphics/trainers/cool_trainer_m.png
index 6b998992e..6b998992e 100644
--- a/graphics/trainers/cool_trainer_m/front.png
+++ b/graphics/trainers/cool_trainer_m.png
Binary files differ
diff --git a/graphics/trainers/cool_trainer_m/palette.pal b/graphics/trainers/cool_trainer_m/palette.pal
deleted file mode 100644
index 52a32e925..000000000
--- a/graphics/trainers/cool_trainer_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-246 205 156
-205 156 115
-115 82 65
-238 156 115
-230 98 82
-180 90 74
-131 49 32
-57 90 41
-164 180 106
-98 123 57
-255 246 189
-213 205 131
-255 255 255
-0 0 0
diff --git a/graphics/trainers/cycling_triathlete_f/front.png b/graphics/trainers/cycling_triathlete_f.png
index b5c2662b3..b5c2662b3 100644
--- a/graphics/trainers/cycling_triathlete_f/front.png
+++ b/graphics/trainers/cycling_triathlete_f.png
Binary files differ
diff --git a/graphics/trainers/cycling_triathlete_f/palette.pal b/graphics/trainers/cycling_triathlete_f/palette.pal
deleted file mode 100644
index b72bb3011..000000000
--- a/graphics/trainers/cycling_triathlete_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-57 41 57
-57 74 106
-131 131 156
-139 156 238
-115 131 205
-98 106 172
-205 197 255
-230 90 65
-189 74 41
-139 74 82
-255 255 255
-0 0 24
diff --git a/graphics/trainers/cycling_triathlete_m/front.png b/graphics/trainers/cycling_triathlete_m.png
index b2f55f0fc..b2f55f0fc 100644
--- a/graphics/trainers/cycling_triathlete_m/front.png
+++ b/graphics/trainers/cycling_triathlete_m.png
Binary files differ
diff --git a/graphics/trainers/cycling_triathlete_m/palette.pal b/graphics/trainers/cycling_triathlete_m/palette.pal
deleted file mode 100644
index 9255a4a94..000000000
--- a/graphics/trainers/cycling_triathlete_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-238 189 139
-189 148 115
-139 106 82
-57 41 57
-115 90 106
-156 131 156
-156 213 255
-106 164 222
-82 131 197
-205 197 255
-230 90 65
-189 74 41
-139 74 82
-255 255 255
-0 0 24
diff --git a/graphics/trainers/dragon_tamer/front.png b/graphics/trainers/dragon_tamer.png
index 285f2207c..285f2207c 100644
--- a/graphics/trainers/dragon_tamer/front.png
+++ b/graphics/trainers/dragon_tamer.png
Binary files differ
diff --git a/graphics/trainers/dragon_tamer/palette.pal b/graphics/trainers/dragon_tamer/palette.pal
deleted file mode 100644
index 545c55b74..000000000
--- a/graphics/trainers/dragon_tamer/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-74 57 49
-164 57 246
-123 49 172
-131 139 148
-255 98 90
-197 65 65
-213 222 230
-74 74 65
-255 205 106
-213 172 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/drake/front.png b/graphics/trainers/drake.png
index b27716719..b27716719 100644
--- a/graphics/trainers/drake/front.png
+++ b/graphics/trainers/drake.png
Binary files differ
diff --git a/graphics/trainers/drake/palette.pal b/graphics/trainers/drake/palette.pal
deleted file mode 100644
index 6ab0bae73..000000000
--- a/graphics/trainers/drake/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-222 172 148
-164 131 106
-98 57 65
-139 131 164
-106 98 123
-41 49 57
-57 65 82
-197 197 213
-255 222 106
-189 156 90
-106 131 238
-65 106 172
-255 255 255
-0 0 0
diff --git a/graphics/trainers/expert_f/front.png b/graphics/trainers/expert_f.png
index 5f69c2de6..5f69c2de6 100644
--- a/graphics/trainers/expert_f/front.png
+++ b/graphics/trainers/expert_f.png
Binary files differ
diff --git a/graphics/trainers/expert_f/palette.pal b/graphics/trainers/expert_f/palette.pal
deleted file mode 100644
index 2fa5f5202..000000000
--- a/graphics/trainers/expert_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-180 180 172
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-139 139 131
-189 156 90
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/expert_m/front.png b/graphics/trainers/expert_m.png
index 1c53bf71f..1c53bf71f 100644
--- a/graphics/trainers/expert_m/front.png
+++ b/graphics/trainers/expert_m.png
Binary files differ
diff --git a/graphics/trainers/expert_m/palette.pal b/graphics/trainers/expert_m/palette.pal
deleted file mode 100644
index 2fa5f5202..000000000
--- a/graphics/trainers/expert_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-180 180 172
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-139 139 131
-189 156 90
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/fisherman/front.png b/graphics/trainers/fisherman.png
index 8e90ccb17..8e90ccb17 100644
--- a/graphics/trainers/fisherman/front.png
+++ b/graphics/trainers/fisherman.png
Binary files differ
diff --git a/graphics/trainers/fisherman/palette.pal b/graphics/trainers/fisherman/palette.pal
deleted file mode 100644
index 3c18e8f1f..000000000
--- a/graphics/trainers/fisherman/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 213 189
-222 172 148
-180 131 115
-82 57 57
-123 98 106
-82 82 123
-213 172 82
-180 139 82
-205 205 222
-123 82 49
-49 49 74
-246 123 49
-189 106 49
-238 238 255
-0 0 24
diff --git a/graphics/trainers/flannery/front.png b/graphics/trainers/flannery.png
index 942dc5b6b..942dc5b6b 100644
--- a/graphics/trainers/flannery/front.png
+++ b/graphics/trainers/flannery.png
Binary files differ
diff --git a/graphics/trainers/flannery/palette.pal b/graphics/trainers/flannery/palette.pal
deleted file mode 100644
index 20f2f8579..000000000
--- a/graphics/trainers/flannery/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-180 197 230
-90 156 213
-65 115 164
-49 49 74
-213 213 222
-131 74 16
-115 115 115
-255 139 65
-197 98 32
-255 255 255
-0 0 0
diff --git a/graphics/trainers/gentleman/front.png b/graphics/trainers/gentleman.png
index 85e4b024b..85e4b024b 100644
--- a/graphics/trainers/gentleman/front.png
+++ b/graphics/trainers/gentleman.png
Binary files differ
diff --git a/graphics/trainers/gentleman/palette.pal b/graphics/trainers/gentleman/palette.pal
deleted file mode 100644
index ef021d026..000000000
--- a/graphics/trainers/gentleman/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-180 148 115
-148 115 82
-123 90 57
-65 49 41
-255 238 156
-213 213 205
-180 180 172
-90 106 172
-57 74 123
-255 255 255
-0 0 0
diff --git a/graphics/trainers/glacia/front.png b/graphics/trainers/glacia.png
index 7f135ff4b..7f135ff4b 100644
--- a/graphics/trainers/glacia/front.png
+++ b/graphics/trainers/glacia.png
Binary files differ
diff --git a/graphics/trainers/glacia/palette.pal b/graphics/trainers/glacia/palette.pal
deleted file mode 100644
index 75b5eb108..000000000
--- a/graphics/trainers/glacia/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-115 82 65
-148 148 164
-148 90 164
-115 65 123
-82 41 82
-255 255 164
-213 197 90
-156 148 90
-222 230 238
-189 197 205
-255 255 255
-0 0 0
diff --git a/graphics/trainers/guitarist/front.png b/graphics/trainers/guitarist.png
index 477f76bdc..477f76bdc 100644
--- a/graphics/trainers/guitarist/front.png
+++ b/graphics/trainers/guitarist.png
Binary files differ
diff --git a/graphics/trainers/guitarist/palette.pal b/graphics/trainers/guitarist/palette.pal
deleted file mode 100644
index 74e59e819..000000000
--- a/graphics/trainers/guitarist/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-172 172 164
-139 131 131
-106 98 98
-65 57 57
-255 238 156
-255 197 90
-205 180 148
-255 98 90
-189 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/hex_maniac/front.png b/graphics/trainers/hex_maniac.png
index 8d66b4794..8d66b4794 100644
--- a/graphics/trainers/hex_maniac/front.png
+++ b/graphics/trainers/hex_maniac.png
Binary files differ
diff --git a/graphics/trainers/hex_maniac/palette.pal b/graphics/trainers/hex_maniac/palette.pal
deleted file mode 100644
index 549d7fac9..000000000
--- a/graphics/trainers/hex_maniac/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-164 123 156
-139 90 131
-106 65 106
-74 41 74
-213 222 230
-189 205 213
-205 57 82
-115 41 65
-180 49 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/hiker/front.png b/graphics/trainers/hiker.png
index 6112a5f1e..6112a5f1e 100644
--- a/graphics/trainers/hiker/front.png
+++ b/graphics/trainers/hiker.png
Binary files differ
diff --git a/graphics/trainers/hiker/palette.pal b/graphics/trainers/hiker/palette.pal
deleted file mode 100644
index cb8fce7f6..000000000
--- a/graphics/trainers/hiker/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-222 164 148
-205 131 115
-74 65 57
-123 189 90
-115 148 90
-213 180 98
-172 148 98
-205 205 222
-148 148 148
-123 115 74
-230 98 90
-164 74 74
-255 255 255
-0 0 24
diff --git a/graphics/trainers/interviewer/front.png b/graphics/trainers/interviewer.png
index ff2f9ca54..ff2f9ca54 100644
--- a/graphics/trainers/interviewer/front.png
+++ b/graphics/trainers/interviewer.png
Binary files differ
diff --git a/graphics/trainers/interviewer/palette.pal b/graphics/trainers/interviewer/palette.pal
deleted file mode 100644
index 61ace1935..000000000
--- a/graphics/trainers/interviewer/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-148 148 172
-65 90 139
-41 65 98
-49 41 65
-205 213 222
-98 197 255
-90 156 189
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/kindler/front.png b/graphics/trainers/kindler.png
index 01deeb1d9..01deeb1d9 100644
--- a/graphics/trainers/kindler/front.png
+++ b/graphics/trainers/kindler.png
Binary files differ
diff --git a/graphics/trainers/kindler/palette.pal b/graphics/trainers/kindler/palette.pal
deleted file mode 100644
index af6adf7e8..000000000
--- a/graphics/trainers/kindler/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-115 82 65
-246 246 230
-222 222 189
-180 180 139
-123 115 74
-172 213 246
-115 180 205
-57 123 139
-255 82 57
-255 156 90
-255 255 255
-0 0 0
diff --git a/graphics/trainers/lady/front.png b/graphics/trainers/lady.png
index 4914eb433..4914eb433 100644
--- a/graphics/trainers/lady/front.png
+++ b/graphics/trainers/lady.png
Binary files differ
diff --git a/graphics/trainers/lady/palette.pal b/graphics/trainers/lady/palette.pal
deleted file mode 100644
index b70873111..000000000
--- a/graphics/trainers/lady/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 222
-238 180 180
-156 123 106
-172 106 74
-82 82 32
-213 222 230
-255 230 106
-213 172 90
-222 98 123
-148 164 180
-180 238 106
-148 213 82
-123 189 65
-255 255 255
-0 0 24
diff --git a/graphics/trainers/lass/front.png b/graphics/trainers/lass.png
index 5ccf1afcd..5ccf1afcd 100644
--- a/graphics/trainers/lass/front.png
+++ b/graphics/trainers/lass.png
Binary files differ
diff --git a/graphics/trainers/lass/palette.pal b/graphics/trainers/lass/palette.pal
deleted file mode 100644
index 89e78d683..000000000
--- a/graphics/trainers/lass/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-222 148 115
-123 90 82
-164 172 197
-90 98 148
-49 57 82
-41 57 98
-222 230 238
-255 197 90
-189 156 90
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/magma_admin_f/front.png b/graphics/trainers/magma_admin_f.png
index c5890b11f..c5890b11f 100644
--- a/graphics/trainers/magma_admin_f/front.png
+++ b/graphics/trainers/magma_admin_f.png
Binary files differ
diff --git a/graphics/trainers/magma_admin_f/palette.pal b/graphics/trainers/magma_admin_f/palette.pal
deleted file mode 100644
index a987cdbc1..000000000
--- a/graphics/trainers/magma_admin_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-123 123 123
-90 90 90
-82 98 148
-57 57 65
-65 74 115
-139 49 65
-189 189 180
-222 82 98
-189 57 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/magma_admin_m/front.png b/graphics/trainers/magma_admin_m.png
index d7b5e4fb1..d7b5e4fb1 100644
--- a/graphics/trainers/magma_admin_m/front.png
+++ b/graphics/trainers/magma_admin_m.png
Binary files differ
diff --git a/graphics/trainers/magma_admin_m/palette.pal b/graphics/trainers/magma_admin_m/palette.pal
deleted file mode 100644
index a987cdbc1..000000000
--- a/graphics/trainers/magma_admin_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-123 123 123
-90 90 90
-82 98 148
-57 57 65
-65 74 115
-139 49 65
-189 189 180
-222 82 98
-189 57 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/magma_grunt_f/front.png b/graphics/trainers/magma_grunt_f.png
index 6fa81a6a7..6fa81a6a7 100644
--- a/graphics/trainers/magma_grunt_f/front.png
+++ b/graphics/trainers/magma_grunt_f.png
Binary files differ
diff --git a/graphics/trainers/magma_grunt_f/palette.pal b/graphics/trainers/magma_grunt_f/palette.pal
deleted file mode 100644
index a987cdbc1..000000000
--- a/graphics/trainers/magma_grunt_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-123 123 123
-90 90 90
-82 98 148
-57 57 65
-65 74 115
-139 49 65
-189 189 180
-222 82 98
-189 57 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/magma_grunt_m/front.png b/graphics/trainers/magma_grunt_m.png
index 4c7fa355a..4c7fa355a 100644
--- a/graphics/trainers/magma_grunt_m/front.png
+++ b/graphics/trainers/magma_grunt_m.png
Binary files differ
diff --git a/graphics/trainers/magma_grunt_m/palette.pal b/graphics/trainers/magma_grunt_m/palette.pal
deleted file mode 100644
index a987cdbc1..000000000
--- a/graphics/trainers/magma_grunt_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-123 123 123
-90 90 90
-82 98 148
-57 57 65
-65 74 115
-139 49 65
-189 189 180
-222 82 98
-189 57 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/maxie/front.png b/graphics/trainers/maxie.png
index 679f62367..679f62367 100644
--- a/graphics/trainers/maxie/front.png
+++ b/graphics/trainers/maxie.png
Binary files differ
diff --git a/graphics/trainers/maxie/palette.pal b/graphics/trainers/maxie/palette.pal
deleted file mode 100644
index 151bf6d5b..000000000
--- a/graphics/trainers/maxie/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-164 180 197
-115 123 139
-74 82 98
-49 57 82
-213 213 222
-131 16 41
-24 32 49
-213 82 90
-180 41 57
-255 255 255
-0 0 0
diff --git a/graphics/trainers/may/front.png b/graphics/trainers/may.png
index b795b4586..b795b4586 100644
--- a/graphics/trainers/may/front.png
+++ b/graphics/trainers/may.png
Binary files differ
diff --git a/graphics/trainers/may/palette.pal b/graphics/trainers/may/palette.pal
deleted file mode 100644
index e106ce693..000000000
--- a/graphics/trainers/may/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-222 164 148
-205 131 115
-123 90 82
-98 98 115
-41 57 65
-164 106 82
-74 49 57
-205 205 222
-255 197 90
-189 156 90
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/may/back.png b/graphics/trainers/may_back.png
index a6930037f..a6930037f 100644
--- a/graphics/trainers/may/back.png
+++ b/graphics/trainers/may_back.png
Binary files differ
diff --git a/graphics/trainers/ninja_boy/front.png b/graphics/trainers/ninja_boy.png
index f36849ca3..f36849ca3 100644
--- a/graphics/trainers/ninja_boy/front.png
+++ b/graphics/trainers/ninja_boy.png
Binary files differ
diff --git a/graphics/trainers/ninja_boy/palette.pal b/graphics/trainers/ninja_boy/palette.pal
deleted file mode 100644
index 524d3f4ba..000000000
--- a/graphics/trainers/ninja_boy/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-230 180 148
-213 148 115
-123 90 82
-164 180 197
-131 139 156
-82 98 115
-49 57 82
-213 213 222
-131 16 41
-255 172 32
-213 82 90
-180 41 57
-255 255 255
-0 0 0
diff --git a/graphics/trainers/norman/front.png b/graphics/trainers/norman.png
index ce9998b09..ce9998b09 100644
--- a/graphics/trainers/norman/front.png
+++ b/graphics/trainers/norman.png
Binary files differ
diff --git a/graphics/trainers/norman/palette.pal b/graphics/trainers/norman/palette.pal
deleted file mode 100644
index e53c16837..000000000
--- a/graphics/trainers/norman/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-180 197 230
-139 156 172
-74 98 123
-49 65 82
-213 213 222
-131 16 41
-115 115 115
-213 82 90
-180 41 57
-255 255 255
-0 0 0
diff --git a/graphics/trainers/old_couple/front.png b/graphics/trainers/old_couple.png
index 71c527b72..71c527b72 100644
--- a/graphics/trainers/old_couple/front.png
+++ b/graphics/trainers/old_couple.png
Binary files differ
diff --git a/graphics/trainers/old_couple/palette.pal b/graphics/trainers/old_couple/palette.pal
deleted file mode 100644
index 2fa5f5202..000000000
--- a/graphics/trainers/old_couple/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-180 180 172
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-139 139 131
-189 156 90
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/parasol_lady/front.png b/graphics/trainers/parasol_lady.png
index 088d4d76e..088d4d76e 100644
--- a/graphics/trainers/parasol_lady/front.png
+++ b/graphics/trainers/parasol_lady.png
Binary files differ
diff --git a/graphics/trainers/parasol_lady/palette.pal b/graphics/trainers/parasol_lady/palette.pal
deleted file mode 100644
index dc5c6f67f..000000000
--- a/graphics/trainers/parasol_lady/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-123 82 65
-90 131 189
-65 90 139
-41 65 98
-255 98 90
-197 65 65
-255 156 106
-131 74 65
-255 205 106
-213 172 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/phoebe/front.png b/graphics/trainers/phoebe.png
index 788908c6c..788908c6c 100644
--- a/graphics/trainers/phoebe/front.png
+++ b/graphics/trainers/phoebe.png
Binary files differ
diff --git a/graphics/trainers/phoebe/palette.pal b/graphics/trainers/phoebe/palette.pal
deleted file mode 100644
index 8c07c0d5b..000000000
--- a/graphics/trainers/phoebe/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-115 82 65
-57 131 255
-32 106 230
-16 82 205
-41 49 123
-164 205 255
-115 98 106
-74 57 65
-255 82 156
-197 65 90
-255 255 255
-0 0 0
diff --git a/graphics/trainers/picnicker/front.png b/graphics/trainers/picnicker.png
index 06d4d3dea..06d4d3dea 100644
--- a/graphics/trainers/picnicker/front.png
+++ b/graphics/trainers/picnicker.png
Binary files differ
diff --git a/graphics/trainers/picnicker/palette.pal b/graphics/trainers/picnicker/palette.pal
deleted file mode 100644
index acd90e943..000000000
--- a/graphics/trainers/picnicker/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-246 205 156
-205 156 115
-115 82 65
-131 213 205
-82 164 148
-180 189 222
-57 90 74
-24 49 90
-98 115 230
-57 82 131
-255 98 41
-189 74 41
-255 255 255
-0 0 0
diff --git a/graphics/trainers/pokefan_f/front.png b/graphics/trainers/pokefan_f.png
index 4d4f9cffe..4d4f9cffe 100644
--- a/graphics/trainers/pokefan_f/front.png
+++ b/graphics/trainers/pokefan_f.png
Binary files differ
diff --git a/graphics/trainers/pokefan_f/palette.pal b/graphics/trainers/pokefan_f/palette.pal
deleted file mode 100644
index 09728f005..000000000
--- a/graphics/trainers/pokefan_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-90 172 189
-65 123 180
-255 0 255
-32 57 82
-197 205 213
-180 139 90
-131 90 41
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/pokefan_m/front.png b/graphics/trainers/pokefan_m.png
index a6dc4a18e..a6dc4a18e 100644
--- a/graphics/trainers/pokefan_m/front.png
+++ b/graphics/trainers/pokefan_m.png
Binary files differ
diff --git a/graphics/trainers/pokefan_m/palette.pal b/graphics/trainers/pokefan_m/palette.pal
deleted file mode 100644
index 1d1f48875..000000000
--- a/graphics/trainers/pokefan_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-222 189 148
-197 156 115
-156 123 82
-49 57 49
-230 90 41
-131 172 222
-172 49 32
-82 123 172
-255 238 74
-213 189 41
-205 205 213
-98 98 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/pokemaniac/front.png b/graphics/trainers/pokemaniac.png
index f35de383d..f35de383d 100644
--- a/graphics/trainers/pokemaniac/front.png
+++ b/graphics/trainers/pokemaniac.png
Binary files differ
diff --git a/graphics/trainers/pokemaniac/palette.pal b/graphics/trainers/pokemaniac/palette.pal
deleted file mode 100644
index 3ede03b14..000000000
--- a/graphics/trainers/pokemaniac/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-246 205 156
-205 156 115
-115 82 65
-246 189 115
-213 123 74
-180 82 74
-139 57 41
-74 74 49
-255 230 57
-98 123 106
-230 82 24
-213 205 230
-255 255 255
-0 0 0
diff --git a/graphics/trainers/pokemon_breeder_f/front.png b/graphics/trainers/pokemon_breeder_f.png
index d20122a7b..d20122a7b 100644
--- a/graphics/trainers/pokemon_breeder_f/front.png
+++ b/graphics/trainers/pokemon_breeder_f.png
Binary files differ
diff --git a/graphics/trainers/pokemon_breeder_f/palette.pal b/graphics/trainers/pokemon_breeder_f/palette.pal
deleted file mode 100644
index b15f5db8a..000000000
--- a/graphics/trainers/pokemon_breeder_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-255 98 90
-164 49 65
-255 148 131
-49 49 74
-213 222 230
-205 74 74
-115 148 197
-49 74 123
-57 115 164
-255 255 255
-0 0 0
diff --git a/graphics/trainers/pokemon_breeder_m/front.png b/graphics/trainers/pokemon_breeder_m.png
index da37f87dd..da37f87dd 100644
--- a/graphics/trainers/pokemon_breeder_m/front.png
+++ b/graphics/trainers/pokemon_breeder_m.png
Binary files differ
diff --git a/graphics/trainers/pokemon_breeder_m/palette.pal b/graphics/trainers/pokemon_breeder_m/palette.pal
deleted file mode 100644
index 6551f8482..000000000
--- a/graphics/trainers/pokemon_breeder_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-131 90 74
-255 98 90
-156 65 74
-255 148 131
-49 49 74
-213 222 230
-205 74 74
-115 148 197
-49 74 123
-57 115 164
-255 255 255
-0 0 0
diff --git a/graphics/trainers/pokemon_ranger_f/front.png b/graphics/trainers/pokemon_ranger_f.png
index a5e00d751..a5e00d751 100644
--- a/graphics/trainers/pokemon_ranger_f/front.png
+++ b/graphics/trainers/pokemon_ranger_f.png
Binary files differ
diff --git a/graphics/trainers/pokemon_ranger_f/palette.pal b/graphics/trainers/pokemon_ranger_f/palette.pal
deleted file mode 100644
index 93220f5cb..000000000
--- a/graphics/trainers/pokemon_ranger_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-131 90 65
-82 49 49
-131 139 156
-82 90 115
-49 57 82
-213 213 222
-255 205 65
-255 131 74
-205 98 74
-156 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/pokemon_ranger_m/front.png b/graphics/trainers/pokemon_ranger_m.png
index 84f17dab1..84f17dab1 100644
--- a/graphics/trainers/pokemon_ranger_m/front.png
+++ b/graphics/trainers/pokemon_ranger_m.png
Binary files differ
diff --git a/graphics/trainers/pokemon_ranger_m/palette.pal b/graphics/trainers/pokemon_ranger_m/palette.pal
deleted file mode 100644
index 2f16ca0cb..000000000
--- a/graphics/trainers/pokemon_ranger_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-139 106 82
-82 49 49
-131 139 156
-90 98 115
-49 57 82
-213 213 222
-255 205 65
-238 139 82
-197 82 74
-115 57 49
-255 255 255
-0 0 0
diff --git a/graphics/trainers/psychic_f/front.png b/graphics/trainers/psychic_f.png
index b7e3ac406..b7e3ac406 100644
--- a/graphics/trainers/psychic_f/front.png
+++ b/graphics/trainers/psychic_f.png
Binary files differ
diff --git a/graphics/trainers/psychic_f/palette.pal b/graphics/trainers/psychic_f/palette.pal
deleted file mode 100644
index 232cfd755..000000000
--- a/graphics/trainers/psychic_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-246 205 156
-205 156 115
-115 82 65
-98 123 180
-32 98 131
-255 0 246
-41 57 90
-213 131 255
-156 115 180
-115 82 148
-246 139 90
-197 90 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/psychic_m/front.png b/graphics/trainers/psychic_m.png
index a0272a3a2..a0272a3a2 100644
--- a/graphics/trainers/psychic_m/front.png
+++ b/graphics/trainers/psychic_m.png
Binary files differ
diff --git a/graphics/trainers/psychic_m/palette.pal b/graphics/trainers/psychic_m/palette.pal
deleted file mode 100644
index 0ddd2894b..000000000
--- a/graphics/trainers/psychic_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-230 189 148
-205 156 115
-115 82 65
-98 123 180
-32 98 131
-0 255 0
-41 57 90
-213 131 255
-131 106 172
-90 74 131
-246 139 90
-197 90 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/rich_boy/front.png b/graphics/trainers/rich_boy.png
index c0404a44e..c0404a44e 100644
--- a/graphics/trainers/rich_boy/front.png
+++ b/graphics/trainers/rich_boy.png
Binary files differ
diff --git a/graphics/trainers/rich_boy/palette.pal b/graphics/trainers/rich_boy/palette.pal
deleted file mode 100644
index 1ebb77204..000000000
--- a/graphics/trainers/rich_boy/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-90 131 189
-65 90 139
-41 65 98
-49 41 65
-213 222 230
-255 230 98
-222 180 90
-156 123 115
-115 82 90
-255 255 255
-0 0 0
diff --git a/graphics/trainers/roxanne/front.png b/graphics/trainers/roxanne.png
index b996ee790..b996ee790 100644
--- a/graphics/trainers/roxanne/front.png
+++ b/graphics/trainers/roxanne.png
Binary files differ
diff --git a/graphics/trainers/roxanne/palette.pal b/graphics/trainers/roxanne/palette.pal
deleted file mode 100644
index c2b28ead9..000000000
--- a/graphics/trainers/roxanne/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-255 164 197
-189 156 90
-255 115 148
-213 82 115
-255 255 255
-0 0 0
diff --git a/graphics/trainers/ruin_maniac/front.png b/graphics/trainers/ruin_maniac.png
index b234aabd5..b234aabd5 100644
--- a/graphics/trainers/ruin_maniac/front.png
+++ b/graphics/trainers/ruin_maniac.png
Binary files differ
diff --git a/graphics/trainers/ruin_maniac/palette.pal b/graphics/trainers/ruin_maniac/palette.pal
deleted file mode 100644
index bbc342a06..000000000
--- a/graphics/trainers/ruin_maniac/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-255 238 106
-246 246 230
-222 222 189
-180 180 139
-115 106 65
-222 213 246
-115 131 205
-222 189 8
-213 115 139
-172 74 90
-255 255 255
-0 0 0
diff --git a/graphics/trainers/running_triathlete_f/front.png b/graphics/trainers/running_triathlete_f.png
index 29297cc82..29297cc82 100644
--- a/graphics/trainers/running_triathlete_f/front.png
+++ b/graphics/trainers/running_triathlete_f.png
Binary files differ
diff --git a/graphics/trainers/running_triathlete_f/palette.pal b/graphics/trainers/running_triathlete_f/palette.pal
deleted file mode 100644
index 671c1593f..000000000
--- a/graphics/trainers/running_triathlete_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-90 131 189
-65 90 139
-41 65 98
-49 41 65
-205 213 222
-180 139 90
-139 65 65
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/running_triathlete_m/front.png b/graphics/trainers/running_triathlete_m.png
index 7fe34330f..7fe34330f 100644
--- a/graphics/trainers/running_triathlete_m/front.png
+++ b/graphics/trainers/running_triathlete_m.png
Binary files differ
diff --git a/graphics/trainers/running_triathlete_m/palette.pal b/graphics/trainers/running_triathlete_m/palette.pal
deleted file mode 100644
index 13a56a556..000000000
--- a/graphics/trainers/running_triathlete_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-246 205 180
-230 180 148
-180 139 106
-115 82 65
-90 131 189
-65 90 139
-41 65 98
-49 41 65
-205 213 222
-180 139 90
-139 65 65
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/sailor/front.png b/graphics/trainers/sailor.png
index 298c2c6e1..298c2c6e1 100644
--- a/graphics/trainers/sailor/front.png
+++ b/graphics/trainers/sailor.png
Binary files differ
diff --git a/graphics/trainers/sailor/palette.pal b/graphics/trainers/sailor/palette.pal
deleted file mode 100644
index 3b6248576..000000000
--- a/graphics/trainers/sailor/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-180 180 172
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-139 139 131
-131 180 230
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/school_kid_f/front.png b/graphics/trainers/school_kid_f.png
index 9107a4373..9107a4373 100644
--- a/graphics/trainers/school_kid_f/front.png
+++ b/graphics/trainers/school_kid_f.png
Binary files differ
diff --git a/graphics/trainers/school_kid_f/palette.pal b/graphics/trainers/school_kid_f/palette.pal
deleted file mode 100644
index ce758377a..000000000
--- a/graphics/trainers/school_kid_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 230 205
-238 189 156
-205 148 115
-106 74 57
-255 139 164
-213 82 131
-131 139 255
-98 115 180
-57 74 131
-246 189 123
-197 131 65
-230 82 41
-139 90 32
-255 255 255
-0 0 0
diff --git a/graphics/trainers/school_kid_m/front.png b/graphics/trainers/school_kid_m.png
index 614f99ae1..614f99ae1 100644
--- a/graphics/trainers/school_kid_m/front.png
+++ b/graphics/trainers/school_kid_m.png
Binary files differ
diff --git a/graphics/trainers/school_kid_m/palette.pal b/graphics/trainers/school_kid_m/palette.pal
deleted file mode 100644
index dc4298ea0..000000000
--- a/graphics/trainers/school_kid_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-230 180 148
-213 148 115
-123 90 82
-172 164 115
-65 90 148
-49 57 82
-131 123 82
-197 197 238
-255 222 65
-205 189 123
-98 164 222
-49 123 156
-255 255 255
-0 0 0
diff --git a/graphics/trainers/sidney/front.png b/graphics/trainers/sidney.png
index d43ab5cc3..d43ab5cc3 100644
--- a/graphics/trainers/sidney/front.png
+++ b/graphics/trainers/sidney.png
Binary files differ
diff --git a/graphics/trainers/sidney/palette.pal b/graphics/trainers/sidney/palette.pal
deleted file mode 100644
index d778e0ed6..000000000
--- a/graphics/trainers/sidney/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-222 180 148
-189 139 106
-98 57 65
-131 106 74
-106 98 123
-41 49 57
-57 65 82
-197 197 213
-238 213 139
-197 164 106
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/sis_and_bro/front.png b/graphics/trainers/sis_and_bro.png
index ba32a26c3..ba32a26c3 100644
--- a/graphics/trainers/sis_and_bro/front.png
+++ b/graphics/trainers/sis_and_bro.png
Binary files differ
diff --git a/graphics/trainers/sis_and_bro/palette.pal b/graphics/trainers/sis_and_bro/palette.pal
deleted file mode 100644
index 823ef66ef..000000000
--- a/graphics/trainers/sis_and_bro/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-246 205 189
-222 164 148
-164 123 98
-74 57 49
-255 139 90
-230 82 74
-180 65 65
-90 65 82
-197 65 65
-213 222 230
-255 230 205
-139 172 213
-90 131 189
-255 255 255
-0 0 0
diff --git a/graphics/trainers/sr_and_jr/front.png b/graphics/trainers/sr_and_jr.png
index 124637452..124637452 100644
--- a/graphics/trainers/sr_and_jr/front.png
+++ b/graphics/trainers/sr_and_jr.png
Binary files differ
diff --git a/graphics/trainers/sr_and_jr/palette.pal b/graphics/trainers/sr_and_jr/palette.pal
deleted file mode 100644
index 72238881f..000000000
--- a/graphics/trainers/sr_and_jr/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-90 131 189
-65 90 139
-41 65 98
-49 41 65
-205 213 222
-180 139 90
-131 90 41
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/steven/front.png b/graphics/trainers/steven.png
index a322cbe5a..a322cbe5a 100644
--- a/graphics/trainers/steven/front.png
+++ b/graphics/trainers/steven.png
Binary files differ
diff --git a/graphics/trainers/steven/palette.pal b/graphics/trainers/steven/palette.pal
deleted file mode 100644
index bb2fedd5f..000000000
--- a/graphics/trainers/steven/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-222 180 148
-189 148 115
-123 90 82
-189 115 205
-164 82 172
-82 82 90
-49 49 57
-213 222 238
-172 189 213
-123 148 164
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/swimmer_f/front.png b/graphics/trainers/swimmer_f.png
index 7018c85b8..7018c85b8 100644
--- a/graphics/trainers/swimmer_f/front.png
+++ b/graphics/trainers/swimmer_f.png
Binary files differ
diff --git a/graphics/trainers/swimmer_f/palette.pal b/graphics/trainers/swimmer_f/palette.pal
deleted file mode 100644
index 823ef66ef..000000000
--- a/graphics/trainers/swimmer_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-246 205 189
-222 164 148
-164 123 98
-74 57 49
-255 139 90
-230 82 74
-180 65 65
-90 65 82
-197 65 65
-213 222 230
-255 230 205
-139 172 213
-90 131 189
-255 255 255
-0 0 0
diff --git a/graphics/trainers/swimmer_m/front.png b/graphics/trainers/swimmer_m.png
index da4909deb..da4909deb 100644
--- a/graphics/trainers/swimmer_m/front.png
+++ b/graphics/trainers/swimmer_m.png
Binary files differ
diff --git a/graphics/trainers/swimmer_m/palette.pal b/graphics/trainers/swimmer_m/palette.pal
deleted file mode 100644
index 259a53b9a..000000000
--- a/graphics/trainers/swimmer_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-230 197 172
-213 172 148
-172 123 106
-115 82 65
-90 131 189
-65 90 139
-41 65 98
-49 41 65
-205 213 222
-172 172 180
-139 65 65
-222 238 238
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/swimming_triathlete_f/front.png b/graphics/trainers/swimming_triathlete_f.png
index 808c1c1c7..808c1c1c7 100644
--- a/graphics/trainers/swimming_triathlete_f/front.png
+++ b/graphics/trainers/swimming_triathlete_f.png
Binary files differ
diff --git a/graphics/trainers/swimming_triathlete_f/palette.pal b/graphics/trainers/swimming_triathlete_f/palette.pal
deleted file mode 100644
index 671c1593f..000000000
--- a/graphics/trainers/swimming_triathlete_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-90 131 189
-65 90 139
-41 65 98
-49 41 65
-205 213 222
-180 139 90
-139 65 65
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/swimming_triathlete_m/front.png b/graphics/trainers/swimming_triathlete_m.png
index f649d0045..f649d0045 100644
--- a/graphics/trainers/swimming_triathlete_m/front.png
+++ b/graphics/trainers/swimming_triathlete_m.png
Binary files differ
diff --git a/graphics/trainers/swimming_triathlete_m/palette.pal b/graphics/trainers/swimming_triathlete_m/palette.pal
deleted file mode 100644
index 671c1593f..000000000
--- a/graphics/trainers/swimming_triathlete_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-90 131 189
-65 90 139
-41 65 98
-49 41 65
-205 213 222
-180 139 90
-139 65 65
-255 98 90
-197 65 65
-255 255 255
-0 0 0
diff --git a/graphics/trainers/tate_and_liza/front.png b/graphics/trainers/tate_and_liza.png
index a4930e3f1..a4930e3f1 100644
--- a/graphics/trainers/tate_and_liza/front.png
+++ b/graphics/trainers/tate_and_liza.png
Binary files differ
diff --git a/graphics/trainers/tate_and_liza/palette.pal b/graphics/trainers/tate_and_liza/palette.pal
deleted file mode 100644
index ab64e9bea..000000000
--- a/graphics/trainers/tate_and_liza/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 172 65
-255 222 205
-238 180 148
-180 131 106
-106 74 74
-189 189 197
-123 123 131
-74 82 98
-41 49 65
-255 98 90
-164 49 57
-255 197 90
-106 189 255
-90 139 197
-255 255 255
-0 0 0
diff --git a/graphics/trainers/tuber_f/front.png b/graphics/trainers/tuber_f.png
index 93dc6eea2..93dc6eea2 100644
--- a/graphics/trainers/tuber_f/front.png
+++ b/graphics/trainers/tuber_f.png
Binary files differ
diff --git a/graphics/trainers/tuber_f/palette.pal b/graphics/trainers/tuber_f/palette.pal
deleted file mode 100644
index b5cb0047a..000000000
--- a/graphics/trainers/tuber_f/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-255 230 74
-205 57 82
-238 180 57
-189 131 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/tuber_m/front.png b/graphics/trainers/tuber_m.png
index 19182aa59..19182aa59 100644
--- a/graphics/trainers/tuber_m/front.png
+++ b/graphics/trainers/tuber_m.png
Binary files differ
diff --git a/graphics/trainers/tuber_m/palette.pal b/graphics/trainers/tuber_m/palette.pal
deleted file mode 100644
index b5cb0047a..000000000
--- a/graphics/trainers/tuber_m/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-255 230 74
-205 57 82
-238 180 57
-189 131 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/twins/front.png b/graphics/trainers/twins.png
index f0c0e034e..f0c0e034e 100644
--- a/graphics/trainers/twins/front.png
+++ b/graphics/trainers/twins.png
Binary files differ
diff --git a/graphics/trainers/twins/palette.pal b/graphics/trainers/twins/palette.pal
deleted file mode 100644
index 3b162de25..000000000
--- a/graphics/trainers/twins/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-139 172 213
-90 131 189
-65 90 139
-57 57 57
-213 222 230
-255 230 74
-180 82 98
-238 180 57
-189 131 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/unused_aqua/front.png b/graphics/trainers/unused_aqua.png
index 5a1163176..5a1163176 100644
--- a/graphics/trainers/unused_aqua/front.png
+++ b/graphics/trainers/unused_aqua.png
Binary files differ
diff --git a/graphics/trainers/unused_aqua/palette.pal b/graphics/trainers/unused_aqua/palette.pal
deleted file mode 100644
index e0323fba1..000000000
--- a/graphics/trainers/unused_aqua/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-164 197 213
-106 98 139
-65 90 90
-57 57 57
-205 222 189
-156 57 57
-189 156 90
-255 106 98
-205 82 74
-255 255 255
-0 0 0
diff --git a/graphics/trainers/wallace/front.png b/graphics/trainers/wallace.png
index 3f0159cdb..3f0159cdb 100644
--- a/graphics/trainers/wallace/front.png
+++ b/graphics/trainers/wallace.png
Binary files differ
diff --git a/graphics/trainers/wallace/palette.pal b/graphics/trainers/wallace/palette.pal
deleted file mode 100644
index eaaed070f..000000000
--- a/graphics/trainers/wallace/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-222 180 148
-189 139 106
-98 57 65
-189 131 255
-148 106 172
-115 131 255
-82 106 180
-197 197 213
-57 74 115
-139 139 164
-57 41 57
-98 57 98
-255 255 255
-0 0 0
diff --git a/graphics/trainers/wally/front.png b/graphics/trainers/wally.png
index 76338eb4d..76338eb4d 100644
--- a/graphics/trainers/wally/front.png
+++ b/graphics/trainers/wally.png
Binary files differ
diff --git a/graphics/trainers/wally/palette.pal b/graphics/trainers/wally/palette.pal
deleted file mode 100644
index 30e2e2a6c..000000000
--- a/graphics/trainers/wally/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 238 213
-222 180 164
-189 148 115
-123 90 82
-156 148 172
-115 106 131
-189 205 98
-148 172 74
-222 222 230
-98 148 49
-65 106 24
-98 156 222
-180 180 205
-255 255 255
-0 0 0
diff --git a/graphics/trainers/wally/back.png b/graphics/trainers/wally_back.png
index b4c2f1fa3..b4c2f1fa3 100644
--- a/graphics/trainers/wally/back.png
+++ b/graphics/trainers/wally_back.png
Binary files differ
diff --git a/graphics/trainers/wattson/front.png b/graphics/trainers/wattson.png
index 7b9438a25..7b9438a25 100644
--- a/graphics/trainers/wattson/front.png
+++ b/graphics/trainers/wattson.png
Binary files differ
diff --git a/graphics/trainers/wattson/palette.pal b/graphics/trainers/wattson/palette.pal
deleted file mode 100644
index c8a4e1420..000000000
--- a/graphics/trainers/wattson/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-123 90 82
-164 139 90
-131 106 74
-139 131 106
-82 65 74
-213 213 222
-255 197 90
-189 156 90
-57 41 49
-222 115 131
-255 255 255
-0 0 0
diff --git a/graphics/trainers/winona/front.png b/graphics/trainers/winona.png
index fc0e4a6dd..fc0e4a6dd 100644
--- a/graphics/trainers/winona/front.png
+++ b/graphics/trainers/winona.png
Binary files differ
diff --git a/graphics/trainers/winona/palette.pal b/graphics/trainers/winona/palette.pal
deleted file mode 100644
index 62783523b..000000000
--- a/graphics/trainers/winona/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-106 74 74
-172 189 213
-139 156 205
-74 98 148
-49 65 82
-205 213 222
-115 57 123
-255 197 90
-189 123 222
-148 90 172
-255 255 255
-0 0 0
diff --git a/graphics/trainers/young_couple/front.png b/graphics/trainers/young_couple.png
index 6be8b73d8..6be8b73d8 100644
--- a/graphics/trainers/young_couple/front.png
+++ b/graphics/trainers/young_couple.png
Binary files differ
diff --git a/graphics/trainers/young_couple/palette.pal b/graphics/trainers/young_couple/palette.pal
deleted file mode 100644
index bba95c19a..000000000
--- a/graphics/trainers/young_couple/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-238 180 148
-197 139 106
-98 65 57
-148 164 172
-82 123 164
-57 82 106
-32 49 74
-205 213 222
-123 197 156
-90 164 131
-255 98 90
-197 65 65
-106 106 139
-0 0 0
diff --git a/graphics/trainers/youngster/front.png b/graphics/trainers/youngster.png
index 311c49572..311c49572 100644
--- a/graphics/trainers/youngster/front.png
+++ b/graphics/trainers/youngster.png
Binary files differ
diff --git a/graphics/trainers/youngster/palette.pal b/graphics/trainers/youngster/palette.pal
deleted file mode 100644
index f91520d9b..000000000
--- a/graphics/trainers/youngster/palette.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-115 197 164
-255 222 205
-230 180 148
-213 148 115
-123 90 82
-139 197 222
-65 90 148
-49 57 82
-41 57 98
-197 197 238
-255 222 65
-222 172 90
-98 164 222
-49 123 156
-255 255 255
-0 0 0
diff --git a/graphics/unknown/ball.pal b/graphics/unknown/ball.pal
deleted file mode 100644
index b4e7ac7ca..000000000
--- a/graphics/unknown/ball.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 106 90
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/unknown/unknown_D07B68.pal b/graphics/unknown/unknown_D07B68.pal
deleted file mode 100644
index ca77648e6..000000000
--- a/graphics/unknown/unknown_D07B68.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-255 0 0
-255 255 255
-255 255 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/unknown/unknown_D1C060.pal b/graphics/unknown/unknown_D1C060.pal
deleted file mode 100644
index 0b2590f44..000000000
--- a/graphics/unknown/unknown_D1C060.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-222 255 255
-0 65 148
-148 65 148
-255 255 0
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/unused/basic_frame.pal b/graphics/unused/basic_frame.pal
deleted file mode 100644
index 70ff9b632..000000000
--- a/graphics/unused/basic_frame.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-106 123 164
-205 205 205
-255 255 255
-164 164 164
-0 0 0
-172 0 0
-222 0 0
-197 74 0
-255 24 0
-205 164 106
-255 222 164
-255 131 0
-255 255 255
-123 238 90
-131 172 246
diff --git a/graphics/unused/cherry.pal b/graphics/unused/cherry.pal
deleted file mode 100644
index 01acf52c9..000000000
--- a/graphics/unused/cherry.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-148 246 246
-255 255 123
-246 180 98
-246 106 74
-246 41 49
-213 49 41
-180 57 32
-148 65 24
-115 82 24
-189 238 131
-156 205 115
-123 172 98
-90 139 82
-115 90 74
-82 90 49
-57 98 32
diff --git a/graphics/unused/color_frames.pal b/graphics/unused/color_frames.pal
deleted file mode 100644
index 56bf2a29c..000000000
--- a/graphics/unused/color_frames.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-205 255 255
-106 123 164
-205 205 205
-255 255 255
-164 164 164
-0 0 0
-172 0 0
-222 0 0
-197 74 0
-255 24 0
-205 164 106
-255 222 164
-255 131 0
-255 255 255
-123 238 90
-131 172 246
diff --git a/graphics/unused/goosuto.pal b/graphics/unused/goosuto.pal
deleted file mode 100644
index 4315453b8..000000000
--- a/graphics/unused/goosuto.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-222 255 255
-0 65 148
-148 65 148
-255 255 0
-255 255 255
-255 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/unused/line_sketch.pal b/graphics/unused/line_sketch.pal
deleted file mode 100644
index dc1d51763..000000000
--- a/graphics/unused/line_sketch.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-205 255 255
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/unused/numbers.pal b/graphics/unused/numbers.pal
deleted file mode 100644
index 3955aa77a..000000000
--- a/graphics/unused/numbers.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-74 65 82
-255 255 255
-222 222 222
-172 172 197
-255 0 0
-0 0 255
-255 255 0
-0 197 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 164 131
diff --git a/graphics/unused/old_beatup.pal b/graphics/unused/old_beatup.pal
deleted file mode 100644
index 31c43515e..000000000
--- a/graphics/unused/old_beatup.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-106 148 139
-0 0 0
-82 82 82
-164 164 164
-255 255 255
-213 213 164
-180 172 82
-148 131 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/unused/old_charmap.pal b/graphics/unused/old_charmap.pal
deleted file mode 100644
index cbcd5de4d..000000000
--- a/graphics/unused/old_charmap.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-255 255 255
-24 0 0
-41 0 0
-255 255 255
-0 0 0
-255 255 255
-255 65 0
-0 0 0
-255 0 0
-255 24 0
-255 65 0
-255 98 0
-255 131 0
-255 180 0
-255 222 0
-255 255 255
diff --git a/graphics/unused/shadow.pal b/graphics/unused/shadow.pal
deleted file mode 100644
index 72d9b7406..000000000
--- a/graphics/unused/shadow.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-238 238 238
-255 255 255
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/graphics/unused/water_splash.pal b/graphics/unused/water_splash.pal
deleted file mode 100644
index ada1391df..000000000
--- a/graphics/unused/water_splash.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 0
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-57 255 255
-8 255 255
-8 205 255
-8 156 255
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-255 255 255
-205 255 255
-156 255 255
-106 255 255
-57 255 255
-8 255 255
-8 205 255
-8 156 255
-8 106 255
-8 57 255
-8 8 255
-8 8 106
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
diff --git a/include/battle.h b/include/battle.h
index 47cb7cf8e..dc9ac93cc 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -19,6 +19,8 @@
#define BATTLE_TYPE_LEGENDARY 0x2000
#define BATTLE_TYPE_REGI 0x4000
+#define BATTLE_TYPE_LINK_DOUBLE (BATTLE_TYPE_MULTI | BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE)
+
#define BATTLE_WON 0x1
#define BATTLE_LOST 0x2
#define BATTLE_DREW 0x3
@@ -243,12 +245,11 @@ struct BattleStruct /* 0x2000000 */
/*0x16001*/ u8 turnEffectsBank;
/*0x16002*/ u8 animTurn;
/*0x16003*/ u8 scriptingActive;
- /*0x16004*/ u8 wrappedMove1[4];
- /*0x16008*/ u8 wrappedMove2[4];
+ /*0x16004*/ u8 wrappedMove[8];
/*0x1600C*/ u8 cmd49StateTracker;
/*0x1600D*/ u8 unk1600D;
/*0x1600E*/ u8 turncountersTracker;
- /*0x1600F*/ u8 cmd23StateTracker;
+ /*0x1600F*/ u8 atk23StateTracker;
/*0x16010*/ u8 moveTarget[4];
/*0x16014*/ u8 unk16014;
/*0x16015*/ u8 unk16015;
@@ -685,6 +686,32 @@ extern u8 ewram[];
#define ewram17840 (*(struct Struct2017840 *) (ewram + 0x17840))
#define ewram17000 ((u32 *) (ewram + 0x17100))
+// used in many battle files, it seems as though Hisashi Sogabe wrote
+// some sort of macro to replace the use of actually calling memset.
+// Perhaps it was thought calling memset was much slower?
+
+// The compiler wont allow us to locally declare ptr in this macro; some
+// functions that invoke this macro will not match without this egregeous
+// assumption about the variable names, so in order to avoid this assumption,
+// we opt to pass the variables themselves, even though it is likely that
+// Sogabe assumed the variables were named src and dest. Trust me: I tried to
+// avoid assuming variable names, but the ROM just will not match without the
+// assumptions. Therefore, these macros are bad practice, but I'm putting them
+// here anyway.
+#define MEMSET_ALT(data, c, size, var, dest) \
+{ \
+ dest = (u8 *)data; \
+ for(var = 0; var < (u32)size; var++) \
+ dest[var] = c; \
+} \
+
+#define MEMCPY_ALT(data, dest, size, var, src) \
+{ \
+ src = (u8 *)data; \
+ for(var = 0; var < (u32)size; var++) \
+ dest[var] = src[var]; \
+} \
+
typedef void (*BattleCmdFunc)(void);
struct funcStack
@@ -724,7 +751,6 @@ void EmitEffectivenessSound(u8 a, u16 sound); //0x2B
void Emitcmd44(u8 a, u16 sound); //0x2C
void EmitFaintingCry(u8 a); //0x2D
void EmitIntroSlide(u8 a, u8 b); //0x2E
-void Emitcmd48(u8 a, u8 *b, u8 c); //0x30
void Emitcmd49(u8 a); //0x31
void EmitSpriteInvisibility(u8 a, u8 b); //0x33
void EmitBattleAnimation(u8 a, u8 b, u16 c); //0x34
@@ -796,7 +822,7 @@ void BattleTurnPassed(void);
// asm/battle_2.o
void sub_8012324(void);
void sub_8012FBC(u8, u8);
-u8 b_first_side(u8, u8, u8);
+u8 GetWhoStrikesFirst(u8, u8, u8);
void TurnValuesCleanUp(u8);
void SpecialStatusesClear(void);
void sub_80138F0(void);
diff --git a/include/battle_ai.h b/include/battle_ai.h
index 2922da0b3..60ca5d000 100644
--- a/include/battle_ai.h
+++ b/include/battle_ai.h
@@ -1,11 +1,6 @@
#ifndef GUARD_BATTLEAI_H
#define GUARD_BATTLEAI_H
-#define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
-#define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8)
-#define AIScriptRead8(ptr) ((ptr)[0])
-#define AIScriptReadPtr(ptr) (u8*) AIScriptRead32(ptr)
-
enum
{
TARGET,
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 48ceece21..3db5ae967 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -3,10 +3,6 @@
#include "sprite.h"
-#define SCRIPT_READ_8(ptr) ((ptr)[0])
-#define SCRIPT_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
-#define SCRIPT_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
-
#define REG_BGnCNT_BITFIELD(n) (*(struct BGCntrlBitfield *)REG_ADDR_BG##n##CNT)
#define REG_BG1CNT_BITFIELD REG_BGnCNT_BITFIELD(1)
#define REG_BG2CNT_BITFIELD REG_BGnCNT_BITFIELD(2)
@@ -53,15 +49,14 @@ struct UnknownStruct3
};
void DoMoveAnim(const u8 *const moveAnims[], u16 b, u8 c);
-bool8 b_side_obj__get_some_boolean(u8 a);
+bool8 IsAnimBankSpriteVisible(u8 a);
void sub_8076034(u8, u8);
-bool8 IsContest(void);
+bool8 NotInBattle(void);
void battle_anim_clear_some_data(void);
void move_anim_8072740(struct Sprite *sprite);
void DestroyAnimVisualTask(u8 task);
void DestroyAnimVisualTask(u8 task);
-bool8 b_side_obj__get_some_boolean(u8);
-u8 IsContest();
+bool8 IsAnimBankSpriteVisible(u8);
#endif
diff --git a/include/battle_interface.h b/include/battle_interface.h
index 8230c7502..db41ee735 100644
--- a/include/battle_interface.h
+++ b/include/battle_interface.h
@@ -29,7 +29,7 @@ u8 sub_8044804(u8, const struct BattleInterfaceStruct2 *, u8, u8);
void sub_8044CA0(u8);
void sub_8045A5C(u8, struct Pokemon *, u8);
s32 sub_8045C78(u8, u8, u8, u8);
-s16 sub_80460C8(struct BattleInterfaceStruct1 *, int *, void *, int);
+s16 sub_80460C8(struct BattleInterfaceStruct1 *, int *, u16 *, int);
u8 GetScaledHPFraction(s16, s16, u8);
u8 GetHPBarLevel(s16, s16);
void sub_80440EC(u8 a, s16 b, u8 c);
diff --git a/include/battle_party_menu.h b/include/battle_party_menu.h
index 71bd2cf51..200b0c653 100644
--- a/include/battle_party_menu.h
+++ b/include/battle_party_menu.h
@@ -4,6 +4,7 @@
extern u8 unk_2000000[];
#define EWRAM_1609D unk_2000000[0x1609D]
-void SetUpBattlePokemonMenu(u8);
+void HandleBattlePartyMenu(u8);
+bool8 SetUpBattlePartyMenu(void);
#endif
diff --git a/include/battle_tower.h b/include/battle_tower.h
index 75ea405ab..8f179a68c 100644
--- a/include/battle_tower.h
+++ b/include/battle_tower.h
@@ -1,8 +1,102 @@
#ifndef GUARD_BATTLE_TOWER_H
#define GUARD_BATTLE_TOWER_H
-void sub_8134AC0(void *);
+#define BATTLE_TOWER_EREADER_TRAINER_ID 200
+#define BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID 100
+
+enum
+{
+ F_EV_SPREAD_HP = 1 << 0,
+ F_EV_SPREAD_ATTACK = 1 << 1,
+ F_EV_SPREAD_DEFENSE = 1 << 2,
+ F_EV_SPREAD_SPEED = 1 << 3,
+ F_EV_SPREAD_SP_ATTACK = 1 << 4,
+ F_EV_SPREAD_SP_DEFENSE = 1 << 5,
+};
+
+enum
+{
+ BATTLE_TOWER_ITEM_NONE,
+ BATTLE_TOWER_ITEM_KINGS_ROCK,
+ BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ BATTLE_TOWER_ITEM_ORAN_BERRY,
+ BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ BATTLE_TOWER_ITEM_HARD_STONE,
+ BATTLE_TOWER_ITEM_FOCUS_BAND,
+ BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ BATTLE_TOWER_ITEM_BERRY_JUICE,
+ BATTLE_TOWER_ITEM_MACHO_BRACE,
+ BATTLE_TOWER_ITEM_SILVER_POWDER,
+ BATTLE_TOWER_ITEM_CHERI_BERRY,
+ BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ BATTLE_TOWER_ITEM_BLACK_BELT,
+ BATTLE_TOWER_ITEM_SOUL_DEW,
+ BATTLE_TOWER_ITEM_CHOICE_BAND,
+ BATTLE_TOWER_ITEM_MAGNET,
+ BATTLE_TOWER_ITEM_SILK_SCARF,
+ BATTLE_TOWER_ITEM_WHITE_HERB,
+ BATTLE_TOWER_ITEM_DEEP_SEA_SCALE,
+ BATTLE_TOWER_ITEM_DEEP_SEA_TOOTH,
+ BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ BATTLE_TOWER_ITEM_SHARP_BEAK,
+ BATTLE_TOWER_ITEM_QUICK_CLAW,
+ BATTLE_TOWER_ITEM_LEFTOVERS,
+ BATTLE_TOWER_ITEM_RAWST_BERRY,
+ BATTLE_TOWER_ITEM_LIGHT_BALL,
+ BATTLE_TOWER_ITEM_POISON_BARB,
+ BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ BATTLE_TOWER_ITEM_SPELL_TAG,
+ BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ BATTLE_TOWER_ITEM_SCOPE_LENS,
+ BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ BATTLE_TOWER_ITEM_METAL_COAT,
+ BATTLE_TOWER_ITEM_MENTAL_HERB,
+ BATTLE_TOWER_ITEM_CHARCOAL,
+ BATTLE_TOWER_ITEM_PECHA_BERRY,
+ BATTLE_TOWER_ITEM_SOFT_SAND,
+ BATTLE_TOWER_ITEM_LUM_BERRY,
+ BATTLE_TOWER_ITEM_DRAGON_SCALE,
+ BATTLE_TOWER_ITEM_DRAGON_FANG,
+ BATTLE_TOWER_ITEM_IAPAPA_BERRY,
+ BATTLE_TOWER_ITEM_WIKI_BERRY,
+ BATTLE_TOWER_ITEM_SEA_INCENSE,
+ BATTLE_TOWER_ITEM_SHELL_BELL,
+ BATTLE_TOWER_ITEM_SALAC_BERRY,
+ BATTLE_TOWER_ITEM_LANSAT_BERRY,
+ BATTLE_TOWER_ITEM_APICOT_BERRY,
+ BATTLE_TOWER_ITEM_STARF_BERRY,
+ BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ BATTLE_TOWER_ITEM_STICK,
+ BATTLE_TOWER_ITEM_LAX_INCENSE,
+ BATTLE_TOWER_ITEM_AGUAV_BERRY,
+ BATTLE_TOWER_ITEM_FIGY_BERRY,
+ BATTLE_TOWER_ITEM_THICK_CLUB,
+ BATTLE_TOWER_ITEM_MAGO_BERRY,
+ BATTLE_TOWER_ITEM_METAL_POWDER,
+ BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ BATTLE_TOWER_ITEM_LUCKY_PUNCH,
+ BATTLE_TOWER_ITEM_GANLON_BERRY,
+};
+
+struct BattleTowerPokemon
+{
+ /*0x00*/u16 species;
+ /*0x02*/u8 heldItem; // entry in sBattleTowerHeldItems
+ /*0x03*/u8 teamFlags;
+ /*0x04*/u16 moves[4];
+ /*0x0C*/u8 evSpread;
+ /*0x0D*/u8 nature;
+};
+
+u16 GetCurrentBattleTowerWinStreak(u8);
+void sub_8134AC0(struct BattleTowerRecord *);
u16 sub_8135D3C(u8);
-void sub_8135FF4(u8*);
+void SetEReaderTrainerName(u8*);
+u8 GetEReaderTrainerPicIndex(void);
+u8 GetEReaderTrainerClassNameIndex(void);
+void ValidateEReaderTrainer(void);
#endif // GUARD_BATTLE_TOWER_H
diff --git a/include/berry.h b/include/berry.h
index f0acbe0ad..a7ac5ba94 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -11,38 +11,39 @@ enum
BERRY_FIRMNESS_SUPER_HARD,
};
-void ClearEnigmaBerries(void);
+// berry stages
+enum
+{
+ BERRY_STAGE_NO_BERRY, // there is no tree planted and the soil is completely flat.
+ BERRY_STAGE_PLANTED,
+ BERRY_STAGE_SPROUTED,
+ BERRY_STAGE_TALLER,
+ BERRY_STAGE_FLOWERING,
+ BERRY_STAGE_BERRIES,
+ BERRY_STAGE_SPARKLING = 0xFF,
+};
+
void SetEnigmaBerry(u8 *src);
-u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
bool32 IsEnigmaBerryValid(void);
const struct Berry *GetBerryInfo(u8 berry);
-struct BerryTree *GetBerryTreeInfo(u8 id);
bool32 FieldObjectInteractionWaterBerryTree(void);
-bool8 IsPlayerFacingPlantedBerryTree(void);
+bool8 IsPlayerFacingUnplantedSoil(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 FieldObjectInteractionGetBerryTreeData(void);
-void sub_80B4EE4(void);
+void Berry_FadeAndGoToBerryBagMenu(void);
void FieldObjectInteractionPlantBerryTree(void);
void FieldObjectInteractionPickBerryTree(void);
void FieldObjectInteractionRemoveBerryTree(void);
-u8 PlayerHasBerries(void);
+bool8 PlayerHasBerries(void);
void ResetBerryTreeSparkleFlags(void);
#endif // GUARD_BERRY_H
diff --git a/include/bike.h b/include/bike.h
index decbd1d49..28aa2037d 100644
--- a/include/bike.h
+++ b/include/bike.h
@@ -1,15 +1,17 @@
#ifndef GUARD_BIKE_H
#define GUARD_BIKE_H
-struct UnknownStruct1
+// the struct below is used for checking button combinations of the last input so that the acro can potentially perform a side/turn jump.
+// its possible that at some point Game Freak intended for the acro bike to have more complex tricks: but only the acro jump combinations can be seen in the final ROM.
+struct BikeHistoryInputInfo
{
- u32 unk0;
- u32 unk4;
- u32 unk8;
- u32 unkC;
- const u8 *unk10;
- const u8 *unk14;
- u32 unk18;
+ u32 dirHistoryMatch; // the direction you need to press
+ u32 abStartSelectHistoryMatch; // the button you need to press
+ u32 dirHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked
+ u32 abStartSelectHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked
+ const u8 *dirTimerHistoryList; // list of timers to check for direction before the button+dir combination can be verified.
+ const u8 *abStartSelectHistoryList; // list of timers to check for buttons before the button+dir combination can be verified.
+ u32 direction; // direction to jump
};
// Player speeds
@@ -22,7 +24,16 @@ enum
SPEED_FASTEST,
};
-//Acro bike states
+// mach bike transitions enum
+enum
+{
+ MACH_TRANS_FACE_DIRECTION,
+ MACH_TRANS_TURN_DIRECTION,
+ MACH_TRANS_KEEP_MOVING,
+ MACH_TRANS_START_MOVING
+};
+
+// Acro bike states
enum
{
ACRO_STATE_NORMAL,
@@ -30,27 +41,37 @@ enum
ACRO_STATE_WHEELIE_STANDING,
ACRO_STATE_BUNNY_HOP,
ACRO_STATE_WHEELIE_MOVING,
- ACRO_STATE_5,
- ACRO_STATE_6,
+ ACRO_STATE_SIDE_JUMP,
+ ACRO_STATE_TURN_JUMP,
};
-//Acro bike transitions
+// Acro bike transitions
enum
{
ACRO_TRANS_FACE_DIRECTION,
- ACRO_TRANS_NORMAL_TO_WHEELIE = 3,
+ ACRO_TRANS_TURN_DIRECTION,
+ ACRO_TRANS_MOVING,
+ ACRO_TRANS_NORMAL_TO_WHEELIE,
ACRO_TRANS_WHEELIE_TO_NORMAL,
+ ACRO_TRANS_WHEELIE_IDLE,
+ ACRO_TRANS_WHEELIE_HOPPING_STANDING,
+ ACRO_TRANS_WHEELIE_HOPPING_MOVING,
+ ACRO_TRANS_SIDE_JUMP,
+ ACRO_TRANS_TURN_JUMP,
+ ACRO_TRANS_WHEELIE_MOVING,
+ ACRO_TRANS_WHEELIE_RISING_MOVING,
+ ACRO_TRANS_WHEELIE_LOWERING_MOVING,
};
void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys);
-void sub_80E5B38(u16 a, u16 b);
+void Bike_TryAcroBikeHistoryUpdate(u16 a, u16 b);
bool8 IsRunningDisallowed(u8 tile);
bool8 IsBikingDisallowedByPlayer(void);
bool8 player_should_look_direction_be_enforced_upon_movement(void);
void GetOnOffBike(u8 var);
void BikeClearState(int var1, int var2);
-void sub_80E6010(u8 var);
+void Bike_UpdateBikeCounterSpeed(u8 var);
s16 GetPlayerSpeed(void);
-void sub_80E6084(void);
+void Bike_HandleBumpySlopeJump(void);
#endif
diff --git a/include/choose_party.h b/include/choose_party.h
index e31aa3c02..853202a89 100644
--- a/include/choose_party.h
+++ b/include/choose_party.h
@@ -3,11 +3,11 @@
void sub_8121E10(void);
void sub_8121E34(void);
-bool8 sub_8121E78(void);
-void sub_81222B0(u8 taskId);
-bool8 sub_8122854(void);
-void sub_8122A48(u8 taskId);
-void sub_8122E0C(u8 taskId);
+bool8 SetupBattleTowerPartyMenu(void);
+void HandleBattleTowerPartyMenu(u8 taskId);
+bool8 SetupLinkMultiBattlePartyMenu(void);
+void HandleLinkMultiBattlePartyMenu(u8 taskId);
+void HandleDaycarePartyMenu(u8 taskId);
void sub_8123138(u8 taskId);
#endif // GUARD_CHOOSE_PARTY_H
diff --git a/include/daycare.h b/include/daycare.h
index b90c50610..e46351d72 100644
--- a/include/daycare.h
+++ b/include/daycare.h
@@ -1,14 +1,15 @@
#ifndef GUARD_DAYCARE_H
#define GUARD_DAYCARE_H
-u8 Daycare_CountPokemon(struct BoxPokemon *);
-void sub_8041324(struct BoxPokemon *, struct RecordMixing_UnknownStruct *);
-void sub_8041790(int i);
+u8 Daycare_CountPokemon(struct DayCareData *);
+void sub_8041324(struct BoxPokemon *, struct RecordMixingDayCareMail *);
+void sub_8041790(u16 i);
u16 sub_8041870(u16);
void sub_8041940(void);
void sub_8041950(void);
void sub_8042044(struct Pokemon *mon, u16, u8);
u8 sub_80422A0(void);
u8 daycare_relationship_score_from_savegame(void);
+bool8 NameHasGenderSymbol(const u8 *, u8);
#endif // GUARD_DAYCARE_H
diff --git a/include/decompress.h b/include/decompress.h
index 84c1f29c0..01f66971c 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -3,7 +3,7 @@
#include "sprite.h"
-void sub_800D238(const void *src, void *dest);
+void LZDecompressWram(const void *src, void *dest);
void LZDecompressVram(const void *src, void *dest);
void LoadCompressedObjectPic(const struct CompressedSpriteSheet *a);
void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *a, void *buffer);
diff --git a/include/decoration.h b/include/decoration.h
index 2e72e305a..70abc29bf 100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -291,7 +291,9 @@ extern void sub_8134104(u8); // src/decoration_inventory
extern bool8 sub_807D770(void);
extern void sub_8109DAC(u8); // src/trader
extern void ReshowPlayerPC(u8); // src/player_pc
+void Task_SecretBasePC_Decoration(u8);
+void Task_SecretBasePC_Decoration(u8 taskId);
void sub_80FE2B4(void);
void Task_DecorationPCProcessMenuInput(u8);
void sub_80FE394(void);
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 702082966..b59adedd5 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -27,1038 +27,1046 @@ enum
EC_GROUP_POKEMON_2,
};
-// TRAINER
-#define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0
-#define EC_WORD_GOTCHA (EC_GROUP_TRAINER << 9) | 0x1
-#define EC_WORD_TRADE (EC_GROUP_TRAINER << 9) | 0x2
-#define EC_WORD_SAPPHIRE (EC_GROUP_TRAINER << 9) | 0x3
-#define EC_WORD_EVOLVE (EC_GROUP_TRAINER << 9) | 0x4
-#define EC_WORD_ENCYCLOPEDIA (EC_GROUP_TRAINER << 9) | 0x5
-#define EC_WORD_NATURE (EC_GROUP_TRAINER << 9) | 0x6
-#define EC_WORD_CENTER (EC_GROUP_TRAINER << 9) | 0x7
-#define EC_WORD_EGG (EC_GROUP_TRAINER << 9) | 0x8
-#define EC_WORD_LINK (EC_GROUP_TRAINER << 9) | 0x9
-#define EC_WORD_SP_ABILITY (EC_GROUP_TRAINER << 9) | 0xa
-#define EC_WORD_TRAINER (EC_GROUP_TRAINER << 9) | 0xb
-#define EC_WORD_VERSION (EC_GROUP_TRAINER << 9) | 0xc
-#define EC_WORD_POKENAV (EC_GROUP_TRAINER << 9) | 0xd
-#define EC_WORD_POKEMON (EC_GROUP_TRAINER << 9) | 0xe
-#define EC_WORD_GET (EC_GROUP_TRAINER << 9) | 0xf
-#define EC_WORD_POKEDEX (EC_GROUP_TRAINER << 9) | 0x10
-#define EC_WORD_RUBY (EC_GROUP_TRAINER << 9) | 0x11
-#define EC_WORD_LEVEL (EC_GROUP_TRAINER << 9) | 0x12
-
-// STATUS
-#define EC_WORD_DARK (EC_GROUP_STATUS << 9) | 0x0
-#define EC_WORD_STENCH (EC_GROUP_STATUS << 9) | 0x1
-#define EC_WORD_THICK_FAT (EC_GROUP_STATUS << 9) | 0x2
-#define EC_WORD_RAIN_DISH (EC_GROUP_STATUS << 9) | 0x3
-#define EC_WORD_DRIZZLE (EC_GROUP_STATUS << 9) | 0x4
-#define EC_WORD_ARENA_TRAP (EC_GROUP_STATUS << 9) | 0x5
-#define EC_WORD_INTIMIDATE (EC_GROUP_STATUS << 9) | 0x6
-#define EC_WORD_ROCK_HEAD (EC_GROUP_STATUS << 9) | 0x7
-#define EC_WORD_COLOR (EC_GROUP_STATUS << 9) | 0x8
-#define EC_WORD_ALT_COLOR (EC_GROUP_STATUS << 9) | 0x9
-#define EC_WORD_ROCK (EC_GROUP_STATUS << 9) | 0xa
-#define EC_WORD_BEAUTIFUL (EC_GROUP_STATUS << 9) | 0xb
-#define EC_WORD_BEAUTY (EC_GROUP_STATUS << 9) | 0xc
-#define EC_WORD_AIR_LOCK (EC_GROUP_STATUS << 9) | 0xd
-#define EC_WORD_PSYCHIC (EC_GROUP_STATUS << 9) | 0xe
-#define EC_WORD_HYPER_CUTTER (EC_GROUP_STATUS << 9) | 0xf
-#define EC_WORD_FIGHTING (EC_GROUP_STATUS << 9) | 0x10
-#define EC_WORD_SHADOW_TAG (EC_GROUP_STATUS << 9) | 0x11
-#define EC_WORD_SMART (EC_GROUP_STATUS << 9) | 0x12
-#define EC_WORD_SMARTNESS (EC_GROUP_STATUS << 9) | 0x13
-#define EC_WORD_SPEED_BOOST (EC_GROUP_STATUS << 9) | 0x14
-#define EC_WORD_COOL (EC_GROUP_STATUS << 9) | 0x15
-#define EC_WORD_COOLNESS (EC_GROUP_STATUS << 9) | 0x16
-#define EC_WORD_BATTLE_ARMOR (EC_GROUP_STATUS << 9) | 0x17
-#define EC_WORD_CUTE (EC_GROUP_STATUS << 9) | 0x18
-#define EC_WORD_CUTENESS (EC_GROUP_STATUS << 9) | 0x19
-#define EC_WORD_STURDY (EC_GROUP_STATUS << 9) | 0x1a
-#define EC_WORD_SUCTION_CUPS (EC_GROUP_STATUS << 9) | 0x1b
-#define EC_WORD_GRASS (EC_GROUP_STATUS << 9) | 0x1c
-#define EC_WORD_CLEAR_BODY (EC_GROUP_STATUS << 9) | 0x1d
-#define EC_WORD_TORRENT (EC_GROUP_STATUS << 9) | 0x1e
-#define EC_WORD_GHOST (EC_GROUP_STATUS << 9) | 0x1f
-#define EC_WORD_ICE (EC_GROUP_STATUS << 9) | 0x20
-#define EC_WORD_GUTS (EC_GROUP_STATUS << 9) | 0x21
-#define EC_WORD_ROUGH_SKIN (EC_GROUP_STATUS << 9) | 0x22
-#define EC_WORD_SHELL_ARMOR (EC_GROUP_STATUS << 9) | 0x23
-#define EC_WORD_NATURAL_CURE (EC_GROUP_STATUS << 9) | 0x24
-#define EC_WORD_DAMP (EC_GROUP_STATUS << 9) | 0x25
-#define EC_WORD_GROUND (EC_GROUP_STATUS << 9) | 0x26
-#define EC_WORD_LIMBER (EC_GROUP_STATUS << 9) | 0x27
-#define EC_WORD_MAGNET_PULL (EC_GROUP_STATUS << 9) | 0x28
-#define EC_WORD_WHITE_SMOKE (EC_GROUP_STATUS << 9) | 0x29
-#define EC_WORD_SYNCHRONIZE (EC_GROUP_STATUS << 9) | 0x2a
-#define EC_WORD_OVERGROW (EC_GROUP_STATUS << 9) | 0x2b
-#define EC_WORD_SWIFT_SWIM (EC_GROUP_STATUS << 9) | 0x2c
-#define EC_WORD_SAND_STREAM (EC_GROUP_STATUS << 9) | 0x2d
-#define EC_WORD_SAND_VEIL (EC_GROUP_STATUS << 9) | 0x2e
-#define EC_WORD_KEEN_EYE (EC_GROUP_STATUS << 9) | 0x2f
-#define EC_WORD_INNER_FOCUS (EC_GROUP_STATUS << 9) | 0x30
-#define EC_WORD_STATIC (EC_GROUP_STATUS << 9) | 0x31
-#define EC_WORD_TYPE (EC_GROUP_STATUS << 9) | 0x32
-#define EC_WORD_TOUGH (EC_GROUP_STATUS << 9) | 0x33
-#define EC_WORD_TOUGHNESS (EC_GROUP_STATUS << 9) | 0x34
-#define EC_WORD_SHED_SKIN (EC_GROUP_STATUS << 9) | 0x35
-#define EC_WORD_HUGE_POWER (EC_GROUP_STATUS << 9) | 0x36
-#define EC_WORD_VOLT_ABSORB (EC_GROUP_STATUS << 9) | 0x37
-#define EC_WORD_WATER_ABSORB (EC_GROUP_STATUS << 9) | 0x38
-#define EC_WORD_ELECTRIC (EC_GROUP_STATUS << 9) | 0x39
-#define EC_WORD_FORECAST (EC_GROUP_STATUS << 9) | 0x3a
-#define EC_WORD_SERENE_GRACE (EC_GROUP_STATUS << 9) | 0x3b
-#define EC_WORD_POISON (EC_GROUP_STATUS << 9) | 0x3c
-#define EC_WORD_POISON_POINT (EC_GROUP_STATUS << 9) | 0x3d
-#define EC_WORD_DRAGON (EC_GROUP_STATUS << 9) | 0x3e
-#define EC_WORD_TRACE (EC_GROUP_STATUS << 9) | 0x3f
-#define EC_WORD_OBLIVIOUS (EC_GROUP_STATUS << 9) | 0x40
-#define EC_WORD_TRUANT (EC_GROUP_STATUS << 9) | 0x41
-#define EC_WORD_RUN_AWAY (EC_GROUP_STATUS << 9) | 0x42
-#define EC_WORD_STICKY_HOLD (EC_GROUP_STATUS << 9) | 0x43
-#define EC_WORD_CLOUD_NINE (EC_GROUP_STATUS << 9) | 0x44
-#define EC_WORD_NORMAL (EC_GROUP_STATUS << 9) | 0x45
-#define EC_WORD_STEEL (EC_GROUP_STATUS << 9) | 0x46
-#define EC_WORD_ILLUMINATE (EC_GROUP_STATUS << 9) | 0x47
-#define EC_WORD_EARLY_BIRD (EC_GROUP_STATUS << 9) | 0x48
-#define EC_WORD_HUSTLE (EC_GROUP_STATUS << 9) | 0x49
-#define EC_WORD_SHINE (EC_GROUP_STATUS << 9) | 0x4a
-#define EC_WORD_FLYING (EC_GROUP_STATUS << 9) | 0x4b
-#define EC_WORD_DROUGHT (EC_GROUP_STATUS << 9) | 0x4c
-#define EC_WORD_LIGHTNINGROD (EC_GROUP_STATUS << 9) | 0x4d
-#define EC_WORD_COMPOUNDEYES (EC_GROUP_STATUS << 9) | 0x4e
-#define EC_WORD_MARVEL_SCALE (EC_GROUP_STATUS << 9) | 0x4f
-#define EC_WORD_WONDER_GUARD (EC_GROUP_STATUS << 9) | 0x50
-#define EC_WORD_INSOMNIA (EC_GROUP_STATUS << 9) | 0x51
-#define EC_WORD_LEVITATE (EC_GROUP_STATUS << 9) | 0x52
-#define EC_WORD_PLUS (EC_GROUP_STATUS << 9) | 0x53
-#define EC_WORD_PRESSURE (EC_GROUP_STATUS << 9) | 0x54
-#define EC_WORD_LIQUID_OOZE (EC_GROUP_STATUS << 9) | 0x55
-#define EC_WORD_COLOR_CHANGE (EC_GROUP_STATUS << 9) | 0x56
-#define EC_WORD_SOUNDPROOF (EC_GROUP_STATUS << 9) | 0x57
-#define EC_WORD_EFFECT_SPORE (EC_GROUP_STATUS << 9) | 0x58
-#define EC_WORD_PKRS (EC_GROUP_STATUS << 9) | 0x59
-#define EC_WORD_FIRE (EC_GROUP_STATUS << 9) | 0x5a
-#define EC_WORD_FLAME_BODY (EC_GROUP_STATUS << 9) | 0x5b
-#define EC_WORD_MINUS (EC_GROUP_STATUS << 9) | 0x5c
-#define EC_WORD_OWN_TEMPO (EC_GROUP_STATUS << 9) | 0x5d
-#define EC_WORD_MAGMA_ARMOR (EC_GROUP_STATUS << 9) | 0x5e
-#define EC_WORD_WATER (EC_GROUP_STATUS << 9) | 0x5f
-#define EC_WORD_WATER_VEIL (EC_GROUP_STATUS << 9) | 0x60
-#define EC_WORD_BUG (EC_GROUP_STATUS << 9) | 0x61
-#define EC_WORD_SWARM (EC_GROUP_STATUS << 9) | 0x62
-#define EC_WORD_CUTE_CHARM (EC_GROUP_STATUS << 9) | 0x63
-#define EC_WORD_IMMUNITY (EC_GROUP_STATUS << 9) | 0x64
-#define EC_WORD_BLAZE (EC_GROUP_STATUS << 9) | 0x65
-#define EC_WORD_PICKUP (EC_GROUP_STATUS << 9) | 0x66
-#define EC_WORD_PATTERN (EC_GROUP_STATUS << 9) | 0x67
-#define EC_WORD_FLASH_FIRE (EC_GROUP_STATUS << 9) | 0x68
-#define EC_WORD_VITAL_SPIRIT (EC_GROUP_STATUS << 9) | 0x69
-#define EC_WORD_CHLOROPHYLL (EC_GROUP_STATUS << 9) | 0x6a
-#define EC_WORD_PURE_POWER (EC_GROUP_STATUS << 9) | 0x6b
-#define EC_WORD_SHIELD_DUST (EC_GROUP_STATUS << 9) | 0x6c
-
-// BATTLE
-#define EC_WORD_MATCH_UP (EC_GROUP_BATTLE << 9) | 0x0
-#define EC_WORD_GO (EC_GROUP_BATTLE << 9) | 0x1
-#define EC_WORD_NO_1 (EC_GROUP_BATTLE << 9) | 0x2
-#define EC_WORD_DECIDE (EC_GROUP_BATTLE << 9) | 0x3
-#define EC_WORD_LET_ME_WIN (EC_GROUP_BATTLE << 9) | 0x4
-#define EC_WORD_WINS (EC_GROUP_BATTLE << 9) | 0x5
-#define EC_WORD_WIN (EC_GROUP_BATTLE << 9) | 0x6
-#define EC_WORD_WON (EC_GROUP_BATTLE << 9) | 0x7
-#define EC_WORD_IF_I_WIN (EC_GROUP_BATTLE << 9) | 0x8
-#define EC_WORD_WHEN_I_WIN (EC_GROUP_BATTLE << 9) | 0x9
-#define EC_WORD_CAN_T_WIN (EC_GROUP_BATTLE << 9) | 0xa
-#define EC_WORD_CAN_WIN (EC_GROUP_BATTLE << 9) | 0xb
-#define EC_WORD_NO_MATCH (EC_GROUP_BATTLE << 9) | 0xc
-#define EC_WORD_SPIRIT (EC_GROUP_BATTLE << 9) | 0xd
-#define EC_WORD_DECIDED (EC_GROUP_BATTLE << 9) | 0xe
-#define EC_WORD_TRUMP_CARD (EC_GROUP_BATTLE << 9) | 0xf
-#define EC_WORD_TAKE_THAT (EC_GROUP_BATTLE << 9) | 0x10
-#define EC_WORD_COME_ON (EC_GROUP_BATTLE << 9) | 0x11
-#define EC_WORD_ATTACK (EC_GROUP_BATTLE << 9) | 0x12
-#define EC_WORD_SURRENDER (EC_GROUP_BATTLE << 9) | 0x13
-#define EC_WORD_GUTSY (EC_GROUP_BATTLE << 9) | 0x14
-#define EC_WORD_TALENT (EC_GROUP_BATTLE << 9) | 0x15
-#define EC_WORD_STRATEGY (EC_GROUP_BATTLE << 9) | 0x16
-#define EC_WORD_SMITE (EC_GROUP_BATTLE << 9) | 0x17
-#define EC_WORD_MATCH (EC_GROUP_BATTLE << 9) | 0x18
-#define EC_WORD_VICTORY (EC_GROUP_BATTLE << 9) | 0x19
-#define EC_WORD_OFFENSIVE (EC_GROUP_BATTLE << 9) | 0x1a
-#define EC_WORD_SENSE (EC_GROUP_BATTLE << 9) | 0x1b
-#define EC_WORD_VERSUS (EC_GROUP_BATTLE << 9) | 0x1c
-#define EC_WORD_FIGHTS (EC_GROUP_BATTLE << 9) | 0x1d
-#define EC_WORD_POWER (EC_GROUP_BATTLE << 9) | 0x1e
-#define EC_WORD_CHALLENGE (EC_GROUP_BATTLE << 9) | 0x1f
-#define EC_WORD_STRONG (EC_GROUP_BATTLE << 9) | 0x20
-#define EC_WORD_TOO_STRONG (EC_GROUP_BATTLE << 9) | 0x21
-#define EC_WORD_GO_EASY (EC_GROUP_BATTLE << 9) | 0x22
-#define EC_WORD_FOE (EC_GROUP_BATTLE << 9) | 0x23
-#define EC_WORD_GENIUS (EC_GROUP_BATTLE << 9) | 0x24
-#define EC_WORD_LEGEND (EC_GROUP_BATTLE << 9) | 0x25
-#define EC_WORD_ESCAPE (EC_GROUP_BATTLE << 9) | 0x26
-#define EC_WORD_AIM (EC_GROUP_BATTLE << 9) | 0x27
-#define EC_WORD_BATTLE (EC_GROUP_BATTLE << 9) | 0x28
-#define EC_WORD_FIGHT (EC_GROUP_BATTLE << 9) | 0x29
-#define EC_WORD_RESUSCITATE (EC_GROUP_BATTLE << 9) | 0x2a
-#define EC_WORD_POINTS (EC_GROUP_BATTLE << 9) | 0x2b
-#define EC_WORD_SERIOUS (EC_GROUP_BATTLE << 9) | 0x2c
-#define EC_WORD_GIVE_UP (EC_GROUP_BATTLE << 9) | 0x2d
-#define EC_WORD_LOSS (EC_GROUP_BATTLE << 9) | 0x2e
-#define EC_WORD_IF_I_LOSE (EC_GROUP_BATTLE << 9) | 0x2f
-#define EC_WORD_LOST (EC_GROUP_BATTLE << 9) | 0x30
-#define EC_WORD_LOSE (EC_GROUP_BATTLE << 9) | 0x31
-#define EC_WORD_GUARD (EC_GROUP_BATTLE << 9) | 0x32
-#define EC_WORD_PARTNER (EC_GROUP_BATTLE << 9) | 0x33
-#define EC_WORD_REJECT (EC_GROUP_BATTLE << 9) | 0x34
-#define EC_WORD_ACCEPT (EC_GROUP_BATTLE << 9) | 0x35
-#define EC_WORD_INVINCIBLE (EC_GROUP_BATTLE << 9) | 0x36
-#define EC_WORD_RECEIVED (EC_GROUP_BATTLE << 9) | 0x37
-#define EC_WORD_EASY (EC_GROUP_BATTLE << 9) | 0x38
-#define EC_WORD_WEAK (EC_GROUP_BATTLE << 9) | 0x39
-#define EC_WORD_TOO_WEAK (EC_GROUP_BATTLE << 9) | 0x3a
-#define EC_WORD_PUSHOVER (EC_GROUP_BATTLE << 9) | 0x3b
-#define EC_WORD_LEADER (EC_GROUP_BATTLE << 9) | 0x3c
-#define EC_WORD_RULE (EC_GROUP_BATTLE << 9) | 0x3d
-#define EC_WORD_MOVE (EC_GROUP_BATTLE << 9) | 0x3e
-
-// GREETINGS
-#define EC_WORD_THANKS (EC_GROUP_GREETINGS << 9) | 0x0
-#define EC_WORD_YES (EC_GROUP_GREETINGS << 9) | 0x1
-#define EC_WORD_HERE_GOES (EC_GROUP_GREETINGS << 9) | 0x2
-#define EC_WORD_HERE_I_COME (EC_GROUP_GREETINGS << 9) | 0x3
-#define EC_WORD_HERE_IT_IS (EC_GROUP_GREETINGS << 9) | 0x4
-#define EC_WORD_YEAH (EC_GROUP_GREETINGS << 9) | 0x5
-#define EC_WORD_WELCOME (EC_GROUP_GREETINGS << 9) | 0x6
-#define EC_WORD_OI (EC_GROUP_GREETINGS << 9) | 0x7
-#define EC_WORD_HOW_DO (EC_GROUP_GREETINGS << 9) | 0x8
-#define EC_WORD_CONGRATS (EC_GROUP_GREETINGS << 9) | 0x9
-#define EC_WORD_GIVE_ME (EC_GROUP_GREETINGS << 9) | 0xa
-#define EC_WORD_SORRY (EC_GROUP_GREETINGS << 9) | 0xb
-#define EC_WORD_APOLOGIZE (EC_GROUP_GREETINGS << 9) | 0xc
-#define EC_WORD_FORGIVE (EC_GROUP_GREETINGS << 9) | 0xd
-#define EC_WORD_HEY_THERE (EC_GROUP_GREETINGS << 9) | 0xe
-#define EC_WORD_HELLO (EC_GROUP_GREETINGS << 9) | 0xf
-#define EC_WORD_GOOD_BYE (EC_GROUP_GREETINGS << 9) | 0x10
-#define EC_WORD_THANK_YOU (EC_GROUP_GREETINGS << 9) | 0x11
-#define EC_WORD_I_VE_ARRIVED (EC_GROUP_GREETINGS << 9) | 0x12
-#define EC_WORD_PARDON (EC_GROUP_GREETINGS << 9) | 0x13
-#define EC_WORD_EXCUSE (EC_GROUP_GREETINGS << 9) | 0x14
-#define EC_WORD_SEE_YA (EC_GROUP_GREETINGS << 9) | 0x15
-#define EC_WORD_EXCUSE_ME (EC_GROUP_GREETINGS << 9) | 0x16
-#define EC_WORD_WELL_THEN (EC_GROUP_GREETINGS << 9) | 0x17
-#define EC_WORD_GO_AHEAD (EC_GROUP_GREETINGS << 9) | 0x18
-#define EC_WORD_APPRECIATE (EC_GROUP_GREETINGS << 9) | 0x19
-#define EC_WORD_HEY_QUES (EC_GROUP_GREETINGS << 9) | 0x1a
-#define EC_WORD_WHAT_S_UP_QUES (EC_GROUP_GREETINGS << 9) | 0x1b
-#define EC_WORD_HUH_QUES (EC_GROUP_GREETINGS << 9) | 0x1c
-#define EC_WORD_NO (EC_GROUP_GREETINGS << 9) | 0x1d
-#define EC_WORD_HI (EC_GROUP_GREETINGS << 9) | 0x1e
-#define EC_WORD_YEAH_YEAH (EC_GROUP_GREETINGS << 9) | 0x1f
-#define EC_WORD_BYE_BYE (EC_GROUP_GREETINGS << 9) | 0x20
-#define EC_WORD_MEET_YOU (EC_GROUP_GREETINGS << 9) | 0x21
-#define EC_WORD_HEY (EC_GROUP_GREETINGS << 9) | 0x22
-#define EC_WORD_SMELL (EC_GROUP_GREETINGS << 9) | 0x23
-#define EC_WORD_LISTENING (EC_GROUP_GREETINGS << 9) | 0x24
-#define EC_WORD_HOO_HAH (EC_GROUP_GREETINGS << 9) | 0x25
-#define EC_WORD_YAHOO (EC_GROUP_GREETINGS << 9) | 0x26
-#define EC_WORD_YO (EC_GROUP_GREETINGS << 9) | 0x27
-#define EC_WORD_COME_OVER (EC_GROUP_GREETINGS << 9) | 0x28
-#define EC_WORD_COUNT_ON (EC_GROUP_GREETINGS << 9) | 0x29
-
-// PEOPLE
-#define EC_WORD_OPPONENT (EC_GROUP_PEOPLE << 9) | 0x0
-#define EC_WORD_I (EC_GROUP_PEOPLE << 9) | 0x1
-#define EC_WORD_YOU (EC_GROUP_PEOPLE << 9) | 0x2
-#define EC_WORD_YOURS (EC_GROUP_PEOPLE << 9) | 0x3
-#define EC_WORD_SON (EC_GROUP_PEOPLE << 9) | 0x4
-#define EC_WORD_YOUR (EC_GROUP_PEOPLE << 9) | 0x5
-#define EC_WORD_YOU_RE (EC_GROUP_PEOPLE << 9) | 0x6
-#define EC_WORD_YOU_VE (EC_GROUP_PEOPLE << 9) | 0x7
-#define EC_WORD_MOTHER (EC_GROUP_PEOPLE << 9) | 0x8
-#define EC_WORD_GRANDFATHER (EC_GROUP_PEOPLE << 9) | 0x9
-#define EC_WORD_UNCLE (EC_GROUP_PEOPLE << 9) | 0xa
-#define EC_WORD_FATHER (EC_GROUP_PEOPLE << 9) | 0xb
-#define EC_WORD_BOY (EC_GROUP_PEOPLE << 9) | 0xc
-#define EC_WORD_ADULT (EC_GROUP_PEOPLE << 9) | 0xd
-#define EC_WORD_BROTHER (EC_GROUP_PEOPLE << 9) | 0xe
-#define EC_WORD_SISTER (EC_GROUP_PEOPLE << 9) | 0xf
-#define EC_WORD_GRANDMOTHER (EC_GROUP_PEOPLE << 9) | 0x10
-#define EC_WORD_AUNT (EC_GROUP_PEOPLE << 9) | 0x11
-#define EC_WORD_PARENT (EC_GROUP_PEOPLE << 9) | 0x12
-#define EC_WORD_MAN (EC_GROUP_PEOPLE << 9) | 0x13
-#define EC_WORD_ME (EC_GROUP_PEOPLE << 9) | 0x14
-#define EC_WORD_GIRL (EC_GROUP_PEOPLE << 9) | 0x15
-#define EC_WORD_BABE (EC_GROUP_PEOPLE << 9) | 0x16
-#define EC_WORD_FAMILY (EC_GROUP_PEOPLE << 9) | 0x17
-#define EC_WORD_HER (EC_GROUP_PEOPLE << 9) | 0x18
-#define EC_WORD_HIM (EC_GROUP_PEOPLE << 9) | 0x19
-#define EC_WORD_HE (EC_GROUP_PEOPLE << 9) | 0x1a
-#define EC_WORD_PLACE (EC_GROUP_PEOPLE << 9) | 0x1b
-#define EC_WORD_DAUGHTER (EC_GROUP_PEOPLE << 9) | 0x1c
-#define EC_WORD_HIS (EC_GROUP_PEOPLE << 9) | 0x1d
-#define EC_WORD_HE_S (EC_GROUP_PEOPLE << 9) | 0x1e
-#define EC_WORD_AREN_T (EC_GROUP_PEOPLE << 9) | 0x1f
-#define EC_WORD_SIBLINGS (EC_GROUP_PEOPLE << 9) | 0x20
-#define EC_WORD_KID (EC_GROUP_PEOPLE << 9) | 0x21
-#define EC_WORD_CHILDREN (EC_GROUP_PEOPLE << 9) | 0x22
-#define EC_WORD_MR (EC_GROUP_PEOPLE << 9) | 0x23
-#define EC_WORD_MRS (EC_GROUP_PEOPLE << 9) | 0x24
-#define EC_WORD_MYSELF (EC_GROUP_PEOPLE << 9) | 0x25
-#define EC_WORD_I_WAS (EC_GROUP_PEOPLE << 9) | 0x26
-#define EC_WORD_TO_ME (EC_GROUP_PEOPLE << 9) | 0x27
-#define EC_WORD_MY (EC_GROUP_PEOPLE << 9) | 0x28
-#define EC_WORD_I_AM (EC_GROUP_PEOPLE << 9) | 0x29
-#define EC_WORD_I_VE (EC_GROUP_PEOPLE << 9) | 0x2a
-#define EC_WORD_WHO (EC_GROUP_PEOPLE << 9) | 0x2b
-#define EC_WORD_SOMEONE (EC_GROUP_PEOPLE << 9) | 0x2c
-#define EC_WORD_WHO_WAS (EC_GROUP_PEOPLE << 9) | 0x2d
-#define EC_WORD_TO_WHOM (EC_GROUP_PEOPLE << 9) | 0x2e
-#define EC_WORD_WHOSE (EC_GROUP_PEOPLE << 9) | 0x2f
-#define EC_WORD_WHO_IS (EC_GROUP_PEOPLE << 9) | 0x30
-#define EC_WORD_IT_S (EC_GROUP_PEOPLE << 9) | 0x31
-#define EC_WORD_LADY (EC_GROUP_PEOPLE << 9) | 0x32
-#define EC_WORD_FRIEND (EC_GROUP_PEOPLE << 9) | 0x33
-#define EC_WORD_ALLY (EC_GROUP_PEOPLE << 9) | 0x34
-#define EC_WORD_PERSON (EC_GROUP_PEOPLE << 9) | 0x35
-#define EC_WORD_DUDE (EC_GROUP_PEOPLE << 9) | 0x36
-#define EC_WORD_THEY (EC_GROUP_PEOPLE << 9) | 0x37
-#define EC_WORD_THEY_WERE (EC_GROUP_PEOPLE << 9) | 0x38
-#define EC_WORD_TO_THEM (EC_GROUP_PEOPLE << 9) | 0x39
-#define EC_WORD_THEIR (EC_GROUP_PEOPLE << 9) | 0x3a
-#define EC_WORD_THEY_RE (EC_GROUP_PEOPLE << 9) | 0x3b
-#define EC_WORD_THEY_VE (EC_GROUP_PEOPLE << 9) | 0x3c
-#define EC_WORD_WE (EC_GROUP_PEOPLE << 9) | 0x3d
-#define EC_WORD_BEEN (EC_GROUP_PEOPLE << 9) | 0x3e
-#define EC_WORD_TO_US (EC_GROUP_PEOPLE << 9) | 0x3f
-#define EC_WORD_OUR (EC_GROUP_PEOPLE << 9) | 0x40
-#define EC_WORD_WE_RE (EC_GROUP_PEOPLE << 9) | 0x41
-#define EC_WORD_RIVAL (EC_GROUP_PEOPLE << 9) | 0x42
-#define EC_WORD_WE_VE (EC_GROUP_PEOPLE << 9) | 0x43
-#define EC_WORD_WOMAN (EC_GROUP_PEOPLE << 9) | 0x44
-#define EC_WORD_SHE (EC_GROUP_PEOPLE << 9) | 0x45
-#define EC_WORD_SHE_WAS (EC_GROUP_PEOPLE << 9) | 0x46
-#define EC_WORD_TO_HER (EC_GROUP_PEOPLE << 9) | 0x47
-#define EC_WORD_HERS (EC_GROUP_PEOPLE << 9) | 0x48
-#define EC_WORD_SHE_IS (EC_GROUP_PEOPLE << 9) | 0x49
-#define EC_WORD_SOME (EC_GROUP_PEOPLE << 9) | 0x4a
-
-// VOICES
-#define EC_WORD_EXCL (EC_GROUP_VOICES << 9) | 0x0
-#define EC_WORD_EXCL_EXCL (EC_GROUP_VOICES << 9) | 0x1
-#define EC_WORD_QUES_EXCL (EC_GROUP_VOICES << 9) | 0x2
-#define EC_WORD_QUES (EC_GROUP_VOICES << 9) | 0x3
-#define EC_WORD_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x4
-#define EC_WORD_ELLIPSIS_EXCL (EC_GROUP_VOICES << 9) | 0x5
-#define EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x6
-#define EC_WORD_DASH (EC_GROUP_VOICES << 9) | 0x7
-#define EC_WORD_DASH_DASH_DASH (EC_GROUP_VOICES << 9) | 0x8
-#define EC_WORD_UH_OH (EC_GROUP_VOICES << 9) | 0x9
-#define EC_WORD_WAAAH (EC_GROUP_VOICES << 9) | 0xa
-#define EC_WORD_AHAHA (EC_GROUP_VOICES << 9) | 0xb
-#define EC_WORD_OH_QUES (EC_GROUP_VOICES << 9) | 0xc
-#define EC_WORD_NOPE (EC_GROUP_VOICES << 9) | 0xd
-#define EC_WORD_URGH (EC_GROUP_VOICES << 9) | 0xe
-#define EC_WORD_HMM (EC_GROUP_VOICES << 9) | 0xf
-#define EC_WORD_WHOAH (EC_GROUP_VOICES << 9) | 0x10
-#define EC_WORD_WROOOAAR_EXCL (EC_GROUP_VOICES << 9) | 0x11
-#define EC_WORD_WOW (EC_GROUP_VOICES << 9) | 0x12
-#define EC_WORD_GIGGLE (EC_GROUP_VOICES << 9) | 0x13
-#define EC_WORD_SIGH (EC_GROUP_VOICES << 9) | 0x14
-#define EC_WORD_UNBELIEVABLE (EC_GROUP_VOICES << 9) | 0x15
-#define EC_WORD_CRIES (EC_GROUP_VOICES << 9) | 0x16
-#define EC_WORD_AGREE (EC_GROUP_VOICES << 9) | 0x17
-#define EC_WORD_EH_QUES (EC_GROUP_VOICES << 9) | 0x18
-#define EC_WORD_CRY (EC_GROUP_VOICES << 9) | 0x19
-#define EC_WORD_EHEHE (EC_GROUP_VOICES << 9) | 0x1a
-#define EC_WORD_OI_OI_OI (EC_GROUP_VOICES << 9) | 0x1b
-#define EC_WORD_OH_YEAH (EC_GROUP_VOICES << 9) | 0x1c
-#define EC_WORD_OH (EC_GROUP_VOICES << 9) | 0x1d
-#define EC_WORD_OOPS (EC_GROUP_VOICES << 9) | 0x1e
-#define EC_WORD_SHOCKED (EC_GROUP_VOICES << 9) | 0x1f
-#define EC_WORD_EEK (EC_GROUP_VOICES << 9) | 0x20
-#define EC_WORD_GRAAAH (EC_GROUP_VOICES << 9) | 0x21
-#define EC_WORD_GWAHAHAHA (EC_GROUP_VOICES << 9) | 0x22
-#define EC_WORD_WAY (EC_GROUP_VOICES << 9) | 0x23
-#define EC_WORD_TCH (EC_GROUP_VOICES << 9) | 0x24
-#define EC_WORD_HEHE (EC_GROUP_VOICES << 9) | 0x25
-#define EC_WORD_HAH (EC_GROUP_VOICES << 9) | 0x26
-#define EC_WORD_YUP (EC_GROUP_VOICES << 9) | 0x27
-#define EC_WORD_HAHAHA (EC_GROUP_VOICES << 9) | 0x28
-#define EC_WORD_AIYEEH (EC_GROUP_VOICES << 9) | 0x29
-#define EC_WORD_HIYAH (EC_GROUP_VOICES << 9) | 0x2a
-#define EC_WORD_FUFUFU (EC_GROUP_VOICES << 9) | 0x2b
-#define EC_WORD_LOL (EC_GROUP_VOICES << 9) | 0x2c
-#define EC_WORD_SNORT (EC_GROUP_VOICES << 9) | 0x2d
-#define EC_WORD_HUMPH (EC_GROUP_VOICES << 9) | 0x2e
-#define EC_WORD_HEHEHE (EC_GROUP_VOICES << 9) | 0x2f
-#define EC_WORD_HEH (EC_GROUP_VOICES << 9) | 0x30
-#define EC_WORD_HOHOHO (EC_GROUP_VOICES << 9) | 0x31
-#define EC_WORD_UH_HUH (EC_GROUP_VOICES << 9) | 0x32
-#define EC_WORD_OH_DEAR (EC_GROUP_VOICES << 9) | 0x33
-#define EC_WORD_ARRGH (EC_GROUP_VOICES << 9) | 0x34
-#define EC_WORD_MUFUFU (EC_GROUP_VOICES << 9) | 0x35
-#define EC_WORD_MMM (EC_GROUP_VOICES << 9) | 0x36
-#define EC_WORD_OH_KAY (EC_GROUP_VOICES << 9) | 0x37
-#define EC_WORD_OKAY (EC_GROUP_VOICES << 9) | 0x38
-#define EC_WORD_LALALA (EC_GROUP_VOICES << 9) | 0x39
-#define EC_WORD_YAY (EC_GROUP_VOICES << 9) | 0x3a
-#define EC_WORD_AWW (EC_GROUP_VOICES << 9) | 0x3b
-#define EC_WORD_WOWEE (EC_GROUP_VOICES << 9) | 0x3c
-#define EC_WORD_GWAH (EC_GROUP_VOICES << 9) | 0x3d
-#define EC_WORD_WAHAHAHA (EC_GROUP_VOICES << 9) | 0x3e
-
-// SPEECH
-#define EC_WORD_LISTEN (EC_GROUP_SPEECH << 9) | 0x0
-#define EC_WORD_NOT_VERY (EC_GROUP_SPEECH << 9) | 0x1
-#define EC_WORD_MEAN (EC_GROUP_SPEECH << 9) | 0x2
-#define EC_WORD_LIE (EC_GROUP_SPEECH << 9) | 0x3
-#define EC_WORD_LAY (EC_GROUP_SPEECH << 9) | 0x4
-#define EC_WORD_RECOMMEND (EC_GROUP_SPEECH << 9) | 0x5
-#define EC_WORD_NITWIT (EC_GROUP_SPEECH << 9) | 0x6
-#define EC_WORD_QUITE (EC_GROUP_SPEECH << 9) | 0x7
-#define EC_WORD_FROM (EC_GROUP_SPEECH << 9) | 0x8
-#define EC_WORD_FEELING (EC_GROUP_SPEECH << 9) | 0x9
-#define EC_WORD_BUT (EC_GROUP_SPEECH << 9) | 0xa
-#define EC_WORD_HOWEVER (EC_GROUP_SPEECH << 9) | 0xb
-#define EC_WORD_CASE (EC_GROUP_SPEECH << 9) | 0xc
-#define EC_WORD_THE (EC_GROUP_SPEECH << 9) | 0xd
-#define EC_WORD_MISS (EC_GROUP_SPEECH << 9) | 0xe
-#define EC_WORD_HOW (EC_GROUP_SPEECH << 9) | 0xf
-#define EC_WORD_HIT (EC_GROUP_SPEECH << 9) | 0x10
-#define EC_WORD_ENOUGH (EC_GROUP_SPEECH << 9) | 0x11
-#define EC_WORD_A_LOT (EC_GROUP_SPEECH << 9) | 0x12
-#define EC_WORD_A_LITTLE (EC_GROUP_SPEECH << 9) | 0x13
-#define EC_WORD_ABSOLUTELY (EC_GROUP_SPEECH << 9) | 0x14
-#define EC_WORD_AND (EC_GROUP_SPEECH << 9) | 0x15
-#define EC_WORD_ONLY (EC_GROUP_SPEECH << 9) | 0x16
-#define EC_WORD_AROUND (EC_GROUP_SPEECH << 9) | 0x17
-#define EC_WORD_PROBABLY (EC_GROUP_SPEECH << 9) | 0x18
-#define EC_WORD_IF (EC_GROUP_SPEECH << 9) | 0x19
-#define EC_WORD_VERY (EC_GROUP_SPEECH << 9) | 0x1a
-#define EC_WORD_A_TINY_BIT (EC_GROUP_SPEECH << 9) | 0x1b
-#define EC_WORD_WILD (EC_GROUP_SPEECH << 9) | 0x1c
-#define EC_WORD_THAT_S (EC_GROUP_SPEECH << 9) | 0x1d
-#define EC_WORD_JUST (EC_GROUP_SPEECH << 9) | 0x1e
-#define EC_WORD_EVEN_SO (EC_GROUP_SPEECH << 9) | 0x1f
-#define EC_WORD_MUST_BE (EC_GROUP_SPEECH << 9) | 0x20
-#define EC_WORD_NATURALLY (EC_GROUP_SPEECH << 9) | 0x21
-#define EC_WORD_FOR_NOW (EC_GROUP_SPEECH << 9) | 0x22
-#define EC_WORD_UNDERSTOOD (EC_GROUP_SPEECH << 9) | 0x23
-#define EC_WORD_JOKING (EC_GROUP_SPEECH << 9) | 0x24
-#define EC_WORD_READY (EC_GROUP_SPEECH << 9) | 0x25
-#define EC_WORD_SOMETHING (EC_GROUP_SPEECH << 9) | 0x26
-#define EC_WORD_SOMEHOW (EC_GROUP_SPEECH << 9) | 0x27
-#define EC_WORD_ALTHOUGH (EC_GROUP_SPEECH << 9) | 0x28
-#define EC_WORD_ALSO (EC_GROUP_SPEECH << 9) | 0x29
-#define EC_WORD_PERFECT (EC_GROUP_SPEECH << 9) | 0x2a
-#define EC_WORD_AS_MUCH_AS (EC_GROUP_SPEECH << 9) | 0x2b
-#define EC_WORD_REALLY (EC_GROUP_SPEECH << 9) | 0x2c
-#define EC_WORD_TRULY (EC_GROUP_SPEECH << 9) | 0x2d
-#define EC_WORD_SERIOUSLY (EC_GROUP_SPEECH << 9) | 0x2e
-#define EC_WORD_TOTALLY (EC_GROUP_SPEECH << 9) | 0x2f
-#define EC_WORD_UNTIL (EC_GROUP_SPEECH << 9) | 0x30
-#define EC_WORD_AS_IF (EC_GROUP_SPEECH << 9) | 0x31
-#define EC_WORD_MOOD (EC_GROUP_SPEECH << 9) | 0x32
-#define EC_WORD_RATHER (EC_GROUP_SPEECH << 9) | 0x33
-#define EC_WORD_AWFULLY (EC_GROUP_SPEECH << 9) | 0x34
-#define EC_WORD_MODE (EC_GROUP_SPEECH << 9) | 0x35
-#define EC_WORD_MORE (EC_GROUP_SPEECH << 9) | 0x36
-#define EC_WORD_TOO_LATE (EC_GROUP_SPEECH << 9) | 0x37
-#define EC_WORD_FINALLY (EC_GROUP_SPEECH << 9) | 0x38
-#define EC_WORD_ANY (EC_GROUP_SPEECH << 9) | 0x39
-#define EC_WORD_INSTEAD (EC_GROUP_SPEECH << 9) | 0x3a
-#define EC_WORD_FANTASTIC (EC_GROUP_SPEECH << 9) | 0x3b
-
-// ENDINGS
-#define EC_WORD_WILL (EC_GROUP_ENDINGS << 9) | 0x0
-#define EC_WORD_WILL_BE_HERE (EC_GROUP_ENDINGS << 9) | 0x1
-#define EC_WORD_OR (EC_GROUP_ENDINGS << 9) | 0x2
-#define EC_WORD_TIMES (EC_GROUP_ENDINGS << 9) | 0x3
-#define EC_WORD_WONDER (EC_GROUP_ENDINGS << 9) | 0x4
-#define EC_WORD_IS_IT_QUES (EC_GROUP_ENDINGS << 9) | 0x5
-#define EC_WORD_BE (EC_GROUP_ENDINGS << 9) | 0x6
-#define EC_WORD_GIMME (EC_GROUP_ENDINGS << 9) | 0x7
-#define EC_WORD_COULD (EC_GROUP_ENDINGS << 9) | 0x8
-#define EC_WORD_LIKELY_TO (EC_GROUP_ENDINGS << 9) | 0x9
-#define EC_WORD_WOULD (EC_GROUP_ENDINGS << 9) | 0xa
-#define EC_WORD_IS (EC_GROUP_ENDINGS << 9) | 0xb
-#define EC_WORD_ISN_T_IT_QUES (EC_GROUP_ENDINGS << 9) | 0xc
-#define EC_WORD_LET_S (EC_GROUP_ENDINGS << 9) | 0xd
-#define EC_WORD_OTHER (EC_GROUP_ENDINGS << 9) | 0xe
-#define EC_WORD_ARE (EC_GROUP_ENDINGS << 9) | 0xf
-#define EC_WORD_WAS (EC_GROUP_ENDINGS << 9) | 0x10
-#define EC_WORD_WERE (EC_GROUP_ENDINGS << 9) | 0x11
-#define EC_WORD_THOSE (EC_GROUP_ENDINGS << 9) | 0x12
-#define EC_WORD_ISN_T (EC_GROUP_ENDINGS << 9) | 0x13
-#define EC_WORD_WON_T (EC_GROUP_ENDINGS << 9) | 0x14
-#define EC_WORD_CAN_T (EC_GROUP_ENDINGS << 9) | 0x15
-#define EC_WORD_CAN (EC_GROUP_ENDINGS << 9) | 0x16
-#define EC_WORD_DON_T (EC_GROUP_ENDINGS << 9) | 0x17
-#define EC_WORD_DO (EC_GROUP_ENDINGS << 9) | 0x18
-#define EC_WORD_DOES (EC_GROUP_ENDINGS << 9) | 0x19
-#define EC_WORD_WHOM (EC_GROUP_ENDINGS << 9) | 0x1a
-#define EC_WORD_WHICH (EC_GROUP_ENDINGS << 9) | 0x1b
-#define EC_WORD_WASN_T (EC_GROUP_ENDINGS << 9) | 0x1c
-#define EC_WORD_WEREN_T (EC_GROUP_ENDINGS << 9) | 0x1d
-#define EC_WORD_HAVE (EC_GROUP_ENDINGS << 9) | 0x1e
-#define EC_WORD_HAVEN_T (EC_GROUP_ENDINGS << 9) | 0x1f
-#define EC_WORD_A (EC_GROUP_ENDINGS << 9) | 0x20
-#define EC_WORD_AN (EC_GROUP_ENDINGS << 9) | 0x21
-#define EC_WORD_NOT (EC_GROUP_ENDINGS << 9) | 0x22
-#define EC_WORD_THERE (EC_GROUP_ENDINGS << 9) | 0x23
-#define EC_WORD_OK_QUES (EC_GROUP_ENDINGS << 9) | 0x24
-#define EC_WORD_SO (EC_GROUP_ENDINGS << 9) | 0x25
-#define EC_WORD_MAYBE (EC_GROUP_ENDINGS << 9) | 0x26
-#define EC_WORD_ABOUT (EC_GROUP_ENDINGS << 9) | 0x27
-#define EC_WORD_OVER (EC_GROUP_ENDINGS << 9) | 0x28
-#define EC_WORD_IT (EC_GROUP_ENDINGS << 9) | 0x29
-#define EC_WORD_ALL (EC_GROUP_ENDINGS << 9) | 0x2a
-#define EC_WORD_FOR (EC_GROUP_ENDINGS << 9) | 0x2b
-#define EC_WORD_ON (EC_GROUP_ENDINGS << 9) | 0x2c
-#define EC_WORD_OFF (EC_GROUP_ENDINGS << 9) | 0x2d
-#define EC_WORD_AS (EC_GROUP_ENDINGS << 9) | 0x2e
-#define EC_WORD_TO (EC_GROUP_ENDINGS << 9) | 0x2f
-#define EC_WORD_WITH (EC_GROUP_ENDINGS << 9) | 0x30
-#define EC_WORD_BETTER (EC_GROUP_ENDINGS << 9) | 0x31
-#define EC_WORD_EVER (EC_GROUP_ENDINGS << 9) | 0x32
-#define EC_WORD_SINCE (EC_GROUP_ENDINGS << 9) | 0x33
-#define EC_WORD_OF (EC_GROUP_ENDINGS << 9) | 0x34
-#define EC_WORD_BELONGS_TO (EC_GROUP_ENDINGS << 9) | 0x35
-#define EC_WORD_AT (EC_GROUP_ENDINGS << 9) | 0x36
-#define EC_WORD_IN (EC_GROUP_ENDINGS << 9) | 0x37
-#define EC_WORD_OUT (EC_GROUP_ENDINGS << 9) | 0x38
-#define EC_WORD_TOO (EC_GROUP_ENDINGS << 9) | 0x39
-#define EC_WORD_LIKE (EC_GROUP_ENDINGS << 9) | 0x3a
-#define EC_WORD_DID (EC_GROUP_ENDINGS << 9) | 0x3b
-#define EC_WORD_DIDN_T (EC_GROUP_ENDINGS << 9) | 0x3c
-#define EC_WORD_DOESN_T (EC_GROUP_ENDINGS << 9) | 0x3d
-#define EC_WORD_WITHOUT (EC_GROUP_ENDINGS << 9) | 0x3e
-#define EC_WORD_AFTER (EC_GROUP_ENDINGS << 9) | 0x3f
-#define EC_WORD_BEFORE (EC_GROUP_ENDINGS << 9) | 0x40
-#define EC_WORD_WHILE (EC_GROUP_ENDINGS << 9) | 0x41
-#define EC_WORD_THAN (EC_GROUP_ENDINGS << 9) | 0x42
-#define EC_WORD_ONCE (EC_GROUP_ENDINGS << 9) | 0x43
-#define EC_WORD_ANYWHERE (EC_GROUP_ENDINGS << 9) | 0x44
-
-// FEELINGS
-#define EC_WORD_MEET (EC_GROUP_FEELINGS << 9) | 0x0
-#define EC_WORD_PLAY (EC_GROUP_FEELINGS << 9) | 0x1
-#define EC_WORD_HURRIED (EC_GROUP_FEELINGS << 9) | 0x2
-#define EC_WORD_GOES (EC_GROUP_FEELINGS << 9) | 0x3
-#define EC_WORD_GIDDY (EC_GROUP_FEELINGS << 9) | 0x4
-#define EC_WORD_HAPPY (EC_GROUP_FEELINGS << 9) | 0x5
-#define EC_WORD_HAPPINESS (EC_GROUP_FEELINGS << 9) | 0x6
-#define EC_WORD_EXCITE (EC_GROUP_FEELINGS << 9) | 0x7
-#define EC_WORD_IMPORTANT (EC_GROUP_FEELINGS << 9) | 0x8
-#define EC_WORD_FUNNY (EC_GROUP_FEELINGS << 9) | 0x9
-#define EC_WORD_GOT (EC_GROUP_FEELINGS << 9) | 0xa
-#define EC_WORD_GO_HOME (EC_GROUP_FEELINGS << 9) | 0xb
-#define EC_WORD_DISAPPOINTED (EC_GROUP_FEELINGS << 9) | 0xc
-#define EC_WORD_DISAPPOINTS (EC_GROUP_FEELINGS << 9) | 0xd
-#define EC_WORD_SAD (EC_GROUP_FEELINGS << 9) | 0xe
-#define EC_WORD_TRY (EC_GROUP_FEELINGS << 9) | 0xf
-#define EC_WORD_TRIES (EC_GROUP_FEELINGS << 9) | 0x10
-#define EC_WORD_HEARS (EC_GROUP_FEELINGS << 9) | 0x11
-#define EC_WORD_THINK (EC_GROUP_FEELINGS << 9) | 0x12
-#define EC_WORD_HEAR (EC_GROUP_FEELINGS << 9) | 0x13
-#define EC_WORD_WANTS (EC_GROUP_FEELINGS << 9) | 0x14
-#define EC_WORD_MISHEARD (EC_GROUP_FEELINGS << 9) | 0x15
-#define EC_WORD_DISLIKE (EC_GROUP_FEELINGS << 9) | 0x16
-#define EC_WORD_ANGRY (EC_GROUP_FEELINGS << 9) | 0x17
-#define EC_WORD_ANGER (EC_GROUP_FEELINGS << 9) | 0x18
-#define EC_WORD_SCARY (EC_GROUP_FEELINGS << 9) | 0x19
-#define EC_WORD_LONESOME (EC_GROUP_FEELINGS << 9) | 0x1a
-#define EC_WORD_DISAPPOINT (EC_GROUP_FEELINGS << 9) | 0x1b
-#define EC_WORD_JOY (EC_GROUP_FEELINGS << 9) | 0x1c
-#define EC_WORD_GETS (EC_GROUP_FEELINGS << 9) | 0x1d
-#define EC_WORD_NEVER (EC_GROUP_FEELINGS << 9) | 0x1e
-#define EC_WORD_DARN (EC_GROUP_FEELINGS << 9) | 0x1f
-#define EC_WORD_DOWNCAST (EC_GROUP_FEELINGS << 9) | 0x20
-#define EC_WORD_INCREDIBLE (EC_GROUP_FEELINGS << 9) | 0x21
-#define EC_WORD_LIKES (EC_GROUP_FEELINGS << 9) | 0x22
-#define EC_WORD_DISLIKES (EC_GROUP_FEELINGS << 9) | 0x23
-#define EC_WORD_BORING (EC_GROUP_FEELINGS << 9) | 0x24
-#define EC_WORD_CARE (EC_GROUP_FEELINGS << 9) | 0x25
-#define EC_WORD_CARES (EC_GROUP_FEELINGS << 9) | 0x26
-#define EC_WORD_ALL_RIGHT (EC_GROUP_FEELINGS << 9) | 0x27
-#define EC_WORD_ADORE (EC_GROUP_FEELINGS << 9) | 0x28
-#define EC_WORD_DISASTER (EC_GROUP_FEELINGS << 9) | 0x29
-#define EC_WORD_ENJOY (EC_GROUP_FEELINGS << 9) | 0x2a
-#define EC_WORD_ENJOYS (EC_GROUP_FEELINGS << 9) | 0x2b
-#define EC_WORD_EAT (EC_GROUP_FEELINGS << 9) | 0x2c
-#define EC_WORD_LACKING (EC_GROUP_FEELINGS << 9) | 0x2d
-#define EC_WORD_BAD (EC_GROUP_FEELINGS << 9) | 0x2e
-#define EC_WORD_HARD (EC_GROUP_FEELINGS << 9) | 0x2f
-#define EC_WORD_TERRIBLE (EC_GROUP_FEELINGS << 9) | 0x30
-#define EC_WORD_SHOULD (EC_GROUP_FEELINGS << 9) | 0x31
-#define EC_WORD_NICE (EC_GROUP_FEELINGS << 9) | 0x32
-#define EC_WORD_DRINK (EC_GROUP_FEELINGS << 9) | 0x33
-#define EC_WORD_SURPRISE (EC_GROUP_FEELINGS << 9) | 0x34
-#define EC_WORD_FEAR (EC_GROUP_FEELINGS << 9) | 0x35
-#define EC_WORD_WANT (EC_GROUP_FEELINGS << 9) | 0x36
-#define EC_WORD_WAIT (EC_GROUP_FEELINGS << 9) | 0x37
-#define EC_WORD_SATISFIED (EC_GROUP_FEELINGS << 9) | 0x38
-#define EC_WORD_SEE (EC_GROUP_FEELINGS << 9) | 0x39
-#define EC_WORD_RARE (EC_GROUP_FEELINGS << 9) | 0x3a
-#define EC_WORD_NEGATIVE (EC_GROUP_FEELINGS << 9) | 0x3b
-#define EC_WORD_DONE (EC_GROUP_FEELINGS << 9) | 0x3c
-#define EC_WORD_DANGER (EC_GROUP_FEELINGS << 9) | 0x3d
-#define EC_WORD_DEFEATED (EC_GROUP_FEELINGS << 9) | 0x3e
-#define EC_WORD_BEAT (EC_GROUP_FEELINGS << 9) | 0x3f
-#define EC_WORD_GREAT (EC_GROUP_FEELINGS << 9) | 0x40
-#define EC_WORD_ROMANTIC (EC_GROUP_FEELINGS << 9) | 0x41
-#define EC_WORD_QUESTION (EC_GROUP_FEELINGS << 9) | 0x42
-#define EC_WORD_UNDERSTAND (EC_GROUP_FEELINGS << 9) | 0x43
-#define EC_WORD_UNDERSTANDS (EC_GROUP_FEELINGS << 9) | 0x44
-
-// CONDITIONS
-#define EC_WORD_HOT (EC_GROUP_CONDITIONS << 9) | 0x0
-#define EC_WORD_EXISTS (EC_GROUP_CONDITIONS << 9) | 0x1
-#define EC_WORD_EXCESS (EC_GROUP_CONDITIONS << 9) | 0x2
-#define EC_WORD_APPROVED (EC_GROUP_CONDITIONS << 9) | 0x3
-#define EC_WORD_HAS (EC_GROUP_CONDITIONS << 9) | 0x4
-#define EC_WORD_GOOD (EC_GROUP_CONDITIONS << 9) | 0x5
-#define EC_WORD_LESS (EC_GROUP_CONDITIONS << 9) | 0x6
-#define EC_WORD_MOMENTUM (EC_GROUP_CONDITIONS << 9) | 0x7
-#define EC_WORD_GOING (EC_GROUP_CONDITIONS << 9) | 0x8
-#define EC_WORD_WEIRD (EC_GROUP_CONDITIONS << 9) | 0x9
-#define EC_WORD_BUSY (EC_GROUP_CONDITIONS << 9) | 0xa
-#define EC_WORD_TOGETHER (EC_GROUP_CONDITIONS << 9) | 0xb
-#define EC_WORD_FULL (EC_GROUP_CONDITIONS << 9) | 0xc
-#define EC_WORD_ABSENT (EC_GROUP_CONDITIONS << 9) | 0xd
-#define EC_WORD_BEING (EC_GROUP_CONDITIONS << 9) | 0xe
-#define EC_WORD_NEED (EC_GROUP_CONDITIONS << 9) | 0xf
-#define EC_WORD_TASTY (EC_GROUP_CONDITIONS << 9) | 0x10
-#define EC_WORD_SKILLED (EC_GROUP_CONDITIONS << 9) | 0x11
-#define EC_WORD_NOISY (EC_GROUP_CONDITIONS << 9) | 0x12
-#define EC_WORD_BIG (EC_GROUP_CONDITIONS << 9) | 0x13
-#define EC_WORD_LATE (EC_GROUP_CONDITIONS << 9) | 0x14
-#define EC_WORD_CLOSE (EC_GROUP_CONDITIONS << 9) | 0x15
-#define EC_WORD_DOCILE (EC_GROUP_CONDITIONS << 9) | 0x16
-#define EC_WORD_AMUSING (EC_GROUP_CONDITIONS << 9) | 0x17
-#define EC_WORD_ENTERTAINING (EC_GROUP_CONDITIONS << 9) | 0x18
-#define EC_WORD_PERFECTION (EC_GROUP_CONDITIONS << 9) | 0x19
-#define EC_WORD_PRETTY (EC_GROUP_CONDITIONS << 9) | 0x1a
-#define EC_WORD_HEALTHY (EC_GROUP_CONDITIONS << 9) | 0x1b
-#define EC_WORD_EXCELLENT (EC_GROUP_CONDITIONS << 9) | 0x1c
-#define EC_WORD_UPSIDE_DOWN (EC_GROUP_CONDITIONS << 9) | 0x1d
-#define EC_WORD_COLD (EC_GROUP_CONDITIONS << 9) | 0x1e
-#define EC_WORD_REFRESHING (EC_GROUP_CONDITIONS << 9) | 0x1f
-#define EC_WORD_UNAVOIDABLE (EC_GROUP_CONDITIONS << 9) | 0x20
-#define EC_WORD_MUCH (EC_GROUP_CONDITIONS << 9) | 0x21
-#define EC_WORD_OVERWHELMING (EC_GROUP_CONDITIONS << 9) | 0x22
-#define EC_WORD_FABULOUS (EC_GROUP_CONDITIONS << 9) | 0x23
-#define EC_WORD_ELSE (EC_GROUP_CONDITIONS << 9) | 0x24
-#define EC_WORD_EXPENSIVE (EC_GROUP_CONDITIONS << 9) | 0x25
-#define EC_WORD_CORRECT (EC_GROUP_CONDITIONS << 9) | 0x26
-#define EC_WORD_IMPOSSIBLE (EC_GROUP_CONDITIONS << 9) | 0x27
-#define EC_WORD_SMALL (EC_GROUP_CONDITIONS << 9) | 0x28
-#define EC_WORD_DIFFERENT (EC_GROUP_CONDITIONS << 9) | 0x29
-#define EC_WORD_TIRED (EC_GROUP_CONDITIONS << 9) | 0x2a
-#define EC_WORD_SKILL (EC_GROUP_CONDITIONS << 9) | 0x2b
-#define EC_WORD_TOP (EC_GROUP_CONDITIONS << 9) | 0x2c
-#define EC_WORD_NON_STOP (EC_GROUP_CONDITIONS << 9) | 0x2d
-#define EC_WORD_PREPOSTEROUS (EC_GROUP_CONDITIONS << 9) | 0x2e
-#define EC_WORD_NONE (EC_GROUP_CONDITIONS << 9) | 0x2f
-#define EC_WORD_NOTHING (EC_GROUP_CONDITIONS << 9) | 0x30
-#define EC_WORD_NATURAL (EC_GROUP_CONDITIONS << 9) | 0x31
-#define EC_WORD_BECOMES (EC_GROUP_CONDITIONS << 9) | 0x32
-#define EC_WORD_LUKEWARM (EC_GROUP_CONDITIONS << 9) | 0x33
-#define EC_WORD_FAST (EC_GROUP_CONDITIONS << 9) | 0x34
-#define EC_WORD_LOW (EC_GROUP_CONDITIONS << 9) | 0x35
-#define EC_WORD_AWFUL (EC_GROUP_CONDITIONS << 9) | 0x36
-#define EC_WORD_ALONE (EC_GROUP_CONDITIONS << 9) | 0x37
-#define EC_WORD_BORED (EC_GROUP_CONDITIONS << 9) | 0x38
-#define EC_WORD_SECRET (EC_GROUP_CONDITIONS << 9) | 0x39
-#define EC_WORD_MYSTERY (EC_GROUP_CONDITIONS << 9) | 0x3a
-#define EC_WORD_LACKS (EC_GROUP_CONDITIONS << 9) | 0x3b
-#define EC_WORD_BEST (EC_GROUP_CONDITIONS << 9) | 0x3c
-#define EC_WORD_LOUSY (EC_GROUP_CONDITIONS << 9) | 0x3d
-#define EC_WORD_MISTAKE (EC_GROUP_CONDITIONS << 9) | 0x3e
-#define EC_WORD_KIND (EC_GROUP_CONDITIONS << 9) | 0x3f
-#define EC_WORD_WELL (EC_GROUP_CONDITIONS << 9) | 0x40
-#define EC_WORD_WEAKENED (EC_GROUP_CONDITIONS << 9) | 0x41
-#define EC_WORD_SIMPLE (EC_GROUP_CONDITIONS << 9) | 0x42
-#define EC_WORD_SEEMS (EC_GROUP_CONDITIONS << 9) | 0x43
-#define EC_WORD_BADLY (EC_GROUP_CONDITIONS << 9) | 0x44
-
-// ACTIONS
-#define EC_WORD_MEETS (EC_GROUP_ACTIONS << 9) | 0x0
-#define EC_WORD_CONCEDE (EC_GROUP_ACTIONS << 9) | 0x1
-#define EC_WORD_GIVE (EC_GROUP_ACTIONS << 9) | 0x2
-#define EC_WORD_GIVES (EC_GROUP_ACTIONS << 9) | 0x3
-#define EC_WORD_PLAYED (EC_GROUP_ACTIONS << 9) | 0x4
-#define EC_WORD_PLAYS (EC_GROUP_ACTIONS << 9) | 0x5
-#define EC_WORD_COLLECT (EC_GROUP_ACTIONS << 9) | 0x6
-#define EC_WORD_WALKING (EC_GROUP_ACTIONS << 9) | 0x7
-#define EC_WORD_WALKS (EC_GROUP_ACTIONS << 9) | 0x8
-#define EC_WORD_SAYS (EC_GROUP_ACTIONS << 9) | 0x9
-#define EC_WORD_WENT (EC_GROUP_ACTIONS << 9) | 0xa
-#define EC_WORD_SAID (EC_GROUP_ACTIONS << 9) | 0xb
-#define EC_WORD_WAKE_UP (EC_GROUP_ACTIONS << 9) | 0xc
-#define EC_WORD_WAKES_UP (EC_GROUP_ACTIONS << 9) | 0xd
-#define EC_WORD_ANGERS (EC_GROUP_ACTIONS << 9) | 0xe
-#define EC_WORD_TEACH (EC_GROUP_ACTIONS << 9) | 0xf
-#define EC_WORD_TEACHES (EC_GROUP_ACTIONS << 9) | 0x10
-#define EC_WORD_PLEASE (EC_GROUP_ACTIONS << 9) | 0x11
-#define EC_WORD_LEARN (EC_GROUP_ACTIONS << 9) | 0x12
-#define EC_WORD_CHANGE (EC_GROUP_ACTIONS << 9) | 0x13
-#define EC_WORD_STORY (EC_GROUP_ACTIONS << 9) | 0x14
-#define EC_WORD_TRUST (EC_GROUP_ACTIONS << 9) | 0x15
-#define EC_WORD_LAVISH (EC_GROUP_ACTIONS << 9) | 0x16
-#define EC_WORD_LISTENS (EC_GROUP_ACTIONS << 9) | 0x17
-#define EC_WORD_HEARING (EC_GROUP_ACTIONS << 9) | 0x18
-#define EC_WORD_TRAINS (EC_GROUP_ACTIONS << 9) | 0x19
-#define EC_WORD_CHOOSE (EC_GROUP_ACTIONS << 9) | 0x1a
-#define EC_WORD_COME (EC_GROUP_ACTIONS << 9) | 0x1b
-#define EC_WORD_CAME (EC_GROUP_ACTIONS << 9) | 0x1c
-#define EC_WORD_SEARCH (EC_GROUP_ACTIONS << 9) | 0x1d
-#define EC_WORD_MAKE (EC_GROUP_ACTIONS << 9) | 0x1e
-#define EC_WORD_CAUSE (EC_GROUP_ACTIONS << 9) | 0x1f
-#define EC_WORD_KNOW (EC_GROUP_ACTIONS << 9) | 0x20
-#define EC_WORD_KNOWS (EC_GROUP_ACTIONS << 9) | 0x21
-#define EC_WORD_REFUSE (EC_GROUP_ACTIONS << 9) | 0x22
-#define EC_WORD_STORES (EC_GROUP_ACTIONS << 9) | 0x23
-#define EC_WORD_BRAG (EC_GROUP_ACTIONS << 9) | 0x24
-#define EC_WORD_IGNORANT (EC_GROUP_ACTIONS << 9) | 0x25
-#define EC_WORD_THINKS (EC_GROUP_ACTIONS << 9) | 0x26
-#define EC_WORD_BELIEVE (EC_GROUP_ACTIONS << 9) | 0x27
-#define EC_WORD_SLIDE (EC_GROUP_ACTIONS << 9) | 0x28
-#define EC_WORD_EATS (EC_GROUP_ACTIONS << 9) | 0x29
-#define EC_WORD_USE (EC_GROUP_ACTIONS << 9) | 0x2a
-#define EC_WORD_USES (EC_GROUP_ACTIONS << 9) | 0x2b
-#define EC_WORD_USING (EC_GROUP_ACTIONS << 9) | 0x2c
-#define EC_WORD_COULDN_T (EC_GROUP_ACTIONS << 9) | 0x2d
-#define EC_WORD_CAPABLE (EC_GROUP_ACTIONS << 9) | 0x2e
-#define EC_WORD_DISAPPEAR (EC_GROUP_ACTIONS << 9) | 0x2f
-#define EC_WORD_APPEAR (EC_GROUP_ACTIONS << 9) | 0x30
-#define EC_WORD_THROW (EC_GROUP_ACTIONS << 9) | 0x31
-#define EC_WORD_WORRY (EC_GROUP_ACTIONS << 9) | 0x32
-#define EC_WORD_SLEPT (EC_GROUP_ACTIONS << 9) | 0x33
-#define EC_WORD_SLEEP (EC_GROUP_ACTIONS << 9) | 0x34
-#define EC_WORD_RELEASE (EC_GROUP_ACTIONS << 9) | 0x35
-#define EC_WORD_DRINKS (EC_GROUP_ACTIONS << 9) | 0x36
-#define EC_WORD_RUNS (EC_GROUP_ACTIONS << 9) | 0x37
-#define EC_WORD_RUN (EC_GROUP_ACTIONS << 9) | 0x38
-#define EC_WORD_WORKS (EC_GROUP_ACTIONS << 9) | 0x39
-#define EC_WORD_WORKING (EC_GROUP_ACTIONS << 9) | 0x3a
-#define EC_WORD_TALKING (EC_GROUP_ACTIONS << 9) | 0x3b
-#define EC_WORD_TALK (EC_GROUP_ACTIONS << 9) | 0x3c
-#define EC_WORD_SINK (EC_GROUP_ACTIONS << 9) | 0x3d
-#define EC_WORD_SMACK (EC_GROUP_ACTIONS << 9) | 0x3e
-#define EC_WORD_PRETEND (EC_GROUP_ACTIONS << 9) | 0x3f
-#define EC_WORD_PRAISE (EC_GROUP_ACTIONS << 9) | 0x40
-#define EC_WORD_OVERDO (EC_GROUP_ACTIONS << 9) | 0x41
-#define EC_WORD_SHOW (EC_GROUP_ACTIONS << 9) | 0x42
-#define EC_WORD_LOOKS (EC_GROUP_ACTIONS << 9) | 0x43
-#define EC_WORD_SEES (EC_GROUP_ACTIONS << 9) | 0x44
-#define EC_WORD_SEEK (EC_GROUP_ACTIONS << 9) | 0x45
-#define EC_WORD_OWN (EC_GROUP_ACTIONS << 9) | 0x46
-#define EC_WORD_TAKE (EC_GROUP_ACTIONS << 9) | 0x47
-#define EC_WORD_ALLOW (EC_GROUP_ACTIONS << 9) | 0x48
-#define EC_WORD_FORGET (EC_GROUP_ACTIONS << 9) | 0x49
-#define EC_WORD_FORGETS (EC_GROUP_ACTIONS << 9) | 0x4a
-#define EC_WORD_APPEARS (EC_GROUP_ACTIONS << 9) | 0x4b
-#define EC_WORD_FAINT (EC_GROUP_ACTIONS << 9) | 0x4c
-#define EC_WORD_FAINTED (EC_GROUP_ACTIONS << 9) | 0x4d
-
-// LIFESTYLE
-#define EC_WORD_CHORES (EC_GROUP_LIFESTYLE << 9) | 0x0
-#define EC_WORD_HOME (EC_GROUP_LIFESTYLE << 9) | 0x1
-#define EC_WORD_MONEY (EC_GROUP_LIFESTYLE << 9) | 0x2
-#define EC_WORD_ALLOWANCE (EC_GROUP_LIFESTYLE << 9) | 0x3
-#define EC_WORD_BATH (EC_GROUP_LIFESTYLE << 9) | 0x4
-#define EC_WORD_CONVERSATION (EC_GROUP_LIFESTYLE << 9) | 0x5
-#define EC_WORD_SCHOOL (EC_GROUP_LIFESTYLE << 9) | 0x6
-#define EC_WORD_COMMEMORATE (EC_GROUP_LIFESTYLE << 9) | 0x7
-#define EC_WORD_HABIT (EC_GROUP_LIFESTYLE << 9) | 0x8
-#define EC_WORD_GROUP (EC_GROUP_LIFESTYLE << 9) | 0x9
-#define EC_WORD_WORD (EC_GROUP_LIFESTYLE << 9) | 0xa
-#define EC_WORD_STORE (EC_GROUP_LIFESTYLE << 9) | 0xb
-#define EC_WORD_SERVICE (EC_GROUP_LIFESTYLE << 9) | 0xc
-#define EC_WORD_WORK (EC_GROUP_LIFESTYLE << 9) | 0xd
-#define EC_WORD_SYSTEM (EC_GROUP_LIFESTYLE << 9) | 0xe
-#define EC_WORD_TRAIN (EC_GROUP_LIFESTYLE << 9) | 0xf
-#define EC_WORD_CLASS (EC_GROUP_LIFESTYLE << 9) | 0x10
-#define EC_WORD_LESSONS (EC_GROUP_LIFESTYLE << 9) | 0x11
-#define EC_WORD_INFORMATION (EC_GROUP_LIFESTYLE << 9) | 0x12
-#define EC_WORD_LIVING (EC_GROUP_LIFESTYLE << 9) | 0x13
-#define EC_WORD_TEACHER (EC_GROUP_LIFESTYLE << 9) | 0x14
-#define EC_WORD_TOURNAMENT (EC_GROUP_LIFESTYLE << 9) | 0x15
-#define EC_WORD_LETTER (EC_GROUP_LIFESTYLE << 9) | 0x16
-#define EC_WORD_EVENT (EC_GROUP_LIFESTYLE << 9) | 0x17
-#define EC_WORD_DIGITAL (EC_GROUP_LIFESTYLE << 9) | 0x18
-#define EC_WORD_TEST (EC_GROUP_LIFESTYLE << 9) | 0x19
-#define EC_WORD_DEPT_STORE (EC_GROUP_LIFESTYLE << 9) | 0x1a
-#define EC_WORD_TELEVISION (EC_GROUP_LIFESTYLE << 9) | 0x1b
-#define EC_WORD_PHONE (EC_GROUP_LIFESTYLE << 9) | 0x1c
-#define EC_WORD_ITEM (EC_GROUP_LIFESTYLE << 9) | 0x1d
-#define EC_WORD_NAME (EC_GROUP_LIFESTYLE << 9) | 0x1e
-#define EC_WORD_NEWS (EC_GROUP_LIFESTYLE << 9) | 0x1f
-#define EC_WORD_POPULAR (EC_GROUP_LIFESTYLE << 9) | 0x20
-#define EC_WORD_PARTY (EC_GROUP_LIFESTYLE << 9) | 0x21
-#define EC_WORD_STUDY (EC_GROUP_LIFESTYLE << 9) | 0x22
-#define EC_WORD_MACHINE (EC_GROUP_LIFESTYLE << 9) | 0x23
-#define EC_WORD_MAIL (EC_GROUP_LIFESTYLE << 9) | 0x24
-#define EC_WORD_MESSAGE (EC_GROUP_LIFESTYLE << 9) | 0x25
-#define EC_WORD_PROMISE (EC_GROUP_LIFESTYLE << 9) | 0x26
-#define EC_WORD_DREAM (EC_GROUP_LIFESTYLE << 9) | 0x27
-#define EC_WORD_KINDERGARTEN (EC_GROUP_LIFESTYLE << 9) | 0x28
-#define EC_WORD_LIFE (EC_GROUP_LIFESTYLE << 9) | 0x29
-#define EC_WORD_RADIO (EC_GROUP_LIFESTYLE << 9) | 0x2a
-#define EC_WORD_RENTAL (EC_GROUP_LIFESTYLE << 9) | 0x2b
-#define EC_WORD_WORLD (EC_GROUP_LIFESTYLE << 9) | 0x2c
-
-// HOBBIES
-#define EC_WORD_IDOL (EC_GROUP_HOBBIES << 9) | 0x0
-#define EC_WORD_ANIME (EC_GROUP_HOBBIES << 9) | 0x1
-#define EC_WORD_SONG (EC_GROUP_HOBBIES << 9) | 0x2
-#define EC_WORD_MOVIE (EC_GROUP_HOBBIES << 9) | 0x3
-#define EC_WORD_SWEETS (EC_GROUP_HOBBIES << 9) | 0x4
-#define EC_WORD_CHAT (EC_GROUP_HOBBIES << 9) | 0x5
-#define EC_WORD_CHILD_S_PLAY (EC_GROUP_HOBBIES << 9) | 0x6
-#define EC_WORD_TOYS (EC_GROUP_HOBBIES << 9) | 0x7
-#define EC_WORD_MUSIC (EC_GROUP_HOBBIES << 9) | 0x8
-#define EC_WORD_CARDS (EC_GROUP_HOBBIES << 9) | 0x9
-#define EC_WORD_SHOPPING (EC_GROUP_HOBBIES << 9) | 0xa
-#define EC_WORD_CAMERA (EC_GROUP_HOBBIES << 9) | 0xb
-#define EC_WORD_VIEWING (EC_GROUP_HOBBIES << 9) | 0xc
-#define EC_WORD_SPECTATOR (EC_GROUP_HOBBIES << 9) | 0xd
-#define EC_WORD_GOURMET (EC_GROUP_HOBBIES << 9) | 0xe
-#define EC_WORD_GAME (EC_GROUP_HOBBIES << 9) | 0xf
-#define EC_WORD_RPG (EC_GROUP_HOBBIES << 9) | 0x10
-#define EC_WORD_COLLECTION (EC_GROUP_HOBBIES << 9) | 0x11
-#define EC_WORD_COMPLETE (EC_GROUP_HOBBIES << 9) | 0x12
-#define EC_WORD_MAGAZINE (EC_GROUP_HOBBIES << 9) | 0x13
-#define EC_WORD_WALK (EC_GROUP_HOBBIES << 9) | 0x14
-#define EC_WORD_BIKE (EC_GROUP_HOBBIES << 9) | 0x15
-#define EC_WORD_HOBBY (EC_GROUP_HOBBIES << 9) | 0x16
-#define EC_WORD_SPORTS (EC_GROUP_HOBBIES << 9) | 0x17
-#define EC_WORD_SOFTWARE (EC_GROUP_HOBBIES << 9) | 0x18
-#define EC_WORD_SONGS (EC_GROUP_HOBBIES << 9) | 0x19
-#define EC_WORD_DIET (EC_GROUP_HOBBIES << 9) | 0x1a
-#define EC_WORD_TREASURE (EC_GROUP_HOBBIES << 9) | 0x1b
-#define EC_WORD_TRAVEL (EC_GROUP_HOBBIES << 9) | 0x1c
-#define EC_WORD_DANCE (EC_GROUP_HOBBIES << 9) | 0x1d
-#define EC_WORD_CHANNEL (EC_GROUP_HOBBIES << 9) | 0x1e
-#define EC_WORD_MAKING (EC_GROUP_HOBBIES << 9) | 0x1f
-#define EC_WORD_FISHING (EC_GROUP_HOBBIES << 9) | 0x20
-#define EC_WORD_DATE (EC_GROUP_HOBBIES << 9) | 0x21
-#define EC_WORD_DESIGN (EC_GROUP_HOBBIES << 9) | 0x22
-#define EC_WORD_LOCOMOTIVE (EC_GROUP_HOBBIES << 9) | 0x23
-#define EC_WORD_PLUSH_DOLL (EC_GROUP_HOBBIES << 9) | 0x24
-#define EC_WORD_PC (EC_GROUP_HOBBIES << 9) | 0x25
-#define EC_WORD_FLOWERS (EC_GROUP_HOBBIES << 9) | 0x26
-#define EC_WORD_HERO (EC_GROUP_HOBBIES << 9) | 0x27
-#define EC_WORD_NAP (EC_GROUP_HOBBIES << 9) | 0x28
-#define EC_WORD_HEROINE (EC_GROUP_HOBBIES << 9) | 0x29
-#define EC_WORD_FASHION (EC_GROUP_HOBBIES << 9) | 0x2a
-#define EC_WORD_ADVENTURE (EC_GROUP_HOBBIES << 9) | 0x2b
-#define EC_WORD_BOARD (EC_GROUP_HOBBIES << 9) | 0x2c
-#define EC_WORD_BALL (EC_GROUP_HOBBIES << 9) | 0x2d
-#define EC_WORD_BOOK (EC_GROUP_HOBBIES << 9) | 0x2e
-#define EC_WORD_FESTIVAL (EC_GROUP_HOBBIES << 9) | 0x2f
-#define EC_WORD_COMICS (EC_GROUP_HOBBIES << 9) | 0x30
-#define EC_WORD_HOLIDAY (EC_GROUP_HOBBIES << 9) | 0x31
-#define EC_WORD_PLANS (EC_GROUP_HOBBIES << 9) | 0x32
-#define EC_WORD_TRENDY (EC_GROUP_HOBBIES << 9) | 0x33
-#define EC_WORD_VACATION (EC_GROUP_HOBBIES << 9) | 0x34
-#define EC_WORD_LOOK (EC_GROUP_HOBBIES << 9) | 0x35
-
-// TIME
-#define EC_WORD_FALL (EC_GROUP_TIME << 9) | 0x0
-#define EC_WORD_MORNING (EC_GROUP_TIME << 9) | 0x1
-#define EC_WORD_TOMORROW (EC_GROUP_TIME << 9) | 0x2
-#define EC_WORD_LAST (EC_GROUP_TIME << 9) | 0x3
-#define EC_WORD_DAY (EC_GROUP_TIME << 9) | 0x4
-#define EC_WORD_SOMETIME (EC_GROUP_TIME << 9) | 0x5
-#define EC_WORD_ALWAYS (EC_GROUP_TIME << 9) | 0x6
-#define EC_WORD_CURRENT (EC_GROUP_TIME << 9) | 0x7
-#define EC_WORD_FOREVER (EC_GROUP_TIME << 9) | 0x8
-#define EC_WORD_DAYS (EC_GROUP_TIME << 9) | 0x9
-#define EC_WORD_END (EC_GROUP_TIME << 9) | 0xa
-#define EC_WORD_TUESDAY (EC_GROUP_TIME << 9) | 0xb
-#define EC_WORD_YESTERDAY (EC_GROUP_TIME << 9) | 0xc
-#define EC_WORD_TODAY (EC_GROUP_TIME << 9) | 0xd
-#define EC_WORD_FRIDAY (EC_GROUP_TIME << 9) | 0xe
-#define EC_WORD_MONDAY (EC_GROUP_TIME << 9) | 0xf
-#define EC_WORD_LATER (EC_GROUP_TIME << 9) | 0x10
-#define EC_WORD_EARLIER (EC_GROUP_TIME << 9) | 0x11
-#define EC_WORD_ANOTHER (EC_GROUP_TIME << 9) | 0x12
-#define EC_WORD_TIME (EC_GROUP_TIME << 9) | 0x13
-#define EC_WORD_FINISH (EC_GROUP_TIME << 9) | 0x14
-#define EC_WORD_WEDNESDAY (EC_GROUP_TIME << 9) | 0x15
-#define EC_WORD_SOON (EC_GROUP_TIME << 9) | 0x16
-#define EC_WORD_START (EC_GROUP_TIME << 9) | 0x17
-#define EC_WORD_MONTH (EC_GROUP_TIME << 9) | 0x18
-#define EC_WORD_STOP (EC_GROUP_TIME << 9) | 0x19
-#define EC_WORD_NOW (EC_GROUP_TIME << 9) | 0x1a
-#define EC_WORD_FINAL (EC_GROUP_TIME << 9) | 0x1b
-#define EC_WORD_NEXT (EC_GROUP_TIME << 9) | 0x1c
-#define EC_WORD_AGE (EC_GROUP_TIME << 9) | 0x1d
-#define EC_WORD_SATURDAY (EC_GROUP_TIME << 9) | 0x1e
-#define EC_WORD_SUMMER (EC_GROUP_TIME << 9) | 0x1f
-#define EC_WORD_SUNDAY (EC_GROUP_TIME << 9) | 0x20
-#define EC_WORD_BEGINNING (EC_GROUP_TIME << 9) | 0x21
-#define EC_WORD_SPRING (EC_GROUP_TIME << 9) | 0x22
-#define EC_WORD_DAYTIME (EC_GROUP_TIME << 9) | 0x23
-#define EC_WORD_WINTER (EC_GROUP_TIME << 9) | 0x24
-#define EC_WORD_DAILY (EC_GROUP_TIME << 9) | 0x25
-#define EC_WORD_OLDEN (EC_GROUP_TIME << 9) | 0x26
-#define EC_WORD_ALMOST (EC_GROUP_TIME << 9) | 0x27
-#define EC_WORD_NEARLY (EC_GROUP_TIME << 9) | 0x28
-#define EC_WORD_THURSDAY (EC_GROUP_TIME << 9) | 0x29
-#define EC_WORD_NIGHTTIME (EC_GROUP_TIME << 9) | 0x2a
-#define EC_WORD_NIGHT (EC_GROUP_TIME << 9) | 0x2b
-#define EC_WORD_WEEK (EC_GROUP_TIME << 9) | 0x2c
-
-// MISC
-#define EC_WORD_HIGHS (EC_GROUP_MISC << 9) | 0x0
-#define EC_WORD_LOWS (EC_GROUP_MISC << 9) | 0x1
-#define EC_WORD_UM (EC_GROUP_MISC << 9) | 0x2
-#define EC_WORD_REAR (EC_GROUP_MISC << 9) | 0x3
-#define EC_WORD_THINGS (EC_GROUP_MISC << 9) | 0x4
-#define EC_WORD_THING (EC_GROUP_MISC << 9) | 0x5
-#define EC_WORD_BELOW (EC_GROUP_MISC << 9) | 0x6
-#define EC_WORD_ABOVE (EC_GROUP_MISC << 9) | 0x7
-#define EC_WORD_BACK (EC_GROUP_MISC << 9) | 0x8
-#define EC_WORD_HIGH (EC_GROUP_MISC << 9) | 0x9
-#define EC_WORD_HERE (EC_GROUP_MISC << 9) | 0xa
-#define EC_WORD_INSIDE (EC_GROUP_MISC << 9) | 0xb
-#define EC_WORD_OUTSIDE (EC_GROUP_MISC << 9) | 0xc
-#define EC_WORD_BESIDE (EC_GROUP_MISC << 9) | 0xd
-#define EC_WORD_THIS_IS_IT_EXCL (EC_GROUP_MISC << 9) | 0xe
-#define EC_WORD_THIS (EC_GROUP_MISC << 9) | 0xf
-#define EC_WORD_EVERY (EC_GROUP_MISC << 9) | 0x10
-#define EC_WORD_THESE (EC_GROUP_MISC << 9) | 0x11
-#define EC_WORD_THESE_WERE (EC_GROUP_MISC << 9) | 0x12
-#define EC_WORD_DOWN (EC_GROUP_MISC << 9) | 0x13
-#define EC_WORD_THAT (EC_GROUP_MISC << 9) | 0x14
-#define EC_WORD_THOSE_ARE (EC_GROUP_MISC << 9) | 0x15
-#define EC_WORD_THOSE_WERE (EC_GROUP_MISC << 9) | 0x16
-#define EC_WORD_THAT_S_IT_EXCL (EC_GROUP_MISC << 9) | 0x17
-#define EC_WORD_AM (EC_GROUP_MISC << 9) | 0x18
-#define EC_WORD_THAT_WAS (EC_GROUP_MISC << 9) | 0x19
-#define EC_WORD_FRONT (EC_GROUP_MISC << 9) | 0x1a
-#define EC_WORD_UP (EC_GROUP_MISC << 9) | 0x1b
-#define EC_WORD_CHOICE (EC_GROUP_MISC << 9) | 0x1c
-#define EC_WORD_FAR (EC_GROUP_MISC << 9) | 0x1d
-#define EC_WORD_AWAY (EC_GROUP_MISC << 9) | 0x1e
-#define EC_WORD_NEAR (EC_GROUP_MISC << 9) | 0x1f
-#define EC_WORD_WHERE (EC_GROUP_MISC << 9) | 0x20
-#define EC_WORD_WHEN (EC_GROUP_MISC << 9) | 0x21
-#define EC_WORD_WHAT (EC_GROUP_MISC << 9) | 0x22
-#define EC_WORD_DEEP (EC_GROUP_MISC << 9) | 0x23
-#define EC_WORD_SHALLOW (EC_GROUP_MISC << 9) | 0x24
-#define EC_WORD_WHY (EC_GROUP_MISC << 9) | 0x25
-#define EC_WORD_CONFUSED (EC_GROUP_MISC << 9) | 0x26
-#define EC_WORD_OPPOSITE (EC_GROUP_MISC << 9) | 0x27
-#define EC_WORD_LEFT (EC_GROUP_MISC << 9) | 0x28
-#define EC_WORD_RIGHT (EC_GROUP_MISC << 9) | 0x29
-
-// ADJECTIVES
-#define EC_WORD_WANDERING (EC_GROUP_ADJECTIVES << 9) | 0x0
-#define EC_WORD_RICKETY (EC_GROUP_ADJECTIVES << 9) | 0x1
-#define EC_WORD_ROCK_SOLID (EC_GROUP_ADJECTIVES << 9) | 0x2
-#define EC_WORD_HUNGRY (EC_GROUP_ADJECTIVES << 9) | 0x3
-#define EC_WORD_TIGHT (EC_GROUP_ADJECTIVES << 9) | 0x4
-#define EC_WORD_TICKLISH (EC_GROUP_ADJECTIVES << 9) | 0x5
-#define EC_WORD_TWIRLING (EC_GROUP_ADJECTIVES << 9) | 0x6
-#define EC_WORD_SPIRALING (EC_GROUP_ADJECTIVES << 9) | 0x7
-#define EC_WORD_THIRSTY (EC_GROUP_ADJECTIVES << 9) | 0x8
-#define EC_WORD_LOLLING (EC_GROUP_ADJECTIVES << 9) | 0x9
-#define EC_WORD_SILKY (EC_GROUP_ADJECTIVES << 9) | 0xa
-#define EC_WORD_SADLY (EC_GROUP_ADJECTIVES << 9) | 0xb
-#define EC_WORD_HOPELESS (EC_GROUP_ADJECTIVES << 9) | 0xc
-#define EC_WORD_USELESS (EC_GROUP_ADJECTIVES << 9) | 0xd
-#define EC_WORD_DROOLING (EC_GROUP_ADJECTIVES << 9) | 0xe
-#define EC_WORD_EXCITING (EC_GROUP_ADJECTIVES << 9) | 0xf
-#define EC_WORD_THICK (EC_GROUP_ADJECTIVES << 9) | 0x10
-#define EC_WORD_SMOOTH (EC_GROUP_ADJECTIVES << 9) | 0x11
-#define EC_WORD_SLIMY (EC_GROUP_ADJECTIVES << 9) | 0x12
-#define EC_WORD_THIN (EC_GROUP_ADJECTIVES << 9) | 0x13
-#define EC_WORD_BREAK (EC_GROUP_ADJECTIVES << 9) | 0x14
-#define EC_WORD_VORACIOUS (EC_GROUP_ADJECTIVES << 9) | 0x15
-#define EC_WORD_SCATTER (EC_GROUP_ADJECTIVES << 9) | 0x16
-#define EC_WORD_AWESOME (EC_GROUP_ADJECTIVES << 9) | 0x17
-#define EC_WORD_WIMPY (EC_GROUP_ADJECTIVES << 9) | 0x18
-#define EC_WORD_WOBBLY (EC_GROUP_ADJECTIVES << 9) | 0x19
-#define EC_WORD_SHAKY (EC_GROUP_ADJECTIVES << 9) | 0x1a
-#define EC_WORD_RIPPED (EC_GROUP_ADJECTIVES << 9) | 0x1b
-#define EC_WORD_SHREDDED (EC_GROUP_ADJECTIVES << 9) | 0x1c
-#define EC_WORD_INCREASING (EC_GROUP_ADJECTIVES << 9) | 0x1d
-#define EC_WORD_YET (EC_GROUP_ADJECTIVES << 9) | 0x1e
-#define EC_WORD_DESTROYED (EC_GROUP_ADJECTIVES << 9) | 0x1f
-#define EC_WORD_FIERY (EC_GROUP_ADJECTIVES << 9) | 0x20
-#define EC_WORD_LOVEY_DOVEY (EC_GROUP_ADJECTIVES << 9) | 0x21
-#define EC_WORD_HAPPILY (EC_GROUP_ADJECTIVES << 9) | 0x22
-#define EC_WORD_ANTICIPATION (EC_GROUP_ADJECTIVES << 9) | 0x23
-
-// EVENTS
-#define EC_WORD_APPEAL (EC_GROUP_EVENTS << 9) | 0x0
-#define EC_WORD_EVENTS (EC_GROUP_EVENTS << 9) | 0x1
-#define EC_WORD_STAY_AT_HOME (EC_GROUP_EVENTS << 9) | 0x2
-#define EC_WORD_BERRY (EC_GROUP_EVENTS << 9) | 0x3
-#define EC_WORD_CONTEST (EC_GROUP_EVENTS << 9) | 0x4
-#define EC_WORD_MC (EC_GROUP_EVENTS << 9) | 0x5
-#define EC_WORD_JUDGE (EC_GROUP_EVENTS << 9) | 0x6
-#define EC_WORD_SUPER (EC_GROUP_EVENTS << 9) | 0x7
-#define EC_WORD_STAGE (EC_GROUP_EVENTS << 9) | 0x8
-#define EC_WORD_HALL_OF_FAME (EC_GROUP_EVENTS << 9) | 0x9
-#define EC_WORD_EVOLUTION (EC_GROUP_EVENTS << 9) | 0xa
-#define EC_WORD_HYPER (EC_GROUP_EVENTS << 9) | 0xb
-#define EC_WORD_BATTLE_TOWER (EC_GROUP_EVENTS << 9) | 0xc
-#define EC_WORD_LEADERS (EC_GROUP_EVENTS << 9) | 0xd
-#define EC_WORD_BATTLE_ROOM (EC_GROUP_EVENTS << 9) | 0xe
-#define EC_WORD_HIDDEN (EC_GROUP_EVENTS << 9) | 0xf
-#define EC_WORD_SECRET_BASE (EC_GROUP_EVENTS << 9) | 0x10
-#define EC_WORD_BLEND (EC_GROUP_EVENTS << 9) | 0x11
-#define EC_WORD_POKEBLOCK (EC_GROUP_EVENTS << 9) | 0x12
-#define EC_WORD_MASTER (EC_GROUP_EVENTS << 9) | 0x13
-#define EC_WORD_RANK (EC_GROUP_EVENTS << 9) | 0x14
-#define EC_WORD_RIBBON (EC_GROUP_EVENTS << 9) | 0x15
+enum {
+ EC_WORD_I_CHOOSE_YOU = EC_GROUP_TRAINER << 9,
+ EC_WORD_GOTCHA,
+ EC_WORD_TRADE,
+ EC_WORD_SAPPHIRE,
+ EC_WORD_EVOLVE,
+ EC_WORD_ENCYCLOPEDIA,
+ EC_WORD_NATURE,
+ EC_WORD_CENTER,
+ EC_WORD_EGG,
+ EC_WORD_LINK,
+ EC_WORD_SP_ABILITY,
+ EC_WORD_TRAINER,
+ EC_WORD_VERSION,
+ EC_WORD_POKENAV,
+ EC_WORD_POKEMON,
+ EC_WORD_GET,
+ EC_WORD_POKEDEX,
+ EC_WORD_RUBY,
+ EC_WORD_LEVEL
+};
+enum {
+ EC_WORD_DARK = EC_GROUP_STATUS << 9,
+ EC_WORD_STENCH,
+ EC_WORD_THICK_FAT,
+ EC_WORD_RAIN_DISH,
+ EC_WORD_DRIZZLE,
+ EC_WORD_ARENA_TRAP,
+ EC_WORD_INTIMIDATE,
+ EC_WORD_ROCK_HEAD,
+ EC_WORD_COLOR,
+ EC_WORD_ALT_COLOR,
+ EC_WORD_ROCK,
+ EC_WORD_BEAUTIFUL,
+ EC_WORD_BEAUTY,
+ EC_WORD_AIR_LOCK,
+ EC_WORD_PSYCHIC,
+ EC_WORD_HYPER_CUTTER,
+ EC_WORD_FIGHTING,
+ EC_WORD_SHADOW_TAG,
+ EC_WORD_SMART,
+ EC_WORD_SMARTNESS,
+ EC_WORD_SPEED_BOOST,
+ EC_WORD_COOL,
+ EC_WORD_COOLNESS,
+ EC_WORD_BATTLE_ARMOR,
+ EC_WORD_CUTE,
+ EC_WORD_CUTENESS,
+ EC_WORD_STURDY,
+ EC_WORD_SUCTION_CUPS,
+ EC_WORD_GRASS,
+ EC_WORD_CLEAR_BODY,
+ EC_WORD_TORRENT,
+ EC_WORD_GHOST,
+ EC_WORD_ICE,
+ EC_WORD_GUTS,
+ EC_WORD_ROUGH_SKIN,
+ EC_WORD_SHELL_ARMOR,
+ EC_WORD_NATURAL_CURE,
+ EC_WORD_DAMP,
+ EC_WORD_GROUND,
+ EC_WORD_LIMBER,
+ EC_WORD_MAGNET_PULL,
+ EC_WORD_WHITE_SMOKE,
+ EC_WORD_SYNCHRONIZE,
+ EC_WORD_OVERGROW,
+ EC_WORD_SWIFT_SWIM,
+ EC_WORD_SAND_STREAM,
+ EC_WORD_SAND_VEIL,
+ EC_WORD_KEEN_EYE,
+ EC_WORD_INNER_FOCUS,
+ EC_WORD_STATIC,
+ EC_WORD_TYPE,
+ EC_WORD_TOUGH,
+ EC_WORD_TOUGHNESS,
+ EC_WORD_SHED_SKIN,
+ EC_WORD_HUGE_POWER,
+ EC_WORD_VOLT_ABSORB,
+ EC_WORD_WATER_ABSORB,
+ EC_WORD_ELECTRIC,
+ EC_WORD_FORECAST,
+ EC_WORD_SERENE_GRACE,
+ EC_WORD_POISON,
+ EC_WORD_POISON_POINT,
+ EC_WORD_DRAGON,
+ EC_WORD_TRACE,
+ EC_WORD_OBLIVIOUS,
+ EC_WORD_TRUANT,
+ EC_WORD_RUN_AWAY,
+ EC_WORD_STICKY_HOLD,
+ EC_WORD_CLOUD_NINE,
+ EC_WORD_NORMAL,
+ EC_WORD_STEEL,
+ EC_WORD_ILLUMINATE,
+ EC_WORD_EARLY_BIRD,
+ EC_WORD_HUSTLE,
+ EC_WORD_SHINE,
+ EC_WORD_FLYING,
+ EC_WORD_DROUGHT,
+ EC_WORD_LIGHTNINGROD,
+ EC_WORD_COMPOUNDEYES,
+ EC_WORD_MARVEL_SCALE,
+ EC_WORD_WONDER_GUARD,
+ EC_WORD_INSOMNIA,
+ EC_WORD_LEVITATE,
+ EC_WORD_PLUS,
+ EC_WORD_PRESSURE,
+ EC_WORD_LIQUID_OOZE,
+ EC_WORD_COLOR_CHANGE,
+ EC_WORD_SOUNDPROOF,
+ EC_WORD_EFFECT_SPORE,
+ EC_WORD_PKRS,
+ EC_WORD_FIRE,
+ EC_WORD_FLAME_BODY,
+ EC_WORD_MINUS,
+ EC_WORD_OWN_TEMPO,
+ EC_WORD_MAGMA_ARMOR,
+ EC_WORD_WATER,
+ EC_WORD_WATER_VEIL,
+ EC_WORD_BUG,
+ EC_WORD_SWARM,
+ EC_WORD_CUTE_CHARM,
+ EC_WORD_IMMUNITY,
+ EC_WORD_BLAZE,
+ EC_WORD_PICKUP,
+ EC_WORD_PATTERN,
+ EC_WORD_FLASH_FIRE,
+ EC_WORD_VITAL_SPIRIT,
+ EC_WORD_CHLOROPHYLL,
+ EC_WORD_PURE_POWER,
+ EC_WORD_SHIELD_DUST,
+};
+enum {
+ EC_WORD_MATCH_UP = EC_GROUP_BATTLE << 9,
+ EC_WORD_GO,
+ EC_WORD_NO_1,
+ EC_WORD_DECIDE,
+ EC_WORD_LET_ME_WIN,
+ EC_WORD_WINS,
+ EC_WORD_WIN,
+ EC_WORD_WON,
+ EC_WORD_IF_I_WIN,
+ EC_WORD_WHEN_I_WIN,
+ EC_WORD_CAN_T_WIN,
+ EC_WORD_CAN_WIN,
+ EC_WORD_NO_MATCH,
+ EC_WORD_SPIRIT,
+ EC_WORD_DECIDED,
+ EC_WORD_TRUMP_CARD,
+ EC_WORD_TAKE_THAT,
+ EC_WORD_COME_ON,
+ EC_WORD_ATTACK,
+ EC_WORD_SURRENDER,
+ EC_WORD_GUTSY,
+ EC_WORD_TALENT,
+ EC_WORD_STRATEGY,
+ EC_WORD_SMITE,
+ EC_WORD_MATCH,
+ EC_WORD_VICTORY,
+ EC_WORD_OFFENSIVE,
+ EC_WORD_SENSE,
+ EC_WORD_VERSUS,
+ EC_WORD_FIGHTS,
+ EC_WORD_POWER,
+ EC_WORD_CHALLENGE,
+ EC_WORD_STRONG,
+ EC_WORD_TOO_STRONG,
+ EC_WORD_GO_EASY,
+ EC_WORD_FOE,
+ EC_WORD_GENIUS,
+ EC_WORD_LEGEND,
+ EC_WORD_ESCAPE,
+ EC_WORD_AIM,
+ EC_WORD_BATTLE,
+ EC_WORD_FIGHT,
+ EC_WORD_RESUSCITATE,
+ EC_WORD_POINTS,
+ EC_WORD_SERIOUS,
+ EC_WORD_GIVE_UP,
+ EC_WORD_LOSS,
+ EC_WORD_IF_I_LOSE,
+ EC_WORD_LOST,
+ EC_WORD_LOSE,
+ EC_WORD_GUARD,
+ EC_WORD_PARTNER,
+ EC_WORD_REJECT,
+ EC_WORD_ACCEPT,
+ EC_WORD_INVINCIBLE,
+ EC_WORD_RECEIVED,
+ EC_WORD_EASY,
+ EC_WORD_WEAK,
+ EC_WORD_TOO_WEAK,
+ EC_WORD_PUSHOVER,
+ EC_WORD_LEADER,
+ EC_WORD_RULE,
+ EC_WORD_MOVE
+};
+enum {
+ EC_WORD_THANKS = EC_GROUP_GREETINGS << 9,
+ EC_WORD_YES,
+ EC_WORD_HERE_GOES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_HERE_IT_IS,
+ EC_WORD_YEAH,
+ EC_WORD_WELCOME,
+ EC_WORD_OI,
+ EC_WORD_HOW_DO,
+ EC_WORD_CONGRATS,
+ EC_WORD_GIVE_ME,
+ EC_WORD_SORRY,
+ EC_WORD_APOLOGIZE,
+ EC_WORD_FORGIVE,
+ EC_WORD_HEY_THERE,
+ EC_WORD_HELLO,
+ EC_WORD_GOOD_BYE,
+ EC_WORD_THANK_YOU,
+ EC_WORD_I_VE_ARRIVED,
+ EC_WORD_PARDON,
+ EC_WORD_EXCUSE,
+ EC_WORD_SEE_YA,
+ EC_WORD_EXCUSE_ME,
+ EC_WORD_WELL_THEN,
+ EC_WORD_GO_AHEAD,
+ EC_WORD_APPRECIATE,
+ EC_WORD_HEY_QUES,
+ EC_WORD_WHAT_S_UP_QUES,
+ EC_WORD_HUH_QUES,
+ EC_WORD_NO,
+ EC_WORD_HI,
+ EC_WORD_YEAH_YEAH,
+ EC_WORD_BYE_BYE,
+ EC_WORD_MEET_YOU,
+ EC_WORD_HEY,
+ EC_WORD_SMELL,
+ EC_WORD_LISTENING,
+ EC_WORD_HOO_HAH,
+ EC_WORD_YAHOO,
+ EC_WORD_YO,
+ EC_WORD_COME_OVER,
+ EC_WORD_COUNT_ON
+};
+enum {
+ EC_WORD_OPPONENT = EC_GROUP_PEOPLE << 9,
+ EC_WORD_I,
+ EC_WORD_YOU,
+ EC_WORD_YOURS,
+ EC_WORD_SON,
+ EC_WORD_YOUR,
+ EC_WORD_YOU_RE,
+ EC_WORD_YOU_VE,
+ EC_WORD_MOTHER,
+ EC_WORD_GRANDFATHER,
+ EC_WORD_UNCLE,
+ EC_WORD_FATHER,
+ EC_WORD_BOY,
+ EC_WORD_ADULT,
+ EC_WORD_BROTHER,
+ EC_WORD_SISTER,
+ EC_WORD_GRANDMOTHER,
+ EC_WORD_AUNT,
+ EC_WORD_PARENT,
+ EC_WORD_MAN,
+ EC_WORD_ME,
+ EC_WORD_GIRL,
+ EC_WORD_BABE,
+ EC_WORD_FAMILY,
+ EC_WORD_HER,
+ EC_WORD_HIM,
+ EC_WORD_HE,
+ EC_WORD_PLACE,
+ EC_WORD_DAUGHTER,
+ EC_WORD_HIS,
+ EC_WORD_HE_S,
+ EC_WORD_AREN_T,
+ EC_WORD_SIBLINGS,
+ EC_WORD_KID,
+ EC_WORD_CHILDREN,
+ EC_WORD_MR,
+ EC_WORD_MRS,
+ EC_WORD_MYSELF,
+ EC_WORD_I_WAS,
+ EC_WORD_TO_ME,
+ EC_WORD_MY,
+ EC_WORD_I_AM,
+ EC_WORD_I_VE,
+ EC_WORD_WHO,
+ EC_WORD_SOMEONE,
+ EC_WORD_WHO_WAS,
+ EC_WORD_TO_WHOM,
+ EC_WORD_WHOSE,
+ EC_WORD_WHO_IS,
+ EC_WORD_IT_S,
+ EC_WORD_LADY,
+ EC_WORD_FRIEND,
+ EC_WORD_ALLY,
+ EC_WORD_PERSON,
+ EC_WORD_DUDE,
+ EC_WORD_THEY,
+ EC_WORD_THEY_WERE,
+ EC_WORD_TO_THEM,
+ EC_WORD_THEIR,
+ EC_WORD_THEY_RE,
+ EC_WORD_THEY_VE,
+ EC_WORD_WE,
+ EC_WORD_BEEN,
+ EC_WORD_TO_US,
+ EC_WORD_OUR,
+ EC_WORD_WE_RE,
+ EC_WORD_RIVAL,
+ EC_WORD_WE_VE,
+ EC_WORD_WOMAN,
+ EC_WORD_SHE,
+ EC_WORD_SHE_WAS,
+ EC_WORD_TO_HER,
+ EC_WORD_HERS,
+ EC_WORD_SHE_IS,
+ EC_WORD_SOME
+};
+enum {
+ EC_WORD_EXCL = EC_GROUP_VOICES << 9,
+ EC_WORD_EXCL_EXCL,
+ EC_WORD_QUES_EXCL,
+ EC_WORD_QUES,
+ EC_WORD_ELLIPSIS,
+ EC_WORD_ELLIPSIS_EXCL,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_DASH,
+ EC_WORD_DASH_DASH_DASH,
+ EC_WORD_UH_OH,
+ EC_WORD_WAAAH,
+ EC_WORD_AHAHA,
+ EC_WORD_OH_QUES,
+ EC_WORD_NOPE,
+ EC_WORD_URGH,
+ EC_WORD_HMM,
+ EC_WORD_WHOAH,
+ EC_WORD_WROOOAAR_EXCL,
+ EC_WORD_WOW,
+ EC_WORD_GIGGLE,
+ EC_WORD_SIGH,
+ EC_WORD_UNBELIEVABLE,
+ EC_WORD_CRIES,
+ EC_WORD_AGREE,
+ EC_WORD_EH_QUES,
+ EC_WORD_CRY,
+ EC_WORD_EHEHE,
+ EC_WORD_OI_OI_OI,
+ EC_WORD_OH_YEAH,
+ EC_WORD_OH,
+ EC_WORD_OOPS,
+ EC_WORD_SHOCKED,
+ EC_WORD_EEK,
+ EC_WORD_GRAAAH,
+ EC_WORD_GWAHAHAHA,
+ EC_WORD_WAY,
+ EC_WORD_TCH,
+ EC_WORD_HEHE,
+ EC_WORD_HAH,
+ EC_WORD_YUP,
+ EC_WORD_HAHAHA,
+ EC_WORD_AIYEEH,
+ EC_WORD_HIYAH,
+ EC_WORD_FUFUFU,
+ EC_WORD_LOL,
+ EC_WORD_SNORT,
+ EC_WORD_HUMPH,
+ EC_WORD_HEHEHE,
+ EC_WORD_HEH,
+ EC_WORD_HOHOHO,
+ EC_WORD_UH_HUH,
+ EC_WORD_OH_DEAR,
+ EC_WORD_ARRGH,
+ EC_WORD_MUFUFU,
+ EC_WORD_MMM,
+ EC_WORD_OH_KAY,
+ EC_WORD_OKAY,
+ EC_WORD_LALALA,
+ EC_WORD_YAY,
+ EC_WORD_AWW,
+ EC_WORD_WOWEE,
+ EC_WORD_GWAH,
+ EC_WORD_WAHAHAHA
+};
+enum {
+ EC_WORD_LISTEN = EC_GROUP_SPEECH << 9,
+ EC_WORD_NOT_VERY,
+ EC_WORD_MEAN,
+ EC_WORD_LIE,
+ EC_WORD_LAY,
+ EC_WORD_RECOMMEND,
+ EC_WORD_NITWIT,
+ EC_WORD_QUITE,
+ EC_WORD_FROM,
+ EC_WORD_FEELING,
+ EC_WORD_BUT,
+ EC_WORD_HOWEVER,
+ EC_WORD_CASE,
+ EC_WORD_THE,
+ EC_WORD_MISS,
+ EC_WORD_HOW,
+ EC_WORD_HIT,
+ EC_WORD_ENOUGH,
+ EC_WORD_A_LOT,
+ EC_WORD_A_LITTLE,
+ EC_WORD_ABSOLUTELY,
+ EC_WORD_AND,
+ EC_WORD_ONLY,
+ EC_WORD_AROUND,
+ EC_WORD_PROBABLY,
+ EC_WORD_IF,
+ EC_WORD_VERY,
+ EC_WORD_A_TINY_BIT,
+ EC_WORD_WILD,
+ EC_WORD_THAT_S,
+ EC_WORD_JUST,
+ EC_WORD_EVEN_SO,
+ EC_WORD_MUST_BE,
+ EC_WORD_NATURALLY,
+ EC_WORD_FOR_NOW,
+ EC_WORD_UNDERSTOOD,
+ EC_WORD_JOKING,
+ EC_WORD_READY,
+ EC_WORD_SOMETHING,
+ EC_WORD_SOMEHOW,
+ EC_WORD_ALTHOUGH,
+ EC_WORD_ALSO,
+ EC_WORD_PERFECT,
+ EC_WORD_AS_MUCH_AS,
+ EC_WORD_REALLY,
+ EC_WORD_TRULY,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_TOTALLY,
+ EC_WORD_UNTIL,
+ EC_WORD_AS_IF,
+ EC_WORD_MOOD,
+ EC_WORD_RATHER,
+ EC_WORD_AWFULLY,
+ EC_WORD_MODE,
+ EC_WORD_MORE,
+ EC_WORD_TOO_LATE,
+ EC_WORD_FINALLY,
+ EC_WORD_ANY,
+ EC_WORD_INSTEAD,
+ EC_WORD_FANTASTIC
+};
+enum {
+ EC_WORD_WILL = EC_GROUP_ENDINGS << 9,
+ EC_WORD_WILL_BE_HERE,
+ EC_WORD_OR,
+ EC_WORD_TIMES,
+ EC_WORD_WONDER,
+ EC_WORD_IS_IT_QUES,
+ EC_WORD_BE,
+ EC_WORD_GIMME,
+ EC_WORD_COULD,
+ EC_WORD_LIKELY_TO,
+ EC_WORD_WOULD,
+ EC_WORD_IS,
+ EC_WORD_ISN_T_IT_QUES,
+ EC_WORD_LET_S,
+ EC_WORD_OTHER,
+ EC_WORD_ARE,
+ EC_WORD_WAS,
+ EC_WORD_WERE,
+ EC_WORD_THOSE,
+ EC_WORD_ISN_T,
+ EC_WORD_WON_T,
+ EC_WORD_CAN_T,
+ EC_WORD_CAN,
+ EC_WORD_DON_T,
+ EC_WORD_DO,
+ EC_WORD_DOES,
+ EC_WORD_WHOM,
+ EC_WORD_WHICH,
+ EC_WORD_WASN_T,
+ EC_WORD_WEREN_T,
+ EC_WORD_HAVE,
+ EC_WORD_HAVEN_T,
+ EC_WORD_A,
+ EC_WORD_AN,
+ EC_WORD_NOT,
+ EC_WORD_THERE,
+ EC_WORD_OK_QUES,
+ EC_WORD_SO,
+ EC_WORD_MAYBE,
+ EC_WORD_ABOUT,
+ EC_WORD_OVER,
+ EC_WORD_IT,
+ EC_WORD_ALL,
+ EC_WORD_FOR,
+ EC_WORD_ON,
+ EC_WORD_OFF,
+ EC_WORD_AS,
+ EC_WORD_TO,
+ EC_WORD_WITH,
+ EC_WORD_BETTER,
+ EC_WORD_EVER,
+ EC_WORD_SINCE,
+ EC_WORD_OF,
+ EC_WORD_BELONGS_TO,
+ EC_WORD_AT,
+ EC_WORD_IN,
+ EC_WORD_OUT,
+ EC_WORD_TOO,
+ EC_WORD_LIKE,
+ EC_WORD_DID,
+ EC_WORD_DIDN_T,
+ EC_WORD_DOESN_T,
+ EC_WORD_WITHOUT,
+ EC_WORD_AFTER,
+ EC_WORD_BEFORE,
+ EC_WORD_WHILE,
+ EC_WORD_THAN,
+ EC_WORD_ONCE,
+ EC_WORD_ANYWHERE
+};
+enum {
+ EC_WORD_MEET = EC_GROUP_FEELINGS << 9,
+ EC_WORD_PLAY,
+ EC_WORD_HURRIED,
+ EC_WORD_GOES,
+ EC_WORD_GIDDY,
+ EC_WORD_HAPPY,
+ EC_WORD_HAPPINESS,
+ EC_WORD_EXCITE,
+ EC_WORD_IMPORTANT,
+ EC_WORD_FUNNY,
+ EC_WORD_GOT,
+ EC_WORD_GO_HOME,
+ EC_WORD_DISAPPOINTED,
+ EC_WORD_DISAPPOINTS,
+ EC_WORD_SAD,
+ EC_WORD_TRY,
+ EC_WORD_TRIES,
+ EC_WORD_HEARS,
+ EC_WORD_THINK,
+ EC_WORD_HEAR,
+ EC_WORD_WANTS,
+ EC_WORD_MISHEARD,
+ EC_WORD_DISLIKE,
+ EC_WORD_ANGRY,
+ EC_WORD_ANGER,
+ EC_WORD_SCARY,
+ EC_WORD_LONESOME,
+ EC_WORD_DISAPPOINT,
+ EC_WORD_JOY,
+ EC_WORD_GETS,
+ EC_WORD_NEVER,
+ EC_WORD_DARN,
+ EC_WORD_DOWNCAST,
+ EC_WORD_INCREDIBLE,
+ EC_WORD_LIKES,
+ EC_WORD_DISLIKES,
+ EC_WORD_BORING,
+ EC_WORD_CARE,
+ EC_WORD_CARES,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_ADORE,
+ EC_WORD_DISASTER,
+ EC_WORD_ENJOY,
+ EC_WORD_ENJOYS,
+ EC_WORD_EAT,
+ EC_WORD_LACKING,
+ EC_WORD_BAD,
+ EC_WORD_HARD,
+ EC_WORD_TERRIBLE,
+ EC_WORD_SHOULD,
+ EC_WORD_NICE,
+ EC_WORD_DRINK,
+ EC_WORD_SURPRISE,
+ EC_WORD_FEAR,
+ EC_WORD_WANT,
+ EC_WORD_WAIT,
+ EC_WORD_SATISFIED,
+ EC_WORD_SEE,
+ EC_WORD_RARE,
+ EC_WORD_NEGATIVE,
+ EC_WORD_DONE,
+ EC_WORD_DANGER,
+ EC_WORD_DEFEATED,
+ EC_WORD_BEAT,
+ EC_WORD_GREAT,
+ EC_WORD_ROMANTIC,
+ EC_WORD_QUESTION,
+ EC_WORD_UNDERSTAND,
+ EC_WORD_UNDERSTANDS
+};
+enum {
+ EC_WORD_HOT = EC_GROUP_CONDITIONS << 9,
+ EC_WORD_EXISTS,
+ EC_WORD_EXCESS,
+ EC_WORD_APPROVED,
+ EC_WORD_HAS,
+ EC_WORD_GOOD,
+ EC_WORD_LESS,
+ EC_WORD_MOMENTUM,
+ EC_WORD_GOING,
+ EC_WORD_WEIRD,
+ EC_WORD_BUSY,
+ EC_WORD_TOGETHER,
+ EC_WORD_FULL,
+ EC_WORD_ABSENT,
+ EC_WORD_BEING,
+ EC_WORD_NEED,
+ EC_WORD_TASTY,
+ EC_WORD_SKILLED,
+ EC_WORD_NOISY,
+ EC_WORD_BIG,
+ EC_WORD_LATE,
+ EC_WORD_CLOSE,
+ EC_WORD_DOCILE,
+ EC_WORD_AMUSING,
+ EC_WORD_ENTERTAINING,
+ EC_WORD_PERFECTION,
+ EC_WORD_PRETTY,
+ EC_WORD_HEALTHY,
+ EC_WORD_EXCELLENT,
+ EC_WORD_UPSIDE_DOWN,
+ EC_WORD_COLD,
+ EC_WORD_REFRESHING,
+ EC_WORD_UNAVOIDABLE,
+ EC_WORD_MUCH,
+ EC_WORD_OVERWHELMING,
+ EC_WORD_FABULOUS,
+ EC_WORD_ELSE,
+ EC_WORD_EXPENSIVE,
+ EC_WORD_CORRECT,
+ EC_WORD_IMPOSSIBLE,
+ EC_WORD_SMALL,
+ EC_WORD_DIFFERENT,
+ EC_WORD_TIRED,
+ EC_WORD_SKILL,
+ EC_WORD_TOP,
+ EC_WORD_NON_STOP,
+ EC_WORD_PREPOSTEROUS,
+ EC_WORD_NONE,
+ EC_WORD_NOTHING,
+ EC_WORD_NATURAL,
+ EC_WORD_BECOMES,
+ EC_WORD_LUKEWARM,
+ EC_WORD_FAST,
+ EC_WORD_LOW,
+ EC_WORD_AWFUL,
+ EC_WORD_ALONE,
+ EC_WORD_BORED,
+ EC_WORD_SECRET,
+ EC_WORD_MYSTERY,
+ EC_WORD_LACKS,
+ EC_WORD_BEST,
+ EC_WORD_LOUSY,
+ EC_WORD_MISTAKE,
+ EC_WORD_KIND,
+ EC_WORD_WELL,
+ EC_WORD_WEAKENED,
+ EC_WORD_SIMPLE,
+ EC_WORD_SEEMS,
+ EC_WORD_BADLY
+};
+enum {
+ EC_WORD_MEETS = EC_GROUP_ACTIONS << 9,
+ EC_WORD_CONCEDE,
+ EC_WORD_GIVE,
+ EC_WORD_GIVES,
+ EC_WORD_PLAYED,
+ EC_WORD_PLAYS,
+ EC_WORD_COLLECT,
+ EC_WORD_WALKING,
+ EC_WORD_WALKS,
+ EC_WORD_SAYS,
+ EC_WORD_WENT,
+ EC_WORD_SAID,
+ EC_WORD_WAKE_UP,
+ EC_WORD_WAKES_UP,
+ EC_WORD_ANGERS,
+ EC_WORD_TEACH,
+ EC_WORD_TEACHES,
+ EC_WORD_PLEASE,
+ EC_WORD_LEARN,
+ EC_WORD_CHANGE,
+ EC_WORD_STORY,
+ EC_WORD_TRUST,
+ EC_WORD_LAVISH,
+ EC_WORD_LISTENS,
+ EC_WORD_HEARING,
+ EC_WORD_TRAINS,
+ EC_WORD_CHOOSE,
+ EC_WORD_COME,
+ EC_WORD_CAME,
+ EC_WORD_SEARCH,
+ EC_WORD_MAKE,
+ EC_WORD_CAUSE,
+ EC_WORD_KNOW,
+ EC_WORD_KNOWS,
+ EC_WORD_REFUSE,
+ EC_WORD_STORES,
+ EC_WORD_BRAG,
+ EC_WORD_IGNORANT,
+ EC_WORD_THINKS,
+ EC_WORD_BELIEVE,
+ EC_WORD_SLIDE,
+ EC_WORD_EATS,
+ EC_WORD_USE,
+ EC_WORD_USES,
+ EC_WORD_USING,
+ EC_WORD_COULDN_T,
+ EC_WORD_CAPABLE,
+ EC_WORD_DISAPPEAR,
+ EC_WORD_APPEAR,
+ EC_WORD_THROW,
+ EC_WORD_WORRY,
+ EC_WORD_SLEPT,
+ EC_WORD_SLEEP,
+ EC_WORD_RELEASE,
+ EC_WORD_DRINKS,
+ EC_WORD_RUNS,
+ EC_WORD_RUN,
+ EC_WORD_WORKS,
+ EC_WORD_WORKING,
+ EC_WORD_TALKING,
+ EC_WORD_TALK,
+ EC_WORD_SINK,
+ EC_WORD_SMACK,
+ EC_WORD_PRETEND,
+ EC_WORD_PRAISE,
+ EC_WORD_OVERDO,
+ EC_WORD_SHOW,
+ EC_WORD_LOOKS,
+ EC_WORD_SEES,
+ EC_WORD_SEEK,
+ EC_WORD_OWN,
+ EC_WORD_TAKE,
+ EC_WORD_ALLOW,
+ EC_WORD_FORGET,
+ EC_WORD_FORGETS,
+ EC_WORD_APPEARS,
+ EC_WORD_FAINT,
+ EC_WORD_FAINTED
+};
+enum {
+ EC_WORD_CHORES = EC_GROUP_LIFESTYLE << 9,
+ EC_WORD_HOME,
+ EC_WORD_MONEY,
+ EC_WORD_ALLOWANCE,
+ EC_WORD_BATH,
+ EC_WORD_CONVERSATION,
+ EC_WORD_SCHOOL,
+ EC_WORD_COMMEMORATE,
+ EC_WORD_HABIT,
+ EC_WORD_GROUP,
+ EC_WORD_WORD,
+ EC_WORD_STORE,
+ EC_WORD_SERVICE,
+ EC_WORD_WORK,
+ EC_WORD_SYSTEM,
+ EC_WORD_TRAIN,
+ EC_WORD_CLASS,
+ EC_WORD_LESSONS,
+ EC_WORD_INFORMATION,
+ EC_WORD_LIVING,
+ EC_WORD_TEACHER,
+ EC_WORD_TOURNAMENT,
+ EC_WORD_LETTER,
+ EC_WORD_EVENT,
+ EC_WORD_DIGITAL,
+ EC_WORD_TEST,
+ EC_WORD_DEPT_STORE,
+ EC_WORD_TELEVISION,
+ EC_WORD_PHONE,
+ EC_WORD_ITEM,
+ EC_WORD_NAME,
+ EC_WORD_NEWS,
+ EC_WORD_POPULAR,
+ EC_WORD_PARTY,
+ EC_WORD_STUDY,
+ EC_WORD_MACHINE,
+ EC_WORD_MAIL,
+ EC_WORD_MESSAGE,
+ EC_WORD_PROMISE,
+ EC_WORD_DREAM,
+ EC_WORD_KINDERGARTEN,
+ EC_WORD_LIFE,
+ EC_WORD_RADIO,
+ EC_WORD_RENTAL,
+ EC_WORD_WORLD
+};
+enum {
+ EC_WORD_IDOL = EC_GROUP_HOBBIES << 9,
+ EC_WORD_ANIME,
+ EC_WORD_SONG,
+ EC_WORD_MOVIE,
+ EC_WORD_SWEETS,
+ EC_WORD_CHAT,
+ EC_WORD_CHILD_S_PLAY,
+ EC_WORD_TOYS,
+ EC_WORD_MUSIC,
+ EC_WORD_CARDS,
+ EC_WORD_SHOPPING,
+ EC_WORD_CAMERA,
+ EC_WORD_VIEWING,
+ EC_WORD_SPECTATOR,
+ EC_WORD_GOURMET,
+ EC_WORD_GAME,
+ EC_WORD_RPG,
+ EC_WORD_COLLECTION,
+ EC_WORD_COMPLETE,
+ EC_WORD_MAGAZINE,
+ EC_WORD_WALK,
+ EC_WORD_BIKE,
+ EC_WORD_HOBBY,
+ EC_WORD_SPORTS,
+ EC_WORD_SOFTWARE,
+ EC_WORD_SONGS,
+ EC_WORD_DIET,
+ EC_WORD_TREASURE,
+ EC_WORD_TRAVEL,
+ EC_WORD_DANCE,
+ EC_WORD_CHANNEL,
+ EC_WORD_MAKING,
+ EC_WORD_FISHING,
+ EC_WORD_DATE,
+ EC_WORD_DESIGN,
+ EC_WORD_LOCOMOTIVE,
+ EC_WORD_PLUSH_DOLL,
+ EC_WORD_PC,
+ EC_WORD_FLOWERS,
+ EC_WORD_HERO,
+ EC_WORD_NAP,
+ EC_WORD_HEROINE,
+ EC_WORD_FASHION,
+ EC_WORD_ADVENTURE,
+ EC_WORD_BOARD,
+ EC_WORD_BALL,
+ EC_WORD_BOOK,
+ EC_WORD_FESTIVAL,
+ EC_WORD_COMICS,
+ EC_WORD_HOLIDAY,
+ EC_WORD_PLANS,
+ EC_WORD_TRENDY,
+ EC_WORD_VACATION,
+ EC_WORD_LOOK
+};
+enum {
+ EC_WORD_FALL = EC_GROUP_TIME << 9,
+ EC_WORD_MORNING,
+ EC_WORD_TOMORROW,
+ EC_WORD_LAST,
+ EC_WORD_DAY,
+ EC_WORD_SOMETIME,
+ EC_WORD_ALWAYS,
+ EC_WORD_CURRENT,
+ EC_WORD_FOREVER,
+ EC_WORD_DAYS,
+ EC_WORD_END,
+ EC_WORD_TUESDAY,
+ EC_WORD_YESTERDAY,
+ EC_WORD_TODAY,
+ EC_WORD_FRIDAY,
+ EC_WORD_MONDAY,
+ EC_WORD_LATER,
+ EC_WORD_EARLIER,
+ EC_WORD_ANOTHER,
+ EC_WORD_TIME,
+ EC_WORD_FINISH,
+ EC_WORD_WEDNESDAY,
+ EC_WORD_SOON,
+ EC_WORD_START,
+ EC_WORD_MONTH,
+ EC_WORD_STOP,
+ EC_WORD_NOW,
+ EC_WORD_FINAL,
+ EC_WORD_NEXT,
+ EC_WORD_AGE,
+ EC_WORD_SATURDAY,
+ EC_WORD_SUMMER,
+ EC_WORD_SUNDAY,
+ EC_WORD_BEGINNING,
+ EC_WORD_SPRING,
+ EC_WORD_DAYTIME,
+ EC_WORD_WINTER,
+ EC_WORD_DAILY,
+ EC_WORD_OLDEN,
+ EC_WORD_ALMOST,
+ EC_WORD_NEARLY,
+ EC_WORD_THURSDAY,
+ EC_WORD_NIGHTTIME,
+ EC_WORD_NIGHT,
+ EC_WORD_WEEK
+};
+enum {
+ EC_WORD_HIGHS = EC_GROUP_MISC << 9,
+ EC_WORD_LOWS,
+ EC_WORD_UM,
+ EC_WORD_REAR,
+ EC_WORD_THINGS,
+ EC_WORD_THING,
+ EC_WORD_BELOW,
+ EC_WORD_ABOVE,
+ EC_WORD_BACK,
+ EC_WORD_HIGH,
+ EC_WORD_HERE,
+ EC_WORD_INSIDE,
+ EC_WORD_OUTSIDE,
+ EC_WORD_BESIDE,
+ EC_WORD_THIS_IS_IT_EXCL,
+ EC_WORD_THIS,
+ EC_WORD_EVERY,
+ EC_WORD_THESE,
+ EC_WORD_THESE_WERE,
+ EC_WORD_DOWN,
+ EC_WORD_THAT,
+ EC_WORD_THOSE_ARE,
+ EC_WORD_THOSE_WERE,
+ EC_WORD_THAT_S_IT_EXCL,
+ EC_WORD_AM,
+ EC_WORD_THAT_WAS,
+ EC_WORD_FRONT,
+ EC_WORD_UP,
+ EC_WORD_CHOICE,
+ EC_WORD_FAR,
+ EC_WORD_AWAY,
+ EC_WORD_NEAR,
+ EC_WORD_WHERE,
+ EC_WORD_WHEN,
+ EC_WORD_WHAT,
+ EC_WORD_DEEP,
+ EC_WORD_SHALLOW,
+ EC_WORD_WHY,
+ EC_WORD_CONFUSED,
+ EC_WORD_OPPOSITE,
+ EC_WORD_LEFT,
+ EC_WORD_RIGHT
+};
+enum {
+ EC_WORD_WANDERING = EC_GROUP_ADJECTIVES << 9,
+ EC_WORD_RICKETY,
+ EC_WORD_ROCK_SOLID,
+ EC_WORD_HUNGRY,
+ EC_WORD_TIGHT,
+ EC_WORD_TICKLISH,
+ EC_WORD_TWIRLING,
+ EC_WORD_SPIRALING,
+ EC_WORD_THIRSTY,
+ EC_WORD_LOLLING,
+ EC_WORD_SILKY,
+ EC_WORD_SADLY,
+ EC_WORD_HOPELESS,
+ EC_WORD_USELESS,
+ EC_WORD_DROOLING,
+ EC_WORD_EXCITING,
+ EC_WORD_THICK,
+ EC_WORD_SMOOTH,
+ EC_WORD_SLIMY,
+ EC_WORD_THIN,
+ EC_WORD_BREAK,
+ EC_WORD_VORACIOUS,
+ EC_WORD_SCATTER,
+ EC_WORD_AWESOME,
+ EC_WORD_WIMPY,
+ EC_WORD_WOBBLY,
+ EC_WORD_SHAKY,
+ EC_WORD_RIPPED,
+ EC_WORD_SHREDDED,
+ EC_WORD_INCREASING,
+ EC_WORD_YET,
+ EC_WORD_DESTROYED,
+ EC_WORD_FIERY,
+ EC_WORD_LOVEY_DOVEY,
+ EC_WORD_HAPPILY,
+ EC_WORD_ANTICIPATION
+};
+enum {
+ EC_WORD_APPEAL = EC_GROUP_EVENTS << 9,
+ EC_WORD_EVENTS,
+ EC_WORD_STAY_AT_HOME,
+ EC_WORD_BERRY,
+ EC_WORD_CONTEST,
+ EC_WORD_MC,
+ EC_WORD_JUDGE,
+ EC_WORD_SUPER,
+ EC_WORD_STAGE,
+ EC_WORD_HALL_OF_FAME,
+ EC_WORD_EVOLUTION,
+ EC_WORD_HYPER,
+ EC_WORD_BATTLE_TOWER,
+ EC_WORD_LEADERS,
+ EC_WORD_BATTLE_ROOM,
+ EC_WORD_HIDDEN,
+ EC_WORD_SECRET_BASE,
+ EC_WORD_BLEND,
+ EC_WORD_POKEBLOCK,
+ EC_WORD_MASTER,
+ EC_WORD_RANK,
+ EC_WORD_RIBBON
+};
+enum {
+ EC_WORD_KTHX_BYE = EC_GROUP_TRENDY_SAYING << 9,
+ EC_WORD_YES_SIR_EXCL,
+ EC_WORD_AVANT_GARDE,
+ EC_WORD_COUPLE,
+ EC_WORD_MUCH_OBLIGED,
+ EC_WORD_YEEHAW_EXCL,
+ EC_WORD_MEGA,
+ EC_WORD_1_HIT_KO_EXCL,
+ EC_WORD_DESTINY,
+ EC_WORD_CANCEL,
+ EC_WORD_NEW,
+ EC_WORD_FLATTEN,
+ EC_WORD_KIDDING,
+ EC_WORD_LOSER,
+ EC_WORD_LOSING,
+ EC_WORD_HAPPENING,
+ EC_WORD_HIP_AND,
+ EC_WORD_SHAKE,
+ EC_WORD_SHADY,
+ EC_WORD_UPBEAT,
+ EC_WORD_MODERN,
+ EC_WORD_SMELL_YA,
+ EC_WORD_BANG,
+ EC_WORD_KNOCKOUT,
+ EC_WORD_HASSLE,
+ EC_WORD_WINNER,
+ EC_WORD_FEVER,
+ EC_WORD_WANNABE,
+ EC_WORD_BABY,
+ EC_WORD_HEART,
+ EC_WORD_OLD,
+ EC_WORD_YOUNG,
+ EC_WORD_UGLY
+};
-// TRENDY_SAYING
-#define EC_WORD_KTHX_BYE (EC_GROUP_TRENDY_SAYING << 9) | 0x0
-#define EC_WORD_YES_SIR_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x1
-#define EC_WORD_AVANT_GARDE (EC_GROUP_TRENDY_SAYING << 9) | 0x2
-#define EC_WORD_COUPLE (EC_GROUP_TRENDY_SAYING << 9) | 0x3
-#define EC_WORD_MUCH_OBLIGED (EC_GROUP_TRENDY_SAYING << 9) | 0x4
-#define EC_WORD_YEEHAW_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x5
-#define EC_WORD_MEGA (EC_GROUP_TRENDY_SAYING << 9) | 0x6
-#define EC_WORD_1_HIT_KO_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x7
-#define EC_WORD_DESTINY (EC_GROUP_TRENDY_SAYING << 9) | 0x8
-#define EC_WORD_CANCEL (EC_GROUP_TRENDY_SAYING << 9) | 0x9
-#define EC_WORD_NEW (EC_GROUP_TRENDY_SAYING << 9) | 0xa
-#define EC_WORD_FLATTEN (EC_GROUP_TRENDY_SAYING << 9) | 0xb
-#define EC_WORD_KIDDING (EC_GROUP_TRENDY_SAYING << 9) | 0xc
-#define EC_WORD_LOSER (EC_GROUP_TRENDY_SAYING << 9) | 0xd
-#define EC_WORD_LOSING (EC_GROUP_TRENDY_SAYING << 9) | 0xe
-#define EC_WORD_HAPPENING (EC_GROUP_TRENDY_SAYING << 9) | 0xf
-#define EC_WORD_HIP_AND (EC_GROUP_TRENDY_SAYING << 9) | 0x10
-#define EC_WORD_SHAKE (EC_GROUP_TRENDY_SAYING << 9) | 0x11
-#define EC_WORD_SHADY (EC_GROUP_TRENDY_SAYING << 9) | 0x12
-#define EC_WORD_UPBEAT (EC_GROUP_TRENDY_SAYING << 9) | 0x13
-#define EC_WORD_MODERN (EC_GROUP_TRENDY_SAYING << 9) | 0x14
-#define EC_WORD_SMELL_YA (EC_GROUP_TRENDY_SAYING << 9) | 0x15
-#define EC_WORD_BANG (EC_GROUP_TRENDY_SAYING << 9) | 0x16
-#define EC_WORD_KNOCKOUT (EC_GROUP_TRENDY_SAYING << 9) | 0x17
-#define EC_WORD_HASSLE (EC_GROUP_TRENDY_SAYING << 9) | 0x18
-#define EC_WORD_WINNER (EC_GROUP_TRENDY_SAYING << 9) | 0x19
-#define EC_WORD_FEVER (EC_GROUP_TRENDY_SAYING << 9) | 0x1a
-#define EC_WORD_WANNABE (EC_GROUP_TRENDY_SAYING << 9) | 0x1b
-#define EC_WORD_BABY (EC_GROUP_TRENDY_SAYING << 9) | 0x1c
-#define EC_WORD_HEART (EC_GROUP_TRENDY_SAYING << 9) | 0x1d
-#define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e
-#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f
-#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20
+#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon)
+#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon)
+#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move)
+#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move)
#define EC_GROUP(word) ((word) >> 9)
#define EC_INDEX(word) ((word) & 0x1FF)
+extern u8 gUnknown_020388AC;
+
u16 sub_80EB72C(u16 group);
void sub_80EB6FC(u16 *, u16);
void InitEasyChatPhrases(void);
@@ -1072,6 +1080,7 @@ u8 sub_80EB868(u8);
void sub_80EB890(u8);
u8 sub_80EB8C0(void);
u16 sub_80EB8EC(void);
+u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3);
#if GERMAN
u32 de_sub_80EB748(u32, u32);
diff --git a/include/field_camera.h b/include/field_camera.h
index 4ce207541..17126d190 100644
--- a/include/field_camera.h
+++ b/include/field_camera.h
@@ -11,7 +11,7 @@ struct CameraSomething
s32 unk14;
};
-extern struct Camera gUnknown_0202E844;
+extern struct Camera gCamera;
void move_tilemap_camera_to_upper_left_corner(void);
void sub_8057A58(void);
diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h
index a85e02132..2d5693e40 100644
--- a/include/field_control_avatar.h
+++ b/include/field_control_avatar.h
@@ -30,7 +30,7 @@ u8 *sub_80682A8(struct MapPosition *, u8, u8);
void overworld_poison_timer_set(void);
void prev_quest_postbuffer_cursor_backup_reset(void);
u8 *sub_8068E24(struct MapPosition *);
-u8 *GetFieldObjectScriptPointerForComparison();
+u8 *GetFieldObjectScriptPointerPlayerFacing(void);
bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *);
bool8 sub_8068870(u16 a);
bool8 sub_8068894(void);
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index 11e96254d..7bba24fa6 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -1,6 +1,8 @@
#ifndef GUARD_FIELD_EFFECT_HELPERS_H
#define GUARD_FIELD_EFFECT_HELPERS_H
+extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
+
void sub_812869C(struct MapObject *);
bool8 sub_81286C4(struct MapObject *);
void oamc_shadow(struct Sprite *);
@@ -26,9 +28,9 @@ void sub_8126BC4(u8 unk_1B, u8 r6, s16 x, s16 y);
void sub_8127ED0(u8, u8);
void sub_8127F28(u8, u8, s16);
u8 sub_8128124(u8 id);
-void ash(s16, s16, u16, u8);
+void ash(s16, s16, u16, s16);
void SetUpReflection(struct MapObject *mapObj, struct Sprite *sprite, u8 a);
u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject);
-u8 sub_8126FF0(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
+u8 sub_8126FF0(u8, u8, u8, s16, s16);
#endif // GUARD_FIELD_EFFECT_HELPERS_H
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
index d2a1a9b1f..8e1fdc8bd 100644
--- a/include/field_map_obj.h
+++ b/include/field_map_obj.h
@@ -3,6 +3,8 @@
#include "sprite.h"
+extern const u8 gUnknown_0830FD14[];
+
#define fieldmap_object_cb(setup, callback, table) \
static u8 callback(struct MapObject *, struct Sprite *);\
void setup(struct Sprite *sprite)\
@@ -54,17 +56,15 @@ u8 sub_805CCAC(s16 a0, s16 a1, s16 a2, s16 a3);
u8 sub_805CCE8(s16 a0, s16 a1, s16 a2, s16 a3);
u8 sub_805CD24(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 sub_805F3F0(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 sub_805F438(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 sub_805F4F0(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 sub_805F5A8(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 sub_805F660(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 cph_IM_DIFFERENT(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 sub_805F760(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 oac_hopping(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
-u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8));
+u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 sub_805F3F0(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 sub_805F438(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 sub_805F4F0(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 sub_805F5A8(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 sub_805F660(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 cph_IM_DIFFERENT(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 sub_805F760(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 oac_hopping(struct MapObject *, struct Sprite *, u8, bool8(u8));
extern struct CameraSomething gUnknown_03004880;
extern u16 gUnknown_03004898;
@@ -318,7 +318,7 @@ u8 get_go_fast_image_anim_num(u8);
u8 get_go_faster_image_anim_num(u8);
u8 sub_805FD78(u8);
-int state_to_direction(u8, u8, u8);
+u32 state_to_direction(u8, u32, u32);
void sub_805AA98();
void sub_805AAB0(void);
@@ -344,7 +344,7 @@ void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
void FieldObjectHandleDynamicGraphicsId(struct MapObject *);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
-void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
+void FieldObjectGetLocalIdAndMap(struct MapObject *, void *, void *, void *);
void sub_805BCC0(s16 x, s16 y);
void sub_805BCF0(u8, u8, u8, u8);
void sub_805BD48(u8, u8, u8);
@@ -379,14 +379,14 @@ u8 sub_805FDF8(u8);
u8 sub_805FE08(u8);
void npc_set_running_behaviour_etc(struct MapObject *, u8);
u8 npc_running_behaviour_by_direction(u8);
-u8 npc_block_way(struct MapObject *, s16, s16, u8);
+u8 npc_block_way(struct MapObject *, s16, s16, u32);
u8 sub_8060024(struct MapObject *, s16, s16, u8);
-u8 sub_8060234(u8, u8, u8);
+bool8 IsBerryTreeSparkling(u8, u8, u8);
void sub_8060288(u8, u8, u8);
void sub_8060388(s16, s16, s16 *, s16 *);
void sub_80603CC(s16 x, s16 y, s16 *pInt, s16 *pInt1);
void GetFieldObjectMovingCameraOffset(s16 *, s16 *);
-void FieldObjectMoveDestCoords(struct MapObject *pObject, u8 unk_19, s16 *pInt, s16 *pInt1);
+void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *);
bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
bool8 FieldObjectSetSpecialAnim(struct MapObject *, u8);
@@ -396,21 +396,23 @@ void FieldObjectClearAnim(struct MapObject *);
bool8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *);
u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
u8 FieldObjectGetSpecialAnim(struct MapObject *);
-u8 GetFaceDirectionAnimId(u8);
-u8 GetSimpleGoAnimId(u8);
-u8 GetGoSpeed0AnimId(u8 a);
-u8 sub_8060744(u8 a);
-u8 d2s_08064034(u8 a);
-u8 sub_806079C(u8 a);
-u8 sub_80607F4(u8 a);
-u8 GetJumpLedgeAnimId(u8 a);
-u8 sub_806084C(u8);
-u8 sub_8060878(u8);
-u8 sub_80608D0(u8);
-u8 GetStepInPlaceDelay32AnimId(u8 a);
-u8 GetStepInPlaceDelay16AnimId(u8);
-u8 GetStepInPlaceDelay8AnimId(u8 a);
-u8 GetStepInPlaceDelay4AnimId(u8 a);
+u8 GetFaceDirectionAnimId(u32);
+u8 GetSimpleGoAnimId(u32);
+u8 GetGoSpeed0AnimId(u32);
+u8 sub_8060744(u32);
+u8 d2s_08064034(u32);
+u8 sub_806079C(u32);
+u8 sub_80607C8(u32);
+u8 sub_80607F4(u32);
+u8 GetJumpLedgeAnimId(u32);
+u8 sub_806084C(u32);
+u8 sub_8060878(u32);
+u8 sub_80608A4(u32);
+u8 sub_80608D0(u32);
+u8 GetStepInPlaceDelay32AnimId(u32);
+u8 GetStepInPlaceDelay16AnimId(u32);
+u8 GetStepInPlaceDelay8AnimId(u32);
+u8 GetStepInPlaceDelay4AnimId(u32);
u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
u8 sub_80609D8(u8);
u8 sub_8060A04(u8);
@@ -427,5 +429,9 @@ void sub_80634D0(struct MapObject *, struct Sprite *);
u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8);
void CameraObjectSetFollowedObjectId(u8);
u8 sub_805ADDC(u8);
+void sub_8060320(u32, s16 *, s16 *, s16, s16);
+u8 obj_unfreeze(struct Sprite *, s16, s16, u8);
+u16 npc_paltag_by_palslot(u8);
+void sub_8060470(s16 *, s16 *, s16, s16);
#endif // GUARD_FIELD_MAP_OBJ_H
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index 86b1af3fb..250ed8469 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -19,7 +19,7 @@ u8 ForcedMovement_SlideSouth(void);
u8 ForcedMovement_SlideNorth(void);
u8 ForcedMovement_SlideWest(void);
u8 ForcedMovement_SlideEast(void);
-u8 sub_8058C04(void);
+u8 ForcedMovement_MatJump(void);
u8 sub_8058C10(void);
u8 ForcedMovement_MuddySlope(void);
void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys);
@@ -37,23 +37,23 @@ void sub_80591F4(struct MapObject *a);
void sub_8059204(void);
u8 player_get_x22(void);
void PlayerSetAnimId(u8 a, u8 b);
-void PlayerGoSpeed0(u8 a);
-void sub_80593C4(u8 a);
+void PlayerGoSpeed1(u8 a);
+void PlayerGoSpeed2(u8 a);
void npc_use_some_d2s(u8 a);
-void sub_80593F4(u8 a);
+void PlayerGoSpeed4(u8 a);
void sub_805940C(u8 a);
void PlayerOnBikeCollide(u8);
void PlayerFaceDirection(u8 a);
void PlayerTurnInPlace(u8 a);
void PlayerJumpLedge(u8 a);
void sub_80594C0(void);
-void sub_8059504(u8 a);
+void PlayerIdleWheelie(u8 a);
void PlayerStartWheelie(u8 a);
-void sub_8059534(u8 a);
-void sub_805954C(u8 a);
-void sub_8059570(u8 a);
-void sub_8059594(u8 a);
-void sub_80595B8(u8 a);
+void PlayerEndWheelie(u8 a);
+void PlayerStandingHoppingWheelie(u8 a);
+void PlayerMovingHoppingWheelie(u8 a);
+void PlayerLedgeHoppingWheelie(u8 a);
+void PlayerAcroTurnJump(u8 a);
void sub_80595DC(u8 a);
void sub_8059600(u8 a);
void sub_8059618(u8 a);
@@ -87,7 +87,7 @@ void sub_8059C94(u8);
u8 sub_8059E84(struct Task *task, struct MapObject *b, struct MapObject *c);
u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c);
u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c);
-u8 sub_805A000(struct Task *task, struct MapObject *mapObject);
+u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObject);
u8 sub_805A0D8(struct Task *task, struct MapObject *mapObject);
u8 sub_805A100(struct Task *task, struct MapObject *mapObject);
u8 sub_805A178(struct Task *task, struct MapObject *mapObject);
diff --git a/include/field_special_scene.h b/include/field_special_scene.h
index d674f09df..240e9ecb6 100644
--- a/include/field_special_scene.h
+++ b/include/field_special_scene.h
@@ -1,8 +1,8 @@
#ifndef GUARD_FIELD_SPECIAL_SCENE_H
#define GUARD_FIELD_SPECIAL_SCENE_H
-s32 GetTruckCameraBobbingY(int a1);
-s32 GetTruckBoxMovement(int a1);
+s16 GetTruckCameraBobbingY(int a1);
+s16 GetTruckBoxMovement(int a1);
void Task_Truck1(u8 taskId);
void Task_Truck2(u8 taskId);
void Task_Truck3(u8 taskId);
diff --git a/include/field_specials.h b/include/field_specials.h
index d61aa3b20..52325879c 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -25,5 +25,6 @@ void ScriptShowElevatorMenu(void);
void SetShoalItemFlag(u16);
u8 GetLeadMonIndex(void);
void ResetFanClub(void);
+u8 sub_810FB10(u8 a0);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/gba/defines.h b/include/gba/defines.h
index 0f7f06755..7fd429d9e 100644
--- a/include/gba/defines.h
+++ b/include/gba/defines.h
@@ -29,15 +29,16 @@
#define BG_VRAM VRAM
#define BG_VRAM_SIZE 0x10000
-#define BG_CHAR_ADDR(n) (BG_VRAM + (0x4000 * (n)))
-#define BG_SCREEN_ADDR(n) (BG_VRAM + (0x800 * (n)))
+#define BG_CHAR_ADDR(n) (void *)(BG_VRAM + (0x4000 * (n)))
+#define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (0x800 * (n)))
+#define BG_TILE_ADDR(n) (void *)(BG_VRAM + (0x80 * (n)))
// text-mode BG
-#define OBJ_VRAM0 (VRAM + 0x10000)
+#define OBJ_VRAM0 (void *)(VRAM + 0x10000)
#define OBJ_VRAM0_SIZE 0x8000
// bitmap-mode BG
-#define OBJ_VRAM1 (VRAM + 0x14000)
+#define OBJ_VRAM1 (void *)(VRAM + 0x14000)
#define OBJ_VRAM1_SIZE 0x4000
#define OAM 0x7000000
diff --git a/include/gba/flash_internal.h b/include/gba/flash_internal.h
index cbcfb5466..39e14ef73 100644
--- a/include/gba/flash_internal.h
+++ b/include/gba/flash_internal.h
@@ -35,7 +35,7 @@ struct FlashType {
struct FlashSetupInfo
{
u16 (*programFlashByte)(u16, u32, u8);
- u16 (*programFlashSector)(u16, u8 *);
+ u16 (*programFlashSector)(u16, void *);
u16 (*eraseFlashChip)(void);
u16 (*eraseFlashSector)(u16);
u16 (*WaitForFlashWrite)(u8, u8 *, u8);
@@ -46,7 +46,7 @@ struct FlashSetupInfo
extern u16 gFlashNumRemainingBytes;
extern u16 (*ProgramFlashByte)(u16, u32, u8);
-extern u16 (*ProgramFlashSector)(u16, u8 *);
+extern u16 (*ProgramFlashSector)(u16, void *);
extern u16 (*EraseFlashChip)(void);
extern u16 (*EraseFlashSector)(u16);
extern u16 (*WaitForFlashWrite)(u8, u8 *, u8);
@@ -67,15 +67,15 @@ void SetReadFlash1(u16 *dest);
void StopFlashTimer(void);
u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src);
-void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size);
-u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n);
+void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size);
+u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n);
u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData);
u16 EraseFlashChip_MX(void);
u16 EraseFlashSector_MX(u16 sectorNum);
u16 ProgramFlashByte_MX(u16 sectorNum, u32 offset, u8 data);
-u16 ProgramFlashSector_MX(u16 sectorNum, u8 *src);
+u16 ProgramFlashSector_MX(u16 sectorNum, void *src);
// agb_flash_1m
u16 IdentifyFlash(void);
diff --git a/include/gba/macro.h b/include/gba/macro.h
index 230fb4383..1e0254806 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -84,4 +84,38 @@
dmaRegs[5]; \
}
+#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \
+{ \
+ const void *_src = src; \
+ void *_dest = dest; \
+ u32 _size = size; \
+ while (1) \
+ { \
+ DmaCopy##bit(dmaNum, _src, _dest, (block)); \
+ _src += (block); \
+ _dest += (block); \
+ _size -= (block); \
+ if (_size <= (block)) \
+ { \
+ DmaCopy##bit(dmaNum, _src, _dest, _size); \
+ break; \
+ } \
+ } \
+}
+
+#define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16)
+
+#define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32)
+
+#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
+{ \
+ const void *_src = src; \
+ void *_dest = dest; \
+ u32 _size = size; \
+ DmaCopy##bit(dmaNum, _src, _dest, _size); \
+}
+
+#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16)
+#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32)
+
#endif // GUARD_GBA_MACRO_H
diff --git a/include/global.berry.h b/include/global.berry.h
index 6632e55e2..21a0dd500 100644
--- a/include/global.berry.h
+++ b/include/global.berry.h
@@ -3,33 +3,33 @@
struct Berry
{
- const u8 name[7];
- u8 firmness;
- u16 size;
- u8 maxYield;
- u8 minYield;
- const u8 *description1;
- const u8 *description2;
- u8 stageDuration;
- u8 spicy;
- u8 dry;
- u8 sweet;
- u8 bitter;
- u8 sour;
- u8 smoothness;
+ /*0x00*/ const u8 name[7];
+ /*0x07*/ u8 firmness;
+ /*0x08*/ u16 size;
+ /*0x0A*/ u8 maxYield;
+ /*0x0B*/ u8 minYield;
+ /*0x0C*/ const u8 *description1;
+ /*0x10*/ const u8 *description2;
+ /*0x14*/ u8 stageDuration;
+ /*0x15*/ u8 spicy;
+ /*0x16*/ u8 dry;
+ /*0x17*/ u8 sweet;
+ /*0x18*/ u8 bitter;
+ /*0x19*/ u8 sour;
+ /*0x1A*/ u8 smoothness;
};
struct EnigmaBerry
{
- struct Berry berry;
- u8 pic[(6 * 6) * TILE_SIZE_4BPP];
- u16 palette[16];
- u8 description1[45];
- u8 description2[45];
- u8 itemEffect[18];
- u8 holdEffect;
- u8 holdEffectParam;
- u32 checksum;
+ /*0x000*/ struct Berry berry;
+ /*0x01B*/ u8 pic[(6 * 6) * TILE_SIZE_4BPP];
+ /*0x49C*/ u16 palette[16];
+ /*0x4BC*/ u8 description1[45];
+ /*0x4E9*/ u8 description2[45];
+ /*0x516*/ u8 itemEffect[18];
+ /*0x528*/ u8 holdEffect;
+ /*0x529*/ u8 holdEffectParam;
+ /*0x52C*/ u32 checksum;
};
struct BattleEnigmaBerry
@@ -42,16 +42,21 @@ struct BattleEnigmaBerry
struct BerryTree
{
- u8 berry;
- u8 stage:7;
- u8 growthSparkle:1;
- u16 minutesUntilNextStage;
- u8 berryYield;
- u8 regrowthCount:4;
- u8 watered1:1;
- u8 watered2:1;
- u8 watered3:1;
- u8 watered4:1;
+ /*0x00*/ u8 berry;
+ /*0x01*/ u8 stage:7;
+ /*
+ A berry sparkle is a state that a berry tree
+ can be in after growing within the player's
+ viewport.
+ */
+ /*0x01*/ bool8 growthSparkle:1;
+ /*0x02*/ u16 minutesUntilNextStage;
+ /*0x04*/ u8 berryYield;
+ /*0x05*/ u8 regrowthCount:4;
+ /*0x05*/ u8 watered1:1;
+ /*0x05*/ u8 watered2:1;
+ /*0x05*/ u8 watered3:1;
+ /*0x05*/ u8 watered4:1;
};
#endif // GUARD_GLOBAL_BERRY_H
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 5c93eb8ab..488cc11d9 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -111,11 +111,11 @@ struct CoordEvent
struct BgEvent
{
- u16 x, y;
- u8 unk4;
- u8 kind;
- // 0x2 padding for the union beginning.
- union { // carried over from diego's FR/LG work, seems to be the same struct
+ /*0x00*/u16 x;
+ /*0x02*/u16 y;
+ /*0x04*/u8 unk4;
+ /*0x05*/u8 kind;
+ /*0x08*/union { // carried over from diego's FR/LG work, seems to be the same struct
// in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
u8 *script;
@@ -353,25 +353,42 @@ enum
COLLISION_LEDGE_JUMP = 6
};
+// player running states
+enum
+{
+ NOT_MOVING,
+ TURN_DIRECTION, // not the same as turning! turns your avatar without moving. also known as a turn frame in some circles
+ MOVING,
+};
+
+// player tile transition states
+enum
+{
+ T_NOT_MOVING,
+ T_TILE_TRANSITION,
+ T_TILE_CENTER, // player is on a frame in which they are centered on a tile during which the player either stops or keeps their momentum and keeps going, changing direction if necessary.
+};
+
struct PlayerAvatar /* 0x202E858 */
{
/*0x00*/ u8 flags;
- /*0x01*/ u8 bike;
- /*0x02*/ u8 running2;
- /*0x03*/ u8 running1;
+ /*0x01*/ u8 unk1; // used to be named bike, but its definitely not that. seems to be some transition flags
+ /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving.
+ /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning.
/*0x04*/ u8 spriteId;
/*0x05*/ u8 mapObjectId;
- /*0x06*/ u8 unk6;
+ /*0x06*/ bool8 preventStep;
/*0x07*/ u8 gender;
- u8 acroBikeState;
- u8 unk9;
- u8 bikeFrameCounter;
- u8 unkB;
- u32 unkC;
- u32 unk10;
- u8 unk14[8];
- u8 unk1C[8];
- // TODO: rest of struct
+ /*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie
+ /*0x09*/ u8 newDirBackup; // during bike movement, the new direction as opposed to player's direction is backed up here.
+ /*0x0A*/ u8 bikeFrameCounter; // on the mach bike, when this value is 1, the bike is moving but not accelerating yet for 1 tile. on the acro bike, this acts as a timer for acro bike.
+ /*0x0B*/ u8 bikeSpeed;
+ // acro bike only
+ /*0x0C*/ u32 directionHistory; // up/down/left/right history is stored in each nybble, but using the field directions and not the io inputs.
+ /*0x10*/ u32 abStartSelectHistory; // same as above but for A + B + start + select only
+ // these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update.
+ /*0x14*/ u8 dirTimerHistory[8];
+ /*0x1C*/ u8 abStartSelectTimerHistory[8];
};
struct Camera
diff --git a/include/global.h b/include/global.h
index 79269937f..647f66bc8 100644
--- a/include/global.h
+++ b/include/global.h
@@ -37,6 +37,7 @@ fndec\
#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0]))
+#define POKEMON_SLOTS_NUMBER 412
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
@@ -54,6 +55,24 @@ enum
B_32 = 4
};
+// 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
+// macros which differ from one file to the next due to the method of obtaining the result, such
+// as these below. Because of this, there is a theory (Two Team Theory) that states that these
+// programming projects had more than 1 "programming team" which utilized different macros for
+// each of the files that were worked on.
+#define T1_READ_8(ptr) ((ptr)[0])
+#define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
+#define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24))
+#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr)
+
+// T2_READ_8 is a duplicate to remain consistent with each group.
+#define T2_READ_8(ptr) ((ptr)[0])
+#define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8))
+#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
+#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr)
+
enum
{
VERSION_SAPPHIRE = 1,
@@ -129,13 +148,13 @@ struct UCoords16
struct SecretBaseRecord
{
- /*ID?*/ /*0x1A08*/ u8 sbr_field_0;
+ /*0x1A08*/ u8 secretBaseId;
/*0x1A09*/ u8 sbr_field_1_0:4;
/*0x1A09*/ u8 gender:1;
/*0x1A09*/ u8 sbr_field_1_5:1;
/*0x1A09*/ u8 sbr_field_1_6:2;
- /*0x1A0A*/ u8 sbr_field_2[7]; // 0xFF bytes?
- /*0x1A12*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
+ /*0x1A0A*/ u8 playerName[OT_NAME_LENGTH];
+ /*0x1A11*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
/*0x1A16*/ u16 sbr_field_e;
/*0x1A18*/ u8 sbr_field_10;
/*0x1A19*/ u8 sbr_field_11;
@@ -560,18 +579,34 @@ struct GabbyAndTyData
/*2b1b*/ u8 valB_5:3;
};
-struct RecordMixing_UnknownStructSub
+struct DayCareMail
{
- u32 unk0;
- u8 data[0x34];
- //u8 data[0x38];
+ /*0x00*/ struct MailStruct message;
+ /*0x24*/ u8 names[19];
+};
+
+struct DayCareStepCountersEtc {
+ u32 steps[2];
+ u16 personalityLo;
+ u8 unk_11a;
};
-struct RecordMixing_UnknownStruct
+struct RecordMixingDayCareMail
{
- struct RecordMixing_UnknownStructSub data[2];
+ struct DayCareMail mail[2];
u32 unk70;
- u16 unk74[0x2];
+ u16 unk74[2];
+};
+
+struct DayCareMisc
+{
+ struct DayCareMail mail[2];
+ struct DayCareStepCountersEtc countersEtc;
+};
+
+struct DayCareData {
+ struct BoxPokemon mons[2];
+ struct DayCareMisc misc;
};
struct LinkBattleRecord
@@ -597,15 +632,20 @@ struct RecordMixingGift
struct RecordMixingGiftData data;
};
+// there should be enough flags for all 412 slots
+// each slot takes up 8 flags
+// if the value is not divisible by 8, we need to account for the reminder as well
+#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0))
+
struct SaveBlock1 /* 0x02025734 */
{
/*0x00*/ struct Coords16 pos;
/*0x04*/ struct WarpData location;
/*0x0C*/ struct WarpData warp1;
/*0x14*/ struct WarpData warp2;
- /*0x1C*/ struct WarpData warp3;
+ /*0x1C*/ struct WarpData lastHealLocation;
/*0x24*/ struct WarpData warp4;
- /*0x2C*/ u16 battleMusic;
+ /*0x2C*/ u16 savedMusic;
/*0x2E*/ u8 weather;
/*0x2F*/ u8 filler_2F;
/*0x30*/ u8 flashLevel; // flash level on current map, 0 being normal and 4 being the darkest
@@ -623,7 +663,7 @@ struct SaveBlock1 /* 0x02025734 */
/*0x640*/ struct ItemSlot bagPocket_TMHM[64];
/*0x740*/ struct ItemSlot bagPocket_Berries[46];
/*0x7F8*/ struct Pokeblock pokeblocks[40];
- /*0x938*/ u8 unk938[52]; // pokedex related
+ /*0x938*/ u8 dexSeen2[DEX_FLAGS_NO];
/*0x96C*/ u16 berryBlenderRecords[3];
/*0x972*/ u8 filler_972[0x6];
/*0x978*/ u16 trainerRematchStepCounter;
@@ -659,10 +699,12 @@ struct SaveBlock1 /* 0x02025734 */
/*0x2B0D*/ u8 outbreakPokemonProbability;
/*0x2B0E*/ u16 outbreakUnk5;
/*0x2B10*/ struct GabbyAndTyData gabbyAndTyData;
- /*0x2B1C*/ u16 unk2B1C[6];
- /*0x2B28*/ u16 unk2B28[6];
- /*0x2B34*/ u16 unk2B34[6];
- /*0x2B40*/ u16 unk2B40[6];
+ /*0x2B1C*/ struct {
+ /*0x2B1C*/ u16 unk2B1C[6];
+ /*0x2B28*/ u16 unk2B28[6];
+ /*0x2B34*/ u16 unk2B34[6];
+ /*0x2B40*/ u16 unk2B40[6];
+ } easyChats;
/*0x2B4C*/ struct MailStruct mail[16];
/*0x2D8C*/ u8 unk2D8C[4];
/*0x2D90*/ u8 filler_2D90[0x4];
@@ -670,20 +712,16 @@ struct SaveBlock1 /* 0x02025734 */
/*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
/*0x2DFC*/ u8 filler_2DFC[0x8];
/*0x2E04*/ SB_Struct sbStruct;
- /*0x2F9C*/ struct BoxPokemon daycareData[2];
- /*0x303C*/ struct RecordMixing_UnknownStruct filler_303C;
- /*0x30AC*/ u8 filler_30B4[0x2];
- /*0x30B6*/ u8 filler_30B6;
- /*0x30B7*/ u8 filler_30B7[1];
+ /*0x2F9C*/ struct DayCareData daycareData;
/*0x30B8*/ struct LinkBattleRecord linkBattleRecords[5];
/*0x3108*/ u8 filler_3108[8];
- /*0x3110*/ u8 giftRibbons[7];
- /*0x3117*/ u8 filler_311B[0x2D];
+ /*0x3110*/ u8 giftRibbons[11];
+ /*0x3117*/ u8 filler_311B[0x29];
/*0x3144*/ struct Roamer roamer;
/*0x3160*/ struct EnigmaBerry enigmaBerry;
/*0x3690*/ struct RamScript ramScript;
/*0x3A7C*/ struct RecordMixingGift recordMixingGift;
- /*0x3A8C*/ u8 unk3A8C[52]; //pokedex related
+ /*0x3A8C*/ u8 dexSeen3[DEX_FLAGS_NO];
};
extern struct SaveBlock1 gSaveBlock1;
@@ -705,30 +743,78 @@ struct Pokedex
/*0x04*/ u32 unownPersonality; // set when you first see Unown
/*0x08*/ u32 spindaPersonality; // set when you first see Spinda
/*0x0C*/ u32 unknown3;
- /*0x10*/ u8 owned[52];
- /*0x44*/ u8 seen[52];
+ /*0x10*/ u8 owned[DEX_FLAGS_NO];
+ /*0x44*/ u8 seen[DEX_FLAGS_NO];
};
-struct SaveBlock2_Sub
+struct BattleTowerTrainer
{
- /*0x0000, 0x00A8*/ u8 filler_000[0x3D8];
- /*0x03D8, 0x0480*/ u16 var_480;
- /*0x03DA, 0x0482*/ u16 var_482;
- /*0x03DC, 0x0484*/ u8 filler_3DC[0x14];
- /*0x03F0, 0x0498*/ u8 ereaderTrainer[0xBC];
- /*0x04AC, 0x0554*/ u8 var_4AC;
- /*0x04AD, 0x0555*/ u8 var_4AD;
+ u8 trainerClass;
+ u8 name[8];
+ u8 teamFlags;
+ struct {
+ u16 easyChat[6];
+ } greeting;
+};
+
+struct BattleTowerRecord // record mixing
+{
+ /*0x00*/u8 battleTowerLevelType; // 0 = level 50, 1 = level 100
+ /*0x01*/u8 trainerClass;
+ /*0x02*/u16 winStreak;
+ /*0x04*/u8 name[8];
+ /*0x0C*/u8 trainerId[4];
+ /*0x10*/struct {
+ u16 easyChat[6];
+ } greeting;
+ /*0x1C*/struct UnknownPokemonStruct party[3];
+ /*0xA0*/u32 checksum;
+};
+
+struct BattleTowerEReaderTrainer
+{
+ /*0x00*/u8 unk0;
+ /*0x01*/u8 trainerClass;
+ /*0x02*/u16 winStreak;
+ /*0x04*/u8 name[8];
+ /*0x0C*/u8 trainerId[4];
+ /*0x10*/struct {
+ u16 easyChat[6];
+ } greeting;
+ /*0x1C*/struct {
+ u16 easyChat[6];
+ } farewellPlayerLost;
+ /*0x28*/struct {
+ u16 easyChat[6];
+ } farewellPlayerWon;
+ /*0x34*/struct UnknownPokemonStruct party[3];
+ /*0xB8*/u32 checksum;
+};
+
+struct BattleTowerData
+{
+ /*0x0000, 0x00A8*/ struct BattleTowerRecord playerRecord;
+ /*0x00A4, 0x014C*/ struct BattleTowerRecord records[5]; // from record mixing
+ /*0x03D8, 0x0480*/ u16 firstMonSpecies; // species of the first pokemon in the player's battle tower party
+ /*0x03DA, 0x0482*/ u16 defeatedBySpecies; // species of the pokemon that defated the player
+ /*0x03DC, 0x0484*/ u8 defeatedByTrainerName[8];
+ /*0x03E4, 0x048C*/ u8 firstMonNickname[POKEMON_NAME_LENGTH]; // nickname of the first pokemon in the player's battle tower party
+ /*0x03F0, 0x0498*/ struct BattleTowerEReaderTrainer ereaderTrainer;
+ /*0x04AC, 0x0554*/ u8 battleTowerLevelType:1; // 0 = level 50; 1 = level 100
+ /*0x04AC, 0x0554*/ u8 unk_554:1;
+ /*0x04AD, 0x0555*/ u8 battleOutcome;
/*0x04AE, 0x0556*/ u8 var_4AE[2];
- /*0x04B0, 0x0558*/ u16 var_4B0;
- /*0x04B2, 0x055A*/ u16 var_4B2;
- /*0x04B4, 0x055C*/ u16 var_4B4;
- /*0x04B6, 0x055E*/ u16 var_4B6;
- /*0x04B8, 0x0560*/ u16 recordWinStreak[2];
- /*0x04BC, 0x0564*/ u8 filler_4BC[0xC];
- /*0x04C8, 0x0570*/ u16 var_4C8;
- /*0x04CA, 0x0572*/ u16 var_4CA;
- /*0x04CC, 0x0574*/ u16 winStreak[2];
- /*0x04D0, 0x0578*/ u8 var_4D0;
+ /*0x04B0, 0x0558*/ u16 curChallengeBattleNum[2]; // 1-based index of battle in the current challenge. (challenges consist of 7 battles)
+ /*0x04B4, 0x055C*/ u16 curStreakChallengesNum[2]; // 1-based index of the current challenge in the current streak.
+ /*0x04B8, 0x0560*/ u16 recordWinStreaks[2];
+ /*0x04BC, 0x0564*/ u8 battleTowerTrainerId; // index for gBattleTowerTrainers table
+ /*0x04BD, 0x0565*/ u8 selectedPartyMons[0x3]; // indices of the 3 selected player party mons.
+ /*0x04C0, 0x0568*/ u16 prizeItem;
+ /*0x04C2, 0x056A*/ u8 filler_4C2[0x6];
+ /*0x04C8, 0x0570*/ u16 totalBattleTowerWins;
+ /*0x04CA, 0x0572*/ u16 bestBattleTowerWinStreak;
+ /*0x04CC, 0x0574*/ u16 currentWinStreaks[2];
+ /*0x04D0, 0x0578*/ u8 lastStreakLevelType; // 0 = level 50, 1 = level 100. level type of the last streak. Used by tv to report the level mode.
/*0x04D1, 0x0579*/ u8 filler_4D1[0x317];
};
@@ -753,7 +839,7 @@ struct SaveBlock2 /* 0x02024EA4 */
/*0x90*/ u8 filler_90[0x8];
/*0x98*/ struct Time localTimeOffset;
/*0xA0*/ struct Time lastBerryTreeUpdate;
- /*0xA8*/ struct SaveBlock2_Sub filler_A8;
+ /*0xA8*/ struct BattleTowerData battleTower;
};
struct MapPosition
diff --git a/include/graphics.h b/include/graphics.h
index 5632cb831..f3a722b40 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2564,4 +2564,13 @@ extern const u8 gUnknown_08E8CFC0[];
extern const u8 gUnknown_08E8D4C0[];
extern const u8 gUnknown_08E8D9C0[];
+extern const u8 gUnknown_08EA1DEC[];
+extern const u16 gUnknown_08EA0328[];
+extern const u16 gUnknown_08EA02C8[];
+extern const u16 gUnknown_08EA0348[];
+extern const u16 gUnknown_08EA15C8[];
+extern const u16 gTradeMonBoxTilemap[];
+extern const u8 gUnknown_08D00000[];
+extern const u16 gUnknown_08D00524[];
+extern const u8 gUnknown_08D004E0[];
#endif // GUARD_GRAPHICS_H
diff --git a/include/items.h b/include/items.h
index 69515f18e..44b0f2013 100644
--- a/include/items.h
+++ b/include/items.h
@@ -386,4 +386,7 @@ enum
ITEM_OLD_SEA_MAP, // 0x178
};
+#define NUM_TECHNICAL_MACHINES 50
+#define NUM_HIDDEN_MACHINES 8
+
#endif // GUARD_ITEMS_H
diff --git a/include/mail_data.h b/include/mail_data.h
index df4b385a1..2659c0d37 100644
--- a/include/mail_data.h
+++ b/include/mail_data.h
@@ -11,6 +11,6 @@ u8 GiveMailToMon2(struct Pokemon *, struct MailStruct *);
void TakeMailFromMon(struct Pokemon *);
u8 TakeMailFromMon2(struct Pokemon *);
bool8 ItemIsMail(u16);
-bool8 ItemIsMail(u16);
+bool8 MonHasMail(struct Pokemon *);
#endif // GUARD_MAIL_DATA_H
diff --git a/include/menu.h b/include/menu.h
index 3cf47b9b8..9a5ca62a0 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -1,6 +1,7 @@
#ifndef GUARD_MENU_H
#define GUARD_MENU_H
+#include "task.h"
#include "text.h"
struct MenuAction
@@ -12,7 +13,7 @@ struct MenuAction
struct MenuAction2
{
const u8 *text;
- void (*func)(u8);
+ TaskFunc func;
};
extern const struct MenuAction gMenuYesNoItems[];
diff --git a/include/menu_cursor.h b/include/menu_cursor.h
index ca82ef244..6d31cc29f 100644
--- a/include/menu_cursor.h
+++ b/include/menu_cursor.h
@@ -21,4 +21,8 @@ void sub_814AD7C(u8 a1, u8 a2);
void sub_814ADC8(void);
void sub_814ADF4(u8 a1);
+#if GERMAN
+extern const u32 gUnknown_0842F798[2];
+#endif
+
#endif // GUARD_MENU_CURSOR_H
diff --git a/include/overworld.h b/include/overworld.h
index fcdc8ed97..0954f1b63 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -26,23 +26,23 @@ extern const struct UCoords32 gUnknown_0821664C[];
extern void (*gFieldCallback)(void);
// sub_8052F5C
-void flag_var_implications_of_teleport_(void);
+void Overworld_ResetStateAfterFly(void);
void Overworld_ResetStateAfterTeleport(void);
-void sub_8053014(void);
-void sub_8053050(void);
+void Overworld_ResetStateAfterDigEscRope(void);
+void Overworld_ResetStateAfterWhiteOut(void);
// sub_805308C
void ResetGameStats(void);
void IncrementGameStat(u8 index);
u32 GetGameStat(u8 index);
void SetGameStat(u8, u32);
-// sub_8053154
+// LoadMapObjTemplatesFromHeader
// LoadSaveblockMapObjScripts
-void Overworld_SaveMapObjCoords(u8, s16, s16);
-void Overworld_SaveMapObjMovementType(u8, u8);
+void Overworld_SetMapObjTemplateCoords(u8, s16, s16);
+void Overworld_SetMapObjTemplateMovementType(u8, u8);
// mapdata_load_assets_to_gpu_and_full_redraw
// get_mapdata_header
-// warp_shift
-// warp_set
+// ApplyCurrentWarp
+// SetWarpData
// warp_data_is_not_neg_1
struct MapHeader * const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum);
struct MapHeader * const warp1_get_mapheader(void);
@@ -50,14 +50,14 @@ struct MapHeader * const warp1_get_mapheader(void);
// LoadSaveblockMapHeader
// sub_80533CC
void warp_in(void);
-void warp1_set(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
+void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId);
void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
void sub_8053538(u8);
-void sub_8053570(void);
-void sub_8053588(u8);
+void Overworld_SetWarpDestToLastHealLoc(void);
+void Overworld_SetHealLocationWarp(u8);
void sub_80535C4(s16 a1, s16 a2);
void sub_805363C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void sub_8053678(void);
@@ -69,7 +69,7 @@ void sub_8053720(s16, s16);
// unref_sub_8053790
void sub_80537CC(u8);
void gpu_sync_bg_hide();
-// sub_8053818
+// GetMapConnection
// sub_8053850
bool8 sub_80538B0(u16 x, u16 y);
bool8 sub_80538D0(u16 x, u16 y);
@@ -81,7 +81,7 @@ void walkrun_find_lowest_active_bit_in_bitfield(void);
u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3);
u8 sub_8053B60(struct UnkPlayerStruct *playerStruct, u8, u16, u8);
u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void);
-bool32 Overworld_IsBikeAllowedOnCurrentMap(void);
+bool32 Overworld_IsBikingAllowed(void);
void SetDefaultFlashLevel(void);
void Overworld_SetFlashLevel(s32 a1);
u8 Overworld_GetFlashLevel(void);
@@ -89,19 +89,19 @@ void sub_8053D14(u16);
// sub_8053D30
// sub_8053D6C
// GetLocationMusic
-// sav1_map_get_music
-// warp1_target_get_music
-// call_map_music_set_to_zero
-void sub_8053E90(void);
-void sav1_set_battle_music_maybe(u16);
-void sav1_reset_battle_music_maybe(void);
+// GetCurrLocationDefaultMusic
+// GetWarpDestinationMusic
+// Overworld_ResetMapMusic
+void Overworld_PlaySpecialMapMusic(void);
+void Overworld_SetSavedMusic(u16);
+void Overworld_ClearSavedMusic(void);
void sub_8053F0C(void);
-void sub_8053F84(void);
+void Overworld_ChangeMusicToDefault(void);
void Overworld_ChangeMusicTo(u16);
// GetMapMusicFadeoutSpeed
void sub_8053FF8(void);
bool8 sub_8054034(void);
-void sub_8054044(void);
+void Overworld_FadeOutMapMusic(void);
// PlayAmbientCry
void UpdateAmbientCry(s16 *, u16 *);
void ChooseAmbientCrySpecies(void);
@@ -233,5 +233,6 @@ u8 npc_something3(u8, u8);
u8 LinkPlayerDetectCollision(u8, u8, s16, s16);
void CreateLinkPlayerSprite(u8);
void SpriteCB_LinkPlayer(struct Sprite *);
+void sub_805465C(void);
#endif // GUARD_ROM4_H
diff --git a/include/party_menu.h b/include/party_menu.h
index 5250486bb..f13c2c2df 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -1,36 +1,53 @@
#ifndef GUARD_PARTY_MENU_H
#define GUARD_PARTY_MENU_H
+#include "menu.h"
#include "task.h"
-struct PartyMenuItem
+
+enum
+{
+ PARTY_MENU_TYPE_STANDARD,
+ PARTY_MENU_TYPE_BATTLE,
+ PARTY_MENU_TYPE_CONTEST,
+ PARTY_MENU_TYPE_IN_GAME_TRADE,
+ PARTY_MENU_TYPE_BATTLE_TOWER,
+ PARTY_MENU_TYPE_LINK_MULTI_BATTLE,
+ PARTY_MENU_TYPE_DAYCARE,
+ PARTY_MENU_TYPE_MOVE_TUTOR,
+};
+
+// The party menu screen is presented differently depending on which menu layout is set.
+enum
{
- const u8 *text;
- TaskFunc func;
+ PARTY_MENU_LAYOUT_STANDARD,
+ PARTY_MENU_LAYOUT_DOUBLE_BATTLE,
+ PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE,
+ PARTY_MENU_LAYOUT_MULTI_BATTLE,
};
struct PartyPopupMenu
{
- u8 unk0;
- u8 unk1;
- const u8 *unk4;
+ /*0x0*/u8 numChoices; // number of menu choices
+ /*0x1*/u8 width; // menu width (number of characters it can fit horizontally)
+ /*0x4*/const u8 *items; // menu item ids (ids for a MenuAction2 array)
};
// TODO: Unify these two structs
-#define DATA_COUNT (6)
struct Unk201B000
{
- //u8 filler0[0x260];
struct Pokemon unk0[6];
- u8 filler258[1];
- u8 unk259;
- u8 filler25A[6];
- u8 unk260;
+ u8 menuType;
+ u8 promptTextId;
+ u8 filler25A[2];
+ TaskFunc menuHandler;
+ u8 menuHandlerTaskId;
u8 unk261;
u8 unk262;
u8 unk263;
- s16 unk264[DATA_COUNT * 2]; // This may be a union
+ // Stat growth upon level-up. First 6 bytes = old stats, Second 6 bytes = new stats.
+ s16 statGrowths[NUM_STATS * 2];
u8 filler27C[2];
s16 unk27E;
s16 unk280;
@@ -40,14 +57,15 @@ struct Unk201B000
struct Struct201B000
{
u8 filler0[0x259];
- u8 unk259;
+ u8 promptTextId;
u8 filler25A[6];
- u8 unk260;
+ u8 menuHandlerTaskId;
u8 unk261;
u8 unk262;
- s16 unk264;
- s16 unk266;
- u8 filler268[10];
+ s16 setupState;
+ s16 monIndex;
+ s16 unk268;
+ u8 filler26A[8];
u16 unk272;
u8 filler274[14];
u16 unk282;
@@ -63,71 +81,93 @@ struct Unk2001000
u8 unk5;
u8 unk6;
u8 unk7;
- u8 unk8;
- u8 unk9;
- u8 unkA;
- u8 unkB;
- void* unkC;
+ s16 unk8;
+ s16 unkA;
+ TaskFunc unkC;
u16 array[53561];
};
+struct UnknownPokemonStruct2
+{
+ /*0x00*/ u16 species;
+ /*0x02*/ u16 heldItem;
+ /*0x04*/ u8 nickname[11];
+ /*0x0F*/ u8 level;
+ /*0x10*/ u16 hp;
+ /*0x12*/ u16 maxhp;
+ /*0x14*/ u32 status;
+ /*0x18*/ u32 personality;
+ /*0x1C*/ u8 gender;
+ /*0x1D*/ u8 language;
+};
+
extern u8 ewram[];
#define ewram01000 (*(struct Unk2001000 *)(ewram + 0x01000))
#define ewram1B000 (*(struct Unk201B000 *)(ewram + 0x1B000))
#define ewram1B000_alt (*(struct Struct201B000 *)(ewram + 0x1B000))
#define EWRAM_1B000 ewram1B000_alt
-void sub_806AEDC(void);
-void sub_806AF4C(u8 arg0, u8 arg1, void* arg2, u8 arg3);
-void OpenPartyMenu(u8, u8);
-void OpenPartyMenu();
-bool8 sub_806B124(void);
-u8 IsLinkDoubleBattle(void);
-u8 sub_806B58C(u8);
-u8 sub_806B58C(u8);
+void CB2_PartyMenuMain(void);
+void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed);
+void SetPartyMenuSettings(u8 menuType, u8 battleTypeFlags, TaskFunc menuHandlerFunc, u8 textId);
+void OpenPartyMenu(u8 menuType, u8 battleFlags);
+bool8 InitPartyMenu(void);
+bool8 IsLinkDoubleBattle(void);
+u8 DrawPartyMonBackground(u8);
+void sub_806B908(void);
void sub_806BC3C(u8, u8);
+void sub_806BCE8(void);
u8 sub_806BD58(u8, u8);
u8 sub_806BD58(u8, u8);
-u16 sub_806BD80(u8);
-void task_pc_turn_off();
-void sub_806BF74(u8 arg0, u8 arg1);
-void sub_806C994(u8 arg0, u8 arg1);
+u16 HandleDefaultPartyMenuInput(u8 taskId);
+u16 HandleBattleTowerPartyMenuInput(u8 taskId);
+void task_pc_turn_off(const u8 *a, u8 b);
+void ChangePartyMenuSelection(u8 taskId, s8 directionPressed);
+void SelectBattleTowerOKButton(u8 taskId);
+void sub_806C994(u8 taskId, u8 b);
u8 sub_806CA38(u8 taskID);
-void sub_806CB74(u8 taskId);
+void HandlePartyMenuSwitchPokemonInput(u8 taskId);
void sub_806CCE4(void);
void sub_806CD44(u8 taskId);
-void sub_806D538(u8 arg0, u8 arg1);
+void sub_806D3B4(u8 taskId, u16 species1, u16 species2);
+void sub_806D4AC(u8 taskId, u16 species, u8 c);
+void sub_806D50C(u8 taskId, u8 monIndex);
+void PrintPartyMenuPromptText(u8 textId, u8 b);
void sub_806D5A4(void);
-void SetMonIconAnim();
-void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *);
+void SetMonIconAnim(u8 spriteId, struct Pokemon *pokemon);
+void CreatePartyMenuMonIcon(u8 taskId, u8 monIndex, u8 c, struct Pokemon *pokemon);
+void TryCreatePartyMenuMonIcon(u8 a, u8 monIndex, struct Pokemon *pokemon);
void LoadHeldItemIconGraphics(void);
void PartyMenuTryGiveMonHeldItem(u8 taskId, u16 newItem, TaskFunc c);
-void CreateHeldItemIcons_806DC34(); // undefined args
-void CreateHeldItemIcons_806DC34();
-u8 GetMonIconSpriteId_maybe();
-void SetHeldItemIconVisibility();
-void TryPrintPartyMenuMonNickname();
-void PrintPartyMenuMonNicknames(void);
+void SetMonIconSpriteId(u8 taskId, u8 monIndex, u8 spriteId);
+void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item);
+void CreateHeldItemIcons_806DC34(u8 taskId);
+void CreateHeldItemIcons(u8 *a, u8 *b, u8 c);
+void SetHeldItemIconVisibility(u8 a, u8 monIndex);
+void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer);
+void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon);
void PrintPartyMenuMonNicknames(void);
-void GetMonNickname(struct Pokemon *mon, u8 *nickname);
-void PartyMenuClearLevelStatusTilemap();
-void PartyMenuPrintMonLevelOrStatus();
+void CreateMonIcon_LinkMultiBattle(u8 taskId, u8 monIndex, u8 menuType, struct UnknownPokemonStruct2 *pokemon);
+u8 *GetMonNickname(struct Pokemon *pokemon, u8 *stringBuffer);
+void PartyMenuPutStatusTilemap(u8 monIndex, u8 b, u8 status);
+void PartyMenuDoPrintLevel(u8 monIndex, u8 b, u8 level);
+void PartyMenuPrintLevel(u8 monIndex, u8 b, struct Pokemon *pokemon);
+void PartyMenuPrintMonLevelOrStatus(u8 monIndex, struct Pokemon *pokemon);
void PartyMenuPrintMonsLevelOrStatus(void);
-void PartyMenuPrintMonsLevelOrStatus(void);
-void PartyMenuDoPrintHP(u8, int, u16, u16);
+void PartyMenuDoPrintGenderIcon(u16 species, u8 gender, u8 c, u8 monIndex, u8 *nickname);
+void PartyMenuPrintGenderIcon(u8 monIndex, u8 b, struct Pokemon *pokemon);
+void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP);
void PartyMenuTryPrintMonsHP(void);
void nullsub_13(void);
+void PartyMenuDoDrawHPBar(u8 monIndex, u8 b, u16 currentHP, u16 maxHP);
+void PartyMenuDrawHPBar(u8 monIndex, u8 b, struct Pokemon *pokemon);
+void PartyMenuTryDrawHPBar(u8 monIndex, struct Pokemon *pokemon);
void PartyMenuDrawHPBars(void);
-void sub_806E6F0();
-void sub_806E750(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, int);
-void sub_806E7D0(u8, const struct PartyPopupMenu *);
-TaskFunc PartyMenuGetPopupMenuFunc(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, u8);
-void sub_8070968();
-void sub_8070A20();
-void Task_RareCandy3(u8);
-void sub_8070C54();
-void DoEvolutionStoneItemEffect(u8, u16, TaskFunc);
-u8 GetItemEffectType();
+void SwapPokemon(struct Pokemon *a, struct Pokemon *b);
+void SetPartyPopupMenuOffsets(u8 menuIndex, u8 *left, u8 *top, const struct PartyPopupMenu *menu);
+void ShowPartyPopupMenu(u8 menuIndex, const struct PartyPopupMenu *menu, const struct MenuAction2 *menuActions, u8 cursorPos);
+void ClosePartyPopupMenu(u8 index, const struct PartyPopupMenu *menu);
+TaskFunc PartyMenuGetPopupMenuFunc(u8 menuIndex, const struct PartyPopupMenu *menus, const struct MenuAction2 *menuActions, u8 itemIndex);
u8 sub_806E834(const u8 *message, u8 arg1);
void sub_806E8D0(u8 taskId, u16 b, TaskFunc c);
void party_menu_link_mon_held_item_object(u8);
@@ -167,13 +207,19 @@ void DoPPUpItemEffect(u8, u16, TaskFunc);
void DoRareCandyItemEffect(u8, u16, TaskFunc);
void Task_RareCandy1(u8);
void Task_RareCandy2(u8);
-void sub_8070848(u8 taskId);
-void sub_806CA60(u8 taskId);
+void PrintStatGrowthsInLevelUpWindow(u8 taskId);
+void PrintNewStatsInLevelUpWindow(u8 taskId);
+void RedrawPokemonInfoInMenu(u8, struct Pokemon *);
+void Task_RareCandy3(u8);
+void TeachMonMoveInPartyMenu(u8);
+void DoEvolutionStoneItemEffect(u8 taskId, u16 evolutionStoneItem, TaskFunc c);
+u8 GetItemEffectType(u16 item);
+void SetupDefaultPartyMenuSwitchPokemon(u8 taskId);
void sub_806CD5C(u8 taskId);
void DoTakeMail(u8 taskId, TaskFunc func);
void PartyMenuTryGiveMonHeldItem_806ECE8(u8 taskId, TaskFunc func);
void PartyMenuTryGiveMonMail(u8 taskId, TaskFunc func);
-void sub_806D668(u8 partyID);
+void sub_806D668(u8 monIndex);
void TaughtMove(u8 taskId);
void StopTryingToTeachMove_806F588(u8 taskId);
diff --git a/include/pokeball.h b/include/pokeball.h
index 19f813415..0a709c869 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -7,5 +7,6 @@ void CreatePokeballSprite(u8 r0, u8 r1, u8 r2, u8 r3, u8 s1, u8 s2, u8 s3, u32 s
void sub_804777C(u8);
void sub_80478DC(u8);
void sub_804794C(u8);
+u8 sub_8047580(u8, u8, u8, u8, u8, u8, u8, u32);
#endif // GUARD_POKEBALL_H
diff --git a/include/pokedex.h b/include/pokedex.h
index 1bc63a4ff..c47494e1f 100644
--- a/include/pokedex.h
+++ b/include/pokedex.h
@@ -9,7 +9,17 @@ void CB2_InitPokedex(void);
u8 sub_809070C(u16 dexNum, u32 b, u32 c);
const u8 *GetPokemonCategory(u16);
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
-s8 GetNationalPokedexFlag(u16, u8);
+
+enum
+{
+ FLAG_GET_SEEN,
+ FLAG_GET_CAUGHT,
+ FLAG_SET_SEEN,
+ FLAG_SET_CAUGHT
+};
+
+s8 GetSetPokedexFlag(u16, u8);
+
u16 GetNationalPokedexCount(u8);
u16 GetHoennPokedexCount(u8);
bool8 sub_8090FC0(void);
diff --git a/include/pokemon.h b/include/pokemon.h
index 9c6f16442..7fc8e181f 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -32,7 +32,7 @@
#define MON_DATA_HP_EV 26
#define MON_DATA_ATK_EV 27
#define MON_DATA_DEF_EV 28
-#define MON_DATA_SPD_EV 29
+#define MON_DATA_SPEED_EV 29
#define MON_DATA_SPATK_EV 30
#define MON_DATA_SPDEF_EV 31
#define MON_DATA_FRIENDSHIP 32
@@ -45,7 +45,7 @@
#define MON_DATA_HP_IV 39
#define MON_DATA_ATK_IV 40
#define MON_DATA_DEF_IV 41
-#define MON_DATA_SPD_IV 42
+#define MON_DATA_SPEED_IV 42
#define MON_DATA_SPATK_IV 43
#define MON_DATA_SPDEF_IV 44
#define MON_DATA_IS_EGG 45
@@ -64,7 +64,7 @@
#define MON_DATA_MAX_HP 58
#define MON_DATA_ATK 59
#define MON_DATA_DEF 60
-#define MON_DATA_SPD 61
+#define MON_DATA_SPEED 61
#define MON_DATA_SPATK 62
#define MON_DATA_SPDEF 63
#define MON_DATA_MAIL 64
@@ -89,10 +89,12 @@
#define MON_DATA_83 83
#define MON_DATA_ATK2 84
#define MON_DATA_DEF2 85
-#define MON_DATA_SPD2 86
+#define MON_DATA_SPEED2 86
#define MON_DATA_SPATK2 87
#define MON_DATA_SPDEF2 88
+#define MAX_LEVEL 100
+
#define MON_MALE 0x00
#define MON_FEMALE 0xFE
#define MON_GENDERLESS 0xFF
@@ -286,29 +288,29 @@ struct Pokemon
struct UnknownPokemonStruct
{
- u16 species;
- u16 heldItem;
- u16 moves[4];
- u8 level;
- u8 ppBonuses;
- u8 hpEV;
- u8 attackEV;
- u8 defenseEV;
- u8 speedEV;
- u8 spAttackEV;
- u8 spDefenseEV;
- u32 otId;
- u32 hpIV:5;
- u32 attackIV:5;
- u32 defenseIV:5;
- u32 speedIV:5;
- u32 spAttackIV:5;
- u32 spDefenseIV:5;
- u32 gap:1;
- u32 altAbility:1;
- u32 personality;
- u8 nickname[POKEMON_NAME_LENGTH + 1];
- u8 friendship;
+ /*0x00*/u16 species;
+ /*0x02*/u16 heldItem;
+ /*0x04*/u16 moves[4];
+ /*0x0C*/u8 level;
+ /*0x0D*/u8 ppBonuses;
+ /*0x0E*/u8 hpEV;
+ /*0x0F*/u8 attackEV;
+ /*0x10*/u8 defenseEV;
+ /*0x11*/u8 speedEV;
+ /*0x12*/u8 spAttackEV;
+ /*0x13*/u8 spDefenseEV;
+ /*0x14*/u32 otId;
+ /*0x18*/u32 hpIV:5;
+ /*0x18*/u32 attackIV:5;
+ /*0x19*/u32 defenseIV:5;
+ /*0x19*/u32 speedIV:5;
+ /*0x1A*/u32 spAttackIV:5;
+ /*0x1A*/u32 spDefenseIV:5;
+ /*0x1B*/u32 gap:1;
+ /*0x1B*/u32 altAbility:1;
+ /*0x1C*/u32 personality;
+ /*0x20*/u8 nickname[POKEMON_NAME_LENGTH + 1];
+ /*0x2B*/u8 friendship;
};
struct BattlePokemon
@@ -391,7 +393,7 @@ struct BaseStats
/*0x17*/ u8 ability2;
/*0x18*/ u8 safariZoneFleeRate;
/*0x19*/ u8 bodyColor:7;
- u8 unk19_7:1;
+ u8 noFlip:1;
};
struct BattleMove
@@ -510,7 +512,7 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src);
void sub_803AF78(struct Pokemon *mon, struct UnknownPokemonStruct *dest);
u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon);
void CalculateMonStats(struct Pokemon *mon);
-void sub_803B4B4(struct Pokemon *src, struct Pokemon *dest);
+void sub_803B4B4(const struct BoxPokemon *src, struct Pokemon *dest);
u8 GetLevelFromMonExp(struct Pokemon *mon);
u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon);
u16 GiveMoveToMon(struct Pokemon *mon, u16 move);
@@ -520,7 +522,7 @@ void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot);
void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot);
void GiveMonInitialMoveset(struct Pokemon *mon);
void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon);
-u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 a2);
+u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove);
void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move);
void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move);
@@ -539,11 +541,13 @@ union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality,
// but they are not used since some code erroneously omits the third arg.
// u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data);
// u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data);
+// void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg);
+// void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg);
u32 GetMonData();
u32 GetBoxMonData();
+void SetMonData();
+void SetBoxMonData();
-void SetMonData(struct Pokemon *mon, s32 field, const u8 *data);
-void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data);
void CopyMon(void *dest, void *src, size_t size);
u8 GiveMonToPlayer(struct Pokemon *mon);
u8 SendMonToPC(struct Pokemon *mon);
@@ -566,6 +570,8 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex);
u8 GetNature(struct Pokemon *mon);
u8 GetNatureFromPersonality(u32 personality);
+u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem);
+
u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex);
void MonRestorePP(struct Pokemon *);
@@ -589,15 +595,22 @@ u8 sub_8040574(struct Pokemon *party);
void ClearBattleMonForms(void);
void sub_80408BC();
void current_map_music_set__default_for_battle(u16);
-const u8 *pokemon_get_pal(struct Pokemon *mon);
-const u8 *species_and_otid_get_pal(u16, u32, u32);
-const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32);
+const u8 *GetMonSpritePal(struct Pokemon *mon);
+const u8 *GetMonSpritePalFromOtIdPersonality(u16, u32, u32);
+const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16, u32, u32);
bool8 IsOtherTrainer(u32, u8 *);
void sub_8040B8C(void);
void SetWildMonHeldItem(void);
u8 *sub_8040D08();
-bool32 sub_8040D3C(u16 species, u8 *name, u8 language);
+bool32 ShouldHideGenderIconForLanguage(u16 species, u8 *name, u8 language);
+bool32 ShouldHideGenderIcon(u16 species, u8 *name);
s8 sub_8040A54(struct Pokemon *, u8);
u16 GetMonEVCount(struct Pokemon *);
+u16 GetEvolutionTargetSpecies(struct Pokemon *, u8, u16);
+const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *);
+bool8 IsPokeSpriteNotFlipped(u16);
+u8 GetLevelUpMovesBySpecies(u16, u16 *);
+u8 TryIncrementMonLevel(struct Pokemon *);
+
#endif // GUARD_POKEMON_H
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index 98f984564..7e26c1c9b 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -1,7 +1,8 @@
#ifndef GUARD_POKEMON_ICON_H
#define GUARD_POKEMON_ICON_H
-u8 CreateMonIcon();
+u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality);
+u8 UpdateMonIconFrame(struct Sprite *sprite);
u8 sub_809D3A4(u16 arg0, void (*)(struct Sprite *), int, u8 arg3, u32 arg4);
u16 GetUnownLetterByPersonality(u32);
u16 sub_809D4A8(u16);
@@ -9,6 +10,7 @@ void sub_809D510(struct Sprite *);
void sub_809D51C(void);
void sub_809D580(u16);
void sub_809D608(u16);
-void UpdateMonIconFrame(struct Sprite *sprite);
+void sub_809D62C(struct Sprite *sprite);
+void sub_809D824(struct Sprite *sprite, u8 animNum);
#endif // GUARD_POKEMON_ICON_H
diff --git a/include/pokemon_menu.h b/include/pokemon_menu.h
index 06f905577..57a313d89 100644
--- a/include/pokemon_menu.h
+++ b/include/pokemon_menu.h
@@ -1,6 +1,8 @@
#ifndef GUARD_POKEMON_MENU_H
#define GUARD_POKEMON_MENU_H
+#include "menu.h"
+
#define POKEMENU_FIRST_FIELD_MOVE_ID 10
enum
@@ -34,9 +36,11 @@ enum
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
+void HandleDefaultPartyMenu(u8 taskID);
void sub_808B5B4(u32 taskID);
void sub_8089A70(void);
-void sub_808A004(u8 taskID);
+void sub_8089C50(u8 arg0, u8 arg1, u8 arg2, u8 noOfOptions, const struct MenuAction2 *menuActions, const u8 *order);
+void DoPokemonMenu_Switch(u8 taskID);
void FieldCallback_Teleport(void);
void sub_808AD58(void);
void sub_808B020(void);
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index bd4e7915b..9fe3436ef 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -2,5 +2,7 @@
#define GUARD_POKEMON_STORAGE_SYSTEM_H
void ResetPokemonStorageSystem(void);
+void BoxMonRestorePP(struct BoxPokemon *);
+void party_compaction(void);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
diff --git a/include/record_mixing.h b/include/record_mixing.h
index ca60b04a7..96105f3f7 100644
--- a/include/record_mixing.h
+++ b/include/record_mixing.h
@@ -21,7 +21,7 @@ u16 *GetPlayerRecvBuffer(u8 player);
void sub_80B9A78(void);
void sub_80B9A88(u8 *a);
void sub_80B9B1C(u8 *a, size_t size, u8 index);
-void sub_80B9B70(u8 *a, size_t size, u8 index);
+void sub_80B9B70(void *a, u32 size, u8 index);
u8 sub_80B9BBC(u16 *a);
void sub_80B9BC4(u8 *, size_t, u8[][2], u8 d, u8 e);
u8 sub_80B9C4C(u8 *a);
diff --git a/include/rom3.h b/include/rom3.h
index 81bb56df1..19c6def25 100644
--- a/include/rom3.h
+++ b/include/rom3.h
@@ -1,6 +1,12 @@
#ifndef GUARD_ROM3_H
#define GUARD_ROM3_H
+struct HpAndStatus
+{
+ u16 hp;
+ u32 status;
+};
+
struct DisableStruct;
void sub_800B858(void);
@@ -55,7 +61,7 @@ void Emitcmd44(u8 a, u16 b);
void EmitFaintingCry(u8 a);
void EmitIntroSlide(u8 a, u8 b);
void EmitTrainerBallThrow(u8 a);
-void Emitcmd48(u8 a, u8 *b, u8 c);
+void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c); //0x30
void Emitcmd49(u8 a);
void Emitcmd50(u8 a);
void EmitSpriteInvisibility(u8 a, u8 b);
diff --git a/include/rom_8077ABC.h b/include/rom_8077ABC.h
index 11e94e1f5..94e535df5 100644
--- a/include/rom_8077ABC.h
+++ b/include/rom_8077ABC.h
@@ -4,10 +4,18 @@
#include "sprite.h"
#include "task.h"
+enum
+{
+ ANIM_BANK_ATK,
+ ANIM_BANK_DEF,
+ ANIM_BANK_ATK_PARTNER,
+ ANIM_BANK_DEF_PARTNER
+};
+
u8 sub_8077ABC(u8, u8);
u8 sub_8077E44(u8 slot, u16 species, u8 a3);
-u8 obj_id_for_side_relative_to_move(u8 side);
-void oamt_set_x3A_32(struct Sprite *sprite, void(*callback)(struct Sprite *));
+u8 GetAnimBankSpriteId(u8 side);
+void StoreSpriteCallbackInData6(struct Sprite *sprite, void(*callback)(struct Sprite *));
void sub_8078314(struct Sprite *sprite);
void sub_8078364(struct Sprite *sprite);
void sub_8078458(struct Sprite *sprite);
@@ -22,8 +30,8 @@ u8 GetBankIdentity(u8 slot);
u8 GetBankByPlayerAI(u8);
u8 GetBankByPlayerAI(u8);
u8 GetBankByPlayerAI(u8 state);
-u8 sub_8078874(u8);
-bool8 sub_8078874(u8);
+u8 AnimBankSpriteExists(u8);
+bool8 AnimBankSpriteExists(u8);
bool8 IsDoubleBattle();
u8 IsDoubleBattle(void);
bool8 IsDoubleBattle(void);
@@ -55,5 +63,6 @@ void sub_807A784(u8 taskId);
void sub_807A850(struct Task *task, u8 taskId);
void sub_807A8D4(struct Sprite *sprite);
void sub_807A960(struct Sprite *sprite);
+void sub_8078A34(struct Sprite *sprite);
#endif // GUARD_ROM_8077ABC_H
diff --git a/include/save.h b/include/save.h
index 6c47c6f60..c35ad547a 100644
--- a/include/save.h
+++ b/include/save.h
@@ -3,7 +3,7 @@
struct SaveSectionLocation
{
- void *data;
+ u8 *data;
u16 size;
};
diff --git a/include/script_movement.h b/include/script_movement.h
index dc6d7e51b..17c1abed7 100644
--- a/include/script_movement.h
+++ b/include/script_movement.h
@@ -1,7 +1,7 @@
#ifndef GUARD_SCRIPT_MOVEMENT_H
#define GUARD_SCRIPT_MOVEMENT_H
-bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, u8 *);
+bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *);
bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8);
void sub_80A2178(void);
diff --git a/include/script_pokemon_80F9.h b/include/script_pokemon_80F9.h
index d65c99c15..fa5d57f0e 100644
--- a/include/script_pokemon_80F9.h
+++ b/include/script_pokemon_80F9.h
@@ -9,9 +9,13 @@ struct UnknownStruct2018000
extern struct UnknownStruct2018000 unk_2018000;
-void sub_80F9A8C(u8);
+void OpenPartyMenuFromScriptContext(u8 taskId);
void sub_80F9C00(void);
void sub_80F9E1C(void);
void sub_80F99CC(void);
+void HandleSelectPartyMenu(u8 taskId);
+bool8 SetupContestPartyMenu(void);
+void HandleMoveTutorPartyMenu(u8 taskId);
+bool8 SetupMoveTutorPartyMenu(void);
#endif
diff --git a/include/secret_base.h b/include/secret_base.h
index bb747bb02..07784556f 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -1,17 +1,20 @@
#ifndef GUARD_SECRET_BASE_H
#define GUARD_SECRET_BASE_H
+// Maximum number of secret bases the game can store. This include 1 for the player, and up to 19 others from linked players.
+#define MAX_SECRET_BASES 20
+
void ResetSecretBases(void);
-void sub_80BB970(struct MapEvents *);
+void sub_80BB970(struct MapEvents *events);
u8 sub_80BBB24(void);
-void sub_80BBCCC(u8);
-void sub_80BC038();
+void sub_80BBCCC(u8 flagIn);
+void sub_80BC038(struct MapPosition *, struct MapEvents *);
u8 sub_80BC050();
-u8 *GetSecretBaseMapName(u8 *);
+u8 *GetSecretBaseMapName(u8 *dest);
void sub_80BC300();
-const u8 sub_80BCCA4(u8);
-u8 *sub_80BCCE8(void);
-void sub_80BCF1C(u8);
-void sub_80BD674(void *, u32, u8);
+u8 sub_80BCCA4(u8 secretBaseIndex);
+const u8 *sub_80BCCE8(void);
+void sub_80BCF1C(u8 taskId);
+void sub_80BD674(void *playerRecords, u32 size, u8 c);
#endif // GUARD_SECRET_BASE_H
diff --git a/include/sprite.h b/include/sprite.h
index 5682a7c1d..38687ebd8 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -252,12 +252,12 @@ void SetOamMatrix(u8 matrixNum, u16 a, u16 b, u16 c, u16 d);
void CalcCenterToCornerVec(struct Sprite *sprite, u8 shape, u8 size, u8 affineMode);
void SpriteCallbackDummy(struct Sprite *sprite);
void ProcessSpriteCopyRequests(void);
-void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size);
+void RequestSpriteCopy(const void *src, u8 *dest, u16 size);
void FreeSpriteTiles(struct Sprite *sprite);
void FreeSpritePalette(struct Sprite *sprite);
void FreeSpriteOamMatrix(struct Sprite *sprite);
void DestroySpriteAndFreeResources(struct Sprite *sprite);
-void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5);
+void DrawPartyMenuMonText(u32 a1, u32 a2, const u16 *a3, u16 a4, u32 a5);
void AnimateSprite(struct Sprite *sprite);
void StartSpriteAnim(struct Sprite *sprite, u8 animNum);
void StartSpriteAnimIfDifferent(struct Sprite *sprite, u8 animNum);
@@ -299,4 +299,6 @@ u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
+extern const struct SpriteTemplate gDummySpriteTemplate;
+
#endif // GUARD_SPRITE_H
diff --git a/include/string_util.h b/include/string_util.h
index 7a4bfa4c1..55fa988b4 100644
--- a/include/string_util.h
+++ b/include/string_util.h
@@ -29,7 +29,7 @@ u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8
u8 *ConvertIntToDecimalString(u8 *dest, s32 value);
u8 *StringExpandPlaceholders(u8 *dest, const u8 *src);
u8 *StringBraille(u8 *dest, const u8 *src);
-u8 *GetExpandedPlaceholder(u32 id);
+const u8 *GetExpandedPlaceholder(u32 id);
u8 *StringFill(u8 *dest, u8 c, u16 n);
u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n);
u8 *StringFillWithTerminator(u8 *dest, u16 n);
diff --git a/include/strings2.h b/include/strings2.h
index 600bb2d31..8052c6c4a 100644
--- a/include/strings2.h
+++ b/include/strings2.h
@@ -319,4 +319,8 @@ extern const u8 gOtherText_OK[];
// wallclock
extern const u8 gOtherText_CorrectTimePrompt[];
+#if GERMAN
+extern const u8 deuOtherText_ForgotAndLearned[];
+#endif
+
#endif // GUARD_STRINGS2_H
diff --git a/include/text.h b/include/text.h
index 7125bc803..ebc4ebe7e 100644
--- a/include/text.h
+++ b/include/text.h
@@ -126,7 +126,7 @@ struct Window
/*0x20*/ const u8 *text;
/*0x24*/ u8 *tileData;
/*0x28*/ u16 *tilemap;
- /*0x2C*/ struct WindowConfig *config;
+ /*0x2C*/ const struct WindowConfig *config;
};
extern vu16 *const gBGControlRegs[];
@@ -203,6 +203,7 @@ extern u8 gStringVar1[];
extern u8 gStringVar2[];
extern u8 gStringVar3[];
extern u8 gStringVar4[];
+extern u8 gTileBuffer[];
void LoadFontDefaultPalette(const struct WindowConfig *winConfig);
void SetUpWindowConfig(const struct WindowConfig *winConfig);
@@ -245,8 +246,8 @@ u8 sub_8004D38(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 l
u8 sub_8004DB0(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top, u16 a6);
u8 sub_8004E24(struct Window *win);
void sub_8004E28(struct Window *win, u8 *foreground, u8 *background, u8 *shadow);
-void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, const u8 *text);
-u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, const u8 *s);
+void sub_8004E3C(const struct WindowConfig *winConfig, u8 *tileData, const u8 *text);
+u8 GetStringWidthGivenWindowConfig(const struct WindowConfig *winConfig, const u8 *s);
void ConvertInternationalString(u8 *s, u8 language);
void StripExtCtrlCodes(u8 *str);
s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2);
diff --git a/include/trade.h b/include/trade.h
index a4f05e8ed..642bdcd65 100644
--- a/include/trade.h
+++ b/include/trade.h
@@ -1,18 +1,64 @@
+
#ifndef GUARD_TRADE_H
#define GUARD_TRADE_H
-struct SomeTradeStruct
-{
- u8 unk0;
- u8 unk1;
- u8 unk2;
- u8 unk3;
- struct Window field_4;
- u8 field_34;
+struct TradeEwramSubstruct2 {
+ /*0x0000*/ u8 filler_0000;
+ /*0x0004*/ struct Window window;
+ /*0x0034*/ u8 textWindowBaseTileNum;
+ /*0x0038*/ struct Pokemon pokemon;
+ /*0x009c*/ u8 unk_009c;
+ /*0x009d*/ u8 unk_009d;
+ /*0x009e*/ u16 linkData[10];
+ /*0x00b2*/ u8 unk_00b2;
+ /*0x00b3*/ u8 unk_00b3;
+ /*0x00b4*/ u16 unk_00b4;
+ /*0x00b6*/ u16 unk_00b6;
+ // Sprite indices
+ /*0x00b8*/ u8 pokePicSpriteIdxs[2];
+ /*0x00ba*/ u8 unk_00ba;
+ /*0x00bb*/ u8 unk_00bb;
+ /*0x00bc*/ u8 unk_00bc;
+ /*0x00bd*/ u8 unk_00bd;
+ // Timer
+ /*0x00c0*/ u32 unk_00c0;
+ // Scene index
+ /*0x00c4*/ u16 unk_00c4;
+ /*0x00c6*/ u8 filler_00c6[0x3c];
+ /*0x0102*/ u8 unk_0102;
+ /*0x0103*/ u8 unk_0103;
+ /*0x0104*/ u16 unk_0104;
+ /*0x0106*/ u16 unk_0106;
+ /*0x0108*/ u16 unk_0108;
+ /*0x010a*/ u16 unk_010a;
+ /*0x010c*/ u16 unk_010c;
+ /*0x010e*/ s16 unk_010e;
+ /*0x0110*/ s16 bg1vofs;
+ /*0x0112*/ s16 bg1hofs;
+ /*0x0114*/ s16 bg2vofs;
+ /*0x0116*/ s16 bg2hofs;
+ /*0x0118*/ u16 unk_0118;
+ /*0x011a*/ u16 unk_011a;
+ /*0x011c*/ u16 unk_011c;
+ /*0x011e*/ u8 isLinkTrade;
+ /*0x0120*/ u16 tradeSpecies[2];
+ /*0x0124*/ u16 unk_0124;
};
-extern struct SomeTradeStruct* gUnknown_03004828;
+extern struct TradeEwramSubstruct2 *gUnknown_03004828;
+extern const u16 gUnknown_0820C9F8[][16];
+extern const u32 gUnknown_0820CA98[];
+extern const u16 gUnknown_0820F798[];
+
+void sub_8047CD8(void);
+u16 sub_804DB2C(void);
+void sub_804DB68(void);
+void sub_804E174(void);
+extern const u8 gOtherText_MaleSymbol3[2];
+extern const u8 gOtherText_FemaleSymbol3[2];
+extern const u8 gOtherText_GenderlessSymbol[2];
void sub_804E22C(void);
+u16 sub_804D89C(void);
-#endif // GUARD_TRADE_H
+#endif //POKERUBY_TRADE_H
diff --git a/include/tv.h b/include/tv.h
index 3243fff2c..a933e1779 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -107,5 +107,6 @@ void sub_80BE3BC(void);
void UpdateTVShowsPerDay(u16);
void sub_80C045C();
void sub_80BF088(u8, s32);
+void sub_80BFD20(void);
#endif // GUARD_TV_H
diff --git a/include/use_pokeblock.h b/include/use_pokeblock.h
new file mode 100644
index 000000000..978476d89
--- /dev/null
+++ b/include/use_pokeblock.h
@@ -0,0 +1,13 @@
+//
+// Created by Scott Norton on 5/31/17.
+//
+
+#ifndef POKERUBY_USE_POKEBLOCK_H
+#define POKERUBY_USE_POKEBLOCK_H
+
+extern void *gUnknown_02030400;
+extern s16 gUnknown_02039312;
+
+void sub_8136130(struct Pokeblock *, MainCallback);
+
+#endif //POKERUBY_USE_POKEBLOCK_H
diff --git a/include/util.h b/include/util.h
index cd50b75cc..87fa4aecc 100644
--- a/include/util.h
+++ b/include/util.h
@@ -10,5 +10,6 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
void StoreWordInTwoHalfwords(u16 *, u32);
void LoadWordFromTwoHalfwords(u16 *, u32 *);
u16 CalcCRC16(u8 *data, int length);
+void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha);
#endif // GUARD_UTIL_H
diff --git a/include/vars.h b/include/vars.h
index 179fd6f93..631b9a41d 100644
--- a/include/vars.h
+++ b/include/vars.h
@@ -1,6 +1,8 @@
#ifndef GUARD_VARS_H
#define GUARD_VARS_H
+#define VAR_0x3F20 0x3F20
+
#define VAR_0x4000 0x4000
#define VAR_0x4001 0x4001
#define VAR_0x4002 0x4002
diff --git a/ld_script.txt b/ld_script.txt
index 9240cb191..50146a168 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -25,7 +25,7 @@ SECTIONS {
<BSS>
/* .bss.code starts at 0x3000F60 */
- src/m4a_2.o(.bss.code);
+ src/libs/m4a_2.o(.bss.code);
/* COMMON starts at 0x3001760 */
<COMMON>
@@ -39,232 +39,222 @@ SECTIONS {
ALIGN(4)
{
asm/crt0.o(.text);
- src/main.o(.text);
- src/sprite.o(.text);
- src/text.o(.text);
- src/string_util.o(.text);
- src/link.o(.text);
- src/rtc.o(.text);
- src/main_menu.o(.text);
+ src/engine/main.o(.text);
+ src/engine/sprite.o(.text);
+ src/engine/text.o(.text);
+ src/engine/string_util.o(.text);
+ src/engine/link.o(.text);
+ src/engine/rtc.o(.text);
+ src/engine/main_menu.o(.text);
src/rom3.o(.text);
- src/decompress.o(.text);
+ src/engine/decompress.o(.text);
asm/battle_1.o(.text);
src/rom_800D42C.o(.text);
asm/battle_1.o(.text_800DC24);
- src/battle_2.o(.text);
+ src/battle/battle_2.o(.text);
asm/battle_2.o(.text);
- src/battle_3.o(.text);
- src/battle_4.o(.text);
- src/battle_controller_player.o(.text);
- src/battle_7.o(.text);
- src/battle_controller_opponent.o(.text);
+ src/battle/battle_3.o(.text);
+ src/battle/battle_4.o(.text);
+ src/battle/battle_controller_player.o(.text);
+ src/battle/battle_7.o(.text);
+ src/battle/battle_controller_opponent.o(.text);
asm/battle_9.o(.text);
- src/battle_controller_linkopponent.o(.text);
- src/pokemon_1.o(.text);
- src/calculate_base_damage.o(.text);
- src/pokemon_2.o(.text);
+ src/battle/battle_controller_linkopponent.o(.text);
+ src/pokemon/pokemon_1.o(.text);
+ src/battle/calculate_base_damage.o(.text);
+ src/pokemon/pokemon_2.o(.text);
asm/pokemon_item_effect.o(.text);
- src/pokemon_3.o(.text);
+ src/pokemon/pokemon_3.o(.text);
src/de_rom_8040FE0.o(.text);
- src/trig.o(.text);
- src/rng.o(.text);
- src/util.o(.text);
- src/blend_palette.o(.text);
- src/daycare.o(.text);
- asm/daycare.o(.text);
- src/egg_hatch.o(.text);
- src/battle_interface.o(.text);
- src/smokescreen.o(.text);
- src/pokeball.o(.text);
- src/load_save.o(.text);
- asm/trade.o(.text);
- src/trade.o(.text);
- asm/trade.o(.text.sub_804A9F4);
- src/trade.o(.text.sub_804DAD4);
- asm/trade.o(.text.sub_804DB2C);
- src/berry_blender.o(.text);
- src/play_time.o(.text);
- src/new_game.o(.text);
- src/overworld.o(.text);
- src/fieldmap.o(.text);
- src/metatile_behavior.o(.text);
- src/field_camera.o(.text);
- src/field_door.o(.text);
- src/field_player_avatar.o(.text);
- src/field_map_obj.o(.text);
- asm/field_map_obj.o(.text);
- src/field_map_obj.o(.text_fmocb2_c);
- src/field_ground_effect.o(.text);
- src/field_map_obj_helpers.o(.text);
- src/field_message_box.o(.text);
- src/map_obj_lock.o(.text);
- src/text_window.o(.text);
- src/script.o(.text);
- src/scrcmd.o(.text);
- src/field_control_avatar.o(.text);
- src/event_data.o(.text);
- src/coord_event_weather.o(.text);
- src/field_tasks.o(.text);
- src/clock.o(.text);
- src/reset_rtc_screen.o(.text);
- asm/party_menu.o(.text);
- src/party_menu.o(.text);
- asm/party_menu.o(.text_8070968);
- src/start_menu.o(.text);
- src/menu.o(.text);
- src/tileset_anim.o(.text);
- src/palette.o(.text);
- src/sound.o(.text);
- src/battle_anim.o(.text);
+ src/engine/trig.o(.text);
+ src/engine/rng.o(.text);
+ src/engine/util.o(.text);
+ src/engine/blend_palette.o(.text);
+ src/field/daycare.o(.text);
+ src/scene/egg_hatch.o(.text);
+ src/battle/battle_interface.o(.text);
+ src/battle/smokescreen.o(.text);
+ src/battle/pokeball.o(.text);
+ src/engine/load_save.o(.text);
+ src/engine/trade.o(.text);
+ src/scene/berry_blender.o(.text);
+ src/engine/play_time.o(.text);
+ src/scene/new_game.o(.text);
+ src/field/overworld.o(.text);
+ src/field/fieldmap.o(.text);
+ src/field/metatile_behavior.o(.text);
+ src/field/field_camera.o(.text);
+ src/field/field_door.o(.text);
+ src/field/field_player_avatar.o(.text);
+ src/field/field_map_obj.o(.text);
+ src/field/field_ground_effect.o(.text);
+ src/field/field_map_obj_helpers.o(.text);
+ src/field/field_message_box.o(.text);
+ src/field/map_obj_lock.o(.text);
+ src/engine/text_window.o(.text);
+ src/engine/script.o(.text);
+ src/field/scrcmd.o(.text);
+ src/field/field_control_avatar.o(.text);
+ src/field/event_data.o(.text);
+ src/field/coord_event_weather.o(.text);
+ src/field/field_tasks.o(.text);
+ src/engine/clock.o(.text);
+ src/engine/reset_rtc_screen.o(.text);
+ src/field/party_menu.o(.text);
+ src/field/start_menu.o(.text);
+ src/engine/menu.o(.text);
+ src/engine/tileset_anim.o(.text);
+ src/engine/palette.o(.text);
+ src/engine/sound.o(.text);
+ src/battle/battle_anim.o(.text);
src/rom_8077ABC.o(.text);
- src/task.o(.text);
- src/reshow_battle_screen.o(.text);
- src/battle_anim_807B69C.o(.text);
- src/title_screen.o(.text);
- src/field_weather.o(.text);
+ src/engine/task.o(.text);
+ src/battle/reshow_battle_screen.o(.text);
+ src/battle/battle_anim_807B69C.o(.text);
+ src/scene/title_screen.o(.text);
+ src/field/field_weather.o(.text);
asm/field_weather.o(.text);
- src/field_fadetransition.o(.text);
- src/field_screen_effect.o(.text);
- src/battle_setup.o(.text);
- src/cable_club.o(.text);
- src/mori_debug_menu.o(.text);
- src/trainer_see.o(.text);
- src/wild_encounter.o(.text);
- src/field_effect.o(.text);
+ src/field/field_fadetransition.o(.text);
+ src/field/field_screen_effect.o(.text);
+ src/battle/battle_setup.o(.text);
+ src/engine/cable_club.o(.text);
+ src/debug/mori_debug_menu.o(.text);
+ src/field/trainer_see.o(.text);
+ src/field/wild_encounter.o(.text);
+ src/field/field_effect.o(.text);
src/unknown_task.o(.text);
- src/pokemon_menu.o(.text);
- src/option_menu.o(.text);
- src/pokedex.o(.text);
- src/trainer_card.o(.text);
- src/save_menu_util.o(.text);
- src/battle_party_menu.o(.text);
+ src/pokemon/pokemon_menu.o(.text);
+ src/engine/option_menu.o(.text);
+ src/pokemon/pokedex.o(.text);
+ src/engine/trainer_card.o(.text);
+ src/engine/save_menu_util.o(.text);
+ src/battle/battle_party_menu.o(.text);
asm/pokemon_storage_system.o(.text);
- src/pokemon_storage_system.o(.text);
+ src/pokemon/pokemon_storage_system.o(.text);
asm/pokemon_storage_system.o(.text_8098A38);
- src/pokemon_icon.o(.text);
+ src/pokemon/pokemon_icon.o(.text);
asm/pokemon_summary_screen.o(.text);
- src/pokemon_summary_screen.o(.text);
+ src/pokemon/pokemon_summary_screen.o(.text);
asm/pokemon_summary_screen.o(.text_80A0958);
- src/script_movement.o(.text);
- src/fldeff_cut.o(.text);
- src/mail_data.o(.text);
- src/map_name_popup.o(.text);
- src/item_menu.o(.text);
- src/battle_anim_80A7E7C.o(.text);
- src/item.o(.text);
- src/matsuda_debug_menu.o(.text);
+ src/field/script_movement.o(.text);
+ src/field/fldeff_cut.o(.text);
+ src/pokemon/mail_data.o(.text);
+ src/field/map_name_popup.o(.text);
+ src/field/item_menu.o(.text);
+ src/battle/battle_anim_80A7E7C.o(.text);
+ src/field/item.o(.text);
+ src/debug/matsuda_debug_menu.o(.text);
asm/contest.o(.text);
- src/shop.o(.text);
- src/berry.o(.text);
- src/script_menu.o(.text);
- src/naming_screen.o(.text);
- src/money.o(.text);
+ src/field/shop.o(.text);
+ src/field/berry.o(.text);
+ src/field/script_menu.o(.text);
+ src/engine/naming_screen.o(.text);
+ src/field/money.o(.text);
asm/contest_effect.o(.text);
- src/record_mixing.o(.text);
- src/sound_check_menu.o(.text);
- src/secret_base.o(.text);
- asm/secret_base.o(.text_80BC1D0);
- src/tv.o(.text);
+ src/engine/record_mixing.o(.text);
+ src/debug/sound_check_menu.o(.text);
+ src/field/secret_base.o(.text);
+ src/field/tv.o(.text);
asm/contest_link_80C2020.o(.text);
src/script_pokemon_util_80C4BF0.o(.text);
- src/field_poison.o(.text);
- src/pokemon_size_record.o(.text);
+ src/field/field_poison.o(.text);
+ src/pokemon/pokemon_size_record.o(.text);
asm/fldeff_80C5CD4.o(.text);
- src/field_special_scene.o(.text);
- src/rotating_gate.o(.text);
- src/safari_zone.o(.text);
+ src/field/field_special_scene.o(.text);
+ src/field/rotating_gate.o(.text);
+ src/field/safari_zone.o(.text);
asm/contest_link_80C857C.o(.text);
- src/contest_link_80C857C.o(.text);
- src/item_use.o(.text);
+ src/battle/contest_link_80C857C.o(.text);
+ src/field/item_use.o(.text);
asm/battle_anim_80CA710.o(.text);
- src/bike.o(.text);
+ src/field/bike.o(.text);
asm/easy_chat.o(.text);
- src/easy_chat.o(.text);
+ src/field/easy_chat.o(.text);
asm/pokenav.o(.text);
- src/pokenav.o(.text);
+ src/field/pokenav.o(.text);
asm/pokenav.o(.text_80F708C);
- src/mon_markings.o(.text);
- src/mauville_man.o(.text);
- src/mail.o(.text);
- src/menu_helpers.o(.text);
+ src/pokemon/mon_markings.o(.text);
+ src/field/mauville_man.o(.text);
+ src/pokemon/mail.o(.text);
+ src/field/menu_helpers.o(.text);
src/script_pokemon_util_80F99CC.o(.text);
- src/dewford_trend.o(.text);
- src/heal_location.o(.text);
- src/region_map.o(.text);
- src/cute_sketch.o(.text);
+ src/field/dewford_trend.o(.text);
+ src/field/heal_location.o(.text);
+ src/field/region_map.o(.text);
+ src/scene/cute_sketch.o(.text);
asm/cute_sketch.o(.text);
- src/decoration.o(.text);
+ src/field/decoration.o(.text);
asm/slot_machine.o(.text);
- src/slot_machine.o(.text);
+ src/field/slot_machine.o(.text);
asm/slot_machine.o(.text_8104D30)
- src/slot_machine.o(.text_b);
- src/contest_painting.o(.text);
- src/battle_ai.o(.text);
- src/trader.o(.text);
- src/starter_choose.o(.text);
- src/wallclock.o(.text);
+ src/field/slot_machine.o(.text_b);
+ src/scene/contest_painting.o(.text);
+ src/battle/battle_ai.o(.text);
+ src/field/trader.o(.text);
+ src/field/starter_choose.o(.text);
+ src/field/wallclock.o(.text);
src/rom6.o(.text);
- src/pokeblock.o(.text);
- src/fldeff_flash.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);
+ src/field/pokeblock.o(.text);
+ src/field/fldeff_flash.o(.text);
+ src/battle/post_battle_event_funcs.o(.text);
+ src/engine/time_events.o(.text);
+ src/field/birch_pc.o(.text);
+ src/field/hof_pc.o(.text);
+ src/field/field_specials.o(.text);
+ src/battle/battle_records.o(.text);
asm/pokedex_area_screen.o(.text);
- src/evolution_scene.o(.text);
+ src/scene/evolution_scene.o(.text);
asm/roulette.o(.text);
asm/pokedex_cry_screen.o(.text);
- src/pokedex_cry_screen.o(.text);
+ src/pokemon/pokedex_cry_screen.o(.text);
asm/pokedex_cry_screen.o(.text_811A4F8);
- src/coins.o(.text);
- src/landmark.o(.text);
- src/fldeff_strength.o(.text);
- src/battle_transition.o(.text);
- src/battle_controller_linkpartner.o(.text);
- src/battle_message.o(.text);
- src/choose_party.o(.text);
+ src/field/coins.o(.text);
+ src/field/landmark.o(.text);
+ src/field/fldeff_strength.o(.text);
+ src/battle/battle_transition.o(.text);
+ src/battle/battle_controller_linkpartner.o(.text);
+ src/battle/battle_message.o(.text);
+ src/field/choose_party.o(.text);
asm/cable_car.o(.text);
asm/roulette_util.o(.text);
asm/cable_car_util.o(.text);
src/unused_8124F94.o(.text);
- src/save.o(.text);
- src/mystery_event_script.o(.text);
- asm/field_effect_helpers.o(.text);
+ src/engine/save.o(.text);
+ src/engine/mystery_event_script.o(.text);
+ src/field/field_effect_helpers.o(.text);
asm/contest_ai.o(.text);
asm/battle_anim_81258BC.o(.text);
- src/battle_controller_safari.o(.text);
- src/fldeff_sweetscent.o(.text);
+ src/battle/battle_controller_safari.o(.text);
+ src/field/fldeff_sweetscent.o(.text);
asm/battle_anim_812C144.o(.text);
- src/learn_move.o(.text);
- src/fldeff_softboiled.o(.text);
- src/decoration_inventory.o(.text);
- src/roamer.o(.text);
- asm/battle_tower.o(.text);
- src/use_pokeblock.o(.text);
- src/battle_controller_wally.o(.text);
- src/player_pc.o(.text);
- src/intro.o(.text);
- src/field_region_map.o(.text);
+ src/pokemon/learn_move.o(.text);
+ src/field/fldeff_softboiled.o(.text);
+ src/field/decoration_inventory.o(.text);
+ src/field/roamer.o(.text);
+ src/field/battle_tower.o(.text);
+ src/field/use_pokeblock.o(.text);
+ src/battle/battle_controller_wally.o(.text);
+ src/field/player_pc.o(.text);
+ src/scene/intro.o(.text);
+ src/field/field_region_map.o(.text);
asm/battle_anim_813F0F4.o(.text);
- src/hall_of_fame.o(.text);
- src/credits.o(.text);
- src/lottery_corner.o(.text);
- src/diploma.o(.text);
- src/berry_tag_screen.o(.text);
- src/mystery_event_menu.o(.text);
- src/save_failed_screen.o(.text);
- src/braille_puzzles.o(.text);
- src/pokeblock_feed.o(.text);
- src/clear_save_data_menu.o(.text);
- src/intro_credits_graphics.o(.text);
- src/evolution_graphics.o(.text);
- src/bard_music.o(.text);
- src/fldeff_teleport.o(.text);
- src/unknown_debug_menu.o(.text);
- src/name_string_util.o(.text);
- src/menu_cursor.o(.text);
+ src/scene/hall_of_fame.o(.text);
+ src/scene/credits.o(.text);
+ src/field/lottery_corner.o(.text);
+ src/field/diploma.o(.text);
+ src/field/berry_tag_screen.o(.text);
+ src/engine/mystery_event_menu.o(.text);
+ src/engine/save_failed_screen.o(.text);
+ src/field/braille_puzzles.o(.text);
+ src/pokemon/pokeblock_feed.o(.text);
+ src/engine/clear_save_data_menu.o(.text);
+ src/scene/intro_credits_graphics.o(.text);
+ src/scene/evolution_graphics.o(.text);
+ src/field/bard_music.o(.text);
+ src/field/fldeff_teleport.o(.text);
+ src/debug/unknown_debug_menu.o(.text);
+ src/engine/name_string_util.o(.text);
+ src/engine/menu_cursor.o(.text);
} =0
script_data :
@@ -286,13 +276,13 @@ SECTIONS {
{
asm/libgcnmultiboot.o(.text);
asm/m4a_1.o(.text);
- src/m4a_2.o(.text);
+ src/libs/m4a_2.o(.text);
asm/m4a_3.o(.text);
- src/m4a_4.o(.text);
- src/agb_flash.o(.text);
- src/agb_flash_1m.o(.text);
- src/agb_flash_mx.o(.text);
- src/siirtc.o(.text);
+ src/libs/m4a_4.o(.text);
+ src/libs/agb_flash.o(.text);
+ src/libs/agb_flash_1m.o(.text);
+ src/libs/agb_flash_mx.o(.text);
+ src/libs/siirtc.o(.text);
asm/libagbsyscall.o(.text);
tools/agbcc/lib/libgcc.a:_call_via_rX.o(.text);
tools/agbcc/lib/libgcc.a:_divsi3.o(.text);
@@ -308,176 +298,175 @@ SECTIONS {
tools/agbcc/lib/libgcc.a:fp-bit.o(.text);
tools/agbcc/lib/libgcc.a:_lshrdi3.o(.text);
tools/agbcc/lib/libgcc.a:_negdi2.o(.text);
- src/libc.o(.text);
+ src/libs/libc.o(.text);
} =0
.rodata :
ALIGN(4)
{
- src/main.o(.rodata);
- src/sprite.o(.rodata);
+ src/engine/main.o(.rodata);
+ src/engine/sprite.o(.rodata);
. += 0x8; /* Why the gap? */
- src/text.o(.rodata);
- src/string_util.o(.rodata);
- src/link.o(.rodata);
- src/rtc.o(.rodata);
+ src/engine/text.o(.rodata);
+ src/engine/string_util.o(.rodata);
+ src/engine/link.o(.rodata);
+ src/engine/rtc.o(.rodata);
data/main_menu.o(.rodata);
data/data2a.o(.rodata);
- src/battle_4.o(.rodata);
- src/battle_controller_player.o(.rodata);
+ src/battle/battle_4.o(.rodata);
+ src/battle/battle_controller_player.o(.rodata);
data/data2b.o(.rodata);
- src/battle_controller_opponent.o(.rodata);
- src/battle_controller_linkopponent.o(.rodata);
+ src/battle/battle_controller_opponent.o(.rodata);
+ src/battle/battle_controller_linkopponent.o(.rodata);
data/battle_moves.o(.rodata);
- src/battle_3.o(.rodata);
- src/pokemon_data.o(.rodata);
+ src/battle/battle_3.o(.rodata);
+ src/pokemon/pokemon_data.o(.rodata);
. = ALIGN(4);
- src/trig.o(.rodata);
- src/util.o(.rodata);
- data/daycare.o(.rodata);
- src/egg_hatch.o(.rodata);
+ src/engine/trig.o(.rodata);
+ src/engine/util.o(.rodata);
+ src/field/daycare.o(.rodata);
+ src/scene/egg_hatch.o(.rodata);
data/battle_interface.o(.rodata);
- src/pokeball.o(.rodata);
- data/trade.o(.rodata);
- src/berry_blender.o(.rodata);
- src/new_game.o(.rodata);
- src/overworld.o(.rodata);
+ src/battle/pokeball.o(.rodata);
+ src/engine/trade.o(.rodata);
+ src/scene/berry_blender.o(.rodata);
+ src/scene/new_game.o(.rodata);
+ src/field/overworld.o(.rodata);
data/tilesets.o(.rodata);
data/maps.o(.rodata);
- src/fieldmap.o(.rodata);
- src/metatile_behavior.o(.rodata);
+ src/field/fieldmap.o(.rodata);
+ src/field/metatile_behavior.o(.rodata);
data/field_door.o(.rodata);
- src/field_player_avatar.o(.rodata);
- src/field_map_obj.o(.rodata);
- src/field_ground_effect.o(.rodata);
+ src/field/field_player_avatar.o(.rodata);
+ src/field/field_map_obj.o(.rodata);
+ src/field/field_ground_effect.o(.rodata);
data/field_map_obj_helpers.o(.rodata);
data/text_window.o(.rodata);
- src/script.o(.rodata);
- src/scrcmd.o(.rodata);
- src/coord_event_weather.o(.rodata);
- src/field_tasks.o(.rodata);
+ src/engine/script.o(.rodata);
+ src/field/scrcmd.o(.rodata);
+ src/field/coord_event_weather.o(.rodata);
+ src/field/field_tasks.o(.rodata);
data/reset_rtc_screen.o(.rodata);
- data/party_menu.o(.rodata);
- src/start_menu.o(.rodata);
- src/menu.o(.rodata);
+ src/field/party_menu.o(.rodata);
+ src/field/start_menu.o(.rodata);
+ src/engine/menu.o(.rodata);
data/tileset_anim.o(.rodata);
- src/palette.o(.rodata);
- src/sound.o(.rodata);
+ src/engine/palette.o(.rodata);
+ src/engine/sound.o(.rodata);
data/battle_anim.o(.rodata);
- src/battle_anim.o(.rodata);
+ src/battle/battle_anim.o(.rodata);
src/rom_8077ABC.o(.rodata);
data/map_events.o(.rodata);
data/data_8393054.o(.rodata);
- src/task.o(.rodata);
- src/battle_anim_807B69C.o(.rodata);
- src/title_screen.o(.rodata);
- src/field_weather.o(.rodata);
+ src/engine/task.o(.rodata);
+ src/battle/battle_anim_807B69C.o(.rodata);
+ src/scene/title_screen.o(.rodata);
+ src/field/field_weather.o(.rodata);
data/field_weather.o(.rodata);
- src/field_screen_effect.o(.rodata);
- src/battle_setup.o(.rodata);
+ src/field/field_screen_effect.o(.rodata);
+ src/battle/battle_setup.o(.rodata);
data/cable_club.o(.rodata);
data/mori_debug_menu.o(.rodata);
- src/trainer_see.o(.rodata);
+ src/field/trainer_see.o(.rodata);
data/trainer_see.o(.rodata);
- src/wild_encounter.o(.rodata);
+ src/field/wild_encounter.o(.rodata);
data/wild_encounter.o(.rodata);
- src/field_effect.o(.rodata);
- src/pokemon_menu.o(.rodata);
- src/option_menu.o(.rodata);
- src/pokedex.o(.rodata);
- src/trainer_card.o(.rodata);
- src/battle_party_menu.o(.rodata);
+ src/field/field_effect.o(.rodata);
+ src/pokemon/pokemon_menu.o(.rodata);
+ src/engine/option_menu.o(.rodata);
+ src/pokemon/pokedex.o(.rodata);
+ src/engine/trainer_card.o(.rodata);
+ src/battle/battle_party_menu.o(.rodata);
data/pokemon_storage_system.o(.rodata);
- src/pokemon_icon.o(.rodata);
+ src/pokemon/pokemon_icon.o(.rodata);
data/pokemon_summary_screen.o(.rodata);
data/fldeff_cut.o(.rodata);
- src/item_menu.o(.rodata);
+ src/field/item_menu.o(.rodata);
data/battle_anim_80A7E7C.o(.rodata);
- src/item.o(.rodata);
+ src/field/item.o(.rodata);
data/matsuda_debug_menu.o(.rodata);
data/contest.o(.rodata);
- src/shop.o(.rodata);
- src/berry.o(.rodata);
- src/script_menu.o(.rodata);
- src/naming_screen.o(.rodata);
+ src/field/shop.o(.rodata);
+ src/field/berry.o(.rodata);
+ src/field/script_menu.o(.rodata);
+ src/engine/naming_screen.o(.rodata);
data/naming_screen.o(.rodata);
data/money.o(.rodata);
data/contest_effect.o(.rodata);
- src/record_mixing.o(.data);
- src/record_mixing.o(.rodata);
- src/sound_check_menu.o(.rodata);
- data/secret_base.o(.rodata);
+ src/engine/record_mixing.o(.data);
+ src/engine/record_mixing.o(.rodata);
+ src/debug/sound_check_menu.o(.rodata);
+ src/field/secret_base.o(.rodata);
data/tv.o(.rodata);
data/contest_link_80C2020.o(.rodata);
- src/pokemon_size_record.o(.rodata);
+ src/pokemon/pokemon_size_record.o(.rodata);
data/fldeff_80C5CD4.o(.rodata);
- src/field_special_scene.o(.rodata);
- data/field_special_scene.o(.rodata);
- src/rotating_gate.o(.rodata);
- src/item_use.o(.rodata);
+ src/field/field_special_scene.o(.rodata);
+ src/field/rotating_gate.o(.rodata);
+ src/field/item_use.o(.rodata);
data/battle_anim_80CA710.o(.rodata);
- src/bike.o(.rodata);
+ src/field/bike.o(.rodata);
data/easy_chat.o(.rodata);
data/pokenav.o(.rodata);
data/mon_markings.o(.rodata);
- src/mauville_man.o(.rodata);
+ src/field/mauville_man.o(.rodata);
data/mail.o(.rodata);
- src/menu_helpers.o(.rodata);
- src/heal_location.o(.rodata);
- src/region_map.o(.rodata);
+ src/field/menu_helpers.o(.rodata);
+ src/field/heal_location.o(.rodata);
+ src/field/region_map.o(.rodata);
data/cute_sketch.o(.rodata);
- src/decoration.o(.rodata);
+ src/field/decoration.o(.rodata);
data/slot_machine.o(.rodata);
- src/contest_painting.o(.rodata);
- src/battle_ai.o(.rodata);
- src/trader.o(.rodata);
- src/starter_choose.o(.rodata);
- src/wallclock.o(.rodata);
- src/pokeblock.o(.rodata);
+ src/scene/contest_painting.o(.rodata);
+ src/battle/battle_ai.o(.rodata);
+ src/field/trader.o(.rodata);
+ src/field/starter_choose.o(.rodata);
+ src/field/wallclock.o(.rodata);
+ src/field/pokeblock.o(.rodata);
data/fldeff_flash.o(.rodata);
- src/time_events.o(.rodata);
- src/field_specials.o(.rodata);
+ src/engine/time_events.o(.rodata);
+ src/field/field_specials.o(.rodata);
data/pokedex_area_screen.o(.rodata);
- src/evolution_scene.o(.rodata);
+ src/scene/evolution_scene.o(.rodata);
data/roulette.o(.rodata);
data/pokedex_cry_screen.o(.rodata);
data/landmark.o(.rodata);
- src/battle_transition.o(.rodata);
- src/battle_controller_linkpartner.o(.rodata);
+ src/battle/battle_transition.o(.rodata);
+ src/battle/battle_controller_linkpartner.o(.rodata);
data/battle_message.o(.rodata);
- src/choose_party.o(.rodata);
+ src/field/choose_party.o(.rodata);
data/cable_car.o(.rodata);
- src/save.o(.rodata);
- data/field_effect_helpers.o(.rodata);
+ src/engine/save.o(.rodata);
+ src/field/field_effect_helpers.o(.rodata);
data/contest_ai.o(.rodata);
- src/battle_controller_safari.o(.rodata);
+ src/battle/battle_controller_safari.o(.rodata);
data/battle_anim_812C144.o(.rodata);
- src/learn_move.o(.rodata);
- src/decoration_inventory.o(.rodata);
- src/roamer.o(.rodata);
- data/battle_tower.o(.rodata);
- src/use_pokeblock.o(.rodata);
- src/battle_controller_wally.o(.rodata);
- src/player_pc.o(.rodata);
- src/intro.o(.rodata);
+ src/pokemon/learn_move.o(.rodata);
+ src/field/decoration_inventory.o(.rodata);
+ src/field/roamer.o(.rodata);
+ src/field/battle_tower.o(.rodata);
+ src/field/use_pokeblock.o(.rodata);
+ src/battle/battle_controller_wally.o(.rodata);
+ src/field/player_pc.o(.rodata);
+ src/scene/intro.o(.rodata);
data/battle_anim_813F0F4.o(.rodata);
- src/hall_of_fame.o(.rodata);
- src/credits.o(.rodata);
+ src/scene/hall_of_fame.o(.rodata);
+ src/scene/credits.o(.rodata);
data/credits.o(.rodata);
- src/lottery_corner.o(.rodata);
- src/diploma.o(.rodata);
+ src/field/lottery_corner.o(.rodata);
+ src/field/diploma.o(.rodata);
src/strings.o(.rodata);
- src/berry_tag_screen.o(.rodata);
- src/save_failed_screen.o(.rodata);
- src/pokeblock_feed.o(.rodata);
+ src/field/berry_tag_screen.o(.rodata);
+ src/engine/save_failed_screen.o(.rodata);
+ src/pokemon/pokeblock_feed.o(.rodata);
data/intro_credits_graphics.o(.rodata);
- src/evolution_graphics.o(.rodata);
+ src/scene/evolution_graphics.o(.rodata);
data/bard_music.o(.rodata);
data/unknown_debug_menu.o(.rodata);
data/strings2.o(.rodata);
data/menu_cursor.o(.rodata);
data/mystery_event_msg.o(.rodata);
- src/m4a_tables.o(.rodata);
+ src/libs/m4a_tables.o(.rodata);
data/sound_data.o(.rodata);
} =0
@@ -906,11 +895,11 @@ SECTIONS {
lib_rodata :
ALIGN(4)
{
- src/agb_flash.o(.rodata);
- src/agb_flash_1m.o(.rodata);
- src/agb_flash_mx.o(.rodata);
- src/agb_flash_le.o(.rodata);
- src/siirtc.o(.rodata);
+ src/libs/agb_flash.o(.rodata);
+ src/libs/agb_flash_1m.o(.rodata);
+ src/libs/agb_flash_mx.o(.rodata);
+ src/libs/agb_flash_le.o(.rodata);
+ src/libs/siirtc.o(.rodata);
tools/agbcc/lib/libgcc.a:_udivdi3.o(.rodata);
} =0
diff --git a/src/battle_2.c b/src/battle/battle_2.c
index 3cdea07be..1aec075db 100644
--- a/src/battle_2.c
+++ b/src/battle/battle_2.c
@@ -53,20 +53,6 @@ struct UnknownStruct8
u8 unk1A;
};
-struct UnknownPokemonStruct2
-{
- /*0x00*/ u16 species;
- /*0x02*/ u16 heldItem;
- /*0x04*/ u8 nickname[11];
- /*0x0F*/ u8 level;
- /*0x10*/ u16 hp;
- /*0x12*/ u16 maxhp;
- /*0x14*/ u32 status;
- /*0x18*/ u32 personality;
- /*0x1C*/ u8 gender;
- /*0x1D*/ u8 language;
-};
-
struct UnknownStruct12
{
u32 unk0;
@@ -612,7 +598,7 @@ void sub_800F104(void)
*pSavedCallback = gMain.savedCallback;
*pSavedBattleTypeFlags = gBattleTypeFlags;
gMain.savedCallback = sub_800F104;
- OpenPartyMenu(5, 0);
+ OpenPartyMenu(PARTY_MENU_TYPE_LINK_MULTI_BATTLE, 0);
}
break;
case 2:
@@ -1013,7 +999,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
for (j = 0; j < 4; j++)
{
- SetMonData(&party[i], MON_DATA_MOVE1 + j, (u8 *)&partyData[i].moves[j]);
+ SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]);
SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp);
}
break;
@@ -1028,7 +1014,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
fixedIV = partyData[i].iv * 31 / 255;
CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0);
- SetMonData(&party[i], MON_DATA_HELD_ITEM, (u8 *)&partyData[i].heldItem);
+ SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem);
break;
}
case 3:
@@ -1041,10 +1027,10 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
fixedIV = partyData[i].iv * 31 / 255;
CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0);
- SetMonData(&party[i], MON_DATA_HELD_ITEM, (u8 *)&partyData[i].heldItem);
+ SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem);
for (j = 0; j < 4; j++)
{
- SetMonData(&party[i], MON_DATA_MOVE1 + j, (u8 *)&partyData[i].moves[j]);
+ SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]);
SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp);
}
break;
@@ -1389,6 +1375,7 @@ void sub_8010384(struct Sprite *sprite)
void sub_8010494(struct Sprite *sprite)
{
s32 i;
+ u8 *dst;
sprite->data4--;
if (sprite->data4 == 0)
@@ -1403,8 +1390,8 @@ void sub_8010494(struct Sprite *sprite)
}
else
{
- u8 *dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8);
-
+ // this should use a MEMSET_ALT, but *(dst++) wont match with it.
+ dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8);
for (i = 0; i < 0x100; i++)
*(dst++) = 0;
StartSpriteAnim(sprite, gBattleMonForms[sprite->data0]);
@@ -1581,10 +1568,7 @@ void sub_8010874(void)
{
gStatuses3[i] = 0;
- r4 = (u8 *)&gDisableStructs[i];
- for (j = 0; j < (u32)0x1C; j++)
- r4[j] = 0;
-
+ MEMSET_ALT(&gDisableStructs[i], 0, 0x1C, j, r4);
gDisableStructs[i].isFirstTurn= 2;
gUnknown_02024C70[i] = 0;
gLastUsedMove[i] = 0;
@@ -1600,19 +1584,14 @@ void sub_8010874(void)
for (i = 0; i < 2; i++)
{
gSideAffecting[i] = 0;
-
- r4 = (u8 *)&gSideTimer[i];
- for (j = 0; j < 12; j++)
- r4[j] = 0;
+ MEMSET_ALT(&gSideTimer[i], 0, 12, j, r4);
}
gBankAttacker = 0;
gBankTarget = 0;
gBattleWeather = 0;
- r4 = (u8 *)&gWishFutureKnock;
- for (i = 0; i < (u32)0x2C; i++)
- r4[i] = 0;
+ MEMSET_ALT(&gWishFutureKnock, 0, 0x2C, i, r4);
gHitMarker = 0;
if ((gBattleTypeFlags & BATTLE_TYPE_LINK) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE)
@@ -1735,9 +1714,7 @@ void SwitchInClearStructs(void)
gActionSelectionCursor[gActiveBank] = 0;
gMoveSelectionCursor[gActiveBank] = 0;
- ptr = (u8 *)&gDisableStructs[gActiveBank];
- for (i = 0; i < (u32)0x1C; i++)
- ptr[i] = 0;
+ MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr);
if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS)
{
@@ -1792,9 +1769,7 @@ void UndoEffectsAfterFainting(void)
gActionSelectionCursor[gActiveBank] = 0;
gMoveSelectionCursor[gActiveBank] = 0;
- ptr = (u8 *)&gDisableStructs[gActiveBank];
- for (i = 0; i < (u32)0x1C; i++)
- ptr[i] = 0;
+ MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr);
gProtectStructs[gActiveBank].protected = 0;
gProtectStructs[gActiveBank].endured = 0;
gProtectStructs[gActiveBank].onlyStruggle = 0;
@@ -1887,18 +1862,13 @@ void sub_8011384(void)
if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI)
&& GetBankSide(gActiveBank) == 0)
{
- ptr = (u8 *)&gBattleMons[gActiveBank];
- for (i = 0; i < (u32)0x58; i++)
- ptr[i] = 0;
+ MEMSET_ALT(&gBattleMons[gActiveBank], 0, 0x58, i, ptr);
}
else
{
u8 r0;
- ptr = (u8 *)&gBattleMons[gActiveBank];
- for (i = 0; i < (u32)0x58; i++)
- ptr[i] = gBattleBufferB[gActiveBank][4 + i];
-
+ MEMSET_ALT(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr);
gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1;
gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2;
gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility);
@@ -1924,14 +1894,14 @@ void sub_8011384(void)
}
if (GetBankSide(gActiveBank) == 1
&& !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)))
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
}
else
{
if (GetBankSide(gActiveBank) == 1
&& !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)))
{
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
EmitLoadPokeSprite(0);
MarkBufferBankForExecution(gActiveBank);
}
@@ -1957,11 +1927,7 @@ void bc_801333C(void)
if (gBattleExecBuffer == 0)
{
- struct
- {
- u16 hp;
- u32 status;
- } sp0[6];
+ struct HpAndStatus hpStatus[6];
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
@@ -1970,17 +1936,17 @@ void bc_801333C(void)
if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == 0
|| GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
{
- sp0[i].hp = 0xFFFF;
- sp0[i].status = 0;
+ hpStatus[i].hp = 0xFFFF;
+ hpStatus[i].status = 0;
}
else
{
- sp0[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP);
- sp0[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
+ hpStatus[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP);
+ hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
}
}
gActiveBank = GetBankByPlayerAI(1);
- Emitcmd48(0, (u8 *)sp0, 0x80);
+ EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBank);
for (i = 0; i < 6; i++)
@@ -1988,17 +1954,17 @@ void bc_801333C(void)
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0
|| GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
{
- sp0[i].hp = 0xFFFF;
- sp0[i].status = 0;
+ hpStatus[i].hp = 0xFFFF;
+ hpStatus[i].status = 0;
}
else
{
- sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
- sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
+ hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+ hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
}
}
gActiveBank = GetBankByPlayerAI(0);
- Emitcmd48(0, (u8 *)sp0, 0x80);
+ EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBank);
gBattleMainFunc = bc_battle_begin_message;
@@ -2013,13 +1979,13 @@ void bc_801333C(void)
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0
|| GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
{
- sp0[i].hp = 0xFFFF;
- sp0[i].status = 0;
+ hpStatus[i].hp = 0xFFFF;
+ hpStatus[i].status = 0;
}
else
{
- sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
- sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
+ hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+ hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
}
}
@@ -2086,7 +2052,7 @@ void bc_801362C(void)
{
if (GetBankSide(gActiveBank) == 1
&& !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)))
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
}
gBattleMainFunc = sub_8011970;
}
@@ -2168,7 +2134,7 @@ void BattleBeginFirstTurn(void)
{
for (j = i + 1; j < gNoOfAllBanks; j++)
{
- if (b_first_side(gTurnOrder[i], gTurnOrder[j], 1) != 0)
+ if (GetWhoStrikesFirst(gTurnOrder[i], gTurnOrder[j], 1) != 0)
sub_8012FBC(i, j);
}
}
diff --git a/src/battle_3.c b/src/battle/battle_3.c
index f04e722c4..346ca6d79 100644
--- a/src/battle_3.c
+++ b/src/battle/battle_3.c
@@ -378,7 +378,7 @@ u8 UpdateTurnCounters(void)
s32 j;
for (j = i + 1; j < gNoOfAllBanks; j++)
{
- if (b_first_side(gTurnOrder[i], gTurnOrder[j], 0))
+ if (GetWhoStrikesFirst(gTurnOrder[i], gTurnOrder[j], 0))
sub_8012FBC(i, j);
}
}
@@ -1434,8 +1434,6 @@ u8 CastformDataTypeChange(u8 bank)
return formChange;
}
-#ifdef NONMATCHING
-
struct Struct2017100
{
u32 arr[4];
@@ -1475,13 +1473,11 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) // why isn't that check done at the beginning?
{
- //_08018436
- int i; // r4
+ u8 moveType;
+ s32 i;
u16 move;
- // Hmm...
- #define moveType moveArg
- //u16 moveType;
u8 side;
+ u8 target1;
if (special)
gLastUsedAbility = special;
@@ -1607,17 +1603,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
case ABILITY_AIR_LOCK:
//_080187DC
{
- u8 i;
-
- for (i = 0; i < gNoOfAllBanks; i++)
+ // that's a weird choice for a variable, why not use i or bank?
+ for (target1 = 0; target1 < gNoOfAllBanks; target1++)
{
- // TODO: i should be in r6 here
- //asm("":::"r4","r5");
- effect = CastformDataTypeChange(i);
+ effect = CastformDataTypeChange(target1);
if (effect != 0)
{
b_push_move_exec(BattleScript_CastformChange);
- BATTLE_STRUCT->scriptingActive = i;
+ BATTLE_STRUCT->scriptingActive = target1;
BATTLE_STRUCT->castformToChangeInto = effect - 1;
break;
}
@@ -1637,7 +1630,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (WEATHER_HAS_EFFECT && (gBattleWeather & WEATHER_RAIN_ANY)
&& gBattleMons[bank].maxHP > gBattleMons[bank].hp)
{
- gLastUsedAbility = ABILITY_RAIN_DISH; //why
+ gLastUsedAbility = ABILITY_RAIN_DISH; // why
b_push_move_exec(BattleScript_RainDishActivates);
gBattleMoveDamage = gBattleMons[bank].maxHP / 16;
if (gBattleMoveDamage == 0)
@@ -1660,7 +1653,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (gBattleMons[bank].status1 & STATUS_FREEZE)
StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn);
gBattleMons[bank].status1 = 0;
- //gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); fixed in Emerald
+ // BUG: The nightmare status does not get cleared here. This was fixed in Emerald.
+ //gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE);
BATTLE_STRUCT->scriptingActive = gActiveBank = bank;
b_push_move_exec(BattleScript_ShedSkinActivates);
EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1);
@@ -1759,9 +1753,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (gBattleMons[bank].maxHP == gBattleMons[bank].hp)
{
if ((gProtectStructs[gBankAttacker].notFirstStrike))
- gBattlescriptCurrInstr = BattleScript_MoveHPDrain;
+ gBattlescriptCurrInstr = BattleScript_MoveHPDrain_FullHP;
else
- gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss;
+ gBattlescriptCurrInstr = BattleScript_MoveHPDrain_FullHP_PPLoss;
}
else
{
@@ -1910,27 +1904,26 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
case ABILITYEFFECT_IMMUNITY: // 5
//_08019448
{
- #define i bank
- for (i = 0; i < gNoOfAllBanks; i++)
+ for (bank = 0; bank < gNoOfAllBanks; bank++)
{
- switch (gBattleMons[i].ability)
+ switch (gBattleMons[bank].ability)
{
case ABILITY_IMMUNITY:
- if (gBattleMons[i].status1 & (STATUS_POISON | STATUS_TOXIC_POISON | 0xF00)) // TODO: what is 0xF00?
+ if (gBattleMons[bank].status1 & (STATUS_POISON | STATUS_TOXIC_POISON | 0xF00)) // TODO: what is 0xF00?
{
StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn);
effect = 1;
}
break;
case ABILITY_OWN_TEMPO:
- if (gBattleMons[i].status2 & STATUS2_CONFUSION)
+ if (gBattleMons[bank].status2 & STATUS2_CONFUSION)
{
StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn);
effect = 2;
}
break;
case ABILITY_LIMBER:
- if (gBattleMons[i].status1 & STATUS_PARALYSIS)
+ if (gBattleMons[bank].status1 & STATUS_PARALYSIS)
{
StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn);
effect = 1;
@@ -1938,29 +1931,29 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
break;
case ABILITY_INSOMNIA:
case ABILITY_VITAL_SPIRIT:
- if (gBattleMons[i].status1 & STATUS_SLEEP)
+ if (gBattleMons[bank].status1 & STATUS_SLEEP)
{
- gBattleMons[i].status2 &= ~(STATUS2_NIGHTMARE);
+ gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE);
StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn);
effect = 1;
}
break;
case ABILITY_WATER_VEIL:
- if (gBattleMons[i].status1 & STATUS_BURN)
+ if (gBattleMons[bank].status1 & STATUS_BURN)
{
StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn);
effect = 1;
}
break;
case ABILITY_MAGMA_ARMOR:
- if (gBattleMons[i].status1 & STATUS_FREEZE)
+ if (gBattleMons[bank].status1 & STATUS_FREEZE)
{
StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn);
effect = 1;
}
break;
case ABILITY_OBLIVIOUS:
- if (gBattleMons[i].status2 & STATUS2_INFATUATION)
+ if (gBattleMons[bank].status2 & STATUS2_INFATUATION)
{
StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn);
effect = 3;
@@ -1972,46 +1965,43 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
switch (effect)
{
case 1: // status cleared
- gBattleMons[i].status1 = 0;
+ gBattleMons[bank].status1 = 0;
break;
case 2: // get rid of confusion
- gBattleMons[i].status2 &= ~(STATUS2_CONFUSION);
+ gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION);
break;
case 3: // get rid of infatuation
- gBattleMons[i].status2 &= ~(STATUS2_INFATUATION);
+ gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION);
break;
}
b_movescr_stack_push_cursor();
gBattlescriptCurrInstr = gUnknown_081D9956;
- BATTLE_STRUCT->scriptingActive = i;
- gActiveBank = i;
+ BATTLE_STRUCT->scriptingActive = bank;
+ gActiveBank = bank;
EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1);
MarkBufferBankForExecution(gActiveBank);
return effect;
}
}
- #undef i
}
break;
case ABILITYEFFECT_FORECAST: // 6
//_080197B4
{
- #define i bank
- for (i = 0; i < gNoOfAllBanks; i++)
+ for (bank = 0; bank < gNoOfAllBanks; bank++)
{
- if (gBattleMons[i].ability == ABILITY_FORECAST)
+ if (gBattleMons[bank].ability == ABILITY_FORECAST)
{
- effect = CastformDataTypeChange(i);
+ effect = CastformDataTypeChange(bank);
if (effect)
{
b_push_move_exec(BattleScript_CastformChange);
- BATTLE_STRUCT->scriptingActive = i;
+ BATTLE_STRUCT->scriptingActive = bank;
BATTLE_STRUCT->castformToChangeInto = effect - 1;
return effect;
}
}
}
- #undef i
}
break;
case ABILITYEFFECT_SYNCHRONIZE: // 7
@@ -2067,16 +2057,17 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
{
if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE))
{
- u8 opposite = (GetBankIdentity(i) ^ 1) & 1;
- u8 target1 = GetBankByPlayerAI(opposite);
- u8 target2 = GetBankByPlayerAI(opposite + 2);
+ u8 target2;
+ side = (GetBankIdentity(i) ^ 1) & 1;
+ target1 = GetBankByPlayerAI(side);
+ target2 = GetBankByPlayerAI(side + 2);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0
&& gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0)
{
//_080199AE
- gActiveBank = GetBankByPlayerAI(((Random() & 1) * 2) | opposite);
+ gActiveBank = GetBankByPlayerAI(((Random() & 1) * 2) | side);
gBattleMons[i].ability = gBattleMons[gActiveBank].ability;
gLastUsedAbility = gBattleMons[gActiveBank].ability;
effect++;
@@ -2266,3355 +2257,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
return effect;
}
-#else
-__attribute__((naked))
-u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
-{
- 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, 0x28\n\
- ldr r4, [sp, 0x48]\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- str r0, [sp, 0x4]\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- mov r10, r1\n\
- lsls r2, 24\n\
- lsrs r6, r2, 24\n\
- lsls r3, 24\n\
- lsrs r3, 24\n\
- mov r8, r3\n\
- lsls r4, 16\n\
- lsrs r4, 16\n\
- movs r0, 0\n\
- mov r9, r0\n\
- ldr r5, _08018380 @ =gBankAttacker\n\
- ldr r1, _08018384 @ =gNoOfAllBanks\n\
- ldrb r0, [r5]\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bcc _08018360\n\
- mov r1, r10\n\
- strb r1, [r5]\n\
-_08018360:\n\
- ldrb r0, [r5]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _08018390\n\
- ldr r1, _08018388 @ =gBattlePartyID\n\
- ldrb r0, [r5]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- movs r0, 0x64\n\
- muls r1, r0\n\
- ldr r0, _0801838C @ =gPlayerParty\n\
- b _080183A0\n\
- .align 2, 0\n\
-_08018380: .4byte gBankAttacker\n\
-_08018384: .4byte gNoOfAllBanks\n\
-_08018388: .4byte gBattlePartyID\n\
-_0801838C: .4byte gPlayerParty\n\
-_08018390:\n\
- ldr r1, _080183D0 @ =gBattlePartyID\n\
- ldrb r0, [r5]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- movs r0, 0x64\n\
- muls r1, r0\n\
- ldr r0, _080183D4 @ =gEnemyParty\n\
-_080183A0:\n\
- adds r7, r1, r0\n\
- ldr r5, _080183D8 @ =gBankTarget\n\
- ldr r1, _080183DC @ =gNoOfAllBanks\n\
- ldrb r0, [r5]\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bcc _080183B2\n\
- mov r2, r10\n\
- strb r2, [r5]\n\
-_080183B2:\n\
- ldrb r0, [r5]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080183E4\n\
- ldr r1, _080183D0 @ =gBattlePartyID\n\
- ldrb r0, [r5]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- movs r0, 0x64\n\
- muls r1, r0\n\
- ldr r0, _080183E0 @ =gPlayerParty\n\
- b _080183F4\n\
- .align 2, 0\n\
-_080183D0: .4byte gBattlePartyID\n\
-_080183D4: .4byte gEnemyParty\n\
-_080183D8: .4byte gBankTarget\n\
-_080183DC: .4byte gNoOfAllBanks\n\
-_080183E0: .4byte gPlayerParty\n\
-_080183E4:\n\
- ldr r1, _08018444 @ =gBattlePartyID\n\
- ldrb r0, [r5]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- movs r0, 0x64\n\
- muls r1, r0\n\
- ldr r0, _08018448 @ =gEnemyParty\n\
-_080183F4:\n\
- adds r5, r1, r0\n\
- adds r0, r7, 0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- str r0, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- movs r1, 0\n\
- bl GetMonData\n\
- str r0, [sp, 0x10]\n\
- adds r0, r5, 0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- str r0, [sp, 0xC]\n\
- adds r0, r5, 0\n\
- movs r1, 0\n\
- bl GetMonData\n\
- str r0, [sp, 0x14]\n\
- ldr r0, _0801844C @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018436\n\
- bl _08019F92\n\
-_08018436:\n\
- mov r3, r8\n\
- cmp r3, 0\n\
- beq _08018454\n\
- ldr r0, _08018450 @ =gLastUsedAbility\n\
- strb r3, [r0]\n\
- mov r8, r0\n\
- b _0801846A\n\
- .align 2, 0\n\
-_08018444: .4byte gBattlePartyID\n\
-_08018448: .4byte gEnemyParty\n\
-_0801844C: .4byte gBattleTypeFlags\n\
-_08018450: .4byte gLastUsedAbility\n\
-_08018454:\n\
- ldr r2, _08018474 @ =gLastUsedAbility\n\
- ldr r1, _08018478 @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r5, r10\n\
- muls r5, r0\n\
- adds r0, r5, 0\n\
- adds r0, r1\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- strb r0, [r2]\n\
- mov r8, r2\n\
-_0801846A:\n\
- cmp r4, 0\n\
- beq _0801847C\n\
- adds r3, r4, 0\n\
- b _08018480\n\
- .align 2, 0\n\
-_08018474: .4byte gLastUsedAbility\n\
-_08018478: .4byte gBattleMons\n\
-_0801847C:\n\
- ldr r0, _08018494 @ =gCurrentMove\n\
- ldrh r3, [r0]\n\
-_08018480:\n\
- ldr r1, _08018498 @ =0x02000000\n\
- ldr r2, _0801849C @ =0x0001601c\n\
- adds r0, r1, r2\n\
- ldrb r0, [r0]\n\
- adds r7, r1, 0\n\
- cmp r0, 0\n\
- beq _080184A0\n\
- movs r4, 0x3F\n\
- ands r4, r0\n\
- b _080184AC\n\
- .align 2, 0\n\
-_08018494: .4byte gCurrentMove\n\
-_08018498: .4byte 0x02000000\n\
-_0801849C: .4byte 0x0001601c\n\
-_080184A0:\n\
- ldr r1, _080184C0 @ =gBattleMoves\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r4, [r0, 0x2]\n\
-_080184AC:\n\
- ldr r5, [sp, 0x4]\n\
- cmp r5, 0x13\n\
- bls _080184B6\n\
- bl _08019F76\n\
-_080184B6:\n\
- lsls r0, r5, 2\n\
- ldr r1, _080184C4 @ =_080184C8\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_080184C0: .4byte gBattleMoves\n\
-_080184C4: .4byte _080184C8\n\
- .align 2, 0\n\
-_080184C8:\n\
- .4byte _08018518\n\
- .4byte _08018814\n\
- .4byte _08018A40\n\
- .4byte _08018AD8\n\
- .4byte _08018CF0\n\
- .4byte _08019448\n\
- .4byte _080197B4\n\
- .4byte _08019804\n\
- .4byte _08019880\n\
- .4byte _080198FC\n\
- .4byte _08019B1C\n\
- .4byte _08019940\n\
- .4byte _08019B60\n\
- .4byte _08019BBC\n\
- .4byte _08019C18\n\
- .4byte _08019D18\n\
- .4byte _08019D5C\n\
- .4byte _08019DB8\n\
- .4byte _08019F44\n\
- .4byte _08019CD4\n\
-_08018518:\n\
- ldr r2, _0801854C @ =gBankAttacker\n\
- ldr r0, _08018550 @ =gNoOfAllBanks\n\
- ldrb r1, [r2]\n\
- adds r5, r0, 0\n\
- ldrb r0, [r5]\n\
- cmp r1, r0\n\
- bcc _0801852A\n\
- mov r1, r10\n\
- strb r1, [r2]\n\
-_0801852A:\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- cmp r0, 0x2D\n\
- bne _08018534\n\
- b _080186B8\n\
-_08018534:\n\
- cmp r0, 0x2D\n\
- bgt _08018564\n\
- cmp r0, 0xD\n\
- bne _0801853E\n\
- b _080187DC\n\
-_0801853E:\n\
- cmp r0, 0xD\n\
- bgt _08018554\n\
- cmp r0, 0x2\n\
- bne _08018548\n\
- b _08018680\n\
-_08018548:\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_0801854C: .4byte gBankAttacker\n\
-_08018550: .4byte gNoOfAllBanks\n\
-_08018554:\n\
- cmp r0, 0x16\n\
- bne _0801855A\n\
- b _08018728\n\
-_0801855A:\n\
- cmp r0, 0x24\n\
- bne _08018560\n\
- b _080187A0\n\
-_08018560:\n\
- bl _08019F76\n\
-_08018564:\n\
- cmp r0, 0x46\n\
- bne _0801856A\n\
- b _080186F0\n\
-_0801856A:\n\
- cmp r0, 0x46\n\
- bgt _08018578\n\
- cmp r0, 0x3B\n\
- bne _08018574\n\
- b _0801875C\n\
-_08018574:\n\
- bl _08019F76\n\
-_08018578:\n\
- cmp r0, 0x4D\n\
- bne _0801857E\n\
- b _080187DC\n\
-_0801857E:\n\
- cmp r0, 0xFF\n\
- beq _08018586\n\
- bl _08019F76\n\
-_08018586:\n\
- bl weather_get_current\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- subs r0, 0x3\n\
- cmp r0, 0xA\n\
- bhi _0801864C\n\
- lsls r0, 2\n\
- ldr r1, _080185A0 @ =_080185A4\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_080185A0: .4byte _080185A4\n\
- .align 2, 0\n\
-_080185A4:\n\
- .4byte _080185D0\n\
- .4byte _0801864C\n\
- .4byte _080185D0\n\
- .4byte _0801864C\n\
- .4byte _0801864C\n\
- .4byte _080185F8\n\
- .4byte _0801864C\n\
- .4byte _0801864C\n\
- .4byte _0801864C\n\
- .4byte _08018620\n\
- .4byte _080185D0\n\
-_080185D0:\n\
- ldr r2, _080185EC @ =gBattleWeather\n\
- ldrh r1, [r2]\n\
- movs r0, 0x7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801864C\n\
- movs r0, 0x5\n\
- strh r0, [r2]\n\
- ldr r0, _080185F0 @ =0x02000000\n\
- ldr r3, _080185F4 @ =0x000160a4\n\
- adds r2, r0, r3\n\
- movs r1, 0xA\n\
- b _08018638\n\
- .align 2, 0\n\
-_080185EC: .4byte gBattleWeather\n\
-_080185F0: .4byte 0x02000000\n\
-_080185F4: .4byte 0x000160a4\n\
-_080185F8:\n\
- ldr r3, _08018614 @ =gBattleWeather\n\
- ldrh r1, [r3]\n\
- movs r2, 0x18\n\
- adds r0, r2, 0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801864C\n\
- strh r2, [r3]\n\
- ldr r0, _08018618 @ =0x02000000\n\
- ldr r3, _0801861C @ =0x000160a4\n\
- adds r2, r0, r3\n\
- movs r1, 0xC\n\
- b _08018638\n\
- .align 2, 0\n\
-_08018614: .4byte gBattleWeather\n\
-_08018618: .4byte 0x02000000\n\
-_0801861C: .4byte 0x000160a4\n\
-_08018620:\n\
- ldr r3, _08018668 @ =gBattleWeather\n\
- ldrh r1, [r3]\n\
- movs r2, 0x60\n\
- adds r0, r2, 0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801864C\n\
- strh r2, [r3]\n\
- ldr r0, _0801866C @ =0x02000000\n\
- ldr r3, _08018670 @ =0x000160a4\n\
- adds r2, r0, r3\n\
- movs r1, 0xB\n\
-_08018638:\n\
- strb r1, [r2]\n\
- ldr r5, _08018674 @ =0x00016003\n\
- adds r0, r5\n\
- mov r1, r10\n\
- strb r1, [r0]\n\
- mov r0, r9\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_0801864C:\n\
- mov r2, r9\n\
- cmp r2, 0\n\
- bne _08018656\n\
- bl _08019F92\n\
-_08018656:\n\
- bl weather_get_current\n\
- ldr r1, _08018678 @ =gBattleCommunication\n\
- strb r0, [r1, 0x5]\n\
- ldr r0, _0801867C @ =gUnknown_081D901D\n\
- bl b_push_move_exec\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_08018668: .4byte gBattleWeather\n\
-_0801866C: .4byte 0x02000000\n\
-_08018670: .4byte 0x000160a4\n\
-_08018674: .4byte 0x00016003\n\
-_08018678: .4byte gBattleCommunication\n\
-_0801867C: .4byte gUnknown_081D901D\n\
-_08018680:\n\
- ldr r2, _080186A8 @ =gBattleWeather\n\
- ldrh r1, [r2]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018690\n\
- bl _08019F76\n\
-_08018690:\n\
- movs r0, 0x5\n\
- strh r0, [r2]\n\
- ldr r0, _080186AC @ =BattleScript_DrizzleActivates\n\
- bl b_push_move_exec\n\
- ldr r0, _080186B0 @ =0x02000000\n\
- ldr r3, _080186B4 @ =0x00016003\n\
- adds r0, r3\n\
- mov r5, r10\n\
- strb r5, [r0]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_080186A8: .4byte gBattleWeather\n\
-_080186AC: .4byte BattleScript_DrizzleActivates\n\
-_080186B0: .4byte 0x02000000\n\
-_080186B4: .4byte 0x00016003\n\
-_080186B8:\n\
- ldr r2, _080186E0 @ =gBattleWeather\n\
- ldrh r1, [r2]\n\
- movs r0, 0x10\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080186C8\n\
- bl _08019F76\n\
-_080186C8:\n\
- movs r0, 0x18\n\
- strh r0, [r2]\n\
- ldr r0, _080186E4 @ =BattleScript_SandstreamActivates\n\
- bl b_push_move_exec\n\
- ldr r0, _080186E8 @ =0x02000000\n\
- ldr r1, _080186EC @ =0x00016003\n\
- adds r0, r1\n\
- mov r2, r10\n\
- strb r2, [r0]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_080186E0: .4byte gBattleWeather\n\
-_080186E4: .4byte BattleScript_SandstreamActivates\n\
-_080186E8: .4byte 0x02000000\n\
-_080186EC: .4byte 0x00016003\n\
-_080186F0:\n\
- ldr r2, _08018718 @ =gBattleWeather\n\
- ldrh r1, [r2]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018700\n\
- bl _08019F76\n\
-_08018700:\n\
- movs r0, 0x60\n\
- strh r0, [r2]\n\
- ldr r0, _0801871C @ =BattleScript_DroughtActivates\n\
- bl b_push_move_exec\n\
- ldr r0, _08018720 @ =0x02000000\n\
- ldr r3, _08018724 @ =0x00016003\n\
- adds r0, r3\n\
- mov r5, r10\n\
- strb r5, [r0]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_08018718: .4byte gBattleWeather\n\
-_0801871C: .4byte BattleScript_DroughtActivates\n\
-_08018720: .4byte 0x02000000\n\
-_08018724: .4byte 0x00016003\n\
-_08018728:\n\
- ldr r0, _08018754 @ =gSpecialStatuses\n\
- mov r1, r10\n\
- lsls r2, r1, 2\n\
- adds r1, r2, r1\n\
- lsls r1, 2\n\
- adds r3, r1, r0\n\
- ldrb r0, [r3]\n\
- lsls r0, 28\n\
- cmp r0, 0\n\
- bge _08018740\n\
- bl _08019F76\n\
-_08018740:\n\
- ldr r1, _08018758 @ =gStatuses3\n\
- adds r1, r2, r1\n\
- ldr r0, [r1]\n\
- movs r2, 0x80\n\
- lsls r2, 12\n\
- orrs r0, r2\n\
- str r0, [r1]\n\
- ldrb r0, [r3]\n\
- movs r1, 0x8\n\
- b _080187CA\n\
- .align 2, 0\n\
-_08018754: .4byte gSpecialStatuses\n\
-_08018758: .4byte gStatuses3\n\
-_0801875C:\n\
- mov r0, r10\n\
- bl CastformDataTypeChange\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
- cmp r0, 0\n\
- bne _08018770\n\
- bl _08019F92\n\
-_08018770:\n\
- ldr r0, _08018790 @ =BattleScript_CastformChange\n\
- bl b_push_move_exec\n\
- ldr r0, _08018794 @ =0x02000000\n\
- ldr r2, _08018798 @ =0x00016003\n\
- adds r1, r0, r2\n\
- mov r3, r10\n\
- strb r3, [r1]\n\
- mov r1, r9\n\
- subs r1, 0x1\n\
- ldr r5, _0801879C @ =0x0001609b\n\
- adds r0, r5\n\
- strb r1, [r0]\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_08018790: .4byte BattleScript_CastformChange\n\
-_08018794: .4byte 0x02000000\n\
-_08018798: .4byte 0x00016003\n\
-_0801879C: .4byte 0x0001609b\n\
-_080187A0:\n\
- ldr r0, _080187D4 @ =gSpecialStatuses\n\
- mov r1, r10\n\
- lsls r2, r1, 2\n\
- adds r1, r2, r1\n\
- lsls r1, 2\n\
- adds r3, r1, r0\n\
- ldrb r0, [r3]\n\
- lsls r0, 27\n\
- cmp r0, 0\n\
- bge _080187B8\n\
- bl _08019F76\n\
-_080187B8:\n\
- ldr r1, _080187D8 @ =gStatuses3\n\
- adds r1, r2, r1\n\
- ldr r0, [r1]\n\
- movs r2, 0x80\n\
- lsls r2, 13\n\
- orrs r0, r2\n\
- str r0, [r1]\n\
- ldrb r0, [r3]\n\
- movs r1, 0x10\n\
-_080187CA:\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_080187D4: .4byte gSpecialStatuses\n\
-_080187D8: .4byte gStatuses3\n\
-_080187DC:\n\
- movs r6, 0\n\
- ldrb r5, [r5]\n\
- cmp r6, r5\n\
- bcc _080187E8\n\
- bl _08019F76\n\
-_080187E8:\n\
- adds r0, r6, 0\n\
- bl CastformDataTypeChange\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
- cmp r0, 0\n\
- beq _080187FC\n\
- bl _08019E14\n\
-_080187FC:\n\
- adds r0, r6, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- ldr r0, _08018810 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r6, r0\n\
- bcc _080187E8\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_08018810: .4byte gNoOfAllBanks\n\
-_08018814:\n\
- ldr r2, _08018844 @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r1, r10\n\
- muls r1, r0\n\
- adds r4, r1, r2\n\
- ldrh r0, [r4, 0x28]\n\
- cmp r0, 0\n\
- bne _08018828\n\
- bl _08019F76\n\
-_08018828:\n\
- ldr r0, _08018848 @ =gBankAttacker\n\
- mov r3, r10\n\
- strb r3, [r0]\n\
- mov r3, r8\n\
- ldrb r5, [r3]\n\
- cmp r5, 0x2C\n\
- beq _0801885A\n\
- cmp r5, 0x2C\n\
- bgt _0801884C\n\
- cmp r5, 0x3\n\
- bne _08018840\n\
- b _080189B8\n\
-_08018840:\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_08018844: .4byte gBattleMons\n\
-_08018848: .4byte gBankAttacker\n\
-_0801884C:\n\
- cmp r5, 0x36\n\
- bne _08018852\n\
- b _08018A18\n\
-_08018852:\n\
- cmp r5, 0x3D\n\
- beq _080188DC\n\
- bl _08019F76\n\
-_0801885A:\n\
- movs r0, 0\n\
- str r0, [sp]\n\
- movs r0, 0x13\n\
- movs r1, 0\n\
- movs r2, 0xD\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0\n\
- beq _08018876\n\
- bl _08019F76\n\
-_08018876:\n\
- str r0, [sp]\n\
- movs r0, 0x13\n\
- movs r1, 0\n\
- movs r2, 0x4D\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _0801888E\n\
- bl _08019F76\n\
-_0801888E:\n\
- ldr r0, _080188D0 @ =gBattleWeather\n\
- ldrh r1, [r0]\n\
- movs r0, 0x7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801889E\n\
- bl _08019F76\n\
-_0801889E:\n\
- ldrh r0, [r4, 0x2C]\n\
- ldrh r1, [r4, 0x28]\n\
- cmp r0, r1\n\
- bhi _080188AA\n\
- bl _08019F76\n\
-_080188AA:\n\
- mov r2, r8\n\
- strb r5, [r2]\n\
- ldr r0, _080188D4 @ =BattleScript_RainDishActivates\n\
- bl b_push_move_exec\n\
- ldr r1, _080188D8 @ =gBattleMoveDamage\n\
- ldrh r0, [r4, 0x2C]\n\
- lsrs r0, 4\n\
- str r0, [r1]\n\
- cmp r0, 0\n\
- bne _080188C4\n\
- movs r0, 0x1\n\
- str r0, [r1]\n\
-_080188C4:\n\
- ldr r0, [r1]\n\
- negs r0, r0\n\
- str r0, [r1]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_080188D0: .4byte gBattleWeather\n\
-_080188D4: .4byte BattleScript_RainDishActivates\n\
-_080188D8: .4byte gBattleMoveDamage\n\
-_080188DC:\n\
- adds r0, r2, 0\n\
- adds r0, 0x4C\n\
- adds r5, r1, r0\n\
- ldrb r0, [r5]\n\
- cmp r0, 0\n\
- bne _080188EC\n\
- bl _08019F76\n\
-_080188EC:\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x3\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- cmp r4, 0\n\
- beq _08018906\n\
- bl _08019F76\n\
-_08018906:\n\
- ldr r0, [r5]\n\
- movs r1, 0x88\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018918\n\
- ldr r0, _08018990 @ =gBattleTextBuff1\n\
- ldr r1, _08018994 @ =gStatusConditionString_PoisonJpn\n\
- bl StringCopy\n\
-_08018918:\n\
- ldr r0, [r5]\n\
- movs r1, 0x7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801892A\n\
- ldr r0, _08018990 @ =gBattleTextBuff1\n\
- ldr r1, _08018998 @ =gStatusConditionString_SleepJpn\n\
- bl StringCopy\n\
-_0801892A:\n\
- ldr r0, [r5]\n\
- movs r1, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801893C\n\
- ldr r0, _08018990 @ =gBattleTextBuff1\n\
- ldr r1, _0801899C @ =gStatusConditionString_ParalysisJpn\n\
- bl StringCopy\n\
-_0801893C:\n\
- ldr r0, [r5]\n\
- movs r1, 0x10\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801894E\n\
- ldr r0, _08018990 @ =gBattleTextBuff1\n\
- ldr r1, _080189A0 @ =gStatusConditionString_BurnJpn\n\
- bl StringCopy\n\
-_0801894E:\n\
- ldr r0, [r5]\n\
- movs r1, 0x20\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018960\n\
- ldr r0, _08018990 @ =gBattleTextBuff1\n\
- ldr r1, _080189A4 @ =gStatusConditionString_IceJpn\n\
- bl StringCopy\n\
-_08018960:\n\
- str r4, [r5]\n\
- ldr r0, _080189A8 @ =0x02000000\n\
- ldr r4, _080189AC @ =gActiveBank\n\
- mov r3, r10\n\
- strb r3, [r4]\n\
- ldr r1, _080189B0 @ =0x00016003\n\
- adds r0, r1\n\
- strb r3, [r0]\n\
- ldr r0, _080189B4 @ =BattleScript_ShedSkinActivates\n\
- bl b_push_move_exec\n\
- str r5, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x28\n\
- movs r2, 0\n\
- movs r3, 0x4\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_08018990: .4byte gBattleTextBuff1\n\
-_08018994: .4byte gStatusConditionString_PoisonJpn\n\
-_08018998: .4byte gStatusConditionString_SleepJpn\n\
-_0801899C: .4byte gStatusConditionString_ParalysisJpn\n\
-_080189A0: .4byte gStatusConditionString_BurnJpn\n\
-_080189A4: .4byte gStatusConditionString_IceJpn\n\
-_080189A8: .4byte 0x02000000\n\
-_080189AC: .4byte gActiveBank\n\
-_080189B0: .4byte 0x00016003\n\
-_080189B4: .4byte BattleScript_ShedSkinActivates\n\
-_080189B8:\n\
- ldrb r2, [r4, 0x1B]\n\
- movs r0, 0x1B\n\
- ldrsb r0, [r4, r0]\n\
- cmp r0, 0xB\n\
- ble _080189C6\n\
- bl _08019F76\n\
-_080189C6:\n\
- ldr r0, _08018A04 @ =gDisableStructs\n\
- mov r3, r10\n\
- lsls r1, r3, 3\n\
- subs r1, r3\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x16]\n\
- cmp r0, 0x2\n\
- bne _080189DC\n\
- bl _08019F76\n\
-_080189DC:\n\
- adds r0, r2, 0x1\n\
- movs r2, 0\n\
- strb r0, [r4, 0x1B]\n\
- ldr r5, _08018A08 @ =0x000160a4\n\
- adds r1, r7, r5\n\
- movs r0, 0x11\n\
- strb r0, [r1]\n\
- ldr r1, _08018A0C @ =0x000160a5\n\
- adds r0, r7, r1\n\
- strb r2, [r0]\n\
- ldr r0, _08018A10 @ =BattleScript_SpeedBoostActivates\n\
- bl b_push_move_exec\n\
- ldr r2, _08018A14 @ =0x00016003\n\
- adds r0, r7, r2\n\
- mov r3, r10\n\
- strb r3, [r0]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_08018A04: .4byte gDisableStructs\n\
-_08018A08: .4byte 0x000160a4\n\
-_08018A0C: .4byte 0x000160a5\n\
-_08018A10: .4byte BattleScript_SpeedBoostActivates\n\
-_08018A14: .4byte 0x00016003\n\
-_08018A18:\n\
- ldr r2, _08018A3C @ =gDisableStructs\n\
- ldrb r0, [r0]\n\
- lsls r1, r0, 3\n\
- subs r1, r0\n\
- lsls r1, 2\n\
- adds r1, r2\n\
- ldrb r3, [r1, 0x18]\n\
- lsls r0, r3, 31\n\
- lsrs r0, 31\n\
- movs r2, 0x1\n\
- eors r2, r0\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- ands r0, r3\n\
- orrs r0, r2\n\
- strb r0, [r1, 0x18]\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_08018A3C: .4byte gDisableStructs\n\
-_08018A40:\n\
- mov r5, r8\n\
- ldrb r0, [r5]\n\
- cmp r0, 0x2B\n\
- beq _08018A4C\n\
- bl _08019F76\n\
-_08018A4C:\n\
- movs r4, 0\n\
- ldr r0, _08018ABC @ =gSoundMovesTable\n\
- ldrh r2, [r0]\n\
- ldr r5, _08018AC0 @ =0x0000ffff\n\
- adds r1, r0, 0\n\
- cmp r2, r5\n\
- bne _08018A5E\n\
- bl _08019F76\n\
-_08018A5E:\n\
- cmp r2, r3\n\
- beq _08018A76\n\
- adds r2, r1, 0\n\
-_08018A64:\n\
- adds r2, 0x2\n\
- adds r4, 0x1\n\
- ldrh r0, [r2]\n\
- cmp r0, r5\n\
- bne _08018A72\n\
- bl _08019F76\n\
-_08018A72:\n\
- cmp r0, r3\n\
- bne _08018A64\n\
-_08018A76:\n\
- lsls r0, r4, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- ldr r0, _08018AC0 @ =0x0000ffff\n\
- cmp r1, r0\n\
- bne _08018A86\n\
- bl _08019F76\n\
-_08018A86:\n\
- ldr r1, _08018AC4 @ =gBattleMons\n\
- ldr r0, _08018AC8 @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 5\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018AAC\n\
- ldr r0, _08018ACC @ =gHitMarker\n\
- ldr r1, [r0]\n\
- movs r2, 0x80\n\
- lsls r2, 4\n\
- orrs r1, r2\n\
- str r1, [r0]\n\
-_08018AAC:\n\
- ldr r1, _08018AD0 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018AD4 @ =BattleScript_SoundproofProtected\n\
- str r0, [r1]\n\
- movs r0, 0x1\n\
- mov r9, r0\n\
- bl _08019F7C\n\
- .align 2, 0\n\
-_08018ABC: .4byte gSoundMovesTable\n\
-_08018AC0: .4byte 0x0000ffff\n\
-_08018AC4: .4byte gBattleMons\n\
-_08018AC8: .4byte gBankAttacker\n\
-_08018ACC: .4byte gHitMarker\n\
-_08018AD0: .4byte gBattlescriptCurrInstr\n\
-_08018AD4: .4byte BattleScript_SoundproofProtected\n\
-_08018AD8:\n\
- cmp r3, 0\n\
- bne _08018AE0\n\
- bl _08019F76\n\
-_08018AE0:\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- cmp r0, 0xB\n\
- beq _08018B50\n\
- cmp r0, 0xB\n\
- bgt _08018AF2\n\
- cmp r0, 0xA\n\
- beq _08018AF8\n\
- b _08018C6A\n\
-_08018AF2:\n\
- cmp r0, 0x12\n\
- beq _08018BA8\n\
- b _08018C6A\n\
-_08018AF8:\n\
- cmp r4, 0xD\n\
- beq _08018AFE\n\
- b _08018C6A\n\
-_08018AFE:\n\
- ldr r0, _08018B28 @ =gBattleMoves\n\
- lsls r1, r3, 1\n\
- adds r1, r3\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- cmp r0, 0\n\
- bne _08018B10\n\
- b _08018C6A\n\
-_08018B10:\n\
- ldr r1, _08018B2C @ =gProtectStructs\n\
- ldr r0, _08018B30 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- lsls r0, 4\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x2]\n\
- lsls r0, 28\n\
- cmp r0, 0\n\
- bge _08018B3C\n\
- ldr r1, _08018B34 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018B38 @ =BattleScript_MoveHPDrain\n\
- b _08018B40\n\
- .align 2, 0\n\
-_08018B28: .4byte gBattleMoves\n\
-_08018B2C: .4byte gProtectStructs\n\
-_08018B30: .4byte gBankAttacker\n\
-_08018B34: .4byte gBattlescriptCurrInstr\n\
-_08018B38: .4byte BattleScript_MoveHPDrain\n\
-_08018B3C:\n\
- ldr r1, _08018B48 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018B4C @ =BattleScript_MoveHPDrain_PPLoss\n\
-_08018B40:\n\
- str r0, [r1]\n\
- movs r2, 0x1\n\
- b _08018C68\n\
- .align 2, 0\n\
-_08018B48: .4byte gBattlescriptCurrInstr\n\
-_08018B4C: .4byte BattleScript_MoveHPDrain_PPLoss\n\
-_08018B50:\n\
- cmp r4, 0xB\n\
- beq _08018B56\n\
- b _08018C6A\n\
-_08018B56:\n\
- ldr r0, _08018B80 @ =gBattleMoves\n\
- lsls r1, r3, 1\n\
- adds r1, r3\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- cmp r0, 0\n\
- bne _08018B68\n\
- b _08018C6A\n\
-_08018B68:\n\
- ldr r1, _08018B84 @ =gProtectStructs\n\
- ldr r0, _08018B88 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- lsls r0, 4\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x2]\n\
- lsls r0, 28\n\
- cmp r0, 0\n\
- bge _08018B94\n\
- ldr r1, _08018B8C @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018B90 @ =BattleScript_MoveHPDrain\n\
- b _08018B98\n\
- .align 2, 0\n\
-_08018B80: .4byte gBattleMoves\n\
-_08018B84: .4byte gProtectStructs\n\
-_08018B88: .4byte gBankAttacker\n\
-_08018B8C: .4byte gBattlescriptCurrInstr\n\
-_08018B90: .4byte BattleScript_MoveHPDrain\n\
-_08018B94:\n\
- ldr r1, _08018BA0 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018BA4 @ =BattleScript_MoveHPDrain_PPLoss\n\
-_08018B98:\n\
- str r0, [r1]\n\
- movs r3, 0x1\n\
- mov r9, r3\n\
- b _08018C6A\n\
- .align 2, 0\n\
-_08018BA0: .4byte gBattlescriptCurrInstr\n\
-_08018BA4: .4byte BattleScript_MoveHPDrain_PPLoss\n\
-_08018BA8:\n\
- cmp r4, 0xA\n\
- bne _08018C6A\n\
- ldr r1, _08018BF4 @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r5, r10\n\
- muls r5, r0\n\
- adds r0, r5, 0\n\
- adds r1, 0x4C\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x20\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08018C6A\n\
- ldr r2, _08018BF8 @ =0x02017100\n\
- mov r0, r10\n\
- lsls r1, r0, 2\n\
- adds r0, r1, r2\n\
- ldr r3, [r0]\n\
- movs r4, 0x1\n\
- ands r3, r4\n\
- adds r5, r1, 0\n\
- cmp r3, 0\n\
- bne _08018C30\n\
- ldr r0, _08018BFC @ =gBattleCommunication\n\
- strb r3, [r0, 0x5]\n\
- ldr r1, _08018C00 @ =gProtectStructs\n\
- ldr r0, _08018C04 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- lsls r0, 4\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x2]\n\
- lsls r0, 28\n\
- cmp r0, 0\n\
- bge _08018C10\n\
- ldr r1, _08018C08 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018C0C @ =BattleScript_FlashFireBoost\n\
- b _08018C14\n\
- .align 2, 0\n\
-_08018BF4: .4byte gBattleMons\n\
-_08018BF8: .4byte 0x02017100\n\
-_08018BFC: .4byte gBattleCommunication\n\
-_08018C00: .4byte gProtectStructs\n\
-_08018C04: .4byte gBankAttacker\n\
-_08018C08: .4byte gBattlescriptCurrInstr\n\
-_08018C0C: .4byte BattleScript_FlashFireBoost\n\
-_08018C10:\n\
- ldr r1, _08018C28 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018C2C @ =BattleScript_FlashFireBoost_PPLoss\n\
-_08018C14:\n\
- str r0, [r1]\n\
- adds r0, r5, r2\n\
- ldr r1, [r0]\n\
- movs r2, 0x1\n\
- orrs r1, r2\n\
- str r1, [r0]\n\
- movs r1, 0x2\n\
- mov r9, r1\n\
- b _08018C6A\n\
- .align 2, 0\n\
-_08018C28: .4byte gBattlescriptCurrInstr\n\
-_08018C2C: .4byte BattleScript_FlashFireBoost_PPLoss\n\
-_08018C30:\n\
- ldr r0, _08018C4C @ =gBattleCommunication\n\
- strb r4, [r0, 0x5]\n\
- ldr r1, _08018C50 @ =gProtectStructs\n\
- ldr r0, _08018C54 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- lsls r0, 4\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x2]\n\
- lsls r0, 28\n\
- cmp r0, 0\n\
- bge _08018C60\n\
- ldr r1, _08018C58 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018C5C @ =BattleScript_FlashFireBoost\n\
- b _08018C64\n\
- .align 2, 0\n\
-_08018C4C: .4byte gBattleCommunication\n\
-_08018C50: .4byte gProtectStructs\n\
-_08018C54: .4byte gBankAttacker\n\
-_08018C58: .4byte gBattlescriptCurrInstr\n\
-_08018C5C: .4byte BattleScript_FlashFireBoost\n\
-_08018C60:\n\
- ldr r1, _08018CA4 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018CA8 @ =BattleScript_FlashFireBoost_PPLoss\n\
-_08018C64:\n\
- str r0, [r1]\n\
- movs r2, 0x2\n\
-_08018C68:\n\
- mov r9, r2\n\
-_08018C6A:\n\
- mov r3, r9\n\
- cmp r3, 0x1\n\
- beq _08018C74\n\
- bl _08019F76\n\
-_08018C74:\n\
- ldr r1, _08018CAC @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r5, r10\n\
- muls r5, r0\n\
- adds r0, r5, 0\n\
- adds r1, r0, r1\n\
- ldrh r0, [r1, 0x2C]\n\
- ldrh r2, [r1, 0x28]\n\
- cmp r0, r2\n\
- bne _08018CD0\n\
- ldr r1, _08018CB0 @ =gProtectStructs\n\
- ldr r0, _08018CB4 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- lsls r0, 4\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x2]\n\
- lsls r0, 28\n\
- cmp r0, 0\n\
- bge _08018CBC\n\
- ldr r1, _08018CA4 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018CB8 @ =BattleScript_MoveHPDrain_FullHP\n\
- str r0, [r1]\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_08018CA4: .4byte gBattlescriptCurrInstr\n\
-_08018CA8: .4byte BattleScript_FlashFireBoost_PPLoss\n\
-_08018CAC: .4byte gBattleMons\n\
-_08018CB0: .4byte gProtectStructs\n\
-_08018CB4: .4byte gBankAttacker\n\
-_08018CB8: .4byte BattleScript_MoveHPDrain_FullHP\n\
-_08018CBC:\n\
- ldr r1, _08018CC8 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018CCC @ =BattleScript_MoveHPDrain_FullHP_PPLoss\n\
- str r0, [r1]\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_08018CC8: .4byte gBattlescriptCurrInstr\n\
-_08018CCC: .4byte BattleScript_MoveHPDrain_FullHP_PPLoss\n\
-_08018CD0:\n\
- ldr r2, _08018CEC @ =gBattleMoveDamage\n\
- ldrh r0, [r1, 0x2C]\n\
- lsrs r0, 2\n\
- str r0, [r2]\n\
- cmp r0, 0\n\
- bne _08018CE0\n\
- mov r3, r9\n\
- str r3, [r2]\n\
-_08018CE0:\n\
- ldr r0, [r2]\n\
- negs r0, r0\n\
- str r0, [r2]\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_08018CEC: .4byte gBattleMoveDamage\n\
-_08018CF0:\n\
- mov r5, r8\n\
- ldrb r0, [r5]\n\
- subs r0, 0x9\n\
- cmp r0, 0x2F\n\
- bls _08018CFE\n\
- bl _08019F76\n\
-_08018CFE:\n\
- lsls r0, 2\n\
- ldr r1, _08018D08 @ =_08018D0C\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_08018D08: .4byte _08018D0C\n\
- .align 2, 0\n\
-_08018D0C:\n\
- .4byte _08019128\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08018DCC\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08018E94\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08018F54\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _0801904C\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019204\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _08019F76\n\
- .4byte _080192E0\n\
-_08018DCC:\n\
- ldr r0, _08018E74 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018DDC\n\
- bl _08019F76\n\
-_08018DDC:\n\
- cmp r3, 0xA5\n\
- bne _08018DE4\n\
- bl _08019F76\n\
-_08018DE4:\n\
- ldr r0, _08018E78 @ =gBattleMoves\n\
- lsls r1, r3, 1\n\
- adds r1, r3\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- cmp r0, 0\n\
- bne _08018DF8\n\
- bl _08019F76\n\
-_08018DF8:\n\
- ldr r2, _08018E7C @ =gSpecialStatuses\n\
- ldr r0, _08018E80 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r1, r0, 2\n\
- adds r0, r2, 0\n\
- adds r0, 0x8\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08018E20\n\
- adds r0, r2, 0\n\
- adds r0, 0xC\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08018E20\n\
- bl _08019F76\n\
-_08018E20:\n\
- ldr r1, _08018E84 @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r2, r10\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- adds r1, r0, r1\n\
- adds r3, r1, 0\n\
- adds r3, 0x21\n\
- ldrb r0, [r3]\n\
- cmp r0, r4\n\
- bne _08018E3A\n\
- bl _08019F76\n\
-_08018E3A:\n\
- adds r2, r1, 0\n\
- adds r2, 0x22\n\
- ldrb r0, [r2]\n\
- cmp r0, r4\n\
- bne _08018E48\n\
- bl _08019F76\n\
-_08018E48:\n\
- ldrh r0, [r1, 0x28]\n\
- cmp r0, 0\n\
- bne _08018E52\n\
- bl _08019F76\n\
-_08018E52:\n\
- strb r4, [r3]\n\
- strb r4, [r2]\n\
- ldr r1, _08018E88 @ =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x3\n\
- strb r0, [r1, 0x1]\n\
- strb r4, [r1, 0x2]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x3]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08018E8C @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018E90 @ =BattleScript_ColorChangeActivates\n\
- str r0, [r1]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_08018E74: .4byte gBattleMoveFlags\n\
-_08018E78: .4byte gBattleMoves\n\
-_08018E7C: .4byte gSpecialStatuses\n\
-_08018E80: .4byte gBankTarget\n\
-_08018E84: .4byte gBattleMons\n\
-_08018E88: .4byte gBattleTextBuff1\n\
-_08018E8C: .4byte gBattlescriptCurrInstr\n\
-_08018E90: .4byte BattleScript_ColorChangeActivates\n\
-_08018E94:\n\
- ldr r0, _08018F2C @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018EA4\n\
- bl _08019F76\n\
-_08018EA4:\n\
- ldr r1, _08018F30 @ =gBattleMons\n\
- ldr r0, _08018F34 @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r4, r0, r1\n\
- ldrh r0, [r4, 0x28]\n\
- cmp r0, 0\n\
- bne _08018EBA\n\
- bl _08019F76\n\
-_08018EBA:\n\
- ldr r0, _08018F38 @ =gProtectStructs\n\
- lsls r1, r2, 4\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _08018ECC\n\
- bl _08019F76\n\
-_08018ECC:\n\
- ldr r2, _08018F3C @ =gSpecialStatuses\n\
- ldr r0, _08018F40 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r1, r0, 2\n\
- adds r0, r2, 0\n\
- adds r0, 0x8\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08018EF4\n\
- adds r0, r2, 0\n\
- adds r0, 0xC\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08018EF4\n\
- bl _08019F76\n\
-_08018EF4:\n\
- ldr r1, _08018F44 @ =gBattleMoves\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0, 0x8]\n\
- movs r2, 0x1\n\
- adds r0, r2, 0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08018F0E\n\
- bl _08019F76\n\
-_08018F0E:\n\
- ldr r1, _08018F48 @ =gBattleMoveDamage\n\
- ldrh r0, [r4, 0x2C]\n\
- lsrs r0, 4\n\
- str r0, [r1]\n\
- cmp r0, 0\n\
- bne _08018F1C\n\
- str r2, [r1]\n\
-_08018F1C:\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08018F4C @ =gBattlescriptCurrInstr\n\
- ldr r0, _08018F50 @ =BattleScript_RoughSkinActivates\n\
- str r0, [r1]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_08018F2C: .4byte gBattleMoveFlags\n\
-_08018F30: .4byte gBattleMons\n\
-_08018F34: .4byte gBankAttacker\n\
-_08018F38: .4byte gProtectStructs\n\
-_08018F3C: .4byte gSpecialStatuses\n\
-_08018F40: .4byte gBankTarget\n\
-_08018F44: .4byte gBattleMoves\n\
-_08018F48: .4byte gBattleMoveDamage\n\
-_08018F4C: .4byte gBattlescriptCurrInstr\n\
-_08018F50: .4byte BattleScript_RoughSkinActivates\n\
-_08018F54:\n\
- ldr r0, _08019020 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08018F64\n\
- bl _08019F76\n\
-_08018F64:\n\
- ldr r1, _08019024 @ =gBattleMons\n\
- ldr r0, _08019028 @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r0, r1\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _08018F7A\n\
- bl _08019F76\n\
-_08018F7A:\n\
- ldr r0, _0801902C @ =gProtectStructs\n\
- lsls r1, r2, 4\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _08018F8C\n\
- bl _08019F76\n\
-_08018F8C:\n\
- ldr r2, _08019030 @ =gSpecialStatuses\n\
- ldr r0, _08019034 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r1, r0, 2\n\
- adds r0, r2, 0\n\
- adds r0, 0x8\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08018FB4\n\
- adds r0, r2, 0\n\
- adds r0, 0xC\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08018FB4\n\
- bl _08019F76\n\
-_08018FB4:\n\
- ldr r1, _08019038 @ =gBattleMoves\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0, 0x8]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08018FCC\n\
- bl _08019F76\n\
-_08018FCC:\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0xA\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- beq _08018FE4\n\
- bl _08019F76\n\
-_08018FE4:\n\
- ldr r5, _0801903C @ =gBattleCommunication\n\
- movs r4, 0x3\n\
-_08018FE8:\n\
- bl Random\n\
- ands r0, r4\n\
- strb r0, [r5, 0x3]\n\
- cmp r0, 0\n\
- beq _08018FE8\n\
- ldr r1, _0801903C @ =gBattleCommunication\n\
- ldrb r0, [r1, 0x3]\n\
- cmp r0, 0x3\n\
- bne _08019000\n\
- adds r0, 0x2\n\
- strb r0, [r1, 0x3]\n\
-_08019000:\n\
- ldrb r0, [r1, 0x3]\n\
- adds r0, 0x40\n\
- strb r0, [r1, 0x3]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08019040 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08019044 @ =BattleScript_ApplySecondaryEffect\n\
- str r0, [r1]\n\
- ldr r2, _08019048 @ =gHitMarker\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_08019020: .4byte gBattleMoveFlags\n\
-_08019024: .4byte gBattleMons\n\
-_08019028: .4byte gBankAttacker\n\
-_0801902C: .4byte gProtectStructs\n\
-_08019030: .4byte gSpecialStatuses\n\
-_08019034: .4byte gBankTarget\n\
-_08019038: .4byte gBattleMoves\n\
-_0801903C: .4byte gBattleCommunication\n\
-_08019040: .4byte gBattlescriptCurrInstr\n\
-_08019044: .4byte BattleScript_ApplySecondaryEffect\n\
-_08019048: .4byte gHitMarker\n\
-_0801904C:\n\
- ldr r0, _080190FC @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801905C\n\
- bl _08019F76\n\
-_0801905C:\n\
- ldr r1, _08019100 @ =gBattleMons\n\
- ldr r0, _08019104 @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r0, r1\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _08019072\n\
- bl _08019F76\n\
-_08019072:\n\
- ldr r0, _08019108 @ =gProtectStructs\n\
- lsls r1, r2, 4\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _08019084\n\
- bl _08019F76\n\
-_08019084:\n\
- ldr r2, _0801910C @ =gSpecialStatuses\n\
- ldr r0, _08019110 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r1, r0, 2\n\
- adds r0, r2, 0\n\
- adds r0, 0x8\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _080190AC\n\
- adds r0, r2, 0\n\
- adds r0, 0xC\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _080190AC\n\
- bl _08019F76\n\
-_080190AC:\n\
- ldr r1, _08019114 @ =gBattleMoves\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0, 0x8]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080190C4\n\
- bl _08019F76\n\
-_080190C4:\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x3\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- beq _080190DC\n\
- bl _08019F76\n\
-_080190DC:\n\
- ldr r1, _08019118 @ =gBattleCommunication\n\
- movs r0, 0x42\n\
- strb r0, [r1, 0x3]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _0801911C @ =gBattlescriptCurrInstr\n\
- ldr r0, _08019120 @ =BattleScript_ApplySecondaryEffect\n\
- str r0, [r1]\n\
- ldr r2, _08019124 @ =gHitMarker\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_080190FC: .4byte gBattleMoveFlags\n\
-_08019100: .4byte gBattleMons\n\
-_08019104: .4byte gBankAttacker\n\
-_08019108: .4byte gProtectStructs\n\
-_0801910C: .4byte gSpecialStatuses\n\
-_08019110: .4byte gBankTarget\n\
-_08019114: .4byte gBattleMoves\n\
-_08019118: .4byte gBattleCommunication\n\
-_0801911C: .4byte gBattlescriptCurrInstr\n\
-_08019120: .4byte BattleScript_ApplySecondaryEffect\n\
-_08019124: .4byte gHitMarker\n\
-_08019128:\n\
- ldr r0, _080191D8 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08019138\n\
- bl _08019F76\n\
-_08019138:\n\
- ldr r1, _080191DC @ =gBattleMons\n\
- ldr r0, _080191E0 @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r0, r1\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _0801914E\n\
- bl _08019F76\n\
-_0801914E:\n\
- ldr r0, _080191E4 @ =gProtectStructs\n\
- lsls r1, r2, 4\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _08019160\n\
- bl _08019F76\n\
-_08019160:\n\
- ldr r2, _080191E8 @ =gSpecialStatuses\n\
- ldr r0, _080191EC @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r1, r0, 2\n\
- adds r0, r2, 0\n\
- adds r0, 0x8\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08019188\n\
- adds r0, r2, 0\n\
- adds r0, 0xC\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08019188\n\
- bl _08019F76\n\
-_08019188:\n\
- ldr r1, _080191F0 @ =gBattleMoves\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0, 0x8]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080191A0\n\
- bl _08019F76\n\
-_080191A0:\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x3\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- beq _080191B8\n\
- bl _08019F76\n\
-_080191B8:\n\
- ldr r1, _080191F4 @ =gBattleCommunication\n\
- movs r0, 0x45\n\
- strb r0, [r1, 0x3]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _080191F8 @ =gBattlescriptCurrInstr\n\
- ldr r0, _080191FC @ =BattleScript_ApplySecondaryEffect\n\
- str r0, [r1]\n\
- ldr r2, _08019200 @ =gHitMarker\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_080191D8: .4byte gBattleMoveFlags\n\
-_080191DC: .4byte gBattleMons\n\
-_080191E0: .4byte gBankAttacker\n\
-_080191E4: .4byte gProtectStructs\n\
-_080191E8: .4byte gSpecialStatuses\n\
-_080191EC: .4byte gBankTarget\n\
-_080191F0: .4byte gBattleMoves\n\
-_080191F4: .4byte gBattleCommunication\n\
-_080191F8: .4byte gBattlescriptCurrInstr\n\
-_080191FC: .4byte BattleScript_ApplySecondaryEffect\n\
-_08019200: .4byte gHitMarker\n\
-_08019204:\n\
- ldr r0, _080192B4 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08019214\n\
- bl _08019F76\n\
-_08019214:\n\
- ldr r1, _080192B8 @ =gBattleMons\n\
- ldr r0, _080192BC @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r0, r1\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _0801922A\n\
- bl _08019F76\n\
-_0801922A:\n\
- ldr r0, _080192C0 @ =gProtectStructs\n\
- lsls r1, r2, 4\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _0801923C\n\
- bl _08019F76\n\
-_0801923C:\n\
- ldr r1, _080192C4 @ =gBattleMoves\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0, 0x8]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08019254\n\
- bl _08019F76\n\
-_08019254:\n\
- ldr r2, _080192C8 @ =gSpecialStatuses\n\
- ldr r0, _080192CC @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r1, r0, 2\n\
- adds r0, r2, 0\n\
- adds r0, 0x8\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _0801927C\n\
- adds r0, r2, 0\n\
- adds r0, 0xC\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _0801927C\n\
- bl _08019F76\n\
-_0801927C:\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x3\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- beq _08019294\n\
- bl _08019F76\n\
-_08019294:\n\
- ldr r1, _080192D0 @ =gBattleCommunication\n\
- movs r0, 0x43\n\
- strb r0, [r1, 0x3]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _080192D4 @ =gBattlescriptCurrInstr\n\
- ldr r0, _080192D8 @ =BattleScript_ApplySecondaryEffect\n\
- str r0, [r1]\n\
- ldr r2, _080192DC @ =gHitMarker\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_080192B4: .4byte gBattleMoveFlags\n\
-_080192B8: .4byte gBattleMons\n\
-_080192BC: .4byte gBankAttacker\n\
-_080192C0: .4byte gProtectStructs\n\
-_080192C4: .4byte gBattleMoves\n\
-_080192C8: .4byte gSpecialStatuses\n\
-_080192CC: .4byte gBankTarget\n\
-_080192D0: .4byte gBattleCommunication\n\
-_080192D4: .4byte gBattlescriptCurrInstr\n\
-_080192D8: .4byte BattleScript_ApplySecondaryEffect\n\
-_080192DC: .4byte gHitMarker\n\
-_080192E0:\n\
- ldr r0, _08019420 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080192F0\n\
- bl _08019F76\n\
-_080192F0:\n\
- ldr r5, _08019424 @ =gBattleMons\n\
- ldr r7, _08019428 @ =gBankAttacker\n\
- ldrb r1, [r7]\n\
- movs r6, 0x58\n\
- adds r0, r1, 0\n\
- muls r0, r6\n\
- adds r0, r5\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _08019308\n\
- bl _08019F76\n\
-_08019308:\n\
- ldr r0, _0801942C @ =gProtectStructs\n\
- lsls r1, 4\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _0801931A\n\
- bl _08019F76\n\
-_0801931A:\n\
- ldr r1, _08019430 @ =gBattleMoves\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0, 0x8]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08019332\n\
- bl _08019F76\n\
-_08019332:\n\
- ldr r3, _08019434 @ =gSpecialStatuses\n\
- ldr r0, _08019438 @ =gBankTarget\n\
- mov r8, r0\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r2, r0, 2\n\
- adds r0, r3, 0\n\
- adds r0, 0x8\n\
- adds r0, r2, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _0801935C\n\
- adds r0, r3, 0\n\
- adds r0, 0xC\n\
- adds r0, r2, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _0801935C\n\
- bl _08019F76\n\
-_0801935C:\n\
- adds r0, r1, 0\n\
- muls r0, r6\n\
- adds r0, r5\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _0801936C\n\
- bl _08019F76\n\
-_0801936C:\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x3\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- beq _08019384\n\
- bl _08019F76\n\
-_08019384:\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r5\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xC\n\
- bne _08019396\n\
- bl _08019F76\n\
-_08019396:\n\
- ldr r0, [sp, 0x8]\n\
- ldr r1, [sp, 0x10]\n\
- bl GetGenderFromSpeciesAndPersonality\n\
- adds r4, r0, 0\n\
- ldr r0, [sp, 0xC]\n\
- ldr r1, [sp, 0x14]\n\
- bl GetGenderFromSpeciesAndPersonality\n\
- lsls r4, 24\n\
- lsls r0, 24\n\
- cmp r4, r0\n\
- bne _080193B4\n\
- bl _08019F76\n\
-_080193B4:\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r4, r5, 0\n\
- adds r4, 0x50\n\
- adds r0, r4\n\
- ldr r0, [r0]\n\
- movs r1, 0xF0\n\
- lsls r1, 12\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080193CE\n\
- bl _08019F76\n\
-_080193CE:\n\
- ldr r0, [sp, 0x8]\n\
- ldr r1, [sp, 0x10]\n\
- bl GetGenderFromSpeciesAndPersonality\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0xFF\n\
- bne _080193E2\n\
- bl _08019F76\n\
-_080193E2:\n\
- ldr r0, [sp, 0xC]\n\
- ldr r1, [sp, 0x14]\n\
- bl GetGenderFromSpeciesAndPersonality\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0xFF\n\
- bne _080193F6\n\
- bl _08019F76\n\
-_080193F6:\n\
- ldrb r0, [r7]\n\
- adds r2, r0, 0\n\
- muls r2, r6\n\
- adds r2, r4\n\
- ldr r1, _0801943C @ =gBitTable\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r1, [r0]\n\
- lsls r1, 16\n\
- ldr r0, [r2]\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08019440 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08019444 @ =BattleScript_CuteCharmActivates\n\
- str r0, [r1]\n\
- bl _08019F22\n\
- .align 2, 0\n\
-_08019420: .4byte gBattleMoveFlags\n\
-_08019424: .4byte gBattleMons\n\
-_08019428: .4byte gBankAttacker\n\
-_0801942C: .4byte gProtectStructs\n\
-_08019430: .4byte gBattleMoves\n\
-_08019434: .4byte gSpecialStatuses\n\
-_08019438: .4byte gBankTarget\n\
-_0801943C: .4byte gBitTable\n\
-_08019440: .4byte gBattlescriptCurrInstr\n\
-_08019444: .4byte BattleScript_CuteCharmActivates\n\
-_08019448:\n\
- movs r5, 0\n\
- mov r10, r5\n\
- ldr r0, _0801947C @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r10, r0\n\
- bcc _08019458\n\
- bl _08019F76\n\
-_08019458:\n\
- ldr r1, _08019480 @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r2, r10\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- adds r0, r1\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- subs r0, 0x7\n\
- adds r2, r1, 0\n\
- cmp r0, 0x41\n\
- bls _08019472\n\
- b _080196D6\n\
-_08019472:\n\
- lsls r0, 2\n\
- ldr r1, _08019484 @ =_08019488\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_0801947C: .4byte gNoOfAllBanks\n\
-_08019480: .4byte gBattleMons\n\
-_08019484: .4byte _08019488\n\
- .align 2, 0\n\
-_08019488:\n\
- .4byte _080195EC\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196B0\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _08019614\n\
- .4byte _080196D6\n\
- .4byte _08019590\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080195BC\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _08019680\n\
- .4byte _08019650\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _080196D6\n\
- .4byte _08019614\n\
-_08019590:\n\
- movs r0, 0x58\n\
- mov r3, r10\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- adds r1, r2, 0\n\
- adds r1, 0x4C\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- ldr r1, _080195B0 @ =0x00000f88\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080195AA\n\
- b _080196D6\n\
-_080195AA:\n\
- ldr r0, _080195B4 @ =gBattleTextBuff1\n\
- ldr r1, _080195B8 @ =gStatusConditionString_PoisonJpn\n\
- b _0801969C\n\
- .align 2, 0\n\
-_080195B0: .4byte 0x00000f88\n\
-_080195B4: .4byte gBattleTextBuff1\n\
-_080195B8: .4byte gStatusConditionString_PoisonJpn\n\
-_080195BC:\n\
- movs r0, 0x58\n\
- mov r1, r10\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r1, r2, 0\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080195D6\n\
- b _080196D6\n\
-_080195D6:\n\
- ldr r0, _080195E4 @ =gBattleTextBuff1\n\
- ldr r1, _080195E8 @ =gStatusConditionString_ConfusionJpn\n\
- bl StringCopy\n\
- movs r2, 0x2\n\
- mov r9, r2\n\
- b _080196DC\n\
- .align 2, 0\n\
-_080195E4: .4byte gBattleTextBuff1\n\
-_080195E8: .4byte gStatusConditionString_ConfusionJpn\n\
-_080195EC:\n\
- movs r0, 0x58\n\
- mov r3, r10\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- adds r1, r2, 0\n\
- adds r1, 0x4C\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080196D6\n\
- ldr r0, _0801960C @ =gBattleTextBuff1\n\
- ldr r1, _08019610 @ =gStatusConditionString_ParalysisJpn\n\
- b _0801969C\n\
- .align 2, 0\n\
-_0801960C: .4byte gBattleTextBuff1\n\
-_08019610: .4byte gStatusConditionString_ParalysisJpn\n\
-_08019614:\n\
- movs r0, 0x58\n\
- mov r3, r10\n\
- muls r3, r0\n\
- adds r0, r2, 0\n\
- adds r0, 0x4C\n\
- adds r0, r3, r0\n\
- ldr r0, [r0]\n\
- movs r1, 0x7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080196D6\n\
- adds r2, 0x50\n\
- adds r2, r3, r2\n\
- ldr r0, [r2]\n\
- ldr r1, _08019644 @ =0xf7ffffff\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- ldr r0, _08019648 @ =gBattleTextBuff1\n\
- ldr r1, _0801964C @ =gStatusConditionString_SleepJpn\n\
- bl StringCopy\n\
- movs r0, 0x1\n\
- mov r9, r0\n\
- b _080196DC\n\
- .align 2, 0\n\
-_08019644: .4byte 0xf7ffffff\n\
-_08019648: .4byte gBattleTextBuff1\n\
-_0801964C: .4byte gStatusConditionString_SleepJpn\n\
-_08019650:\n\
- movs r0, 0x58\n\
- mov r1, r10\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r1, r2, 0\n\
- adds r1, 0x4C\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x10\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080196D6\n\
- ldr r0, _08019678 @ =gBattleTextBuff1\n\
- ldr r1, _0801967C @ =gStatusConditionString_BurnJpn\n\
- bl StringCopy\n\
- movs r2, 0x1\n\
- mov r9, r2\n\
- b _080196DC\n\
- .align 2, 0\n\
-_08019678: .4byte gBattleTextBuff1\n\
-_0801967C: .4byte gStatusConditionString_BurnJpn\n\
-_08019680:\n\
- movs r0, 0x58\n\
- mov r3, r10\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- adds r1, r2, 0\n\
- adds r1, 0x4C\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x20\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080196D6\n\
- ldr r0, _080196A8 @ =gBattleTextBuff1\n\
- ldr r1, _080196AC @ =gStatusConditionString_IceJpn\n\
-_0801969C:\n\
- bl StringCopy\n\
- movs r5, 0x1\n\
- mov r9, r5\n\
- b _080196DC\n\
- .align 2, 0\n\
-_080196A8: .4byte gBattleTextBuff1\n\
-_080196AC: .4byte gStatusConditionString_IceJpn\n\
-_080196B0:\n\
- movs r0, 0x58\n\
- mov r1, r10\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r1, r2, 0\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0xF0\n\
- lsls r1, 12\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080196D6\n\
- ldr r0, _080196EC @ =gBattleTextBuff1\n\
- ldr r1, _080196F0 @ =gStatusConditionString_LoveJpn\n\
- bl StringCopy\n\
- movs r2, 0x3\n\
- mov r9, r2\n\
-_080196D6:\n\
- mov r3, r9\n\
- cmp r3, 0\n\
- beq _08019798\n\
-_080196DC:\n\
- mov r5, r9\n\
- cmp r5, 0x2\n\
- beq _08019710\n\
- cmp r5, 0x2\n\
- bgt _080196F4\n\
- cmp r5, 0x1\n\
- beq _080196FC\n\
- b _0801973C\n\
- .align 2, 0\n\
-_080196EC: .4byte gBattleTextBuff1\n\
-_080196F0: .4byte gStatusConditionString_LoveJpn\n\
-_080196F4:\n\
- mov r0, r9\n\
- cmp r0, 0x3\n\
- beq _08019728\n\
- b _0801973C\n\
-_080196FC:\n\
- ldr r1, _0801970C @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r2, r10\n\
- muls r2, r0\n\
- adds r1, 0x4C\n\
- adds r2, r1\n\
- movs r0, 0\n\
- b _0801973A\n\
- .align 2, 0\n\
-_0801970C: .4byte gBattleMons\n\
-_08019710:\n\
- ldr r1, _08019724 @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r2, r10\n\
- muls r2, r0\n\
- adds r1, 0x50\n\
- adds r2, r1\n\
- ldr r0, [r2]\n\
- movs r1, 0x8\n\
- negs r1, r1\n\
- b _08019738\n\
- .align 2, 0\n\
-_08019724: .4byte gBattleMons\n\
-_08019728:\n\
- ldr r1, _08019778 @ =gBattleMons\n\
- movs r0, 0x58\n\
- mov r2, r10\n\
- muls r2, r0\n\
- adds r1, 0x50\n\
- adds r2, r1\n\
- ldr r0, [r2]\n\
- ldr r1, _0801977C @ =0xfff0ffff\n\
-_08019738:\n\
- ands r0, r1\n\
-_0801973A:\n\
- str r0, [r2]\n\
-_0801973C:\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08019780 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08019784 @ =gUnknown_081D9956\n\
- str r0, [r1]\n\
- ldr r0, _08019788 @ =0x02000000\n\
- ldr r1, _0801978C @ =0x00016003\n\
- adds r0, r1\n\
- mov r2, r10\n\
- strb r2, [r0]\n\
- ldr r4, _08019790 @ =gActiveBank\n\
- strb r2, [r4]\n\
- ldrb r1, [r4]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- ldr r1, _08019794 @ =gUnknown_02024ACC\n\
- adds r0, r1\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x28\n\
- movs r2, 0\n\
- movs r3, 0x4\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- bl _08019F92\n\
- .align 2, 0\n\
-_08019778: .4byte gBattleMons\n\
-_0801977C: .4byte 0xfff0ffff\n\
-_08019780: .4byte gBattlescriptCurrInstr\n\
-_08019784: .4byte gUnknown_081D9956\n\
-_08019788: .4byte 0x02000000\n\
-_0801978C: .4byte 0x00016003\n\
-_08019790: .4byte gActiveBank\n\
-_08019794: .4byte gUnknown_02024ACC\n\
-_08019798:\n\
- mov r0, r10\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r10, r0\n\
- ldr r0, _080197B0 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r10, r0\n\
- bcs _080197AC\n\
- b _08019458\n\
-_080197AC:\n\
- bl _08019F76\n\
- .align 2, 0\n\
-_080197B0: .4byte gNoOfAllBanks\n\
-_080197B4:\n\
- movs r3, 0\n\
- mov r10, r3\n\
- ldr r0, _080197FC @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r10, r0\n\
- bcc _080197C2\n\
- b _08019F76\n\
-_080197C2:\n\
- ldr r4, _08019800 @ =gBattleMons\n\
-_080197C4:\n\
- movs r0, 0x58\n\
- mov r5, r10\n\
- muls r5, r0\n\
- adds r0, r5, 0\n\
- adds r0, r4\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x3B\n\
- bne _080197E8\n\
- mov r0, r10\n\
- bl CastformDataTypeChange\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
- cmp r0, 0\n\
- beq _080197E8\n\
- b _08019E40\n\
-_080197E8:\n\
- mov r0, r10\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r10, r0\n\
- ldr r0, _080197FC @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r10, r0\n\
- bcc _080197C4\n\
- b _08019F76\n\
- .align 2, 0\n\
-_080197FC: .4byte gNoOfAllBanks\n\
-_08019800: .4byte gBattleMons\n\
-_08019804:\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- cmp r0, 0x1C\n\
- beq _0801980E\n\
- b _08019F76\n\
-_0801980E:\n\
- ldr r4, _08019860 @ =gHitMarker\n\
- ldr r1, [r4]\n\
- movs r0, 0x80\n\
- lsls r0, 7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801981E\n\
- b _08019F76\n\
-_0801981E:\n\
- ldr r0, _08019864 @ =0xffffbfff\n\
- ands r1, r0\n\
- str r1, [r4]\n\
- ldr r3, _08019868 @ =0x000160ca\n\
- adds r2, r7, r3\n\
- ldrb r1, [r2]\n\
- movs r0, 0x3F\n\
- ands r0, r1\n\
- strb r0, [r2]\n\
- cmp r0, 0x6\n\
- bne _08019838\n\
- movs r0, 0x2\n\
- strb r0, [r2]\n\
-_08019838:\n\
- ldr r1, _0801986C @ =gBattleCommunication\n\
- ldrb r0, [r2]\n\
- adds r0, 0x40\n\
- strb r0, [r1, 0x3]\n\
- ldr r0, _08019870 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- ldr r5, _08019874 @ =0x00016003\n\
- adds r0, r7, r5\n\
- strb r1, [r0]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08019878 @ =gBattlescriptCurrInstr\n\
- ldr r0, _0801987C @ =BattleScript_SynchronizeActivates\n\
- str r0, [r1]\n\
- ldr r0, [r4]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- orrs r0, r1\n\
- str r0, [r4]\n\
- b _08019F22\n\
- .align 2, 0\n\
-_08019860: .4byte gHitMarker\n\
-_08019864: .4byte 0xffffbfff\n\
-_08019868: .4byte 0x000160ca\n\
-_0801986C: .4byte gBattleCommunication\n\
-_08019870: .4byte gBankTarget\n\
-_08019874: .4byte 0x00016003\n\
-_08019878: .4byte gBattlescriptCurrInstr\n\
-_0801987C: .4byte BattleScript_SynchronizeActivates\n\
-_08019880:\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- cmp r0, 0x1C\n\
- beq _0801988A\n\
- b _08019F76\n\
-_0801988A:\n\
- ldr r4, _080198DC @ =gHitMarker\n\
- ldr r1, [r4]\n\
- movs r0, 0x80\n\
- lsls r0, 7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801989A\n\
- b _08019F76\n\
-_0801989A:\n\
- ldr r0, _080198E0 @ =0xffffbfff\n\
- ands r1, r0\n\
- str r1, [r4]\n\
- ldr r3, _080198E4 @ =0x000160ca\n\
- adds r2, r7, r3\n\
- ldrb r1, [r2]\n\
- movs r0, 0x3F\n\
- ands r0, r1\n\
- strb r0, [r2]\n\
- cmp r0, 0x6\n\
- bne _080198B4\n\
- movs r0, 0x2\n\
- strb r0, [r2]\n\
-_080198B4:\n\
- ldr r1, _080198E8 @ =gBattleCommunication\n\
- ldrb r0, [r2]\n\
- strb r0, [r1, 0x3]\n\
- ldr r0, _080198EC @ =gBankAttacker\n\
- ldrb r1, [r0]\n\
- ldr r5, _080198F0 @ =0x00016003\n\
- adds r0, r7, r5\n\
- strb r1, [r0]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _080198F4 @ =gBattlescriptCurrInstr\n\
- ldr r0, _080198F8 @ =BattleScript_SynchronizeActivates\n\
- str r0, [r1]\n\
- ldr r0, [r4]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- orrs r0, r1\n\
- str r0, [r4]\n\
- b _08019F22\n\
- .align 2, 0\n\
-_080198DC: .4byte gHitMarker\n\
-_080198E0: .4byte 0xffffbfff\n\
-_080198E4: .4byte 0x000160ca\n\
-_080198E8: .4byte gBattleCommunication\n\
-_080198EC: .4byte gBankAttacker\n\
-_080198F0: .4byte 0x00016003\n\
-_080198F4: .4byte gBattlescriptCurrInstr\n\
-_080198F8: .4byte BattleScript_SynchronizeActivates\n\
-_080198FC:\n\
- movs r4, 0\n\
- ldr r0, _08019934 @ =gNoOfAllBanks\n\
- ldrb r1, [r0]\n\
- cmp r4, r1\n\
- blt _08019908\n\
- b _08019F76\n\
-_08019908:\n\
- ldr r0, _08019938 @ =gBattleMons\n\
- adds r5, r1, 0\n\
- ldr r2, _0801993C @ =gStatuses3\n\
- adds r3, r0, 0\n\
- adds r3, 0x20\n\
- movs r6, 0x80\n\
- lsls r6, 12\n\
-_08019916:\n\
- ldrb r1, [r3]\n\
- cmp r1, 0x16\n\
- bne _08019926\n\
- ldr r0, [r2]\n\
- ands r0, r6\n\
- cmp r0, 0\n\
- beq _08019926\n\
- b _08019E6C\n\
-_08019926:\n\
- adds r2, 0x4\n\
- adds r3, 0x58\n\
- adds r4, 0x1\n\
- cmp r4, r5\n\
- blt _08019916\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019934: .4byte gNoOfAllBanks\n\
-_08019938: .4byte gBattleMons\n\
-_0801993C: .4byte gStatuses3\n\
-_08019940:\n\
- movs r4, 0\n\
- ldr r0, _08019A1C @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _0801994C\n\
- b _08019F76\n\
-_0801994C:\n\
- ldr r0, _08019A20 @ =gActiveBank\n\
- mov r8, r0\n\
- ldr r1, _08019A24 @ =gBattleMons\n\
- adds r1, 0x20\n\
- str r1, [sp, 0x1C]\n\
- movs r2, 0\n\
- str r2, [sp, 0x20]\n\
-_0801995A:\n\
- ldr r3, [sp, 0x1C]\n\
- ldrb r0, [r3]\n\
- cmp r0, 0x24\n\
- beq _08019964\n\
- b _08019AF6\n\
-_08019964:\n\
- ldr r0, _08019A28 @ =gStatuses3\n\
- ldr r5, [sp, 0x20]\n\
- adds r0, r5, r0\n\
- ldr r1, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 13\n\
- ands r1, r0\n\
- str r5, [sp, 0x18]\n\
- cmp r1, 0\n\
- bne _0801997A\n\
- b _08019AF6\n\
-_0801997A:\n\
- lsls r0, r4, 24\n\
- lsrs r0, 24\n\
- bl GetBankIdentity\n\
- movs r1, 0x1\n\
- adds r5, r0, 0\n\
- eors r5, r1\n\
- ands r5, r1\n\
- adds r0, r5, 0\n\
- bl GetBankByPlayerAI\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- adds r0, r5, 0x2\n\
- bl GetBankByPlayerAI\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- ldr r0, _08019A2C @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r2, 0x1\n\
- adds r0, r2, 0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080199AE\n\
- b _08019ABC\n\
-_080199AE:\n\
- movs r1, 0x58\n\
- adds r0, r6, 0\n\
- muls r0, r1\n\
- ldr r3, _08019A24 @ =gBattleMons\n\
- adds r1, r0, r3\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _08019A78\n\
- ldrh r0, [r1, 0x28]\n\
- cmp r0, 0\n\
- beq _08019A34\n\
- movs r1, 0x58\n\
- adds r0, r7, 0\n\
- muls r0, r1\n\
- adds r1, r0, r3\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _08019A34\n\
- ldrh r0, [r1, 0x28]\n\
- cmp r0, 0\n\
- beq _08019A34\n\
- str r2, [sp, 0x24]\n\
- bl Random\n\
- ldr r2, [sp, 0x24]\n\
- adds r1, r2, 0\n\
- ands r1, r0\n\
- lsls r1, 1\n\
- orrs r5, r1\n\
- adds r0, r5, 0\n\
- bl GetBankByPlayerAI\n\
- mov r2, r8\n\
- strb r0, [r2]\n\
- ldrb r0, [r2]\n\
- movs r3, 0x58\n\
- muls r0, r3\n\
- ldr r5, _08019A24 @ =gBattleMons\n\
- adds r0, r5\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- ldr r1, [sp, 0x1C]\n\
- strb r0, [r1]\n\
- ldrb r0, [r2]\n\
- muls r0, r3\n\
- adds r0, r5\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- ldr r2, _08019A30 @ =gLastUsedAbility\n\
- strb r0, [r2]\n\
- b _08019AE4\n\
- .align 2, 0\n\
-_08019A1C: .4byte gNoOfAllBanks\n\
-_08019A20: .4byte gActiveBank\n\
-_08019A24: .4byte gBattleMons\n\
-_08019A28: .4byte gStatuses3\n\
-_08019A2C: .4byte gBattleTypeFlags\n\
-_08019A30: .4byte gLastUsedAbility\n\
-_08019A34:\n\
- ldr r3, _08019A74 @ =gBattleMons\n\
- movs r2, 0x58\n\
- adds r0, r6, 0\n\
- muls r0, r2\n\
- adds r1, r0, r3\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _08019A78\n\
- ldrh r0, [r1, 0x28]\n\
- cmp r0, 0\n\
- beq _08019A78\n\
- mov r5, r8\n\
- strb r6, [r5]\n\
- adds r1, r4, 0\n\
- muls r1, r2\n\
- adds r1, r3\n\
- ldrb r0, [r5]\n\
- muls r0, r2\n\
- adds r0, r3\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- adds r1, 0x20\n\
- strb r0, [r1]\n\
- ldrb r0, [r5]\n\
- muls r0, r2\n\
- adds r0, r3\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- b _08019AE0\n\
- .align 2, 0\n\
-_08019A74: .4byte gBattleMons\n\
-_08019A78:\n\
- ldr r3, _08019AB8 @ =gBattleMons\n\
- movs r2, 0x58\n\
- adds r0, r7, 0\n\
- muls r0, r2\n\
- adds r1, r0, r3\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _08019AEE\n\
- ldrh r0, [r1, 0x28]\n\
- cmp r0, 0\n\
- beq _08019AEE\n\
- mov r5, r8\n\
- strb r7, [r5]\n\
- adds r1, r4, 0\n\
- muls r1, r2\n\
- adds r1, r3\n\
- ldrb r0, [r5]\n\
- muls r0, r2\n\
- adds r0, r3\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- adds r1, 0x20\n\
- strb r0, [r1]\n\
- ldrb r0, [r5]\n\
- muls r0, r2\n\
- adds r0, r3\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- b _08019AE0\n\
- .align 2, 0\n\
-_08019AB8: .4byte gBattleMons\n\
-_08019ABC:\n\
- mov r2, r8\n\
- strb r6, [r2]\n\
- movs r3, 0x58\n\
- adds r0, r6, 0\n\
- muls r0, r3\n\
- ldr r5, _08019B10 @ =gBattleMons\n\
- adds r0, r5\n\
- adds r2, r0, 0\n\
- adds r2, 0x20\n\
- ldrb r1, [r2]\n\
- cmp r1, 0\n\
- beq _08019AEE\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- beq _08019AEE\n\
- ldr r0, [sp, 0x1C]\n\
- strb r1, [r0]\n\
- ldrb r0, [r2]\n\
-_08019AE0:\n\
- ldr r1, _08019B14 @ =gLastUsedAbility\n\
- strb r0, [r1]\n\
-_08019AE4:\n\
- mov r0, r9\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019AEE:\n\
- mov r2, r9\n\
- cmp r2, 0\n\
- beq _08019AF6\n\
- b _08019E88\n\
-_08019AF6:\n\
- ldr r3, [sp, 0x1C]\n\
- adds r3, 0x58\n\
- str r3, [sp, 0x1C]\n\
- ldr r5, [sp, 0x20]\n\
- adds r5, 0x4\n\
- str r5, [sp, 0x20]\n\
- adds r4, 0x1\n\
- ldr r0, _08019B18 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- bge _08019B0E\n\
- b _0801995A\n\
-_08019B0E:\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019B10: .4byte gBattleMons\n\
-_08019B14: .4byte gLastUsedAbility\n\
-_08019B18: .4byte gNoOfAllBanks\n\
-_08019B1C:\n\
- movs r4, 0\n\
- ldr r0, _08019B54 @ =gNoOfAllBanks\n\
- ldrb r1, [r0]\n\
- cmp r4, r1\n\
- blt _08019B28\n\
- b _08019F76\n\
-_08019B28:\n\
- ldr r0, _08019B58 @ =gBattleMons\n\
- adds r5, r1, 0\n\
- ldr r2, _08019B5C @ =gStatuses3\n\
- adds r3, r0, 0\n\
- adds r3, 0x20\n\
- movs r6, 0x80\n\
- lsls r6, 12\n\
-_08019B36:\n\
- ldrb r1, [r3]\n\
- cmp r1, 0x16\n\
- bne _08019B46\n\
- ldr r0, [r2]\n\
- ands r0, r6\n\
- cmp r0, 0\n\
- beq _08019B46\n\
- b _08019F04\n\
-_08019B46:\n\
- adds r2, 0x4\n\
- adds r3, 0x58\n\
- adds r4, 0x1\n\
- cmp r4, r5\n\
- blt _08019B36\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019B54: .4byte gNoOfAllBanks\n\
-_08019B58: .4byte gBattleMons\n\
-_08019B5C: .4byte gStatuses3\n\
-_08019B60:\n\
- mov r0, r10\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- movs r4, 0\n\
- ldr r0, _08019BB0 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019B76\n\
- b _08019F76\n\
-_08019B76:\n\
- ldr r7, _08019BB4 @ =gBattleMons\n\
-_08019B78:\n\
- lsls r0, r4, 24\n\
- lsrs r0, 24\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- adds r3, r4, 0x1\n\
- cmp r0, r5\n\
- beq _08019BA2\n\
- movs r0, 0x58\n\
- muls r0, r4\n\
- adds r0, r7\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, r6\n\
- bne _08019BA2\n\
- ldr r0, _08019BB8 @ =gLastUsedAbility\n\
- strb r6, [r0]\n\
- lsls r0, r3, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019BA2:\n\
- adds r4, r3, 0\n\
- ldr r0, _08019BB0 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019B78\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019BB0: .4byte gNoOfAllBanks\n\
-_08019BB4: .4byte gBattleMons\n\
-_08019BB8: .4byte gLastUsedAbility\n\
-_08019BBC:\n\
- mov r0, r10\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- movs r4, 0\n\
- ldr r0, _08019C0C @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019BD2\n\
- b _08019F76\n\
-_08019BD2:\n\
- ldr r7, _08019C10 @ =gBattleMons\n\
-_08019BD4:\n\
- lsls r0, r4, 24\n\
- lsrs r0, 24\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- adds r3, r4, 0x1\n\
- cmp r0, r5\n\
- bne _08019BFE\n\
- movs r0, 0x58\n\
- muls r0, r4\n\
- adds r0, r7\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, r6\n\
- bne _08019BFE\n\
- ldr r0, _08019C14 @ =gLastUsedAbility\n\
- strb r6, [r0]\n\
- lsls r0, r3, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019BFE:\n\
- adds r4, r3, 0\n\
- ldr r0, _08019C0C @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019BD4\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019C0C: .4byte gNoOfAllBanks\n\
-_08019C10: .4byte gBattleMons\n\
-_08019C14: .4byte gLastUsedAbility\n\
-_08019C18:\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- cmp r0, 0xFD\n\
- beq _08019C40\n\
- cmp r0, 0xFE\n\
- beq _08019C78\n\
- movs r4, 0\n\
- ldr r0, _08019C38 @ =gNoOfAllBanks\n\
- adds r5, r0, 0\n\
- ldrb r2, [r5]\n\
- cmp r4, r2\n\
- blt _08019C32\n\
- b _08019F76\n\
-_08019C32:\n\
- ldr r2, _08019C3C @ =gBattleMons\n\
- b _08019CB0\n\
- .align 2, 0\n\
-_08019C38: .4byte gNoOfAllBanks\n\
-_08019C3C: .4byte gBattleMons\n\
-_08019C40:\n\
- movs r4, 0\n\
- ldr r0, _08019C70 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019C4C\n\
- b _08019F76\n\
-_08019C4C:\n\
- ldr r5, _08019C74 @ =gStatuses3\n\
- movs r2, 0x80\n\
- lsls r2, 9\n\
- adds r1, r0, 0\n\
-_08019C54:\n\
- lsls r0, r4, 2\n\
- adds r0, r5\n\
- ldr r0, [r0]\n\
- ands r0, r2\n\
- adds r3, r4, 0x1\n\
- cmp r0, 0\n\
- beq _08019C68\n\
- lsls r0, r3, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019C68:\n\
- adds r4, r3, 0\n\
- cmp r4, r1\n\
- blt _08019C54\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019C70: .4byte gNoOfAllBanks\n\
-_08019C74: .4byte gStatuses3\n\
-_08019C78:\n\
- movs r4, 0\n\
- ldr r0, _08019CA8 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019C84\n\
- b _08019F76\n\
-_08019C84:\n\
- ldr r5, _08019CAC @ =gStatuses3\n\
- movs r2, 0x80\n\
- lsls r2, 10\n\
- adds r1, r0, 0\n\
-_08019C8C:\n\
- lsls r0, r4, 2\n\
- adds r0, r5\n\
- ldr r0, [r0]\n\
- ands r0, r2\n\
- adds r3, r4, 0x1\n\
- cmp r0, 0\n\
- beq _08019CA0\n\
- lsls r0, r3, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019CA0:\n\
- adds r4, r3, 0\n\
- cmp r4, r1\n\
- blt _08019C8C\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019CA8: .4byte gNoOfAllBanks\n\
-_08019CAC: .4byte gStatuses3\n\
-_08019CB0:\n\
- movs r0, 0x58\n\
- muls r0, r4\n\
- adds r0, r2\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- adds r3, r4, 0x1\n\
- cmp r0, r6\n\
- bne _08019CCA\n\
- mov r0, r8\n\
- strb r6, [r0]\n\
- lsls r0, r3, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019CCA:\n\
- adds r4, r3, 0\n\
- ldrb r1, [r5]\n\
- cmp r4, r1\n\
- blt _08019CB0\n\
- b _08019F76\n\
-_08019CD4:\n\
- movs r4, 0\n\
- ldr r0, _08019D10 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019CE0\n\
- b _08019F76\n\
-_08019CE0:\n\
- ldr r7, _08019D14 @ =gBattleMons\n\
- adds r2, r0, 0\n\
- movs r5, 0x58\n\
-_08019CE6:\n\
- adds r0, r4, 0\n\
- muls r0, r5\n\
- adds r1, r0, r7\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- adds r3, r4, 0x1\n\
- cmp r0, r6\n\
- bne _08019D08\n\
- ldrh r0, [r1, 0x28]\n\
- cmp r0, 0\n\
- beq _08019D08\n\
- mov r0, r8\n\
- strb r6, [r0]\n\
- lsls r0, r3, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019D08:\n\
- adds r4, r3, 0\n\
- cmp r4, r2\n\
- blt _08019CE6\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019D10: .4byte gNoOfAllBanks\n\
-_08019D14: .4byte gBattleMons\n\
-_08019D18:\n\
- movs r4, 0\n\
- ldr r0, _08019D50 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019D24\n\
- b _08019F76\n\
-_08019D24:\n\
- ldr r7, _08019D54 @ =gBattleMons\n\
- adds r1, r0, 0\n\
- movs r5, 0x58\n\
- ldr r2, _08019D58 @ =gLastUsedAbility\n\
-_08019D2C:\n\
- adds r0, r4, 0\n\
- muls r0, r5\n\
- adds r0, r7\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- adds r3, r4, 0x1\n\
- cmp r0, r6\n\
- bne _08019D48\n\
- cmp r4, r10\n\
- beq _08019D48\n\
- strb r6, [r2]\n\
- lsls r0, r3, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019D48:\n\
- adds r4, r3, 0\n\
- cmp r4, r1\n\
- blt _08019D2C\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019D50: .4byte gNoOfAllBanks\n\
-_08019D54: .4byte gBattleMons\n\
-_08019D58: .4byte gLastUsedAbility\n\
-_08019D5C:\n\
- mov r0, r10\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- movs r4, 0\n\
- ldr r0, _08019DAC @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019D72\n\
- b _08019F76\n\
-_08019D72:\n\
- ldr r7, _08019DB0 @ =gBattleMons\n\
-_08019D74:\n\
- lsls r0, r4, 24\n\
- lsrs r0, 24\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, r5\n\
- beq _08019DA0\n\
- movs r0, 0x58\n\
- muls r0, r4\n\
- adds r0, r7\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, r6\n\
- bne _08019DA0\n\
- ldr r0, _08019DB4 @ =gLastUsedAbility\n\
- strb r6, [r0]\n\
- mov r0, r9\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019DA0:\n\
- adds r4, 0x1\n\
- ldr r0, _08019DAC @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019D74\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019DAC: .4byte gNoOfAllBanks\n\
-_08019DB0: .4byte gBattleMons\n\
-_08019DB4: .4byte gLastUsedAbility\n\
-_08019DB8:\n\
- mov r0, r10\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- movs r4, 0\n\
- ldr r0, _08019E08 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019DCE\n\
- b _08019F76\n\
-_08019DCE:\n\
- ldr r7, _08019E0C @ =gBattleMons\n\
-_08019DD0:\n\
- lsls r0, r4, 24\n\
- lsrs r0, 24\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, r5\n\
- bne _08019DFC\n\
- movs r0, 0x58\n\
- muls r0, r4\n\
- adds r0, r7\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, r6\n\
- bne _08019DFC\n\
- ldr r0, _08019E10 @ =gLastUsedAbility\n\
- strb r6, [r0]\n\
- mov r0, r9\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019DFC:\n\
- adds r4, 0x1\n\
- ldr r0, _08019E08 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- blt _08019DD0\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019E08: .4byte gNoOfAllBanks\n\
-_08019E0C: .4byte gBattleMons\n\
-_08019E10: .4byte gLastUsedAbility\n\
-_08019E14:\n\
- ldr r0, _08019E30 @ =BattleScript_CastformChange\n\
- bl b_push_move_exec\n\
- ldr r0, _08019E34 @ =0x02000000\n\
- ldr r2, _08019E38 @ =0x00016003\n\
- adds r1, r0, r2\n\
- strb r6, [r1]\n\
- mov r1, r9\n\
- subs r1, 0x1\n\
- ldr r3, _08019E3C @ =0x0001609b\n\
- adds r0, r3\n\
- strb r1, [r0]\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019E30: .4byte BattleScript_CastformChange\n\
-_08019E34: .4byte 0x02000000\n\
-_08019E38: .4byte 0x00016003\n\
-_08019E3C: .4byte 0x0001609b\n\
-_08019E40:\n\
- ldr r0, _08019E5C @ =BattleScript_CastformChange\n\
- bl b_push_move_exec\n\
- ldr r0, _08019E60 @ =0x02000000\n\
- ldr r5, _08019E64 @ =0x00016003\n\
- adds r1, r0, r5\n\
- mov r2, r10\n\
- strb r2, [r1]\n\
- mov r1, r9\n\
- subs r1, 0x1\n\
- ldr r3, _08019E68 @ =0x0001609b\n\
- adds r0, r3\n\
- strb r1, [r0]\n\
- b _08019F92\n\
- .align 2, 0\n\
-_08019E5C: .4byte BattleScript_CastformChange\n\
-_08019E60: .4byte 0x02000000\n\
-_08019E64: .4byte 0x00016003\n\
-_08019E68: .4byte 0x0001609b\n\
-_08019E6C:\n\
- mov r5, r8\n\
- strb r1, [r5]\n\
- ldr r0, [r2]\n\
- ldr r1, _08019E80 @ =0xfff7ffff\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- ldr r0, _08019E84 @ =gUnknown_081D978C\n\
- bl b_push_move_exec\n\
- b _08019F1A\n\
- .align 2, 0\n\
-_08019E80: .4byte 0xfff7ffff\n\
-_08019E84: .4byte gUnknown_081D978C\n\
-_08019E88:\n\
- ldr r0, _08019EDC @ =BattleScript_TraceActivates\n\
- bl b_push_move_exec\n\
- ldr r1, _08019EE0 @ =gStatuses3\n\
- ldr r2, [sp, 0x18]\n\
- adds r1, r2, r1\n\
- ldr r0, [r1]\n\
- ldr r2, _08019EE4 @ =0xffefffff\n\
- ands r0, r2\n\
- str r0, [r1]\n\
- ldr r0, _08019EE8 @ =0x02000000\n\
- ldr r3, _08019EEC @ =0x00016003\n\
- adds r0, r3\n\
- strb r4, [r0]\n\
- ldr r1, _08019EF0 @ =gBattleTextBuff1\n\
- movs r4, 0xFD\n\
- strb r4, [r1]\n\
- movs r0, 0x4\n\
- strb r0, [r1, 0x1]\n\
- ldr r2, _08019EF4 @ =gActiveBank\n\
- ldrb r0, [r2]\n\
- strb r0, [r1, 0x2]\n\
- ldr r3, _08019EF8 @ =gBattlePartyID\n\
- ldrb r0, [r2]\n\
- lsls r0, 1\n\
- adds r0, r3\n\
- ldrh r0, [r0]\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x4]\n\
- ldr r1, _08019EFC @ =gBattleTextBuff2\n\
- strb r4, [r1]\n\
- movs r0, 0x9\n\
- strb r0, [r1, 0x1]\n\
- ldr r0, _08019F00 @ =gLastUsedAbility\n\
- ldrb r0, [r0]\n\
- strb r0, [r1, 0x2]\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- strb r0, [r1, 0x3]\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019EDC: .4byte BattleScript_TraceActivates\n\
-_08019EE0: .4byte gStatuses3\n\
-_08019EE4: .4byte 0xffefffff\n\
-_08019EE8: .4byte 0x02000000\n\
-_08019EEC: .4byte 0x00016003\n\
-_08019EF0: .4byte gBattleTextBuff1\n\
-_08019EF4: .4byte gActiveBank\n\
-_08019EF8: .4byte gBattlePartyID\n\
-_08019EFC: .4byte gBattleTextBuff2\n\
-_08019F00: .4byte gLastUsedAbility\n\
-_08019F04:\n\
- mov r5, r8\n\
- strb r1, [r5]\n\
- ldr r0, [r2]\n\
- ldr r1, _08019F30 @ =0xfff7ffff\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08019F34 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08019F38 @ =gUnknown_081D9795\n\
- str r0, [r1]\n\
-_08019F1A:\n\
- ldr r0, _08019F3C @ =0x02000000\n\
- ldr r1, _08019F40 @ =0x000160dd\n\
- adds r0, r1\n\
- strb r4, [r0]\n\
-_08019F22:\n\
- mov r0, r9\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
- b _08019F76\n\
- .align 2, 0\n\
-_08019F30: .4byte 0xfff7ffff\n\
-_08019F34: .4byte gBattlescriptCurrInstr\n\
-_08019F38: .4byte gUnknown_081D9795\n\
-_08019F3C: .4byte 0x02000000\n\
-_08019F40: .4byte 0x000160dd\n\
-_08019F44:\n\
- movs r4, 0\n\
- ldr r0, _08019FA4 @ =gNoOfAllBanks\n\
- ldrb r1, [r0]\n\
- cmp r4, r1\n\
- bge _08019F76\n\
- ldr r0, _08019FA8 @ =gBattleMons\n\
- adds r2, r1, 0\n\
- adds r1, r0, 0\n\
- adds r1, 0x20\n\
- ldr r3, _08019FAC @ =gLastUsedAbility\n\
-_08019F58:\n\
- ldrb r0, [r1]\n\
- cmp r0, r6\n\
- bne _08019F6E\n\
- cmp r4, r10\n\
- beq _08019F6E\n\
- strb r6, [r3]\n\
- mov r0, r9\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
-_08019F6E:\n\
- adds r1, 0x58\n\
- adds r4, 0x1\n\
- cmp r4, r2\n\
- blt _08019F58\n\
-_08019F76:\n\
- mov r2, r9\n\
- cmp r2, 0\n\
- beq _08019F92\n\
-_08019F7C:\n\
- ldr r3, [sp, 0x4]\n\
- cmp r3, 0xB\n\
- bhi _08019F92\n\
- ldr r1, _08019FAC @ =gLastUsedAbility\n\
- ldrb r0, [r1]\n\
- cmp r0, 0xFF\n\
- beq _08019F92\n\
- adds r1, r0, 0\n\
- mov r0, r10\n\
- bl RecordAbilityBattle\n\
-_08019F92:\n\
- mov r0, r9\n\
- add sp, 0x28\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\
- .align 2, 0\n\
-_08019FA4: .4byte gNoOfAllBanks\n\
-_08019FA8: .4byte gBattleMons\n\
-_08019FAC: .4byte gLastUsedAbility\n\
- .syntax divided");
-}
-
-#endif // NONMATCHING
-
void b_call_bc_move_exec(u8* BS_ptr)
{
gBattlescriptCurrInstr = BS_ptr;
diff --git a/src/battle_4.c b/src/battle/battle_4.c
index 65ea765cf..65e0458a2 100644
--- a/src/battle_4.c
+++ b/src/battle/battle_4.c
@@ -93,6 +93,7 @@ extern u16 gUnknown_02024C2C[4]; //last used moves 2, used by sketch
extern u16 gUnknown_030041B0;
extern u16 gUnknown_02024C4C[4]; //last used moves by banks, another one
extern u8 gCurrentMoveTurn;
+extern u16 gTrappingMoves[];
//extern functions
u8 AtkCanceller_UnableToUseMove(void);
@@ -122,7 +123,7 @@ bool8 IsTradedMon(struct Pokemon*);
void b_movescr_stack_pop_cursor(void);
void SwitchInClearStructs(void);
u8* ConvertIntToDecimalStringN(u8*, s32, u8, u8);
-u8 GetNationalPokedexFlag(u16 nationalNum, u8 caseID);
+u8 GetSetPokedexFlag(u16 nationalNum, u8 caseID);
u16 SpeciesToNationalPokedexNum(u16 species);
u8 sub_803FC34(u8 bank);
u16 sub_803FBFC(u8 a);
@@ -199,6 +200,9 @@ extern u8 BattleScript_TrainerBallBlock[];
extern u8 BattleScript_WallyBallThrow[];
extern u8 BattleScript_SuccessBallThrow[];
extern u8 BattleScript_ShakeBallThrow[];
+extern u8 BattleScript_AllStatsUp[];
+extern u8 BattleScript_AtkDefDown[];
+extern u8 BattleScript_SAtkDown2[];
extern u8 gUnknown_081D919F[]; //spikes1
extern u8 gUnknown_081D9171[]; //spikes2
@@ -211,17 +215,10 @@ extern u8 BattleScript_CastformChange[];
extern u8 gUnknown_081D9834[];
extern u8 gUnknown_081D90FC[]; //bs random switchout
extern u8 gUnknown_081D95DB[]; //bs payday money give
-
-//useful macros
-//read via orr
-#define BSScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
-#define BSScriptRead8(ptr) (((u8)((ptr)[0])))
-#define BSScriptReadPtr(ptr) ((void *)BSScriptRead32(ptr))
-
-//read via add
-#define BS2ScriptRead32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
-#define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8))
-#define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr))
+extern u8 gUnknown_081D8C58[];
+extern u8 gUnknown_081D8C65[];
+extern u8 gUnknown_081D9156[];
+extern u8 gUnknown_081D9468[];
#define TargetProtectAffected ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED))
@@ -408,6 +405,7 @@ static void atk85_stockpile(void);
static void atk86_stockpiletobasedamage(void);
static void atk87_stockpiletohpheal(void);
static void atk88_negativedamage(void);
+static u8 ChangeStatBuffs(s8, u8, u8, u8*);
static void atk89_statbuffchange(void);
static void atk8A_normalisebuffs(void);
static void atk8B_setbide(void);
@@ -862,19 +860,19 @@ static const u32 gStatusFlagsForMoveEffects[] =
0x00000000
};
-extern const u8 BattleScript_1D963E[];
-extern const u8 BattleScript_1D965A[];
-extern const u8 BattleScript_1D9669[];
-extern const u8 BattleScript_1D9678[];
-extern const u8 BattleScript_1D9687[];
-extern const u8 BattleScript_1D969D[];
-extern const u8 BattleScript_1D96BA[];
-extern const u8 BattleScript_1D9696[];
-extern const u8 BattleScript_1D96B1[];
-extern const u8 BattleScript_1D96AA[];
-extern const u8 BattleScript_1D96C8[];
+extern u8 BattleScript_1D963E[];
+extern u8 BattleScript_1D965A[];
+extern u8 BattleScript_1D9669[];
+extern u8 BattleScript_1D9678[];
+extern u8 BattleScript_1D9687[];
+extern u8 BattleScript_1D969D[];
+extern u8 BattleScript_1D96BA[];
+extern u8 BattleScript_1D9696[];
+extern u8 BattleScript_1D96B1[];
+extern u8 BattleScript_1D96AA[];
+extern u8 BattleScript_1D96C8[];
-const u8* const gMoveEffectBS_Ptrs[] =
+u8* const gMoveEffectBS_Ptrs[] =
{
BattleScript_1D963E,
BattleScript_1D963E,
@@ -919,7 +917,7 @@ const u8* const gMoveEffectBS_Ptrs[] =
const u8 sUnreferencedBitMask1[] = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
-const u8 gLevelUpStatBoxStats[] = {MON_DATA_MAX_HP, MON_DATA_SPATK, MON_DATA_ATK, MON_DATA_SPDEF, MON_DATA_DEF, MON_DATA_SPD};
+const u8 gLevelUpStatBoxStats[] = {MON_DATA_MAX_HP, MON_DATA_SPATK, MON_DATA_ATK, MON_DATA_SPDEF, MON_DATA_DEF, MON_DATA_SPEED};
static const u16 sProtectSuccessRates[] = {0xFFFF, 0x7FFF, 0x3FFF, 0x1FFF};
@@ -947,7 +945,7 @@ static const u16 sUnknown_081FACFE[] = //banned moves to copy
0xFFFF
};
-static const u8 sUnknown_081FAD26[] =
+static const u8 sUnknown_081FAD26[] = //reversal+flail HP thresholds to power
{
1, 200,
4, 150,
@@ -1109,7 +1107,7 @@ static void JumpIfMoveFailed(u8 adder, u16 move)
{
gMoveHitWith[gBankTarget] = 0;
gUnknown_02024C44[gBankTarget] = 0;
- to_store = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ to_store = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -1190,13 +1188,13 @@ static bool8 AccuracyCalcHelper(u16 move)
static void atk01_accuracycheck(void)
{
- u16 move = BS2ScriptRead16(gBattlescriptCurrInstr + 5);
+ u16 move = T2_READ_16(gBattlescriptCurrInstr + 5);
if (move == 0xFFFE || move == 0xFFFF)
{
if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker)
gBattlescriptCurrInstr += 7;
else if (gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else if (!JumpIfMoveAffectedByProtect(0))
gBattlescriptCurrInstr += 7;
}
@@ -1445,73 +1443,71 @@ static void atk06_typecalc(void)
{
int i = 0;
u8 move_type;
- if (gCurrentMove == MOVE_STRUGGLE) {goto END;}
-
- if (BATTLE_STRUCT->dynamicMoveType)
- move_type = BATTLE_STRUCT->dynamicMoveType & 0x3F;
- else
- move_type = gBattleMoves[gCurrentMove].type;
-
- //check stab
- if (gBattleMons[gBankAttacker].type1 == move_type || gBattleMons[gBankAttacker].type2 == move_type)
+ if (gCurrentMove != MOVE_STRUGGLE)
{
- gBattleMoveDamage = gBattleMoveDamage * 15;
- gBattleMoveDamage = gBattleMoveDamage / 10;
- }
+ if (BATTLE_STRUCT->dynamicMoveType)
+ move_type = BATTLE_STRUCT->dynamicMoveType & 0x3F;
+ else
+ move_type = gBattleMoves[gCurrentMove].type;
- if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND)
- {
- gLastUsedAbility = gBattleMons[gBankTarget].ability;
- gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED);
- gMoveHitWith[gBankTarget] = 0;
- gUnknown_02024C44[gBankTarget] = 0;
- gBattleCommunication[6] = move_type;
- RecordAbilityBattle(gBankTarget, gLastUsedAbility);
- }
- else
- {
- while (gTypeEffectiveness[i]!= TYPE_ENDTABLE)
+ //check stab
+ if (gBattleMons[gBankAttacker].type1 == move_type || gBattleMons[gBankAttacker].type2 == move_type)
{
- if (gTypeEffectiveness[i] == TYPE_FORESIGHT)
- {
- if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT)
- break;
- i += 3;
- continue;
- }
+ gBattleMoveDamage = gBattleMoveDamage * 15;
+ gBattleMoveDamage = gBattleMoveDamage / 10;
+ }
- else if (gTypeEffectiveness[i] == move_type)
+ if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND)
+ {
+ gLastUsedAbility = gBattleMons[gBankTarget].ability;
+ gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED);
+ gMoveHitWith[gBankTarget] = 0;
+ gUnknown_02024C44[gBankTarget] = 0;
+ gBattleCommunication[6] = move_type;
+ RecordAbilityBattle(gBankTarget, gLastUsedAbility);
+ }
+ else
+ {
+ while (gTypeEffectiveness[i]!= TYPE_ENDTABLE)
{
- //check type1
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1)
- ModulateDmgByType(gTypeEffectiveness[i + 2]);
- //check type2
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 &&
- gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2)
- ModulateDmgByType(gTypeEffectiveness[i + 2]);
+ if (gTypeEffectiveness[i] == TYPE_FORESIGHT)
+ {
+ if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT)
+ break;
+ i += 3;
+ continue;
+ }
+
+ else if (gTypeEffectiveness[i] == move_type)
+ {
+ //check type1
+ if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1)
+ ModulateDmgByType(gTypeEffectiveness[i + 2]);
+ //check type2
+ if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 &&
+ gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2)
+ ModulateDmgByType(gTypeEffectiveness[i + 2]);
+ }
+ i += 3;
}
- i += 3;
}
- }
- if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2
- && (!(gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) || ((gBattleMoveFlags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)))
- && gBattleMoves[gCurrentMove].power)
- {
- gLastUsedAbility = ABILITY_WONDER_GUARD;
- gBattleMoveFlags |= MOVESTATUS_MISSED;
- gMoveHitWith[gBankTarget] = 0;
- gUnknown_02024C44[gBankTarget] = 0;
- gBattleCommunication[6] = 3;
- RecordAbilityBattle(gBankTarget, gLastUsedAbility);
+ if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2
+ && (!(gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) || ((gBattleMoveFlags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)))
+ && gBattleMoves[gCurrentMove].power)
+ {
+ gLastUsedAbility = ABILITY_WONDER_GUARD;
+ gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveHitWith[gBankTarget] = 0;
+ gUnknown_02024C44[gBankTarget] = 0;
+ gBattleCommunication[6] = 3;
+ RecordAbilityBattle(gBankTarget, gLastUsedAbility);
+ }
+ if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
+ gProtectStructs[gBankAttacker].notEffective = 1;
}
- if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
- gProtectStructs[gBankAttacker].notEffective = 1;
-
- END:
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
-
static void b_wonderguard_and_levitate(void)
{
u8 flags = 0;
@@ -1620,7 +1616,6 @@ static void ModulateDmgByType2(u8 multiplier, u16 move, u8* flags) //a literal c
}
}
-#ifdef NONMATCHING
u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def)
{
int i = 0;
@@ -1662,7 +1657,7 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def)
ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags);
//check type2
if (gTypeEffectiveness[i + 1] == gBattleMons[bank_def].type2 &&
- gBattleMons[bank_def].type1 != gBattleMons[bank_def].type2)
+ gBattleMons[gBankTarget /* what the christ */].type1 != gBattleMons[bank_def].type2)
ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags);
}
i += 3;
@@ -1678,254 +1673,6 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def)
}
return flags;
}
-#else
-__attribute__((naked))
-u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def)
-{
- 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, 0x14\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- mov r10, r0\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- str r1, [sp, 0x4]\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- mov r9, r2\n\
- movs r7, 0\n\
- mov r0, sp\n\
- strb r7, [r0]\n\
- mov r0, r10\n\
- cmp r0, 0xA5\n\
- bne _0801D2AE\n\
- movs r0, 0\n\
- b _0801D43A\n\
- _0801D2AE:\n\
- ldr r1, _0801D31C @ =gBattleMoves\n\
- mov r3, r10\n\
- lsls r2, r3, 1\n\
- adds r0, r2, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x2]\n\
- str r0, [sp, 0x8]\n\
- ldr r1, _0801D320 @ =gBattleMons\n\
- movs r0, 0x58\n\
- ldr r3, [sp, 0x4]\n\
- muls r0, r3\n\
- adds r3, r0, r1\n\
- adds r0, r3, 0\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- str r2, [sp, 0xC]\n\
- adds r5, r1, 0\n\
- ldr r1, [sp, 0x8]\n\
- cmp r0, r1\n\
- beq _0801D2E2\n\
- adds r0, r3, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, r1\n\
- bne _0801D2F4\n\
- _0801D2E2:\n\
- ldr r4, _0801D324 @ =gBattleMoveDamage\n\
- ldr r1, [r4]\n\
- lsls r0, r1, 4\n\
- subs r0, r1\n\
- str r0, [r4]\n\
- movs r1, 0xA\n\
- bl __divsi3\n\
- str r0, [r4]\n\
- _0801D2F4:\n\
- movs r0, 0x58\n\
- mov r2, r9\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- adds r0, r5\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x1A\n\
- bne _0801D328\n\
- ldr r3, [sp, 0x8]\n\
- cmp r3, 0x4\n\
- bne _0801D328\n\
- movs r1, 0x9\n\
- mov r0, sp\n\
- ldrb r0, [r0]\n\
- orrs r0, r1\n\
- mov r1, sp\n\
- strb r0, [r1]\n\
- b _0801D3DC\n\
- .align 2, 0\n\
- _0801D31C: .4byte gBattleMoves\n\
- _0801D320: .4byte gBattleMons\n\
- _0801D324: .4byte gBattleMoveDamage\n\
- _0801D328:\n\
- ldr r1, _0801D344 @ =gTypeEffectiveness\n\
- adds r0, r7, r1\n\
- ldrb r0, [r0]\n\
- adds r2, r1, 0\n\
- cmp r0, 0xFF\n\
- beq _0801D3DC\n\
- cmp r0, 0xFE\n\
- bne _0801D34C\n\
- movs r0, 0x58\n\
- mov r1, r9\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- b _0801D3CA\n\
- .align 2, 0\n\
- _0801D344: .4byte gTypeEffectiveness\n\
- _0801D348:\n\
- adds r7, 0x3\n\
- b _0801D3B6\n\
- _0801D34C:\n\
- ldr r6, _0801D44C @ =gTypeEffectiveness\n\
- adds r0, r7, r6\n\
- ldrb r0, [r0]\n\
- ldr r2, [sp, 0x8]\n\
- cmp r0, r2\n\
- bne _0801D3B0\n\
- adds r1, r7, 0x1\n\
- adds r1, r6\n\
- ldr r3, _0801D450 @ =gBattleMons\n\
- mov r8, r3\n\
- movs r3, 0x58\n\
- mov r0, r9\n\
- muls r0, r3\n\
- mov r2, r8\n\
- adds r5, r0, r2\n\
- adds r0, r5, 0\n\
- adds r0, 0x21\n\
- ldrb r4, [r1]\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- bne _0801D388\n\
- adds r0, r7, 0x2\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- mov r1, r10\n\
- mov r2, sp\n\
- str r3, [sp, 0x10]\n\
- bl ModulateDmgByType2\n\
- ldr r3, [sp, 0x10]\n\
- _0801D388:\n\
- adds r0, r5, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- bne _0801D3B0\n\
- ldr r0, _0801D454 @ =gBankTarget\n\
- ldrb r0, [r0]\n\
- muls r0, r3\n\
- add r0, r8\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- cmp r0, r4\n\
- beq _0801D3B0\n\
- adds r0, r7, 0x2\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- mov r1, r10\n\
- mov r2, sp\n\
- bl ModulateDmgByType2\n\
- _0801D3B0:\n\
- adds r7, 0x3\n\
- ldr r5, _0801D450 @ =gBattleMons\n\
- ldr r2, _0801D44C @ =gTypeEffectiveness\n\
- _0801D3B6:\n\
- adds r0, r7, r2\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xFF\n\
- beq _0801D3DC\n\
- cmp r0, 0xFE\n\
- bne _0801D34C\n\
- movs r0, 0x58\n\
- mov r3, r9\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- _0801D3CA:\n\
- adds r1, r5, 0\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 22\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801D348\n\
- _0801D3DC:\n\
- movs r0, 0x58\n\
- mov r1, r9\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r0, r5\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x19\n\
- bne _0801D436\n\
- mov r0, sp\n\
- ldrb r1, [r0]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801D436\n\
- ldr r0, [sp, 0x4]\n\
- mov r1, r10\n\
- bl AttacksThisTurn\n\
- lsls r0, 24\n\
- lsrs r1, r0, 24\n\
- cmp r1, 0x2\n\
- bne _0801D436\n\
- mov r0, sp\n\
- ldrb r3, [r0]\n\
- adds r0, r1, 0\n\
- ands r0, r3\n\
- cmp r0, 0\n\
- beq _0801D41E\n\
- movs r0, 0x6\n\
- ands r0, r3\n\
- cmp r0, 0x6\n\
- bne _0801D436\n\
- _0801D41E:\n\
- ldr r0, _0801D458 @ =gBattleMoves\n\
- ldr r1, [sp, 0xC]\n\
- add r1, r10\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- cmp r0, 0\n\
- beq _0801D436\n\
- mov r0, sp\n\
- movs r1, 0x1\n\
- orrs r1, r3\n\
- strb r1, [r0]\n\
- _0801D436:\n\
- mov r0, sp\n\
- ldrb r0, [r0]\n\
- _0801D43A:\n\
- add sp, 0x14\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\
- .align 2, 0\n\
- _0801D44C: .4byte gTypeEffectiveness\n\
- _0801D450: .4byte gBattleMons\n\
- _0801D454: .4byte gBankTarget\n\
- _0801D458: .4byte gBattleMoves\n\
- .syntax divided\n");
-}
-#endif // NONMATCHING
u8 AI_TypeCalc(u16 move, u16 species, u8 ability)
{
@@ -2132,7 +1879,7 @@ static void atk0B_healthbarupdate(void)
if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
goto END;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE))
{
@@ -2171,7 +1918,7 @@ static void atk0C_datahpupdate(void)
if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE))
{
if (gDisableStructs[gActiveBank].substituteHP >= gBattleMoveDamage)
@@ -2216,7 +1963,7 @@ static void atk0C_datahpupdate(void)
else
{
gTakenDmg[gActiveBank] += gBattleMoveDamage;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
gTakenDmgBanks[gActiveBank] = gBankAttacker;
else
gTakenDmgBanks[gActiveBank] = gBankTarget;
@@ -2240,7 +1987,7 @@ static void atk0C_datahpupdate(void)
{
gProtectStructs[gActiveBank].physicalDmg = gHP_dealt;
gSpecialStatuses[gActiveBank].moveturnLostHP_physical = gHP_dealt;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
{
gProtectStructs[gActiveBank].physicalBank = gBankAttacker;
gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankAttacker;
@@ -2255,7 +2002,7 @@ static void atk0C_datahpupdate(void)
{
gProtectStructs[gActiveBank].specialDmg = gHP_dealt;
gSpecialStatuses[gActiveBank].moveturnLostHP_special = gHP_dealt;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
{
gProtectStructs[gActiveBank].specialBank = gBankAttacker;
gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankAttacker;
@@ -2274,7 +2021,7 @@ static void atk0C_datahpupdate(void)
}
else
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0)
gSpecialStatuses[gActiveBank].moveturnLostHP = 0xFFFF;
}
@@ -2429,7 +2176,7 @@ static void atk10_printstring(void)
{
if (gBattleExecBuffer == 0)
{
- u16 var = BS2ScriptRead16(gBattlescriptCurrInstr + 1);
+ u16 var = T2_READ_16(gBattlescriptCurrInstr + 1);
PrepareStringBattle(var, gBankAttacker);
gBattlescriptCurrInstr += 3;
gBattleCommunication[MSG_DISPLAY] = 1;
@@ -2439,7 +2186,7 @@ static void atk10_printstring(void)
static void atk11_printstring_playeronly(void)
{
gActiveBank = gBankAttacker;
- EmitPrintStringPlayerOnly(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ EmitPrintStringPlayerOnly(0, T2_READ_16(gBattlescriptCurrInstr + 1));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
gBattleCommunication[MSG_DISPLAY] = 1;
@@ -2455,7 +2202,7 @@ static void atk12_waitmessage(void)
}
else
{
- u16 to_wait = BS2ScriptRead16(gBattlescriptCurrInstr + 1);
+ u16 to_wait = T2_READ_16(gBattlescriptCurrInstr + 1);
if (++gPauseCounterBattle >= to_wait)
{
gPauseCounterBattle = 0;
@@ -2470,7 +2217,7 @@ static void atk13_printfromtable(void)
{
if (gBattleExecBuffer == 0)
{
- u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1);
ptr += gBattleCommunication[MULTISTRING_CHOOSER];
PrepareStringBattle(*(u16*)ptr, gBankAttacker);
gBattlescriptCurrInstr += 5;
@@ -2482,7 +2229,7 @@ static void atk14_printfromtable_playeronly(void)
{
if (gBattleExecBuffer == 0)
{
- u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); // FIXME
ptr += gBattleCommunication[MULTISTRING_CHOOSER];
gActiveBank = gBankAttacker;
EmitPrintStringPlayerOnly(0, *(u16*)ptr);
@@ -2510,7 +2257,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
#define EffectAffectsUser 0x40
register u8 certain asm("r5") = certainArg;
register bool32 StatusChanged asm("r10") = 0;
- register int AffectsUser asm("r6") = 0; //0x40 otherwise
+ register int AffectsUser asm("r6") = 0; //0x40 otherwise
bool32 NoSunCanFreeze = 1;
if (gBattleCommunication[MOVE_EFFECT_BYTE] & EffectAffectsUser)
@@ -2526,16 +2273,16 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
BATTLE_STRUCT->scriptingActive = gBankAttacker;
}
- if (gBattleMons[gEffectBank].ability_id == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) &&
+ if (gBattleMons[gEffectBank].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) &&
!primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 9)
{gBattlescriptCurrInstr++; return;}
- if (gSideAffecting[get_bank_identity(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) &&
+ if (gSideAffecting[GetBankIdentity(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) &&
!primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 7)
{gBattlescriptCurrInstr++; return;}
//make sure at least ONE HP except payday and thief
- if (gBattleMons[gEffectBank].current_hp == 0 && gBattleCommunication[MOVE_EFFECT_BYTE] != 0xB && gBattleCommunication[MOVE_EFFECT_BYTE] != 0x1F)
+ if (gBattleMons[gEffectBank].hp == 0 && gBattleCommunication[MOVE_EFFECT_BYTE] != 0xB && gBattleCommunication[MOVE_EFFECT_BYTE] != 0x1F)
{gBattlescriptCurrInstr++; return;}
if (gBattleMons[gEffectBank].status2 & STATUS2_SUBSTITUTE && AffectsUser != EffectAffectsUser)
@@ -2547,81 +2294,82 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
{
case STATUS_SLEEP:
//check active uproar
- if (gBattleMons[gEffectBank].ability_id != ABILITY_SOUNDPROOF)
+ if (gBattleMons[gEffectBank].ability != ABILITY_SOUNDPROOF)
{
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks && !(gBattleMons[gActiveBank].status2 & STATUS2_UPROAR); gActiveBank++) {}
}
else
gActiveBank = gNoOfAllBanks;
- if (gBattleMons[gEffectBank].status) {break;}
+ if (gBattleMons[gEffectBank].status1) {break;}
if (gActiveBank != gNoOfAllBanks) {break;} //nice way of checking uproar...
- if (gBattleMons[gEffectBank].ability_id == ABILITY_VITAL_SPIRIT) {break;}
- if (gBattleMons[gEffectBank].ability_id == ABILITY_INSOMNIA) {break;}
+ if (gBattleMons[gEffectBank].ability == ABILITY_VITAL_SPIRIT) {break;}
+ if (gBattleMons[gEffectBank].ability == ABILITY_INSOMNIA) {break;}
- b_cancel_multi_turn_move_maybe(gEffectBank);
+ CancelMultiTurnMoves(gEffectBank);
StatusChanged = 1;
break;
case STATUS_POISON:
- if (gBattleMons[gEffectBank].ability_id == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80))
+ if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80))
{
gLastUsedAbility = ABILITY_IMMUNITY;
- RecordAbility(gEffectBank, ABILITY_IMMUNITY);
+ RecordAbilityBattle(gEffectBank, ABILITY_IMMUNITY);
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
//_0801E664:
- gBattlescriptCurrInstr = BS_PSN_PREVENTION;
+ gBattlescriptCurrInstr = BattleScript_PSNPrevention;
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
{
- gBattleCommunication.multistring_chooser = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
return;
}
else
- {gBattleCommunication.multistring_chooser = 0; return;}
+ {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;}
}
if ((gBattleMons[gEffectBank].type1 == TYPE_POISON || gBattleMons[gEffectBank].type2 == TYPE_POISON || gBattleMons[gEffectBank].type1 == TYPE_STEEL || gBattleMons[gEffectBank].type2 == TYPE_STEEL)
&& !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80))
{
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_PSN_PREVENTION;
- gBattleCommunication.multistring_chooser = 2;
+ gBattlescriptCurrInstr = BattleScript_PSNPrevention;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
return;
}
if (gBattleMons[gEffectBank].type1 == TYPE_POISON) {break;}
if (gBattleMons[gEffectBank].type2 == TYPE_POISON) {break;}
if (gBattleMons[gEffectBank].type1 == TYPE_STEEL) {break;}
if (gBattleMons[gEffectBank].type2 == TYPE_STEEL) {break;}
- if (gBattleMons[gEffectBank].status) {break;}
- if (gBattleMons[gEffectBank].ability_id == ABILITY_IMMUNITY) {break;}
+ if (gBattleMons[gEffectBank].status1) {break;}
+ if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY) {break;}
+
StatusChanged = 1;
break;
case STATUS_BURN:
- if (gBattleMons[gEffectBank].ability_id == ABILITY_WATER_VEIL && (primary == 1 || certain == 0x80))
+ if (gBattleMons[gEffectBank].ability == ABILITY_WATER_VEIL && (primary == 1 || certain == 0x80))
{
gLastUsedAbility = ABILITY_WATER_VEIL;
- RecordAbility(gEffectBank, ABILITY_WATER_VEIL);
+ RecordAbilityBattle(gEffectBank, ABILITY_WATER_VEIL);
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
//_0801E664:
- gBattlescriptCurrInstr = BS_BRN_PREVENTION;
+ gBattlescriptCurrInstr = BattleScript_BRNPrevention;
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
{
- gBattleCommunication.multistring_chooser = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
return;
}
else
- {gBattleCommunication.multistring_chooser = 0; return;}
+ {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;}
}
if ((gBattleMons[gEffectBank].type1 == TYPE_FIRE || gBattleMons[gEffectBank].type2 == TYPE_FIRE)
&& !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80))
{
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_BRN_PREVENTION;
- gBattleCommunication.multistring_chooser = 2;
+ gBattlescriptCurrInstr = BattleScript_BRNPrevention;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
return;
}
if (gBattleMons[gEffectBank].type1 == TYPE_FIRE) {break;}
if (gBattleMons[gEffectBank].type2 == TYPE_FIRE) {break;}
- if (gBattleMons[gEffectBank].ability_id == ABILITY_WATER_VEIL) {break;}
+ if (gBattleMons[gEffectBank].ability == ABILITY_WATER_VEIL) {break;}
if (gBattleMons[gEffectBank].status1 == 0) {break;}
StatusChanged = 1;
break;
@@ -2629,70 +2377,70 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
if (WEATHER_HAS_EFFECT && gBattleWeather & WEATHER_SUN_ANY) {NoSunCanFreeze = 0;}
if (gBattleMons[gEffectBank].type1 == TYPE_ICE) {break;}
if (gBattleMons[gEffectBank].type2 == TYPE_ICE) {break;}
- if (gBattleMons[gEffectBank].status) {break;}
+ if (gBattleMons[gEffectBank].status1) {break;}
if (NoSunCanFreeze == 0) {break;}
- if (gBattleMons[gEffectBank].ability_id == ABILITY_MAGMA_ARMOR) {break;}
+ if (gBattleMons[gEffectBank].ability == ABILITY_MAGMA_ARMOR) {break;}
- b_cancel_multi_turn_move_maybe(gEffectBank);
+ CancelMultiTurnMoves(gEffectBank);
StatusChanged = 1;
break;
case STATUS_PARALYSIS:
- if (gBattleMons[gEffectBank].ability_id == ABILITY_LIMBER)
+ if (gBattleMons[gEffectBank].ability == ABILITY_LIMBER)
{
if ((primary == 1 || certain == 0x80))
{
gLastUsedAbility = ABILITY_LIMBER;
- RecordAbility(gEffectBank, ABILITY_LIMBER);
+ RecordAbilityBattle(gEffectBank, ABILITY_LIMBER);
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
//_0801E664:
- gBattlescriptCurrInstr = BS_PRLZ_PREVENTION;
+ gBattlescriptCurrInstr = BattleScript_PRLZPrevention;
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
{
- gBattleCommunication.multistring_chooser = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
return;
}
else
- {gBattleCommunication.multistring_chooser = 0; return;}
+ {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;}
}
else {break;}
}
- if (gBattleMons[gEffectBank].status) {break;}
+ if (gBattleMons[gEffectBank].status1) {break;}
StatusChanged = 1;
break;
case STATUS_TOXIC_POISON:
- if (gBattleMons[gEffectBank].ability_id == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80))
+ if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80))
{
gLastUsedAbility = ABILITY_IMMUNITY;
- RecordAbility(gEffectBank, ABILITY_IMMUNITY);
+ RecordAbilityBattle(gEffectBank, ABILITY_IMMUNITY);
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
//_0801E664:
- gBattlescriptCurrInstr = BS_PSN_PREVENTION;
+ gBattlescriptCurrInstr = BattleScript_PSNPrevention;
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
{
- gBattleCommunication.multistring_chooser = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
return;
}
else
- {gBattleCommunication.multistring_chooser = 0; return;}
+ {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;}
}
if ((gBattleMons[gEffectBank].type1 == TYPE_POISON || gBattleMons[gEffectBank].type2 == TYPE_POISON || gBattleMons[gEffectBank].type1 == TYPE_STEEL || gBattleMons[gEffectBank].type2 == TYPE_STEEL)
&& !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80))
{
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_PSN_PREVENTION;
- gBattleCommunication.multistring_chooser = 2;
+ gBattlescriptCurrInstr = BattleScript_PSNPrevention;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
return;
}
- if (gBattleMons[gEffectBank].status) {break;}
+ if (gBattleMons[gEffectBank].status1) {break;}
if (gBattleMons[gEffectBank].type1 != TYPE_POISON &&
gBattleMons[gEffectBank].type2 != TYPE_POISON &&
gBattleMons[gEffectBank].type1 != TYPE_STEEL &&
gBattleMons[gEffectBank].type2 != TYPE_STEEL)
{
- if (gBattleMons[gEffectBank].ability_id == ABILITY_IMMUNITY) {break;}
- gBattleMons[gEffectBank].status1 |= ~(STATUS_POISON); //TODO: fix OR to AND
+ if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY) {break;}
+ gBattleMons[gEffectBank].status1 &= ~(0x9); //This gets (correctly) optimized out...
StatusChanged = 1;
break;
}
@@ -2707,20 +2455,20 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
gBattleMons[gEffectBank].status1 |= ((Random() & 3) + 2);
else
gBattleMons[gEffectBank].status1 |= gStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]];
- gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
+ gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
gActiveBank = gEffectBank;
- bb2_setattributes_in_battle(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status);
- mark_buffer_bank_for_execution(gActiveBank);
+ EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status1);
+ MarkBufferBankForExecution(gActiveBank);
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
{
- gBattleCommunication.multistring_chooser = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
}
else
- gBattleCommunication.multistring_chooser = 0;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
if (gBattleCommunication[MOVE_EFFECT_BYTE] == 2 || gBattleCommunication[MOVE_EFFECT_BYTE] == 6 || gBattleCommunication[MOVE_EFFECT_BYTE] == 5 || gBattleCommunication[MOVE_EFFECT_BYTE] == 3)
{
- BATTLE_STRUCT->SynchroniseEffect = gBattleCommunication[MOVE_EFFECT_BYTE];
+ BATTLE_STRUCT->synchroniseEffect = gBattleCommunication[MOVE_EFFECT_BYTE];
gHitMarker |= HITMARKER_SYNCHRONISE_EFFECT;
}
return;
@@ -2738,22 +2486,22 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
switch (gStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]])
{
case 7: //confusion
- if (gBattleMons[gEffectBank].ability_id == ABILITY_OWN_TEMPO)
+ if (gBattleMons[gEffectBank].ability == ABILITY_OWN_TEMPO)
{gBattlescriptCurrInstr++; return;}
if (gBattleMons[gEffectBank].status2 & STATUS2_CONFUSION)
{gBattlescriptCurrInstr++; return;}
gBattleMons[gEffectBank].status2 |= (((Random()) % 0x4)) + 2;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
+ gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
break;
case 8: //flinch
- if (gBattleMons[gEffectBank].ability_id == ABILITY_INNER_FOCUS)
+ if (gBattleMons[gEffectBank].ability == ABILITY_INNER_FOCUS)
{
if (primary == 1 || certain == 0x80)
{
gLastUsedAbility = ABILITY_INNER_FOCUS;
- RecordAbility(gEffectBank, ABILITY_INNER_FOCUS);
- gBattlescriptCurrInstr = BS_FLINCH_PREVENTION;
+ RecordAbilityBattle(gEffectBank, ABILITY_INNER_FOCUS);
+ gBattlescriptCurrInstr = BattleScript_FlinchPrevention;
return;
}
else
@@ -2773,21 +2521,21 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
gLockedMove[gEffectBank] = gCurrentMove;
gBattleMons[gEffectBank].status2 |= ((Random() & 3) + 2) << 4;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
+ gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
break;
case 11: //pay day
- if (!(get_bank_identity(gEffectBank) & 1))
+ if (!(GetBankIdentity(gBankAttacker) & 1))
{
u16 PayDay = gPaydayMoney;
- gPaydayMoney += (gBattleMons[gEffectBank].level * 5);
+ gPaydayMoney += (gBattleMons[gBankAttacker].level * 5);
if (PayDay > gPaydayMoney)
gPaydayMoney = 0xFFFF;
}
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
+ gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
break;
case 9: //tri attack
- if (gBattleMons[gEffectBank].status)
+ if (gBattleMons[gEffectBank].status1)
{gBattlescriptCurrInstr++; return;}
gBattleCommunication[MOVE_EFFECT_BYTE] = Random() % 3 + 3;
SetMoveEffect(0, 0);
@@ -2795,73 +2543,73 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
case 12: //charging move
gBattleMons[gEffectBank].status2 |= STATUS2_MULTIPLETURNS;
gLockedMove[gEffectBank] = gCurrentMove;
- gProtectStructs[gEffectBank].flag1_chargingturn = 1;
+ gProtectStructs[gEffectBank].chargingTurn = 1;
gBattlescriptCurrInstr++;
break;
case 13: //wrap
if (gBattleMons[gEffectBank].status2 & STATUS2_WRAPPED)
{gBattlescriptCurrInstr++; return;}
gBattleMons[gEffectBank].status2 |= ((Random() & 3) + 2) << 0xD;
- BATTLE_STRUCT->WrappedMove1[gEffectBank] = gCurrentMove;
- BATTLE_STRUCT->WrappedMove2[gEffectBank] = gCurrentMove >> 8;
- BATTLE_STRUCT->WrappedBy[gEffectBank] = gBankAttacker;
+ BATTLE_STRUCT->wrappedMove[gEffectBank*2] = (u8)gCurrentMove;
+ (1 + BATTLE_STRUCT->wrappedMove)[gEffectBank*2] = gCurrentMove >> 8; //don't ask.
+ BATTLE_STRUCT->wrappedBy[gEffectBank] = gBankAttacker;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
- gBattleCommunication.multistring_chooser = 0;
- while (gBattleCommunication.multistring_chooser <= 4
- && gCurrentMove != gTrappingMoves[gBattleCommunication.multistring_chooser])
- gBattleCommunication.multistring_chooser++;
+ gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ while (gBattleCommunication[MULTISTRING_CHOOSER] <= 4
+ && gCurrentMove != gTrappingMoves[gBattleCommunication[MULTISTRING_CHOOSER]])
+ gBattleCommunication[MULTISTRING_CHOOSER]++;
break;
- case 14: //recoil
+ case 14: //25% recoil
gBattleMoveDamage = (gHP_dealt) / 4;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
+ gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
break;
case 15 ... 21: //stat + 1
- if (ChangeStats(0x10, gBattleCommunication[MOVE_EFFECT_BYTE] + 0xF2, certain, 0)) {gBattlescriptCurrInstr++;}
+ if (ChangeStatBuffs(0x10, gBattleCommunication[MOVE_EFFECT_BYTE] + 0xF2, certain, 0)) {gBattlescriptCurrInstr++;}
else
{
BATTLE_STRUCT->animArg1 = gBattleCommunication[MOVE_EFFECT_BYTE] & 0x3F; //TODO: the arg ptr is wrong by one
BATTLE_STRUCT->animArg2 = 0;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_STAT_UP;
+ gBattlescriptCurrInstr = BattleScript_StatUp;
}
break;
case 22 ... 28: //stat - 1
- if (ChangeStats(~(0x6f), gBattleCommunication[MOVE_EFFECT_BYTE] + 0xEB, certain, 0)) {gBattlescriptCurrInstr++;} //TODO: negation doesnt work correctly
+ if (ChangeStatBuffs(~(0x6f), gBattleCommunication[MOVE_EFFECT_BYTE] + 0xEB, certain, 0)) {gBattlescriptCurrInstr++;} //TODO: negation doesnt work correctly
else
{
BATTLE_STRUCT->animArg1 = gBattleCommunication[MOVE_EFFECT_BYTE] & 0x3F;
BATTLE_STRUCT->animArg2 = 0;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_STAT_DOWN;
+ gBattlescriptCurrInstr = BattleScript_StatDown;
}
break;
case 39 ... 45: //stat + 2
- if (ChangeStats(0x20, gBattleCommunication[MOVE_EFFECT_BYTE] + 0xDA, certain, 0)) {gBattlescriptCurrInstr++;}
+ if (ChangeStatBuffs(0x20, gBattleCommunication[MOVE_EFFECT_BYTE] + 0xDA, certain, 0)) {gBattlescriptCurrInstr++;}
else
{
BATTLE_STRUCT->animArg1 = gBattleCommunication[MOVE_EFFECT_BYTE] & 0x3F;
BATTLE_STRUCT->animArg2 = 0;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_STAT_UP;
+ gBattlescriptCurrInstr = BattleScript_StatUp;
}
break;
case 46 ... 52: //stat - 2
- if (ChangeStats(~(0x5f), gBattleCommunication[MOVE_EFFECT_BYTE] + 0xD3, certain, 0)) {gBattlescriptCurrInstr++;}
+ if (ChangeStatBuffs(~(0x5f), gBattleCommunication[MOVE_EFFECT_BYTE] + 0xD3, certain, 0)) {gBattlescriptCurrInstr++;}
else
{
BATTLE_STRUCT->animArg1 = gBattleCommunication[MOVE_EFFECT_BYTE] & 0x3F;
BATTLE_STRUCT->animArg2 = 0;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_STAT_DOWN;
+ gBattlescriptCurrInstr = BattleScript_StatDown;
}
break;
case 29: //recharge
gBattleMons[gEffectBank].status2 |= STATUS2_RECHARGE;
- gDisableStructs[gEffectBank].recharge_counter = 2;
+ gDisableStructs[gEffectBank].rechargeCounter = 2;
gLockedMove[gEffectBank] = gCurrentMove;
gBattlescriptCurrInstr++;
break;
@@ -2871,83 +2619,85 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
break;
case 31: //item steal
{
- u8 side = battle_side_get_owner(gBankAttacker);
- if (battle_side_get_owner(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400)
+ u8 side = GetBankSide(gBankAttacker);
+ if (GetBankSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400)
{gBattlescriptCurrInstr++; return;}
- if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.KnockedOff[side] & gBitTable[gBattlePartyID[gBankAttacker]]))
+ if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlePartyID[gBankAttacker]]))
{gBattlescriptCurrInstr++; return;}
- if (gBattleMons[gBankTarget].held_item && gBattleMons[gBankTarget].ability_id == ABILITY_STICKY_HOLD)
+ if (gBattleMons[gBankTarget].item && gBattleMons[gBankTarget].ability == ABILITY_STICKY_HOLD)
{
b_movescr_stack_push_cursor();
- gBattlescriptCurrInstr = BS_NO_ITEMSTEAL;
- gLastUsedAbility = gBattleMons[gBankTarget].ability_id;
- RecordAbility(gBankTarget, gLastUsedAbility);
+ gBattlescriptCurrInstr = BattleScript_NoItemSteal;
+ gLastUsedAbility = gBattleMons[gBankTarget].ability;
+ RecordAbilityBattle(gBankTarget, gLastUsedAbility);
return;
}
- if (gBattleMons[gBankAttacker].held_item)
+ if (gBattleMons[gBankAttacker].item)
{gBattlescriptCurrInstr++; return;}
- if (gBattleMons[gBankTarget].held_item == ITEM_ENIGMA_BERRY)
+ if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY)
{gBattlescriptCurrInstr++; return;}
- if (gBattleMons[gBankTarget].held_item == 0)
+ if (gBattleMons[gBankTarget].item == 0)
{gBattlescriptCurrInstr++; return;}
- CHANGED_HELDITEMS[gBankAttacker] = gLastUsedItem = gBattleMons[gBankTarget].held_item;
- gBattleMons[gBankTarget].held_item = 0;
+ gLastUsedItem = gBattleMons[gBankTarget].item;
+ unk_2000000[gBankAttacker * 2 + 0x160cc] = gLastUsedItem;
+ gBattleMons[gBankTarget].item = 0;
gActiveBank = gBankAttacker;
- bb2_setattributes_in_battle(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem);
- mark_buffer_bank_for_execution(gBankAttacker);
+ EmitSetAttributes(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem);
+ MarkBufferBankForExecution(gBankAttacker);
gActiveBank = gBankTarget;
- bb2_setattributes_in_battle(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].held_item);
- mark_buffer_bank_for_execution(gBankTarget);
+ EmitSetAttributes(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].item);
+ MarkBufferBankForExecution(gBankTarget);
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_ITEMSTEAL;
+ gBattlescriptCurrInstr = BattleScript_ItemSteal;
- STORE_CHOICEMOVE(gBankTarget, 0);
+ ewram[gBankTarget * 2 + 0x160e8] = 0;
+ //STORE_CHOICEMOVE(gBankTarget, 0);
}
break;
case 32: //escape prevention
gBattleMons[gBankTarget].status2 |= STATUS2_RECHARGE;
- gDisableStructs[gBankTarget].BankPreventingEscape = gBankAttacker;
+ gDisableStructs[gBankTarget].bankPreventingEscape = gBankAttacker;
gBattlescriptCurrInstr++;
break;
case 33: //nightmare
gBattleMons[gBankTarget].status2 |= STATUS2_NIGHTMARE;
gBattlescriptCurrInstr++;
break;
- case 34:
+ case 34: //ancientpower
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = gUnknown_081D9224;
+ gBattlescriptCurrInstr = BattleScript_AllStatsUp;
return;
case 35: //break free rapidspin
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_RAPIDSPINAWAY;
+ gBattlescriptCurrInstr = BattleScript_RapidSpinAway;
return;
case 36: //paralysis removal
if (gBattleMons[gBankTarget].status1 & STATUS_PARALYSIS)
{
gBattleMons[gBankTarget].status1 &= ~(STATUS_PARALYSIS);
gActiveBank = gBankTarget;
- bb2_setattributes_in_battle(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status);
- mark_buffer_bank_for_execution(gActiveBank);
+ EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1);
+ MarkBufferBankForExecution(gActiveBank);
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_PARALYSISHEALED;
+ gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal;
}
else
{gBattlescriptCurrInstr++; return;}
break;
- case 37: //
+ case 37: //superpower
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = gUnknown_081D93FA;
+ gBattlescriptCurrInstr = BattleScript_AtkDefDown;
return;
- case 38: //recoil plus paralysis
+ case 38: //33% recoil
gBattleMoveDamage = gHP_dealt / 3;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
+ gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
break;
case 53: //thrash
if (!(gBattleMons[gEffectBank].status2 & STATUS2_LOCK_CONFUSE))
@@ -2960,32 +2710,33 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
{gBattlescriptCurrInstr++; return;}
break;
case 54: //knock off
- if (gBattleMons[gEffectBank].ability_id == ABILITY_STICKY_HOLD)
+ if (gBattleMons[gEffectBank].ability == ABILITY_STICKY_HOLD)
{
- if (gBattleMons[gEffectBank].held_item == 0)
+ if (gBattleMons[gEffectBank].item == 0)
{gBattlescriptCurrInstr++; return;}
gLastUsedAbility = ABILITY_STICKY_HOLD;
- gBattlescriptCurrInstr = BS_STICKYHOLD_ACTIVATES;
- RecordAbility(gEffectBank, ABILITY_STICKY_HOLD);
+ gBattlescriptCurrInstr = BattleScript_NoItemSteal;
+ RecordAbilityBattle(gEffectBank, ABILITY_STICKY_HOLD);
return;
}
- if (gBattleMons[gEffectBank].held_item == 0)
+ if (gBattleMons[gEffectBank].item == 0)
{gBattlescriptCurrInstr++; return;}
else
{
- u8 side = battle_side_get_owner(gEffectBank);
- gLastUsedItem = gBattleMons[gEffectBank].held_item;
- gBattleMons[gEffectBank].held_item = 0;
- gWishFutureKnock.KnockedOff[side] |= gBitTable[gBattlePartyID[gEffectBank]];
+ u8 side = GetBankSide(gEffectBank);
+ gLastUsedItem = gBattleMons[gEffectBank].item;
+ gBattleMons[gEffectBank].item = 0;
+ gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlePartyID[gEffectBank]];
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = BS_KNOCKEDOFF;
+ gBattlescriptCurrInstr = BattleScript_KnockedOff;
- STORE_CHOICEMOVE(gEffectBank, 0);
+ ewram[gEffectBank * 2 + 0x160e8] = 0;
+ //STORE_CHOICEMOVE(gEffectBank, 0);
}
break;
- case 59: //overheat I guess, dont remember
+ case 59: //overheat
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = gUnknown_081D94B0;
+ gBattlescriptCurrInstr = BattleScript_SAtkDown2;
return;
}
}
@@ -4888,11 +4639,11 @@ _0801F3BC:\n\
ldr r0, [r4]\n\
adds r0, 0x1\n\
bl b_movescr_stack_push\n\
- ldr r0, _0801F3D0 @ =gUnknown_081D9224\n\
+ ldr r0, _0801F3D0 @ =BattleScript_AllStatsUp\n\
b _0801F5F8\n\
.align 2, 0\n\
_0801F3CC: .4byte gBattlescriptCurrInstr\n\
-_0801F3D0: .4byte gUnknown_081D9224\n\
+_0801F3D0: .4byte BattleScript_AllStatsUp\n\
_0801F3D4:\n\
ldr r4, _0801F3E4 @ =gBattlescriptCurrInstr\n\
ldr r0, [r4]\n\
@@ -4952,11 +4703,11 @@ _0801F44C:\n\
ldr r0, [r4]\n\
adds r0, 0x1\n\
bl b_movescr_stack_push\n\
- ldr r0, _0801F460 @ =gUnknown_081D93FA\n\
+ ldr r0, _0801F460 @ =BattleScript_AtkDefDown\n\
b _0801F5F8\n\
.align 2, 0\n\
_0801F45C: .4byte gBattlescriptCurrInstr\n\
-_0801F460: .4byte gUnknown_081D93FA\n\
+_0801F460: .4byte BattleScript_AtkDefDown\n\
_0801F464:\n\
ldr r4, _0801F494 @ =gBattleMoveDamage\n\
ldr r0, _0801F498 @ =gHP_dealt\n\
@@ -5141,7 +4892,7 @@ _0801F5EC:\n\
ldr r0, [r4]\n\
adds r0, 0x1\n\
bl b_movescr_stack_push\n\
- ldr r0, _0801F610 @ =gUnknown_081D94B0\n\
+ ldr r0, _0801F610 @ =BattleScript_SAtkDown2\n\
_0801F5F8:\n\
str r0, [r4]\n\
_0801F5FA:\n\
@@ -5155,11 +4906,12 @@ _0801F5FA:\n\
bx r0\n\
.align 2, 0\n\
_0801F60C: .4byte gBattlescriptCurrInstr\n\
-_0801F610: .4byte gUnknown_081D94B0\n\
+_0801F610: .4byte BattleScript_SAtkDown2\n\
.syntax divided\n");
}
#endif // NONMATCHING
+
static void atk15_seteffectwithchancetarget(void)
{
u32 PercentChance;
@@ -5197,7 +4949,7 @@ static void atk17_seteffectsecondary(void)
static void atk18_status_effect_clear(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6)
gBattleMons[gActiveBank].status1 &= (~gStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]);
else
@@ -5208,432 +4960,114 @@ static void atk18_status_effect_clear(void)
BATTLE_STRUCT->unk16112 = 0;
}
-//Fuck this, Maybe later
-__attribute__((naked))
static void atk19_faint_pokemon(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, 0x4\n\
- ldr r0, _0801F81C @ =gBattlescriptCurrInstr\n\
- ldr r2, [r0]\n\
- ldrb r1, [r2, 0x2]\n\
- adds r6, r0, 0\n\
- cmp r1, 0\n\
- beq _0801F834\n\
- ldrb r0, [r2, 0x1]\n\
- bl GetBattleBank\n\
- ldr r5, _0801F820 @ =gActiveBank\n\
- strb r0, [r5]\n\
- ldr r2, _0801F824 @ =gHitMarker\n\
- ldr r1, _0801F828 @ =gBitTable\n\
- ldrb r0, [r5]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r2]\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801F7E6\n\
- b _0801FB1C\n\
-_0801F7E6:\n\
- ldr r1, [r6]\n\
- ldrb r4, [r1, 0x3]\n\
- ldrb r0, [r1, 0x4]\n\
- lsls r0, 8\n\
- orrs r4, r0\n\
- ldrb r0, [r1, 0x5]\n\
- lsls r0, 16\n\
- orrs r4, r0\n\
- ldrb r0, [r1, 0x6]\n\
- lsls r0, 24\n\
- orrs r4, r0\n\
- bl b_movescr_stack_pop_cursor\n\
- str r4, [r6]\n\
- ldrb r0, [r5]\n\
- bl GetBankSide\n\
- ldr r1, _0801F82C @ =gSideAffecting\n\
- lsls r0, 24\n\
- lsrs r0, 23\n\
- adds r0, r1\n\
- ldrh r2, [r0]\n\
- ldr r1, _0801F830 @ =0x0000fdff\n\
- ands r1, r2\n\
- strh r1, [r0]\n\
- b _0801FB22\n\
- .align 2, 0\n\
-_0801F81C: .4byte gBattlescriptCurrInstr\n\
-_0801F820: .4byte gActiveBank\n\
-_0801F824: .4byte gHitMarker\n\
-_0801F828: .4byte gBitTable\n\
-_0801F82C: .4byte gSideAffecting\n\
-_0801F830: .4byte 0x0000fdff\n\
-_0801F834:\n\
- ldrb r0, [r2, 0x1]\n\
- cmp r0, 0x1\n\
- bne _0801F85C\n\
- ldr r1, _0801F84C @ =gActiveBank\n\
- ldr r0, _0801F850 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldr r0, _0801F854 @ =gBankTarget\n\
- ldrb r7, [r0]\n\
- ldr r4, _0801F858 @ =gUnknown_081D8C58\n\
- b _0801F86A\n\
- .align 2, 0\n\
-_0801F84C: .4byte gActiveBank\n\
-_0801F850: .4byte gBankAttacker\n\
-_0801F854: .4byte gBankTarget\n\
-_0801F858: .4byte gUnknown_081D8C58\n\
-_0801F85C:\n\
- ldr r1, _0801F954 @ =gActiveBank\n\
- ldr r0, _0801F958 @ =gBankTarget\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldr r0, _0801F95C @ =gBankAttacker\n\
- ldrb r7, [r0]\n\
- ldr r4, _0801F960 @ =gUnknown_081D8C65\n\
-_0801F86A:\n\
- ldr r0, _0801F964 @ =gAbsentBankFlags\n\
- ldrb r1, [r0]\n\
- ldr r0, _0801F968 @ =gBitTable\n\
- mov r12, r0\n\
- ldr r2, _0801F954 @ =gActiveBank\n\
- mov r8, r2\n\
- ldrb r2, [r2]\n\
- lsls r0, r2, 2\n\
- add r0, r12\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _0801F886\n\
- b _0801FB1C\n\
-_0801F886:\n\
- ldr r3, _0801F96C @ =gBattleMons\n\
- mov r10, r3\n\
- movs r5, 0x58\n\
- mov r9, r5\n\
- mov r0, r9\n\
- muls r0, r2\n\
- add r0, r10\n\
- ldrh r3, [r0, 0x28]\n\
- cmp r3, 0\n\
- beq _0801F89C\n\
- b _0801FB1C\n\
-_0801F89C:\n\
- ldr r2, _0801F970 @ =0x02000000\n\
- lsls r1, r7, 1\n\
- ldr r5, _0801F974 @ =0x000160ac\n\
- adds r0, r1, r5\n\
- adds r0, r2\n\
- strb r3, [r0]\n\
- ldr r0, _0801F978 @ =0x000160ad\n\
- adds r1, r0\n\
- adds r1, r2\n\
- strb r3, [r1]\n\
- lsls r1, r7, 2\n\
- adds r5, 0x54\n\
- adds r0, r1, r5\n\
- adds r0, r2\n\
- strb r3, [r0]\n\
- adds r5, 0x1\n\
- adds r0, r1, r5\n\
- adds r0, r2\n\
- strb r3, [r0]\n\
- adds r5, 0x1\n\
- adds r0, r1, r5\n\
- adds r0, r2\n\
- strb r3, [r0]\n\
- ldr r0, _0801F97C @ =0x00016103\n\
- adds r1, r0\n\
- adds r1, r2\n\
- strb r3, [r1]\n\
- ldr r5, _0801F980 @ =gHitMarker\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- lsls r0, 2\n\
- add r0, r12\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r5]\n\
- orrs r0, r1\n\
- str r0, [r5]\n\
- ldr r0, [r6]\n\
- adds r0, 0x7\n\
- bl b_movescr_stack_push\n\
- str r4, [r6]\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0801F9B0\n\
- ldr r0, [r5]\n\
- movs r1, 0x80\n\
- lsls r1, 15\n\
- orrs r0, r1\n\
- str r0, [r5]\n\
- ldr r1, _0801F984 @ =gBattleResults\n\
- ldrb r0, [r1]\n\
- cmp r0, 0xFE\n\
- bhi _0801F914\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
-_0801F914:\n\
- mov r0, r9\n\
- muls r0, r7\n\
- add r0, r10\n\
- adds r3, r0, 0\n\
- adds r3, 0x2A\n\
- mov r4, r8\n\
- ldrb r2, [r4]\n\
- mov r0, r9\n\
- muls r0, r2\n\
- add r0, r10\n\
- adds r1, r0, 0\n\
- adds r1, 0x2A\n\
- ldrb r0, [r3]\n\
- ldrb r5, [r1]\n\
- cmp r0, r5\n\
- bls _0801F9CC\n\
- ldrb r1, [r1]\n\
- subs r0, r1\n\
- cmp r0, 0x1D\n\
- ble _0801F990\n\
- ldr r1, _0801F988 @ =gBattlePartyID\n\
- lsls r0, r2, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _0801F98C @ =gPlayerParty\n\
- adds r0, r1\n\
- movs r1, 0x8\n\
- bl AdjustFriendship\n\
- b _0801F9CC\n\
- .align 2, 0\n\
-_0801F954: .4byte gActiveBank\n\
-_0801F958: .4byte gBankTarget\n\
-_0801F95C: .4byte gBankAttacker\n\
-_0801F960: .4byte gUnknown_081D8C65\n\
-_0801F964: .4byte gAbsentBankFlags\n\
-_0801F968: .4byte gBitTable\n\
-_0801F96C: .4byte gBattleMons\n\
-_0801F970: .4byte 0x02000000\n\
-_0801F974: .4byte 0x000160ac\n\
-_0801F978: .4byte 0x000160ad\n\
-_0801F97C: .4byte 0x00016103\n\
-_0801F980: .4byte gHitMarker\n\
-_0801F984: .4byte gBattleResults\n\
-_0801F988: .4byte gBattlePartyID\n\
-_0801F98C: .4byte gPlayerParty\n\
-_0801F990:\n\
- ldr r1, _0801F9A8 @ =gBattlePartyID\n\
- lsls r0, r2, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _0801F9AC @ =gPlayerParty\n\
- adds r0, r1\n\
- movs r1, 0x6\n\
- bl AdjustFriendship\n\
- b _0801F9CC\n\
- .align 2, 0\n\
-_0801F9A8: .4byte gBattlePartyID\n\
-_0801F9AC: .4byte gPlayerParty\n\
-_0801F9B0:\n\
- ldr r1, _0801FAE0 @ =gBattleResults\n\
- ldrb r0, [r1, 0x1]\n\
- cmp r0, 0xFE\n\
- bhi _0801F9BC\n\
- adds r0, 0x1\n\
- strb r0, [r1, 0x1]\n\
-_0801F9BC:\n\
- ldr r2, _0801FAE4 @ =gActiveBank\n\
- ldrb r0, [r2]\n\
- mov r3, r9\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- add r0, r10\n\
- ldrh r0, [r0]\n\
- strh r0, [r1, 0x20]\n\
-_0801F9CC:\n\
- ldr r0, _0801FAE8 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801FA02\n\
- ldr r6, _0801FAEC @ =gBattleMons\n\
- ldr r0, _0801FAF0 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- movs r5, 0x58\n\
- muls r0, r5\n\
- adds r0, r6\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- beq _0801FA02\n\
- ldr r4, _0801FAF4 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801FAF8 @ =gBattleMoveDamage\n\
- adds r0, r7, 0\n\
- muls r0, r5\n\
- adds r0, r6\n\
- ldrh r0, [r0, 0x28]\n\
- str r0, [r1]\n\
- ldr r0, _0801FAFC @ =gUnknown_081D9156\n\
- str r0, [r4]\n\
-_0801FA02:\n\
- ldr r1, _0801FB00 @ =gStatuses3\n\
- ldr r6, _0801FB04 @ =gBankTarget\n\
- ldrb r0, [r6]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801FA1A\n\
- b _0801FB22\n\
-_0801FA1A:\n\
- ldr r0, _0801FAE8 @ =gHitMarker\n\
- ldr r5, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 17\n\
- ands r5, r0\n\
- cmp r5, 0\n\
- bne _0801FB22\n\
- ldr r4, _0801FAF0 @ =gBankAttacker\n\
- mov r8, r4\n\
- ldrb r0, [r4]\n\
- bl GetBankSide\n\
- adds r4, r0, 0\n\
- ldrb r0, [r6]\n\
- bl GetBankSide\n\
- lsls r4, 24\n\
- lsls r0, 24\n\
- cmp r4, r0\n\
- beq _0801FB22\n\
- ldr r0, _0801FAEC @ =gBattleMons\n\
- mov r9, r0\n\
- mov r1, r8\n\
- ldrb r2, [r1]\n\
- movs r7, 0x58\n\
- adds r3, r2, 0\n\
- muls r3, r7\n\
- adds r0, r3, r0\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- beq _0801FB22\n\
- ldr r0, _0801FB08 @ =gCurrentMove\n\
- ldrh r0, [r0]\n\
- cmp r0, 0xA5\n\
- beq _0801FB22\n\
- ldr r1, _0801FB0C @ =0x02000000\n\
- ldr r4, _0801FB10 @ =0x0001608c\n\
- adds r0, r2, r4\n\
- adds r0, r1\n\
- ldrb r4, [r0]\n\
- adds r0, r4, r3\n\
- mov r6, r9\n\
- adds r6, 0x24\n\
- adds r0, r6\n\
- strb r5, [r0]\n\
- ldr r5, _0801FAF4 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r5]\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801FB14 @ =gUnknown_081D9468\n\
- str r0, [r5]\n\
- ldr r5, _0801FAE4 @ =gActiveBank\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- strb r0, [r5]\n\
- adds r1, r4, 0\n\
- adds r1, 0x9\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- ldrb r0, [r5]\n\
- muls r0, r7\n\
- adds r0, r6\n\
- adds r0, r4\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r2, 0\n\
- movs r3, 0x1\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r5]\n\
- bl MarkBufferBankForExecution\n\
- ldr r1, _0801FB18 @ =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x2\n\
- strb r0, [r1, 0x1]\n\
- lsls r4, 1\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- muls r0, r7\n\
- adds r0, r4, r0\n\
- mov r2, r9\n\
- adds r2, 0xC\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- strb r0, [r1, 0x2]\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- muls r0, r7\n\
- adds r4, r0\n\
- adds r4, r2\n\
- ldrh r0, [r4]\n\
- lsrs r0, 8\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x4]\n\
- b _0801FB22\n\
- .align 2, 0\n\
-_0801FAE0: .4byte gBattleResults\n\
-_0801FAE4: .4byte gActiveBank\n\
-_0801FAE8: .4byte gHitMarker\n\
-_0801FAEC: .4byte gBattleMons\n\
-_0801FAF0: .4byte gBankAttacker\n\
-_0801FAF4: .4byte gBattlescriptCurrInstr\n\
-_0801FAF8: .4byte gBattleMoveDamage\n\
-_0801FAFC: .4byte gUnknown_081D9156\n\
-_0801FB00: .4byte gStatuses3\n\
-_0801FB04: .4byte gBankTarget\n\
-_0801FB08: .4byte gCurrentMove\n\
-_0801FB0C: .4byte 0x02000000\n\
-_0801FB10: .4byte 0x0001608c\n\
-_0801FB14: .4byte gUnknown_081D9468\n\
-_0801FB18: .4byte gBattleTextBuff1\n\
-_0801FB1C:\n\
- ldr r0, [r6]\n\
- adds r0, 0x7\n\
- str r0, [r6]\n\
-_0801FB22:\n\
- add sp, 0x4\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .syntax divided\n");
+ u8 *r4;
+
+ if (gBattlescriptCurrInstr[2] != 0)
+ {
+ gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
+ if (gHitMarker & HITMARKER_FAINTED(gActiveBank))
+ {
+ r4 = T1_READ_PTR(gBattlescriptCurrInstr + 3);
+
+ b_movescr_stack_pop_cursor();
+ gBattlescriptCurrInstr = r4;
+ gSideAffecting[GetBankSide(gActiveBank)] &= ~SIDE_STATUS_SPIKES_DAMAGED;
+ }
+ else
+ {
+ gBattlescriptCurrInstr += 7;
+ }
+ }
+ else
+ {
+ u8 bank;
+
+ if (gBattlescriptCurrInstr[1] == 1)
+ {
+ gActiveBank = gBankAttacker;
+ bank = gBankTarget;
+ r4 = gUnknown_081D8C58;
+ }
+ else
+ {
+ gActiveBank = gBankTarget;
+ bank = gBankAttacker;
+ r4 = gUnknown_081D8C65;
+ }
+ if (!(gAbsentBankFlags & gBitTable[gActiveBank])
+ && gBattleMons[gActiveBank].hp == 0)
+ {
+ ewram[0x160AC + bank * 2 + 0] = 0;
+ ewram[0x160AC + bank * 2 + 1] = 0;
+ ewram[0x16100 + bank * 4 + 0] = 0;
+ ewram[0x16100 + bank * 4 + 1] = 0;
+ ewram[0x16100 + bank * 4 + 2] = 0;
+ ewram[0x16100 + bank * 4 + 3] = 0;
+
+ gHitMarker |= HITMARKER_FAINTED(gActiveBank);
+ b_movescr_stack_push(gBattlescriptCurrInstr + 7);
+ gBattlescriptCurrInstr = r4;
+ if (GetBankSide(gActiveBank) == 0)
+ {
+ gHitMarker |= HITMARKER_x400000;
+ if (gBattleResults.playerFaintCounter < 0xFF)
+ gBattleResults.playerFaintCounter++;
+ if (gBattleMons[bank].level > gBattleMons[gActiveBank].level)
+ {
+ if (gBattleMons[bank].level - gBattleMons[gActiveBank].level > 0x1D)
+ AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBank]], 8);
+ else
+ AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBank]], 6);
+ }
+ }
+ else
+ {
+ if (gBattleResults.opponentFaintCounter < 0xFF)
+ gBattleResults.opponentFaintCounter++;
+ gBattleResults.lastOpponentSpecies = gBattleMons[gActiveBank].species;
+ }
+ if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBankAttacker].hp != 0)
+ {
+ b_movescr_stack_push(gBattlescriptCurrInstr);
+ gBattleMoveDamage = gBattleMons[bank].hp;
+ gBattlescriptCurrInstr = gUnknown_081D9156;
+ }
+ if ((gStatuses3[gBankTarget] & STATUS3_GRUDGE)
+ && !(gHitMarker & HITMARKER_GRUDGE)
+ && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)
+ && gBattleMons[gBankAttacker].hp != 0
+ && gCurrentMove != MOVE_STRUGGLE)
+ {
+ u8 moveIndex = ewram[0x1608C + gBankAttacker];
+
+ gBattleMons[gBankAttacker].pp[moveIndex] = 0;
+ b_movescr_stack_push(gBattlescriptCurrInstr);
+ gBattlescriptCurrInstr = gUnknown_081D9468;
+ gActiveBank = gBankAttacker;
+ EmitSetAttributes(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBank].pp[moveIndex]);
+ MarkBufferBankForExecution(gActiveBank);
+
+ gBattleTextBuff1[0] = 0xFD;
+ gBattleTextBuff1[1] = 2;
+ gBattleTextBuff1[2] = gBattleMons[gBankAttacker].moves[moveIndex];
+ gBattleTextBuff1[3] = gBattleMons[gBankAttacker].moves[moveIndex] >> 8;
+ gBattleTextBuff1[4] = EOS;
+ }
+ }
+ else
+ {
+ gBattlescriptCurrInstr += 7;
+ }
+ }
}
static void atk1A_faint_animation(void)
{
if (gBattleExecBuffer == 0)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
Emitcmd10(0);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -5645,7 +5079,7 @@ static void atk1B_faint_effects_clear(void)
//Clears things like attraction or trapping to other banks
if (gBattleExecBuffer == 0)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
gBattleMons[gActiveBank].status1 = 0;
EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBank].status1);
MarkBufferBankForExecution(gActiveBank);
@@ -5656,9 +5090,9 @@ static void atk1B_faint_effects_clear(void)
static void atk1C_jumpifstatus(void)
{
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2);
- void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6);
+ u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2);
+ void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 6);
if (gBattleMons[bank].status1 & flags && gBattleMons[bank].hp)
gBattlescriptCurrInstr = jump_loc;
else
@@ -5667,9 +5101,9 @@ static void atk1C_jumpifstatus(void)
static void atk1D_jumpifstatus2(void)
{
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2);
- void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6);
+ u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2);
+ void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 6);
if (gBattleMons[bank].status2 & flags && gBattleMons[bank].hp)
gBattlescriptCurrInstr = jump_loc;
else
@@ -5679,9 +5113,9 @@ static void atk1D_jumpifstatus2(void)
static void atk1E_jumpifability(void)
{
u8 bank;
- u8 ability = BSScriptRead8(gBattlescriptCurrInstr + 2);
- void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3);
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 8)
+ u8 ability = T2_READ_8(gBattlescriptCurrInstr + 2);
+ void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3);
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 8)
{
bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBankAttacker, ability, 0, 0);
if (bank)
@@ -5694,7 +5128,7 @@ static void atk1E_jumpifability(void)
else
gBattlescriptCurrInstr += 7;
}
- else if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 9)
+ else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 9)
{
bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBankAttacker, ability, 0, 0);
if (bank)
@@ -5709,7 +5143,7 @@ static void atk1E_jumpifability(void)
}
else
{
- bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMons[bank].ability == ability)
{
gLastUsedAbility = ability;
@@ -5727,13 +5161,13 @@ static void atk1F_jumpifsideaffecting(void)
u8 side;
u16 flags;
void* jump_loc;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 1)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1)
side = GetBankIdentity(gBankAttacker) & 1;
else
side = GetBankIdentity(gBankTarget) & 1;
- flags = BS2ScriptRead16(gBattlescriptCurrInstr + 2);
- jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 4);
+ flags = T2_READ_16(gBattlescriptCurrInstr + 2);
+ jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 4);
if (gSideAffecting[side] & flags)
gBattlescriptCurrInstr = jump_loc;
@@ -5744,37 +5178,37 @@ static void atk1F_jumpifsideaffecting(void)
static void atk20_jumpifstat(void)
{
u8 ret = 0;
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- u8 value = gBattleMons[bank].statStages[BSScriptRead8(gBattlescriptCurrInstr + 3)];
- switch (BSScriptRead8(gBattlescriptCurrInstr + 2))
+ u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ u8 value = gBattleMons[bank].statStages[T2_READ_8(gBattlescriptCurrInstr + 3)];
+ switch (T2_READ_8(gBattlescriptCurrInstr + 2))
{
case CMP_EQUAL:
- if (value == BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value == T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_NOT_EQUAL:
- if (value != BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value != T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_GREATER_THAN:
- if (value > BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value > T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_LESS_THAN:
- if (value < BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value < T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_COMMON_BITS:
- if (value & BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value & T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_NO_COMMON_BITS:
- if (!(value & BSScriptRead8(gBattlescriptCurrInstr + 4)))
+ if (!(value & T2_READ_8(gBattlescriptCurrInstr + 4)))
ret++;
break;
}
if (ret)
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 5);
else
gBattlescriptCurrInstr += 9;
}
@@ -5784,10 +5218,10 @@ static void atk21_jumpifstatus3(void)
u32 flags;
void* jump_loc;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2);
- jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7);
- if (BSScriptRead8(gBattlescriptCurrInstr + 6))
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ flags = T2_READ_32(gBattlescriptCurrInstr + 2);
+ jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7);
+ if (T2_READ_8(gBattlescriptCurrInstr + 6))
{
if ((gStatuses3[gActiveBank] & flags) != 0)
gBattlescriptCurrInstr += 11;
@@ -5805,9 +5239,9 @@ static void atk21_jumpifstatus3(void)
static void atk22_jumpiftype(void) //u8 bank, u8 type, *ptr
{
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- u8 type = BSScriptRead8(gBattlescriptCurrInstr + 2);
- void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3);
+ u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ u8 type = T2_READ_8(gBattlescriptCurrInstr + 2);
+ void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3);
if (gBattleMons[bank].type1 == type || gBattleMons[bank].type2 == type)
gBattlescriptCurrInstr = jump_loc;
@@ -5822,7 +5256,7 @@ static void atk23_getexp(void)
u8 hold_effect;
int via_expshare = 0, sent_in;
u16* exp = &BATTLE_STRUCT->exp;
- gBank1 = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gBank1 = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
sent_in = gSentPokesToOpponent[(gBank1 & 2) >> 1];
switch (BATTLE_STRUCT->atk23StateTracker)
{
@@ -5832,13 +5266,14 @@ static void atk23_getexp(void)
else
{
BATTLE_STRUCT->atk23StateTracker++;
- unk_2000000[0x16113] |= gBitTable[gBattlePartyID[gBank1]];
+ ((u8*)ewram)[0x16113] |= gBitTable[gBattlePartyID[gBank1]];
}
break;
case 1: //calculate experience points to redistribute
{
- int via_sent_in = 0, i;
+ int via_sent_in = 0;
u16 calculatedExp;
+ int i;
for (i = 0; i < 6; i++)
{
u16 item;
@@ -5894,15 +5329,14 @@ static void atk23_getexp(void)
BATTLE_STRUCT->sentInPokes >>= 1;
tracker = &BATTLE_STRUCT->atk23StateTracker;
zero = 0;
- goto LABEL;
+ *tracker = 5; //increment looper
+ gBattleMoveDamage = zero; //used for exp
}
else if (GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_LEVEL) == 100)
{
-
BATTLE_STRUCT->sentInPokes >>= 1;
tracker = &BATTLE_STRUCT->atk23StateTracker;
zero = 0;
- LABEL:
*tracker = 5; //increment looper
gBattleMoveDamage = zero; //used for exp
}
@@ -5937,7 +5371,9 @@ static void atk23_getexp(void)
stringID = 0x14A;
}
else
- stringID = 0x149;
+ {
+ stringID = 0x149;
+ }
//get exp getter bank
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
@@ -5962,12 +5398,13 @@ static void atk23_getexp(void)
gBattleTextBuff1[3] = BATTLE_STRUCT->expGetterID;
gBattleTextBuff1[4] = 0xFF;
- //buffer 'gained' or 'gained a boosted'
- gBattleTextBuff2[0] = 0xFD;
- gBattleTextBuff2[1] = 0;
- gBattleTextBuff2[2] = sBYTE0_32(stringID);
- gBattleTextBuff2[3] = sBYTE1_32(stringID);
- gBattleTextBuff2[4] = 0xFF;
+ //buffer 'gained' or 'gained a boosted'
+ gBattleTextBuff2[0] = 0xFD;
+ gBattleTextBuff2[1] = 0;
+ gBattleTextBuff2[2] = stringID;
+ stringID = (stringID >> 8) & (0xFF); //this does not want to cooperate
+ gBattleTextBuff2[3] = stringID;
+ gBattleTextBuff2[4] = 0xFF;
//buffer exp number
gBattleTextBuff3[0] = 0xFD;
@@ -5994,10 +5431,11 @@ static void atk23_getexp(void)
gBattleBufferB[BATTLE_STRUCT->expGetterBank][0] = 0;
if (GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_HP) && GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_LEVEL) != 100)
{
- BATTLE_STRUCT->beforeLvlUp[0] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_MAX_HP); //doesnt match
+ // Doesn't match.
+ BATTLE_STRUCT->beforeLvlUp[0] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_MAX_HP);
BATTLE_STRUCT->beforeLvlUp[1] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_ATK);
BATTLE_STRUCT->beforeLvlUp[2] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_DEF);
- BATTLE_STRUCT->beforeLvlUp[3] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPD);
+ BATTLE_STRUCT->beforeLvlUp[3] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED);
BATTLE_STRUCT->beforeLvlUp[4] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPATK);
BATTLE_STRUCT->beforeLvlUp[5] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPDEF);
@@ -6046,7 +5484,7 @@ static void atk23_getexp(void)
gBattleMons[0].maxHP = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_MAX_HP);
gBattleMons[0].attack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_ATK);
gBattleMons[0].defense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_DEF);
- gBattleMons[0].speed = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPD);
+ gBattleMons[0].speed = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED);
gBattleMons[0].spAttack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPATK);
gBattleMons[0].spDefense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPDEF);
}
@@ -6059,8 +5497,8 @@ static void atk23_getexp(void)
gBattleMons[2].attack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_ATK);
gBattleMons[2].defense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_DEF);
//There are no words...GF can't even copy&paste code properly
- gBattleMons[2].speed = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPD);
- gBattleMons[2].spAttack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPD /*RIP*/);
+ gBattleMons[2].speed = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED);
+ gBattleMons[2].spAttack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED /*RIP*/);
gBattleMons[2].spDefense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPATK);
}
BATTLE_STRUCT->atk23StateTracker = 5;
@@ -7274,14 +6712,14 @@ static void atk24(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if (found2 + found1 > 1)
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
else
{
if (found2 != 0 && found1 != 0)
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
@@ -7529,7 +6967,7 @@ static void atk25_move_values_cleanup(void)
static void atk26_set_multihit(void)
{
- gMultiHitCounter = BSScriptRead8(gBattlescriptCurrInstr + 1);
+ gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr += 2;
}
@@ -7538,20 +6976,20 @@ static void atk27_decrement_multihit(void)
if (--gMultiHitCounter == 0)
gBattlescriptCurrInstr += 5;
else
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atk28_goto(void)
{
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atk29_jumpifbyte(void)
{
- u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1);
- u8* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2);
- u8 value = BSScriptRead8(gBattlescriptCurrInstr + 6);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7);
+ u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1);
+ u8* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2);
+ u8 value = T2_READ_8(gBattlescriptCurrInstr + 6);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7);
gBattlescriptCurrInstr += 11;
switch (caseID)
{
@@ -7584,10 +7022,10 @@ static void atk29_jumpifbyte(void)
static void atk2A_jumpifhalfword(void)
{
- u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1);
- u16* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2);
- u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 6);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 8);
+ u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1);
+ u16* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2);
+ u16 value = T2_READ_16(gBattlescriptCurrInstr + 6);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 8);
gBattlescriptCurrInstr += 12;
switch (caseID)
{
@@ -7618,12 +7056,13 @@ static void atk2A_jumpifhalfword(void)
}
}
+// Strange that there's an instance of T1_READ_32 in what seems to be a T2 function. see global.h for the distinction.
static void atk2B_jumpifword(void)
{
- u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1);
- u32* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2);
- u32 value = BSScriptRead32(gBattlescriptCurrInstr + 6);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10);
+ u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1);
+ u32* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2);
+ u32 value = T1_READ_32(gBattlescriptCurrInstr + 6);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10);
gBattlescriptCurrInstr += 14;
switch (caseID)
{
@@ -7657,10 +7096,10 @@ static void atk2B_jumpifword(void)
static void atk2C_jumpifarrayequal(void)
{
//Mem1, Mem2, Size, Jump Loc
- u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
- u32 size = BSScriptRead8(gBattlescriptCurrInstr + 9);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10);
+ u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
+ u32 size = T2_READ_8(gBattlescriptCurrInstr + 9);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10);
u8 i;
for (i = 0; i < size; i++)
@@ -7681,10 +7120,10 @@ static void atk2D_jumpifarraynotequal(void)
{
//Mem1, Mem2, Size, Jump Loc
u8 equal_bytes = 0;
- u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
- u32 size = BSScriptRead8(gBattlescriptCurrInstr + 9);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10);
+ u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
+ u32 size = T2_READ_8(gBattlescriptCurrInstr + 9);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10);
u8 i;
for (i = 0; i < size; i++)
@@ -7704,30 +7143,30 @@ static void atk2D_jumpifarraynotequal(void)
static void atk2E_setbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem = BSScriptRead8(gBattlescriptCurrInstr + 5);
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem = T2_READ_8(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr += 6;
}
static void atk2F_addbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem += BSScriptRead8(gBattlescriptCurrInstr + 5);
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem += T2_READ_8(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr += 6;
}
static void atk30_subbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem -= BSScriptRead8(gBattlescriptCurrInstr + 5);
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem -= T2_READ_8(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr += 6;
}
static void atk31_copyarray(void)
{
- u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
- s32 size = BSScriptRead8(gBattlescriptCurrInstr + 9);
+ u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
+ s32 size = T2_READ_8(gBattlescriptCurrInstr + 9);
s32 i;
for (i = 0; i < size; i++)
@@ -7740,10 +7179,10 @@ static void atk31_copyarray(void)
static void atk32_copyarray_withindex(void)
{
- u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
- u8* index = BS2ScriptReadPtr(gBattlescriptCurrInstr + 9);
- s32 size = BSScriptRead8(gBattlescriptCurrInstr + 13);
+ u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
+ u8* index = T2_READ_PTR(gBattlescriptCurrInstr + 9);
+ s32 size = T2_READ_8(gBattlescriptCurrInstr + 13);
s32 i;
for (i = 0; i < size; i++)
@@ -7756,15 +7195,15 @@ static void atk32_copyarray_withindex(void)
static void atk33_orbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem |= BSScriptRead8(gBattlescriptCurrInstr + 5);
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem |= T2_READ_8(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr += 6;
}
static void atk34_orhalfword(void)
{
- u16* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u16 val = BS2ScriptRead16(gBattlescriptCurrInstr + 5);
+ u16* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u16 val = T2_READ_16(gBattlescriptCurrInstr + 5);
*mem |= val;
gBattlescriptCurrInstr += 7;
@@ -7772,8 +7211,8 @@ static void atk34_orhalfword(void)
static void atk35_orword(void)
{
- u32* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u32 val = BS2ScriptRead32(gBattlescriptCurrInstr + 5);
+ u32* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u32 val = T2_READ_32(gBattlescriptCurrInstr + 5);
*mem |= val;
gBattlescriptCurrInstr += 9;
@@ -7781,15 +7220,15 @@ static void atk35_orword(void)
static void atk36_bicbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem &= ~(BSScriptRead8(gBattlescriptCurrInstr + 5));
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem &= ~(T2_READ_8(gBattlescriptCurrInstr + 5));
gBattlescriptCurrInstr += 6;
}
static void atk37_bichalfword(void)
{
- u16* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u16 val = BS2ScriptRead16(gBattlescriptCurrInstr + 5);
+ u16* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u16 val = T2_READ_16(gBattlescriptCurrInstr + 5);
*mem &= ~val;
gBattlescriptCurrInstr += 7;
@@ -7797,8 +7236,8 @@ static void atk37_bichalfword(void)
static void atk38_bicword(void)
{
- u32* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u32 val = BS2ScriptRead32(gBattlescriptCurrInstr + 5);
+ u32* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u32 val = T2_READ_32(gBattlescriptCurrInstr + 5);
*mem &= ~val;
gBattlescriptCurrInstr += 9;
@@ -7808,7 +7247,7 @@ static void atk39_pause(void)
{
if (gBattleExecBuffer == 0)
{
- u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 1);
+ u16 value = T2_READ_16(gBattlescriptCurrInstr + 1);
if (++gPauseCounterBattle >= value)
{
gPauseCounterBattle = 0;
@@ -7825,7 +7264,7 @@ static void atk3A_waitstate(void)
static void atk3B_healthbar_update(void)
{
- if (!BSScriptRead8(gBattlescriptCurrInstr + 1))
+ if (!T2_READ_8(gBattlescriptCurrInstr + 1))
gActiveBank = gBankTarget;
else
gActiveBank = gBankAttacker;
@@ -7865,23 +7304,23 @@ static void atk3F_end3(void) //pops the main function stack
static void atk41_call(void)
{
b_movescr_stack_push(gBattlescriptCurrInstr + 5);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atk42_jumpiftype2(void) //u8 bank, u8 type, *ptr
{
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ u8 bank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1));
- if (BSScriptRead8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || BSScriptRead8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 3);
+ if (T1_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || T1_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2)
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3);
else
gBattlescriptCurrInstr += 7;
}
static void atk43_jumpifabilitypresent(void)
{
- if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, BSScriptRead8(gBattlescriptCurrInstr + 1), 0, 0))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, T2_READ_8(gBattlescriptCurrInstr + 1), 0, 0))
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -7895,9 +7334,9 @@ static void atk44(void)
static void atk45_playanimation(void)
{
- #define ANIMATION_ID BSScriptRead8(gBattlescriptCurrInstr + 2)
- #define ARGUMENT (u16*) BS2ScriptReadPtr(gBattlescriptCurrInstr + 3)
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ #define ANIMATION_ID T2_READ_8(gBattlescriptCurrInstr + 2)
+ #define ARGUMENT (u16*) T2_READ_PTR(gBattlescriptCurrInstr + 3)
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if ( ANIMATION_ID == 1 || ANIMATION_ID == 0x11 || ANIMATION_ID == 2) {
EmitBattleAnimation(0, ANIMATION_ID, *argument);
@@ -8022,9 +7461,39 @@ _080214AE:\n\
#ifdef NONMATCHING
static void atk46_playanimation2(void)
{
-
+ u8 arg1;
+ u8* arg2;
+ u16* arg3;
+ u32 something;
+
+ arg1 = T2_READ_8(gBattlescriptCurrInstr + 1);
+ gActiveBank = GetBattleBank(arg1);
+ arg2 = T2_READ_PTR(gBattlescriptCurrInstr + 2);
+ arg3 = T2_READ_PTR(gBattlescriptCurrInstr + 6);
+
+ if (*arg2 == 1 || *arg2 == 0x11 || *arg2 == 2)
+ {
+ EmitBattleAnimation(0, *arg2, *arg3);
+ MarkBufferBankForExecution(gActiveBank);
+ gBattlescriptCurrInstr += 10;
+ return;
+ }
+ if ((gHitMarker & 0x80))
+ {
+ something = (u32)(gBattlescriptCurrInstr + 10);
+ }
+ else
+ {
+ u8 yeah = *arg2 - 10;
+ if (yeah < 4 || (gStatuses3[gActiveBank] & 0x000400C0) == 0)
+ {
+ EmitBattleAnimation(0, *arg2, *arg3);
+ MarkBufferBankForExecution(gActiveBank);
+ }
+ something = (u32)(gBattlescriptCurrInstr + 10);
+ }
+ gBattlescriptCurrInstr = (u8*)something;
}
-
#else
__attribute__((naked))
static void atk46_playanimation2(void)
@@ -8165,9 +7634,9 @@ static void atk48_playstatchangeanimation(void)
u32 stats_to_check;
u8 arg3;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- stats_to_check = BSScriptRead8(gBattlescriptCurrInstr + 2);
- arg3 = BSScriptRead8(gBattlescriptCurrInstr + 3);
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ stats_to_check = T2_READ_8(gBattlescriptCurrInstr + 2);
+ arg3 = T2_READ_8(gBattlescriptCurrInstr + 3);
if (arg3 & 1)
{
u16 r1 = 0x15;
@@ -8177,7 +7646,7 @@ static void atk48_playstatchangeanimation(void)
{
if (!(stats_to_check & 1))
continue;
- if (!(BSScriptRead8(gBattlescriptCurrInstr + 3)))
+ if (!(T2_READ_8(gBattlescriptCurrInstr + 3)))
{
u8 ability;
if (gSideTimer[GetBankIdentity(gActiveBank) & 1].mistTimer)
@@ -8196,7 +7665,7 @@ static void atk48_playstatchangeanimation(void)
r1 += 1;
curr_stat++;
}
- if (changeable_stats > 1 && BSScriptRead8(gBattlescriptCurrInstr + 3) & 2)
+ if (changeable_stats > 1 && T2_READ_8(gBattlescriptCurrInstr + 3) & 2)
stat_animID = 0x39;
else
stat_animID = 0x3A;
@@ -8220,19 +7689,19 @@ static void atk48_playstatchangeanimation(void)
r1 += 1;
curr_stat++;
}
- if (changeable_stats > 1 && BSScriptRead8(gBattlescriptCurrInstr + 3) & 2)
+ if (changeable_stats > 1 && T2_READ_8(gBattlescriptCurrInstr + 3) & 2)
stat_animID = 0x37;
else
stat_animID = 0x38;
}
- if ((BSScriptRead8(gBattlescriptCurrInstr + 3) & 2 && changeable_stats <= 1)
+ if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 2 && changeable_stats <= 1)
|| changeable_stats == 0 || BATTLE_STRUCT->filler2[0] != 0)
gBattlescriptCurrInstr += 4;
else
{
EmitBattleAnimation(0, 1, stat_animID);
MarkBufferBankForExecution(gActiveBank);
- if ((BSScriptRead8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1)
+ if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1)
BATTLE_STRUCT->filler2[0] = 1;
gBattlescriptCurrInstr += 4;
}
@@ -8518,8 +7987,8 @@ static void atk49_moveendturn(void)
if (gLastUsedMove != 0xFFFF)
last_move = gLastUsedMove;
- arg1 = BSScriptRead8(gBattlescriptCurrInstr + 1);
- arg2 = BSScriptRead8(gBattlescriptCurrInstr + 2);
+ arg1 = T2_READ_8(gBattlescriptCurrInstr + 1);
+ arg2 = T2_READ_8(gBattlescriptCurrInstr + 2);
if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY)
hold_effect_atk = gEnigmaBerries[gBankAttacker].holdEffect;
else
@@ -10051,7 +9520,7 @@ static void atk4C_copy_poke_data(void)
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
gBattlePartyID[gActiveBank] = unk_2000000[0x16068 + gActiveBank];
@@ -10078,7 +9547,7 @@ static void atk4D_switch_data_update(void)
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
OldData = gBattleMons[gActiveBank];
monData = (u8*)(&gBattleMons[gActiveBank]);
for (i = 0; i < sizeof(struct BattlePokemon); i++)
@@ -10119,13 +9588,13 @@ static void atk4E_switchin_anim(void)
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER)))
{
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
}
gAbsentBankFlags &= ~(gBitTable[gActiveBank]);
- EmitSendOutPoke(0, gBattlePartyID[gActiveBank], BSScriptRead8(gBattlescriptCurrInstr + 2));
+ EmitSendOutPoke(0, gBattlePartyID[gActiveBank], T2_READ_8(gBattlescriptCurrInstr + 2));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
}
@@ -10136,12 +9605,12 @@ static void atk4F_jump_if_cannot_switch(void)
register struct Pokemon *party;
u8 r7;
//0x80 byte is used as a way of telling the function whether to not check status2/status3
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1) & 0x7F);
- if (!(BSScriptRead8(gBattlescriptCurrInstr + 1) & 0x80)
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x7F);
+ if (!(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x80)
&& ((gBattleMons[gActiveBank].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION))
|| (gStatuses3[gActiveBank] & STATUS3_ROOTED)))
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
return;
}
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
@@ -10162,7 +9631,7 @@ static void atk4F_jump_if_cannot_switch(void)
break;
}
if (val == to_cmp)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -10195,7 +9664,7 @@ static void atk4F_jump_if_cannot_switch(void)
break;
}
if (val == 6)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -10214,9 +9683,9 @@ static void atk50_openpartyscreen(void)
{
int i = 0;
int r9 = 0;
- u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 2);
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 5)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5)
{
if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE)
{
@@ -11285,8 +10754,8 @@ static void atk51_switch_handle_order(void)
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- switch (BSScriptRead8(gBattlescriptCurrInstr + 2))
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ switch (T2_READ_8(gBattlescriptCurrInstr + 2))
{
case 0:
for (i = 0; i < gNoOfAllBanks; i++)
@@ -11336,7 +10805,7 @@ static void atk52_switch_in_effects(void)
{
int i;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
sub_80157C4(gActiveBank);
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank));
gSpecialStatuses[gActiveBank].flag40 = 0;
@@ -11356,9 +10825,9 @@ static void atk52_switch_in_effects(void)
BATTLE_STRUCT->scriptingActive = gActiveBank;
b_movescr_stack_push_cursor();
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
gBattlescriptCurrInstr = gUnknown_081D919F;
- else if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 1)
+ else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1)
gBattlescriptCurrInstr = gUnknown_081D9171;
else
gBattlescriptCurrInstr = gUnknown_081D91CD;
@@ -11385,7 +10854,7 @@ static void atk52_switch_in_effects(void)
*(HP_ON_SWITCHOUT + GetBankSide(i)) = gBattleMons[i].hp;
}
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 5)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5)
{
u32 hitmark = gHitMarker >> 0x1C;
gBank1++;
@@ -11405,7 +10874,7 @@ static void atk52_switch_in_effects(void)
static void atk53_trainer_slide(void)
{
- if (!BSScriptRead8(gBattlescriptCurrInstr + 1))
+ if (!T2_READ_8(gBattlescriptCurrInstr + 1))
gActiveBank = GetBankByPlayerAI(0);
else
gActiveBank = GetBankByPlayerAI(1);
@@ -11418,7 +10887,7 @@ static void atk53_trainer_slide(void)
static void atk54_effectiveness_sound(void)
{
gActiveBank = gBankAttacker;
- EmitEffectivenessSound(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ EmitEffectivenessSound(0, T2_READ_16(gBattlescriptCurrInstr + 1));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
}
@@ -11426,14 +10895,14 @@ static void atk54_effectiveness_sound(void)
static void atk55_play_sound(void)
{
gActiveBank = gBankAttacker;
- Emitcmd44(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ Emitcmd44(0, T2_READ_16(gBattlescriptCurrInstr + 1));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
}
static void atk56_fainting_cry(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
EmitFaintingCry(0);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -11449,7 +10918,7 @@ static void atk57(void)
static void atk58_return_to_ball(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
EmitReturnPokeToBall(0, 1);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -11457,10 +10926,10 @@ static void atk58_return_to_ball(void)
void atk59_learnmove_inbattle(void)
{
- u8* loc1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* loc2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5);
+ u8* loc1 = T1_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* loc2 = T1_READ_PTR(gBattlescriptCurrInstr + 5);
- u16 ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], BSScriptRead8(gBattlescriptCurrInstr + 9));
+ u16 ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], T2_READ_8(gBattlescriptCurrInstr + 9));
while (ret == 0xFFFE)
ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], 0);
@@ -11573,7 +11042,7 @@ static void atk5A(void)
{
u8 *ptr;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
ptr = gBattleTextBuff2;
{
ptr[0] = 0xFD;
@@ -11643,7 +11112,7 @@ static void atk5B_80256E0(void)
{
PlaySE(SE_SELECT);
if (gBattleCommunication[1] != 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
sub_8023AD8();
@@ -11651,7 +11120,7 @@ static void atk5B_80256E0(void)
else if (gMain.newKeys & B_BUTTON)
{
PlaySE(SE_SELECT);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
sub_8023AD8();
}
}
@@ -11659,7 +11128,7 @@ static void atk5B_80256E0(void)
static void atk5C_hitanimation(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
gBattlescriptCurrInstr += 2;
else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBank].substituteHP == 0)
@@ -11932,7 +11401,7 @@ _08024190: .4byte gBattlescriptCurrInstr\n\
static void atk5E_8025A70(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
switch (gBattleCommunication[0])
{
case 0:
@@ -11973,26 +11442,20 @@ static void atk60_increment_gamestat(void)
{
if (GetBankSide(gBankAttacker) == 0)
{
- IncrementGameStat(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ IncrementGameStat(T2_READ_8(gBattlescriptCurrInstr + 1));
}
gBattlescriptCurrInstr += 2;
}
-struct hp_status
-{
- u16 hp;
- u32 status;
-};
-
static void atk61_8025BA4(void)
{
int i;
struct Pokemon* party;
- struct hp_status hpStatus[6];
+ struct HpAndStatus hpStatus[6];
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (GetBankSide(gActiveBank) == 0)
party = gPlayerParty;
else
@@ -12011,14 +11474,14 @@ static void atk61_8025BA4(void)
hpStatus[i].status = GetMonData(&party[i], MON_DATA_STATUS);
}
}
- Emitcmd48(0, (u8*)(hpStatus), 1);
+ EmitDrawPartyStatusSummary(0, hpStatus, 1);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
}
static void atk62_08025C6C(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
Emitcmd49(0);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -12026,7 +11489,7 @@ static void atk62_08025C6C(void)
static void atk63_jumptorandomattack(void)
{
- if (BSScriptRead8(gBattlescriptCurrInstr + 1))
+ if (T2_READ_8(gBattlescriptCurrInstr + 1))
gCurrentMove = gRandomMove;
else
gUnknown_02024BE8 = gCurrentMove = gRandomMove;
@@ -12037,7 +11500,7 @@ static void atk64_statusanimation(void)
{
if (gBattleExecBuffer == 0)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
EmitStatusAnimation(0, 0, gBattleMons[gActiveBank].status1);
@@ -12052,8 +11515,8 @@ static void atk65_status2animation(void)
if (gBattleExecBuffer == 0)
{
u32 possible_to_anim;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- possible_to_anim = BSScriptRead32(gBattlescriptCurrInstr + 2);
+ gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1));
+ possible_to_anim = T1_READ_32(gBattlescriptCurrInstr + 2);
if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
EmitStatusAnimation(0, 1, gBattleMons[gActiveBank].status2 & possible_to_anim);
@@ -12068,11 +11531,11 @@ static void atk66_chosenstatusanimation(void)
if (gBattleExecBuffer == 0)
{
u32 status;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- status = BSScriptRead32(gBattlescriptCurrInstr + 3);
+ gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1));
+ status = T1_READ_32(gBattlescriptCurrInstr + 3);
if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
- EmitStatusAnimation(0, BSScriptRead8(gBattlescriptCurrInstr + 2), status);
+ EmitStatusAnimation(0, T1_READ_8(gBattlescriptCurrInstr + 2), status);
MarkBufferBankForExecution(gActiveBank);
}
gBattlescriptCurrInstr += 7;
@@ -12176,7 +11639,7 @@ static void atk69_dmg_adjustment2(void) //literally a copy of atk07 except there
void atk6A_removeitem(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
#define USED_HELD_ITEMS(bank) (*(u16 *)&ewram[0x160CC + 2 * (bank)])
USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item;
@@ -12636,7 +12099,7 @@ static void atk6E_set_atk_to_player0(void)
static void atk6F_set_visible(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
EmitSpriteInvisibility(0, 0);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -12644,7 +12107,7 @@ static void atk6F_set_visible(void)
static void atk70_record_ability(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
RecordAbilityBattle(gActiveBank, gLastUsedAbility);
gBattlescriptCurrInstr += 1; //buggy, should be += 2, one byte for command, one byte for argument...
}
@@ -12667,7 +12130,7 @@ static void atk71_buffer_move_to_learn(void)
static void atk72_jump_if_can_run_frombattle(void)
{
if (sub_8014AB8(gBank1))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
@@ -12678,7 +12141,7 @@ static void atk73_hp_thresholds(void)
s32 result;
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
opposing_bank = gActiveBank ^ 1;
result = gBattleMons[opposing_bank].hp * 100 / gBattleMons[opposing_bank].maxHP;
@@ -12705,7 +12168,7 @@ static void atk74_hp_thresholds2(void)
s32 result;
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
opposing_bank = gActiveBank ^ 1;
hp_switchout = ewram[2 * GetBankSide(opposing_bank) + 0x160bc]; //BATTLE_STRUCT->HP_OnSwitchout[GetBankSide(opposing_bank)];
result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout;
@@ -12732,8 +12195,8 @@ static void atk75_8026A58(void)
static void atk76_various(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- switch (BSScriptRead8(gBattlescriptCurrInstr + 2))
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ switch (T2_READ_8(gBattlescriptCurrInstr + 2))
{
case 0:
CancelMultiTurnMoves(gActiveBank);
@@ -12880,7 +12343,7 @@ static void atk79_setatkhptozero(void)
static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop through all targets
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
@@ -12903,9 +12366,9 @@ static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop throug
static void atk7B_healhalfHP_if_possible(void)
{
- u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
- if (BSScriptRead8(gBattlescriptCurrInstr + 5) == 1)
+ if (T2_READ_8(gBattlescriptCurrInstr + 5) == 1)
gBankTarget = gBankAttacker;
gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2;
@@ -13022,7 +12485,7 @@ static void atk7F_setseeded(void)
static void atk80_manipulatedamage(void)
{
- switch (BSScriptRead8(gBattlescriptCurrInstr + 1))
+ switch (T2_READ_8(gBattlescriptCurrInstr + 1))
{
case 0:
gBattleMoveDamage *= -1;
@@ -13044,7 +12507,7 @@ static void atk80_manipulatedamage(void)
static void atk81_setrest(void)
{
- u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
gActiveBank = gBankTarget = gBankAttacker;
gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1);
if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP)
@@ -13065,7 +12528,7 @@ static void atk81_setrest(void)
static void atk82_jumpifnotfirstturn(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gDisableStructs[gBankAttacker].isFirstTurn)
gBattlescriptCurrInstr += 5;
@@ -13102,7 +12565,7 @@ bool8 UproarWakeUpCheck(u8 bank)
static void atk84_jump_if_cant_sleep(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (UproarWakeUpCheck(gBankTarget))
gBattlescriptCurrInstr = jump_loc;
else if (gBattleMons[gBankTarget].ability == ABILITY_INSOMNIA || gBattleMons[gBankTarget].ability == ABILITY_VITAL_SPIRIT)
@@ -13141,7 +12604,7 @@ static void atk85_stockpile(void)
static void atk86_stockpiletobasedamage(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gDisableStructs[gBankAttacker].stockpileCounter == 0)
{
gBattlescriptCurrInstr = jump_loc;
@@ -13166,7 +12629,7 @@ static void atk86_stockpiletobasedamage(void)
static void atk87_stockpiletohpheal(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gDisableStructs[gBankAttacker].stockpileCounter == 0)
{
gBattlescriptCurrInstr = jump_loc;
@@ -13953,8 +13416,8 @@ _080262C0: .4byte gBattleMoveFlags\n\
static void atk89_statbuffchange(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
- if (ChangeStatBuffs(BATTLE_STRUCT->statChanger & 0xF0, BATTLE_STRUCT->statChanger & 0xF, BSScriptRead8(gBattlescriptCurrInstr + 1), jump_loc) == 0)
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 2);
+ if (ChangeStatBuffs(BATTLE_STRUCT->statChanger & 0xF0, BATTLE_STRUCT->statChanger & 0xF, T2_READ_8(gBattlescriptCurrInstr + 1), jump_loc) == 0)
gBattlescriptCurrInstr += 6;
}
@@ -13989,8 +13452,8 @@ static void atk8C_confuseifrepeatingattackends(void)
static void atk8D_setmultihit_counter(void)
{
- if (BSScriptRead8(gBattlescriptCurrInstr + 1))
- gMultiHitCounter = BSScriptRead8(gBattlescriptCurrInstr + 1);
+ if (T2_READ_8(gBattlescriptCurrInstr + 1))
+ gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1);
else
{
gMultiHitCounter = Random() & 3;
@@ -14024,7 +13487,7 @@ static bool8 sub_80264C0(void)
u16 random = Random() & 0xFF;
if ((u32)((random * (gBattleMons[gBankAttacker].level + gBattleMons[gBankTarget].level) >> 8) + 1) <= (gBattleMons[gBankTarget].level / 4))
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
return 0;
}
ewram[gBankTarget + 0x16064] = gBattlePartyID[gBankTarget];
@@ -14075,7 +13538,7 @@ static void atk8F_forcerandomswitch(void)
if ((valid < 2 && (gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE)
|| (valid < 3 && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)))
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else if (sub_80264C0())
{
@@ -14151,7 +13614,7 @@ static void atk90_conversion_type_change(void)
if (checked_move == valid_moves)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -14270,7 +13733,7 @@ MOVESTATUS_MISSED_LABEL:
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#else
@@ -14725,7 +14188,7 @@ static void atk97_try_infatuation(void)
|| gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE || gBattleMons[gBankTarget].status2 & STATUS2_INFATUATION || GetGenderFromSpeciesAndPersonality(atk_species, atk_pid) == 0xFF
|| GetGenderFromSpeciesAndPersonality(def_species, def_pid) == 0xFF)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -14740,9 +14203,9 @@ static void atk98_status_icon_update(void)
if (gBattleExecBuffer)
return;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) != 4)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) != 4)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -14882,7 +14345,7 @@ static void atk9D_copyattack(void)
if (IsMoveUncopyable(gLastUsedMove[gBankTarget]) || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED
|| gLastUsedMove[gBankTarget] == 0 || gLastUsedMove[gBankTarget] == 0xFFFF)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -14910,7 +14373,7 @@ static void atk9D_copyattack(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15047,7 +14510,7 @@ static void atkA1_counterdamagecalculator(void)
else
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15067,7 +14530,7 @@ static void atkA2_mirrorcoatdamagecalculator(void) //a copy of atkA1 with the ph
else
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15094,7 +14557,7 @@ static void atkA3_disablelastusedattack(void)
}
else
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15118,7 +14581,7 @@ static void atkA4_setencore(void)
}
else
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15139,14 +14602,14 @@ static void atkA5_painsplitdmgcalc(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#ifdef NONMATCHING
static void atkA6_settypetorandomresistance(void)
{
if (gMoveHitWith[gBankAttacker] == 0 || gMoveHitWith[gBankAttacker] == 0xFFFF || (IsTwoTurnsMove(gMoveHitWith[gBankAttacker]) && !gProtectStructs[gBankAttacker].physicalDmg && !gProtectStructs[gBankAttacker].specialDmg))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
int type = 0, rands = 0;
@@ -15188,7 +14651,7 @@ static void atkA6_settypetorandomresistance(void)
type += 3, rands += 3;
} while (rands < 336);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15477,7 +14940,7 @@ static void atkA8_copymovepermanently(void)
break;
}
if (i != 4) //sketch fail
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else //sketch worked
{
struct move_pp moves_data;
@@ -15501,7 +14964,7 @@ static void atkA8_copymovepermanently(void)
}
}
else //sketch fail
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static bool8 IsTwoTurnsMove(u16 move)
@@ -15562,7 +15025,7 @@ static void atkA9_sleeptalk_choose_move(void)
gCurrMovePos = random_pos;
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gBankTarget = GetMoveTarget(gRandomMove, 0);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15642,7 +15105,7 @@ static void atkAD_spite_ppreduce(void)
return;
}
}
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkAE_heal_party_status(void)
@@ -15726,7 +15189,7 @@ static void atkAF_cursetarget(void)
{
if (gBattleMons[gBankTarget].status2 & STATUS2_CURSED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -15744,7 +15207,7 @@ static void atkB0_set_spikes(void)
if (gSideTimer[side].spikesAmount == 3)
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -15778,7 +15241,7 @@ static void atkB2_setperishsong(void)
sub_80153D0(gBankAttacker);
if (not_affected_pokes == gNoOfAllBanks)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
@@ -15816,8 +15279,8 @@ static void atkB3_rolloutdamagecalculation(void)
static void atkB4_jumpifconfusedandstatmaxed(void)
{
- if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[BSScriptRead8(gBattlescriptCurrInstr + 1)] == 0xC)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[T2_READ_8(gBattlescriptCurrInstr + 1)] == 0xC)
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -15984,7 +15447,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkBB_setsunny(void)
@@ -16019,7 +15482,7 @@ static void atkBC_maxattackhalvehp(void) //belly drum
}
else
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -16089,7 +15552,7 @@ static void atkC0_recoverbasedonsunlight(void)
}
else
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -16258,7 +15721,7 @@ static void atkC3_setfutureattack(void)
{
if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -16291,7 +15754,7 @@ static void atkC4_beat_up(void)
party = gEnemyParty;
if (gBattleMons[gBankTarget].hp == 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
while (gBattleCommunication[0] < 6)
@@ -16321,9 +15784,9 @@ static void atkC4_beat_up(void)
gBattleCommunication[0]++;
}
else if (gBattleCommunication[0] != 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 5);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5);
}
}
#else
@@ -16645,7 +16108,7 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento
if (gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] == 0
&& gBattleMons[gBankTarget].statStages[STAT_STAGE_SPATK] == 0
&& gBattleCommunication[6] != 1)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gActiveBank = gBankAttacker;
@@ -16691,13 +16154,13 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) //refresh
MarkBufferBankForExecution(gActiveBank);
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkCE_settorment(void)
{
if (gBattleMons[gBankTarget].status2 & STATUS2_TORMENT)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gBattleMons[gBankTarget].status2 |= STATUS2_TORMENT;
@@ -16710,7 +16173,7 @@ static void atkCF_jumpifnodamage(void)
if (gProtectStructs[gBankAttacker].physicalDmg || gProtectStructs[gBankAttacker].specialDmg)
gBattlescriptCurrInstr += 5;
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkD0_settaunt(void)
@@ -16722,7 +16185,7 @@ static void atkD0_settaunt(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkD1_set_helpinghand(void)
@@ -16735,7 +16198,7 @@ static void atkD1_set_helpinghand(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#ifdef NONMATCHING
@@ -16747,7 +16210,7 @@ static void atkD2_swap_items(void)
if (gBattleTypeFlags)
}
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#else
@@ -17080,12 +16543,12 @@ static void atkD3_copy_ability(void) //role play
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkD4_wish_effect(void)
{
- switch (BSScriptRead8(gBattlescriptCurrInstr + 1))
+ switch (T2_READ_8(gBattlescriptCurrInstr + 1))
{
case 0: //use wish
if (gWishFutureKnock.wishCounter[gBankAttacker] == 0)
@@ -17095,7 +16558,7 @@ static void atkD4_wish_effect(void)
gBattlescriptCurrInstr += 6;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
break;
case 1: //heal effect
gBattleTextBuff1[0] = 0xFD;
@@ -17108,7 +16571,7 @@ static void atkD4_wish_effect(void)
gBattleMoveDamage = 1;
gBattleMoveDamage *= -1;
if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
break;
@@ -17118,7 +16581,7 @@ static void atkD4_wish_effect(void)
static void atkD5_setroots(void) //ingrain
{
if (gStatuses3[gBankAttacker] & STATUS3_ROOTED)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gStatuses3[gBankAttacker] |= STATUS3_ROOTED;
@@ -17137,7 +16600,7 @@ static void atkD6_doubledamagedealtifdamaged(void)
static void atkD7_setyawn(void)
{
if (gStatuses3[gBankTarget] & STATUS3_YAWN || (u8) gBattleMons[gBankTarget].status1)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gStatuses3[gBankTarget] |= 0x1000;
@@ -17149,7 +16612,7 @@ static void atkD8_setdamagetohealthdifference(void)
{
if (gBattleMons[gBankTarget].hp <= gBattleMons[gBankAttacker].hp)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -17175,7 +16638,7 @@ static void atkDA_abilityswap(void)
if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0)
|| gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD
|| gBattleMoveFlags & MOVESTATUS_NOEFFECT)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
u8 atk_ability = gBattleMons[gBankAttacker].ability;
@@ -17190,7 +16653,7 @@ static void atkDB_imprisoneffect(void)
u8 r8 = 0;
if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISIONED))
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -17221,14 +16684,14 @@ static void atkDB_imprisoneffect(void)
}
}
if (bank == gNoOfAllBanks)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
static void atkDC_setgrudge(void)
{
if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gStatuses3[gBankAttacker] |= STATUS3_GRUDGE;
@@ -17302,7 +16765,7 @@ static void atkDE_asistattackselect(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#else
@@ -17498,7 +16961,7 @@ static void atkDF_setmagiccoat(void)
gBankTarget = gBankAttacker;
gSpecialStatuses[gBankAttacker].flag20 = 1;
if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gProtectStructs[gBankAttacker].bounceMove = 1;
@@ -17510,7 +16973,7 @@ static void atkE0_setstealstatchange(void)
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gProtectStructs[gBankAttacker].stealMove = 1;
@@ -17538,14 +17001,14 @@ static void atkE1_intimidate_string_loader(void)
}
if (gBankTarget >= gNoOfAllBanks)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
static void atkE2_switchout_abilities(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
switch (gBattleMons[gActiveBank].ability)
{
case ABILITY_NATURAL_CURE:
@@ -17559,9 +17022,9 @@ static void atkE2_switchout_abilities(void)
static void atkE3_jumpiffainted(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMons[gActiveBank].hp == 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -17675,7 +17138,7 @@ static void atkE8_settypebasedhalvers(void) //water/mud sport
if (worked)
gBattlescriptCurrInstr += 5;
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkE9_setweatherballtype(void)
@@ -17713,7 +17176,7 @@ static void atkEA_recycleitem(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkEB_settypetoterrain(void)
@@ -17729,7 +17192,7 @@ static void atkEB_settypetoterrain(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkEC_pursuit_sth(void)
@@ -17745,7 +17208,7 @@ static void atkEC_pursuit_sth(void)
gBankAttacker = gActiveBank;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkED_802B4B4(void)
@@ -17834,7 +17297,7 @@ void atkEF_pokeball_catch_calculation(void)
ball_multiplier = 10;
break;
case ITEM_REPEAT_BALL:
- if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
ball_multiplier = 30;
else
ball_multiplier = 10;
@@ -17920,11 +17383,11 @@ static void atkF0_copy_caught_poke(void)
static void atkF1_setpoke_as_caught(void)
{
- if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3);
if (gBattleMons[gBankTarget].species == SPECIES_UNOWN)
gSaveBlock2.pokedex.unownPersonality = gBattleMons[gBankTarget].personality;
if (gBattleMons[gBankTarget].species == SPECIES_SPINDA) //else if
@@ -18125,14 +17588,14 @@ static void atkF3_nickname_caught_poke(void)
if (gMain.callback2 == sub_800F808 && !gPaletteFade.active )
{
SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, BATTLE_STRUCT->caughtNick);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
break;
case 4:
if (CalculatePlayerPartyCount() == 6)
gBattlescriptCurrInstr += 5;
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
break;
}
}
diff --git a/src/battle_7.c b/src/battle/battle_7.c
index cf3a3522e..1d68386aa 100644
--- a/src/battle_7.c
+++ b/src/battle/battle_7.c
@@ -48,8 +48,8 @@ extern struct MusicPlayerInfo gMPlay_BGM;
extern u32 gBitTable[];
extern u16 gBattleTypeFlags;
extern u8 gBattleMonForms[];
-extern u8 gBattleAnimPlayerMonIndex;
-extern u8 gBattleAnimEnemyMonIndex;
+extern u8 gBattleAnimBankAttacker;
+extern u8 gBattleAnimBankTarget;
extern void (*gAnimScriptCallback)(void);
extern u8 gAnimScriptActive;
extern const u8 *const gBattleAnims_Unknown1[];
@@ -78,7 +78,7 @@ extern void sub_80440EC();
extern void sub_804777C();
extern void sub_8141828();
extern u8 sub_8077ABC();
-extern u8 sub_8078874(u8);
+extern u8 AnimBankSpriteExists(u8);
extern u8 sub_8077F68(u8);
extern u8 sub_8077F7C(u8);
extern void sub_8094958(void);
@@ -185,8 +185,8 @@ bool8 move_anim_start_t3(u8 a, u8 b, u8 c, u8 d, u16 e)
sub_80324E0(a);
return TRUE;
}
- gBattleAnimPlayerMonIndex = b;
- gBattleAnimEnemyMonIndex = c;
+ gBattleAnimBankAttacker = b;
+ gBattleAnimBankTarget = c;
ewram17840.unk0 = e;
DoMoveAnim(gBattleAnims_Unknown1, d, 0);
taskId = CreateTask(sub_80315E8, 10);
@@ -225,8 +225,8 @@ void move_anim_start_t4(u8 a, u8 b, u8 c, u8 d)
{
u8 taskId;
- gBattleAnimPlayerMonIndex = b;
- gBattleAnimEnemyMonIndex = c;
+ gBattleAnimBankAttacker = b;
+ gBattleAnimBankTarget = c;
DoMoveAnim(gBattleAnims_Unknown2, d, 0);
taskId = CreateTask(sub_80316CC, 10);
gTasks[taskId].data[0] = a;
@@ -301,16 +301,16 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b)
r7);
paletteOffset = 0x100 + b * 16;
if (ewram17800[b].transformedSpecies == 0)
- lzPaletteData = pokemon_get_pal(pkmn);
+ lzPaletteData = GetMonSpritePal(pkmn);
else
- lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue);
- sub_800D238(lzPaletteData, ewram);
+ lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue);
+ LZDecompressWram(lzPaletteData, ewram);
LoadPalette(ewram, paletteOffset, 0x20);
LoadPalette(ewram, 0x80 + b * 16, 0x20);
if (species == SPECIES_CASTFORM)
{
paletteOffset = 0x100 + b * 16;
- sub_800D238(lzPaletteData, ewram + 0x16400);
+ LZDecompressWram(lzPaletteData, ewram + 0x16400);
LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20);
}
if (ewram17800[b].transformedSpecies != 0)
@@ -353,16 +353,16 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b)
r7);
paletteOffset = 0x100 + b * 16;
if (ewram17800[b].transformedSpecies == 0)
- lzPaletteData = pokemon_get_pal(pkmn);
+ lzPaletteData = GetMonSpritePal(pkmn);
else
- lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue);
- sub_800D238(lzPaletteData, ewram);
+ lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue);
+ LZDecompressWram(lzPaletteData, ewram);
LoadPalette(ewram, paletteOffset, 0x20);
LoadPalette(ewram, 0x80 + b * 16, 0x20);
if (species == SPECIES_CASTFORM)
{
paletteOffset = 0x100 + b * 16;
- sub_800D238(lzPaletteData, ewram + 0x16400);
+ LZDecompressWram(lzPaletteData, ewram + 0x16400);
LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20);
}
if (ewram17800[b].transformedSpecies != 0)
@@ -506,7 +506,7 @@ bool8 sub_8031C30(u8 a)
void load_gfxc_health_bar(void)
{
- sub_800D238(gUnknown_08D09C48, (void *)0x02000000);
+ LZDecompressWram(gUnknown_08D09C48, (void *)0x02000000);
}
u8 battle_load_something(u8 *pState, u8 *b)
@@ -637,7 +637,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
const void *src;
void *dst;
- if (IsContest())
+ if (NotInBattle())
{
r10 = 0;
species = ewram19348.unk2;
@@ -690,19 +690,19 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
dst = (void *)(VRAM + 0x10000 + gSprites[gObjectBankIDs[a]].oam.tileNum * 32);
DmaCopy32(3, src, dst, 0x800);
paletteOffset = 0x100 + a * 16;
- lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue);
- sub_800D238(lzPaletteData, ewram);
+ lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue);
+ LZDecompressWram(lzPaletteData, ewram);
LoadPalette(ewram, paletteOffset, 32);
if (species == SPECIES_CASTFORM)
{
u16 *paletteSrc = (u16 *)(ewram + 0x16400);
- sub_800D238(lzPaletteData, paletteSrc);
+ LZDecompressWram(lzPaletteData, paletteSrc);
LoadPalette(paletteSrc + gBattleMonForms[b] * 16, paletteOffset, 32);
}
BlendPalette(paletteOffset, 16, 6, 0x7FFF);
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
- if (!IsContest())
+ if (!NotInBattle())
{
ewram17800[a].transformedSpecies = species;
gBattleMonForms[a] = gBattleMonForms[b];
@@ -722,11 +722,11 @@ void BattleLoadSubstituteSprite(u8 a, u8 b)
if (b == 0)
{
- if (IsContest())
+ if (NotInBattle())
r4 = 0;
else
r4 = GetBankIdentity(a);
- if (IsContest())
+ if (NotInBattle())
LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]);
else if (GetBankSide(a) != 0)
LZDecompressVram(gSubstituteDollGfx, gUnknown_081FAF4C[r4]);
@@ -742,7 +742,7 @@ void BattleLoadSubstituteSprite(u8 a, u8 b)
}
else
{
- if (!IsContest())
+ if (!NotInBattle())
{
if (GetBankSide(a) != 0)
BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a);
@@ -846,7 +846,7 @@ void sub_80326EC(u8 a)
for (i = 0; i < gNoOfAllBanks; i++)
{
- if (sub_8078874(i) != 0)
+ if (AnimBankSpriteExists(i) != 0)
{
gSprites[gObjectBankIDs[i]].oam.affineMode = a;
if (a == 0)
@@ -884,7 +884,7 @@ void sub_80328A4(struct Sprite *sprite)
u8 r4 = sprite->data0;
struct Sprite *r7 = &gSprites[gObjectBankIDs[r4]];
- if (!r7->inUse || sub_8078874(r4) == 0)
+ if (!r7->inUse || AnimBankSpriteExists(r4) == 0)
{
sprite->callback = sub_8032978;
return;
diff --git a/src/battle_ai.c b/src/battle/battle_ai.c
index 0e20c6b05..9c6d2bec4 100644
--- a/src/battle_ai.c
+++ b/src/battle/battle_ai.c
@@ -267,10 +267,9 @@ const u16 sDiscouragedPowerfulMoveEffects[] =
void BattleAI_HandleItemUseBeforeAISetup(void)
{
s32 i;
- u8 *data = (u8 *)UNK_2016A00_STRUCT;
+ u8 *data;
- for (i = 0; (u32)i < sizeof(struct UnkBattleStruct1); i++)
- data[i] = 0;
+ MEMSET_ALT(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data);
if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER)
&& gTrainerBattleOpponent != 0x400
@@ -292,21 +291,23 @@ void BattleAI_HandleItemUseBeforeAISetup(void)
void BattleAI_SetupAIData(void)
{
s32 i;
- u8 *data = (u8 *)AI_THINKING_STRUCT;
- u8 r7;
+ u8 limitations;
+ u8 *data;
// clear AI data and set default move score to 100. strange that they didn't use memset here.
- for (i = 0; (u32)i < sizeof(struct AI_ThinkingStruct); i++)
- data[i] = 0;
+ MEMSET_ALT(AI_THINKING_STRUCT, 0, sizeof(struct AI_ThinkingStruct), i, data);
+
for (i = 0; i < MAX_MON_MOVES; i++)
AI_THINKING_STRUCT->score[i] = 100;
- r7 = CheckMoveLimitations(gActiveBank, 0, 0xFF);
+ limitations = CheckMoveLimitations(gActiveBank, 0, 0xFF);
- // probably sets up the moves to consider and ignores non-valid moves such as NO_MOVE or glitch moves.
+ // do not consider moves the AI cannot select
+ // also, roll simulated RNG for moves that have a degree of
+ // randomness.
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gBitTable[i] & r7)
+ if (gBitTable[i] & limitations)
AI_THINKING_STRUCT->score[i] = 0;
AI_THINKING_STRUCT->simulatedRNG[i] = 100 - (Random() % 16);
@@ -411,7 +412,7 @@ void BattleAI_DoAIProcessing(void)
break;
case AIState_Processing:
if (AI_THINKING_STRUCT->moveConsidered != MOVE_NONE)
- sBattleAICmdTable[*(u8 *)gAIScriptPtr](); // run AI command.
+ sBattleAICmdTable[*gAIScriptPtr](); // run AI command.
else
{
AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; // definitely do not consider any move that has 0 PP.
@@ -469,7 +470,7 @@ void RecordItemBattle(u8 a, u8 b)
static void BattleAICmd_if_random_less_than(void)
{
if (Random() % 256 < gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -477,7 +478,7 @@ static void BattleAICmd_if_random_less_than(void)
static void BattleAICmd_if_random_greater_than(void)
{
if (Random() % 256 > gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -485,7 +486,7 @@ static void BattleAICmd_if_random_greater_than(void)
static void BattleAICmd_if_random_equal(void)
{
if (Random() % 256 == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -493,7 +494,7 @@ static void BattleAICmd_if_random_equal(void)
static void BattleAICmd_if_random_not_equal(void)
{
if (Random() % 256 != gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -518,7 +519,7 @@ static void BattleAICmd_if_hp_less_than(void)
index = gBankTarget;
if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) < gAIScriptPtr[2])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
@@ -533,7 +534,7 @@ static void BattleAICmd_if_hp_more_than(void)
index = gBankTarget;
if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) > gAIScriptPtr[2])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
@@ -548,7 +549,7 @@ static void BattleAICmd_if_hp_equal(void)
index = gBankTarget;
if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) == gAIScriptPtr[2])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
@@ -563,7 +564,7 @@ static void BattleAICmd_if_hp_not_equal(void)
index = gBankTarget;
if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) != gAIScriptPtr[2])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
@@ -578,10 +579,10 @@ static void BattleAICmd_if_status(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gBattleMons[index].status1 & arg) != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -596,10 +597,10 @@ static void BattleAICmd_if_not_status(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gBattleMons[index].status1 & arg) == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -614,10 +615,10 @@ static void BattleAICmd_if_status2(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gBattleMons[index].status2 & arg) != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -632,10 +633,10 @@ static void BattleAICmd_if_not_status2(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gBattleMons[index].status2 & arg) == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -650,10 +651,10 @@ static void BattleAICmd_if_status3(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gStatuses3[index] & arg) != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -668,10 +669,10 @@ static void BattleAICmd_if_not_status3(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gStatuses3[index] & arg) == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -687,10 +688,10 @@ static void BattleAICmd_if_status4(void)
index = gBankTarget;
arg1 = GetBankIdentity(index) & 1;
- arg2 = AIScriptRead32(gAIScriptPtr + 2);
+ arg2 = T1_READ_32(gAIScriptPtr + 2);
if ((gSideAffecting[arg1] & arg2) != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -706,10 +707,10 @@ static void BattleAICmd_if_not_status4(void)
index = gBankTarget;
arg1 = GetBankIdentity(index) & 1;
- arg2 = AIScriptRead32(gAIScriptPtr + 2);
+ arg2 = T1_READ_32(gAIScriptPtr + 2);
if ((gSideAffecting[arg1] & arg2) == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -717,7 +718,7 @@ static void BattleAICmd_if_not_status4(void)
static void BattleAICmd_if_less_than(void)
{
if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -725,7 +726,7 @@ static void BattleAICmd_if_less_than(void)
static void BattleAICmd_if_more_than(void)
{
if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -733,7 +734,7 @@ static void BattleAICmd_if_more_than(void)
static void BattleAICmd_if_equal(void)
{
if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -741,80 +742,80 @@ static void BattleAICmd_if_equal(void)
static void BattleAICmd_if_not_equal(void)
{
if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
static void BattleAICmd_if_less_than_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *temp = T1_READ_PTR(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult < *temp)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
}
static void BattleAICmd_if_more_than_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *temp = T1_READ_PTR(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult > *temp)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
}
static void BattleAICmd_if_equal_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *temp = T1_READ_PTR(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult == *temp)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
}
static void BattleAICmd_if_not_equal_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *temp = T1_READ_PTR(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult != *temp)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
}
static void BattleAICmd_if_move(void)
{
- u16 move = AIScriptRead16(gAIScriptPtr + 1);
+ u16 move = T1_READ_16(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->moveConsidered == move)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
static void BattleAICmd_if_not_move(void)
{
- u16 move = AIScriptRead16(gAIScriptPtr + 1);
+ u16 move = T1_READ_16(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->moveConsidered != move)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
static void BattleAICmd_if_in_bytes(void)
{
- u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1);
while (*ptr != 0xFF)
{
if (AI_THINKING_STRUCT->funcResult == *ptr)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
return;
}
ptr++;
@@ -824,7 +825,7 @@ static void BattleAICmd_if_in_bytes(void)
static void BattleAICmd_if_not_in_bytes(void)
{
- u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1);
while (*ptr != 0xFF)
{
@@ -835,18 +836,18 @@ static void BattleAICmd_if_not_in_bytes(void)
}
ptr++;
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
}
static void BattleAICmd_if_in_words(void)
{
- u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
+ u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1);
while (*ptr != 0xFFFF)
{
if (AI_THINKING_STRUCT->funcResult == *ptr)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
return;
}
ptr++;
@@ -856,7 +857,7 @@ static void BattleAICmd_if_in_words(void)
static void BattleAICmd_if_not_in_words(void)
{
- u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
+ u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1);
while (*ptr != 0xFFFF)
{
@@ -867,7 +868,7 @@ static void BattleAICmd_if_not_in_words(void)
}
ptr++;
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
}
static void BattleAICmd_if_user_can_damage(void)
@@ -883,7 +884,7 @@ static void BattleAICmd_if_user_can_damage(void)
if (i == MAX_MON_MOVES)
gAIScriptPtr += 5;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
static void BattleAICmd_if_user_cant_damage(void)
@@ -899,7 +900,7 @@ static void BattleAICmd_if_user_cant_damage(void)
if (i != MAX_MON_MOVES)
gAIScriptPtr += 5;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
static void BattleAICmd_get_turn_count(void)
@@ -1258,7 +1259,7 @@ static void BattleAICmd_get_move(void)
static void BattleAICmd_if_arg_equal(void)
{
if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1266,23 +1267,23 @@ static void BattleAICmd_if_arg_equal(void)
static void BattleAICmd_if_arg_not_equal(void)
{
if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
static void BattleAICmd_if_would_go_first(void)
{
- if (b_first_side(gBankAttacker, gBankTarget, 1) == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, 1) == gAIScriptPtr[1])
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
static void BattleAICmd_if_would_not_go_first(void)
{
- if (b_first_side(gBankAttacker, gBankTarget, 1) != gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, 1) != gAIScriptPtr[1])
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1486,7 +1487,7 @@ static void BattleAICmd_if_damage_bonus(void)
damageVar = gBattleMoveDamage;
if (damageVar == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1517,7 +1518,7 @@ static void BattleAICmd_if_status_in_party(void)
break;
}
- statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2);
+ statusToCompareTo = T1_READ_32(gAIScriptPtr + 2);
for (i = 0; i < 6; i++)
{
@@ -1527,7 +1528,7 @@ static void BattleAICmd_if_status_in_party(void)
if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch
return;
}
}
@@ -1553,7 +1554,7 @@ static void BattleAICmd_if_status_not_in_party(void)
break;
}
- statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2);
+ statusToCompareTo = T1_READ_32(gAIScriptPtr + 2);
for (i = 0; i < 6; i++)
{
@@ -1565,7 +1566,7 @@ static void BattleAICmd_if_status_not_in_party(void)
if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo)
gAIScriptPtr += 10; // doesnt return?
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
}
static void BattleAICmd_get_weather(void)
@@ -1585,7 +1586,7 @@ static void BattleAICmd_get_weather(void)
static void BattleAICmd_if_effect(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1593,7 +1594,7 @@ static void BattleAICmd_if_effect(void)
static void BattleAICmd_if_not_effect(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1608,7 +1609,7 @@ static void BattleAICmd_if_stat_level_less_than(void)
party = gBankTarget;
if (gBattleMons[party].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
@@ -1623,7 +1624,7 @@ static void BattleAICmd_if_stat_level_more_than(void)
party = gBankTarget;
if (gBattleMons[party].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
@@ -1638,7 +1639,7 @@ static void BattleAICmd_if_stat_level_equal(void)
party = gBankTarget;
if (gBattleMons[party].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
@@ -1653,7 +1654,7 @@ static void BattleAICmd_if_stat_level_not_equal(void)
party = gBankTarget;
if (gBattleMons[party].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
@@ -1682,7 +1683,7 @@ static void BattleAICmd_if_can_faint(void)
gBattleMoveDamage = 1;
if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
@@ -1709,7 +1710,7 @@ static void BattleAICmd_if_cant_faint(void)
// this macro is missing the damage 0 = 1 assumption.
if (gBattleMons[gBankTarget].hp > gBattleMoveDamage)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
@@ -1731,7 +1732,7 @@ static void BattleAICmd_if_has_move(void)
if (i == MAX_MON_MOVES)
gAIScriptPtr += 8;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
break;
case 0:
case 2:
@@ -1743,7 +1744,7 @@ static void BattleAICmd_if_has_move(void)
if (i == 8)
gAIScriptPtr += 8;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
break;
}
}
@@ -1765,7 +1766,7 @@ static void BattleAICmd_if_dont_have_move(void)
if (i != MAX_MON_MOVES)
gAIScriptPtr += 8;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
break;
case 0:
case 2:
@@ -1777,7 +1778,7 @@ static void BattleAICmd_if_dont_have_move(void)
if (i != 8)
gAIScriptPtr += 8;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
break;
}
}
@@ -1796,7 +1797,7 @@ static void BattleAICmd_if_move_effect(void)
break;
}
if (i != MAX_MON_MOVES)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
break;
@@ -1807,7 +1808,7 @@ static void BattleAICmd_if_move_effect(void)
if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2])
break;
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
}
}
@@ -1827,7 +1828,7 @@ static void BattleAICmd_if_not_move_effect(void)
if (i != MAX_MON_MOVES)
gAIScriptPtr += 7;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
break;
case 0:
case 2:
@@ -1856,7 +1857,7 @@ static void BattleAICmd_if_last_move_did_damage(void)
gAIScriptPtr += 7;
return;
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
return;
}
else if (gAIScriptPtr[2] != 1) // ignore the macro if its not 0 or 1.
@@ -1866,7 +1867,7 @@ static void BattleAICmd_if_last_move_did_damage(void)
}
else if (gDisableStructs[index].encoredMove != 0)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
return;
}
gAIScriptPtr += 7;
@@ -1879,7 +1880,7 @@ static void BattleAICmd_if_encored(void)
case 0: // _08109348
if (gDisableStructs[gActiveBank].disabledMove == AI_THINKING_STRUCT->moveConsidered)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -1887,7 +1888,7 @@ static void BattleAICmd_if_encored(void)
case 1: // _08109370
if (gDisableStructs[gActiveBank].encoredMove == AI_THINKING_STRUCT->moveConsidered)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -1908,7 +1909,7 @@ static void BattleAICmd_if_random_100(void)
u8 safariFleeRate = BATTLE_STRUCT->safariFleeRate * 5; // safari flee rate, from 0-20
if ((u8)(Random() % 100) < safariFleeRate)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
@@ -2065,12 +2066,12 @@ static void BattleAICmd_nullsub_57(void)
static void BattleAICmd_call(void)
{
AIStackPushVar(gAIScriptPtr + 5);
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
static void BattleAICmd_jump(void)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
static void BattleAICmd_end(void)
@@ -2086,7 +2087,7 @@ static void BattleAICmd_if_level_compare(void)
case 0: // greater than
if (gBattleMons[gBankAttacker].level > gBattleMons[gBankTarget].level)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -2094,7 +2095,7 @@ static void BattleAICmd_if_level_compare(void)
case 1: // less than
if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -2102,7 +2103,7 @@ static void BattleAICmd_if_level_compare(void)
case 2: // equal
if (gBattleMons[gBankAttacker].level == gBattleMons[gBankTarget].level)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -2113,7 +2114,7 @@ static void BattleAICmd_if_level_compare(void)
static void BattleAICmd_if_taunted(void)
{
if (gDisableStructs[gBankTarget].tauntTimer1 != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
@@ -2121,7 +2122,7 @@ static void BattleAICmd_if_taunted(void)
static void BattleAICmd_if_not_taunted(void)
{
if (gDisableStructs[gBankTarget].tauntTimer1 == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
diff --git a/src/battle_anim.c b/src/battle/battle_anim.c
index 6bd98099a..eac16ee18 100644
--- a/src/battle_anim.c
+++ b/src/battle/battle_anim.c
@@ -37,8 +37,8 @@ EWRAM_DATA u8 gMonAnimTaskIdArray[2] = {0};
EWRAM_DATA u8 gUnknown_0202F7C4 = 0;
EWRAM_DATA u8 gUnknown_0202F7C5 = 0;
EWRAM_DATA u16 gAnimMoveIndex = 0; // set but unused.
-EWRAM_DATA u8 gBattleAnimPlayerMonIndex = 0;
-EWRAM_DATA u8 gBattleAnimEnemyMonIndex = 0;
+EWRAM_DATA u8 gBattleAnimBankAttacker = 0;
+EWRAM_DATA u8 gBattleAnimBankTarget = 0;
EWRAM_DATA u16 gUnknown_0202F7CA[4] = {0};
EWRAM_DATA u8 gUnknown_0202F7D2 = 0;
extern u16 gUnknown_030041B4;
@@ -201,15 +201,15 @@ void battle_anim_clear_some_data(void)
gUnknown_0202F7C4 = 0;
gUnknown_0202F7C5 = 0;
gAnimMoveIndex = 0;
- gBattleAnimPlayerMonIndex = 0;
- gBattleAnimEnemyMonIndex = 0;
+ gBattleAnimBankAttacker = 0;
+ gBattleAnimBankTarget = 0;
gUnknown_0202F7D2 = 0;
}
void ExecuteMoveAnim(u16 move)
{
- gBattleAnimPlayerMonIndex = gBankAttacker;
- gBattleAnimEnemyMonIndex = gBankTarget;
+ gBattleAnimBankAttacker = gBankAttacker;
+ gBattleAnimBankTarget = gBankTarget;
DoMoveAnim(gBattleAnims_Moves, move, 1);
}
@@ -217,7 +217,7 @@ void DoMoveAnim(const u8 *const moveAnims[], u16 move, u8 c)
{
s32 i;
- if (IsContest() == 0)
+ if (NotInBattle() == 0)
{
sub_8079E24();
sub_8043EB4(0);
@@ -335,7 +335,7 @@ static void RunAnimScriptCommand(void)
{
do
{
- sScriptCmdTable[SCRIPT_READ_8(gBattleAnimScriptPtr)]();
+ sScriptCmdTable[T1_READ_8(gBattleAnimScriptPtr)]();
} while (gAnimFramesToWait == 0 && gAnimScriptActive != FALSE);
}
@@ -344,7 +344,7 @@ static void ScriptCmd_loadsprite(void)
u16 index;
gBattleAnimScriptPtr++;
- index = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ index = T1_READ_16(gBattleAnimScriptPtr);
LoadCompressedObjectPic(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]);
LoadCompressedObjectPalette(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]);
gBattleAnimScriptPtr += 2;
@@ -358,7 +358,7 @@ static void ScriptCmd_unloadsprite(void)
u16 index;
gBattleAnimScriptPtr++;
- index = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ index = T1_READ_16(gBattleAnimScriptPtr);
FreeSpriteTilesByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag);
FreeSpritePaletteByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag);
gBattleAnimScriptPtr += 2;
@@ -378,15 +378,15 @@ static void ScriptCmd_sprite(void)
s8 r1;
gBattleAnimScriptPtr++;
- r7 = (struct SpriteTemplate *)(SCRIPT_READ_32(gBattleAnimScriptPtr));
+ r7 = (struct SpriteTemplate *)(T2_READ_32(gBattleAnimScriptPtr));
gBattleAnimScriptPtr += 4;
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r4 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
for (i = 0; i < r0; i++)
{
- gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 2;
}
if (r4 & 0x80)
@@ -396,7 +396,7 @@ static void ScriptCmd_sprite(void)
r4 -= 0x40;
else
r4 = -r4;
- _r0 = sub_8079E90(gBattleAnimEnemyMonIndex);
+ _r0 = sub_8079E90(gBattleAnimBankTarget);
r1 = r4;
}
@@ -407,15 +407,15 @@ static void ScriptCmd_sprite(void)
r4 -= 0x40;
else
r4 = -r4;
- _r0 = sub_8079E90(gBattleAnimPlayerMonIndex);
+ _r0 = sub_8079E90(gBattleAnimBankAttacker);
r1 = r4;
}
r6 = _r0 + r1;
if ((s16)r6 < 3)
r6 = 3;
- r4 = sub_8077ABC(gBattleAnimEnemyMonIndex, 2);
- r2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 3);
+ r4 = sub_8077ABC(gBattleAnimBankTarget, 2);
+ r2 = sub_8077ABC(gBattleAnimBankTarget, 3);
CreateSpriteAndAnimate(r7, r4, r2, r6);
gAnimVisualTaskCount++;
}
@@ -485,10 +485,10 @@ _08075B34:\n\
_08075B36:\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
- ldr r0, _08075B40 @ =gBattleAnimEnemyMonIndex\n\
+ ldr r0, _08075B40 @ =gBattleAnimBankTarget\n\
b _08075B56\n\
.align 2, 0\n\
-_08075B40: .4byte gBattleAnimEnemyMonIndex\n\
+_08075B40: .4byte gBattleAnimBankTarget\n\
_08075B44:\n\
cmp r4, 0x3F\n\
bls _08075B4E\n\
@@ -500,7 +500,7 @@ _08075B4E:\n\
_08075B50:\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
- ldr r0, _08075BAC @ =gBattleAnimPlayerMonIndex\n\
+ ldr r0, _08075BAC @ =gBattleAnimBankAttacker\n\
_08075B56:\n\
ldrb r0, [r0]\n\
bl sub_8079E90\n\
@@ -517,7 +517,7 @@ _08075B56:\n\
bgt _08075B74\n\
movs r6, 0x3\n\
_08075B74:\n\
- ldr r5, _08075BB0 @ =gBattleAnimEnemyMonIndex\n\
+ ldr r5, _08075BB0 @ =gBattleAnimBankTarget\n\
ldrb r0, [r5]\n\
movs r1, 0x2\n\
bl sub_8077ABC\n\
@@ -543,8 +543,8 @@ _08075B74:\n\
pop {r0}\n\
bx r0\n\
.align 2, 0\n\
-_08075BAC: .4byte gBattleAnimPlayerMonIndex\n\
-_08075BB0: .4byte gBattleAnimEnemyMonIndex\n\
+_08075BAC: .4byte gBattleAnimBankAttacker\n\
+_08075BB0: .4byte gBattleAnimBankTarget\n\
_08075BB4: .4byte gAnimVisualTaskCount\n\
.syntax divided\n");
}
@@ -559,16 +559,16 @@ static void ScriptCmd_createtask(void)
s32 i;
gBattleAnimScriptPtr++;
- taskFunc = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr);
+ taskFunc = (TaskFunc)T2_READ_32(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 4;
- taskPriority = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ taskPriority = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
- numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ numArgs = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
for (i = 0; i < numArgs; i++)
{
- gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 2;
}
@@ -580,7 +580,7 @@ static void ScriptCmd_createtask(void)
static void ScriptCmd_delay(void)
{
gBattleAnimScriptPtr++;
- gAnimFramesToWait = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ gAnimFramesToWait = T1_READ_8(gBattleAnimScriptPtr);
if (gAnimFramesToWait == 0)
gAnimFramesToWait = -1;
gBattleAnimScriptPtr++;
@@ -654,7 +654,7 @@ static void ScriptCmd_end(void)
if (continuousAnim == FALSE) // may have been used for debug?
{
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256);
- if (IsContest() == 0)
+ if (NotInBattle() == 0)
{
sub_8079E24();
sub_8043EB4(1);
@@ -666,7 +666,7 @@ static void ScriptCmd_end(void)
static void ScriptCmd_playse(void)
{
gBattleAnimScriptPtr++;
- PlaySE(SCRIPT_READ_16(gBattleAnimScriptPtr));
+ PlaySE(T1_READ_16(gBattleAnimScriptPtr));
gBattleAnimScriptPtr += 2;
}
@@ -680,20 +680,20 @@ static void ScriptCmd_monbg(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r6 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r6 = T1_READ_8(gBattleAnimScriptPtr);
if (r6 == 0)
r6 = 2;
else if (r6 == 1)
r6 = 3;
if (r6 == 0 || r6 == 2)
- r5 = gBattleAnimPlayerMonIndex;
+ r5 = gBattleAnimBankAttacker;
else
- r5 = gBattleAnimEnemyMonIndex;
- if (b_side_obj__get_some_boolean(r5))
+ r5 = gBattleAnimBankTarget;
+ if (IsAnimBankSpriteVisible(r5))
{
r0 = GetBankIdentity(r5);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r7 = 0;
else
r7 = 1;
@@ -719,11 +719,11 @@ static void ScriptCmd_monbg(void)
}
r5 ^= 2;
- if (r6 > 1 && b_side_obj__get_some_boolean(r5))
+ if (r6 > 1 && IsAnimBankSpriteVisible(r5))
{
r0 = GetBankIdentity(r5);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r7 = 0;
else
r7 = 1;
@@ -751,20 +751,20 @@ static void ScriptCmd_monbg(void)
}
#ifdef NONMATCHING
-bool8 b_side_obj__get_some_boolean(u8 a)
+bool8 IsAnimBankSpriteVisible(u8 a)
{
- if (IsContest() != 0)
+ if (NotInBattle())
{
- if (a == gBattleAnimPlayerMonIndex)
+ if (a == gBattleAnimBankAttacker)
return TRUE;
else
return FALSE;
}
- if (sub_8078874(a) == 0)
+ if (!AnimBankSpriteExists(a))
return FALSE;
- if (IsContest() != 0)
+ if (NotInBattle())
return TRUE; // this line wont ever be reached.
- if ((EWRAM_17800[a].unk0 & 1) == 0)
+ if (!(EWRAM_17800[a].unk0 & 1))
return TRUE;
if (gSprites[gObjectBankIDs[a]].invisible)
return FALSE;
@@ -772,31 +772,31 @@ bool8 b_side_obj__get_some_boolean(u8 a)
}
#else
__attribute__((naked))
-bool8 b_side_obj__get_some_boolean(u8 a)
+bool8 IsAnimBankSpriteVisible(u8 a)
{
asm(".syntax unified\n\
push {r4,r5,lr}\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
adds r5, r4, 0\n\
- bl IsContest\n\
+ bl NotInBattle\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08075FDC\n\
- ldr r0, _08075FD8 @ =gBattleAnimPlayerMonIndex\n\
+ ldr r0, _08075FD8 @ =gBattleAnimBankAttacker\n\
ldrb r0, [r0]\n\
cmp r4, r0\n\
beq _0807601C\n\
b _0807602C\n\
.align 2, 0\n\
-_08075FD8: .4byte gBattleAnimPlayerMonIndex\n\
+_08075FD8: .4byte gBattleAnimBankAttacker\n\
_08075FDC:\n\
adds r0, r4, 0\n\
- bl sub_8078874\n\
+ bl AnimBankSpriteExists\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _0807602C\n\
- bl IsContest\n\
+ bl NotInBattle\n\
lsls r0, 24\n\
cmp r0, 0\n\
bne _0807601C\n\
@@ -877,7 +877,7 @@ void sub_8076034(u8 a, u8 b)
spriteId = gObjectBankIDs[a];
gUnknown_030042C0 = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32;
- if (IsContest() != 0 && sub_80AEB1C(EWRAM_19348) != 0)
+ if (NotInBattle() != 0 && sub_80AEB1C(EWRAM_19348) != 0)
gUnknown_030042C0--;
gUnknown_030041B4 = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32;
gSprites[gObjectBankIDs[a]].invisible = TRUE;
@@ -889,12 +889,12 @@ void sub_8076034(u8 a, u8 b)
addr3 = (u16 *)PLTT + s.unk8 * 16;
DmaCopy32(3, gPlttBufferUnfaded + 0x100 + a * 16, addr3, 32);
- if (IsContest() != 0)
+ if (NotInBattle() != 0)
r2 = 0;
else
r2 = GetBankIdentity(a);
sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock);
- if (IsContest() != 0)
+ if (NotInBattle() != 0)
sub_8076380();
}
else
@@ -996,7 +996,7 @@ void sub_8076464(u8 a)
struct UnknownStruct2 s;
sub_8078914(&s);
- if (a == 0 || IsContest() != 0)
+ if (a == 0 || NotInBattle() != 0)
{
u16 *addr2;
@@ -1090,15 +1090,15 @@ static void ScriptCmd_clearmonbg(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r4 = T1_READ_8(gBattleAnimScriptPtr);
if (r4 == 0)
r4 = 2;
else if (r4 == 1)
r4 = 3;
if (r4 == 0 || r4 == 2)
- r5 = gBattleAnimPlayerMonIndex;
+ r5 = gBattleAnimBankAttacker;
else
- r5 = gBattleAnimEnemyMonIndex;
+ r5 = gBattleAnimBankTarget;
if (gMonAnimTaskIdArray[0] != 0xFF)
gSprites[gObjectBankIDs[r5]].invisible = FALSE;
if (r4 > 1 && gMonAnimTaskIdArray[1] != 0xFF)
@@ -1121,7 +1121,7 @@ static void sub_807672C(u8 taskId)
{
var = GetBankIdentity(gTasks[taskId].data[2]);
var += 0xFF;
- if (var <= 1 || IsContest() != 0)
+ if (var <= 1 || NotInBattle() != 0)
r4 = 0;
else
r4 = 1;
@@ -1149,20 +1149,20 @@ static void ScriptCmd_monbg_22(void)
u8 r1;
gBattleAnimScriptPtr++;
- r5 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r5 = T1_READ_8(gBattleAnimScriptPtr);
if (r5 == 0)
r5 = 2;
else if (r5 == 1)
r5 = 3;
if (r5 == 0 || r5 == 2)
- r4 = gBattleAnimPlayerMonIndex;
+ r4 = gBattleAnimBankAttacker;
else
- r4 = gBattleAnimEnemyMonIndex;
- if (b_side_obj__get_some_boolean(r4))
+ r4 = gBattleAnimBankTarget;
+ if (IsAnimBankSpriteVisible(r4))
{
r0 = GetBankIdentity(r4);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r1 = 0;
else
r1 = 1;
@@ -1170,11 +1170,11 @@ static void ScriptCmd_monbg_22(void)
gSprites[gObjectBankIDs[r4]].invisible = FALSE;
}
r4 ^= 2;
- if (r5 > 1 && b_side_obj__get_some_boolean(r4))
+ if (r5 > 1 && IsAnimBankSpriteVisible(r4))
{
r0 = GetBankIdentity(r4);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r1 = 0;
else
r1 = 1;
@@ -1191,18 +1191,18 @@ static void ScriptCmd_clearmonbg_23(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r5 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r5 = T1_READ_8(gBattleAnimScriptPtr);
if (r5 == 0)
r5 = 2;
else if (r5 == 1)
r5 = 3;
if (r5 == 0 || r5 == 2)
- r6 = gBattleAnimPlayerMonIndex;
+ r6 = gBattleAnimBankAttacker;
else
- r6 = gBattleAnimEnemyMonIndex;
- if (b_side_obj__get_some_boolean(r6))
+ r6 = gBattleAnimBankTarget;
+ if (IsAnimBankSpriteVisible(r6))
gSprites[gObjectBankIDs[r6]].invisible = FALSE;
- if (r5 > 1 && b_side_obj__get_some_boolean(r6 ^ 2))
+ if (r5 > 1 && IsAnimBankSpriteVisible(r6 ^ 2))
gSprites[gObjectBankIDs[r6 ^ 2]].invisible = FALSE;
else
r5 = 0;
@@ -1224,13 +1224,13 @@ static void sub_80769A4(u8 taskId)
r4 = gTasks[taskId].data[2];
r0 = GetBankIdentity(r4);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r5 = 0;
else
r5 = 1;
- if (b_side_obj__get_some_boolean(r4))
+ if (IsAnimBankSpriteVisible(r4))
sub_8076464(r5);
- if (gTasks[taskId].data[0] > 1 && b_side_obj__get_some_boolean(r4 ^ 2))
+ if (gTasks[taskId].data[0] > 1 && IsAnimBankSpriteVisible(r4 ^ 2))
sub_8076464(r5 ^ 1);
DestroyTask(taskId);
}
@@ -1268,12 +1268,9 @@ static void ScriptCmd_blendoff(void)
static void ScriptCmd_call(void)
{
- u32 addr;
-
gBattleAnimScriptPtr++;
gBattleAnimScriptRetAddr = gBattleAnimScriptPtr + 4;
- addr = SCRIPT_READ_32(gBattleAnimScriptPtr);
- gBattleAnimScriptPtr = (u8 *)addr;
+ gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr);
}
static void ScriptCmd_return(void)
@@ -1288,36 +1285,31 @@ static void ScriptCmd_setvar(void)
u8 r2;
gBattleAnimScriptPtr++;
- r2 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r2 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
- r4 = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ r4 = T1_READ_16(gBattleAnimScriptPtr);
gBattleAnimScriptPtr = addr + 4;
gBattleAnimArgs[r2] = r4;
}
static void ScriptCmd_ifelse(void)
{
- u32 addr;
-
gBattleAnimScriptPtr++;
if (gUnknown_0202F7C4 & 1)
gBattleAnimScriptPtr += 4;
- addr = SCRIPT_READ_32(gBattleAnimScriptPtr);
- gBattleAnimScriptPtr = (u8 *)addr;
+ gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr);
}
static void ScriptCmd_jumpif(void)
{
u8 r1;
- u32 addr;
gBattleAnimScriptPtr++;
- r1 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r1 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
if (r1 == gUnknown_0202F7C4)
{
- addr = SCRIPT_READ_32(gBattleAnimScriptPtr);
- gBattleAnimScriptPtr = (u8 *)addr;
+ gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr);
}
else
{
@@ -1327,15 +1319,11 @@ static void ScriptCmd_jumpif(void)
static void ScriptCmd_jump(void)
{
- u32 addr;
-
gBattleAnimScriptPtr++;
- addr = SCRIPT_READ_32(gBattleAnimScriptPtr);
- gBattleAnimScriptPtr = (u8 *)addr;
+ gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr);
}
-// Uses of this function that rely on a TRUE return are expecting inBattle to not be ticked as defined in contest behavior. As a result, if misused, this function cannot reliably discern between field and contest status and could result in undefined behavior.
-bool8 IsContest(void)
+bool8 NotInBattle(void)
{
if (!gMain.inBattle)
return TRUE;
@@ -1349,7 +1337,7 @@ static void ScriptCmd_fadetobg(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r4 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
taskId = CreateTask(task_p5_load_battle_screen_elements, 5);
gTasks[taskId].data[0] = r4;
@@ -1369,9 +1357,9 @@ static void ScriptCmd_fadetobg_25(void)
r6 = gBattleAnimScriptPtr[2];
gBattleAnimScriptPtr += 3;
taskId = CreateTask(task_p5_load_battle_screen_elements, 5);
- if (IsContest() != 0)
+ if (NotInBattle() != 0)
gTasks[taskId].data[0] = r6;
- else if (GetBankSide(gBattleAnimEnemyMonIndex) == 0)
+ else if (GetBankSide(gBattleAnimBankTarget) == 0)
gTasks[taskId].data[0] = r7;
else
gTasks[taskId].data[0] = r8;
@@ -1416,15 +1404,15 @@ static void task_p5_load_battle_screen_elements(u8 taskId)
static void sub_8076DB8(u16 a)
{
- if (IsContest())
+ if (NotInBattle())
{
void *tilemap = gBattleAnimBackgroundTable[a].tilemap;
void *dmaSrc;
void *dmaDest;
- sub_800D238(tilemap, IsContest() ? EWRAM_14800 : EWRAM_18000);
- sub_80763FC(sub_80789BC(), IsContest() ? EWRAM_14800 : EWRAM_18000, 0x100, 0);
- dmaSrc = IsContest() ? EWRAM_14800 : EWRAM_18000;
+ LZDecompressWram(tilemap, NotInBattle() ? EWRAM_14800 : EWRAM_18000);
+ sub_80763FC(sub_80789BC(), NotInBattle() ? EWRAM_14800 : EWRAM_18000, 0x100, 0);
+ dmaSrc = NotInBattle() ? EWRAM_14800 : EWRAM_18000;
dmaDest = (void *)(VRAM + 0xD000);
DmaCopy32(3, dmaSrc, dmaDest, 0x800);
LZDecompressVram(gBattleAnimBackgroundTable[a].image, (void *)(VRAM + 0x2000));
@@ -1440,7 +1428,7 @@ static void sub_8076DB8(u16 a)
static void dp01t_11_3_message_for_player_only(void)
{
- if (IsContest())
+ if (NotInBattle())
sub_80AB2AC();
else
sub_800D7B8();
@@ -1485,7 +1473,7 @@ static void ScriptCmd_waitbgfadein(void)
static void ScriptCmd_changebg(void)
{
gBattleAnimScriptPtr++;
- sub_8076DB8(SCRIPT_READ_8(gBattleAnimScriptPtr));
+ sub_8076DB8(T1_READ_8(gBattleAnimScriptPtr));
gBattleAnimScriptPtr++;
}
@@ -1493,16 +1481,16 @@ static void ScriptCmd_changebg(void)
/*
s8 sub_8076F98(s8 a)
{
- if (!IsContest() && (EWRAM_17810[gBattleAnimPlayerMonIndex].unk0 & 0x10))
+ if (!NotInBattle() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10))
{
- a = GetBankSide(gBattleAnimPlayerMonIndex) ? 0xC0 : 0x3F;
+ a = GetBankSide(gBattleAnimBankAttacker) ? 0xC0 : 0x3F;
}
//_08076FDC
else
{
- if (IsContest())
+ if (NotInBattle())
{
- if (gBattleAnimPlayerMonIndex == gBattleAnimEnemyMonIndex && gBattleAnimPlayerMonIndex == 2
+ if (gBattleAnimBankAttacker == gBattleAnimBankTarget && gBattleAnimBankAttacker == 2
&& a == 0x3F)
{
//jump to _0807707A
@@ -1514,9 +1502,9 @@ s8 sub_8076F98(s8 a)
//_08077004
else
{
- if (GetBankSide(gBattleAnimPlayerMonIndex) == 0)
+ if (GetBankSide(gBattleAnimBankAttacker) == 0)
{
- if (GetBankSide(gBattleAnimEnemyMonIndex) == 0)
+ if (GetBankSide(gBattleAnimBankTarget) == 0)
}
//_08077042
else
@@ -1536,11 +1524,11 @@ s8 sub_8076F98(s8 a)
push {r4,lr}\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
- bl IsContest\n\
+ bl NotInBattle\n\
lsls r0, 24\n\
cmp r0, 0\n\
bne _08076FDC\n\
- ldr r0, _08076FD4 @ =gBattleAnimPlayerMonIndex\n\
+ ldr r0, _08076FD4 @ =gBattleAnimBankAttacker\n\
ldrb r2, [r0]\n\
lsls r0, r2, 1\n\
adds r0, r2\n\
@@ -1561,15 +1549,15 @@ s8 sub_8076F98(s8 a)
movs r4, 0x3F\n\
b _0807706E\n\
.align 2, 0\n\
-_08076FD4: .4byte gBattleAnimPlayerMonIndex\n\
+_08076FD4: .4byte gBattleAnimBankAttacker\n\
_08076FD8: .4byte 0x02017810\n\
_08076FDC:\n\
- bl IsContest\n\
+ bl NotInBattle\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08077004\n\
- ldr r0, _08076FFC @ =gBattleAnimPlayerMonIndex\n\
- ldr r1, _08077000 @ =gBattleAnimEnemyMonIndex\n\
+ ldr r0, _08076FFC @ =gBattleAnimBankAttacker\n\
+ ldr r1, _08077000 @ =gBattleAnimBankTarget\n\
ldrb r0, [r0]\n\
ldrb r1, [r1]\n\
cmp r0, r1\n\
@@ -1580,16 +1568,16 @@ _08076FDC:\n\
beq _0807707A\n\
b _08077068\n\
.align 2, 0\n\
-_08076FFC: .4byte gBattleAnimPlayerMonIndex\n\
-_08077000: .4byte gBattleAnimEnemyMonIndex\n\
+_08076FFC: .4byte gBattleAnimBankAttacker\n\
+_08077000: .4byte gBattleAnimBankTarget\n\
_08077004:\n\
- ldr r0, _0807702C @ =gBattleAnimPlayerMonIndex\n\
+ ldr r0, _0807702C @ =gBattleAnimBankAttacker\n\
ldrb r0, [r0]\n\
bl GetBankSide\n\
lsls r0, 24\n\
cmp r0, 0\n\
bne _08077042\n\
- ldr r0, _08077030 @ =gBattleAnimEnemyMonIndex\n\
+ ldr r0, _08077030 @ =gBattleAnimBankTarget\n\
ldrb r0, [r0]\n\
bl GetBankSide\n\
lsls r0, 24\n\
@@ -1602,8 +1590,8 @@ _08077004:\n\
movs r4, 0xC0\n\
b _0807706E\n\
.align 2, 0\n\
-_0807702C: .4byte gBattleAnimPlayerMonIndex\n\
-_08077030: .4byte gBattleAnimEnemyMonIndex\n\
+_0807702C: .4byte gBattleAnimBankAttacker\n\
+_08077030: .4byte gBattleAnimBankTarget\n\
_08077034:\n\
movs r0, 0x40\n\
negs r0, r0\n\
@@ -1613,7 +1601,7 @@ _08077034:\n\
lsls r0, 24\n\
b _0807706C\n\
_08077042:\n\
- ldr r0, _08077064 @ =gBattleAnimEnemyMonIndex\n\
+ ldr r0, _08077064 @ =gBattleAnimBankTarget\n\
ldrb r0, [r0]\n\
bl GetBankSide\n\
lsls r0, 24\n\
@@ -1629,7 +1617,7 @@ _08077042:\n\
movs r4, 0x3F\n\
b _0807706E\n\
.align 2, 0\n\
-_08077064: .4byte gBattleAnimEnemyMonIndex\n\
+_08077064: .4byte gBattleAnimBankTarget\n\
_08077068:\n\
lsls r0, r4, 24\n\
negs r0, r0\n\
@@ -1661,16 +1649,16 @@ _08077088:\n\
s8 sub_8077094(s8 a)
{
- if (!IsContest() && (EWRAM_17810[gBattleAnimPlayerMonIndex].unk0 & 0x10))
+ if (!NotInBattle() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10))
{
- if (GetBankSide(gBattleAnimPlayerMonIndex) != 0)
+ if (GetBankSide(gBattleAnimBankAttacker) != 0)
a = 0x3F;
else
a = 0xC0;
}
else
{
- if (GetBankSide(gBattleAnimPlayerMonIndex) != 0 || IsContest() != 0)
+ if (GetBankSide(gBattleAnimBankAttacker) != 0 || NotInBattle() != 0)
a = -a;
}
return a;
@@ -1706,8 +1694,8 @@ static void ScriptCmd_panse_19(void)
s8 r0;
gBattleAnimScriptPtr++;
- r4 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
+ r4 = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
PlaySE12WithPanning(r4, sub_8076F98(r0));
gBattleAnimScriptPtr += 3;
}
@@ -1717,7 +1705,7 @@ static void ScriptCmd_setpan(void)
s8 r0;
gBattleAnimScriptPtr++;
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr);
SE12PanpotControl(sub_8076F98(r0));
gBattleAnimScriptPtr++;
}
@@ -1734,11 +1722,11 @@ static void ScriptCmd_panse_1B(void)
u8 taskId;
gBattleAnimScriptPtr++;
- songNum = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
- r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4);
- r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5);
+ songNum = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r4 = T1_READ_8(gBattleAnimScriptPtr + 3);
+ r6 = T1_READ_8(gBattleAnimScriptPtr + 4);
+ r7 = T1_READ_8(gBattleAnimScriptPtr + 5);
panning = sub_8076F98(r0);
r8 = sub_8076F98(r4);
r4 = sub_807712C(panning, r8, r6);
@@ -1899,11 +1887,11 @@ static void ScriptCmd_panse_26(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r8 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r5 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
- r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4);
- r10 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5);
+ r8 = T1_READ_16(gBattleAnimScriptPtr);
+ r4 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r5 = T1_READ_8(gBattleAnimScriptPtr + 3);
+ r6 = T1_READ_8(gBattleAnimScriptPtr + 4);
+ r10 = T1_READ_8(gBattleAnimScriptPtr + 5);
taskId = CreateTask(c3_08073CEC, 1);
gTasks[taskId].data[0] = r4;
gTasks[taskId].data[1] = r5;
@@ -1928,11 +1916,11 @@ static void ScriptCmd_panse_27(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r9 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
- r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4);
- r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5);
+ r9 = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r4 = T1_READ_8(gBattleAnimScriptPtr + 3);
+ r8 = T1_READ_8(gBattleAnimScriptPtr + 4);
+ r7 = T1_READ_8(gBattleAnimScriptPtr + 5);
r6 = sub_8077094(r0);
r5 = sub_8077094(r4);
r4_2 = sub_8077094(r8);
@@ -1957,10 +1945,10 @@ static void ScriptCmd_panse_1C(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r5 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
- r9 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4);
+ r5 = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r8 = T1_READ_8(gBattleAnimScriptPtr + 3);
+ r9 = T1_READ_8(gBattleAnimScriptPtr + 4);
r4 = sub_8076F98(r0);
taskId = CreateTask(sub_80774FC, 1);
gTasks[taskId].data[0] = r5;
@@ -2007,9 +1995,9 @@ static void ScriptCmd_panse_1D(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r5 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
+ r5 = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r8 = T1_READ_8(gBattleAnimScriptPtr + 3);
r4 = sub_8076F98(r0);
taskId = CreateTask(sub_80775CC, 1);
gTasks[taskId].data[0] = r5;
@@ -2041,13 +2029,13 @@ static void ScriptCmd_createtask_1F(void)
u8 taskId;
gBattleAnimScriptPtr++;
- func = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr);
+ func = (TaskFunc)T2_READ_32(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 4;
- numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ numArgs = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
for (i = 0; i < numArgs; i++)
{
- gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 2;
}
taskId = CreateTask(func, 1);
@@ -2090,11 +2078,11 @@ static void ScriptCmd_jumpvareq(void)
u8 *addr;
gBattleAnimScriptPtr++;
- r2 = SCRIPT_READ_8(gBattleAnimScriptPtr);
- r1 = SCRIPT_READ_16(gBattleAnimScriptPtr + 1);
+ r2 = T1_READ_8(gBattleAnimScriptPtr);
+ r1 = T1_READ_16(gBattleAnimScriptPtr + 1);
if (r1 == gBattleAnimArgs[r2])
{
- addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr + 3);
+ addr = T2_READ_PTR(gBattleAnimScriptPtr + 3);
gBattleAnimScriptPtr = addr;
}
else
@@ -2108,9 +2096,9 @@ static void ScriptCmd_jumpunkcond(void)
u8 *addr;
gBattleAnimScriptPtr++;
- if (IsContest())
+ if (NotInBattle())
{
- addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr);
+ addr = T2_READ_PTR(gBattleAnimScriptPtr);
gBattleAnimScriptPtr = addr;
}
else
@@ -2125,14 +2113,14 @@ static void ScriptCmd_monbgprio_28(void)
u8 r0;
u8 r4;
- r2 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r2 = T1_READ_8(gBattleAnimScriptPtr + 1);
gBattleAnimScriptPtr += 2;
if (r2 != 0)
- r0 = gBattleAnimEnemyMonIndex;
+ r0 = gBattleAnimBankTarget;
else
- r0 = gBattleAnimPlayerMonIndex;
+ r0 = gBattleAnimBankAttacker;
r4 = GetBankIdentity(r0);
- if (!IsContest() && (r4 == 0 || r4 == 3))
+ if (!NotInBattle() && (r4 == 0 || r4 == 3))
{
REG_BG1CNT_BITFIELD.priority = 1;
REG_BG2CNT_BITFIELD.priority = 2;
@@ -2142,7 +2130,7 @@ static void ScriptCmd_monbgprio_28(void)
static void ScriptCmd_monbgprio_29(void)
{
gBattleAnimScriptPtr++;
- if (!IsContest())
+ if (!NotInBattle())
{
REG_BG1CNT_BITFIELD.priority = 1;
REG_BG2CNT_BITFIELD.priority = 2;
@@ -2155,16 +2143,16 @@ static void ScriptCmd_monbgprio_2A(void)
u8 r4;
u8 r0;
- r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r6 = T1_READ_8(gBattleAnimScriptPtr + 1);
gBattleAnimScriptPtr += 2;
- if (GetBankSide(gBattleAnimPlayerMonIndex) != GetBankSide(gBattleAnimEnemyMonIndex))
+ if (GetBankSide(gBattleAnimBankAttacker) != GetBankSide(gBattleAnimBankTarget))
{
if (r6 != 0)
- r0 = gBattleAnimEnemyMonIndex;
+ r0 = gBattleAnimBankTarget;
else
- r0 = gBattleAnimPlayerMonIndex;
+ r0 = gBattleAnimBankAttacker;
r4 = GetBankIdentity(r0);
- if (!IsContest() && (r4 == 0 || r4 == 3))
+ if (!NotInBattle() && (r4 == 0 || r4 == 3))
{
REG_BG1CNT_BITFIELD.priority = 1;
REG_BG2CNT_BITFIELD.priority = 2;
@@ -2177,8 +2165,8 @@ static void ScriptCmd_invisible(void)
u8 r0;
u8 spriteId;
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
- spriteId = obj_id_for_side_relative_to_move(r0);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 1);
+ spriteId = GetAnimBankSpriteId(r0);
if (spriteId != 0xFF)
{
gSprites[spriteId].invisible = TRUE;
@@ -2191,8 +2179,8 @@ static void ScriptCmd_visible(void)
u8 r0;
u8 spriteId;
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
- spriteId = obj_id_for_side_relative_to_move(r0);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 1);
+ spriteId = GetAnimBankSpriteId(r0);
if (spriteId != 0xFF)
{
gSprites[spriteId].invisible = FALSE;
@@ -2206,20 +2194,20 @@ static void ScriptCmd_doublebattle_2D(void)
u8 r4;
u8 spriteId;
- r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r7 = T1_READ_8(gBattleAnimScriptPtr + 1);
gBattleAnimScriptPtr += 2;
- if (!IsContest() && IsDoubleBattle()
- && GetBankSide(gBattleAnimPlayerMonIndex) == GetBankSide(gBattleAnimEnemyMonIndex))
+ if (!NotInBattle() && IsDoubleBattle()
+ && GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget))
{
if (r7 == 0)
{
- r4 = GetBankIdentity_permutated(gBattleAnimPlayerMonIndex);
- spriteId = obj_id_for_side_relative_to_move(0);
+ r4 = GetBankIdentity_permutated(gBattleAnimBankAttacker);
+ spriteId = GetAnimBankSpriteId(0);
}
else
{
- r4 = GetBankIdentity_permutated(gBattleAnimEnemyMonIndex);
- spriteId = obj_id_for_side_relative_to_move(1);
+ r4 = GetBankIdentity_permutated(gBattleAnimBankTarget);
+ spriteId = GetAnimBankSpriteId(1);
}
if (spriteId != 0xFF)
{
@@ -2240,20 +2228,20 @@ static void ScriptCmd_doublebattle_2E(void)
u8 r4;
u8 spriteId;
- r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r7 = T1_READ_8(gBattleAnimScriptPtr + 1);
gBattleAnimScriptPtr += 2;
- if (!IsContest() && IsDoubleBattle()
- && GetBankSide(gBattleAnimPlayerMonIndex) == GetBankSide(gBattleAnimEnemyMonIndex))
+ if (!NotInBattle() && IsDoubleBattle()
+ && GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget))
{
if (r7 == 0)
{
- r4 = GetBankIdentity_permutated(gBattleAnimPlayerMonIndex);
- spriteId = obj_id_for_side_relative_to_move(0);
+ r4 = GetBankIdentity_permutated(gBattleAnimBankAttacker);
+ spriteId = GetAnimBankSpriteId(0);
}
else
{
- r4 = GetBankIdentity_permutated(gBattleAnimEnemyMonIndex);
- spriteId = obj_id_for_side_relative_to_move(1);
+ r4 = GetBankIdentity_permutated(gBattleAnimBankTarget);
+ spriteId = GetAnimBankSpriteId(1);
}
if (spriteId != 0xFF && r4 == 2)
{
diff --git a/src/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c
index 42932877b..9acc7bd46 100644
--- a/src/battle_anim_807B69C.c
+++ b/src/battle/battle_anim_807B69C.c
@@ -8,12 +8,12 @@
#include "task.h"
#include "trig.h"
-extern u8 gBattleAnimPlayerMonIndex;
-extern u8 gBattleAnimEnemyMonIndex;
+extern u8 gBattleAnimBankAttacker;
+extern u8 gBattleAnimBankTarget;
extern bool8 gAnimScriptActive;
extern void (*gAnimScriptCallback)(void);
extern s16 gBattleAnimArgs[];
-extern u8 gBattleAnimEnemyMonIndex;
+extern u8 gBattleAnimBankTarget;
extern u8 gObjectBankIDs[];
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
@@ -179,11 +179,11 @@ static void sub_807B8A4(struct Sprite *sprite)
void sub_807B920(u8 taskId)
{
- s16 x = sub_8077ABC(gBattleAnimEnemyMonIndex, 2) - 32;
- s16 y = sub_8077ABC(gBattleAnimEnemyMonIndex, 3) - 36;
+ s16 x = sub_8077ABC(gBattleAnimBankTarget, 2) - 32;
+ s16 y = sub_8077ABC(gBattleAnimBankTarget, 3) - 36;
u8 spriteId;
- if (IsContest())
+ if (NotInBattle())
x -= 6;
REG_BLDCNT = 0x3F40;
REG_BLDALPHA = 0x1000;
@@ -335,8 +335,8 @@ void move_anim_start_t2(u8 a, u8 b)
{
u8 taskId;
- gBattleAnimPlayerMonIndex = a;
- gBattleAnimEnemyMonIndex = a;
+ gBattleAnimBankAttacker = a;
+ gBattleAnimBankTarget = a;
DoMoveAnim(gBattleAnims_StatusConditions, b, 0);
taskId = CreateTask(sub_807BDAC, 10);
gTasks[taskId].data[0] = a;
diff --git a/src/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c
index 31984977f..19ac7143e 100644
--- a/src/battle_anim_80A7E7C.c
+++ b/src/battle/battle_anim_80A7E7C.c
@@ -12,8 +12,8 @@ extern s16 gBattleAnimArgs[8];
extern u8 gObjectBankIDs[];
extern s32 gMoveDmgMoveAnim;
extern u16 gMovePowerMoveAnim;
-extern u8 gBattleAnimPlayerMonIndex;
-extern u8 gBattleAnimEnemyMonIndex;
+extern u8 gBattleAnimBankAttacker;
+extern u8 gBattleAnimBankTarget;
static void sub_80A7EF0(u8 taskId);
static void sub_80A808C(u8 taskId);
@@ -34,7 +34,7 @@ static void sub_80A913C(u8 taskId);
void sub_80A7E7C(u8 taskId)
{
u8 sprite;
- sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]);
+ sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
if (sprite == 0xff)
{
DestroyAnimVisualTask(taskId);
@@ -96,7 +96,7 @@ void sub_80A7FA0(u8 taskId)
r6 = 0;
if (gBattleAnimArgs[0] < 4)
{
- sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]);
+ sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
if (sprite == 0xff)
{
DestroyAnimVisualTask(taskId);
@@ -121,7 +121,7 @@ void sub_80A7FA0(u8 taskId)
side = GetBankByPlayerAI(3);
break;
}
- if (b_side_obj__get_some_boolean(side) == FALSE)
+ if (IsAnimBankSpriteVisible(side) == FALSE)
{
r6 = 1;
}
@@ -129,7 +129,7 @@ void sub_80A7FA0(u8 taskId)
}
else
{
- sprite = gObjectBankIDs[gBattleAnimPlayerMonIndex];
+ sprite = gObjectBankIDs[gBattleAnimBankAttacker];
}
if (r6)
{
@@ -186,7 +186,7 @@ static void sub_80A808C(u8 taskId)
void sub_80A8154(u8 taskId)
{
u8 sprite;
- sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]);
+ sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
if (sprite == 0xff)
{
DestroyAnimVisualTask(taskId);
@@ -244,7 +244,7 @@ static void sub_80A81D8(u8 taskId)
void sub_80A8314(u8 taskId)
{
- u8 sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]);
+ u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
gSprites[sprite].pos2.x = gBattleAnimArgs[1];
TASK.data[0] = sprite;
TASK.data[1] = gBattleAnimArgs[1];
@@ -286,7 +286,7 @@ void sub_80A8408(u8 taskId)
u8 sprite;
u8 v1;
v1 = 1;
- sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]);
+ sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
if (gBattleAnimArgs[4] > 5)
{
gBattleAnimArgs[4] = 5;
@@ -328,7 +328,7 @@ static void sub_80A8488(u8 taskId)
void sub_80A8500(u8 taskId)
{
- if (GetBankSide(gBattleAnimPlayerMonIndex))
+ if (GetBankSide(gBattleAnimBankAttacker))
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
}
@@ -338,7 +338,7 @@ void sub_80A8500(u8 taskId)
void sub_80A8530(struct Sprite *sprite)
{
sprite->invisible = TRUE;
- if (GetBankSide(gBattleAnimPlayerMonIndex))
+ if (GetBankSide(gBattleAnimBankAttacker))
{
sprite->data1 = -gBattleAnimArgs[1];
}
@@ -348,9 +348,9 @@ void sub_80A8530(struct Sprite *sprite)
}
sprite->data0 = gBattleAnimArgs[0];
sprite->data2 = 0;
- sprite->data3 = gObjectBankIDs[gBattleAnimPlayerMonIndex];
+ sprite->data3 = gObjectBankIDs[gBattleAnimBankAttacker];
sprite->data4 = gBattleAnimArgs[0];
- oamt_set_x3A_32(sprite, sub_80A85A4);
+ StoreSpriteCallbackInData6(sprite, sub_80A85A4);
sprite->callback = sub_8078458;
}
@@ -359,20 +359,20 @@ static void sub_80A85A4(struct Sprite *sprite)
sprite->data0 = sprite->data4;
sprite->data1 = -sprite->data1;
sprite->callback = sub_8078458;
- oamt_set_x3A_32(sprite, move_anim_8072740);
+ StoreSpriteCallbackInData6(sprite, move_anim_8072740);
}
void sub_80A85C8(struct Sprite *sprite)
{
u8 spriteId;
sprite->invisible = TRUE;
- spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[2]);
+ spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]);
sprite->data0 = gBattleAnimArgs[0];
sprite->data1 = 0;
sprite->data2 = gBattleAnimArgs[1];
sprite->data3 = spriteId;
sprite->data4 = gBattleAnimArgs[0];
- oamt_set_x3A_32(sprite, sub_80A8614);
+ StoreSpriteCallbackInData6(sprite, sub_80A8614);
sprite->callback = sub_8078458;
}
@@ -381,7 +381,7 @@ void sub_80A8614(struct Sprite *sprite)
sprite->data0 = sprite->data4;
sprite->data2 = -sprite->data2;
sprite->callback = sub_8078458;
- oamt_set_x3A_32(sprite, move_anim_8072740);
+ StoreSpriteCallbackInData6(sprite, move_anim_8072740);
}
void sub_80A8638(struct Sprite *sprite)
@@ -390,11 +390,11 @@ void sub_80A8638(struct Sprite *sprite)
int spriteId;
if (!gBattleAnimArgs[0])
{
- spriteId = gObjectBankIDs[gBattleAnimPlayerMonIndex];
+ spriteId = gObjectBankIDs[gBattleAnimBankAttacker];
}
else
{
- spriteId = gObjectBankIDs[gBattleAnimEnemyMonIndex];
+ spriteId = gObjectBankIDs[gBattleAnimBankTarget];
}
sprite->data0 = gBattleAnimArgs[2];
sprite->data1 = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
@@ -457,11 +457,11 @@ void sub_80A8764(struct Sprite *sprite)
u8 spriteId;
if (!gBattleAnimArgs[0])
{
- v1 = gBattleAnimPlayerMonIndex;
+ v1 = gBattleAnimBankAttacker;
}
else
{
- v1 = gBattleAnimEnemyMonIndex;
+ v1 = gBattleAnimBankTarget;
}
spriteId = gObjectBankIDs[v1];
if (GetBankSide(v1))
@@ -482,7 +482,7 @@ void sub_80A8764(struct Sprite *sprite)
sprite->data4 = 0;
sprite->data5 = spriteId;
sprite->invisible = TRUE;
- oamt_set_x3A_32(sprite, move_anim_8072740);
+ StoreSpriteCallbackInData6(sprite, move_anim_8072740);
sprite->callback = sub_80784A8;
}
@@ -493,11 +493,11 @@ void sub_80A8818(struct Sprite *sprite)
sprite->invisible = TRUE;
if (!gBattleAnimArgs[0])
{
- v1 = gBattleAnimPlayerMonIndex;
+ v1 = gBattleAnimBankAttacker;
}
else
{
- v1 = gBattleAnimEnemyMonIndex;
+ v1 = gBattleAnimBankTarget;
}
spriteId = gObjectBankIDs[v1];
if (GetBankSide(v1))
@@ -520,11 +520,11 @@ void sub_80A8818(struct Sprite *sprite)
sprite->data6 = gBattleAnimArgs[5];
if (!gBattleAnimArgs[5])
{
- oamt_set_x3A_32(sprite, move_anim_8072740);
+ StoreSpriteCallbackInData6(sprite, move_anim_8072740);
}
else
{
- oamt_set_x3A_32(sprite, sub_80A88F0);
+ StoreSpriteCallbackInData6(sprite, sub_80A88F0);
}
sprite->callback = sub_80784A8;
}
@@ -541,12 +541,12 @@ void sub_80A8920(u8 taskId)
{
s16 r7;
r7 = 0x8000 / gBattleAnimArgs[3];
- if (GetBankSide(gBattleAnimPlayerMonIndex))
+ if (GetBankSide(gBattleAnimBankAttacker))
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[5] = -gBattleAnimArgs[5];
}
- TASK.data[0] = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]);
+ TASK.data[0] = GetAnimBankSpriteId(gBattleAnimArgs[0]);
TASK.data[1] = (gBattleAnimArgs[1] << 8) / gBattleAnimArgs[3];
TASK.data[2] = gBattleAnimArgs[2];
TASK.data[3] = gBattleAnimArgs[3];
@@ -600,30 +600,30 @@ void sub_80A8A80(u8 taskId)
{
case 0:
case 1:
- spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]);
+ spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]);
break;
case 2:
- if (!b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex ^ 2))
+ if (!IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2))
{
DestroyAnimVisualTask(taskId);
return;
}
- spriteId = gObjectBankIDs[gBattleAnimPlayerMonIndex ^ 2];
+ spriteId = gObjectBankIDs[gBattleAnimBankAttacker ^ 2];
break;
case 3:
- if (!b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2))
+ if (!IsAnimBankSpriteVisible(gBattleAnimBankTarget ^ 2))
{
DestroyAnimVisualTask(taskId);
return;
}
- spriteId = gObjectBankIDs[gBattleAnimEnemyMonIndex ^ 2];
+ spriteId = gObjectBankIDs[gBattleAnimBankTarget ^ 2];
break;
default:
DestroyAnimVisualTask(taskId);
return;
}
TASK.data[0] = spriteId;
- if (GetBankSide(gBattleAnimEnemyMonIndex))
+ if (GetBankSide(gBattleAnimBankTarget))
{
TASK.data[1] = gBattleAnimArgs[1];
}
@@ -648,11 +648,11 @@ static void sub_80A8B3C(u8 taskId)
void sub_80A8B88(u8 taskId)
{
u8 spriteId;
- if (GetBankSide(gBattleAnimPlayerMonIndex))
+ if (GetBankSide(gBattleAnimBankAttacker))
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
}
- spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[4]);
+ spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]);
TASK.data[0] = gBattleAnimArgs[0];
TASK.data[1] = gBattleAnimArgs[1];
TASK.data[2] = gBattleAnimArgs[2];
@@ -660,11 +660,11 @@ void sub_80A8B88(u8 taskId)
TASK.data[4] = spriteId;
if (gBattleAnimArgs[4] == 0)
{
- TASK.data[5] = gBattleAnimPlayerMonIndex;
+ TASK.data[5] = gBattleAnimBankAttacker;
}
else
{
- TASK.data[5] = gBattleAnimEnemyMonIndex;
+ TASK.data[5] = gBattleAnimBankTarget;
}
TASK.data[12] = 1;
TASK.func = sub_80A8C0C;
@@ -714,7 +714,7 @@ static void sub_80A8C0C(u8 taskId)
void sub_80A8D34(u8 taskId)
{
u8 spriteId;
- spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[3]);
+ spriteId = GetAnimBankSpriteId(gBattleAnimArgs[3]);
sub_8078E70(spriteId, gBattleAnimArgs[4]);
TASK.data[0] = gBattleAnimArgs[0];
TASK.data[1] = gBattleAnimArgs[1];
@@ -754,7 +754,7 @@ static void sub_80A8D8C(u8 taskId)
void sub_80A8E04(u8 taskId)
{
u8 spriteId;
- spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[2]);
+ spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]);
sub_8078E70(spriteId, 0);
TASK.data[1] = 0;
TASK.data[2] = gBattleAnimArgs[0];
@@ -769,7 +769,7 @@ void sub_80A8E04(u8 taskId)
TASK.data[4] = gBattleAnimArgs[1];
TASK.data[5] = spriteId;
TASK.data[6] = gBattleAnimArgs[3];
- if (IsContest())
+ if (NotInBattle())
{
TASK.data[7] = 1;
}
@@ -777,16 +777,16 @@ void sub_80A8E04(u8 taskId)
{
if (gBattleAnimArgs[2] == 0)
{
- TASK.data[7] = !GetBankSide(gBattleAnimPlayerMonIndex);
+ TASK.data[7] = !GetBankSide(gBattleAnimBankAttacker);
}
else
{
- TASK.data[7] = !GetBankSide(gBattleAnimEnemyMonIndex);
+ TASK.data[7] = !GetBankSide(gBattleAnimBankTarget);
}
}
if (TASK.data[7])
{
- if (!IsContest())
+ if (!NotInBattle())
{
TASK.data[3] *= -1;
TASK.data[4] *= -1;
@@ -798,20 +798,20 @@ void sub_80A8E04(u8 taskId)
void sub_80A8EFC(u8 taskId)
{
u8 spriteId;
- spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[2]);
+ spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]);
sub_8078E70(spriteId, 0);
TASK.data[1] = 0;
TASK.data[2] = gBattleAnimArgs[0];
if (gBattleAnimArgs[2] == 0)
{
- if (GetBankSide(gBattleAnimPlayerMonIndex))
+ if (GetBankSide(gBattleAnimBankAttacker))
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
}
}
else
{
- if (GetBankSide(gBattleAnimEnemyMonIndex))
+ if (GetBankSide(gBattleAnimBankTarget))
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
}
@@ -891,7 +891,7 @@ void sub_80A9058(u8 taskId)
TASK.data[12] = 0;
TASK.data[10] = gBattleAnimArgs[3];
TASK.data[11] = gBattleAnimArgs[4];
- TASK.data[7] = obj_id_for_side_relative_to_move(1);
+ TASK.data[7] = GetAnimBankSpriteId(1);
TASK.data[8] = gSprites[TASK.data[7]].pos2.x;
TASK.data[9] = gSprites[TASK.data[7]].pos2.y;
TASK.data[0] = 0;
diff --git a/src/battle/battle_anim_80CA710.c b/src/battle/battle_anim_80CA710.c
new file mode 100644
index 000000000..65ccd7c21
--- /dev/null
+++ b/src/battle/battle_anim_80CA710.c
@@ -0,0 +1,18 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA u32 filler_03000724;
+IWRAM_DATA u16 gUnknown_03000728[4];
+IWRAM_DATA u16 gUnknown_03000730[6];
+IWRAM_DATA u32 filler_0300073c;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c
index 93c6671e5..ff4df81e4 100644
--- a/src/battle_controller_linkopponent.c
+++ b/src/battle/battle_controller_linkopponent.c
@@ -71,7 +71,7 @@ extern void sub_8031A6C(u16, u8);
extern void sub_80313A0(struct Sprite *);
extern void sub_803757C(void);
extern void oamt_add_pos2_onto_pos1();
-extern void oamt_set_x3A_32();
+extern void StoreSpriteCallbackInData6();
extern void sub_8078B34(struct Sprite *);
extern void sub_80375B4(void);
extern void sub_8010384(struct Sprite *);
@@ -99,7 +99,7 @@ extern void nullsub_47(void);
extern bool8 IsDoubleBattle(void);
extern void sub_8037840(void);
extern void sub_8031B74();
-extern u8 sub_8078874();
+extern u8 AnimBankSpriteExists();
extern u8 move_anim_start_t3();
extern void sub_8037FD8(void);
extern void sub_8037F34(void);
@@ -618,7 +618,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
battlePokemon.hpIV = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV);
battlePokemon.attackIV = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV);
battlePokemon.defenseIV = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV);
- battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV);
battlePokemon.spAttackIV = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV);
battlePokemon.spDefenseIV = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV);
battlePokemon.personality = GetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY);
@@ -628,7 +628,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
battlePokemon.maxHP = GetMonData(&gEnemyParty[a], MON_DATA_MAX_HP);
battlePokemon.attack = GetMonData(&gEnemyParty[a], MON_DATA_ATK);
battlePokemon.defense = GetMonData(&gEnemyParty[a], MON_DATA_DEF);
- battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPD);
+ battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPEED);
battlePokemon.spAttack = GetMonData(&gEnemyParty[a], MON_DATA_SPATK);
battlePokemon.spDefense = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF);
battlePokemon.isEgg = GetMonData(&gEnemyParty[a], MON_DATA_IS_EGG);
@@ -637,9 +637,8 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES);
@@ -660,9 +659,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -713,7 +710,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
size = 1;
break;
case 22:
- buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_EV);
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV);
size = 1;
break;
case 23:
@@ -752,7 +749,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV);
buffer[1] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV);
buffer[2] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV);
- buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV);
buffer[4] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV);
buffer[5] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV);
size = 6;
@@ -770,7 +767,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
size = 1;
break;
case 35:
- buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV);
size = 1;
break;
case 36:
@@ -832,7 +829,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
size = 2;
break;
case 46:
- data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPD);
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPEED);
buffer[0] = data16;
buffer[1] = data16 >> 8;
size = 2;
@@ -936,38 +933,38 @@ void sub_8038900(u8 a)
{
u8 iv;
- SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gEnemyParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gEnemyParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed);
- SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -979,8 +976,8 @@ void sub_8038900(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -1019,7 +1016,7 @@ void sub_8038900(u8 a)
SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 22:
- SetMonData(&gEnemyParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 23:
SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]);
@@ -1049,7 +1046,7 @@ void sub_8038900(u8 a)
SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]);
SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]);
SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]);
- SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]);
SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]);
SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]);
break;
@@ -1063,7 +1060,7 @@ void sub_8038900(u8 a)
SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 35:
- SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 36:
SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]);
@@ -1096,7 +1093,7 @@ void sub_8038900(u8 a)
SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]);
break;
case 46:
- SetMonData(&gEnemyParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]);
break;
case 47:
SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]);
@@ -1145,9 +1142,9 @@ void LinkOpponentHandlecmd3(void)
u8 *dst;
u8 i;
- dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1],
+ gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst);
+
LinkOpponentBufferExecCompleted();
}
@@ -1285,7 +1282,7 @@ void LinkOpponentHandleTrainerSlideBack(void)
gSprites[gObjectBankIDs[gActiveBank]].data2 = 280;
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_80375B4;
}
@@ -1636,7 +1633,7 @@ void LinkOpponentHandleTrainerBallThrow(void)
gSprites[gObjectBankIDs[gActiveBank]].data2 = 280;
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_803A3A8);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_803A3A8);
taskId = CreateTask(sub_803A2C4, 5);
gTasks[taskId].data[0] = gActiveBank;
if (ewram17810[gActiveBank].unk0_0)
@@ -1733,7 +1730,7 @@ void LinkOpponentHandlecmd50(void)
void LinkOpponentHandleSpriteInvisibility(void)
{
- if (sub_8078874(gActiveBank) != 0)
+ if (AnimBankSpriteExists(gActiveBank) != 0)
{
gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1];
sub_8031F88(gActiveBank);
diff --git a/src/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c
index 95022eaaf..a874190aa 100644
--- a/src/battle_controller_linkpartner.c
+++ b/src/battle/battle_controller_linkpartner.c
@@ -66,7 +66,7 @@ extern u8 gAnimScriptActive;
extern void (*gAnimScriptCallback)(void);
extern u8 move_anim_start_t3();
-extern u8 sub_8078874();
+extern u8 AnimBankSpriteExists();
extern void sub_8044CA0(u8);
extern void sub_8030E38(struct Sprite *);
extern void sub_80E43C0();
@@ -82,7 +82,7 @@ extern void sub_80324BC();
extern u8 sub_8031720();
extern u8 mplay_80342A4();
extern void oamt_add_pos2_onto_pos1();
-extern void oamt_set_x3A_32();
+extern void StoreSpriteCallbackInData6();
extern void sub_8078B34(struct Sprite *);
extern void sub_80105EC(struct Sprite *);
extern s32 sub_803FC34(u16);
@@ -574,7 +574,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
battlePokemon.hpIV = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
battlePokemon.attackIV = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
battlePokemon.defenseIV = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
- battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
battlePokemon.spAttackIV = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
battlePokemon.spDefenseIV = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
battlePokemon.personality = GetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY);
@@ -584,7 +584,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
battlePokemon.maxHP = GetMonData(&gPlayerParty[a], MON_DATA_MAX_HP);
battlePokemon.attack = GetMonData(&gPlayerParty[a], MON_DATA_ATK);
battlePokemon.defense = GetMonData(&gPlayerParty[a], MON_DATA_DEF);
- battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPD);
+ battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPEED);
battlePokemon.spAttack = GetMonData(&gPlayerParty[a], MON_DATA_SPATK);
battlePokemon.spDefense = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF);
battlePokemon.isEgg = GetMonData(&gPlayerParty[a], MON_DATA_IS_EGG);
@@ -593,9 +593,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES);
@@ -616,9 +614,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -669,7 +665,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
size = 1;
break;
case 22:
- buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_EV);
+ buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV);
size = 1;
break;
case 23:
@@ -708,7 +704,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
buffer[1] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
buffer[2] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
- buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
buffer[4] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
buffer[5] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
size = 6;
@@ -726,7 +722,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
size = 1;
break;
case 35:
- buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
size = 1;
break;
case 36:
@@ -788,7 +784,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
size = 2;
break;
case 46:
- data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPD);
+ data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPEED);
buffer[0] = data16;
buffer[1] = data16 >> 8;
size = 2;
@@ -893,38 +889,38 @@ void sub_811EC68(u8 a)
{
u8 iv;
- SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gPlayerParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed);
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -936,8 +932,8 @@ void sub_811EC68(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -976,7 +972,7 @@ void sub_811EC68(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 22:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 23:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]);
@@ -1006,7 +1002,7 @@ void sub_811EC68(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]);
SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]);
SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]);
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]);
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]);
SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]);
break;
@@ -1020,7 +1016,7 @@ void sub_811EC68(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 35:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 36:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]);
@@ -1053,7 +1049,7 @@ void sub_811EC68(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]);
break;
case 46:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]);
break;
case 47:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]);
@@ -1103,9 +1099,9 @@ void LinkPartnerHandlecmd3(void)
u8 *dst;
u8 i;
- dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1],
+ gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst);
+
LinkPartnerBufferExecCompleted();
}
@@ -1239,7 +1235,7 @@ void LinkPartnerHandleTrainerSlideBack(void)
gSprites[gObjectBankIDs[gActiveBank]].data2 = -40;
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_811DB1C;
}
@@ -1592,7 +1588,7 @@ void LinkPartnerHandleTrainerBallThrow(void)
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
gSprites[gObjectBankIDs[gActiveBank]].data5 = gActiveBank;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38);
StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1);
r4 = AllocSpritePalette(0xD6F9);
LoadCompressedPalette(
@@ -1682,7 +1678,7 @@ void LinkPartnerHandlecmd50(void)
void LinkPartnerHandleSpriteInvisibility(void)
{
- if (sub_8078874(gActiveBank) != 0)
+ if (AnimBankSpriteExists(gActiveBank) != 0)
{
gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1];
sub_8031F88(gActiveBank);
diff --git a/src/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c
index dd8c62cce..392e80f08 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle/battle_controller_opponent.c
@@ -4,6 +4,7 @@
#include "data2.h"
#include "battle_811DA74.h"
#include "battle_anim_813F0F4.h"
+#include "battle_tower.h"
#include "link.h"
#include "m4a.h"
#include "main.h"
@@ -76,7 +77,6 @@ extern u8 sub_8046400();
extern void sub_8032A08();
extern void sub_8043DB0();
extern void sub_8033160(void);
-extern u8 sub_8135FBC(void);
extern u8 get_trainer_class_pic_index(void);
extern void sub_80313A0(struct Sprite *);
extern void sub_8032B4C(void);
@@ -85,7 +85,7 @@ extern void sub_8032B84(void);
extern void sub_8078B34(struct Sprite *);
extern void sub_8032BBC(void);
extern void oamt_add_pos2_onto_pos1();
-extern void oamt_set_x3A_32();
+extern void StoreSpriteCallbackInData6();
extern void sub_803311C(void);
extern void sub_8010384(struct Sprite *);
extern bool8 mplay_80342A4(u8);
@@ -113,7 +113,7 @@ extern void nullsub_45(void);
extern void sub_8031B74();
extern bool8 IsDoubleBattle(void);
extern void sub_8032E2C(void);
-extern u8 sub_8078874();
+extern u8 AnimBankSpriteExists();
extern u8 move_anim_start_t3();
extern void sub_80334C0(void);
@@ -582,7 +582,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
battlePokemon.hpIV = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV);
battlePokemon.attackIV = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV);
battlePokemon.defenseIV = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV);
- battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV);
battlePokemon.spAttackIV = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV);
battlePokemon.spDefenseIV = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV);
battlePokemon.personality = GetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY);
@@ -592,7 +592,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
battlePokemon.maxHP = GetMonData(&gEnemyParty[a], MON_DATA_MAX_HP);
battlePokemon.attack = GetMonData(&gEnemyParty[a], MON_DATA_ATK);
battlePokemon.defense = GetMonData(&gEnemyParty[a], MON_DATA_DEF);
- battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPD);
+ battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPEED);
battlePokemon.spAttack = GetMonData(&gEnemyParty[a], MON_DATA_SPATK);
battlePokemon.spDefense = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF);
battlePokemon.isEgg = GetMonData(&gEnemyParty[a], MON_DATA_IS_EGG);
@@ -601,9 +601,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES);
@@ -624,9 +622,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -677,7 +673,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
size = 1;
break;
case 22:
- buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_EV);
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV);
size = 1;
break;
case 23:
@@ -716,7 +712,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV);
buffer[1] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV);
buffer[2] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV);
- buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV);
buffer[4] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV);
buffer[5] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV);
size = 6;
@@ -734,7 +730,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
size = 1;
break;
case 35:
- buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV);
+ buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV);
size = 1;
break;
case 36:
@@ -796,7 +792,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
size = 2;
break;
case 46:
- data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPD);
+ data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPEED);
buffer[0] = data16;
buffer[1] = data16 >> 8;
size = 2;
@@ -864,12 +860,12 @@ u32 sub_8033598(u8 a, u8 *buffer)
void OpponentHandlecmd1(void)
{
struct BattlePokemon buffer;
- u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- u8 *dst = (u8 *)&buffer + gBattleBufferA[gActiveBank][1];
u8 i;
+ // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard.
+ u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
+ u8 *dst;
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = src[i];
+ MEMSET_ALT(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst);
Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst);
OpponentBufferExecCompleted();
}
@@ -908,38 +904,38 @@ void sub_8033E24(u8 a)
{
u8 iv;
- SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gEnemyParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gEnemyParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed);
- SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -951,8 +947,8 @@ void sub_8033E24(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -991,7 +987,7 @@ void sub_8033E24(u8 a)
SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 22:
- SetMonData(&gEnemyParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 23:
SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]);
@@ -1021,7 +1017,7 @@ void sub_8033E24(u8 a)
SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]);
SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]);
SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]);
- SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]);
SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]);
SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]);
break;
@@ -1035,7 +1031,7 @@ void sub_8033E24(u8 a)
SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 35:
- SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 36:
SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]);
@@ -1068,7 +1064,7 @@ void sub_8033E24(u8 a)
SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]);
break;
case 46:
- SetMonData(&gEnemyParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]);
break;
case 47:
SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]);
@@ -1117,9 +1113,8 @@ void OpponentHandlecmd3(void)
u8 *dst;
u8 i;
- dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i],
+ gBattleBufferA[gActiveBank][2], i, dst);
OpponentBufferExecCompleted();
}
@@ -1222,7 +1217,7 @@ void OpponentHandleTrainerThrow(void)
else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
trainerPicIndex = get_trainer_class_pic_index();
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
- trainerPicIndex = sub_8135FBC();
+ trainerPicIndex = GetEReaderTrainerPicIndex();
else
trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
@@ -1252,7 +1247,7 @@ void OpponentHandleTrainerSlide(void)
else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
trainerPicIndex = get_trainer_class_pic_index();
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
- trainerPicIndex = sub_8135FBC();
+ trainerPicIndex = GetEReaderTrainerPicIndex();
else
trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
@@ -1281,7 +1276,7 @@ void OpponentHandleTrainerSlideBack(void)
gSprites[gObjectBankIDs[gActiveBank]].data2 = 280;
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_8032BBC;
}
@@ -1910,7 +1905,7 @@ void OpponentHandleTrainerBallThrow(void)
gSprites[gObjectBankIDs[gActiveBank]].data2 = 280;
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8035C10);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_8035C10);
taskId = CreateTask(sub_8035C44, 5);
gTasks[taskId].data[0] = gActiveBank;
if (ewram17810[gActiveBank].unk0_0)
@@ -2007,7 +2002,7 @@ void OpponentHandlecmd50(void)
void OpponentHandleSpriteInvisibility(void)
{
- if (sub_8078874(gActiveBank) != 0)
+ if (AnimBankSpriteExists(gActiveBank) != 0)
{
gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1];
sub_8031F88(gActiveBank);
diff --git a/src/battle_controller_player.c b/src/battle/battle_controller_player.c
index 5cfdeefbe..136c31841 100644
--- a/src/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -101,11 +101,11 @@ extern u8 GetBankSide(u8);
extern void sub_80E43C0();
extern void oamt_add_pos2_onto_pos1();
extern void sub_8078B34(struct Sprite *);
-extern void oamt_set_x3A_32();
+extern void StoreSpriteCallbackInData6();
extern void BattleLoadPlayerMonSprite();
extern bool8 IsDoubleBattle(void);
extern void sub_802D500(void);
-extern bool8 sub_8078874(u8);
+extern bool8 AnimBankSpriteExists(u8);
extern bool8 move_anim_start_t3();
extern void sub_802E460(void);
extern void b_link_standby_message(void);
@@ -841,7 +841,7 @@ void sub_802CA60(void)
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, (u8 *)&sp0.moves[i]);
+ SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, &sp0.moves[i]);
SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i, &sp0.pp[i]);
}
SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES, &totalPPBonuses);
@@ -1149,7 +1149,7 @@ void sub_802D924(u8 taskId)
{
u8 savedActiveBank;
- SetMonData(pkmn, MON_DATA_EXP, (u8 *)&nextLvlExp);
+ SetMonData(pkmn, MON_DATA_EXP, &nextLvlExp);
CalculateMonStats(pkmn);
gainedExp -= nextLvlExp - currExp;
savedActiveBank = gActiveBank;
@@ -1166,7 +1166,7 @@ void sub_802D924(u8 taskId)
else
{
currExp += gainedExp;
- SetMonData(pkmn, MON_DATA_EXP, (u8 *)&currExp);
+ SetMonData(pkmn, MON_DATA_EXP, &currExp);
gBattleBankFunc[bank] = sub_802D90C;
DestroyTask(taskId);
}
@@ -1231,7 +1231,7 @@ void sub_802DB6C(u8 taskId)
u8 r5;
u32 asdf;
- SetMonData(pkmn, MON_DATA_EXP, (u8 *)&sp0);
+ SetMonData(pkmn, MON_DATA_EXP, &sp0);
CalculateMonStats(pkmn);
//r10 -= sp0 - sp4;
asdf = sp0 - sp4;
@@ -1247,7 +1247,7 @@ void sub_802DB6C(u8 taskId)
{
//u32 asdf = sp4 + r10;
sp4 += r10;
- SetMonData(pkmn, MON_DATA_EXP, (u8 *)&sp4);
+ SetMonData(pkmn, MON_DATA_EXP, &sp4);
gBattleBankFunc[r7] = sub_802D90C;
DestroyTask(taskId);
}
@@ -1754,7 +1754,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
battlePokemon.hpIV = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
battlePokemon.attackIV = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
battlePokemon.defenseIV = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
- battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
battlePokemon.spAttackIV = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
battlePokemon.spDefenseIV = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
battlePokemon.personality = GetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY);
@@ -1764,7 +1764,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
battlePokemon.maxHP = GetMonData(&gPlayerParty[a], MON_DATA_MAX_HP);
battlePokemon.attack = GetMonData(&gPlayerParty[a], MON_DATA_ATK);
battlePokemon.defense = GetMonData(&gPlayerParty[a], MON_DATA_DEF);
- battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPD);
+ battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPEED);
battlePokemon.spAttack = GetMonData(&gPlayerParty[a], MON_DATA_SPATK);
battlePokemon.spDefense = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF);
battlePokemon.isEgg = GetMonData(&gPlayerParty[a], MON_DATA_IS_EGG);
@@ -1773,9 +1773,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES);
@@ -1796,9 +1794,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -1849,7 +1845,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
size = 1;
break;
case 22:
- buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_EV);
+ buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV);
size = 1;
break;
case 23:
@@ -1888,7 +1884,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
buffer[1] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
buffer[2] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
- buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
buffer[4] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
buffer[5] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
size = 6;
@@ -1906,7 +1902,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
size = 1;
break;
case 35:
- buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
size = 1;
break;
case 36:
@@ -1968,7 +1964,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
size = 2;
break;
case 46:
- data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPD);
+ data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPEED);
buffer[0] = data16;
buffer[1] = data16 >> 8;
size = 2;
@@ -2035,13 +2031,13 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
void PlayerHandlecmd1(void)
{
- struct BattlePokemon battleMon; // I think this is a BattlePokemon
- u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- u8 *dst = (u8 *)&battleMon + gBattleBufferA[gActiveBank][1];
+ struct BattlePokemon battleMon;
u8 i;
+ // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard.
+ u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
+ u8 *dst;
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = src[i];
+ MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst);
Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst);
PlayerBufferExecCompleted();
}
@@ -2081,38 +2077,38 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
{
u8 iv;
- SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gPlayerParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed);
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -2124,8 +2120,8 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -2164,7 +2160,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 22:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 23:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]);
@@ -2194,7 +2190,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]);
SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]);
SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]);
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]);
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]);
SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]);
break;
@@ -2208,7 +2204,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 35:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 36:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]);
@@ -2241,7 +2237,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]);
break;
case 46:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]);
break;
case 47:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]);
@@ -2288,11 +2284,11 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
void PlayerHandlecmd3(void)
{
- u8 *dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
u8 i;
+ u8 *dst;
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i],
+ gBattleBufferA[gActiveBank][2], i, dst);
PlayerBufferExecCompleted();
}
@@ -2425,7 +2421,7 @@ void PlayerHandleTrainerSlideBack(void)
gSprites[gObjectBankIDs[gActiveBank]].data2 = -40;
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy);
StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1);
gBattleBankFunc[gActiveBank] = sub_802D274;
}
@@ -2599,7 +2595,7 @@ void PlayerHandlecmd18(void)
sub_802E3E4(gActionSelectionCursor[gActiveBank], 0);
- StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CA8);
+ StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CA8);
InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35);
sub_8002F44(&gUnknown_03004210);
}
@@ -2896,7 +2892,7 @@ void PlayerHandleTrainerBallThrow(void)
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
gSprites[gObjectBankIDs[gActiveBank]].data5 = gActiveBank;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38);
StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1);
paletteNum = AllocSpritePalette(0xD6F8);
LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2.playerGender].data, 0x100 + paletteNum * 16, 32);
@@ -2994,7 +2990,7 @@ void PlayerHandlecmd50(void)
void PlayerHandleSpriteInvisibility(void)
{
- if (sub_8078874(gActiveBank))
+ if (AnimBankSpriteExists(gActiveBank))
{
gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1];
sub_8031F88(gActiveBank);
diff --git a/src/battle_controller_safari.c b/src/battle/battle_controller_safari.c
index e05578c31..2fcdf7548 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle/battle_controller_safari.c
@@ -483,7 +483,7 @@ void SafariHandlecmd18(void)
nullsub_8(i);
sub_802E3E4(gActionSelectionCursor[gActiveBank], 0);
- StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CBB);
+ StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CBB);
InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35);
sub_8002F44(&gUnknown_03004210);
diff --git a/src/battle_controller_wally.c b/src/battle/battle_controller_wally.c
index f2cf5bbb4..9d70ca557 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle/battle_controller_wally.c
@@ -89,7 +89,7 @@ extern void sub_80E43C0();
extern void oamt_add_pos2_onto_pos1();
extern void sub_8078B34(struct Sprite *);
extern void sub_8030E38(struct Sprite *);
-extern void oamt_set_x3A_32();
+extern void StoreSpriteCallbackInData6();
extern u8 sub_8046400();
extern u8 sub_8077ABC();
extern u8 sub_8077F68();
@@ -550,7 +550,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
battlePokemon.hpIV = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
battlePokemon.attackIV = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
battlePokemon.defenseIV = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
- battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
battlePokemon.spAttackIV = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
battlePokemon.spDefenseIV = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
battlePokemon.personality = GetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY);
@@ -560,7 +560,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
battlePokemon.maxHP = GetMonData(&gPlayerParty[a], MON_DATA_MAX_HP);
battlePokemon.attack = GetMonData(&gPlayerParty[a], MON_DATA_ATK);
battlePokemon.defense = GetMonData(&gPlayerParty[a], MON_DATA_DEF);
- battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPD);
+ battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPEED);
battlePokemon.spAttack = GetMonData(&gPlayerParty[a], MON_DATA_SPATK);
battlePokemon.spDefense = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF);
battlePokemon.isEgg = GetMonData(&gPlayerParty[a], MON_DATA_IS_EGG);
@@ -569,9 +569,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES);
@@ -592,9 +590,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -645,7 +641,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
size = 1;
break;
case 22:
- buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_EV);
+ buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV);
size = 1;
break;
case 23:
@@ -684,7 +680,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
buffer[1] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
buffer[2] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
- buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
buffer[4] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
buffer[5] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
size = 6;
@@ -702,7 +698,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
size = 1;
break;
case 35:
- buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
+ buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV);
size = 1;
break;
case 36:
@@ -764,7 +760,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
size = 2;
break;
case 46:
- data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPD);
+ data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPEED);
buffer[0] = data16;
buffer[1] = data16 >> 8;
size = 2;
@@ -868,38 +864,38 @@ void sub_8138294(u8 a)
{
u8 iv;
- SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gPlayerParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed);
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -911,8 +907,8 @@ void sub_8138294(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -951,7 +947,7 @@ void sub_8138294(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 22:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]);
break;
case 23:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]);
@@ -981,7 +977,7 @@ void sub_8138294(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]);
SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]);
SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]);
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]);
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]);
SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]);
break;
@@ -995,7 +991,7 @@ void sub_8138294(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 35:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]);
break;
case 36:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]);
@@ -1028,7 +1024,7 @@ void sub_8138294(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]);
break;
case 46:
- SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]);
break;
case 47:
SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]);
@@ -1490,7 +1486,7 @@ void WallyHandleTrainerBallThrow(void)
gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y;
gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34;
gSprites[gObjectBankIDs[gActiveBank]].data5 = gActiveBank;
- oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38);
+ StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38);
StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1);
paletteNum = AllocSpritePalette(0xD6F8);
LoadCompressedPalette(gTrainerBackPicPaletteTable[2].data, 0x100 + paletteNum * 16, 32);
diff --git a/src/battle_interface.c b/src/battle/battle_interface.c
index 246bda62b..10962c025 100644
--- a/src/battle_interface.c
+++ b/src/battle/battle_interface.c
@@ -97,7 +97,7 @@ static int sub_8045F58(s32, s32, int, int *, u8, u16);
static u8 GetScaledExpFraction(int, int, int, u8);
static void sub_8045D58(u8, u8);
static u8 sub_804602C(int, int, int, int *, u8 *, u8);
-static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, void *c);
+static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, u16 *c);
static int do_nothing(s16 unused1, s16 unused2, int unused3)
{
@@ -482,7 +482,7 @@ u8 battle_make_oam_normal_battle(u8 a)
SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]);
sprite->subspriteMode = 2;
sprite->oam.priority = 1;
- CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + sprite->oam.tileNum * 32), 64);
+ CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64);
gSprites[spriteId1].data5 = spriteId3;
gSprites[spriteId1].data6 = a;
@@ -940,7 +940,7 @@ static void sub_8044210(u8 a, s16 b, u8 c)
sub_8003504(ptr, b, 0xF, 1);
if (GetBankSide(r4) == 0)
{
- CpuCopy32(sub_8043CDC(0x74), (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32), 32);
+ CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32);
}
}
r4 = gSprites[a].data5;
@@ -1309,7 +1309,7 @@ void sub_804454C(void)
{
spriteId = gSprites[gHealthboxIDs[i]].data5;
- CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100);
+ CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100);
sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0);
sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1);
}
@@ -1317,7 +1317,7 @@ void sub_804454C(void)
{
draw_status_ailment_maybe(gHealthboxIDs[i]);
sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5);
- CpuCopy32(sub_8043CDC(0x75), (void *)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32), 32);
+ CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32);
}
}
else
@@ -1332,7 +1332,7 @@ void sub_804454C(void)
{
spriteId = gSprites[gHealthboxIDs[i]].data5;
- CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100);
+ CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100);
sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0);
sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1);
}
@@ -2388,7 +2388,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn)
gender = GetMonGender(pkmn);
species = GetMonData(pkmn, MON_DATA_SPECIES);
language = GetMonData(pkmn, MON_DATA_LANGUAGE);
- if (sub_8040D3C(species, nickname, language))
+ if (ShouldHideGenderIconForLanguage(species, nickname, language))
gender = 100;
switch (gender)
{
@@ -2501,13 +2501,13 @@ static void sub_8045458(u8 a, u8 b)
if (GetBankSide(r4) != 0)
{
u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES);
- if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0)
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0)
{
r4 = gSprites[a].data5;
if (b != 0)
- CpuCopy32(sub_8043CDC(0x46), (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32);
+ CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32);
else
- CpuFill32(0, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32);
+ CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32);
}
}
}
@@ -2568,10 +2568,10 @@ static void draw_status_ailment_maybe(u8 a)
r6 = sub_8043CDC(0x27);
for (i = 0; i < 3; i++)
- CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32), 32);
+ CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32);
if (!ewram17800[r7].unk0_4)
- CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 64);
+ CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64);
sub_8045458(a, 1);
return;
@@ -2582,13 +2582,13 @@ static void draw_status_ailment_maybe(u8 a)
// I don't like writing the array index like this, but I can't get it to match otherwise.
FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2);
CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2);
- CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32), 96);
+ CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96);
if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE)
{
if (!ewram17800[r7].unk0_4)
{
- CpuCopy32(sub_8043CDC(0), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 32);
- CpuCopy32(sub_8043CDC(0x41), (void *)(OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32), 32);
+ CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32);
+ CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32);
}
}
sub_8045458(a, 0);
@@ -2669,11 +2669,11 @@ static void sub_80458B0(u8 a)
CpuCopy32(sub_8043CDC(0x2B), r6 + i * 64, 32);
for (r7 = 3; r7 < 3 + r8; r7++)
{
- addr = (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32);
+ addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32;
CpuCopy32(r6, addr, 32);
r6 += 32;
- addr = (void *)(OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32);
+ addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32;
CpuCopy32(r6, addr, 32);
r6 += 32;
}
@@ -2697,7 +2697,7 @@ static void sub_8045998(u8 a)
r7 = (u8 *)0x02000520 + status * 0x180 + 32;
for (i = 6; i < 6 + r6; i++)
{
- CpuCopy32(r7, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32), 32);
+ CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32);
r7 += 64;
}
}
@@ -2821,9 +2821,9 @@ static void sub_8045D58(u8 a, u8 b)
{
u8 r4 = gSprites[ewram17850[a].unk0].data5;
if (i < 2)
- CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32), 32);
+ CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32);
else
- CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32), 32);
+ CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32);
}
break;
case 1:
@@ -2837,9 +2837,9 @@ static void sub_8045D58(u8 a, u8 b)
for (i = 0; i < 8; i++)
{
if (i < 4)
- CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32), 32);
+ CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32);
else
- CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32), 32);
+ CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32);
}
break;
}
@@ -2972,7 +2972,7 @@ static u8 sub_804602C(int a, int b, int c, int *d, u8 *e, u8 f)
return r3;
}
-s16 sub_80460C8(struct BattleInterfaceStruct1 *a, int *b, void *c, int d)
+s16 sub_80460C8(struct BattleInterfaceStruct1 *a, int *b, u16 *c, int d)
{
u16 r7;
s16 r1;
@@ -2987,7 +2987,7 @@ s16 sub_80460C8(struct BattleInterfaceStruct1 *a, int *b, void *c, int d)
return r7;
}
-static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, void *c)
+static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, u16 *c)
{
u8 sp8[6];
u16 sp10[6];
diff --git a/src/battle_message.c b/src/battle/battle_message.c
index a3cc320ad..79855a614 100644
--- a/src/battle_message.c
+++ b/src/battle/battle_message.c
@@ -1,6 +1,7 @@
#include "global.h"
-#include "battle_message.h"
#include "battle.h"
+#include "battle_message.h"
+#include "battle_tower.h"
#include "item.h"
#include "items.h"
#include "pokemon.h"
@@ -127,7 +128,6 @@ u8 GetBankSide(u8 bank);
s32 sub_803FC34(u16);
void get_trainer_name(u8* dst);
u8 get_trainer_class_name_index(void);
-u8 sub_8135FD8(void);
u8 GetMultiplayerId(void);
u8 GetBankByPlayerAI(u8 ID);
u8 GetBankSide(u8 bank);
@@ -632,7 +632,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
toCpy = gTrainerClassNames[get_trainer_class_name_index()];
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
- toCpy = gTrainerClassNames[sub_8135FD8()];
+ toCpy = gTrainerClassNames[GetEReaderTrainerClassNameIndex()];
else
toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent].trainerClass];
break;
@@ -661,7 +661,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
}
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
{
- sub_8135FF4(text);
+ SetEReaderTrainerName(text);
toCpy = text;
}
else
diff --git a/src/battle_party_menu.c b/src/battle/battle_party_menu.c
index 49e0b8432..2f6dc6816 100644
--- a/src/battle_party_menu.c
+++ b/src/battle/battle_party_menu.c
@@ -22,31 +22,14 @@
extern u8 ewram[];
#define UNK_201606C_ARRAY (ewram + 0x1606C) // lazy define but whatever.
-extern u8 IsLinkDoubleBattle(void);
-extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *);
-extern void LoadHeldItemIconGraphics(void);
-extern void CreateHeldItemIcons_806DC34();
extern u8 sub_806BD58(u8, u8);
extern void PartyMenuPrintMonsLevelOrStatus(void);
-extern void PrintPartyMenuMonNicknames(void);
-extern void PartyMenuTryPrintMonsHP(void);
extern void nullsub_13(void);
-extern void PartyMenuDrawHPBars(void);
-extern u8 sub_806B58C(u8);
-extern u8 GetItemEffectType();
-extern void sub_806E750(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, int);
-extern void sub_806D5A4(void);
extern void sub_802E414(void);
extern void sub_80A6DCC(void);
-extern void sub_806AF4C();
-extern void sub_806AEDC(void);
-extern TaskFunc PartyMenuGetPopupMenuFunc(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, u8);
-extern void sub_806E7D0(u8, const struct PartyPopupMenu *);
extern u8 *sub_8040D08();
extern void sub_8040B8C(void);
-extern void sub_806E6F0();
extern void nullsub_14();
-extern void OpenPartyMenu();
extern u8 sub_803FBBC(void);
extern u8 gPlayerPartyCount;
@@ -79,7 +62,7 @@ static void Task_BattlePartyMenuSummary(u8 taskId);
static void Task_BattlePartyMenuShift(u8 taskId);
static void Task_BattlePartyMenuCancel(u8 taskId);
-static const struct PartyMenuItem sBattlePartyMenuActions[] =
+static const struct MenuAction2 sBattlePartyMenuActions[] =
{
{OtherText_Summary, Task_BattlePartyMenuSummary},
{gOtherText_CancelNoTerminator, Task_BattlePartyMenuCancel},
@@ -342,7 +325,7 @@ void unref_sub_8094DB0(void)
{
r4 = sub_8094C20(0);
sub_8094C98(0, i);
- sub_806E6F0(&gPlayerParty[r4], &gPlayerParty[n]);
+ SwapPokemon(&gPlayerParty[r4], &gPlayerParty[n]);
break;
}
}
@@ -354,7 +337,7 @@ void sub_8094E20(u8 a)
gUnknown_02038473 = a;
nullsub_14();
pokemon_change_order();
- OpenPartyMenu(1, 0xFF);
+ OpenPartyMenu(PARTY_MENU_TYPE_BATTLE, 0xFF);
}
void sub_8094E4C(void)
@@ -362,93 +345,93 @@ void sub_8094E4C(void)
sub_8094E20(3);
}
-int SetUpBattlePartyMenu(void)
+bool8 SetUpBattlePartyMenu(void)
{
- switch (EWRAM_1B000.unk264)
+ switch (EWRAM_1B000.setupState)
//switch (ewram1B000.unk264[0])
{
case 0:
//TODO: try to get rid of this duplicate code
if (IsLinkDoubleBattle() == TRUE)
{
- if (EWRAM_1B000.unk266 != 6)
+ if (EWRAM_1B000.monIndex != 6)
{
- TryCreatePartyMenuMonIcon(EWRAM_1B000.unk260, EWRAM_1B000.unk266, &gPlayerParty[EWRAM_1B000.unk266]);
- EWRAM_1B000.unk266++;
+ TryCreatePartyMenuMonIcon(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex, &gPlayerParty[EWRAM_1B000.monIndex]);
+ EWRAM_1B000.monIndex++;
}
else
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState++;
}
}
else
{
- if (EWRAM_1B000.unk266 < 6)
+ if (EWRAM_1B000.monIndex < 6)
{
- TryCreatePartyMenuMonIcon(EWRAM_1B000.unk260, EWRAM_1B000.unk266, &gPlayerParty[EWRAM_1B000.unk266]);
- EWRAM_1B000.unk266++;
+ TryCreatePartyMenuMonIcon(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex, &gPlayerParty[EWRAM_1B000.monIndex]);
+ EWRAM_1B000.monIndex++;
}
else
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState++;
}
}
break;
case 1:
LoadHeldItemIconGraphics();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 2:
- CreateHeldItemIcons_806DC34(EWRAM_1B000.unk260);
- EWRAM_1B000.unk264++;
+ CreateHeldItemIcons_806DC34(EWRAM_1B000.menuHandlerTaskId);
+ EWRAM_1B000.setupState++;
break;
case 3:
- if (sub_806BD58(EWRAM_1B000.unk260, EWRAM_1B000.unk266) == 1)
+ if (sub_806BD58(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex) == 1)
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState++;
}
else
- EWRAM_1B000.unk266++;
+ EWRAM_1B000.monIndex++;
break;
case 4:
PartyMenuPrintMonsLevelOrStatus();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 5:
PrintPartyMenuMonNicknames();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 6:
PartyMenuTryPrintMonsHP();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 7:
nullsub_13();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 8:
PartyMenuDrawHPBars();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 9:
- if (sub_806B58C(EWRAM_1B000.unk266) == 1)
+ if (DrawPartyMonBackground(EWRAM_1B000.monIndex) == 1)
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState++;
}
else
- EWRAM_1B000.unk266++;
+ EWRAM_1B000.monIndex++;
break;
case 10:
if (gUnknown_02038473 == 3)
{
if (GetItemEffectType(gScriptItemId) == 10)
- ewram1B000.unk259 = 0xFF;
+ ewram1B000.promptTextId = 0xFF;
else
- ewram1B000.unk259 = 3;
+ ewram1B000.promptTextId = 3;
}
return TRUE;
}
@@ -461,55 +444,56 @@ static void sub_8095050(u8 a, u8 b)
{
if (gUnknown_02038473 == 1)
{
- gTasks[EWRAM_1B000.unk260].data[4] = 1;
- gTasks[EWRAM_1B000.unk260].data[5] = 1;
+ gTasks[EWRAM_1B000.menuHandlerTaskId].data[4] = 1;
+ gTasks[EWRAM_1B000.menuHandlerTaskId].data[5] = 1;
}
else
{
- gTasks[EWRAM_1B000.unk260].data[4] = 0;
- gTasks[EWRAM_1B000.unk260].data[5] = 0;
+ gTasks[EWRAM_1B000.menuHandlerTaskId].data[4] = 0;
+ gTasks[EWRAM_1B000.menuHandlerTaskId].data[5] = 0;
}
}
else
{
- gTasks[EWRAM_1B000.unk260].data[4] = 2;
- gTasks[EWRAM_1B000.unk260].data[5] = 2;
+ gTasks[EWRAM_1B000.menuHandlerTaskId].data[4] = 2;
+ gTasks[EWRAM_1B000.menuHandlerTaskId].data[5] = 2;
}
- sub_806E750(gTasks[a].data[4], sBattlePartyPopupMenus, sBattlePartyMenuActions, 0);
+
+ ShowPartyPopupMenu(gTasks[a].data[4], sBattlePartyPopupMenus, sBattlePartyMenuActions, 0);
}
-void SetUpBattlePokemonMenu(u8 a)
+void HandleBattlePartyMenu(u8 taskId)
{
if (!gPaletteFade.active)
{
if (gUnknown_02038473 == 3 && GetItemEffectType(gScriptItemId) == 10)
{
- gUnknown_03004AE4(a, gScriptItemId, Task_80952E4);
+ gUnknown_03004AE4(taskId, gScriptItemId, Task_80952E4);
return;
}
- switch (sub_806BD80(a))
+ switch (HandleDefaultPartyMenuInput(taskId))
{
- case 1:
+ case A_BUTTON:
if (gUnknown_02038473 == 3)
{
- if (GetMonData(&gPlayerParty[sub_806CA38(a)], MON_DATA_IS_EGG))
+ if (GetMonData(&gPlayerParty[sub_806CA38(taskId)], MON_DATA_IS_EGG))
PlaySE(SE_HAZURE);
else
{
sub_806D5A4();
- gUnknown_03004AE4(a, gScriptItemId, Task_80952E4);
+ gUnknown_03004AE4(taskId, gScriptItemId, Task_80952E4);
}
}
else
{
PlaySE(SE_SELECT);
- GetMonNickname(&gPlayerParty[sub_806CA38(a)], gStringVar1);
- sub_8095050(a, sub_806CA38(a));
- SetTaskFuncWithFollowupFunc(a, Task_HandlePopupMenuInput, SetUpBattlePokemonMenu);
+ GetMonNickname(&gPlayerParty[sub_806CA38(taskId)], gStringVar1);
+ sub_8095050(taskId, sub_806CA38(taskId));
+ SetTaskFuncWithFollowupFunc(taskId, Task_HandlePopupMenuInput, HandleBattlePartyMenu);
}
break;
- case 2:
+ case B_BUTTON:
if (gUnknown_02038473 == 1)
PlaySE(SE_HAZURE);
else
@@ -518,12 +502,12 @@ void SetUpBattlePokemonMenu(u8 a)
if (gUnknown_02038473 == 3)
{
gUnknown_0202E8F4 = 0;
- gTasks[a].func = Task_80952E4;
+ gTasks[taskId].func = Task_80952E4;
}
else
{
gUnknown_0202E8F4 = 0;
- gTasks[a].func = Task_809527C;
+ gTasks[taskId].func = Task_809527C;
}
}
break;
@@ -571,7 +555,7 @@ static void Task_8095330(u8 taskId)
static void Task_809535C(void)
{
gPaletteFade.bufferTransferDisabled = TRUE;
- sub_806AF4C(1, 0xFF, SetUpBattlePokemonMenu, 5);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_BATTLE, 0xFF, HandleBattlePartyMenu, 5);
SetMainCallback2(Task_809538C);
}
@@ -579,14 +563,14 @@ static void Task_809538C(void)
{
do
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0);
- sub_806BF74(EWRAM_1B000.unk260, 0);
+ sub_806C994(EWRAM_1B000.menuHandlerTaskId, gUnknown_020384F0);
+ ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0);
GetMonNickname(&gPlayerParty[gUnknown_020384F0], gStringVar1);
- sub_8095050(EWRAM_1B000.unk260, gUnknown_020384F0);
- SetTaskFuncWithFollowupFunc(EWRAM_1B000.unk260, Task_HandlePopupMenuInput, SetUpBattlePokemonMenu);
- SetMainCallback2(sub_806AEDC);
+ sub_8095050(EWRAM_1B000.menuHandlerTaskId, gUnknown_020384F0);
+ SetTaskFuncWithFollowupFunc(EWRAM_1B000.menuHandlerTaskId, Task_HandlePopupMenuInput, HandleBattlePartyMenu);
+ SetMainCallback2(CB2_PartyMenuMain);
return;
}
} while (sub_80F9344() != 1);
@@ -660,7 +644,7 @@ static void Task_BattlePartyMenuShift(u8 taskId)
u8 i;
u8 r4;
- sub_806E7D0(gTasks[taskId].data[4], sBattlePartyPopupMenus);
+ ClosePartyPopupMenu(gTasks[taskId].data[4], sBattlePartyPopupMenus);
partySelection = sub_806CA38(taskId);
if (IsLinkDoubleBattle() == TRUE && (partySelection == 1 || partySelection == 4 || partySelection == 5))
{
@@ -735,15 +719,15 @@ static void Task_BattlePartyMenuShift(u8 taskId)
gUnknown_0202E8F4 = 1;
r4 = pokemon_order_func(gBattlePartyID[gBankInMenu]);
sub_8094C98(r4, partySelection);
- sub_806E6F0(&gPlayerParty[r4], &gPlayerParty[partySelection]);
+ SwapPokemon(&gPlayerParty[r4], &gPlayerParty[partySelection]);
gTasks[taskId].func = Task_809527C;
}
static void Task_BattlePartyMenuCancel(u8 taskId)
{
HandleDestroyMenuCursors();
- sub_806E7D0(gTasks[taskId].data[4], sBattlePartyPopupMenus);
+ ClosePartyPopupMenu(gTasks[taskId].data[4], sBattlePartyPopupMenus);
gTasks[taskId].data[4] = gTasks[taskId].data[5];
- sub_806D538(0, 0);
+ PrintPartyMenuPromptText(0, 0);
SwitchTaskToFollowupFunc(taskId);
}
diff --git a/src/battle_records.c b/src/battle/battle_records.c
index d848a10b8..54697593b 100644
--- a/src/battle_records.c
+++ b/src/battle/battle_records.c
@@ -243,7 +243,7 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y)
void ShowLinkBattleRecords(void) {
s32 i;
MenuDrawTextWindow(1, 0, 28, 18);
- sub_8072BD8((u8 *) gOtherText_BattleResults, 0, 1, 240);
+ sub_8072BD8(gOtherText_BattleResults, 0, 1, 240);
PrintLinkBattleWinsLossesDraws(gSaveBlock1.linkBattleRecords);
#if ENGLISH
@@ -260,9 +260,9 @@ void ShowLinkBattleRecords(void) {
static bool32 sub_8110494(u8 level)
{
- struct SaveBlock2_Sub *sb2sub = &gSaveBlock2.filler_A8;
+ struct BattleTowerData *battleTower = &gSaveBlock2.battleTower;
- switch (sb2sub->var_4AE[level])
+ switch (battleTower->var_4AE[level])
{
case 0:
return FALSE;
@@ -294,17 +294,18 @@ static void PrintWinStreak(const u8 *str, u16 streak, u8 left, u8 top)
static void PrintRecordWinStreak(u8 level, u8 left, u8 top)
{
- struct SaveBlock2_Sub *sb2sub = &gSaveBlock2.filler_A8;
- u16 winStreak = sb2sub->recordWinStreak[level];
+ struct BattleTowerData *battleTower = &gSaveBlock2.battleTower;
+ u16 winStreak = battleTower->recordWinStreaks[level];
PrintWinStreak(gOtherText_Record, winStreak, left, top);
}
static u16 GetLastWinStreak(u8 level)
{
- u16 result = gSaveBlock2.filler_A8.winStreak[level];
- if (result > 9999)
- result = 9999;
- return result;
+ u16 winStreak = gSaveBlock2.battleTower.currentWinStreaks[level];
+ if (winStreak > 9999)
+ winStreak = 9999;
+
+ return winStreak;
}
static void PrintLastWinStreak(u8 level, u8 left, u8 top)
diff --git a/src/battle_setup.c b/src/battle/battle_setup.c
index 59e17e9eb..8327ed59d 100644
--- a/src/battle_setup.c
+++ b/src/battle/battle_setup.c
@@ -876,23 +876,24 @@ static void CB2_StartFirstBattle(void)
static void CB2_EndFirstBattle(void)
{
- sav1_reset_battle_music_maybe();
+ Overworld_ClearSavedMusic();
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
}
+// why not just use the macros? maybe its because they didnt want to uncast const every time?
static u32 TrainerBattleLoadArg32(const u8 *ptr)
{
- return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24);
+ return T1_READ_32(ptr);
}
static u16 TrainerBattleLoadArg16(const u8 *ptr)
{
- return ptr[0] | (ptr[1] << 8);
+ return T1_READ_16(ptr);
}
static u8 TrainerBattleLoadArg8(const u8 *ptr)
{
- return ptr[0];
+ return T1_READ_8(ptr);
}
static u16 CurrentOpponentTrainerFlag(void)
@@ -1123,8 +1124,8 @@ void ScrSpecial_StartTrainerEyeRematch(void)
ScriptContext1_Stop();
}
-static u8 *GetTrainerIntroSpeech(void);
-static u8 *GetTrainerNonBattlingSpeech(void);
+static const u8 *GetTrainerIntroSpeech(void);
+static const u8 *GetTrainerNonBattlingSpeech(void);
void ScrSpecial_ShowTrainerIntroSpeech(void)
{
@@ -1207,22 +1208,22 @@ void PlayTrainerEncounterMusic(void)
}
//Returns an empty string if a null pointer was passed, otherwise returns str
-static u8 *SanitizeString(const u8 *str)
+static const u8 *SanitizeString(const u8 *str)
{
if (str)
- return (u8 *) str;
+ return str;
else
- return (u8 *) gOtherText_CancelWithTerminator;
+ return gOtherText_CancelWithTerminator;
}
-static u8 *GetTrainerIntroSpeech(void)
+static const u8 *GetTrainerIntroSpeech(void)
{
return SanitizeString(sTrainerIntroSpeech);
}
u8 *sub_8082830(void)
{
- u8 *str;
+ const u8 *str;
if (gTrainerBattleOpponent == 1024)
str = sub_80BCCE8();
@@ -1233,12 +1234,12 @@ u8 *sub_8082830(void)
return gStringVar4;
}
-u8 *unref_sub_808286C(void)
+const u8 *unref_sub_808286C(void)
{
return SanitizeString(sTrainerVictorySpeech);
}
-static u8 *GetTrainerNonBattlingSpeech(void)
+static const u8 *GetTrainerNonBattlingSpeech(void)
{
return SanitizeString(sTrainerCannotBattleSpeech);
}
diff --git a/src/battle_transition.c b/src/battle/battle_transition.c
index 53d32d03a..53d32d03a 100644
--- a/src/battle_transition.c
+++ b/src/battle/battle_transition.c
diff --git a/src/calculate_base_damage.c b/src/battle/calculate_base_damage.c
index f5c679876..f5c679876 100644
--- a/src/calculate_base_damage.c
+++ b/src/battle/calculate_base_damage.c
diff --git a/src/contest_link_80C857C.c b/src/battle/contest_link_80C857C.c
index 0ae98af09..0ae98af09 100644
--- a/src/contest_link_80C857C.c
+++ b/src/battle/contest_link_80C857C.c
diff --git a/src/pokeball.c b/src/battle/pokeball.c
index ee3b95678..ee3b95678 100644
--- a/src/pokeball.c
+++ b/src/battle/pokeball.c
diff --git a/src/post_battle_event_funcs.c b/src/battle/post_battle_event_funcs.c
index 27d7022fe..27d7022fe 100644
--- a/src/post_battle_event_funcs.c
+++ b/src/battle/post_battle_event_funcs.c
diff --git a/src/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c
index 343c8f183..343c8f183 100644
--- a/src/reshow_battle_screen.c
+++ b/src/battle/reshow_battle_screen.c
diff --git a/src/smokescreen.c b/src/battle/smokescreen.c
index 8345cb6ad..8345cb6ad 100644
--- a/src/smokescreen.c
+++ b/src/battle/smokescreen.c
diff --git a/src/bike.c b/src/bike.c
deleted file mode 100644
index 80cab0850..000000000
--- a/src/bike.c
+++ /dev/null
@@ -1,1013 +0,0 @@
-#include "global.h"
-#include "bike.h"
-#include "field_map_obj.h"
-#include "field_player_avatar.h"
-#include "fieldmap.h"
-#include "flags.h"
-#include "global.fieldmap.h"
-#include "metatile_behavior.h"
-#include "overworld.h"
-#include "songs.h"
-#include "sound.h"
-
-extern u8 sub_80608A4(u8);
-
-extern u8 gUnknown_02039250;
-extern u8 gUnknown_02039251;
-extern u8 gUnknown_0202E854;
-
-static void MovePlayerOnMachBike(u8, u16, u16);
-static u8 GetMachBikeTransition(u8 *);
-static void MachBikeTransition_FaceDirection(u8);
-static void MachBikeTransition_80E517C(u8);
-static void MachBikeTransition_80E51C4(u8);
-static void MachBikeTransition_80E5270(u8);
-static void MovePlayerOnAcroBike(u8, u16, u16);
-static u8 CheckMovementInputAcroBike(u8 *, u16, u16);
-static u8 AcroBikeHandleInputNormal(u8 *, u16, u16);
-static u8 AcroBikeHandleInputTurning(u8 *, u16, u16);
-static u8 AcroBikeHandleInputWheelieStanding(u8 *, u16, u16);
-static u8 AcroBikeHandleInputBunnyHop(u8 *, u16, u16);
-static u8 AcroBikeHandleInputWheelieMoving(u8 *, u16, u16);
-static u8 AcroBikeHandleInputState5(u8 *, u16, u16);
-static u8 AcroBikeHandleInputState6(u8 *, u16, u16);
-static void AcroBikeTransition_FaceDirection(u8);
-static void AcroBikeTransition_80E5708(u8);
-static void AcroBikeTransition_80E5744(u8);
-static void AcroBikeTransition_NormalToWheelie(u8);
-static void AcroBikeTransition_80E57F8(u8);
-static void AcroBikeTransition_80E5834(u8);
-static void AcroBikeTransition_80E5870(u8);
-static void AcroBikeTransition_80E58AC(u8);
-static void AcroBikeTransition_80E5920(u8);
-static void AcroBikeTransition_80E5990(u8);
-static void AcroBikeTransition_80E59A0(u8);
-static void AcroBikeTransition_80E5A30(u8);
-static void AcroBikeTransition_80E5AC0(u8);
-static void sub_80E5B60(u16, u16);
-static u8 sub_80E5C2C(void);
-static void sub_80E5C7C(u8);
-static void sub_80E5CB8(u8);
-static u8 sub_80E5CF4(u16);
-static u8 get_some_collision(u8);
-static u8 sub_80E5DA0(struct MapObject *, s16, s16, u8, u8);
-static bool8 IsRunningDisallowedByMetatile(u8);
-static void sub_80E5E4C();
-static u8 CanBikeFaceDirOnMetatile(u8, u8);
-static bool8 sub_80E5EC0(u8, u8);
-static void sub_80E6024(void);
-
-static void (*const sMachBikeTransitions[])(u8) =
-{
- MachBikeTransition_FaceDirection,
- MachBikeTransition_80E517C,
- MachBikeTransition_80E51C4,
- MachBikeTransition_80E5270,
-};
-
-static void (*const gUnknown_083DB5A4[])(u8) =
-{
- PlayerGoSpeed0,
- sub_80593C4,
- sub_80593F4,
-};
-
-static void (*const sAcroBikeTransitions[])(u8) =
-{
- AcroBikeTransition_FaceDirection,
- AcroBikeTransition_80E5708,
- AcroBikeTransition_80E5744,
- AcroBikeTransition_NormalToWheelie,
- AcroBikeTransition_80E57F8,
- AcroBikeTransition_80E5834,
- AcroBikeTransition_80E5870,
- AcroBikeTransition_80E58AC,
- AcroBikeTransition_80E5920,
- AcroBikeTransition_80E5990,
- AcroBikeTransition_80E59A0,
- AcroBikeTransition_80E5A30,
- AcroBikeTransition_80E5AC0,
-};
-
-static u8 (*const sAcroBikeInputHandlers[])(u8 *, u16, u16) =
-{
- AcroBikeHandleInputNormal,
- AcroBikeHandleInputTurning,
- AcroBikeHandleInputWheelieStanding,
- AcroBikeHandleInputBunnyHop,
- AcroBikeHandleInputWheelieMoving,
- AcroBikeHandleInputState5,
- AcroBikeHandleInputState6,
-};
-
-const u16 gMachBikeSpeeds[] = {SPEED_NORMAL, SPEED_FAST, SPEED_FASTEST};
-static const u8 Unknown_3DB606[] = {4, 0};
-
-static const struct UnknownStruct1 gUnknown_083DB608[] =
-{
- {1, 2, 15, 15, Unknown_3DB606, Unknown_3DB606, 1},
- {2, 2, 15, 15, Unknown_3DB606, Unknown_3DB606, 2},
- {3, 2, 15, 15, Unknown_3DB606, Unknown_3DB606, 3},
- {4, 2, 15, 15, Unknown_3DB606, Unknown_3DB606, 4},
-};
-
-void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys)
-{
- if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE)
- MovePlayerOnMachBike(direction, newKeys, heldKeys);
- else
- MovePlayerOnAcroBike(direction, newKeys, heldKeys);
-}
-
-static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys)
-{
- sMachBikeTransitions[GetMachBikeTransition(&direction)](direction);
-}
-
-static u8 GetMachBikeTransition(u8 *ptr)
-{
- u8 direction = player_get_direction_upper_nybble();
-
- if (*ptr == 0)
- {
- *ptr = direction;
- if (gPlayerAvatar.unkB == 0)
- {
- gPlayerAvatar.running2 = 0;
- return 0;
- }
- gPlayerAvatar.running2 = 2;
- return 3;
- }
-
- if (*ptr != direction && gPlayerAvatar.running2 != 2)
- {
- if (gPlayerAvatar.unkB != 0)
- {
- *ptr = direction;
- gPlayerAvatar.running2 = 2;
- return 3;
- }
- gPlayerAvatar.running2 = 1;
- return 1;
- }
- else
- {
- gPlayerAvatar.running2 = 2;
- return 2;
- }
-}
-
-static void MachBikeTransition_FaceDirection(u8 direction)
-{
- PlayerFaceDirection(direction);
- sub_80E6024();
-}
-
-static void MachBikeTransition_80E517C(u8 direction)
-{
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E))
- {
- PlayerTurnInPlace(direction);
- sub_80E6024();
- }
- else
- {
- MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18);
- }
-}
-
-static void MachBikeTransition_80E51C4(u8 direction)
-{
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
- u8 collision;
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- {
- if (gPlayerAvatar.unkB)
- MachBikeTransition_80E5270(playerMapObj->placeholder18);
- else
- MachBikeTransition_FaceDirection(playerMapObj->placeholder18);
- }
- else
- {
- collision = get_some_collision(direction);
- if (collision > 0 && collision < 12)
- {
- if (collision == COLLISION_LEDGE_JUMP)
- {
- PlayerJumpLedge(direction);
- }
- else
- {
- sub_80E6024();
- if (collision < 5 || collision > 8)
- PlayerOnBikeCollide(direction);
- }
- }
- else
- {
- gUnknown_083DB5A4[gPlayerAvatar.bikeFrameCounter](direction);
- gPlayerAvatar.unkB = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // same as dividing by 2, but compiler is insistent on >> 1
- if (gPlayerAvatar.bikeFrameCounter < 2) // do not go faster than the last element in the mach bike array
- gPlayerAvatar.bikeFrameCounter++;
- }
- }
-}
-
-static void MachBikeTransition_80E5270(u8 var)
-{
- u8 collision;
-
- if (gPlayerAvatar.unkB != 0)
- gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.unkB;
-
- collision = get_some_collision(var);
-
- if (collision > 0 && collision < 12)
- {
- if (collision == COLLISION_LEDGE_JUMP)
- {
- PlayerJumpLedge(var);
- }
- else
- {
- sub_80E6024();
- if (collision < 5 || collision > 8)
- PlayerOnBikeCollide(var);
- }
- }
- else
- {
- gUnknown_083DB5A4[gPlayerAvatar.bikeFrameCounter](var);
- }
-}
-
-static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys)
-{
- sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection);
-}
-
-static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys)
-{
- return sAcroBikeInputHandlers[gPlayerAvatar.acroBikeState](newDirection, newKeys, heldKeys);
-}
-
-static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys)
-{
- u8 direction = player_get_direction_upper_nybble();
-
- gPlayerAvatar.bikeFrameCounter = 0;
- if (*newDirection == DIR_NONE)
- {
- if (newKeys & B_BUTTON)
- {
- //We're standing still with the B button held.
- //Do a wheelie.
- *newDirection = direction;
- gPlayerAvatar.running2 = 0;
- gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
- return ACRO_TRANS_NORMAL_TO_WHEELIE;
- }
- else
- {
- *newDirection = direction;
- gPlayerAvatar.running2 = 0;
- return ACRO_TRANS_FACE_DIRECTION;
- }
- }
- if (*newDirection == direction && (heldKeys & B_BUTTON) && gPlayerAvatar.unkB == 0)
- {
- gPlayerAvatar.unkB++;
- gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING;
- return 11;
- }
- if (*newDirection != direction && gPlayerAvatar.running2 != 2)
- {
- gPlayerAvatar.acroBikeState = ACRO_STATE_TURNING;
- gPlayerAvatar.unk9 = *newDirection;
- gPlayerAvatar.running2 = 0;
- return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys);
- }
- gPlayerAvatar.running2 = 2;
- return 2;
-}
-
-static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys)
-{
- u8 direction;
-
- *newDirection = gPlayerAvatar.unk9;
- gPlayerAvatar.bikeFrameCounter++;
-
- //Wait 6 frames before actually changing direction
- if (gPlayerAvatar.bikeFrameCounter > 6)
- {
- gPlayerAvatar.running2 = 1;
- gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
- sub_80E6024();
- return 1;
- }
- direction = player_get_direction_upper_nybble();
- if (*newDirection == sub_80E5C2C())
- {
- sub_80E6024();
- gPlayerAvatar.unkB = 1;
- if (*newDirection == GetOppositeDirection(direction))
- {
- gPlayerAvatar.acroBikeState = ACRO_STATE_6;
- return 9;
- }
- else
- {
- gPlayerAvatar.running2 = 2;
- gPlayerAvatar.acroBikeState = ACRO_STATE_5;
- return 8;
- }
- }
- *newDirection = direction;
- return 0;
-}
-
-static u8 AcroBikeHandleInputWheelieStanding(u8 *ptr, u16 newKeys, u16 heldKeys)
-{
- u8 direction;
- struct MapObject *playerMapObj;
-
- direction = player_get_direction_upper_nybble();
- playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
- gPlayerAvatar.running2 = 0;
-
- if (heldKeys & B_BUTTON)
- gPlayerAvatar.bikeFrameCounter++;
- else
- {
- //B button was released.
- gPlayerAvatar.bikeFrameCounter = 0;
- if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
- {
- //Go back to normal on flat ground
- *ptr = direction;
- gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
- sub_80E6024();
- return 4;
- }
- }
- if (gPlayerAvatar.bikeFrameCounter >= 40)
- {
- *ptr = direction;
- gPlayerAvatar.acroBikeState = ACRO_STATE_BUNNY_HOP;
- sub_80E6024();
- return 6;
- }
- if (*ptr == direction)
- {
- gPlayerAvatar.running2 = 2;
- gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING;
- sub_80E6024();
- return 10;
- }
- if (*ptr == 0)
- {
- *ptr = direction;
- return 5;
- }
- gPlayerAvatar.running2 = 1;
- return 5;
-}
-
-static u8 AcroBikeHandleInputBunnyHop(u8 *ptr, u16 newKeys, u16 heldKeys)
-{
- u8 direction;
- struct MapObject *playerMapObj;
-
- direction = player_get_direction_upper_nybble();
- playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
- if (!(heldKeys & B_BUTTON))
- {
- //B button was released
- sub_80E6024();
- if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
- {
- //Do a standing wheelie on a bumpy slope
- gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
- return CheckMovementInputAcroBike(ptr, newKeys, heldKeys);
- }
- else
- {
- //Go back to normal on flat ground
- *ptr = direction;
- gPlayerAvatar.running2 = 0;
- gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
- return 4;
- }
- }
-
- //B Button is still held
-
- if (*ptr == DIR_NONE)
- {
- *ptr = direction;
- gPlayerAvatar.running2 = 0;
- return 6;
- }
- if (*ptr != direction && gPlayerAvatar.running2 != 2)
- {
- gPlayerAvatar.running2 = 1;
- return 6;
- }
- gPlayerAvatar.running2 = 2;
- return 7;
-}
-
-static u8 AcroBikeHandleInputWheelieMoving(u8 *ptr, u16 newKeys, u16 heldKeys)
-{
- u8 direction;
- struct MapObject *playerMapObj;
-
- direction = player_get_direction_lower_nybble();
- playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
- if (!(heldKeys & B_BUTTON))
- {
- sub_80E6024();
- if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
- {
- gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
- if (*ptr == 0)
- {
- *ptr = direction;
- gPlayerAvatar.running2 = 0;
- return 4;
- }
- if (*ptr != direction && gPlayerAvatar.running2 != 2)
- {
- gPlayerAvatar.running2 = 0;
- return 4;
- }
- gPlayerAvatar.running2 = 2;
- return 12;
- }
- gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
- return CheckMovementInputAcroBike(ptr, newKeys, heldKeys);
- }
- if (*ptr == 0)
- {
- *ptr = direction;
- gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
- gPlayerAvatar.running2 = 0;
- sub_80E6024();
- return 5;
- }
- if (direction != *ptr && gPlayerAvatar.running2 != 2)
- {
- gPlayerAvatar.running2 = 0;
- return 5;
- }
- gPlayerAvatar.running2 = 2;
- return 10;
-}
-
-static u8 AcroBikeHandleInputState5(u8 *ptr, u16 newKeys, u16 heldKeys)
-{
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- playerMapObj->mapobj_bit_9 = 0;
- FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18);
- gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
- return CheckMovementInputAcroBike(ptr, newKeys, heldKeys);
-}
-
-static u8 AcroBikeHandleInputState6(u8 *ptr, u16 newKeys, u16 heldKeys)
-{
- gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
- return CheckMovementInputAcroBike(ptr, newKeys, heldKeys);
-}
-
-static void AcroBikeTransition_FaceDirection(u8 direction)
-{
- PlayerFaceDirection(direction);
-}
-
-static void AcroBikeTransition_80E5708(u8 direction)
-{
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- direction = playerMapObj->placeholder18;
- PlayerFaceDirection(direction);
-}
-
-static void AcroBikeTransition_80E5744(u8 direction)
-{
- u8 collision;
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- {
- AcroBikeTransition_FaceDirection(playerMapObj->placeholder18);
- return;
- }
- collision = get_some_collision(direction);
- if (collision > 0 && collision < 12)
- {
- if (collision == COLLISION_LEDGE_JUMP)
- PlayerJumpLedge(direction);
- else if (collision < 5 || collision > 8)
- PlayerOnBikeCollide(direction);
- }
- else
- {
- npc_use_some_d2s(direction);
- }
-}
-
-static void AcroBikeTransition_NormalToWheelie(u8 direction)
-{
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- direction = playerMapObj->placeholder18;
- PlayerStartWheelie(direction);
-}
-
-static void AcroBikeTransition_80E57F8(u8 direction)
-{
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- direction = playerMapObj->placeholder18;
- sub_8059534(direction);
-}
-
-static void AcroBikeTransition_80E5834(u8 direction)
-{
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- direction = playerMapObj->placeholder18;
- sub_8059504(direction);
-}
-
-static void AcroBikeTransition_80E5870(u8 direction)
-{
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- direction = playerMapObj->placeholder18;
- sub_805954C(direction);
-}
-
-static void AcroBikeTransition_80E58AC(u8 direction)
-{
- u8 var;
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- {
- AcroBikeTransition_80E5870(playerMapObj->placeholder18);
- return;
- }
- var = get_some_collision(direction);
- //TODO: Try to get rid of this goto
- if (var == 0 || var == 9)
- {
- goto derp;
- }
- else if (var == 6)
- {
- sub_8059594(direction);
- }
- else if (var < 5 || var > 8)
- {
- if (var <= 11)
- {
- AcroBikeTransition_80E5870(direction);
- }
- else
- {
- derp:
- sub_8059570(direction);
- }
- }
-}
-
-static void AcroBikeTransition_80E5920(u8 direction)
-{
- u8 var;
- struct MapObject *playerMapObj;
-
- var = get_some_collision(direction);
- if (var != 0)
- {
- if (var == 7)
- return;
- if (var < 10)
- {
- AcroBikeTransition_80E5708(direction);
- return;
- }
- if (sub_80E5EC0(var, direction) == 0)
- {
- AcroBikeTransition_80E5708(direction);
- return;
- }
- }
- playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
- PlaySE(SE_JITE_PYOKO);
- playerMapObj->mapobj_bit_9 = 1;
- PlayerSetAnimId(sub_80608A4(direction), 2);
-}
-
-static void AcroBikeTransition_80E5990(u8 direction)
-{
- sub_80595B8(direction);
-}
-
-static void AcroBikeTransition_80E59A0(u8 direction)
-{
- u8 var;
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- {
- sub_8059504(playerMapObj->placeholder18);
- return;
- }
- var = get_some_collision(direction);
- if (var > 0 && var < 12)
- {
- if (var == 6)
- {
- sub_8059594(direction);
- }
- else if (var == 9)
- {
- sub_8059504(direction);
- }
- else if (var <= 4)
- {
- if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
- sub_8059504(direction);
- else
- sub_80595DC(direction); //hit wall?
- }
- return;
- }
- sub_8059618(direction);
- gPlayerAvatar.running2 = 2;
-}
-
-static void AcroBikeTransition_80E5A30(u8 direction)
-{
- u8 var;
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- {
- PlayerStartWheelie(playerMapObj->placeholder18);
- return;
- }
- var = get_some_collision(direction);
- if (var > 0 && var < 12)
- {
- if (var == 6)
- {
- sub_8059594(direction);
- }
- else if (var == 9)
- {
- sub_8059504(direction);
- }
- else if (var <= 4)
- {
- if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
- sub_8059504(direction);
- else
- sub_80595DC(direction); //hit wall?
- }
- return;
- }
- sub_8059600(direction);
- gPlayerAvatar.running2 = 2;
-}
-
-static void AcroBikeTransition_80E5AC0(u8 direction)
-{
- u8 var;
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
- {
- sub_8059534(playerMapObj->placeholder18);
- return;
- }
- var = get_some_collision(direction);
- if (var > 0 && var < 12)
- {
- if (var == 6)
- PlayerJumpLedge(direction);
- else if (var < 5 || var > 8)
- sub_8059534(direction);
- return;
- }
- sub_8059630(direction);
-}
-
-void sub_80E5B38(u16 a, u16 b)
-{
- if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)
- sub_80E5B60(a, b);
-}
-
-static void sub_80E5B60(u16 unused, u16 b)
-{
- u8 var;
-
- var = sub_80E5CF4(b);
- if (var == (gPlayerAvatar.unkC & 0xF))
- {
- if (gPlayerAvatar.unk14[0] < 0xFF)
- gPlayerAvatar.unk14[0]++;
- }
- else
- {
- sub_80E5C7C(var);
- gPlayerAvatar.unkB = 0;
- }
-
- var = b & 0xF;
- if (var == (gPlayerAvatar.unk10 & 0xF))
- {
- if (gPlayerAvatar.unk1C[0] < 0xFF)
- gPlayerAvatar.unk1C[0]++;
- }
- else
- {
- sub_80E5CB8(var);
- gPlayerAvatar.unkB = 0;
- }
-}
-
-static bool8 sub_80E5BC8(const u8 *a, const u8 *b)
-{
- u8 i;
-
- for (i = 0; a[i] != 0; i++)
- {
- if (gPlayerAvatar.unk14[i] > a[i])
- return FALSE;
- }
- for (i = 0; b[i] != 0; i++)
- {
- if (gPlayerAvatar.unk1C[i] > b[i])
- return FALSE;
- }
- return TRUE;
-}
-
-static u8 sub_80E5C2C(void)
-{
- u32 i;
-
- for (i = 0; i < 4; i++)
- {
- const struct UnknownStruct1 *s = &gUnknown_083DB608[i];
- u32 r1 = gPlayerAvatar.unkC;
- u32 r2 = gPlayerAvatar.unk10;
-
- r1 &= s->unk8;
- r2 &= s->unkC;
- if (r1 == s->unk0 && r2 == s->unk4 && sub_80E5BC8(s->unk10, s->unk14))
- return s->unk18;
- }
- return 0;
-}
-
-static void sub_80E5C7C(u8 a)
-{
- u8 i;
-
- gPlayerAvatar.unkC = (gPlayerAvatar.unkC << 4) | (a & 0xF);
-
- for (i = 7; i != 0; i--)
- gPlayerAvatar.unk14[i] = gPlayerAvatar.unk14[i - 1];
- gPlayerAvatar.unk14[0] = 1;
-}
-
-static void sub_80E5CB8(u8 a)
-{
- u8 i;
-
- gPlayerAvatar.unk10 = (gPlayerAvatar.unk10 << 4) | (a & 0xF);
-
- for (i = 7; i != 0; i--)
- gPlayerAvatar.unk1C[i] = gPlayerAvatar.unk1C[i - 1];
- gPlayerAvatar.unk1C[0] = 1;
-}
-
-static u8 sub_80E5CF4(u16 a)
-{
- if (a & 0x40)
- return 2;
- if (a & 0x80)
- return 1;
- if (a & 0x20)
- return 3;
- if (a & 0x10)
- return 4;
- return 0;
-}
-
-static u8 get_some_collision(u8 direction)
-{
- s16 x;
- s16 y;
- u8 metatitleBehavior;
- struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
-
- x = playerMapObj->coords2.x;
- y = playerMapObj->coords2.y;
- MoveCoords(direction, &x, &y);
- metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y);
- return sub_80E5DA0(playerMapObj, x, y, direction, metatitleBehavior);
-}
-
-static u8 sub_80E5DA0(struct MapObject *mapObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior)
-{
- u8 collision = CheckForFieldObjectCollision(mapObject, x, y, direction, metatitleBehavior);
-
- if (collision > 4)
- return collision;
-
- if (collision == 0 && IsRunningDisallowedByMetatile(metatitleBehavior))
- collision = 2;
-
- if (collision)
- sub_80E5E4C();
-
- return collision;
-}
-
-bool8 IsRunningDisallowed(u8 tile)
-{
- if (IsRunningDisallowedByMetatile(tile) != FALSE || gMapHeader.mapType == MAP_TYPE_INDOOR)
- return TRUE;
- else
- return FALSE;
-}
-
-static bool8 IsRunningDisallowedByMetatile(u8 tile)
-{
- if (MetatileBehavior_IsRunningDisallowed(tile))
- return TRUE;
- if (MetatileBehavior_IsFortreeBridge(tile) && (PlayerGetZCoord() & 1) == 0)
- return TRUE;
- return FALSE;
-}
-
-static void sub_80E5E4C(void)
-{
- if (gUnknown_02039250 != 0 && gUnknown_02039251 < 100)
- gUnknown_02039251++;
-}
-
-static bool8 CanBikeFaceDirOnMetatile(u8 direction, u8 tile)
-{
- if (direction == DIR_EAST || direction == DIR_WEST)
- {
- //Bike cannot face east or west on a vertical rail
- if (MetatileBehavior_IsIsolatedVerticalRail(tile)
- || MetatileBehavior_IsVerticalRail(tile))
- return FALSE;
- }
- else
- {
- //Bike cannot face north or south on a horizontal rail
- if (MetatileBehavior_IsIsolatedHorizontalRail(tile)
- || MetatileBehavior_IsHorizontalRail(tile))
- return FALSE;
- }
- return TRUE;
-}
-
-static bool8 sub_80E5EC0(u8 var1, u8 direction)
-{
- if (direction == DIR_NORTH || direction == DIR_SOUTH)
- {
- if (var1 == 10 || var1 == 12)
- return FALSE;
- }
- else if (var1 == 11 || var1 == 13)
- {
- return FALSE;
- }
-
- return TRUE;
-}
-
-bool8 IsBikingDisallowedByPlayer(void)
-{
- s16 x, y;
- u8 tileBehavior;
-
- if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4)))
- {
- PlayerGetDestCoords(&x, &y);
- tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
- if (!IsRunningDisallowedByMetatile(tileBehavior))
- return FALSE;
- }
- return TRUE;
-}
-
-bool8 player_should_look_direction_be_enforced_upon_movement(void)
-{
- if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) != FALSE)
- return FALSE;
- else
- return TRUE;
-}
-
-void GetOnOffBike(u8 var)
-{
- gUnknown_0202E854 = 0;
-
- if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
- {
- SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
- sav1_reset_battle_music_maybe();
- sub_8053E90();
- }
- else
- {
- SetPlayerAvatarTransitionFlags(var);
- sav1_set_battle_music_maybe(BGM_CYCLING);
- Overworld_ChangeMusicTo(BGM_CYCLING);
- }
-}
-
-void BikeClearState(int var1, int var2)
-{
- u8 i;
-
- gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
- gPlayerAvatar.unk9 = 0;
- gPlayerAvatar.bikeFrameCounter = 0;
- gPlayerAvatar.unkB = 0;
- gPlayerAvatar.unkC = var1;
- gPlayerAvatar.unk10 = var2;
-
- for (i = 0; i < 8; i++)
- gPlayerAvatar.unk14[i] = 0;
-
- for (i = 0; i < 8; i++)
- gPlayerAvatar.unk1C[i] = 0;
-}
-
-void sub_80E6010(u8 var)
-{
- gPlayerAvatar.bikeFrameCounter = var;
- gPlayerAvatar.unkB = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // lazy way of multiplying by 1.5.
-}
-
-static void sub_80E6024(void)
-{
- gPlayerAvatar.bikeFrameCounter = 0;
- gPlayerAvatar.unkB = 0;
-}
-
-s16 GetPlayerSpeed(void)
-{
- // because the player pressed a direction, it won't ever return a speed of 0 since this function returns the player's current speed.
- s16 machSpeeds[3];
-
- memcpy(machSpeeds, gMachBikeSpeeds, sizeof(machSpeeds));
-
- if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE)
- return machSpeeds[gPlayerAvatar.bikeFrameCounter];
- else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)
- return SPEED_FASTER;
- else if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_DASH))
- return SPEED_FAST;
- else
- return SPEED_NORMAL;
-}
-
-void sub_80E6084(void)
-{
- s16 x, y;
- u8 tileBehavior;
-
- if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)
- {
- PlayerGetDestCoords(&x, &y);
- tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
- if (MetatileBehavior_IsBumpySlope(tileBehavior))
- {
- gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
- sub_8059C94(player_get_direction_upper_nybble());
- }
- }
-}
diff --git a/src/data/battle_tower/level_100_mons.h b/src/data/battle_tower/level_100_mons.h
new file mode 100644
index 000000000..4f2b711ee
--- /dev/null
+++ b/src/data/battle_tower/level_100_mons.h
@@ -0,0 +1,3903 @@
+const struct BattleTowerPokemon gBattleTowerLevel100Mons[] =
+{
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_GROWL,
+ MOVE_TAIL_WHIP,
+ MOVE_SAND_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_BITE,
+ MOVE_HOWL,
+ MOVE_ODOR_SLEUTH,
+ MOVE_SCARY_FACE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_BEAUTIFLY,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_GUST,
+ MOVE_STUN_SPORE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_DUSTOX,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_PSYBEAM,
+ MOVE_GUST,
+ MOVE_DOUBLE_TEAM,
+ MOVE_SILVER_WIND
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_LOMBRE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_ASTONISH,
+ MOVE_GROWL,
+ MOVE_MEGA_DRAIN,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_NUZLEAF,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_BULLET_SEED,
+ MOVE_RAZOR_WIND,
+ MOVE_FAINT_ATTACK,
+ MOVE_GROWTH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_AERIAL_ACE,
+ MOVE_GROWL,
+ MOVE_ENDEAVOR,
+ MOVE_FOCUS_ENERGY
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_SURF,
+ MOVE_WATER_SPORT,
+ MOVE_PROTECT,
+ MOVE_SUPERSONIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_MACH_PUNCH,
+ MOVE_MEGA_DRAIN,
+ MOVE_HEADBUTT,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_NINJASK,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SCRATCH,
+ MOVE_SCREECH,
+ MOVE_LEECH_LIFE,
+ MOVE_FLASH
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_BITE,
+ MOVE_FLY,
+ MOVE_SUPERSONIC,
+ MOVE_HAZE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_VICE_GRIP,
+ MOVE_SWEET_SCENT,
+ MOVE_ASTONISH,
+ MOVE_STRENGTH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_NOSEPASS,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_ROCK_THROW,
+ MOVE_SANDSTORM,
+ MOVE_HARDEN,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_DELCATTY,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_DOUBLE_SLAP,
+ MOVE_TAIL_WHIP,
+ MOVE_ATTRACT,
+ MOVE_CHARM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_EMBER,
+ MOVE_TAKE_DOWN,
+ MOVE_GROWL,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_ORAN_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_POISON_GAS,
+ MOVE_MINIMIZE,
+ MOVE_SLUDGE,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_SANDSLASH,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_SAND_ATTACK,
+ MOVE_DEFENSE_CURL,
+ MOVE_SWIFT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SPINDA,
+ .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_UPROAR,
+ MOVE_WATER_PULSE,
+ MOVE_THRASH,
+ MOVE_SAFEGUARD
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_TICKLE,
+ MOVE_MUD_SPORT,
+ MOVE_WATER_GUN,
+ MOVE_WATER_SPORT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_POISON_STING,
+ MOVE_PIN_MISSILE,
+ MOVE_ABSORB,
+ MOVE_COTTON_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_JIGGLYPUFF,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_SING,
+ MOVE_ROLLOUT,
+ MOVE_POUND,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MARILL,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_BUBBLE_BEAM,
+ MOVE_DEFENSE_CURL,
+ MOVE_RAIN_DANCE,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_THUNDER_SHOCK,
+ MOVE_SUPERSONIC,
+ MOVE_FLASH,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_CARVANHA,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_BITE,
+ MOVE_RAGE,
+ MOVE_SCARY_FACE,
+ MOVE_LEER
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_THIEF,
+ MOVE_LICK,
+ MOVE_BIND,
+ MOVE_FURY_SWIPES
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_EMBER,
+ MOVE_CONFUSE_RAY,
+ MOVE_FIRE_SPIN,
+ MOVE_SAFEGUARD
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_SHOCK_WAVE,
+ MOVE_GROWL,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_SEALEO,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_ICE_BALL,
+ MOVE_WATER_GUN,
+ MOVE_ENCORE,
+ MOVE_HAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_GRAVELER,
+ .heldItem = BATTLE_TOWER_ITEM_HARD_STONE,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_ROCK_THROW,
+ MOVE_MUD_SPORT,
+ MOVE_SANDSTORM,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SHUPPET,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_NIGHT_SHADE,
+ MOVE_WILL_O_WISP,
+ MOVE_SCREECH,
+ MOVE_KNOCK_OFF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LUVDISC,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_ATTRACT,
+ MOVE_FLAIL,
+ MOVE_SWEET_KISS,
+ MOVE_WATER_PULSE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_THUNDER_WAVE,
+ MOVE_SUPERSONIC,
+ MOVE_WATER_GUN,
+ MOVE_SPARK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CORSOLA,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_MIRROR_COAT,
+ MOVE_BUBBLE,
+ MOVE_HARDEN,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_WAILMER,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ROAR,
+ MOVE_GROWL,
+ MOVE_MIST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_TAKE_DOWN,
+ MOVE_SCARY_FACE,
+ MOVE_TAIL_WHIP,
+ MOVE_ROAR
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FURY_ATTACK,
+ MOVE_PURSUIT,
+ MOVE_AERIAL_ACE,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FURY_SWIPES,
+ MOVE_TAIL_WHIP,
+ MOVE_DISABLE,
+ MOVE_PSYCH_UP
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_BELLOSSOM,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_POISON_POWDER,
+ MOVE_STUN_SPORE,
+ MOVE_ACID
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_STOMP,
+ MOVE_RAZOR_LEAF,
+ MOVE_GUST,
+ MOVE_SYNTHESIS
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_NIGHT_SHADE,
+ MOVE_FAKE_OUT,
+ MOVE_PSYCH_UP,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_SONIC_BOOM,
+ MOVE_SCREECH,
+ MOVE_SPARK,
+ MOVE_SELF_DESTRUCT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_ACID,
+ MOVE_WATER_PULSE,
+ MOVE_BARRIER,
+ MOVE_WRAP
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_ANCIENT_POWER,
+ MOVE_MUD_SLAP,
+ MOVE_RAPID_SPIN,
+ MOVE_CONFUSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_PSYBEAM,
+ MOVE_PSYCH_UP,
+ MOVE_BOUNCE,
+ MOVE_MAGIC_COAT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CRABHAMMER,
+ MOVE_BUBBLE_BEAM,
+ MOVE_BRICK_BREAK,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_POISON_TAIL,
+ MOVE_GLARE,
+ MOVE_WRAP,
+ MOVE_THIEF
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_ZANGOOSE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FURY_CUTTER,
+ MOVE_LEER,
+ MOVE_QUICK_ATTACK,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_DRAGON_BREATH,
+ MOVE_SING,
+ MOVE_SAFEGUARD,
+ MOVE_TAKE_DOWN
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_LEECH_SEED,
+ MOVE_MEGA_DRAIN,
+ MOVE_GROWTH,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_VOLBEAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SIGNAL_BEAM,
+ MOVE_CONFUSE_RAY,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ILLUMISE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_CHARM,
+ MOVE_ENCORE,
+ MOVE_SOLAR_BEAM,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_BITE,
+ MOVE_HOWL,
+ MOVE_THUNDER_WAVE,
+ MOVE_SPARK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_IRON_DEFENSE,
+ MOVE_TORMENT,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_ARM_THRUST,
+ MOVE_FAKE_OUT,
+ MOVE_WHIRLWIND,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_STEEL_WING,
+ MOVE_AGILITY,
+ MOVE_TAUNT,
+ MOVE_FLY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_TORKOAL,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_FIRE_SPIN,
+ MOVE_SMOKESCREEN,
+ MOVE_BODY_SLAM,
+ MOVE_AMNESIA
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_THRASH,
+ MOVE_DRAGON_RAGE,
+ MOVE_TWISTER,
+ MOVE_HYDRO_PUMP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_HOWL,
+ MOVE_IRON_TAIL,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_ATTRACT,
+ MOVE_SHOCK_WAVE,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MASQUERAIN,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_STUN_SPORE,
+ MOVE_SUNNY_DAY,
+ MOVE_SOLAR_BEAM
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_BULLET_SEED,
+ MOVE_SLAM,
+ MOVE_SCREECH,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_DOUBLE_KICK,
+ MOVE_FLAMETHROWER,
+ MOVE_DOUBLE_TEAM,
+ MOVE_ROAR
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SURF,
+ MOVE_MUD_SHOT,
+ MOVE_MUD_SPORT,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_DRAGON_BREATH,
+ MOVE_FLY,
+ MOVE_TOXIC,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_SMOKESCREEN,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_CORSOLA,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_ANCIENT_POWER,
+ MOVE_MIRROR_COAT,
+ MOVE_SAFEGUARD,
+ MOVE_REFLECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_IRON_TAIL,
+ MOVE_ROAR,
+ MOVE_THUNDERBOLT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_COUNTER,
+ MOVE_PROTECT,
+ MOVE_LEER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GIRAFARIG,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_CRUNCH,
+ MOVE_BATON_PASS,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_XATU,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_FLY,
+ MOVE_CONFUSE_RAY,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_TRI_ATTACK,
+ MOVE_PURSUIT,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x89,
+ .moves = {
+ MOVE_POISON_POWDER,
+ MOVE_STUN_SPORE,
+ MOVE_SLEEP_POWDER,
+ MOVE_PETAL_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_LIGHT_SCREEN,
+ MOVE_BULK_UP,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_SWORDS_DANCE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_WILL_O_WISP,
+ MOVE_NIGHT_SHADE,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SHUPPET,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_GRUDGE,
+ MOVE_SHADOW_BALL,
+ MOVE_CURSE,
+ MOVE_KNOCK_OFF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_CASTFORM,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_WEATHER_BALL,
+ MOVE_HAIL,
+ MOVE_SUNNY_DAY,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_SURF,
+ MOVE_REFRESH,
+ MOVE_RECOVER,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_FOCUS_ENERGY,
+ MOVE_SCARY_FACE,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SAND_ATTACK,
+ MOVE_DRAGON_BREATH,
+ MOVE_SAND_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_SAND_TOMB,
+ MOVE_CRUNCH,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_LUNATONE,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_ROCK_THROW,
+ MOVE_HYPNOSIS,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_SOLAR_BEAM,
+ MOVE_SUNNY_DAY,
+ MOVE_COSMIC_POWER,
+ MOVE_CALM_MIND
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_BALTOY,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_REFLECT,
+ MOVE_SELF_DESTRUCT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_CRABHAMMER,
+ MOVE_SURF,
+ MOVE_PROTECT,
+ MOVE_BRICK_BREAK
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_TICKLE,
+ MOVE_AMNESIA,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_POISON_TAIL,
+ MOVE_CRUNCH,
+ MOVE_GIGA_DRAIN,
+ MOVE_HAZE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x89,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_LIGHT_SCREEN,
+ MOVE_AMNESIA,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_KARATE_CHOP,
+ MOVE_SEISMIC_TOSS,
+ MOVE_BRICK_BREAK,
+ MOVE_LOW_KICK
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x86,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_WATER_PULSE,
+ MOVE_SHADOW_BALL,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_GIGA_DRAIN,
+ MOVE_FURY_CUTTER,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_FLAMETHROWER,
+ MOVE_PROTECT,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x4C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_MUD_SHOT,
+ MOVE_MUD_SLAP,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_HOWL,
+ MOVE_SWAGGER,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_REST,
+ MOVE_BELLY_DRUM,
+ MOVE_THUNDERBOLT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_BEAUTIFLY,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_ATTRACT,
+ MOVE_MORNING_SUN,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_DUSTOX,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_SILVER_WIND,
+ MOVE_MOONLIGHT,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_FAKE_OUT,
+ MOVE_HYDRO_PUMP,
+ MOVE_ICE_BEAM,
+ MOVE_UPROAR
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_FRUSTRATION,
+ MOVE_GIGA_DRAIN,
+ MOVE_TORMENT,
+ MOVE_SWAGGER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_FLY,
+ MOVE_ENDEAVOR,
+ MOVE_AERIAL_ACE,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_HYPNOSIS,
+ MOVE_DREAM_EATER,
+ MOVE_PSYCHIC,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_MIND_READER,
+ MOVE_SNATCH,
+ MOVE_MEGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_VIGOROTH,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_UPROAR,
+ MOVE_ENCORE,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_NINJASK,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_FURY_CUTTER,
+ MOVE_GIGA_DRAIN,
+ MOVE_SWORDS_DANCE,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0xCA,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_SOLAR_BEAM,
+ MOVE_SUNNY_DAY,
+ MOVE_GRUDGE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_LOUDRED,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_HYPER_VOICE,
+ MOVE_HOWL,
+ MOVE_SHADOW_BALL,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_ARM_THRUST,
+ MOVE_BULK_UP,
+ MOVE_BRICK_BREAK,
+ MOVE_HIDDEN_POWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_SHADOW_BALL,
+ MOVE_FUTURE_SIGHT,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_TOXIC,
+ MOVE_MEAN_LOOK,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_IRON_DEFENSE,
+ MOVE_FAKE_TEARS,
+ MOVE_POISON_FANG
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_FLAMETHROWER,
+ MOVE_METAL_SOUND,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0xC5,
+ .moves = {
+ MOVE_ROLLOUT,
+ MOVE_DEFENSE_CURL,
+ MOVE_DOUBLE_TEAM,
+ MOVE_SELF_DESTRUCT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_RAIN_DANCE,
+ MOVE_THUNDER_WAVE,
+ MOVE_CHARGE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_VOLBEAT,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_SIGNAL_BEAM,
+ MOVE_MOONLIGHT,
+ MOVE_TAIL_GLOW
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_ILLUMISE,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_FLATTER,
+ MOVE_WISH,
+ MOVE_ENCORE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MASQUERAIN,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_SILVER_WIND,
+ MOVE_STUN_SPORE,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_PETAL_DANCE,
+ MOVE_GROWTH,
+ MOVE_SYNTHESIS,
+ MOVE_GRASS_WHISTLE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_DELCATTY,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_SING,
+ MOVE_ATTRACT,
+ MOVE_DOUBLE_SLAP,
+ MOVE_HEAL_BELL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x88,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_EARTHQUAKE,
+ MOVE_DRAGON_RAGE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP,
+ MOVE_YAWN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_ROCK_SLIDE,
+ MOVE_FIRE_BLAST,
+ MOVE_BODY_SLAM,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_ACID_ARMOR,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_SPINDA,
+ .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_DIZZY_PUNCH,
+ MOVE_TEETER_DANCE,
+ MOVE_PSYCH_UP,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_DRAGON_BREATH,
+ MOVE_DRAGON_DANCE,
+ MOVE_REFRESH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_ZANGOOSE,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_CRUSH_CLAW,
+ MOVE_TAUNT,
+ MOVE_SWORDS_DANCE,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SWAGGER,
+ MOVE_TAUNT,
+ MOVE_GLARE,
+ MOVE_POISON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_BOUNCE,
+ MOVE_CONFUSE_RAY,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_NEEDLE_ARM,
+ MOVE_INGRAIN,
+ MOVE_SPIKES,
+ MOVE_COTTON_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SANDSTORM,
+ MOVE_COSMIC_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0xC1,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_HYDRO_PUMP,
+ MOVE_BARRIER,
+ MOVE_SUPERSONIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WIGGLYTUFF,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_SING,
+ MOVE_FOCUS_PUNCH,
+ MOVE_DISABLE,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_AZUMARILL,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0xC2,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ATTRACT,
+ MOVE_DEFENSE_CURL,
+ MOVE_ROLLOUT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_MIRROR_COAT,
+ MOVE_LIGHT_SCREEN,
+ MOVE_SELF_DESTRUCT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_ATTRACT,
+ MOVE_RECOVER,
+ MOVE_REFRESH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_SKILL_SWAP,
+ MOVE_ANCIENT_POWER,
+ MOVE_WATER_PULSE,
+ MOVE_THUNDERBOLT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_CURSE,
+ MOVE_REST,
+ MOVE_MEAN_LOOK
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_SWORDS_DANCE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0xC2,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_CONFUSE_RAY,
+ MOVE_DOUBLE_TEAM,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_PIKACHU,
+ .heldItem = BATTLE_TOWER_ITEM_LIGHT_BALL,
+ .teamFlags = 0xC2,
+ .moves = {
+ MOVE_THUNDER_WAVE,
+ MOVE_THUNDER,
+ MOVE_RAIN_DANCE,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_SLEEP_POWDER,
+ MOVE_MOONLIGHT,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DONPHAN,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_DOUBLE_EDGE,
+ MOVE_IRON_TAIL,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_BODY_SLAM,
+ MOVE_ENCORE,
+ MOVE_HAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_RELICANTH,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_MUD_SPORT,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_ICE_BEAM,
+ MOVE_HYDRO_PUMP,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_INGRAIN,
+ MOVE_ANCIENT_POWER,
+ MOVE_GIGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_SLASH,
+ MOVE_ROCK_SLIDE,
+ MOVE_EARTHQUAKE,
+ MOVE_WATER_PULSE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_PSYCHIC,
+ MOVE_LIGHT_SCREEN,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_DRAGON_BREATH,
+ MOVE_CRUNCH,
+ MOVE_FLAMETHROWER,
+ MOVE_AERIAL_ACE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_YAWN,
+ MOVE_FACADE,
+ MOVE_HOWL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_FACADE,
+ MOVE_ATTRACT,
+ MOVE_TRICK
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_SURF,
+ MOVE_FOCUS_PUNCH,
+ MOVE_FAKE_OUT,
+ MOVE_SYNTHESIS
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_EXPLOUD,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_UPROAR,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_LANSAT_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_FACADE,
+ MOVE_SUPERSONIC,
+ MOVE_WING_ATTACK,
+ MOVE_ENDEAVOR
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_COUNTER,
+ MOVE_BULK_UP,
+ MOVE_MIND_READER
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_RETURN,
+ MOVE_DOUBLE_TEAM,
+ MOVE_TOXIC,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_EXPLOUD,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_SUPERSONIC,
+ MOVE_FLAMETHROWER,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_FACADE,
+ MOVE_FAKE_OUT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_ENCORE,
+ MOVE_DISABLE,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_AIR_CUTTER,
+ MOVE_TORMENT,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_DETECT,
+ MOVE_RECOVER,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_SWORDS_DANCE,
+ MOVE_IRON_DEFENSE,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_IRON_DEFENSE,
+ MOVE_ROAR,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE,
+ MOVE_FLAMETHROWER,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_NOSEPASS,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_THUNDER_WAVE,
+ MOVE_ROCK_SLIDE,
+ MOVE_TORMENT,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_CRUNCH,
+ MOVE_THUNDER_WAVE,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_GRASS_WHISTLE,
+ MOVE_LEECH_SEED,
+ MOVE_GIGA_DRAIN,
+ MOVE_GROWTH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_DELCATTY,
+ .heldItem = BATTLE_TOWER_ITEM_STARF_BERRY,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_ASSIST,
+ MOVE_SING,
+ MOVE_ATTRACT,
+ MOVE_SUBSTITUTE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0xC2,
+ .moves = {
+ MOVE_RAZOR_LEAF,
+ MOVE_EARTHQUAKE,
+ MOVE_ATTRACT,
+ MOVE_SYNTHESIS
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_SLUDGE_BOMB,
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_BULK_UP,
+ MOVE_LOW_KICK,
+ MOVE_BRICK_BREAK
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x40,
+ .moves = {
+ MOVE_ERUPTION,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE,
+ MOVE_OVERHEAT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_ROCK_SLIDE,
+ MOVE_EARTHQUAKE,
+ MOVE_REFLECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_WILL_O_WISP,
+ MOVE_HYPER_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SPINDA,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_TRICK,
+ MOVE_TEETER_DANCE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_STEEL_WING,
+ MOVE_TORMENT,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x02,
+ .moves = {
+ MOVE_SING,
+ MOVE_DRAGON_CLAW,
+ MOVE_ICE_BEAM,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_CALM_MIND,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_SWAGGER,
+ MOVE_FRUSTRATION,
+ MOVE_ATTRACT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_COSMIC_POWER,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x33,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_COUNTER,
+ MOVE_BELLY_DRUM,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_NOSEPASS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_ROCK_SLIDE,
+ MOVE_THUNDER_WAVE,
+ MOVE_EARTHQUAKE,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x33,
+ .moves = {
+ MOVE_SHADOW_PUNCH,
+ MOVE_WILL_O_WISP,
+ MOVE_CONFUSE_RAY,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_HORN_DRILL,
+ MOVE_AGILITY,
+ MOVE_SLEEP_TALK,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x73,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ERUPTION,
+ MOVE_ROCK_SLIDE,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x13,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_SURF,
+ MOVE_THUNDER_WAVE,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x33,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_THUNDERBOLT,
+ MOVE_FIRE_BLAST,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_SPARK,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x51,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x12,
+ .moves = {
+ MOVE_TRICK,
+ MOVE_FOCUS_PUNCH,
+ MOVE_ATTRACT,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SURF,
+ MOVE_SWAGGER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x12,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_FACADE,
+ MOVE_SWORDS_DANCE,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WAILORD,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x72,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_EARTHQUAKE,
+ MOVE_ATTRACT,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_SLUDGE_BOMB,
+ MOVE_BARRIER,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x32,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_TOXIC,
+ MOVE_RECOVER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_ENCORE,
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x71,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_MEGAHORN,
+ MOVE_BRICK_BREAK,
+ MOVE_HORN_DRILL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GLALIE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x31,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_BLIZZARD,
+ MOVE_HAIL,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_EARTHQUAKE,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_COUNTER,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_MIRROR_COAT,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDERBOLT,
+ MOVE_DESTINY_BOND,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_MACH_PUNCH,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_FIRE_PUNCH,
+ MOVE_ICE_PUNCH,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE,
+ MOVE_FAKE_OUT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x55,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_CONFUSE_RAY,
+ MOVE_AIR_CUTTER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_FLAMETHROWER,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ROAR,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x60,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_PROTECT,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x64,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x1C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_RECOVER,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_TOXIC,
+ MOVE_FIRE_SPIN,
+ MOVE_HEAT_WAVE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x5A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_REVERSAL,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x55,
+ .moves = {
+ MOVE_SURF,
+ MOVE_CROSS_CHOP,
+ MOVE_ICE_BEAM,
+ MOVE_DIG
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x26,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_EARTHQUAKE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x5B,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_BREATH,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_CRUNCH,
+ MOVE_FIRE_BLAST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x3D,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ANCIENT_POWER,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x0E,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_TOXIC,
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_SLACK_OFF
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LEECH_SEED,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_MUDDY_WATER,
+ MOVE_MUD_SHOT,
+ MOVE_MIRROR_COAT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDERBOLT,
+ MOVE_HYPNOSIS,
+ MOVE_DREAM_EATER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_COUNTER,
+ MOVE_SKY_UPPERCUT,
+ MOVE_GIGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDER_PUNCH,
+ MOVE_FIRE_PUNCH,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x04,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x44,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x48,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_ATTRACT,
+ MOVE_FLY
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_THUNDER_WAVE,
+ MOVE_QUICK_ATTACK,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x60,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_LIGHT_SCREEN,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x64,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_GIGA_DRAIN,
+ MOVE_FLAMETHROWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x1C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_IRON_TAIL,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_THUNDERBOLT,
+ MOVE_PSYCHIC,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x5A,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_TRI_ATTACK,
+ MOVE_AGILITY,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ATTRACT,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_CROSS_CHOP,
+ MOVE_BLIZZARD,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_COUNTER,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x26,
+ .moves = {
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_ROCK_SLIDE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_BREATH,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_CRUNCH,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x3D,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_FOCUS_PUNCH,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_HAIL,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_ANCIENT_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x1E,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_PURSUIT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_ROCK_TOMB,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_SWAGGER,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x8C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_ATTRACT,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDERBOLT,
+ MOVE_ATTRACT,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_MACH_PUNCH,
+ MOVE_COUNTER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_TRICK,
+ MOVE_RECOVER,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_REVENGE,
+ MOVE_COUNTER,
+ MOVE_FOCUS_PUNCH,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_LEECH_SEED,
+ MOVE_GIGA_DRAIN,
+ MOVE_DIVE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x48,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_CONFUSE_RAY,
+ MOVE_SHADOW_BALL,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_FIRE_BLAST,
+ MOVE_LOW_KICK,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x08,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ATTRACT,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x60,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_SWIFT,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x64,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_THUNDERBOLT,
+ MOVE_SHADOW_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FIRE_BLAST,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x4C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_ICE_BEAM,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_LEECH_SEED,
+ MOVE_ATTRACT,
+ MOVE_DOUBLE_TEAM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_STEEL_WING,
+ MOVE_ATTRACT,
+ MOVE_PURSUIT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SURF,
+ MOVE_PSYCHIC,
+ MOVE_ICE_BEAM,
+ MOVE_CROSS_CHOP
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x26,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_FISSURE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_HYPER_BEAM,
+ MOVE_FLAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FIRE_BLAST,
+ MOVE_HYDRO_PUMP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x3D,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_SUPERPOWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_ANCIENT_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x3C,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_THUNDERBOLT,
+ MOVE_HYPER_BEAM,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x1E,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_ICE_BEAM,
+ MOVE_SING,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_DETECT,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_SKY_UPPERCUT,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_SHADOW_BALL,
+ MOVE_TOXIC,
+ MOVE_GRUDGE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_EARTHQUAKE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x58,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDER_PUNCH,
+ MOVE_ICE_PUNCH,
+ MOVE_FIRE_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1E,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_FLAMETHROWER,
+ MOVE_EARTHQUAKE,
+ MOVE_AERIAL_ACE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x5D,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_EARTHQUAKE,
+ MOVE_LOW_KICK,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+}; \ No newline at end of file
diff --git a/src/data/battle_tower/level_50_mons.h b/src/data/battle_tower/level_50_mons.h
new file mode 100644
index 000000000..c61f840af
--- /dev/null
+++ b/src/data/battle_tower/level_50_mons.h
@@ -0,0 +1,3903 @@
+const struct BattleTowerPokemon gBattleTowerLevel50Mons[] =
+{
+ {
+ .species = SPECIES_PIKACHU,
+ .heldItem = BATTLE_TOWER_ITEM_ORAN_BERRY,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_QUICK_ATTACK,
+ MOVE_THUNDER_WAVE,
+ MOVE_THUNDER_SHOCK,
+ MOVE_GROWL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BEAUTIFLY,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_ABSORB,
+ MOVE_STUN_SPORE,
+ MOVE_GUST,
+ MOVE_SAFEGUARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_PECK,
+ MOVE_WING_ATTACK,
+ MOVE_AERIAL_ACE,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_HAIL,
+ MOVE_ENCORE,
+ MOVE_ICE_BALL,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_PECK,
+ MOVE_FLAIL,
+ MOVE_FURY_ATTACK,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_TORCHIC,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_FIRE_SPIN,
+ MOVE_PROTECT,
+ MOVE_SAND_ATTACK,
+ MOVE_SLASH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_MASQUERAIN,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_STUN_SPORE,
+ MOVE_WATER_SPORT,
+ MOVE_QUICK_ATTACK,
+ MOVE_GUST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_ILLUMISE,
+ .heldItem = BATTLE_TOWER_ITEM_NONE,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_FLATTER,
+ MOVE_COVET,
+ MOVE_WISH,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DELCATTY,
+ .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_ATTRACT,
+ MOVE_TAIL_WHIP,
+ MOVE_FAINT_ATTACK,
+ MOVE_DIG
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_TAIL_WHIP,
+ MOVE_SLASH,
+ MOVE_LICK,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_MIGHTYENA,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_BITE,
+ MOVE_TAKE_DOWN,
+ MOVE_ROAR,
+ MOVE_HOWL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FAINT_ATTACK,
+ MOVE_COUNTER,
+ MOVE_SCRATCH,
+ MOVE_TAUNT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_MACHOKE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_LEER,
+ MOVE_DIG,
+ MOVE_LOW_KICK,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_ROCK_TOMB,
+ MOVE_STOMP,
+ MOVE_ROCK_SMASH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_POISON_STING,
+ MOVE_GROWTH,
+ MOVE_ABSORB,
+ MOVE_SOLAR_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ZIGZAGOON,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_FLAIL,
+ MOVE_SAND_ATTACK,
+ MOVE_REST,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_PURSUIT,
+ MOVE_TRI_ATTACK,
+ MOVE_GROWL,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_WATER_GUN,
+ MOVE_AMNESIA,
+ MOVE_MAGNITUDE,
+ MOVE_MUD_SLAP
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_NINJASK,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SAND_ATTACK,
+ MOVE_FURY_CUTTER,
+ MOVE_AGILITY,
+ MOVE_HARDEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_PROTECT,
+ MOVE_NIGHT_SHADE,
+ MOVE_ASTONISH,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_DIG,
+ MOVE_EMBER,
+ MOVE_GROWL,
+ MOVE_ROCK_SMASH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_SPINDA,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_TEETER_DANCE,
+ MOVE_FLAIL,
+ MOVE_PSYCH_UP,
+ MOVE_DOUBLE_EDGE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SCREECH,
+ MOVE_GLARE,
+ MOVE_DIG,
+ MOVE_POISON_FANG
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SAND_ATTACK,
+ MOVE_SAND_TOMB,
+ MOVE_FACADE,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_AZUMARILL,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x42,
+ .moves = {
+ MOVE_BUBBLE_BEAM,
+ MOVE_TAIL_WHIP,
+ MOVE_RAIN_DANCE,
+ MOVE_ROLLOUT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ZANGOOSE,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_TAUNT,
+ MOVE_CRUSH_CLAW,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_REVERSAL,
+ MOVE_MEDITATE,
+ MOVE_CONFUSION,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_GROWTH,
+ MOVE_MEGA_DRAIN,
+ MOVE_TOXIC,
+ MOVE_CUT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_STOCKPILE,
+ MOVE_SPIT_UP,
+ MOVE_SLUDGE,
+ MOVE_POISON_GAS
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_SUPERSONIC,
+ MOVE_THUNDER_WAVE,
+ MOVE_SCREECH,
+ MOVE_TRI_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_CONFUSION,
+ MOVE_TOXIC,
+ MOVE_TORMENT,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_RELICANTH,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ANCIENT_POWER,
+ MOVE_ROCK_TOMB,
+ MOVE_HARDEN
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_FIRE_SPIN,
+ MOVE_QUICK_ATTACK,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_BITE,
+ MOVE_SKULL_BASH,
+ MOVE_RAIN_DANCE,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_GIRAFARIG,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_PSYBEAM,
+ MOVE_AGILITY,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_MIST,
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_NIGHT_SHADE,
+ MOVE_SNATCH,
+ MOVE_FAKE_OUT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_LUNATONE,
+ .heldItem = BATTLE_TOWER_ITEM_HARD_STONE,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_COSMIC_POWER,
+ MOVE_SANDSTORM,
+ MOVE_PSYCHIC,
+ MOVE_ROCK_THROW
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_NONE,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_THIEF,
+ MOVE_FAKE_OUT,
+ MOVE_SURF,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_ODOR_SLEUTH,
+ MOVE_CONFUSE_RAY,
+ MOVE_MAGIC_COAT,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_CUT,
+ MOVE_LEECH_SEED,
+ MOVE_MEGA_DRAIN,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_WAILORD,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_WATER_SPOUT,
+ MOVE_ROLLOUT,
+ MOVE_MIST,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SMOG,
+ MOVE_SELF_DESTRUCT,
+ MOVE_TOXIC,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_KADABRA,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_FUTURE_SIGHT,
+ MOVE_FOCUS_PUNCH,
+ MOVE_SKILL_SWAP,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_THUNDER_WAVE,
+ MOVE_BITE,
+ MOVE_SPARK,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_QUICK_ATTACK,
+ MOVE_AGILITY,
+ MOVE_LIGHT_SCREEN,
+ MOVE_THUNDERBOLT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_XATU,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_NIGHT_SHADE,
+ MOVE_PECK,
+ MOVE_CONFUSE_RAY,
+ MOVE_FUTURE_SIGHT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_LOUDRED,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_UPROAR,
+ MOVE_STOMP,
+ MOVE_SCREECH,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_ROCK_THROW,
+ MOVE_SUNNY_DAY,
+ MOVE_SOLAR_BEAM,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_SANDSTORM,
+ MOVE_REFLECT,
+ MOVE_ROCK_TOMB,
+ MOVE_STRENGTH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_WATER_PULSE,
+ MOVE_KNOCK_OFF,
+ MOVE_HARDEN,
+ MOVE_CUT
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_GOLBAT,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_WING_ATTACK,
+ MOVE_MEAN_LOOK,
+ MOVE_BITE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BELLOSSOM,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_SOLAR_BEAM,
+ MOVE_PETAL_DANCE,
+ MOVE_SWEET_SCENT,
+ MOVE_BULLET_SEED
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_DONPHAN,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_ROCK_SMASH,
+ MOVE_RAPID_SPIN,
+ MOVE_FLAIL,
+ MOVE_HORN_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_NOSEPASS,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_SANDSTORM,
+ MOVE_ROCK_SLIDE,
+ MOVE_BLOCK,
+ MOVE_THUNDER_WAVE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_PINSIR,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SWORDS_DANCE,
+ MOVE_HARDEN,
+ MOVE_CUT,
+ MOVE_SEISMIC_TOSS
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_DISABLE,
+ MOVE_PSYCH_UP,
+ MOVE_WATER_PULSE,
+ MOVE_BRICK_BREAK
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_TORMENT,
+ MOVE_EXTRASENSORY,
+ MOVE_SOLAR_BEAM,
+ MOVE_AERIAL_ACE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_DUSTOX,
+ .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CONFUSION,
+ MOVE_SILVER_WIND,
+ MOVE_PSYBEAM,
+ MOVE_WHIRLWIND
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_SHUPPET,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_WILL_O_WISP,
+ MOVE_NIGHT_SHADE,
+ MOVE_FAINT_ATTACK,
+ MOVE_CURSE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_HORN_ATTACK,
+ MOVE_HORN_DRILL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_STEEL_WING,
+ MOVE_SAND_ATTACK,
+ MOVE_SWIFT,
+ MOVE_AGILITY
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_TORKOAL,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_IRON_DEFENSE,
+ MOVE_BODY_SLAM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_MAGNITUDE,
+ MOVE_EXPLOSION,
+ MOVE_STRENGTH,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_REFLECT,
+ MOVE_PSYCHIC,
+ MOVE_IMPRISON,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SANDSLASH,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_SANDSTORM,
+ MOVE_SLASH,
+ MOVE_EARTHQUAKE,
+ MOVE_SWIFT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_SAFEGUARD,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CONSTRICT,
+ MOVE_SURF,
+ MOVE_HYPER_BEAM,
+ MOVE_SCREECH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SUNNY_DAY,
+ MOVE_SOLAR_BEAM,
+ MOVE_SYNTHESIS,
+ MOVE_RAZOR_LEAF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_MAWILE,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_IRON_DEFENSE,
+ MOVE_SLUDGE_BOMB,
+ MOVE_CRUNCH,
+ MOVE_STRENGTH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SLUDGE,
+ MOVE_ACID_ARMOR,
+ MOVE_GIGA_DRAIN,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_ROCK_THROW,
+ MOVE_HARDEN,
+ MOVE_AMNESIA
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_HEADBUTT,
+ MOVE_TAIL_WHIP,
+ MOVE_SURF,
+ MOVE_DIG
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_LIGHT_SCREEN,
+ MOVE_THUNDERBOLT,
+ MOVE_SWIFT,
+ MOVE_ROLLOUT
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_MEAN_LOOK,
+ MOVE_NIGHT_SHADE,
+ MOVE_SKILL_SWAP,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_MOONLIGHT,
+ MOVE_GIGA_DRAIN,
+ MOVE_STUN_SPORE
+ },
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_BITE,
+ MOVE_HAZE,
+ MOVE_WING_ATTACK,
+ MOVE_STEEL_WING
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_CORSOLA,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT,
+ MOVE_HAIL,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_RAPID_SPIN,
+ MOVE_WATER_PULSE,
+ MOVE_REFLECT,
+ MOVE_SKILL_SWAP
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_EXPLOUD,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_HOWL,
+ MOVE_UPROAR,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_PSYBEAM,
+ MOVE_SNATCH,
+ MOVE_REFLECT,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_HORN_ATTACK,
+ MOVE_COUNTER,
+ MOVE_REVERSAL,
+ MOVE_LEER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CASTFORM,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_WEATHER_BALL,
+ MOVE_SUNNY_DAY,
+ MOVE_RAIN_DANCE,
+ MOVE_HAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_VIGOROTH,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_REVERSAL,
+ MOVE_COUNTER,
+ MOVE_TAUNT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_DUSKULL,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_SHADOW_BALL,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_FLAIL,
+ MOVE_SURF,
+ MOVE_SPARK,
+ MOVE_TAKE_DOWN
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_FAKE_OUT,
+ MOVE_FACADE,
+ MOVE_SAND_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_AGILITY,
+ MOVE_DIVE,
+ MOVE_ICE_BEAM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_WATER_PULSE,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_BRICK_BREAK,
+ MOVE_METAL_CLAW,
+ MOVE_ROAR
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0xC7,
+ .moves = {
+ MOVE_SWORDS_DANCE,
+ MOVE_IRON_TAIL,
+ MOVE_SLASH,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_FLY,
+ MOVE_TOXIC,
+ MOVE_STEEL_WING
+ },
+ .evSpread = 0,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_STRENGTH,
+ MOVE_CROSS_CHOP,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_PROTECT,
+ MOVE_ICE_BEAM,
+ MOVE_HYPER_BEAM,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_DRAGON_CLAW,
+ MOVE_AGILITY,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_MIRROR_MOVE,
+ MOVE_EARTHQUAKE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_DRAGON_DANCE,
+ MOVE_TOXIC,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_BRICK_BREAK,
+ MOVE_WATER_PULSE,
+ MOVE_RAIN_DANCE,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_SNATCH,
+ MOVE_DIG,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ZANGOOSE,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_FACADE,
+ MOVE_THUNDERBOLT,
+ MOVE_CRUSH_CLAW,
+ MOVE_DETECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM,
+ },
+ {
+ .species = SPECIES_LINOONE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_IRON_TAIL,
+ MOVE_HEADBUTT,
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_MUD_SLAP,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_AMNESIA
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .heldItem = BATTLE_TOWER_ITEM_HARD_STONE,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_LIGHT_SCREEN,
+ MOVE_ROCK_SLIDE,
+ MOVE_CONFUSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_RECOVER,
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_INGRAIN,
+ MOVE_LEECH_SEED,
+ MOVE_PROTECT,
+ MOVE_FRUSTRATION
+ },
+ .evSpread = 0,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_FRUSTRATION,
+ MOVE_HYPER_BEAM,
+ MOVE_GIGA_DRAIN,
+ MOVE_TORMENT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_MAGNET,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_THUNDER_WAVE,
+ MOVE_IRON_TAIL,
+ MOVE_ROAR
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_FOCUS_PUNCH,
+ MOVE_IRON_TAIL,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_PINSIR,
+ .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND,
+ .teamFlags = 0x8D,
+ .moves = {
+ MOVE_GUILLOTINE,
+ MOVE_SUBMISSION,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_METANG,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SHADOW_BALL,
+ MOVE_PSYCHIC,
+ MOVE_METEOR_MASH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SELF_DESTRUCT,
+ MOVE_SANDSTORM,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_MASQUERAIN,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_SILVER_WIND,
+ MOVE_ATTRACT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_RELICANTH,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0xC5,
+ .moves = {
+ MOVE_ROCK_TOMB,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SURF,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ENCORE,
+ MOVE_BLIZZARD,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WAILORD,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_WATER_SPOUT,
+ MOVE_REST,
+ MOVE_AMNESIA,
+ MOVE_HAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_GIRAFARIG,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x4F,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_CRUNCH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_CALM_MIND,
+ MOVE_REVERSAL,
+ MOVE_ROCK_TOMB,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0xC7,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SYNTHESIS,
+ MOVE_RAZOR_LEAF,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_NINJASK,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_SLASH,
+ MOVE_SWORDS_DANCE,
+ MOVE_LEECH_LIFE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_OVERHEAT,
+ MOVE_SUNNY_DAY,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WIGGLYTUFF,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0E,
+ .moves = {
+ MOVE_PROTECT,
+ MOVE_TOXIC,
+ MOVE_DOUBLE_TEAM,
+ MOVE_DIG
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_HAZE,
+ MOVE_CRUNCH,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0xC1,
+ .moves = {
+ MOVE_ROCK_TOMB,
+ MOVE_CONFUSE_RAY,
+ MOVE_INGRAIN,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY,
+ .teamFlags = 0xC1,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SANDSTORM,
+ MOVE_PROTECT,
+ MOVE_SLASH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_ZAP_CANNON,
+ MOVE_SUPERSONIC,
+ MOVE_TOXIC,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SWALOT,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x8B,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_SNATCH,
+ MOVE_ENCORE,
+ MOVE_BODY_SLAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = BATTLE_TOWER_ITEM_METAL_COAT,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_STEEL_WING,
+ MOVE_AGILITY,
+ MOVE_TORMENT,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_DONPHAN,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x0D,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_FLAIL,
+ MOVE_ROAR,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_FACADE,
+ MOVE_REVERSAL,
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_HYPER_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_SKILL_SWAP
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_SANDSLASH,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x0F,
+ .moves = {
+ MOVE_SANDSTORM,
+ MOVE_TOXIC,
+ MOVE_SLASH,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_GUILLOTINE,
+ MOVE_CRABHAMMER,
+ MOVE_BLIZZARD,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON,
+ .teamFlags = 0x8B,
+ .moves = {
+ MOVE_MAGIC_COAT,
+ MOVE_PSYCHIC,
+ MOVE_REFLECT,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_IRON_TAIL,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_FIRE_BLAST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x8B,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_REFLECT,
+ MOVE_RECOVER,
+ MOVE_SKILL_SWAP
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_WILL_O_WISP,
+ MOVE_BLIZZARD,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_TORKOAL,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_AMNESIA,
+ MOVE_IRON_TAIL,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_SCREECH,
+ MOVE_EXPLOSION,
+ MOVE_MIRROR_COAT,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_IRON_TAIL,
+ MOVE_FOCUS_PUNCH,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LEECH_SEED
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_POISON_BARB,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_THUNDERBOLT,
+ MOVE_FLAMETHROWER,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_EXPLOSION,
+ MOVE_SLUDGE_BOMB,
+ MOVE_SHADOW_BALL,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x4E,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_DOUBLE_TEAM,
+ MOVE_FOCUS_PUNCH,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0x09,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_TOXIC,
+ MOVE_SURF,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_EXPLOUD,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_FLAMETHROWER,
+ MOVE_EARTHQUAKE,
+ MOVE_RETURN
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_XATU,
+ .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_REST,
+ MOVE_CONFUSE_RAY,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_EXPLOSION,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ATTRACT,
+ MOVE_CALM_MIND,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_CHARCOAL,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_FLAMETHROWER,
+ MOVE_ATTRACT,
+ MOVE_TOXIC,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x13,
+ .moves = {
+ MOVE_DOUBLE_TEAM,
+ MOVE_REST,
+ MOVE_SURF,
+ MOVE_DRAGON_BREATH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_CURSE,
+ MOVE_AMNESIA,
+ MOVE_YAWN,
+ MOVE_FOCUS_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_EARTHQUAKE,
+ MOVE_HYDRO_PUMP,
+ MOVE_RAIN_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x21,
+ .moves = {
+ MOVE_BELLY_DRUM,
+ MOVE_ENDURE,
+ MOVE_EARTHQUAKE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_FAINT_ATTACK,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SHADOW_BALL,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_DRAGON_DANCE,
+ MOVE_MIRROR_MOVE,
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_FOCUS_PUNCH,
+ MOVE_ROCK_TOMB,
+ MOVE_ENCORE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG,
+ .teamFlags = 0x43,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x33,
+ .moves = {
+ MOVE_COUNTER,
+ MOVE_ROCK_SLIDE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GLALIE,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_CRUNCH,
+ MOVE_ICY_WIND,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY,
+ },
+ {
+ .species = SPECIES_HUNTAIL,
+ .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER,
+ .teamFlags = 0xA1,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_HYDRO_PUMP,
+ MOVE_CRUNCH,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0xD3,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ATTRACT,
+ MOVE_RECOVER,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_GOREBYSS,
+ .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x53,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_ENDEAVOR,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x53,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_MUD_SHOT,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_FLAMETHROWER,
+ MOVE_IRON_TAIL,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xE1,
+ .moves = {
+ MOVE_STOCKPILE,
+ MOVE_SPIT_UP,
+ MOVE_SWALLOW,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0xC1,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_HYPER_BEAM,
+ MOVE_SLASH,
+ MOVE_SWORDS_DANCE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_MACH_PUNCH,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_PROTECT,
+ MOVE_TOXIC
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_TORMENT,
+ MOVE_FAINT_ATTACK,
+ MOVE_SHADOW_BALL,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0xC3,
+ .moves = {
+ MOVE_SUNNY_DAY,
+ MOVE_SYNTHESIS,
+ MOVE_SOLAR_BEAM,
+ MOVE_LEECH_SEED
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_MACHO_BRACE,
+ .teamFlags = 0x23,
+ .moves = {
+ MOVE_TRICK,
+ MOVE_SKILL_SWAP,
+ MOVE_PSYCHIC,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_TORKOAL,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x81,
+ .moves = {
+ MOVE_IRON_DEFENSE,
+ MOVE_TOXIC,
+ MOVE_REST,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_NONE,
+ .teamFlags = 0x03,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_CRUNCH,
+ MOVE_ROAR,
+ MOVE_THIEF
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_PINSIR,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x61,
+ .moves = {
+ MOVE_GUILLOTINE,
+ MOVE_EARTHQUAKE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x93,
+ .moves = {
+ MOVE_LIGHT_SCREEN,
+ MOVE_THUNDERBOLT,
+ MOVE_SURF,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x51,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_REVERSAL,
+ MOVE_EARTHQUAKE,
+ MOVE_COUNTER
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE,
+ .teamFlags = 0x83,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x13,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_RECOVER,
+ MOVE_ENCORE,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x93,
+ .moves = {
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_RECOVER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_REST,
+ MOVE_CURSE,
+ MOVE_BLIZZARD,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_REST,
+ MOVE_IRON_DEFENSE,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x91,
+ .moves = {
+ MOVE_ROCK_TOMB,
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_EARTHQUAKE,
+ MOVE_BLIZZARD,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_SEAKING,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0xB2,
+ .moves = {
+ MOVE_HORN_DRILL,
+ MOVE_AGILITY,
+ MOVE_SLEEP_TALK,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_CAMERUPT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x00,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ERUPTION,
+ MOVE_ROCK_SLIDE,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_LANTURN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_SURF,
+ MOVE_THUNDER_WAVE,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x20,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_THUNDERBOLT,
+ MOVE_FIRE_BLAST,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_WHISCASH,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x41,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_ROCK_TOMB,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x11,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x63,
+ .moves = {
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_COUNTER,
+ MOVE_FAINT_ATTACK,
+ MOVE_GIGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_SHARPEDO,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x01,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_DOUBLE_EDGE,
+ MOVE_SURF,
+ MOVE_SWAGGER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x82,
+ .moves = {
+ MOVE_DOUBLE_EDGE,
+ MOVE_FACADE,
+ MOVE_SWORDS_DANCE,
+ MOVE_QUICK_ATTACK
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WAILORD,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x23,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_EARTHQUAKE,
+ MOVE_ATTRACT,
+ MOVE_FISSURE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_TENTACRUEL,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x21,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_SLUDGE_BOMB,
+ MOVE_GIGA_DRAIN,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0xA2,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_SURF,
+ MOVE_TOXIC,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x23,
+ .moves = {
+ MOVE_ENCORE,
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_DESTINY_BOND
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_RHYDON,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x21,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_MEGAHORN,
+ MOVE_HORN_DRILL,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_GLALIE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x21,
+ .moves = {
+ MOVE_CRUNCH,
+ MOVE_BLIZZARD,
+ MOVE_HAIL,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x13,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_EARTHQUAKE,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x17,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_ROCK_TOMB,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x17,
+ .moves = {
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_MUD_SHOT,
+ MOVE_BLIZZARD
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x19,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDERBOLT,
+ MOVE_DESTINY_BOND,
+ MOVE_WILL_O_WISP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0xF6,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_BRICK_BREAK,
+ MOVE_SLUDGE_BOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY,
+ .teamFlags = 0x1B,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDER_PUNCH,
+ MOVE_REFLECT,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x89,
+ .moves = {
+ MOVE_FAINT_ATTACK,
+ MOVE_SHADOW_BALL,
+ MOVE_DOUBLE_TEAM,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x85,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE,
+ MOVE_FAKE_OUT
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_ATTRACT,
+ MOVE_CONFUSE_RAY,
+ MOVE_BITE,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_FLAMETHROWER,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x0B,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ROAR,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x27,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_PROTECT,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x4D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x1B,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_RECOVER,
+ MOVE_CONFUSE_RAY
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_DODRIO,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x2B,
+ .moves = {
+ MOVE_DRILL_PECK,
+ MOVE_TRI_ATTACK,
+ MOVE_AGILITY,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_REVERSAL,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_CROSS_CHOP,
+ MOVE_ICE_BEAM,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x54,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_ROCK_TOMB,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x06,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_EARTHQUAKE,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x1D,
+ .moves = {
+ MOVE_SURF,
+ MOVE_TOXIC,
+ MOVE_PROTECT,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_CRUNCH,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_LIGHT_SCREEN
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xB5,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ANCIENT_POWER,
+ MOVE_FOCUS_PUNCH,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_DOUBLE_TEAM,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x94,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_THUNDERBOLT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_REST,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x95,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_REFLECT,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_SURF,
+ MOVE_TOXIC,
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_EARTHQUAKE,
+ MOVE_NONE,
+ MOVE_NONE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1F,
+ .moves = {
+ MOVE_GIGA_DRAIN,
+ MOVE_DOUBLE_TEAM,
+ MOVE_LEECH_SEED,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x17,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x17,
+ .moves = {
+ MOVE_MUDDY_WATER,
+ MOVE_MUD_SHOT,
+ MOVE_MIRROR_COAT,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x7B,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_SHADOW_BALL,
+ MOVE_DESTINY_BOND,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x56,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_COUNTER,
+ MOVE_IRON_TAIL,
+ MOVE_GIGA_DRAIN
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_THUNDER_PUNCH,
+ MOVE_FIRE_PUNCH,
+ MOVE_RECOVER
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND,
+ .teamFlags = 0x05,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_ROCK_TOMB,
+ MOVE_ENDURE,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x0C,
+ .moves = {
+ MOVE_HYPER_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BOLD,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_TOXIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_ATTRACT,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x63,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_THUNDER_WAVE,
+ MOVE_REST,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x07,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_SCREECH,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x45,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_GIGA_DRAIN,
+ MOVE_ROCK_TOMB,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x4D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_IRON_TAIL,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x1B,
+ .moves = {
+ MOVE_LIGHT_SCREEN,
+ MOVE_THUNDERBOLT,
+ MOVE_SURF,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_OVERHEAT,
+ MOVE_FLAMETHROWER,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x25,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ROAR,
+ MOVE_FIRE_BLAST,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x27,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_CROSS_CHOP,
+ MOVE_BLIZZARD,
+ MOVE_PSYCH_UP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x55,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_COUNTER,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x36,
+ .moves = {
+ MOVE_SURF,
+ MOVE_BLIZZARD,
+ MOVE_ROCK_SLIDE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x5C,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_PROTECT,
+ MOVE_DRAGON_BREATH,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x9D,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FLAMETHROWER,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_EARTHQUAKE,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x95,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_TOMB,
+ MOVE_FACADE,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_BLIZZARD,
+ MOVE_THUNDERBOLT,
+ MOVE_HAIL,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x94,
+ .moves = {
+ MOVE_METAL_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_ANCIENT_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_REFLECT,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x95,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0xD6,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_DOUBLE_TEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_KECLEON,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x69,
+ .moves = {
+ MOVE_TRICK,
+ MOVE_REST,
+ MOVE_IRON_TAIL,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x5F,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_EARTHQUAKE,
+ MOVE_REST,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x7F,
+ .moves = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_COUNTER,
+ MOVE_SWAGGER,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x57,
+ .moves = {
+ MOVE_IRON_TAIL,
+ MOVE_CURSE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_GARDEVOIR,
+ .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY,
+ .teamFlags = 0x3B,
+ .moves = {
+ MOVE_SHADOW_BALL,
+ MOVE_PSYCHIC,
+ MOVE_REST,
+ MOVE_IMPRISON
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x56,
+ .moves = {
+ MOVE_SPORE,
+ MOVE_FOCUS_PUNCH,
+ MOVE_SLUDGE_BOMB,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_TRICK,
+ MOVE_RECOVER,
+ MOVE_SNATCH
+ },
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY,
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x65,
+ .moves = {
+ MOVE_REVENGE,
+ MOVE_COUNTER,
+ MOVE_FOCUS_PUNCH,
+ MOVE_REVERSAL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x54,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_PROTECT,
+ MOVE_TOXIC,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_BITE,
+ MOVE_AIR_CUTTER,
+ MOVE_SHADOW_BALL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x75,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_ROCK_SLIDE,
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_WAVE,
+ MOVE_ATTRACT,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x64,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_DOUBLE_TEAM,
+ MOVE_MIRROR_COAT,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL,
+ },
+ {
+ .species = SPECIES_MUK,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x49,
+ .moves = {
+ MOVE_SLUDGE_BOMB,
+ MOVE_FLAMETHROWER,
+ MOVE_THUNDERBOLT,
+ MOVE_SHADOW_PUNCH
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE,
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xCD,
+ .moves = {
+ MOVE_PROTECT,
+ MOVE_DIG,
+ MOVE_TOXIC,
+ MOVE_SANDSTORM
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x5B,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_BLIZZARD,
+ MOVE_PSYCHIC
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_RAIN_DANCE,
+ MOVE_LEECH_SEED,
+ MOVE_DIVE,
+ MOVE_PROTECT
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x4A,
+ .moves = {
+ MOVE_THUNDER,
+ MOVE_REVERSAL,
+ MOVE_FACADE,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_TIMID,
+ },
+ {
+ .species = SPECIES_GOLDUCK,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x0A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_PSYCHIC,
+ MOVE_ICE_BEAM,
+ MOVE_IRON_TAIL
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0x15,
+ .moves = {
+ MOVE_MEGAHORN,
+ MOVE_EARTHQUAKE,
+ MOVE_FACADE,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY,
+ .teamFlags = 0x26,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_FISSURE,
+ MOVE_SHEER_COLD
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x4D,
+ .moves = {
+ MOVE_HYDRO_PUMP,
+ MOVE_BLIZZARD,
+ MOVE_HYPER_BEAM,
+ MOVE_DISABLE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x9C,
+ .moves = {
+ MOVE_DRAGON_CLAW,
+ MOVE_EARTHQUAKE,
+ MOVE_FIRE_BLAST,
+ MOVE_HYDRO_PUMP
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_NAUGHTY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY,
+ .teamFlags = 0xB5,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_PURSUIT,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY,
+ .teamFlags = 0x95,
+ .moves = {
+ MOVE_EARTHQUAKE,
+ MOVE_TOXIC,
+ MOVE_SUPERPOWER,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS,
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE,
+ .teamFlags = 0x96,
+ .moves = {
+ MOVE_ICE_BEAM,
+ MOVE_THUNDERBOLT,
+ MOVE_ANCIENT_POWER,
+ MOVE_EXPLOSION
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RASH,
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS,
+ .teamFlags = 0xB4,
+ .moves = {
+ MOVE_CURSE,
+ MOVE_AMNESIA,
+ MOVE_RETURN,
+ MOVE_REST
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x92,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0x91,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_EARTHQUAKE,
+ MOVE_SURF
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xB2,
+ .moves = {
+ MOVE_SURF,
+ MOVE_ICE_BEAM,
+ MOVE_RECOVER,
+ MOVE_ATTRACT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_BRAVE,
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0x65,
+ .moves = {
+ MOVE_YAWN,
+ MOVE_SLASH,
+ MOVE_COUNTER,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SCEPTILE,
+ .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL,
+ .teamFlags = 0xDF,
+ .moves = {
+ MOVE_LEAF_BLADE,
+ MOVE_DETECT,
+ MOVE_DRAGON_CLAW,
+ MOVE_CRUNCH
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_BLAZIKEN,
+ .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY,
+ .teamFlags = 0xD7,
+ .moves = {
+ MOVE_BLAZE_KICK,
+ MOVE_SKY_UPPERCUT,
+ MOVE_EARTHQUAKE,
+ MOVE_ROCK_SLIDE
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE,
+ },
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY,
+ .teamFlags = 0x5F,
+ .moves = {
+ MOVE_SURF,
+ MOVE_EARTHQUAKE,
+ MOVE_ICE_BEAM,
+ MOVE_ROCK_TOMB
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY,
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER,
+ .teamFlags = 0xDB,
+ .moves = {
+ MOVE_CONFUSE_RAY,
+ MOVE_SHADOW_BALL,
+ MOVE_TOXIC,
+ MOVE_HYPER_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW,
+ .teamFlags = 0x94,
+ .moves = {
+ MOVE_METEOR_MASH,
+ MOVE_PSYCHIC,
+ MOVE_SHADOW_BALL,
+ MOVE_EARTHQUAKE
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_GRUMPIG,
+ .heldItem = BATTLE_TOWER_ITEM_MACHO_BRACE,
+ .teamFlags = 0x4B,
+ .moves = {
+ MOVE_PSYCHIC,
+ MOVE_CONFUSE_RAY,
+ MOVE_TRICK,
+ MOVE_REFLECT
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x92,
+ .moves = {
+ MOVE_MIST_BALL,
+ MOVE_RECOVER,
+ MOVE_ATTRACT,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT,
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK,
+ .teamFlags = 0x91,
+ .moves = {
+ MOVE_LUSTER_PURGE,
+ MOVE_THUNDERBOLT,
+ MOVE_ICE_BEAM,
+ MOVE_DRAGON_CLAW
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY,
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY,
+ .teamFlags = 0x1A,
+ .moves = {
+ MOVE_SURF,
+ MOVE_THUNDERBOLT,
+ MOVE_PSYCHIC,
+ MOVE_ICE_BEAM
+ },
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET,
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS,
+ .teamFlags = 0x14,
+ .moves = {
+ MOVE_CROSS_CHOP,
+ MOVE_COUNTER,
+ MOVE_ROCK_TOMB,
+ MOVE_FLAMETHROWER
+ },
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY,
+ },
+};
diff --git a/src/data/battle_tower/trainers.h b/src/data/battle_tower/trainers.h
new file mode 100644
index 000000000..b5eb3da7a
--- /dev/null
+++ b/src/data/battle_tower/trainers.h
@@ -0,0 +1,1503 @@
+const struct BattleTowerTrainer gBattleTowerTrainers[] =
+{
+ {
+ .trainerClass = TRAINER_CLASS_YOUNGSTER,
+ .name = _("ALVIN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_QUES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BIRD_KEEPER,
+ .name = _("DIRK"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_OKAY,
+ EC_WORD_I_AM,
+ EC_WORD_GOING,
+ EC_WORD_FOR,
+ EC_WORD_IT,
+ EC_WORD_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LADY,
+ .name = _("CYBIL"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_A,
+ EC_WORD_PUSHOVER,
+ EC_WORD_LET_S,
+ EC_WORD_GET,
+ EC_WORD_GOING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BLACK_BELT,
+ .name = _("CHEN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_SPIRIT,
+ EC_WORD_IS,
+ EC_WORD_ENOUGH,
+ EC_WORD_SNORT,
+ EC_WORD_ARRGH,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_NINJA_BOY,
+ .name = _("YOSHI"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GO,
+ EC_WORD_MY,
+ EC_WORD_POKEMON,
+ EC_WORD_FIGHT,
+ EC_WORD_THE,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_F,
+ .name = _("TINA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_STUDY,
+ EC_WORD_IS,
+ EC_WORD_BORING,
+ EC_WORD_LET_S,
+ EC_WORD_BATTLE,
+ EC_WORD_NOW,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("COREY"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HEY,
+ EC_WORD_I,
+ EC_WORD_WILL,
+ EC_MOVE2(TRANSFORM),
+ EC_WORD_FOR,
+ EC_MOVE(STRENGTH),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_FISHERMAN,
+ .name = _("GORDON"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_NEED,
+ EC_WORD_A,
+ EC_WORD_VACATION,
+ EC_WORD_RIGHT,
+ EC_WORD_NOW,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_TUBER_F,
+ .name = _("ANN"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WE,
+ EC_WORD_ALL,
+ EC_WORD_ADORE,
+ EC_WORD_POKEMON,
+ EC_WORD_ABSOLUTELY,
+ EC_WORD_TRULY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_F,
+ .name = _("JULIA"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_A,
+ EC_WORD_CUTE,
+ EC_WORD_LADY,
+ EC_WORD_YES,
+ EC_WORD_I_AM,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("GREGORY"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_THINK,
+ EC_WORD_WE,
+ EC_WORD_SHOULD,
+ EC_WORD_START,
+ EC_WORD_TODAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CAMPER,
+ .name = _("KEITH"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_MY,
+ EC_WORD_FRIEND,
+ EC_WORD_FROM,
+ EC_WORD_NOW,
+ EC_WORD_ON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ .name = _("KENDRA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_MOVE(SWIFT),
+ EC_WORD_HOW,
+ EC_WORD_ABOUT,
+ EC_WORD_YOU,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HIKER,
+ .name = _("DEV"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAHAHAHA,
+ EC_WORD_I_AM,
+ EC_WORD_FEELING,
+ EC_WORD_LIKE,
+ EC_WORD_IT_S,
+ EC_MOVE2(PAY_DAY),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("CASSIE"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_STRONG,
+ EC_WORD_AREN_T,
+ 0xFFFF,
+ EC_WORD_YOU,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_M,
+ .name = _("JULIAN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_FUFUFU,
+ 0xFFFF,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_WIN,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LASS,
+ .name = _("JOYCE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BE,
+ EC_WORD_KIND,
+ EC_WORD_TO,
+ EC_WORD_THE,
+ EC_WORD_DIGITAL,
+ EC_WORD_IDOL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("LES"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_GREAT,
+ EC_WORD_YOU_RE,
+ EC_WORD_JUST,
+ EC_WORD_RATHER,
+ EC_WORD_OKAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RICH_BOY,
+ .name = _("CLINTON"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_HAVE,
+ EC_WORD_ROUGH_SKIN,
+ EC_WORD_I,
+ EC_WORD_NEED,
+ EC_WORD_NATURAL_CURE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_CATCHER,
+ .name = _("LEWIS"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THIS,
+ EC_WORD_IS,
+ EC_WORD_EXCITING,
+ EC_WORD_CAN,
+ EC_WORD_I,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PICNICKER,
+ .name = _("RACHAEL"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_LIKE,
+ EC_WORD_WALKING,
+ EC_WORD_WITH,
+ EC_WORD_MY,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("HAROLD"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HERE,
+ EC_WORD_THEY,
+ EC_WORD_COME,
+ EC_WORD_MY,
+ EC_MOVE2(SUPERPOWER),
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_TUBER_M,
+ .name = _("KIPP"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_A,
+ EC_WORD_GENIUS,
+ EC_WORD_I,
+ EC_WORD_SHOULD,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_KINDLER,
+ .name = _("IRWIN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_WILL,
+ EC_WORD_BE,
+ EC_WORD_FEELING,
+ EC_WORD_MY,
+ EC_WORD_FIRE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_F,
+ .name = _("EILEEN"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_WILL,
+ EC_MOVE(ASTONISH),
+ EC_WORD_YOU,
+ EC_WORD_IN,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_F,
+ .name = _("ANNE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SORRY,
+ EC_WORD_BUT,
+ EC_WORD_YOU,
+ EC_WORD_WILL,
+ EC_WORD_NOT,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ .name = _("RUTH"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_A,
+ EC_WORD_STRONG,
+ EC_WORD_GIRL,
+ EC_WORD_WANTS,
+ EC_WORD_TOUGH,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMANIAC,
+ .name = _("JEREMY"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_POKEMON,
+ EC_WORD_ARE,
+ EC_WORD_COOL,
+ EC_WORD_YOURS,
+ EC_WORD_CAN_T_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SAILOR,
+ .name = _("TREVOR"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_OPPONENT,
+ EC_WORD_IS,
+ EC_WORD_FINALLY,
+ EC_WORD_HERE,
+ EC_WORD_EXCELLENT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F,
+ .name = _("COLETTE"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_AM,
+ EC_WORD_HUNGRY,
+ EC_MOVE2(POUND),
+ EC_WORD_MY,
+ EC_MOVE2(BELLY_DRUM),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HEX_MANIAC,
+ .name = _("PAULA"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_HARD,
+ EC_WORD_TO,
+ EC_WORD_TAKE,
+ EC_WORD_UGLY,
+ EC_MOVE(SPITE),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUIN_MANIAC,
+ .name = _("STANLY"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ADVENTURE,
+ EC_WORD_AND,
+ EC_WORD_BATTLE,
+ EC_WORD_ARE,
+ EC_WORD_MY,
+ EC_WORD_LIKES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("TROY"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_LOSE,
+ EC_WORD_TO,
+ EC_WORD_A,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_M,
+ .name = _("ED"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_POKEMON,
+ EC_WORD_DAILY,
+ EC_WORD_AT,
+ EC_WORD_SCHOOL,
+ EC_WORD_IT_S,
+ EC_WORD_AWESOME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F,
+ .name = _("ELLEN"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_KIND,
+ EC_WORD_TO,
+ EC_WORD_YOUR,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_M,
+ .name = _("ARNIE"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_BATTLE,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_BEAUTIFUL,
+ EC_WORD_YOU,
+ EC_MOVE(DIG),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ .name = _("HAL"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BOY,
+ EC_WORD_I_AM,
+ EC_WORD_TIRED,
+ EC_WORD_READY,
+ EC_WORD_FOR,
+ EC_WORD_SLEEP,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("LAUREN"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_A,
+ EC_WORD_TRAINER,
+ EC_WORD_LIKE,
+ EC_WORD_YOU,
+ EC_WORD_IS,
+ EC_WORD_EXCITING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_AROMA_LADY,
+ .name = _("STACY"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HAVE,
+ EC_WORD_YOU,
+ EC_WORD_A,
+ EC_WORD_STENCH,
+ EC_WORD_OR,
+ EC_MOVE(SWEET_SCENT),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("DARYL"),
+ .teamFlags = 0x81,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOUR,
+ EC_WORD_POKEMON,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_I,
+ EC_WORD_WANT,
+ EC_WORD_IT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ .name = _("KATHY"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_WILL,
+ EC_WORD_TRY,
+ EC_WORD_MY,
+ EC_WORD_BEST,
+ EC_WORD_TODAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M,
+ .name = _("HARRIS"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_EHEHE,
+ EC_MOVE(FAKE_TEARS),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_M,
+ .name = _("GLENN"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LISTEN,
+ EC_WORD_TO,
+ EC_WORD_MY,
+ EC_WORD_LOUSY,
+ EC_WORD_ANIME,
+ EC_WORD_SONG,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ .name = _("NICO"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DON_T,
+ EC_WORD_JUST,
+ EC_WORD_BATTLE,
+ EC_WORD_DO,
+ EC_WORD_SOMETHING,
+ EC_WORD_ELSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M,
+ .name = _("BAILEY"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_BUSY,
+ EC_WORD_GET,
+ EC_WORD_WITH,
+ EC_WORD_IT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PARASOL_LADY,
+ .name = _("ABBIE"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_MOVE(MORNING_SUN),
+ EC_WORD_HAS,
+ EC_WORD_SO,
+ EC_WORD_MUCH,
+ EC_MOVE(COSMIC_POWER),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CAMPER,
+ .name = _("AL"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LET_S,
+ EC_WORD_HAVE,
+ EC_WORD_AN,
+ EC_WORD_EXCITING,
+ EC_WORD_BATTLE,
+ EC_WORD_YEEHAW_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_F,
+ .name = _("PEGGY"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_WANT,
+ EC_WORD_TO,
+ EC_WORD_SEE,
+ EC_WORD_SOME,
+ EC_MOVE(GROWTH),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("NAOMI"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT,
+ EC_WORD_WAS,
+ EC_WORD_GREAT,
+ EC_WORD_TO,
+ EC_WORD_BE,
+ EC_WORD_YOUNG,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_NINJA_BOY,
+ .name = _("KENJI"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLEASE,
+ 0xFFFF,
+ EC_WORD_DON_T,
+ EC_WORD_BE,
+ EC_WORD_MEAN,
+ EC_WORD_TO_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ .name = _("ROSS"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAKE_UP,
+ EC_WORD_MY,
+ EC_MOVE2(HIDDEN_POWER),
+ EC_WORD_AND,
+ EC_MOVE(ASTONISH),
+ EC_WORD_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F,
+ .name = _("EDNA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BATTLE_TOWER,
+ EC_WORD_IS,
+ EC_WORD_SO,
+ EC_WORD_ENTERTAINING,
+ EC_WORD_IT_S,
+ EC_WORD_AWESOME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUIN_MANIAC,
+ .name = _("ANTON"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BLEND,
+ EC_WORD_THICK_FAT,
+ EC_WORD_AND,
+ EC_WORD_CHLOROPHYLL,
+ EC_WORD_IT_S,
+ EC_WORD_TASTY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_M,
+ .name = _("MITCH"),
+ .teamFlags = 0x81,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_NEXT,
+ EC_WORD_A,
+ EC_WORD_GIRL,
+ EC_WORD_WITH,
+ EC_WORD_A,
+ EC_MOVE(SCARY_FACE),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HEX_MANIAC,
+ .name = _("ROD"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GIMME,
+ EC_WORD_A,
+ EC_WORD_TOUGH,
+ EC_WORD_BATTLE,
+ EC_WORD_NOT,
+ EC_WORD_WIMPY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ .name = _("RICH"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TASTY,
+ EC_WORD_WATER,
+ EC_WORD_IS,
+ EC_WORD_HIP_AND,
+ EC_WORD_HAPPENING,
+ EC_WORD_YES_SIR_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_M,
+ .name = _("DANIEL"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GO,
+ EC_WORD_FOR,
+ EC_WORD_IT,
+ EC_WORD_MY,
+ EC_WORD_LOVEY_DOVEY,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_F,
+ .name = _("GLORIA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LET_S,
+ EC_WORD_GET,
+ EC_WORD_THIS,
+ EC_WORD_FIERY,
+ EC_WORD_BATTLE,
+ EC_WORD_HAPPENING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("NELSON"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MUSIC,
+ EC_WORD_IS,
+ EC_WORD_MY,
+ EC_WORD_ALL,
+ EC_WORD_MY,
+ EC_WORD_DESTINY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_KINDLER,
+ .name = _("FERRIS"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GOOD,
+ EC_WORD_IT,
+ EC_WORD_IS,
+ EC_WORD_SO,
+ EC_WORD_VERY,
+ EC_WORD_GOOD,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_AROMA_LADY,
+ .name = _("AMANDA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHAT,
+ EC_WORD_KIND,
+ EC_WORD_OF,
+ EC_WORD_TRAINER,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("MASON"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_DON_T,
+ EC_WORD_KNOW,
+ EC_WORD_HOW,
+ EC_WORD_TO,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_DRAGON_TAMER,
+ .name = _("NATE"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DRAGON,
+ EC_WORD_POKEMON,
+ EC_WORD_ARE,
+ EC_WORD_ALL,
+ EC_WORD_THE,
+ EC_MOVE(RAGE),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LASS,
+ .name = _("MIRIAM"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_TOO_STRONG,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_IT_S,
+ EC_WORD_BAD,
+ EC_WORD_NEWS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMANIAC,
+ .name = _("THEO"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_ADORE,
+ EC_WORD_MY,
+ EC_WORD_MEGA,
+ EC_WORD_CUTE,
+ EC_WORD_PLUSH_DOLL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ .name = _("PAMELA"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HERE_I_COME,
+ EC_WORD_I_AM,
+ EC_WORD_THE,
+ EC_WORD_CUTE,
+ EC_MOVE2(WATER_SPORT),
+ EC_WORD_IDOL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_F,
+ .name = _("ALISSA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_A,
+ EC_WORD_PREPOSTEROUS,
+ EC_WORD_MATCH,
+ EC_WORD_I_AM,
+ EC_WORD_SHOCKED,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("ARTHUR"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLEASE,
+ EC_WORD_GIVE,
+ EC_WORD_ME,
+ EC_WORD_A,
+ EC_WORD_GOOD,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_F,
+ .name = _("MARCY"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_BEAUTIFUL,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_BEAT,
+ EC_WORD_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_M,
+ .name = _("MILLER"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_BATTLE,
+ EC_WORD_DAILY,
+ EC_WORD_I,
+ EC_WORD_WON_T,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BIRD_KEEPER,
+ .name = _("OLIVER"),
+ .teamFlags = 0x11,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_GIGGLE,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ .name = _("MOLLY"),
+ .teamFlags = 0x12,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HOW,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_ON,
+ EC_WORD_MONDAY,
+ EC_WORD_MORNING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("JASON"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WATER,
+ EC_WORD_AND,
+ EC_WORD_BUG,
+ EC_WORD_POKEMON,
+ EC_WORD_ARE,
+ EC_WORD_GREAT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("AVA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHAT,
+ EC_WORD_IS,
+ EC_WORD_THIS,
+ EC_WORD_PRESSURE,
+ EC_WORD_ELLIPSIS,
+ EC_WORD_STATIC,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_FISHERMAN,
+ .name = _("HANK"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_A,
+ EC_WORD_KID,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SAILOR,
+ .name = _("PETER"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_TERRIBLE,
+ EC_WORD_I,
+ EC_WORD_REALLY,
+ EC_WORD_THINK,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_F,
+ .name = _("MINDY"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_APPEAR,
+ EC_WORD_TO,
+ EC_WORD_TRAIN,
+ EC_WORD_VERY,
+ EC_WORD_WELL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("DWIGHT"),
+ .teamFlags = 0x11,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_STRONG,
+ EC_WORD_YOU,
+ EC_WORD_ARE,
+ EC_WORD_SCARY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F,
+ .name = _("REENA"),
+ .teamFlags = 0x12,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_ALWAYS,
+ EC_WORD_LOSE,
+ EC_WORD_MAYBE,
+ EC_WORD_TODAY,
+ EC_WORD_ELLIPSIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PARASOL_LADY,
+ .name = _("MEGAN"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DON_T,
+ EC_WORD_MAKE,
+ EC_WORD_THAT,
+ EC_MOVE(SCARY_FACE),
+ EC_WORD_AT,
+ EC_WORD_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ .name = _("SIERRA"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_VE,
+ EC_WORD_RUN,
+ EC_WORD_A_LOT,
+ EC_WORD_SO,
+ EC_WORD_I_AM,
+ EC_WORD_HEALTHY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M,
+ .name = _("ARNOLD"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_FEELING,
+ EC_WORD_AWESOME,
+ EC_WORD_MY,
+ EC_WORD_POKEMON,
+ EC_WORD_ROCK,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BLACK_BELT,
+ .name = _("XIN"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HOO_HAH,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_TO,
+ EC_WORD_ROCK,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_F,
+ .name = _("KELLY"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_COULDN_T,
+ EC_WORD_BEAT,
+ EC_WORD_ME,
+ EC_WORD_EVER,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("VANCE"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_POKEMON,
+ EC_WORD_ALL,
+ EC_WORD_OVER,
+ EC_WORD_THE,
+ EC_WORD_PLACE,
+ EC_WORD_WOWEE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("TOBY"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THIS,
+ EC_WORD_ISN_T,
+ EC_WORD_SPORTS,
+ EC_WORD_IT_S,
+ EC_WORD_A,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("NORTON"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_HAVE,
+ EC_WORD_TO,
+ EC_WORD_WIN,
+ EC_WORD_PLEASE,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("ZOE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THIS,
+ EC_WORD_IS,
+ EC_WORD_SCARY,
+ EC_WORD_PLEASE,
+ EC_WORD_BE,
+ EC_WORD_NICE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("EMMA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DON_T,
+ EC_WORD_YOU,
+ EC_MOVE(FLAIL),
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_MOVE(WITHDRAW),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HIKER,
+ .name = _("VINCE"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YAHOO,
+ EC_WORD_YAHOO,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_LISTENING,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_M,
+ .name = _("MARV"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LEARN,
+ EC_WORD_TO,
+ EC_WORD_BATTLE,
+ EC_WORD_THE,
+ EC_WORD_CORRECT,
+ EC_WORD_WAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M,
+ .name = _("TODD"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_WORD_WAY,
+ EC_WORD_YOU,
+ EC_WORD_BATTLE,
+ EC_WORD_IT_S,
+ EC_WORD_CHILD_S_PLAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("GAVIN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BABY,
+ EC_WORD_BABY,
+ EC_WORD_BABY,
+ EC_WORD_ROCK,
+ EC_WORD_ME,
+ EC_WORD_HARD,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_M,
+ .name = _("QUINN"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_HAVE,
+ EC_WORD_A,
+ EC_WORD_STICKY_HOLD,
+ EC_WORD_ON,
+ EC_WORD_YOU,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_F,
+ .name = _("JENN"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_ON,
+ EC_WORD_A,
+ EC_WORD_TOUGH,
+ EC_WORD_TRAINER,
+ EC_WORD_SEARCH,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_M,
+ .name = _("JOEL"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BELIEVE,
+ EC_WORD_IN,
+ EC_WORD_YOUR,
+ EC_WORD_POKEMON,
+ EC_WORD_AND,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_DRAGON_TAMER,
+ .name = _("KYLE"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_LIKE,
+ EC_WORD_A,
+ EC_WORD_GIRL,
+ EC_WORD_WITH,
+ EC_MOVE2(FORESIGHT),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_M,
+ .name = _("BRET"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TAKE,
+ EC_WORD_MY,
+ EC_WORD_OVERWHELMING,
+ EC_WORD_POWER,
+ EC_WORD_AND,
+ EC_WORD_DISAPPEAR,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_F,
+ .name = _("CARRIE"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TRAINER,
+ EC_WORD_I,
+ EC_WORD_SEE,
+ EC_WORD_YOU,
+ EC_WORD_ARE,
+ EC_WORD_CAPABLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LADY,
+ .name = _("GILLIAN"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_COME_ON,
+ EC_WORD_SHOW,
+ EC_WORD_ME,
+ EC_WORD_AN,
+ EC_WORD_EXCELLENT,
+ EC_WORD_TIME,
+ },
+ },
+ },
+};
diff --git a/src/data/battle_tower/trainers_de.h b/src/data/battle_tower/trainers_de.h
new file mode 100644
index 000000000..86182da9d
--- /dev/null
+++ b/src/data/battle_tower/trainers_de.h
@@ -0,0 +1,1503 @@
+const struct BattleTowerTrainer gBattleTowerTrainers[] =
+{
+ {
+ .trainerClass = TRAINER_CLASS_YOUNGSTER,
+ .name = _("ALWIN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_QUES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BIRD_KEEPER,
+ .name = _("DIRK"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_OH_KAY,
+ EC_WORD_I_AM,
+ EC_WORD_READY,
+ EC_WORD_EXCL,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LADY,
+ .name = _("SIBILLE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THAT,
+ EC_WORD_BECOMES,
+ EC_WORD_A,
+ EC_WORD_CHILD_S_PLAY,
+ EC_WORD_GO,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BLACK_BELT,
+ .name = _("OLAF"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_GHOST,
+ EC_WORD_IS,
+ EC_WORD_FULL,
+ EC_WORD_TOUGHNESS,
+ EC_WORD_SNORT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_NINJA_BOY,
+ .name = _("JOST"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GO,
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_FIGHT,
+ EC_WORD_FIGHT,
+ EC_WORD_FIGHT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_F,
+ .name = _("TINA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_STUDY,
+ EC_WORD_IS,
+ EC_WORD_BORING,
+ EC_WORD_LET_S,
+ EC_WORD_BETTER,
+ EC_WORD_FIGHT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("HAJO"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TOUGHNESS,
+ EC_WORD_AND,
+ EC_MOVE2(TRANSFORM),
+ EC_WORD_WILL,
+ EC_WORD_BABE,
+ EC_WORD_FAINT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_FISHERMAN,
+ .name = _("GEORG"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT,
+ EC_WORD_GOES,
+ EC_WORD_NOTHING,
+ EC_WORD_OVER,
+ EC_WORD_FISHING,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_TUBER_F,
+ .name = _("ANNE"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_POKEMON,
+ EC_WORD_MUST_BE,
+ EC_WORD_MAN,
+ EC_WORD_SIMPLE,
+ EC_WORD_ADORE,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_F,
+ .name = _("JULIA"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_CUTE,
+ EC_WORD_I_AM,
+ EC_WORD_QUITE,
+ EC_WORD_AN,
+ EC_WORD_LADY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("JOHANN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_WORD_DAY,
+ EC_WORD_IS,
+ EC_WORD_PERFECT,
+ EC_WORD_FOR,
+ EC_WORD_BATTLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CAMPER,
+ .name = _("KARL"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_NOW,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_MY,
+ EC_WORD_FRIEND,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ .name = _("KENDRA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_SMART,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_AND,
+ EC_WORD_YOU,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HIKER,
+ .name = _("DAVID"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAHAHAHA,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_TODAY,
+ EC_WORD_IS,
+ EC_MOVE2(PAY_DAY),
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("KEA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_TOUGH,
+ EC_WORD_OR,
+ EC_WORD_QUES,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_M,
+ .name = _("JULIAN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_FUFUFU,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_DON_T,
+ EC_WORD_WINS,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LASS,
+ .name = _("JOSI"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BE,
+ EC_WORD_KIND,
+ EC_WORD_TO,
+ EC_WORD_GIRL,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("LEIF"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_GREAT,
+ EC_WORD_YOU_RE,
+ EC_WORD_RATHER,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_OKAY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RICH_BOY,
+ .name = _("INGO"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_HAVE,
+ EC_WORD_ROUGH_SKIN,
+ EC_WORD_NATURAL_CURE,
+ EC_WORD_IS,
+ EC_WORD_ALL_RIGHT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_CATCHER,
+ .name = _("LUDWIG"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IF_I_WIN,
+ EC_WORD_IS,
+ EC_WORD_THAT,
+ EC_WORD_EXCITING,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PICNICKER,
+ .name = _("RAJA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WITH,
+ EC_WORD_POKEMON,
+ EC_WORD_TO,
+ EC_WORD_WALKING,
+ EC_WORD_IS,
+ EC_WORD_GREAT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("HARALD"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HERE_GOES,
+ EC_WORD_MY,
+ EC_WORD_HUGE_POWER,
+ 0xFFFF,
+ EC_WORD_POKEMON,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_TUBER_M,
+ .name = _("KIM"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_A,
+ EC_WORD_GENIUS,
+ EC_WORD_WE,
+ EC_WORD_WILL,
+ EC_WORD_WINS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_KINDLER,
+ .name = _("ERWIN"),
+ .teamFlags = 0x05,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_FIRE,
+ EC_WORD_IS,
+ EC_WORD_VERY,
+ EC_WORD_HOT,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_F,
+ .name = _("EIKA"),
+ .teamFlags = 0x0A,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_FIGHTING,
+ EC_MOVE(ASTONISH),
+ EC_WORD_AND,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_F,
+ .name = _("ANNINA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SORRY,
+ EC_WORD_YOURS,
+ EC_WORD_POKEMON,
+ EC_WORD_WILL,
+ EC_WORD_DON_T,
+ EC_WORD_WINS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ .name = _("RUTH"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_TOUGH,
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_TOO,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMANIAC,
+ .name = _("JENS"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_THOSE,
+ EC_WORD_COOL,
+ EC_WORD_YOURS,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SAILOR,
+ .name = _("TITUS"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_FOE,
+ EC_WORD_IS,
+ EC_WORD_FINALLY,
+ EC_WORD_HERE,
+ EC_WORD_EXCELLENT,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F,
+ .name = _("NICOLA"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_VORACIOUS,
+ EC_MOVE2(POUND),
+ EC_WORD_AND,
+ EC_MOVE2(BELLY_DRUM),
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HEX_MANIAC,
+ .name = _("PAULA"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IS_IT_QUES,
+ EC_WORD_THOSE_ARE,
+ EC_WORD_UGLY,
+ EC_MOVE(SPITE),
+ EC_WORD_TO,
+ EC_WORD_TAKE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUIN_MANIAC,
+ .name = _("SÖREN"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ADVENTURE,
+ EC_WORD_AND,
+ EC_WORD_BATTLE,
+ EC_WORD_THOSE,
+ EC_WORD_WHO_WAS,
+ EC_WORD_LIKES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("RAINER"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WE,
+ EC_WORD_CAN,
+ EC_WORD_VERSUS,
+ EC_WORD_CHILDREN,
+ EC_WORD_DON_T,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_M,
+ .name = _("FABIAN"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DAILY,
+ EC_WORD_POKEMON,
+ EC_WORD_IN,
+ EC_WORD_THE,
+ EC_WORD_SCHOOL,
+ EC_WORD_AWESOME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F,
+ .name = _("ELLEN"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_TO,
+ EC_WORD_POKEMON,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_M,
+ .name = _("ARNIE"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_FIGHTING,
+ EC_WORD_IS,
+ EC_WORD_PERFECTION,
+ EC_WORD_YOUR,
+ EC_WORD_USELESS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ .name = _("HARDI"),
+ .teamFlags = 0x09,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BOY,
+ EC_WORD_I_AM,
+ EC_WORD_MAYBE,
+ EC_WORD_TIRED,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("LINA"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_A,
+ EC_WORD_TRAINER,
+ EC_WORD_HOW_DO,
+ EC_WORD_YOU,
+ EC_WORD_IS,
+ EC_WORD_EXCITING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_AROMA_LADY,
+ .name = _("SELINA"),
+ .teamFlags = 0x06,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_VE,
+ EC_WORD_STENCH,
+ EC_WORD_OR,
+ EC_MOVE(SWEET_SCENT),
+ EC_WORD_QUES,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("DANTE"),
+ .teamFlags = 0x81,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOURS,
+ EC_WORD_POKEMON,
+ EC_WORD_I,
+ EC_WORD_WANTS,
+ EC_WORD_SHE,
+ EC_WORD_EXCL_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ .name = _("KATJA"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TODAY,
+ EC_WORD_WANTS,
+ EC_WORD_I,
+ EC_WORD_MY,
+ EC_WORD_BEST,
+ EC_WORD_GIVE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M,
+ .name = _("HORST"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_WAAAH,
+ EC_WORD_EHEHE,
+ EC_MOVE(FAKE_TEARS),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_M,
+ .name = _("GERRIT"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MY,
+ EC_WORD_ANIME,
+ EC_WORD_SONG,
+ EC_WORD_IS,
+ EC_WORD_DON_T,
+ EC_WORD_LOUSY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ .name = _("NIKO"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BATTLE,
+ EC_WORD_DON_T,
+ EC_WORD_JUST,
+ EC_WORD_DO,
+ EC_WORD_SOMETHING,
+ EC_WORD_ELSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M,
+ .name = _("BALDO"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_BUSY,
+ EC_WORD_HAS,
+ EC_WORD_THAT,
+ EC_WORD_TIME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PARASOL_LADY,
+ .name = _("ALMA"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THAT,
+ EC_MOVE(MORNING_SUN),
+ EC_WORD_HAS,
+ EC_WORD_SO,
+ EC_WORD_A_LOT,
+ EC_MOVE(COSMIC_POWER),
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CAMPER,
+ .name = _("ADAM"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_EXCITING,
+ EC_WORD_BATTLE,
+ EC_WORD_THOSE,
+ EC_WORD_GREAT,
+ EC_WORD_YEEHAW_EXCL,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SCHOOL_KID_F,
+ .name = _("GRETE"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_WANTS,
+ EC_WORD_SOMETHING,
+ EC_MOVE(GROWTH),
+ EC_WORD_WORKS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("NAOMI"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT,
+ EC_WORD_WAS,
+ EC_WORD_GREAT,
+ EC_WORD_YOUNG,
+ EC_WORD_TO,
+ EC_WORD_HIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_NINJA_BOY,
+ .name = _("KENO"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLEASE,
+ EC_WORD_BE,
+ EC_WORD_DON_T,
+ EC_WORD_SO,
+ EC_WORD_MEAN,
+ EC_WORD_TO_ME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ .name = _("REMUS"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WAKES_UP,
+ EC_MOVE2(HIDDEN_POWER),
+ EC_WORD_AND,
+ EC_MOVE(ASTONISH),
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F,
+ .name = _("EDITH"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_WORD_BATTLE_TOWER,
+ EC_WORD_IS,
+ EC_WORD_SO,
+ EC_WORD_ENTERTAINING,
+ EC_WORD_AWESOME,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUIN_MANIAC,
+ .name = _("ANTON"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THICK_FAT,
+ EC_WORD_AND,
+ EC_WORD_CHLOROPHYLL,
+ EC_WORD_BLEND,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_TASTY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_M,
+ .name = _("MALTE"),
+ .teamFlags = 0x81,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_AN,
+ EC_MOVE(SCARY_FACE),
+ EC_WORD_IS,
+ EC_WORD_DON_T,
+ EC_WORD_QUITE,
+ EC_WORD_TERRIBLE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HEX_MANIAC,
+ .name = _("RAOUL"),
+ .teamFlags = 0x42,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_RUN_AWAY,
+ EC_WORD_GIVE_ME,
+ EC_WORD_SON,
+ EC_WORD_BEST,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ .name = _("RICK"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WATER,
+ EC_WORD_IS,
+ EC_WORD_TASTY,
+ EC_WORD_HIP_AND,
+ EC_WORD_REFRESHING,
+ EC_WORD_YES_SIR_EXCL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_M,
+ .name = _("DENNIS"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GO,
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_F,
+ .name = _("GLORIA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THE,
+ EC_WORD_FIGHTING,
+ EC_WORD_MUST_BE,
+ EC_WORD_HOT,
+ EC_WORD_HIS,
+ EC_WORD_FIERY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("NINO"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_MUSIC,
+ EC_WORD_IS,
+ EC_WORD_MY,
+ EC_WORD_EVERY,
+ EC_WORD_MY,
+ EC_WORD_DESTINY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_KINDLER,
+ .name = _("FIETE"),
+ .teamFlags = 0x41,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_VERY,
+ EC_WORD_ALL_RIGHT,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_AROMA_LADY,
+ .name = _("AMANDA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHAT,
+ EC_WORD_FOR,
+ EC_WORD_A,
+ EC_WORD_TRAINER,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("MAREK"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WE_VE,
+ EC_WORD_UNTIL,
+ EC_WORD_NOW,
+ EC_WORD_TOTALLY,
+ EC_WORD_NEVER,
+ EC_WORD_LOST,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_DRAGON_TAMER,
+ .name = _("NATHAN"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_DRAGON,
+ 0xFFFF,
+ EC_WORD_POKEMON,
+ EC_WORD_THOSE,
+ EC_WORD_FANTASTIC,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LASS,
+ .name = _("MIRIAM"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_QUITE,
+ EC_WORD_TOO_STRONG,
+ EC_WORD_AM,
+ EC_WORD_BAD,
+ EC_WORD_NEWS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMANIAC,
+ .name = _("THEO"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLUSH_DOLL,
+ EC_WORD_MUST_BE,
+ EC_WORD_MAN,
+ EC_WORD_SIMPLE,
+ EC_WORD_ADORE,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ .name = _("PIA"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HERE_I_COME,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_CUTE,
+ EC_WORD_A,
+ EC_WORD_CHANNEL,
+ EC_WORD_IDOL,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEFAN_F,
+ .name = _("ALISSA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOURS,
+ EC_WORD_POKEMON,
+ EC_WORD_THOSE,
+ EC_WORD_PREPOSTEROUS,
+ EC_WORD_I_AM,
+ EC_WORD_SHOCKED,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("ARTUR"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_PLEASE,
+ EC_WORD_ALL,
+ EC_WORD_BATTLE,
+ EC_WORD_WEREN_T,
+ EC_WORD_GREAT,
+ EC_WORD_HIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMER_F,
+ .name = _("MAJA"),
+ .teamFlags = 0x82,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I_AM,
+ EC_WORD_PRETTY,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_DON_T,
+ EC_WORD_WINS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_M,
+ .name = _("MARIUS"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_BATTLE,
+ EC_WORD_DAILY,
+ EC_WORD_I,
+ EC_WORD_WON_T,
+ EC_WORD_LOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BIRD_KEEPER,
+ .name = _("OLIVER"),
+ .teamFlags = 0x11,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GIGGLE,
+ EC_WORD_GIGGLE,
+ EC_WORD_SNORT,
+ EC_WORD_HAPPILY,
+ EC_WORD_GIGGLE,
+ EC_WORD_MUFUFU,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ .name = _("MOLLY"),
+ .teamFlags = 0x12,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IS,
+ EC_WORD_TODAY,
+ EC_WORD_MONDAY,
+ EC_WORD_QUES,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("JÖRG"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WATER,
+ 0xFFFF,
+ EC_WORD_AND,
+ EC_WORD_BUG,
+ 0xFFFF,
+ EC_WORD_POKEMON,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("ANKE"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHAT,
+ EC_WORD_IS,
+ EC_WORD_PRESSURE,
+ EC_WORD_STATIC,
+ EC_WORD_IS,
+ EC_WORD_SUPER,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_FISHERMAN,
+ .name = _("HANS"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_KID,
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_DON_T,
+ EC_WORD_WINS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SAILOR,
+ .name = _("PETER"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_QUITE,
+ EC_WORD_TERRIBLE,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_MODE,
+ EC_WORD_I,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_F,
+ .name = _("MARA"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU_RE,
+ EC_WORD_VERY,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_TRAINS,
+ EC_WORD_OR,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BUG_MANIAC,
+ .name = _("DARIUS"),
+ .teamFlags = 0x11,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_TOUGH,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_SCARY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F,
+ .name = _("REGINA"),
+ .teamFlags = 0x12,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TODAY,
+ EC_WORD_WIN,
+ EC_WORD_I,
+ EC_WORD_MAYBE,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PARASOL_LADY,
+ .name = _("MAIKE"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SO,
+ EC_WORD_AN,
+ EC_MOVE(SCARY_FACE),
+ EC_WORD_IS,
+ EC_WORD_NOT_VERY,
+ EC_WORD_KIND,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ .name = _("SANDRA"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SPORTS,
+ EC_WORD_IS,
+ EC_WORD_HEALTHY,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_SPIRALING,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M,
+ .name = _("ARNOLD"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_AWESOME,
+ EC_WORD_WHO_WAS,
+ EC_WORD_POKEMON,
+ EC_WORD_THOSE,
+ EC_WORD_ROCK_SOLID,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BLACK_BELT,
+ .name = _("XENO"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_HOO_HAH,
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_FOR,
+ EC_WORD_SHADY,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_F,
+ .name = _("KARLA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YOU,
+ EC_WORD_CAN_T,
+ EC_WORD_ME,
+ EC_WORD_NEVER,
+ EC_WORD_SMITE,
+ EC_WORD_KID,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COLLECTOR,
+ .name = _("VOLKER"),
+ .teamFlags = 0x80,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_FROM,
+ EC_WORD_PLACE,
+ EC_WORD_TO,
+ EC_WORD_PLACE,
+ EC_WORD_POKEMON,
+ EC_WORD_WOWEE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ .name = _("TOBIAS"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THAT,
+ EC_WORD_ISN_T,
+ EC_WORD_SPORTS,
+ EC_WORD_IT_S,
+ EC_WORD_A,
+ EC_WORD_FIGHTING,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GENTLEMAN,
+ .name = _("NORBERT"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_MUST_BE,
+ EC_WORD_WINS,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_PLEASE,
+ EC_WORD_PLEASE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BATTLE_GIRL,
+ .name = _("ZITA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_THAT,
+ EC_WORD_IS,
+ EC_WORD_SCARY,
+ EC_WORD_PLEASE,
+ EC_WORD_BE,
+ EC_WORD_NICE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_BEAUTY,
+ .name = _("ELKE"),
+ .teamFlags = 0x20,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WITHOUT,
+ EC_MOVE(FLAIL),
+ EC_WORD_NONE,
+ EC_MOVE(WITHDRAW),
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_HIKER,
+ .name = _("VITUS"),
+ .teamFlags = 0x04,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_YAHOO,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_LISTENS,
+ EC_WORD_HER,
+ EC_WORD_TO,
+ EC_WORD_QUES,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_M,
+ .name = _("MALTE"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_LEARN,
+ EC_WORD_CORRECT,
+ EC_WORD_TO,
+ EC_WORD_FIGHT,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M,
+ .name = _("TIM"),
+ .teamFlags = 0x40,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_IT_S,
+ EC_WORD_A,
+ EC_WORD_FIGHTING,
+ EC_WORD_NONE,
+ EC_WORD_CHILD_S_PLAY,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_GUITARIST,
+ .name = _("GAVIN"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_SHADY,
+ EC_WORD_BABY,
+ EC_WORD_BABY,
+ EC_WORD_BABY,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_PSYCHIC_M,
+ .name = _("RALF"),
+ .teamFlags = 0x08,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_STICKY_HOLD,
+ EC_WORD_THOSE,
+ EC_WORD_IMPORTANT,
+ EC_WORD_ISN_T_IT_QUES,
+ 0xFFFF,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_F,
+ .name = _("JENNY"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_I,
+ EC_WORD_SEARCH,
+ EC_WORD_TRAINER,
+ EC_WORD_ABSOLUTELY,
+ EC_WORD_TOUGH,
+ EC_WORD_THOSE,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_M,
+ .name = _("JOEL"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_BELIEVE,
+ EC_WORD_ON,
+ EC_WORD_YOURS,
+ EC_WORD_POKEMON,
+ EC_WORD_AND,
+ EC_WORD_WIN,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_DRAGON_TAMER,
+ .name = _("KOLJA"),
+ .teamFlags = 0x0C,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_GIRL,
+ EC_WORD_WITH,
+ EC_MOVE2(FORESIGHT),
+ EC_WORD_THOSE,
+ EC_WORD_NICE,
+ 0xFFFF,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_COOL_TRAINER_M,
+ .name = _("BILL"),
+ .teamFlags = 0x01,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_WHO_WAS,
+ EC_WORD_POWER,
+ EC_WORD_IS,
+ EC_WORD_OVERWHELMING,
+ EC_WORD_DISAPPEAR,
+ EC_WORD_BETTER,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_EXPERT_F,
+ .name = _("CALLA"),
+ .teamFlags = 0x10,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_TRAINER,
+ EC_WORD_YOU,
+ EC_WORD_ARE,
+ EC_WORD_SEEMS,
+ EC_WORD_CAPABLE,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ },
+ },
+ },
+ {
+ .trainerClass = TRAINER_CLASS_LADY,
+ .name = _("GESA"),
+ .teamFlags = 0x02,
+ .greeting = {
+ .easyChat = {
+ EC_WORD_COME_ON,
+ EC_WORD_ABSOLUTELY,
+ EC_WORD_TIME,
+ EC_WORD_BECOMES,
+ EC_WORD_EXCELLENT,
+ 0xFFFF,
+ },
+ },
+ },
+};
diff --git a/include/data/field_map_obj/anim_func_ptrs.h b/src/data/field_map_obj/anim_func_ptrs.h
index 63575727d..1d1fac71e 100644
--- a/include/data/field_map_obj/anim_func_ptrs.h
+++ b/src/data/field_map_obj/anim_func_ptrs.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/18/2017.
+
//
#ifndef POKERUBY_ANIM_FUNC_PTRS_H
diff --git a/include/data/field_map_obj/base_oam.h b/src/data/field_map_obj/base_oam.h
index 8595f97e7..49c14e8c2 100644
--- a/include/data/field_map_obj/base_oam.h
+++ b/src/data/field_map_obj/base_oam.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_BASE_OAM_H
diff --git a/include/data/field_map_obj/berry_tree_graphics_tables.h b/src/data/field_map_obj/berry_tree_graphics_tables.h
index 53a0fd482..5b60fee6f 100644
--- a/include/data/field_map_obj/berry_tree_graphics_tables.h
+++ b/src/data/field_map_obj/berry_tree_graphics_tables.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_BERRY_TREE_GRAPHICS_TABLES_H
diff --git a/include/data/field_map_obj/callback_subroutine_pointers.h b/src/data/field_map_obj/callback_subroutine_pointers.h
index d24a47184..a324066b7 100644
--- a/include/data/field_map_obj/callback_subroutine_pointers.h
+++ b/src/data/field_map_obj/callback_subroutine_pointers.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/18/2017.
+
//
#ifndef POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H
@@ -394,7 +394,7 @@ u8 (*const gUnknown_08375588[])(struct MapObject *, struct Sprite *) = {
sub_805F3C4
};
-u8 (*const gUnknown_08375594[])(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)) = {
+u8 (*const gUnknown_08375594[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = {
sub_805F3EC,
sub_805F3F0,
sub_805F438,
diff --git a/include/data/field_map_obj/field_effect_object_template_pointers.h b/src/data/field_map_obj/field_effect_object_template_pointers.h
index 8e19747ce..320af1ff8 100644
--- a/include/data/field_map_obj/field_effect_object_template_pointers.h
+++ b/src/data/field_map_obj/field_effect_object_template_pointers.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
diff --git a/include/data/field_map_obj/field_effect_objects.h b/src/data/field_map_obj/field_effect_objects.h
index dc8a38542..9d3ae343d 100644
--- a/include/data/field_map_obj/field_effect_objects.h
+++ b/src/data/field_map_obj/field_effect_objects.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_FIELD_EFFECT_OBJECTS_H
diff --git a/include/data/field_map_obj/map_object_anims.h b/src/data/field_map_obj/map_object_anims.h
index 0d6e299ee..0993f3efd 100644
--- a/include/data/field_map_obj/map_object_anims.h
+++ b/src/data/field_map_obj/map_object_anims.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_MAP_OBJECT_ANIMS_H
diff --git a/include/data/field_map_obj/map_object_graphics_info.h b/src/data/field_map_obj/map_object_graphics_info.h
index 818c5b90c..7b021b66d 100644
--- a/include/data/field_map_obj/map_object_graphics_info.h
+++ b/src/data/field_map_obj/map_object_graphics_info.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_MAP_OBJECT_GRAPHICS_INFO_H
diff --git a/include/data/field_map_obj/map_object_graphics_info_pointers.h b/src/data/field_map_obj/map_object_graphics_info_pointers.h
index c36827709..22a052b0d 100644
--- a/include/data/field_map_obj/map_object_graphics_info_pointers.h
+++ b/src/data/field_map_obj/map_object_graphics_info_pointers.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_MAP_OBJECT_GRAPHICS_INFO_POINTERS_H
diff --git a/include/data/field_map_obj/map_object_pic_tables.h b/src/data/field_map_obj/map_object_pic_tables.h
index 37d579512..ecb5c8836 100644
--- a/include/data/field_map_obj/map_object_pic_tables.h
+++ b/src/data/field_map_obj/map_object_pic_tables.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_MAP_OBJECT_PIC_TABLES_H
diff --git a/include/data/field_map_obj/map_object_subsprites.h b/src/data/field_map_obj/map_object_subsprites.h
index f928db88a..951d71e99 100644
--- a/include/data/field_map_obj/map_object_subsprites.h
+++ b/src/data/field_map_obj/map_object_subsprites.h
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/17/2017.
+
//
#ifndef POKERUBY_MAP_OBJECT_SUBSPRITES_H
diff --git a/include/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h
index eadfbfe30..37f59e1c6 100644
--- a/include/data/pokemon/base_stats.h
+++ b/src/data/pokemon/base_stats.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_BASE_STATS_H
diff --git a/include/data/pokemon/cry_ids.h b/src/data/pokemon/cry_ids.h
index d965a41cf..6207a92f0 100644
--- a/include/data/pokemon/cry_ids.h
+++ b/src/data/pokemon/cry_ids.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_CRY_IDS_H
diff --git a/include/data/pokemon/dex_order.h b/src/data/pokemon/dex_order.h
index 6f8582533..cbb7182ed 100644
--- a/include/data/pokemon/dex_order.h
+++ b/src/data/pokemon/dex_order.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_DEX_ORDER_H
diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h
new file mode 100644
index 000000000..ab1b1dd33
--- /dev/null
+++ b/src/data/pokemon/egg_moves.h
@@ -0,0 +1,1318 @@
+//
+
+//
+
+#ifndef POKERUBY_DAYCARE_H
+#define POKERUBY_DAYCARE_H
+
+#define EGG_MOVES_SPECIES_OFFSET 20000
+#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves
+
+#endif //POKERUBY_DAYCARE_H
+
+const u16 gEggMoves[] = {
+ egg_moves(BULBASAUR,
+ MOVE_LIGHT_SCREEN,
+ MOVE_SKULL_BASH,
+ MOVE_SAFEGUARD,
+ MOVE_CHARM,
+ MOVE_PETAL_DANCE,
+ MOVE_MAGICAL_LEAF,
+ MOVE_GRASS_WHISTLE,
+ MOVE_CURSE),
+
+ egg_moves(CHARMANDER,
+ MOVE_BELLY_DRUM,
+ MOVE_ANCIENT_POWER,
+ MOVE_ROCK_SLIDE,
+ MOVE_BITE,
+ MOVE_OUTRAGE,
+ MOVE_BEAT_UP,
+ MOVE_SWORDS_DANCE,
+ MOVE_DRAGON_DANCE),
+
+ egg_moves(SQUIRTLE,
+ MOVE_MIRROR_COAT,
+ MOVE_HAZE,
+ MOVE_MIST,
+ MOVE_FORESIGHT,
+ MOVE_FLAIL,
+ MOVE_REFRESH,
+ MOVE_MUD_SPORT,
+ MOVE_YAWN),
+
+ egg_moves(PIDGEY,
+ MOVE_PURSUIT,
+ MOVE_FAINT_ATTACK,
+ MOVE_FORESIGHT,
+ MOVE_STEEL_WING,
+ MOVE_AIR_CUTTER),
+
+ egg_moves(RATTATA,
+ MOVE_SCREECH,
+ MOVE_FLAME_WHEEL,
+ MOVE_FURY_SWIPES,
+ MOVE_BITE,
+ MOVE_COUNTER,
+ MOVE_REVERSAL,
+ MOVE_UPROAR,
+ MOVE_SWAGGER),
+
+ egg_moves(SPEAROW,
+ MOVE_FAINT_ATTACK,
+ MOVE_FALSE_SWIPE,
+ MOVE_SCARY_FACE,
+ MOVE_QUICK_ATTACK,
+ MOVE_TRI_ATTACK,
+ MOVE_ASTONISH,
+ MOVE_SKY_ATTACK),
+
+ egg_moves(EKANS,
+ MOVE_PURSUIT,
+ MOVE_SLAM,
+ MOVE_SPITE,
+ MOVE_BEAT_UP,
+ MOVE_POISON_FANG),
+
+ egg_moves(SANDSHREW,
+ MOVE_FLAIL,
+ MOVE_SAFEGUARD,
+ MOVE_COUNTER,
+ MOVE_RAPID_SPIN,
+ MOVE_ROCK_SLIDE,
+ MOVE_METAL_CLAW,
+ MOVE_SWORDS_DANCE,
+ MOVE_CRUSH_CLAW),
+
+ egg_moves(NIDORAN_F,
+ MOVE_SUPERSONIC,
+ MOVE_DISABLE,
+ MOVE_TAKE_DOWN,
+ MOVE_FOCUS_ENERGY,
+ MOVE_CHARM,
+ MOVE_COUNTER,
+ MOVE_BEAT_UP),
+
+ egg_moves(NIDORAN_M,
+ MOVE_COUNTER,
+ MOVE_DISABLE,
+ MOVE_SUPERSONIC,
+ MOVE_TAKE_DOWN,
+ MOVE_AMNESIA,
+ MOVE_CONFUSION,
+ MOVE_BEAT_UP),
+
+ egg_moves(VULPIX,
+ MOVE_FAINT_ATTACK,
+ MOVE_HYPNOSIS,
+ MOVE_FLAIL,
+ MOVE_SPITE,
+ MOVE_DISABLE,
+ MOVE_HOWL,
+ MOVE_PSYCH_UP,
+ MOVE_HEAT_WAVE),
+
+ egg_moves(ZUBAT,
+ MOVE_QUICK_ATTACK,
+ MOVE_PURSUIT,
+ MOVE_FAINT_ATTACK,
+ MOVE_GUST,
+ MOVE_WHIRLWIND,
+ MOVE_CURSE),
+
+ egg_moves(ODDISH,
+ MOVE_SWORDS_DANCE,
+ MOVE_RAZOR_LEAF,
+ MOVE_FLAIL,
+ MOVE_SYNTHESIS,
+ MOVE_CHARM,
+ MOVE_INGRAIN),
+
+ egg_moves(PARAS,
+ MOVE_FALSE_SWIPE,
+ MOVE_SCREECH,
+ MOVE_COUNTER,
+ MOVE_PSYBEAM,
+ MOVE_FLAIL,
+ MOVE_SWEET_SCENT,
+ MOVE_LIGHT_SCREEN,
+ MOVE_PURSUIT),
+
+ egg_moves(VENONAT,
+ MOVE_BATON_PASS,
+ MOVE_SCREECH,
+ MOVE_GIGA_DRAIN,
+ MOVE_SIGNAL_BEAM),
+
+ egg_moves(DIGLETT,
+ MOVE_FAINT_ATTACK,
+ MOVE_SCREECH,
+ MOVE_ANCIENT_POWER,
+ MOVE_PURSUIT,
+ MOVE_BEAT_UP,
+ MOVE_UPROAR,
+ MOVE_ROCK_SLIDE),
+
+ egg_moves(MEOWTH,
+ MOVE_SPITE,
+ MOVE_CHARM,
+ MOVE_HYPNOSIS,
+ MOVE_AMNESIA,
+ MOVE_PSYCH_UP,
+ MOVE_ASSIST),
+
+ egg_moves(PSYDUCK,
+ MOVE_HYPNOSIS,
+ MOVE_PSYBEAM,
+ MOVE_FORESIGHT,
+ MOVE_LIGHT_SCREEN,
+ MOVE_FUTURE_SIGHT,
+ MOVE_PSYCHIC,
+ MOVE_CROSS_CHOP,
+ MOVE_REFRESH),
+
+ egg_moves(MANKEY,
+ MOVE_ROCK_SLIDE,
+ MOVE_FORESIGHT,
+ MOVE_MEDITATE,
+ MOVE_COUNTER,
+ MOVE_REVERSAL,
+ MOVE_BEAT_UP,
+ MOVE_REVENGE,
+ MOVE_SMELLING_SALT),
+
+ egg_moves(GROWLITHE,
+ MOVE_BODY_SLAM,
+ MOVE_SAFEGUARD,
+ MOVE_CRUNCH,
+ MOVE_THRASH,
+ MOVE_FIRE_SPIN,
+ MOVE_HOWL,
+ MOVE_HEAT_WAVE),
+
+ egg_moves(POLIWAG,
+ MOVE_MIST,
+ MOVE_SPLASH,
+ MOVE_BUBBLE_BEAM,
+ MOVE_HAZE,
+ MOVE_MIND_READER,
+ MOVE_WATER_SPORT,
+ MOVE_ICE_BALL),
+
+ egg_moves(ABRA,
+ MOVE_ENCORE,
+ MOVE_BARRIER,
+ MOVE_KNOCK_OFF,
+ MOVE_FIRE_PUNCH,
+ MOVE_THUNDER_PUNCH,
+ MOVE_ICE_PUNCH),
+
+ egg_moves(MACHOP,
+ MOVE_LIGHT_SCREEN,
+ MOVE_MEDITATE,
+ MOVE_ROLLING_KICK,
+ MOVE_ENCORE,
+ MOVE_SMELLING_SALT,
+ MOVE_COUNTER,
+ MOVE_ROCK_SLIDE),
+
+ egg_moves(BELLSPROUT,
+ MOVE_SWORDS_DANCE,
+ MOVE_ENCORE,
+ MOVE_REFLECT,
+ MOVE_SYNTHESIS,
+ MOVE_LEECH_LIFE,
+ MOVE_INGRAIN,
+ MOVE_MAGICAL_LEAF),
+
+ egg_moves(TENTACOOL,
+ MOVE_AURORA_BEAM,
+ MOVE_MIRROR_COAT,
+ MOVE_RAPID_SPIN,
+ MOVE_HAZE,
+ MOVE_SAFEGUARD,
+ MOVE_CONFUSE_RAY),
+
+ egg_moves(GEODUDE,
+ MOVE_MEGA_PUNCH,
+ MOVE_ROCK_SLIDE,
+ MOVE_BLOCK),
+
+ egg_moves(PONYTA,
+ MOVE_FLAME_WHEEL,
+ MOVE_THRASH,
+ MOVE_DOUBLE_KICK,
+ MOVE_HYPNOSIS,
+ MOVE_CHARM,
+ MOVE_DOUBLE_EDGE),
+
+ egg_moves(SLOWPOKE,
+ MOVE_SAFEGUARD,
+ MOVE_BELLY_DRUM,
+ MOVE_FUTURE_SIGHT,
+ MOVE_STOMP,
+ MOVE_MUD_SPORT,
+ MOVE_SLEEP_TALK,
+ MOVE_SNORE),
+
+ egg_moves(FARFETCHD,
+ MOVE_STEEL_WING,
+ MOVE_FORESIGHT,
+ MOVE_MIRROR_MOVE,
+ MOVE_GUST,
+ MOVE_QUICK_ATTACK,
+ MOVE_FLAIL,
+ MOVE_FEATHER_DANCE,
+ MOVE_CURSE),
+
+ egg_moves(DODUO,
+ MOVE_QUICK_ATTACK,
+ MOVE_SUPERSONIC,
+ MOVE_HAZE,
+ MOVE_FAINT_ATTACK,
+ MOVE_FLAIL,
+ MOVE_ENDEAVOR),
+
+ egg_moves(SEEL,
+ MOVE_LICK,
+ MOVE_PERISH_SONG,
+ MOVE_DISABLE,
+ MOVE_HORN_DRILL,
+ MOVE_SLAM,
+ MOVE_ENCORE,
+ MOVE_FAKE_OUT,
+ MOVE_ICICLE_SPEAR),
+
+ egg_moves(GRIMER,
+ MOVE_HAZE,
+ MOVE_MEAN_LOOK,
+ MOVE_LICK,
+ MOVE_IMPRISON,
+ MOVE_CURSE,
+ MOVE_SHADOW_PUNCH,
+ MOVE_EXPLOSION),
+
+ egg_moves(SHELLDER,
+ MOVE_BUBBLE_BEAM,
+ MOVE_TAKE_DOWN,
+ MOVE_BARRIER,
+ MOVE_RAPID_SPIN,
+ MOVE_SCREECH,
+ MOVE_ICICLE_SPEAR),
+
+ egg_moves(GASTLY,
+ MOVE_PSYWAVE,
+ MOVE_PERISH_SONG,
+ MOVE_HAZE,
+ MOVE_ASTONISH,
+ MOVE_WILL_O_WISP,
+ MOVE_GRUDGE,
+ MOVE_EXPLOSION),
+
+ egg_moves(ONIX,
+ MOVE_ROCK_SLIDE,
+ MOVE_FLAIL,
+ MOVE_EXPLOSION,
+ MOVE_BLOCK),
+
+ egg_moves(DROWZEE,
+ MOVE_BARRIER,
+ MOVE_ASSIST,
+ MOVE_ROLE_PLAY,
+ MOVE_FIRE_PUNCH,
+ MOVE_THUNDER_PUNCH,
+ MOVE_ICE_PUNCH),
+
+ egg_moves(KRABBY,
+ MOVE_DIG,
+ MOVE_HAZE,
+ MOVE_AMNESIA,
+ MOVE_FLAIL,
+ MOVE_SLAM,
+ MOVE_KNOCK_OFF,
+ MOVE_SWORDS_DANCE),
+
+ egg_moves(EXEGGCUTE,
+ MOVE_SYNTHESIS,
+ MOVE_MOONLIGHT,
+ MOVE_REFLECT,
+ MOVE_ANCIENT_POWER,
+ MOVE_PSYCH_UP,
+ MOVE_INGRAIN,
+ MOVE_CURSE),
+
+ egg_moves(CUBONE,
+ MOVE_ROCK_SLIDE,
+ MOVE_ANCIENT_POWER,
+ MOVE_BELLY_DRUM,
+ MOVE_SCREECH,
+ MOVE_SKULL_BASH,
+ MOVE_PERISH_SONG,
+ MOVE_SWORDS_DANCE),
+
+ egg_moves(LICKITUNG,
+ MOVE_BELLY_DRUM,
+ MOVE_MAGNITUDE,
+ MOVE_BODY_SLAM,
+ MOVE_CURSE,
+ MOVE_SMELLING_SALT,
+ MOVE_SLEEP_TALK,
+ MOVE_SNORE,
+ MOVE_SUBSTITUTE),
+
+ egg_moves(KOFFING,
+ MOVE_SCREECH,
+ MOVE_PSYWAVE,
+ MOVE_PSYBEAM,
+ MOVE_DESTINY_BOND,
+ MOVE_PAIN_SPLIT,
+ MOVE_WILL_O_WISP),
+
+ egg_moves(RHYHORN,
+ MOVE_CRUNCH,
+ MOVE_REVERSAL,
+ MOVE_ROCK_SLIDE,
+ MOVE_COUNTER,
+ MOVE_MAGNITUDE,
+ MOVE_SWORDS_DANCE,
+ MOVE_CURSE,
+ MOVE_CRUSH_CLAW),
+
+ egg_moves(CHANSEY,
+ MOVE_PRESENT,
+ MOVE_METRONOME,
+ MOVE_HEAL_BELL,
+ MOVE_AROMATHERAPY,
+ MOVE_SUBSTITUTE),
+
+ egg_moves(TANGELA,
+ MOVE_FLAIL,
+ MOVE_CONFUSION,
+ MOVE_MEGA_DRAIN,
+ MOVE_REFLECT,
+ MOVE_AMNESIA,
+ MOVE_LEECH_SEED,
+ MOVE_NATURE_POWER),
+
+ egg_moves(KANGASKHAN,
+ MOVE_STOMP,
+ MOVE_FORESIGHT,
+ MOVE_FOCUS_ENERGY,
+ MOVE_SAFEGUARD,
+ MOVE_DISABLE,
+ MOVE_COUNTER,
+ MOVE_CRUSH_CLAW,
+ MOVE_SUBSTITUTE),
+
+ egg_moves(HORSEA,
+ MOVE_FLAIL,
+ MOVE_AURORA_BEAM,
+ MOVE_OCTAZOOKA,
+ MOVE_DISABLE,
+ MOVE_SPLASH,
+ MOVE_DRAGON_RAGE,
+ MOVE_DRAGON_BREATH),
+
+ egg_moves(GOLDEEN,
+ MOVE_PSYBEAM,
+ MOVE_HAZE,
+ MOVE_HYDRO_PUMP,
+ MOVE_SLEEP_TALK,
+ MOVE_MUD_SPORT),
+
+ egg_moves(MR_MIME,
+ MOVE_FUTURE_SIGHT,
+ MOVE_HYPNOSIS,
+ MOVE_MIMIC,
+ MOVE_PSYCH_UP,
+ MOVE_FAKE_OUT,
+ MOVE_TRICK),
+
+ egg_moves(SCYTHER,
+ MOVE_COUNTER,
+ MOVE_SAFEGUARD,
+ MOVE_BATON_PASS,
+ MOVE_RAZOR_WIND,
+ MOVE_REVERSAL,
+ MOVE_LIGHT_SCREEN,
+ MOVE_ENDURE,
+ MOVE_SILVER_WIND),
+
+ egg_moves(PINSIR,
+ MOVE_FURY_ATTACK,
+ MOVE_FLAIL,
+ MOVE_FALSE_SWIPE,
+ MOVE_FAINT_ATTACK),
+
+ egg_moves(LAPRAS,
+ MOVE_FORESIGHT,
+ MOVE_SUBSTITUTE,
+ MOVE_TICKLE,
+ MOVE_REFRESH,
+ MOVE_DRAGON_DANCE,
+ MOVE_CURSE,
+ MOVE_SLEEP_TALK,
+ MOVE_HORN_DRILL),
+
+ egg_moves(EEVEE,
+ MOVE_CHARM,
+ MOVE_FLAIL,
+ MOVE_ENDURE,
+ MOVE_CURSE,
+ MOVE_TICKLE,
+ MOVE_WISH),
+
+ egg_moves(OMANYTE,
+ MOVE_BUBBLE_BEAM,
+ MOVE_AURORA_BEAM,
+ MOVE_SLAM,
+ MOVE_SUPERSONIC,
+ MOVE_HAZE,
+ MOVE_ROCK_SLIDE,
+ MOVE_SPIKES),
+
+ egg_moves(KABUTO,
+ MOVE_BUBBLE_BEAM,
+ MOVE_AURORA_BEAM,
+ MOVE_RAPID_SPIN,
+ MOVE_DIG,
+ MOVE_FLAIL,
+ MOVE_KNOCK_OFF,
+ MOVE_CONFUSE_RAY),
+
+ egg_moves(AERODACTYL,
+ MOVE_WHIRLWIND,
+ MOVE_PURSUIT,
+ MOVE_FORESIGHT,
+ MOVE_STEEL_WING,
+ MOVE_DRAGON_BREATH,
+ MOVE_CURSE),
+
+ egg_moves(SNORLAX,
+ MOVE_LICK,
+ MOVE_CHARM,
+ MOVE_DOUBLE_EDGE,
+ MOVE_CURSE,
+ MOVE_FISSURE,
+ MOVE_SUBSTITUTE),
+
+ egg_moves(DRATINI,
+ MOVE_LIGHT_SCREEN,
+ MOVE_MIST,
+ MOVE_HAZE,
+ MOVE_SUPERSONIC,
+ MOVE_DRAGON_BREATH,
+ MOVE_DRAGON_DANCE),
+
+ egg_moves(CHIKORITA,
+ MOVE_VINE_WHIP,
+ MOVE_LEECH_SEED,
+ MOVE_COUNTER,
+ MOVE_ANCIENT_POWER,
+ MOVE_FLAIL,
+ MOVE_NATURE_POWER,
+ MOVE_INGRAIN,
+ MOVE_GRASS_WHISTLE),
+
+ egg_moves(CYNDAQUIL,
+ MOVE_FURY_SWIPES,
+ MOVE_QUICK_ATTACK,
+ MOVE_REVERSAL,
+ MOVE_THRASH,
+ MOVE_FORESIGHT,
+ MOVE_COVET,
+ MOVE_HOWL,
+ MOVE_CRUSH_CLAW),
+
+ egg_moves(TOTODILE,
+ MOVE_CRUNCH,
+ MOVE_THRASH,
+ MOVE_HYDRO_PUMP,
+ MOVE_ANCIENT_POWER,
+ MOVE_ROCK_SLIDE,
+ MOVE_MUD_SPORT,
+ MOVE_WATER_SPORT,
+ MOVE_DRAGON_CLAW),
+
+ egg_moves(SENTRET,
+ MOVE_DOUBLE_EDGE,
+ MOVE_PURSUIT,
+ MOVE_SLASH,
+ MOVE_FOCUS_ENERGY,
+ MOVE_REVERSAL,
+ MOVE_SUBSTITUTE,
+ MOVE_TRICK,
+ MOVE_ASSIST),
+
+ egg_moves(HOOTHOOT,
+ MOVE_MIRROR_MOVE,
+ MOVE_SUPERSONIC,
+ MOVE_FAINT_ATTACK,
+ MOVE_WING_ATTACK,
+ MOVE_WHIRLWIND,
+ MOVE_SKY_ATTACK,
+ MOVE_FEATHER_DANCE),
+
+ egg_moves(LEDYBA,
+ MOVE_PSYBEAM,
+ MOVE_BIDE,
+ MOVE_SILVER_WIND),
+
+ egg_moves(SPINARAK,
+ MOVE_PSYBEAM,
+ MOVE_DISABLE,
+ MOVE_SONIC_BOOM,
+ MOVE_BATON_PASS,
+ MOVE_PURSUIT,
+ MOVE_SIGNAL_BEAM),
+
+ egg_moves(CHINCHOU,
+ MOVE_FLAIL,
+ MOVE_SCREECH,
+ MOVE_AMNESIA),
+
+ egg_moves(PICHU,
+ MOVE_REVERSAL,
+ MOVE_BIDE,
+ MOVE_PRESENT,
+ MOVE_ENCORE,
+ MOVE_DOUBLE_SLAP,
+ MOVE_WISH,
+ MOVE_CHARGE),
+
+ egg_moves(CLEFFA,
+ MOVE_PRESENT,
+ MOVE_METRONOME,
+ MOVE_AMNESIA,
+ MOVE_BELLY_DRUM,
+ MOVE_SPLASH,
+ MOVE_MIMIC,
+ MOVE_WISH,
+ MOVE_SUBSTITUTE),
+
+ egg_moves(IGGLYBUFF,
+ MOVE_PERISH_SONG,
+ MOVE_PRESENT,
+ MOVE_FAINT_ATTACK,
+ MOVE_WISH,
+ MOVE_FAKE_TEARS),
+
+ egg_moves(TOGEPI,
+ MOVE_PRESENT,
+ MOVE_MIRROR_MOVE,
+ MOVE_PECK,
+ MOVE_FORESIGHT,
+ MOVE_FUTURE_SIGHT,
+ MOVE_SUBSTITUTE,
+ MOVE_PSYCH_UP),
+
+ egg_moves(NATU,
+ MOVE_HAZE,
+ MOVE_DRILL_PECK,
+ MOVE_QUICK_ATTACK,
+ MOVE_FAINT_ATTACK,
+ MOVE_STEEL_WING,
+ MOVE_PSYCH_UP,
+ MOVE_FEATHER_DANCE,
+ MOVE_REFRESH),
+
+ egg_moves(MAREEP,
+ MOVE_TAKE_DOWN,
+ MOVE_BODY_SLAM,
+ MOVE_SAFEGUARD,
+ MOVE_SCREECH,
+ MOVE_REFLECT,
+ MOVE_ODOR_SLEUTH,
+ MOVE_CHARGE),
+
+ egg_moves(MARILL,
+ MOVE_LIGHT_SCREEN,
+ MOVE_PRESENT,
+ MOVE_AMNESIA,
+ MOVE_FUTURE_SIGHT,
+ MOVE_BELLY_DRUM,
+ MOVE_PERISH_SONG,
+ MOVE_SUPERSONIC,
+ MOVE_SUBSTITUTE),
+
+ egg_moves(SUDOWOODO,
+ MOVE_SELF_DESTRUCT),
+
+ egg_moves(HOPPIP,
+ MOVE_CONFUSION,
+ MOVE_ENCORE,
+ MOVE_DOUBLE_EDGE,
+ MOVE_REFLECT,
+ MOVE_AMNESIA,
+ MOVE_HELPING_HAND,
+ MOVE_PSYCH_UP),
+
+ egg_moves(AIPOM,
+ MOVE_COUNTER,
+ MOVE_SCREECH,
+ MOVE_PURSUIT,
+ MOVE_AGILITY,
+ MOVE_SPITE,
+ MOVE_SLAM,
+ MOVE_DOUBLE_SLAP,
+ MOVE_BEAT_UP),
+
+ egg_moves(SUNKERN,
+ MOVE_GRASS_WHISTLE,
+ MOVE_ENCORE,
+ MOVE_LEECH_SEED,
+ MOVE_NATURE_POWER,
+ MOVE_CURSE,
+ MOVE_HELPING_HAND),
+
+ egg_moves(YANMA,
+ MOVE_WHIRLWIND,
+ MOVE_REVERSAL,
+ MOVE_LEECH_LIFE,
+ MOVE_SIGNAL_BEAM,
+ MOVE_SILVER_WIND),
+
+ egg_moves(WOOPER,
+ MOVE_BODY_SLAM,
+ MOVE_ANCIENT_POWER,
+ MOVE_SAFEGUARD,
+ MOVE_CURSE,
+ MOVE_MUD_SPORT,
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP),
+
+ egg_moves(MURKROW,
+ MOVE_WHIRLWIND,
+ MOVE_DRILL_PECK,
+ MOVE_MIRROR_MOVE,
+ MOVE_WING_ATTACK,
+ MOVE_SKY_ATTACK,
+ MOVE_CONFUSE_RAY,
+ MOVE_FEATHER_DANCE,
+ MOVE_PERISH_SONG),
+
+ egg_moves(MISDREAVUS,
+ MOVE_SCREECH,
+ MOVE_DESTINY_BOND,
+ MOVE_PSYCH_UP,
+ MOVE_IMPRISON),
+
+ egg_moves(GIRAFARIG,
+ MOVE_TAKE_DOWN,
+ MOVE_AMNESIA,
+ MOVE_FORESIGHT,
+ MOVE_FUTURE_SIGHT,
+ MOVE_BEAT_UP,
+ MOVE_PSYCH_UP,
+ MOVE_WISH,
+ MOVE_MAGIC_COAT),
+
+ egg_moves(PINECO,
+ MOVE_REFLECT,
+ MOVE_PIN_MISSILE,
+ MOVE_FLAIL,
+ MOVE_SWIFT,
+ MOVE_COUNTER,
+ MOVE_SAND_TOMB),
+
+ egg_moves(DUNSPARCE,
+ MOVE_BIDE,
+ MOVE_ANCIENT_POWER,
+ MOVE_ROCK_SLIDE,
+ MOVE_BITE,
+ MOVE_HEADBUTT,
+ MOVE_ASTONISH,
+ MOVE_CURSE),
+
+ egg_moves(GLIGAR,
+ MOVE_METAL_CLAW,
+ MOVE_WING_ATTACK,
+ MOVE_RAZOR_WIND,
+ MOVE_COUNTER,
+ MOVE_SAND_TOMB),
+
+ egg_moves(SNUBBULL,
+ MOVE_METRONOME,
+ MOVE_FAINT_ATTACK,
+ MOVE_REFLECT,
+ MOVE_PRESENT,
+ MOVE_CRUNCH,
+ MOVE_HEAL_BELL,
+ MOVE_SNORE,
+ MOVE_SMELLING_SALT),
+
+ egg_moves(QWILFISH,
+ MOVE_FLAIL,
+ MOVE_HAZE,
+ MOVE_BUBBLE_BEAM,
+ MOVE_SUPERSONIC,
+ MOVE_ASTONISH),
+
+ egg_moves(SHUCKLE,
+ MOVE_SWEET_SCENT),
+
+ egg_moves(HERACROSS,
+ MOVE_HARDEN,
+ MOVE_BIDE,
+ MOVE_FLAIL,
+ MOVE_FALSE_SWIPE),
+
+ egg_moves(SNEASEL,
+ MOVE_COUNTER,
+ MOVE_SPITE,
+ MOVE_FORESIGHT,
+ MOVE_REFLECT,
+ MOVE_BITE,
+ MOVE_CRUSH_CLAW,
+ MOVE_FAKE_OUT),
+
+ egg_moves(TEDDIURSA,
+ MOVE_CRUNCH,
+ MOVE_TAKE_DOWN,
+ MOVE_SEISMIC_TOSS,
+ MOVE_COUNTER,
+ MOVE_METAL_CLAW,
+ MOVE_FAKE_TEARS,
+ MOVE_YAWN,
+ MOVE_SLEEP_TALK),
+
+ egg_moves(SLUGMA,
+ MOVE_ACID_ARMOR,
+ MOVE_HEAT_WAVE),
+
+ egg_moves(SWINUB,
+ MOVE_TAKE_DOWN,
+ MOVE_BITE,
+ MOVE_BODY_SLAM,
+ MOVE_ROCK_SLIDE,
+ MOVE_ANCIENT_POWER,
+ MOVE_MUD_SHOT,
+ MOVE_ICICLE_SPEAR,
+ MOVE_DOUBLE_EDGE),
+
+ egg_moves(CORSOLA,
+ MOVE_ROCK_SLIDE,
+ MOVE_SCREECH,
+ MOVE_MIST,
+ MOVE_AMNESIA,
+ MOVE_BARRIER,
+ MOVE_INGRAIN,
+ MOVE_CONFUSE_RAY,
+ MOVE_ICICLE_SPEAR),
+
+ egg_moves(REMORAID,
+ MOVE_AURORA_BEAM,
+ MOVE_OCTAZOOKA,
+ MOVE_SUPERSONIC,
+ MOVE_HAZE,
+ MOVE_SCREECH,
+ MOVE_THUNDER_WAVE,
+ MOVE_ROCK_BLAST),
+
+ egg_moves(DELIBIRD,
+ MOVE_AURORA_BEAM,
+ MOVE_QUICK_ATTACK,
+ MOVE_FUTURE_SIGHT,
+ MOVE_SPLASH,
+ MOVE_RAPID_SPIN,
+ MOVE_ICE_BALL),
+
+ egg_moves(MANTINE,
+ MOVE_TWISTER,
+ MOVE_HYDRO_PUMP,
+ MOVE_HAZE,
+ MOVE_SLAM,
+ MOVE_MUD_SPORT,
+ MOVE_ROCK_SLIDE),
+
+ egg_moves(SKARMORY,
+ MOVE_DRILL_PECK,
+ MOVE_PURSUIT,
+ MOVE_WHIRLWIND,
+ MOVE_SKY_ATTACK,
+ MOVE_CURSE),
+
+ egg_moves(HOUNDOUR,
+ MOVE_FIRE_SPIN,
+ MOVE_RAGE,
+ MOVE_PURSUIT,
+ MOVE_COUNTER,
+ MOVE_SPITE,
+ MOVE_REVERSAL,
+ MOVE_BEAT_UP,
+ MOVE_WILL_O_WISP),
+
+ egg_moves(PHANPY,
+ MOVE_FOCUS_ENERGY,
+ MOVE_BODY_SLAM,
+ MOVE_ANCIENT_POWER,
+ MOVE_SNORE,
+ MOVE_COUNTER,
+ MOVE_FISSURE),
+
+ egg_moves(STANTLER,
+ MOVE_SPITE,
+ MOVE_DISABLE,
+ MOVE_BITE,
+ MOVE_SWAGGER,
+ MOVE_PSYCH_UP,
+ MOVE_EXTRASENSORY),
+
+ egg_moves(TYROGUE,
+ MOVE_RAPID_SPIN,
+ MOVE_HI_JUMP_KICK,
+ MOVE_MACH_PUNCH,
+ MOVE_MIND_READER,
+ MOVE_HELPING_HAND),
+
+ egg_moves(SMOOCHUM,
+ MOVE_MEDITATE,
+ MOVE_PSYCH_UP,
+ MOVE_FAKE_OUT,
+ MOVE_WISH,
+ MOVE_ICE_PUNCH),
+
+ egg_moves(ELEKID,
+ MOVE_KARATE_CHOP,
+ MOVE_BARRIER,
+ MOVE_ROLLING_KICK,
+ MOVE_MEDITATE,
+ MOVE_CROSS_CHOP,
+ MOVE_FIRE_PUNCH,
+ MOVE_ICE_PUNCH),
+
+ egg_moves(MAGBY,
+ MOVE_KARATE_CHOP,
+ MOVE_MEGA_PUNCH,
+ MOVE_BARRIER,
+ MOVE_SCREECH,
+ MOVE_CROSS_CHOP,
+ MOVE_THUNDER_PUNCH),
+
+ egg_moves(MILTANK,
+ MOVE_PRESENT,
+ MOVE_REVERSAL,
+ MOVE_SEISMIC_TOSS,
+ MOVE_ENDURE,
+ MOVE_PSYCH_UP,
+ MOVE_CURSE,
+ MOVE_HELPING_HAND,
+ MOVE_SLEEP_TALK),
+
+ egg_moves(LARVITAR,
+ MOVE_PURSUIT,
+ MOVE_STOMP,
+ MOVE_OUTRAGE,
+ MOVE_FOCUS_ENERGY,
+ MOVE_ANCIENT_POWER,
+ MOVE_DRAGON_DANCE,
+ MOVE_CURSE),
+
+ egg_moves(TREECKO,
+ MOVE_CRUNCH,
+ MOVE_MUD_SPORT,
+ MOVE_ENDEAVOR,
+ MOVE_LEECH_SEED,
+ MOVE_DRAGON_BREATH,
+ MOVE_CRUSH_CLAW),
+
+ egg_moves(TORCHIC,
+ MOVE_COUNTER,
+ MOVE_REVERSAL,
+ MOVE_ENDURE,
+ MOVE_SWAGGER,
+ MOVE_ROCK_SLIDE,
+ MOVE_SMELLING_SALT),
+
+ egg_moves(MUDKIP,
+ MOVE_REFRESH,
+ MOVE_UPROAR,
+ MOVE_CURSE,
+ MOVE_STOMP,
+ MOVE_ICE_BALL,
+ MOVE_MIRROR_COAT),
+
+ egg_moves(POOCHYENA,
+ MOVE_ASTONISH,
+ MOVE_POISON_FANG,
+ MOVE_COVET,
+ MOVE_LEER,
+ MOVE_YAWN),
+
+ egg_moves(ZIGZAGOON,
+ MOVE_CHARM,
+ MOVE_PURSUIT,
+ MOVE_SUBSTITUTE,
+ MOVE_TICKLE,
+ MOVE_TRICK),
+
+ egg_moves(LOTAD,
+ MOVE_SYNTHESIS,
+ MOVE_RAZOR_LEAF,
+ MOVE_SWEET_SCENT,
+ MOVE_LEECH_SEED,
+ MOVE_FLAIL,
+ MOVE_WATER_GUN),
+
+ egg_moves(SEEDOT,
+ MOVE_LEECH_SEED,
+ MOVE_AMNESIA,
+ MOVE_QUICK_ATTACK,
+ MOVE_RAZOR_WIND,
+ MOVE_TAKE_DOWN,
+ MOVE_FALSE_SWIPE),
+
+ egg_moves(NINCADA,
+ MOVE_ENDURE,
+ MOVE_FAINT_ATTACK,
+ MOVE_GUST,
+ MOVE_SILVER_WIND),
+
+ egg_moves(TAILLOW,
+ MOVE_PURSUIT,
+ MOVE_SUPERSONIC,
+ MOVE_REFRESH,
+ MOVE_MIRROR_MOVE,
+ MOVE_RAGE,
+ MOVE_SKY_ATTACK),
+
+ egg_moves(SHROOMISH,
+ MOVE_FAKE_TEARS,
+ MOVE_SWAGGER,
+ MOVE_CHARM,
+ MOVE_FALSE_SWIPE,
+ MOVE_HELPING_HAND),
+
+ egg_moves(SPINDA,
+ MOVE_ENCORE,
+ MOVE_ROCK_SLIDE,
+ MOVE_ASSIST,
+ MOVE_DISABLE,
+ MOVE_BATON_PASS,
+ MOVE_WISH,
+ MOVE_TRICK,
+ MOVE_SMELLING_SALT),
+
+ egg_moves(WINGULL,
+ MOVE_MIST,
+ MOVE_TWISTER,
+ MOVE_AGILITY,
+ MOVE_GUST,
+ MOVE_WATER_SPORT),
+
+ egg_moves(SURSKIT,
+ MOVE_FORESIGHT,
+ MOVE_MUD_SHOT,
+ MOVE_PSYBEAM,
+ MOVE_HYDRO_PUMP,
+ MOVE_MIND_READER),
+
+ egg_moves(WAILMER,
+ MOVE_DOUBLE_EDGE,
+ MOVE_THRASH,
+ MOVE_SWAGGER,
+ MOVE_SNORE,
+ MOVE_SLEEP_TALK,
+ MOVE_CURSE,
+ MOVE_FISSURE,
+ MOVE_TICKLE),
+
+ egg_moves(SKITTY,
+ MOVE_HELPING_HAND,
+ MOVE_PSYCH_UP,
+ MOVE_UPROAR,
+ MOVE_FAKE_TEARS,
+ MOVE_WISH,
+ MOVE_BATON_PASS,
+ MOVE_SUBSTITUTE,
+ MOVE_TICKLE),
+
+ egg_moves(KECLEON,
+ MOVE_DISABLE,
+ MOVE_MAGIC_COAT,
+ MOVE_TRICK),
+
+ egg_moves(NOSEPASS,
+ MOVE_MAGNITUDE,
+ MOVE_ROLLOUT,
+ MOVE_EXPLOSION),
+
+ egg_moves(TORKOAL,
+ MOVE_ERUPTION,
+ MOVE_ENDURE,
+ MOVE_SLEEP_TALK,
+ MOVE_YAWN),
+
+ egg_moves(SABLEYE,
+ MOVE_PSYCH_UP,
+ MOVE_RECOVER,
+ MOVE_MOONLIGHT),
+
+ egg_moves(BARBOACH,
+ MOVE_THRASH,
+ MOVE_WHIRLPOOL,
+ MOVE_SPARK),
+
+ egg_moves(LUVDISC,
+ MOVE_SPLASH,
+ MOVE_SUPERSONIC,
+ MOVE_WATER_SPORT,
+ MOVE_MUD_SPORT),
+
+ egg_moves(CORPHISH,
+ MOVE_MUD_SPORT,
+ MOVE_ENDEAVOR,
+ MOVE_BODY_SLAM,
+ MOVE_ANCIENT_POWER),
+
+ egg_moves(FEEBAS,
+ MOVE_MIRROR_COAT,
+ MOVE_DRAGON_BREATH,
+ MOVE_MUD_SPORT,
+ MOVE_HYPNOSIS,
+ MOVE_LIGHT_SCREEN,
+ MOVE_CONFUSE_RAY),
+
+ egg_moves(CARVANHA,
+ MOVE_HYDRO_PUMP,
+ MOVE_DOUBLE_EDGE,
+ MOVE_THRASH),
+
+ egg_moves(TRAPINCH,
+ MOVE_FOCUS_ENERGY,
+ MOVE_QUICK_ATTACK,
+ MOVE_GUST),
+
+ egg_moves(MAKUHITA,
+ MOVE_FAINT_ATTACK,
+ MOVE_DETECT,
+ MOVE_FORESIGHT,
+ MOVE_HELPING_HAND,
+ MOVE_CROSS_CHOP,
+ MOVE_REVENGE,
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_COUNTER),
+
+ egg_moves(ELECTRIKE,
+ MOVE_CRUNCH,
+ MOVE_HEADBUTT,
+ MOVE_UPROAR,
+ MOVE_CURSE,
+ MOVE_SWIFT),
+
+ egg_moves(NUMEL,
+ MOVE_HOWL,
+ MOVE_SCARY_FACE,
+ MOVE_BODY_SLAM,
+ MOVE_ROLLOUT,
+ MOVE_DEFENSE_CURL,
+ MOVE_STOMP),
+
+ egg_moves(SPHEAL,
+ MOVE_WATER_SPORT,
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP,
+ MOVE_YAWN,
+ MOVE_ROCK_SLIDE,
+ MOVE_CURSE,
+ MOVE_FISSURE),
+
+ egg_moves(CACNEA,
+ MOVE_GRASS_WHISTLE,
+ MOVE_ACID,
+ MOVE_TEETER_DANCE,
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_COUNTER),
+
+ egg_moves(SNORUNT,
+ MOVE_BLOCK,
+ MOVE_SPIKES),
+
+ egg_moves(AZURILL,
+ MOVE_ENCORE,
+ MOVE_SING,
+ MOVE_REFRESH,
+ MOVE_SLAM,
+ MOVE_TICKLE),
+
+ egg_moves(SPOINK,
+ MOVE_FUTURE_SIGHT,
+ MOVE_EXTRASENSORY,
+ MOVE_SUBSTITUTE,
+ MOVE_TRICK),
+
+ egg_moves(PLUSLE,
+ MOVE_SUBSTITUTE,
+ MOVE_WISH),
+
+ egg_moves(MINUN,
+ MOVE_SUBSTITUTE,
+ MOVE_WISH),
+
+ egg_moves(MAWILE,
+ MOVE_SWORDS_DANCE,
+ MOVE_FALSE_SWIPE,
+ MOVE_POISON_FANG,
+ MOVE_PSYCH_UP,
+ MOVE_ANCIENT_POWER,
+ MOVE_TICKLE),
+
+ egg_moves(MEDITITE,
+ MOVE_FIRE_PUNCH,
+ MOVE_THUNDER_PUNCH,
+ MOVE_ICE_PUNCH,
+ MOVE_FORESIGHT,
+ MOVE_FAKE_OUT,
+ MOVE_BATON_PASS,
+ MOVE_DYNAMIC_PUNCH),
+
+ egg_moves(SWABLU,
+ MOVE_AGILITY,
+ MOVE_HAZE,
+ MOVE_PURSUIT,
+ MOVE_RAGE),
+
+ egg_moves(DUSKULL,
+ MOVE_IMPRISON,
+ MOVE_DESTINY_BOND,
+ MOVE_PAIN_SPLIT,
+ MOVE_GRUDGE,
+ MOVE_MEMENTO,
+ MOVE_FAINT_ATTACK),
+
+ egg_moves(ROSELIA,
+ MOVE_SPIKES,
+ MOVE_SYNTHESIS,
+ MOVE_PIN_MISSILE,
+ MOVE_COTTON_SPORE),
+
+ egg_moves(SLAKOTH,
+ MOVE_PURSUIT,
+ MOVE_SLASH,
+ MOVE_BODY_SLAM,
+ MOVE_SNORE,
+ MOVE_CRUSH_CLAW,
+ MOVE_CURSE,
+ MOVE_SLEEP_TALK),
+
+ egg_moves(GULPIN,
+ MOVE_DREAM_EATER,
+ MOVE_ACID_ARMOR,
+ MOVE_SMOG,
+ MOVE_PAIN_SPLIT),
+
+ egg_moves(TROPIUS,
+ MOVE_HEADBUTT,
+ MOVE_SLAM,
+ MOVE_RAZOR_WIND,
+ MOVE_LEECH_SEED,
+ MOVE_NATURE_POWER),
+
+ egg_moves(WHISMUR,
+ MOVE_TAKE_DOWN,
+ MOVE_SNORE,
+ MOVE_SWAGGER,
+ MOVE_EXTRASENSORY,
+ MOVE_SMELLING_SALT),
+
+ egg_moves(CLAMPERL,
+ MOVE_REFRESH,
+ MOVE_MUD_SPORT,
+ MOVE_BODY_SLAM,
+ MOVE_SUPERSONIC,
+ MOVE_BARRIER,
+ MOVE_CONFUSE_RAY),
+
+ egg_moves(ABSOL,
+ MOVE_BATON_PASS,
+ MOVE_FAINT_ATTACK,
+ MOVE_DOUBLE_EDGE,
+ MOVE_MAGIC_COAT,
+ MOVE_CURSE,
+ MOVE_SUBSTITUTE),
+
+ egg_moves(SHUPPET,
+ MOVE_DISABLE,
+ MOVE_DESTINY_BOND,
+ MOVE_FORESIGHT,
+ MOVE_ASTONISH,
+ MOVE_IMPRISON),
+
+ egg_moves(SEVIPER,
+ MOVE_STOCKPILE,
+ MOVE_SWALLOW,
+ MOVE_SPIT_UP,
+ MOVE_BODY_SLAM),
+
+ egg_moves(ZANGOOSE,
+ MOVE_FLAIL,
+ MOVE_DOUBLE_KICK,
+ MOVE_RAZOR_WIND,
+ MOVE_COUNTER,
+ MOVE_ROAR,
+ MOVE_CURSE),
+
+ egg_moves(RELICANTH,
+ MOVE_MAGNITUDE,
+ MOVE_SKULL_BASH,
+ MOVE_WATER_SPORT,
+ MOVE_AMNESIA,
+ MOVE_SLEEP_TALK,
+ MOVE_ROCK_SLIDE),
+
+ egg_moves(ARON,
+ MOVE_ENDEAVOR,
+ MOVE_BODY_SLAM,
+ MOVE_STOMP,
+ MOVE_SMELLING_SALT),
+
+ egg_moves(CASTFORM,
+ MOVE_FUTURE_SIGHT,
+ MOVE_PSYCH_UP),
+
+ egg_moves(VOLBEAT,
+ MOVE_BATON_PASS,
+ MOVE_SILVER_WIND,
+ MOVE_TRICK),
+
+ egg_moves(ILLUMISE,
+ MOVE_BATON_PASS,
+ MOVE_SILVER_WIND,
+ MOVE_GROWTH),
+
+ egg_moves(LILEEP,
+ MOVE_BARRIER,
+ MOVE_RECOVER,
+ MOVE_MIRROR_COAT,
+ MOVE_ROCK_SLIDE),
+
+ egg_moves(ANORITH,
+ MOVE_RAPID_SPIN,
+ MOVE_KNOCK_OFF,
+ MOVE_SWORDS_DANCE,
+ MOVE_ROCK_SLIDE),
+
+ egg_moves(RALTS,
+ MOVE_DISABLE,
+ MOVE_WILL_O_WISP,
+ MOVE_MEAN_LOOK,
+ MOVE_MEMENTO,
+ MOVE_DESTINY_BOND),
+
+ egg_moves(BAGON,
+ MOVE_HYDRO_PUMP,
+ MOVE_THRASH,
+ MOVE_DRAGON_RAGE,
+ MOVE_TWISTER,
+ MOVE_DRAGON_DANCE),
+
+ egg_moves(CHIMECHO,
+ MOVE_DISABLE,
+ MOVE_CURSE,
+ MOVE_HYPNOSIS,
+ MOVE_DREAM_EATER),
+
+ 0xFFFF
+};
diff --git a/include/data/pokemon/evolution.h b/src/data/pokemon/evolution.h
index 51e993347..919416fee 100644
--- a/include/data/pokemon/evolution.h
+++ b/src/data/pokemon/evolution.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_EVOLUTION_H
diff --git a/include/data/pokemon/experience_tables.h b/src/data/pokemon/experience_tables.h
index 70c5e88ed..2fb416fe9 100644
--- a/include/data/pokemon/experience_tables.h
+++ b/src/data/pokemon/experience_tables.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_EXPERIENCE_TABLES_H
diff --git a/include/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h
index b07573933..cd06228dd 100644
--- a/include/data/pokemon/item_effects.h
+++ b/src/data/pokemon/item_effects.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_ITEM_EFFECTS_H
diff --git a/include/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h
index 753947d51..19761c996 100644
--- a/include/data/pokemon/level_up_learnset_pointers.h
+++ b/src/data/pokemon/level_up_learnset_pointers.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_LEVEL_UP_LEARNSET_POINTERS_H
diff --git a/include/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h
index 5b79f4bc0..bc1de82de 100644
--- a/include/data/pokemon/level_up_learnsets.h
+++ b/src/data/pokemon/level_up_learnsets.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_LEVEL_UP_LEARNSETS_H
diff --git a/include/data/pokemon/nature_stats.h b/src/data/pokemon/nature_stats.h
index 27bd98f9d..fcef2a0ac 100644
--- a/include/data/pokemon/nature_stats.h
+++ b/src/data/pokemon/nature_stats.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_NATURE_STATS_H
diff --git a/include/data/pokemon/spinda_spots.h b/src/data/pokemon/spinda_spots.h
index 234cdf00e..d045e0734 100644
--- a/include/data/pokemon/spinda_spots.h
+++ b/src/data/pokemon/spinda_spots.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_SPINDA_SPOTS_H
diff --git a/include/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h
index fa48f7f5c..02cd22d56 100644
--- a/include/data/pokemon/tmhm_learnsets.h
+++ b/src/data/pokemon/tmhm_learnsets.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_TMHM_LEARNSETS_H
diff --git a/include/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h
index 0aea322a0..c86e795c4 100644
--- a/include/data/pokemon/trainer_class_lookups.h
+++ b/src/data/pokemon/trainer_class_lookups.h
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/27/17.
+
//
#ifndef POKERUBY_TRAINER_CLASS_LOOKUPS_H
diff --git a/src/daycare.c b/src/daycare.c
deleted file mode 100644
index 7f688016a..000000000
--- a/src/daycare.c
+++ /dev/null
@@ -1,350 +0,0 @@
-#include "global.h"
-#include "daycare.h"
-#include "pokemon.h"
-#include "species.h"
-#include "items.h"
-#include "string_util.h"
-
-extern u8 gLastFieldPokeMenuOpened;
-
-u8 *GetMonNick(struct Pokemon *mon, u8 *dest)
-{
- s8 nickname[POKEMON_NAME_LENGTH * 2];
-
- GetMonData(mon, MON_DATA_NICKNAME, nickname);
- return StringCopy10(dest, nickname);
-}
-
-u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest)
-{
- s8 nickname[POKEMON_NAME_LENGTH * 2];
-
- GetBoxMonData(mon, MON_DATA_NICKNAME, nickname);
- return StringCopy10(dest, nickname);
-}
-
-u8 Daycare_CountPokemon(struct BoxPokemon *daycare_data)
-{
- u8 i, count;
- count = 0;
-
- for(i = 0;i <= 1;i++)
- if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) != 0)
- count++;
-
- return count;
-}
-
-void sub_8041324(struct BoxPokemon * box_pokemon, struct RecordMixing_UnknownStruct * void_pointer)
-{
- u8 i;
- u8 specCount;
- specCount = 0;
- for (i=0; i<2; i++)
- {
- if (GetBoxMonData(&box_pokemon[i], MON_DATA_SPECIES) != SPECIES_NONE)
- {
- specCount ++;
- if (GetBoxMonData(&box_pokemon[i], MON_DATA_HELD_ITEM) == ITEM_NONE)
- {
- void_pointer->unk74[i] = 0;
- } else
- {
- void_pointer->unk74[i] = 1;
- }
- } else
- {
- void_pointer->unk74[i] = 1;
- }
- }
- void_pointer->unk70 = specCount;
-}
-
-s8 Daycare_FindEmptySpot(struct BoxPokemon * daycare_data)
-{
- u8 i;
-
- for(i = 0;i <= 1;i++)
- if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) == 0)
- return i;
-
- return -1;
-}
-
-/*void Daycare_SendPokemon(struct Pokemon * mon, struct BoxPokemon * daycare_data){ // unfinished
- s8 empty_slot;
-
- empty_slot = Daycare_FindEmptySpot(daycare_data);
- if(MonHasMail(mon) != 0){ // if the mon holds a mail?
- u8 empty_slot_times_56 = empty_slot * 56;
- u8 * something2 = ((u8 *) (daycare_data + 2)) + empty_slot_times_56 + 36;
- StringCopy(something2, gSaveBlock2.playerName);
- PadNameString(something2, 0xFC);
- something2 += 8;
- GetMonNick(mon, something2);
- u8 pokerus = GetMonData(mon, MON_DATA_64);
- something1 += (u8 * daycare_data)
-}*/
-
-__attribute__((naked))
-void Daycare_SendPokemon()
-{
- // strange stack usage - happens because THUMB ARM only allows R0-R7 to be pushed/popped:
- // all registers in reglist must be Lo registers, except that PUSH can include the LR, and POP can include the PC
- // the ldm/stm section probably copies some struct, but I'm not sure how the code would look
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6,r7}\n\
- adds r7, r0, 0\n\
- mov r8, r1\n\
- mov r0, r8\n\
- bl Daycare_FindEmptySpot\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- mov r9, r4\n\
- adds r0, r7, 0\n\
- bl MonHasMail\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _0804144A\n\
- lsls r0, r4, 24\n\
- asrs r0, 24\n\
- lsls r4, r0, 3\n\
- subs r4, r0\n\
- lsls r4, 3\n\
- adds r5, r4, 0\n\
- adds r5, 0xA0\n\
- add r5, r8\n\
- adds r6, r5, 0\n\
- adds r6, 0x24\n\
- ldr r1, _08041490 @ =gSaveBlock2\n\
- adds r0, r6, 0\n\
- bl StringCopy\n\
- adds r0, r6, 0\n\
- movs r1, 0xFC\n\
- bl PadNameString\n\
- adds r6, 0x8\n\
- adds r0, r7, 0\n\
- adds r1, r6, 0\n\
- bl GetMonNick\n\
- adds r0, r7, 0\n\
- movs r1, 0x40\n\
- bl GetMonData\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- add r4, r8\n\
- ldr r2, _08041494 @ =gSaveBlock1\n\
- lsls r1, r0, 3\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r2\n\
- adds r4, 0xA0\n\
- ldr r0, _08041498 @ =0x00002b4c\n\
- adds r1, r0\n\
- ldm r1!, {r0,r2,r3}\n\
- stm r4!, {r0,r2,r3}\n\
- ldm r1!, {r0,r2,r3}\n\
- stm r4!, {r0,r2,r3}\n\
- ldm r1!, {r0,r2,r3}\n\
- stm r4!, {r0,r2,r3}\n\
- adds r0, r7, 0\n\
- bl TakeMailFromMon\n\
-_0804144A:\n\
- mov r2, r9\n\
- lsls r4, r2, 24\n\
- asrs r4, 24\n\
- lsls r5, r4, 2\n\
- adds r4, r5, r4\n\
- lsls r4, 4\n\
- add r4, r8\n\
- adds r0, r4, 0\n\
- adds r1, r7, 0\n\
- movs r2, 0x50\n\
- bl memcpy\n\
- adds r0, r4, 0\n\
- bl BoxMonRestorePP\n\
- movs r0, 0x88\n\
- lsls r0, 1\n\
- add r0, r8\n\
- adds r0, r5\n\
- movs r1, 0\n\
- str r1, [r0]\n\
- adds r0, r7, 0\n\
- bl ZeroMonData\n\
- bl party_compaction\n\
- bl CalculatePlayerPartyCount\n\
- pop {r3,r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_08041490: .4byte gSaveBlock2\n\
-_08041494: .4byte gSaveBlock1\n\
-_08041498: .4byte 0x00002b4c\n\
- .syntax divided\n");
-}
-
-void Daycare_SendPokemon_Special()
-{
- Daycare_SendPokemon(gPlayerParty + gLastFieldPokeMenuOpened, gSaveBlock1.daycareData);
-}
-
-void sub_80417F4(u8 *);
-
-void sub_80414C0(struct BoxPokemon * daycare_data)
-{
- u32 second_species;
- if((GetBoxMonData(&daycare_data[1], MON_DATA_SPECIES) != 0) && ((second_species = GetBoxMonData(&daycare_data[0], MON_DATA_SPECIES)) == 0)){
- daycare_data[0] = daycare_data[1];
- ZeroBoxMonData(&daycare_data[1]);
- memcpy(daycare_data + 2, (u8 *) (daycare_data + 1) + 0x88, 0x38);
- *((u32 *)(daycare_data) + 68) = *((u32 *)(daycare_data) + 69);
- *((u32 *)(daycare_data) + 69) = second_species;
- sub_80417F4((u8 *) (daycare_data + 1) + 0x88);
- }
-}
-
-u8 TryIncrementMonLevel(struct Pokemon *);
-extern u16 gMoveToLearn;
-
-void sub_804151C(struct Pokemon * mon)
-{
- s32 i;
- u8 r6;
- u16 temp;
-
- for(i = 0; i < 100; i++){
- if(TryIncrementMonLevel(mon) == FALSE) goto end;
-
- r6 = 1;
- while((temp = MonTryLearningNewMove(mon, r6)) != 0){
- r6 = 0;
- if(temp == 0xffff){
- DeleteFirstMoveAndGiveMoveToMon(mon, gMoveToLearn);
- }
- }
- }
-
- end:
-
- CalculateMonStats(mon);
-}
-
-__attribute__((naked))
-u16 sub_8041570(struct BoxPokemon * daycare_data, u8 a2){
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6,r7}\n\
- sub sp, 0x68\n\
- adds r5, r0, 0\n\
- lsls r1, 24\n\
- lsrs r4, r1, 24\n\
- lsls r7, r4, 2\n\
- adds r0, r7, r4\n\
- lsls r0, 4\n\
- adds r6, r5, r0\n\
- ldr r1, _08041640 @ =gStringVar1\n\
- adds r0, r6, 0\n\
- bl GetBoxMonNick\n\
- adds r0, r6, 0\n\
- movs r1, 0xB\n\
- bl GetBoxMonData\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- mov r9, r0\n\
- adds r0, r6, 0\n\
- mov r1, sp\n\
- bl sub_803B4B4\n\
- mov r0, sp\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- cmp r0, 0x64\n\
- beq _080415D8\n\
- mov r0, sp\n\
- movs r1, 0x19\n\
- bl GetMonData\n\
- movs r2, 0x88\n\
- lsls r2, 1\n\
- adds r1, r5, r2\n\
- adds r1, r7\n\
- ldr r1, [r1]\n\
- adds r0, r1\n\
- str r0, [sp, 0x64]\n\
- add r2, sp, 0x64\n\
- mov r0, sp\n\
- movs r1, 0x19\n\
- bl SetMonData\n\
- mov r0, sp\n\
- bl sub_804151C\n\
-_080415D8:\n\
- ldr r0, _08041644 @ =gPlayerParty\n\
- movs r1, 0xFA\n\
- lsls r1, 1\n\
- adds r1, r0\n\
- mov r8, r1\n\
- mov r0, r8\n\
- mov r1, sp\n\
- movs r2, 0x64\n\
- bl memcpy\n\
- lsls r0, r4, 3\n\
- subs r0, r4\n\
- lsls r1, r0, 3\n\
- adds r0, r5, r1\n\
- adds r0, 0xC0\n\
- ldrh r0, [r0]\n\
- cmp r0, 0\n\
- beq _08041610\n\
- adds r4, r1, 0\n\
- adds r4, 0xA0\n\
- adds r4, r5, r4\n\
- mov r0, r8\n\
- adds r1, r4, 0\n\
- bl GiveMailToMon2\n\
- adds r0, r4, 0\n\
- bl sub_80417F4\n\
-_08041610:\n\
- bl party_compaction\n\
- adds r0, r6, 0\n\
- bl ZeroBoxMonData\n\
- movs r2, 0x88\n\
- lsls r2, 1\n\
- adds r0, r5, r2\n\
- adds r0, r7\n\
- movs r1, 0\n\
- str r1, [r0]\n\
- adds r0, r5, 0\n\
- bl sub_80414C0\n\
- bl CalculatePlayerPartyCount\n\
- mov r0, r9\n\
- add sp, 0x68\n\
- pop {r3,r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_08041640: .4byte gStringVar1\n\
-_08041644: .4byte gPlayerParty\n\
- .syntax divided");
-}
-
-extern u8 gSpecialVar_0x8004;
-
-u16 sub_8041648()
-{
- return sub_8041570(gSaveBlock1.daycareData, gSpecialVar_0x8004);
-}
-
-u8 Daycare_GetLevelAfterSteps(struct BoxPokemon * mon, u32 steps){
- struct BoxPokemon temp = *mon;
- u32 new_exp = GetBoxMonData(mon, MON_DATA_EXP) + steps;
- SetBoxMonData(&temp, MON_DATA_EXP, (u8 *) &new_exp);
- return GetLevelFromBoxMonExp(&temp);
-}
diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c
index eebcc1437..8cf510d6f 100644
--- a/src/de_rom_8040FE0.c
+++ b/src/de_rom_8040FE0.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle.h"
+#include "battle_tower.h"
#if GERMAN
@@ -59,7 +60,6 @@ u8 *de_sub_804100C(u8 gender) {
u8 de_sub_81364AC(void);
u8 get_trainer_class_name_index(void);
u8 de_sub_81364F8(void);
-u8 sub_8135FD8(void);
u8 *de_sub_8041024(s32 arg0, u32 arg1) {
u8 nameIndex, trainerClass, gender;
@@ -94,7 +94,7 @@ u8 *de_sub_8041024(s32 arg0, u32 arg1) {
case 0x800:
trainerClass = de_sub_81364F8();
- nameIndex = sub_8135FD8();
+ nameIndex = GetEReaderTrainerClassNameIndex();
if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F)
{
return de_sub_8040FE0(FEMALE);
@@ -196,7 +196,7 @@ _08041086:\n\
bl de_sub_81364F8\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
- bl sub_8135FD8\n\
+ bl GetEReaderTrainerClassNameIndex\n\
b _08041070\n\
_08041094:\n\
movs r0, 0x1\n\
diff --git a/src/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c
index c7d81f502..d0c0f95f7 100644
--- a/src/matsuda_debug_menu.c
+++ b/src/debug/matsuda_debug_menu.c
@@ -516,10 +516,10 @@ void SetDebugMonForContest(void)
SetMonData(&gPlayerParty[0], MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart);
SetMonData(&gPlayerParty[0], MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough);
SetMonData(&gPlayerParty[0], MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[0]);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[1]);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[2]);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &gContestMons[gContestPlayerMonIndex].moves[0]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &gContestMons[gContestPlayerMonIndex].moves[1]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &gContestMons[gContestPlayerMonIndex].moves[2]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &gContestMons[gContestPlayerMonIndex].moves[3]);
}
void sub_80AA754(struct Sprite *sprite)
diff --git a/src/mori_debug_menu.c b/src/debug/mori_debug_menu.c
index 4eadaa78b..1595ecd2e 100644
--- a/src/mori_debug_menu.c
+++ b/src/debug/mori_debug_menu.c
@@ -52,7 +52,7 @@ u8 MoriDebugMenu_SearchChild(u8 a1, u8 a2, u8 *ptr)
u16 monData;
u16 var;
- monData = GetMonData(gPlayerParty, 11, ptr);
+ monData = GetMonData(gPlayerParty, MON_DATA_SPECIES, ptr);
var = sub_8041870(monData);
StringCopy(localPtr, gSpeciesNames[monData]);
StringAppend(localPtr, gUnknown_0839B24D);
@@ -67,7 +67,7 @@ u8 MoriDebugMenu_SearchChild(u8 a1, u8 a2, u8 *ptr)
s8 MoriDebugMenu_Egg(void)
{
- if ( Daycare_CountPokemon(gSaveBlock1.daycareData) == 2 && daycare_relationship_score_from_savegame() )
+ if ( Daycare_CountPokemon(&gSaveBlock1.daycareData) == 2 && daycare_relationship_score_from_savegame() )
sub_8041940();
CloseMenu();
@@ -76,7 +76,7 @@ s8 MoriDebugMenu_Egg(void)
s8 MoriDebugMenu_MaleEgg(void)
{
- if ( Daycare_CountPokemon(gSaveBlock1.daycareData) == 2 && daycare_relationship_score_from_savegame() )
+ if ( Daycare_CountPokemon(&gSaveBlock1.daycareData) == 2 && daycare_relationship_score_from_savegame() )
sub_8041950();
CloseMenu();
@@ -117,7 +117,7 @@ s8 MoriDebugMenu_BreedEgg(void)
SetMonData(&gPlayerParty[loopCounter], MON_DATA_FRIENDSHIP, &friendship);
}
}
- gSaveBlock1.filler_30B6 = -3;
+ gSaveBlock1.daycareData.misc.countersEtc.unk_11a = -3;
CloseMenu();
return 1;
}
diff --git a/src/debug/sound_check_menu.c b/src/debug/sound_check_menu.c
new file mode 100644
index 000000000..14261b75e
--- /dev/null
+++ b/src/debug/sound_check_menu.c
@@ -0,0 +1,1300 @@
+#include "global.h"
+#include "sprite.h"
+#include "palette.h"
+#include "task.h"
+#include "m4a.h"
+#include "main.h"
+#include "text.h"
+#include "menu.h"
+#include "songs.h"
+#include "title_screen.h"
+#include "sound.h"
+#include "pokedex_cry_screen.h"
+
+// local task defines
+#define tWindowSelected data[0]
+#define tBgmIndex data[1]
+#define tSeIndex data[2]
+
+// window selections
+enum
+{
+ BGM_WINDOW,
+ SE_WINDOW
+};
+
+// driver test cry enums
+enum
+{
+ CRY_TEST_VOICE,
+ CRY_TEST_VOLUME,
+ CRY_TEST_PANPOT,
+ CRY_TEST_PITCH,
+ CRY_TEST_LENGTH,
+ CRY_TEST_RELEASE,
+ CRY_TEST_PROGRESS,
+ CRY_TEST_CHORUS,
+ CRY_TEST_PRIORITY
+};
+
+// minmax range enums
+enum
+{
+ MIN,
+ MAX
+};
+
+extern struct ToneData voicegroup_84537C0[];
+extern struct ToneData voicegroup_8452590[];
+extern struct ToneData voicegroup_8453DC0[];
+extern struct ToneData voicegroup_8452B90[];
+extern struct ToneData voicegroup_84543C0[];
+extern struct ToneData voicegroup_8453190[];
+extern struct ToneData voicegroup_84549C0[];
+extern struct ToneData voicegroup_8453790[];
+
+static EWRAM_DATA u8 gUnknown_020387B0 = 0;
+static EWRAM_DATA u8 gUnknown_020387B1 = 0;
+static EWRAM_DATA u8 gUnknown_020387B2 = 0;
+static EWRAM_DATA s8 sDriverTestSelection = 0;
+static EWRAM_DATA int sSoundTestParams[9] = {0};
+static EWRAM_DATA u8 gUnknown_020387D8 = 0;
+static EWRAM_DATA u8 gUnknown_020387D9 = 0;
+
+u16 gSoundTestCryNum;
+extern u8 gUnknown_03005E98;
+
+struct MusicPlayerInfo *gUnknown_03005D30;
+
+extern struct MusicPlayerInfo gMPlay_BGM;
+
+void Task_InitSoundCheckMenu(u8);
+void sub_80BA384(u8);
+void sub_80BA65C(u8);
+void sub_80BA68C(u8);
+void HighlightSelectedWindow(u8);
+void PrintSoundNumber(u16, u16, u16);
+void sub_80BA79C(const u8 *const, u16, u16);
+void Task_DrawDriverTestMenu(u8);
+void Task_ProcessDriverTestInput(u8);
+void AdjustSelectedDriverParam(s8);
+void PrintDriverTestMenuText(void);
+void sub_80BAE10(u8, u8);
+void PrintSignedNumber(int, u16, u16, u8);
+void sub_80BAF84(u8);
+void sub_80BB038(u8);
+void sub_80BB1D4(void);
+void Task_InitCryTest(u8);
+void Task_ProcessCryTestInput(u8);
+void PrintCryNumber(void);
+
+void CB2_SoundCheckMenu(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+void VBlankCB_SoundCheckMenu(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+
+ if (gUnknown_020387B0 != 0)
+ {
+ m4aSoundMain();
+ m4aSoundMain();
+ m4aSoundMain();
+ }
+}
+
+// unused
+void CB2_StartSoundCheckMenu(void)
+{
+ u8 taskId;
+
+ SetVBlankCallback(NULL);
+ REG_DISPCNT = 0;
+ REG_BG2CNT = 0;
+ REG_BG1CNT = 0;
+ REG_BG0CNT = 0;
+ REG_BG2HOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ DmaFill16(3, 0, VRAM, VRAM_SIZE);
+ DmaFill32(3, 0, OAM, OAM_SIZE);
+ DmaFill16(3, 0, PLTT, PLTT_SIZE);
+ ResetPaletteFade();
+ ResetTasks();
+ ResetSpriteData();
+ SetUpWindowConfig(&gWindowConfig_81E6C3C);
+ InitMenuWindow(&gWindowConfig_81E6CE4);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ REG_WIN0H = WIN_RANGE(0, 0);
+ REG_WIN0V = WIN_RANGE(0, 0);
+ REG_WIN1H = WIN_RANGE(0, 0);
+ REG_WIN1V = WIN_RANGE(0, 0);
+ REG_WININ = 0x1111;
+ REG_WINOUT = 0x31;
+ REG_BLDCNT = 0xE1;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 7;
+ REG_IE = 1; // could be a typo of REG_IME
+ REG_IE |= 1;
+ REG_DISPSTAT |= 8;
+ SetVBlankCallback(VBlankCB_SoundCheckMenu);
+ SetMainCallback2(CB2_SoundCheckMenu);
+ REG_DISPCNT = 0x7140;
+ taskId = CreateTask(Task_InitSoundCheckMenu, 0);
+ gTasks[taskId].tWindowSelected = BGM_WINDOW;
+ gTasks[taskId].tBgmIndex = 0;
+ gTasks[taskId].tSeIndex = 0;
+ gTasks[taskId].data[3] = 0;
+ gUnknown_020387B0 = 0;
+ gTasks[taskId].data[3] = 0; // why?
+ m4aSoundInit();
+}
+
+void Task_InitSoundCheckMenu(u8 taskId)
+{
+ u8 soundcheckStr[] = _("サウンドチェック");
+ u8 bgmStr[] = _("BGM");
+ u8 seStr[] = _("SE ");
+ u8 abDescStr[] = _("A‥さいせい B‥おわり");
+ u8 upDownStr[] = _("L‥UP R‥DOWN");
+ u8 driverStr[] = _("R‥DRIVER-TEST");
+
+ if (!gPaletteFade.active)
+ {
+ MenuDrawTextWindow(2, 0, 27, 3);
+ MenuDrawTextWindow(2, 5, 27, 10);
+ MenuDrawTextWindow(2, 12, 27, 17);
+ MenuPrint(soundcheckStr, 4, 1);
+ MenuPrint(abDescStr, 14, 1);
+ MenuPrint(bgmStr, 4, 6);
+ MenuPrint(upDownStr, 14, 6);
+ MenuPrint(seStr, 4, 13);
+ MenuPrint(upDownStr, 14, 13);
+ MenuPrint(driverStr, 14, 18);
+ gTasks[taskId].func = sub_80BA384;
+ REG_WIN0H = WIN_RANGE(17, 223);
+ REG_WIN0V = WIN_RANGE(1, 31);
+ }
+}
+
+// ideally this should be a multi Coords8 struct, but it wont match when its treated like a struct.
+static const u8 gUnknown_083D0300[] = { 1, 1, 1, 3, 1, 5, 1, 7, 1, 9, 1, 11, 1, 13, 1, 15, 1, 17 };
+
+extern const u8 *const gBGMNames[];
+extern const u8 *const gSENames[];
+
+void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText
+{
+ HighlightSelectedWindow(gTasks[taskId].tWindowSelected);
+ PrintSoundNumber(gTasks[taskId].tBgmIndex + BGM_STOP, 7, 8); // print by BGM index
+ sub_80BA79C(gBGMNames[gTasks[taskId].tBgmIndex], 11, 8);
+ PrintSoundNumber(gTasks[taskId].tSeIndex, 7, 15);
+ sub_80BA79C(gSENames[gTasks[taskId].tSeIndex], 11, 15);
+ gTasks[taskId].func = sub_80BA65C;
+}
+
+bool8 Task_ProcessSoundCheckMenuInput(u8 taskId)
+{
+ if (gMain.newKeys & R_BUTTON) // driver test
+ {
+ gTasks[taskId].func = Task_DrawDriverTestMenu;
+ }
+ else if (gMain.newKeys & L_BUTTON)
+ {
+ gTasks[taskId].func = sub_80BAF84;
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ gTasks[taskId].func = Task_InitCryTest;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ if (gTasks[taskId].tWindowSelected != 0) // is playing?
+ {
+ if (gTasks[taskId].data[4] != 0)
+ {
+ if (gTasks[taskId].tSeIndex != 0)
+ {
+ m4aSongNumStop(gTasks[taskId].data[4]);
+ m4aSongNumStart(gTasks[taskId].tSeIndex);
+ gTasks[taskId].data[4] = gTasks[taskId].tSeIndex;
+ }
+ else
+ {
+ m4aSongNumStop(gTasks[taskId].data[4]);
+ gTasks[taskId].data[4] = 0;
+ }
+ }
+ else if (gTasks[taskId].tSeIndex != 0)
+ {
+ m4aSongNumStart(gTasks[taskId].tSeIndex);
+ gTasks[taskId].data[4] = gTasks[taskId].tSeIndex;
+ }
+ }
+ else
+ {
+ if (gTasks[taskId].data[3] != 0)
+ {
+ if (gTasks[taskId].tBgmIndex != 0)
+ {
+ m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP);
+ m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP);
+ gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex;
+ }
+ else
+ {
+ m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP);
+ gTasks[taskId].data[3] = 0;
+ }
+ }
+ else if (gTasks[taskId].tBgmIndex != 0)
+ {
+ m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP);
+ gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex;
+ }
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ m4aSongNumStart(SE_SELECT);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gTasks[taskId].func = sub_80BA68C;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ gTasks[taskId].tWindowSelected ^= 1;
+ return TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ gTasks[taskId].tWindowSelected ^= 1;
+ return TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ if (gTasks[taskId].tWindowSelected != 0)
+ {
+ if (gTasks[taskId].tSeIndex > 0)
+ gTasks[taskId].tSeIndex--;
+ else
+ gTasks[taskId].tSeIndex = 247;
+ }
+ else
+ {
+ if (gTasks[taskId].tBgmIndex > 0)
+ gTasks[taskId].tBgmIndex--;
+ else
+ gTasks[taskId].tBgmIndex = 117;
+ }
+ return TRUE;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ if (gTasks[taskId].tWindowSelected != 0)
+ {
+ if (gTasks[taskId].tSeIndex < 247)
+ gTasks[taskId].tSeIndex++;
+ else
+ gTasks[taskId].tSeIndex = 0;
+ }
+ else
+ {
+ if (gTasks[taskId].tBgmIndex < 117)
+ gTasks[taskId].tBgmIndex++;
+ else
+ gTasks[taskId].tBgmIndex = 0;
+ }
+ return TRUE;
+ }
+ else if (gMain.heldKeys & SELECT_BUTTON)
+ {
+ gUnknown_020387B0 = 1;
+ }
+ else
+ {
+ gUnknown_020387B0 = 0;
+ }
+ return FALSE;
+}
+
+void sub_80BA65C(u8 taskId)
+{
+ if (Task_ProcessSoundCheckMenuInput(taskId) != FALSE)
+ gTasks[taskId].func = sub_80BA384;
+}
+
+void sub_80BA68C(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ DestroyTask(taskId);
+ SetMainCallback2(CB2_InitTitleScreen);
+ }
+}
+
+void HighlightSelectedWindow(u8 windowType)
+{
+ switch (windowType)
+ {
+ case BGM_WINDOW:
+ default:
+ REG_WIN1H = WIN_RANGE(17, 223);
+ REG_WIN1V = WIN_RANGE(41, 87);
+ break;
+ case SE_WINDOW:
+ REG_WIN1H = WIN_RANGE(17, 223);
+ REG_WIN1V = WIN_RANGE(97, 143);
+ break;
+ }
+}
+
+void PrintSoundNumber(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ?
+{
+ u8 i;
+ u8 str[5];
+ bool8 someBool;
+ u8 divisorValue;
+
+ for (i = 0; i < 3; i++)
+ str[i] = 0; // initialize array
+
+ str[3] = CHAR_ELLIPSIS;
+ str[4] = EOS;
+ someBool = FALSE;
+
+ divisorValue = soundIndex / 100;
+ if (divisorValue)
+ {
+ str[0] = divisorValue + CHAR_0;
+ someBool = TRUE;
+ }
+
+ divisorValue = (soundIndex % 100) / 10;
+ if (divisorValue || someBool)
+ str[1] = divisorValue + CHAR_0;
+
+ str[2] = ((soundIndex % 100) % 10) + CHAR_0;
+ MenuPrint(str, x, y);
+}
+
+void sub_80BA79C(const u8 *const string, u16 x, u16 y)
+{
+ u8 i;
+ u8 str[11];
+
+ for (i = 0; i <= 10; i++)
+ str[i] = 0; // format string.
+
+ str[10] = EOS; // the above for loop formats the last element of the array unnecessarily.
+
+ for (i = 0; string[i] != EOS && i < 10; i++)
+ str[i] = string[i];
+
+ MenuPrint(str, x, y);
+}
+
+void Task_DrawDriverTestMenu(u8 taskId) // Task_DrawDriverTestMenu
+{
+ u8 bbackStr[] = _("Bぼたんで もどる");
+ u8 aplayStr[] = _("Aぼたんで さいせい");
+ u8 voiceStr[] = _("VOICE‥‥‥‥");
+ u8 volumeStr[] = _("VOLUME‥‥‥");
+ u8 panpotStr[] = _("PANPOT‥‥‥");
+ u8 pitchStr[] = _("PITCH‥‥‥‥");
+ u8 lengthStr[] = _("LENGTH‥‥‥");
+ u8 releaseStr[] = _("RELEASE‥‥");
+ u8 progressStr[] = _("PROGRESS‥");
+ u8 chorusStr[] = _("CHORUS‥‥‥");
+ u8 priorityStr[] = _("PRIORITY‥");
+ u8 playingStr[] = _("さいせいちゆう‥"); // 再生中 (playing)
+ u8 reverseStr[] = _("はんてん‥‥‥‥"); // 反転 (reverse)
+ u8 stereoStr[] = _("すてれお‥‥‥‥"); // stereo
+
+ REG_DISPCNT = 0x3140;
+ MenuDrawTextWindow(0, 0, 29, 19);
+ MenuPrint(bbackStr, 19, 4);
+ MenuPrint(aplayStr, 19, 2);
+ MenuPrint(voiceStr, 2, 1);
+ MenuPrint(volumeStr, 2, 3);
+ MenuPrint(panpotStr, 2, 5);
+ MenuPrint(pitchStr, 2, 7);
+ MenuPrint(lengthStr, 2, 9);
+ MenuPrint(releaseStr, 2, 11);
+ MenuPrint(progressStr, 2, 13);
+ MenuPrint(chorusStr, 2, 15);
+ MenuPrint(priorityStr, 2, 17);
+ MenuPrint(playingStr, 19, 16);
+ MenuPrint(reverseStr, 19, 14);
+ MenuPrint(stereoStr, 19, 12);
+ REG_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH);
+ REG_WIN0V = WIN_RANGE(0, DISPLAY_HEIGHT);
+ sDriverTestSelection = 0;
+ gUnknown_020387B1 = 0;
+ gUnknown_020387B2 = 0;
+ gUnknown_03005D30 = NULL;
+ gUnknown_020387D8 = 0;
+ gUnknown_020387D9 = 1;
+ sSoundTestParams[CRY_TEST_VOICE] = 0;
+ sSoundTestParams[CRY_TEST_VOLUME] = 120;
+ sSoundTestParams[CRY_TEST_PANPOT] = 0;
+ sSoundTestParams[CRY_TEST_PITCH] = 15360;
+ sSoundTestParams[CRY_TEST_LENGTH] = 180;
+ sSoundTestParams[CRY_TEST_PROGRESS] = 0;
+ sSoundTestParams[CRY_TEST_RELEASE] = 0;
+ sSoundTestParams[CRY_TEST_CHORUS] = 0;
+ sSoundTestParams[CRY_TEST_PRIORITY] = 2;
+ PrintDriverTestMenuText();
+ sub_80BAE10(0, 0);
+ gTasks[taskId].func = Task_ProcessDriverTestInput;
+}
+
+void Task_ProcessDriverTestInput(u8 taskId)
+{
+ if (gMain.newKeys & B_BUTTON)
+ {
+ REG_DISPCNT = 0x7140;
+ REG_WIN0H = WIN_RANGE(17, 223);
+ REG_WIN0V = WIN_RANGE(1, 31);
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ gTasks[taskId].func = Task_InitSoundCheckMenu;
+ return;
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8
+ {
+ u8 old = sDriverTestSelection;
+
+ if(--sDriverTestSelection < 0)
+ sDriverTestSelection = 8;
+ sub_80BAE10(old, sDriverTestSelection);
+ return;
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN) // _080BAAD0
+ {
+ u8 old = sDriverTestSelection;
+
+ if(++sDriverTestSelection > 8)
+ sDriverTestSelection = 0;
+ sub_80BAE10(old, sDriverTestSelection);
+ return;
+ }
+ if (gMain.newKeys & START_BUTTON) // _080BAAF8
+ {
+ gUnknown_020387D8 ^= 1;
+ PrintDriverTestMenuText();
+ return;
+ }
+ if (gMain.newKeys & SELECT_BUTTON) // _080BAB14
+ {
+ gUnknown_020387D9 ^= 1;
+ PrintDriverTestMenuText();
+ SetPokemonCryStereo(gUnknown_020387D9);
+ return;
+ }
+ if (gMain.newAndRepeatedKeys & R_BUTTON) // _080BAB38
+ {
+ AdjustSelectedDriverParam(10);
+ PrintDriverTestMenuText();
+ return;
+ }
+ if (gMain.newAndRepeatedKeys & L_BUTTON) // _080BAB46
+ {
+ AdjustSelectedDriverParam(-10);
+ PrintDriverTestMenuText();
+ return;
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BAB56
+ {
+ AdjustSelectedDriverParam(-1);
+ PrintDriverTestMenuText();
+ return;
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BAB64
+ {
+ AdjustSelectedDriverParam(1);
+ PrintDriverTestMenuText();
+ return;
+ }
+ if (gMain.newKeys & A_BUTTON) // _080BAB78
+ {
+ u8 divide, remaining;
+
+ SetPokemonCryVolume(sSoundTestParams[CRY_TEST_VOLUME]);
+ SetPokemonCryPanpot(sSoundTestParams[CRY_TEST_PANPOT]);
+ SetPokemonCryPitch(sSoundTestParams[CRY_TEST_PITCH]);
+ SetPokemonCryLength(sSoundTestParams[CRY_TEST_LENGTH]);
+ SetPokemonCryProgress(sSoundTestParams[CRY_TEST_PROGRESS]);
+ SetPokemonCryRelease(sSoundTestParams[CRY_TEST_RELEASE]);
+ SetPokemonCryChorus(sSoundTestParams[CRY_TEST_CHORUS]);
+ SetPokemonCryPriority(sSoundTestParams[CRY_TEST_PRIORITY]);
+
+ remaining = sSoundTestParams[CRY_TEST_VOICE] % 128;
+ divide = sSoundTestParams[CRY_TEST_VOICE] / 128;
+
+ switch (divide)
+ {
+ case 0:
+ if (gUnknown_020387D8)
+ gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84537C0[remaining]);
+ else
+ gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452590[remaining]);
+ break;
+ case 1:
+ if (gUnknown_020387D8)
+ gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453DC0[remaining]);
+ else
+ gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452B90[remaining]);
+ break;
+ case 2:
+ if (gUnknown_020387D8)
+ gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84543C0[remaining]);
+ else
+ gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453190[remaining]);
+ break;
+ case 3:
+ if (gUnknown_020387D8)
+ gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84549C0[remaining]);
+ else
+ gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453790[remaining]);
+ break;
+ }
+ }
+
+ // _080BACA2
+ if (gUnknown_03005D30 != NULL)
+ {
+ gUnknown_020387B1 = IsPokemonCryPlaying(gUnknown_03005D30);
+
+ if (gUnknown_020387B1 != gUnknown_020387B2)
+ PrintDriverTestMenuText();
+
+ gUnknown_020387B2 = gUnknown_020387B1;
+ }
+}
+
+void AdjustSelectedDriverParam(s8 delta)
+{
+ // also ideally should be a MinMax struct, but any attempt to make this into a struct causes it to not match due to the weird multi dim access.
+ int paramRanges[] =
+ {
+ 0, 387, // Voice
+ 0, 127, // Volume
+ -127, 127, // Panpot
+ -128, 32639, // Pitch
+ 0, 65535, // Length
+ 0, 255, // Release
+ 0, 65535, // Progress
+ -64, 63 // Chorus
+ // Priority??? Why is it missing?
+ };
+
+ sSoundTestParams[sDriverTestSelection] += delta;
+
+ if (sSoundTestParams[sDriverTestSelection] > paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MAX)])
+ sSoundTestParams[sDriverTestSelection] = paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MIN)];
+
+ if (sSoundTestParams[sDriverTestSelection] < paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MIN)])
+ sSoundTestParams[sDriverTestSelection] = paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MAX)];
+}
+
+void PrintDriverTestMenuText(void)
+{
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_VOICE] + 1, 11, 1, 5);
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_VOLUME], 11, 3, 5);
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_PANPOT], 11, 5, 5);
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_PITCH], 11, 7, 5);
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_LENGTH], 11, 9, 5);
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_RELEASE], 11, 11, 5);
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_PROGRESS], 11, 13, 5);
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_CHORUS], 11, 15, 5);
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_PRIORITY], 11, 17, 5);
+ PrintSignedNumber(gUnknown_020387B1, 27, 16, 1);
+ PrintSignedNumber(gUnknown_020387D8, 27, 14, 1);
+ PrintSignedNumber(gUnknown_020387D9, 27, 12, 1);
+}
+
+void sub_80BAE10(u8 var1, u8 var2)
+{
+ u8 str1[] = _("▶");
+ u8 str2[] = _(" ");
+
+ MenuPrint(str2, gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 1)]);
+ MenuPrint(str1, gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 1)]);
+}
+
+void PrintSignedNumber(int n, u16 x, u16 y, u8 digits)
+{
+ int powersOfTen[6] =
+ {
+ 1,
+ 10,
+ 100,
+ 1000,
+ 10000,
+ 100000
+ };
+ u8 str[8];
+ s8 i;
+ s8 negative;
+ s8 someVar2;
+
+ for (i = 0; i <= digits; i++)
+ str[i] = CHAR_SPACE;
+ str[digits + 1] = EOS;
+
+ negative = FALSE;
+ if (n < 0)
+ {
+ n = -n;
+ negative = TRUE;
+ }
+
+ if (digits == 1)
+ someVar2 = TRUE;
+ else
+ someVar2 = FALSE;
+
+ for (i = digits - 1; i >= 0; i--)
+ {
+ s8 d = n / powersOfTen[i];
+
+ if (d != 0 || someVar2 || i == 0)
+ {
+ if (negative && !someVar2)
+ str[digits - i - 1] = CHAR_HYPHEN;
+ str[digits - i] = CHAR_0 + d;
+ someVar2 = TRUE;
+ }
+ n %= powersOfTen[i];
+ }
+
+ MenuPrint(str, x, y);
+}
+
+static const s8 gUnknown_083D03F8[5] = { 0x3F, 0x00, 0xC0, 0x7F, 0x80 };
+
+void sub_80BAF84(u8 taskId)
+{
+ u8 seStr[] = _("SE");
+ u8 panStr[] = _("PAN");
+ u8 playingStr[] = _("さいせいちゆう‥");
+
+ REG_DISPCNT = 0x3140;
+ MenuDrawTextWindow(0, 0, 29, 19);
+ MenuPrint(seStr, 3, 2);
+ MenuPrint(panStr, 3, 4);
+ MenuPrint(playingStr, 3, 8);
+ REG_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH);
+ REG_WIN0V = WIN_RANGE(0, DISPLAY_HEIGHT);
+ sSoundTestParams[CRY_TEST_VOICE] = 1;
+ sSoundTestParams[CRY_TEST_PANPOT] = 0;
+ sSoundTestParams[CRY_TEST_CHORUS] = 0;
+ sSoundTestParams[CRY_TEST_PROGRESS] = 0;
+ sSoundTestParams[CRY_TEST_RELEASE] = 0;
+ sub_80BB1D4();
+ gTasks[taskId].func = sub_80BB038;
+}
+
+void sub_80BB038(u8 taskId)
+{
+ sub_80BB1D4();
+ if (sSoundTestParams[CRY_TEST_PROGRESS])
+ {
+ if (sSoundTestParams[CRY_TEST_RELEASE])
+ {
+ sSoundTestParams[CRY_TEST_RELEASE]--;
+ }
+ else // _080BB05C
+ {
+ s8 panpot = gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]];
+ if (panpot != -128)
+ {
+ if (panpot == 127)
+ {
+ sSoundTestParams[CRY_TEST_CHORUS] += 2;
+ if (sSoundTestParams[CRY_TEST_CHORUS] < 63)
+ SE12PanpotControl(sSoundTestParams[CRY_TEST_CHORUS]);
+ }
+ }
+ else // _080BB08C
+ {
+ sSoundTestParams[CRY_TEST_CHORUS] -= 2;
+ if (sSoundTestParams[CRY_TEST_CHORUS] > -64)
+ SE12PanpotControl(sSoundTestParams[CRY_TEST_CHORUS]);
+ }
+ }
+ }
+ // _080BB0A2
+ if (gMain.newKeys & B_BUTTON)
+ {
+ REG_DISPCNT = 0x7140;
+ REG_WIN0H = WIN_RANGE(17, 223);
+ REG_WIN0V = WIN_RANGE(1, 31);
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ gTasks[taskId].func = Task_InitSoundCheckMenu;
+ return;
+ }
+ if (gMain.newKeys & A_BUTTON) // _080BB104
+ {
+ s8 panpot = gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]];
+ if (panpot != -128)
+ {
+ if (panpot == 127)
+ {
+ PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], -64);
+ sSoundTestParams[CRY_TEST_CHORUS] = -64;
+ sSoundTestParams[CRY_TEST_PROGRESS] = 1;
+ sSoundTestParams[CRY_TEST_RELEASE] = 30;
+ return;
+ }
+ }
+ else // _080BB140
+ {
+ PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], 63);
+ sSoundTestParams[CRY_TEST_CHORUS] = 63;
+ sSoundTestParams[CRY_TEST_PROGRESS] = 1;
+ sSoundTestParams[CRY_TEST_RELEASE] = 30;
+ return;
+ }
+ // _080BB154
+ PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], panpot);
+ sSoundTestParams[CRY_TEST_PROGRESS] = 0;
+ return;
+ }
+ if (gMain.newKeys & L_BUTTON) // _080BB15E
+ {
+ sSoundTestParams[CRY_TEST_PANPOT]++;
+ if (sSoundTestParams[CRY_TEST_PANPOT] > 4)
+ sSoundTestParams[CRY_TEST_PANPOT] = 0;
+ }
+ if (gMain.newKeys & R_BUTTON) // _080BB176
+ {
+ sSoundTestParams[CRY_TEST_PANPOT]--;
+ if (sSoundTestParams[CRY_TEST_PANPOT] < 0)
+ sSoundTestParams[CRY_TEST_PANPOT] = 4;
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BB192
+ {
+ sSoundTestParams[CRY_TEST_VOICE]++;
+ if (sSoundTestParams[CRY_TEST_VOICE] > 247)
+ sSoundTestParams[CRY_TEST_VOICE] = 0;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BB1B0
+ {
+ sSoundTestParams[CRY_TEST_VOICE]--;
+ if (sSoundTestParams[CRY_TEST_VOICE] < 0)
+ sSoundTestParams[CRY_TEST_VOICE] = 247;
+ }
+}
+
+void sub_80BB1D4(void)
+{
+ u8 lrStr[] = _(" LR");
+ u8 rlStr[] = _(" RL");
+
+ PrintSignedNumber(sSoundTestParams[CRY_TEST_VOICE], 7, 2, 3);
+
+ switch (gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]])
+ {
+ case 127:
+ MenuPrint(lrStr, 7, 4);
+ break;
+ case -128:
+ MenuPrint(rlStr, 7, 4);
+ break;
+ default:
+ PrintSignedNumber(gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]], 7, 4, 3);
+ break;
+ }
+ PrintSignedNumber(IsSEPlaying(), 12, 8, 1);
+}
+
+#define SOUND_LIST_BGM \
+ X(BGM_STOP, "STOP") \
+ X(BGM_TETSUJI, "TETSUJI") \
+ X(BGM_FIELD13, "FIELD13") \
+ X(BGM_KACHI22, "KACHI22") \
+ X(BGM_KACHI2, "KACHI2") \
+ X(BGM_KACHI3, "KACHI3") \
+ X(BGM_KACHI5, "KACHI5") \
+ X(BGM_PCC, "PCC") \
+ X(BGM_NIBI, "NIBI") \
+ X(BGM_SUIKUN, "SUIKUN") \
+ X(BGM_DOORO1, "DOORO1") \
+ X(BGM_DOORO_X1, "DOORO-X1") \
+ X(BGM_DOORO_X3, "DOORO-X3") \
+ X(BGM_MACHI_S2, "MACHI-S2") \
+ X(BGM_MACHI_S4, "MACHI-S4") \
+ X(BGM_GIM, "GIM") \
+ X(BGM_NAMINORI, "NAMINORI") \
+ X(BGM_DAN01, "DAN01") \
+ X(BGM_FANFA1, "FANFA1") \
+ X(BGM_ME_ASA, "ME-ASA") \
+ X(BGM_ME_BACHI, "ME-BACHI") \
+ X(BGM_FANFA4, "FANFA4") \
+ X(BGM_FANFA5, "FANFA5") \
+ X(BGM_ME_WAZA, "ME-WAZA") \
+ X(BGM_BIJYUTU, "BIJYUTU") \
+ X(BGM_DOORO_X4, "DOORO-X4") \
+ X(BGM_FUNE_KAN, "FUNE-KAN") \
+ X(BGM_ME_SHINKA, "ME-SHINKA") \
+ X(BGM_SHINKA, "SHINKA") \
+ X(BGM_ME_WASURE, "ME-WASURE") \
+ X(BGM_SYOUJOEYE, "SYOUJOEYE") \
+ X(BGM_BOYEYE, "BOYEYE") \
+ X(BGM_DAN02, "DAN02") \
+ X(BGM_MACHI_S3, "MACHI-S3") \
+ X(BGM_ODAMAKI, "ODAMAKI") \
+ X(BGM_B_TOWER, "B-TOWER") \
+ X(BGM_SWIMEYE, "SWIMEYE") \
+ X(BGM_DAN03, "DAN03") \
+ X(BGM_ME_KINOMI, "ME-KINOMI") \
+ X(BGM_ME_TAMA, "ME-TAMA") \
+ X(BGM_ME_B_BIG, "ME-B-BIG") \
+ X(BGM_ME_B_SMALL, "ME-B-SMALL") \
+ X(BGM_ME_ZANNEN, "ME-ZANNEN") \
+ X(BGM_BD_TIME, "BD-TIME") \
+ X(BGM_TEST1, "TEST1") \
+ X(BGM_TEST2, "TEST2") \
+ X(BGM_TEST3, "TEST3") \
+ X(BGM_TEST4, "TEST4") \
+ X(BGM_TEST, "TEST") \
+ X(BGM_GOMACHI0, "GOMACHI0") \
+ X(BGM_GOTOWN, "GOTOWN") \
+ X(BGM_POKECEN, "POKECEN") \
+ X(BGM_NEXTROAD, "NEXTROAD") \
+ X(BGM_GRANROAD, "GRANROAD") \
+ X(BGM_CYCLING, "CYCLING") \
+ X(BGM_FRIENDLY, "FRIENDLY") \
+ X(BGM_MISHIRO, "MISHIRO") \
+ X(BGM_TOZAN, "TOZAN") \
+ X(BGM_GIRLEYE, "GIRLEYE") \
+ X(BGM_MINAMO, "MINAMO") \
+ X(BGM_ASHROAD, "ASHROAD") \
+ X(BGM_EVENT0, "EVENT0") \
+ X(BGM_DEEPDEEP, "DEEPDEEP") \
+ X(BGM_KACHI1, "KACHI1") \
+ X(BGM_TITLE3, "TITLE3") \
+ X(BGM_DEMO1, "DEMO1") \
+ X(BGM_GIRL_SUP, "GIRL-SUP") \
+ X(BGM_HAGESHII, "HAGESHII") \
+ X(BGM_KAKKOII, "KAKKOII") \
+ X(BGM_KAZANBAI, "KAZANBAI") \
+ X(BGM_AQA_0, "AQA-0") \
+ X(BGM_TSURETEK, "TSURETEK") \
+ X(BGM_BOY_SUP, "BOY-SUP") \
+ X(BGM_RAINBOW, "RAINBOW") \
+ X(BGM_AYASII, "AYASII") \
+ X(BGM_KACHI4, "KACHI4") \
+ X(BGM_ROPEWAY, "ROPEWAY") \
+ X(BGM_CASINO, "CASINO") \
+ X(BGM_HIGHTOWN, "HIGHTOWN") \
+ X(BGM_SAFARI, "SAFARI") \
+ X(BGM_C_ROAD, "C-ROAD") \
+ X(BGM_AJITO, "AJITO") \
+ X(BGM_M_BOAT, "M-BOAT") \
+ X(BGM_M_DUNGON, "M-DUNGON") \
+ X(BGM_FINECITY, "FINECITY") \
+ X(BGM_MACHUPI, "MACHUPI") \
+ X(BGM_P_SCHOOL, "P-SCHOOL") \
+ X(BGM_DENDOU, "DENDOU") \
+ X(BGM_TONEKUSA, "TONEKUSA") \
+ X(BGM_MABOROSI, "MABOROSI") \
+ X(BGM_CON_FAN, "CON-FAN") \
+ X(BGM_CONTEST0, "CONTEST0") \
+ X(BGM_MGM0, "MGM0") \
+ X(BGM_T_BATTLE, "T-BATTLE") \
+ X(BGM_OOAME, "OOAME") \
+ X(BGM_HIDERI, "HIDERI") \
+ X(BGM_RUNECITY, "RUNECITY") \
+ X(BGM_CON_K, "CON-K") \
+ X(BGM_EIKOU_R, "EIKOU-R") \
+ X(BGM_KARAKURI, "KARAKURI") \
+ X(BGM_HUTAGO, "HUTAGO") \
+ X(BGM_SITENNOU, "SITENNOU") \
+ X(BGM_YAMA_EYE, "YAMA-EYE") \
+ X(BGM_CONLOBBY, "CONLOBBY") \
+ X(BGM_INTER_V, "INTER-V") \
+ X(BGM_DAIGO, "DAIGO") \
+ X(BGM_THANKFOR, "THANKFOR") \
+ X(BGM_END, "END") \
+ X(BGM_BATTLE27, "BATTLE27") \
+ X(BGM_BATTLE31, "BATTLE31") \
+ X(BGM_BATTLE20, "BATTLE20") \
+ X(BGM_BATTLE32, "BATTLE32") \
+ X(BGM_BATTLE33, "BATTLE33") \
+ X(BGM_BATTLE36, "BATTLE36") \
+ X(BGM_BATTLE34, "BATTLE34") \
+ X(BGM_BATTLE35, "BATTLE35") \
+ X(BGM_BATTLE38, "BATTLE38") \
+ X(BGM_BATTLE30, "BATTLE30")
+
+#define SOUND_LIST_SE \
+ X(SE_STOP, "STOP") \
+ X(SE_KAIFUKU, "KAIFUKU") \
+ X(SE_PC_LOGON, "PC-LOGON") \
+ X(SE_PC_OFF, "PC-OFF") \
+ X(SE_PC_ON, "PC-ON") \
+ X(SE_SELECT, "SELECT") \
+ X(SE_WIN_OPEN, "WIN-OPEN") \
+ X(SE_WALL_HIT, "WALL-HIT") \
+ X(SE_DOOR, "DOOR") \
+ X(SE_KAIDAN, "KAIDAN") \
+ X(SE_DANSA, "DANSA") \
+ X(SE_JITENSYA, "JITENSYA") \
+ X(SE_KOUKA_L, "KOUKA-L") \
+ X(SE_KOUKA_M, "KOUKA-M") \
+ X(SE_KOUKA_H, "KOUKA-H") \
+ X(SE_BOWA2, "BOWA2") \
+ X(SE_POKE_DEAD, "POKE-DEAD") \
+ X(SE_NIGERU, "NIGERU") \
+ X(SE_JIDO_DOA, "JIDO-DOA") \
+ X(SE_NAMINORI, "NAMINORI") \
+ X(SE_BAN, "BAN") \
+ X(SE_PIN, "PIN") \
+ X(SE_BOO, "BOO") \
+ X(SE_BOWA, "BOWA") \
+ X(SE_JYUNI, "JYUNI") \
+ X(SE_A, "A") \
+ X(SE_I, "I") \
+ X(SE_U, "U") \
+ X(SE_E, "E") \
+ X(SE_O, "O") \
+ X(SE_N, "N") \
+ X(SE_SEIKAI, "SEIKAI") \
+ X(SE_HAZURE, "HAZURE") \
+ X(SE_EXP, "EXP") \
+ X(SE_JITE_PYOKO, "JITE-PYOKO") \
+ X(SE_MU_PACHI, "MU-PACHI") \
+ X(SE_TK_KASYA, "TK-KASYA") \
+ X(SE_FU_ZAKU, "FU-ZAKU") \
+ X(SE_FU_ZAKU2, "FU-ZAKU2") \
+ X(SE_FU_ZUZUZU, "FU-ZUZUZU") \
+ X(SE_RU_GASHIN, "RU-GASHIN") \
+ X(SE_RU_GASYAN, "RU-GASYAN") \
+ X(SE_RU_BARI, "RU-BARI") \
+ X(SE_RU_HYUU, "RU-HYUU") \
+ X(SE_KI_GASYAN, "KI-GASYAN") \
+ X(SE_TK_WARPIN, "TK-WARPIN") \
+ X(SE_TK_WARPOUT, "TK-WARPOUT") \
+ X(SE_TU_SAA, "TU-SAA") \
+ X(SE_HI_TURUN, "HI-TURUN") \
+ X(SE_TRACK_MOVE, "TRACK-MOVE") \
+ X(SE_TRACK_STOP, "TRACK-STOP") \
+ X(SE_TRACK_HAIK, "TRACK-HAIK") \
+ X(SE_TRACK_DOOR, "TRACK-DOOR") \
+ X(SE_MOTER, "MOTER") \
+ X(SE_CARD, "CARD") \
+ X(SE_SAVE, "SAVE") \
+ X(SE_KON, "KON") \
+ X(SE_KON2, "KON2") \
+ X(SE_KON3, "KON3") \
+ X(SE_KON4, "KON4") \
+ X(SE_SUIKOMU, "SUIKOMU") \
+ X(SE_NAGERU, "NAGERU") \
+ X(SE_TOY_C, "TOY-C") \
+ X(SE_TOY_D, "TOY-D") \
+ X(SE_TOY_E, "TOY-E") \
+ X(SE_TOY_F, "TOY-F") \
+ X(SE_TOY_G, "TOY-G") \
+ X(SE_TOY_A, "TOY-A") \
+ X(SE_TOY_B, "TOY-B") \
+ X(SE_TOY_C1, "TOY-C1") \
+ X(SE_MIZU, "MIZU") \
+ X(SE_HASHI, "HASHI") \
+ X(SE_DAUGI, "DAUGI") \
+ X(SE_PINPON, "PINPON") \
+ X(SE_FUUSEN1, "FUUSEN1") \
+ X(SE_FUUSEN2, "FUUSEN2") \
+ X(SE_FUUSEN3, "FUUSEN3") \
+ X(SE_TOY_KABE, "TOY-KABE") \
+ X(SE_TOY_DANGO, "TOY-DANGO") \
+ X(SE_DOKU, "DOKU") \
+ X(SE_ESUKA, "ESUKA") \
+ X(SE_T_AME, "T-AME") \
+ X(SE_T_AME_E, "T-AME-E") \
+ X(SE_T_OOAME, "T-OOAME") \
+ X(SE_T_OOAME_E, "T-OOAME-E") \
+ X(SE_T_KOAME, "T-KOAME") \
+ X(SE_T_KOAME_E, "T-KOAME-E") \
+ X(SE_T_KAMI, "T-KAMI") \
+ X(SE_T_KAMI2, "T-KAMI2") \
+ X(SE_ELEBETA, "ELEBETA") \
+ X(SE_HINSI, "HINSI") \
+ X(SE_EXPMAX, "EXPMAX") \
+ X(SE_TAMAKORO, "TAMAKORO") \
+ X(SE_TAMAKORO_E, "TAMAKORO-E") \
+ X(SE_BASABASA, "BASABASA") \
+ X(SE_REGI, "REGI") \
+ X(SE_C_GAJI, "C-GAJI") \
+ X(SE_C_MAKU_U, "C-MAKU-U") \
+ X(SE_C_MAKU_D, "C-MAKU-D") \
+ X(SE_C_PASI, "C-PASI") \
+ X(SE_C_SYU, "C-SYU") \
+ X(SE_C_PIKON, "C-PIKON") \
+ X(SE_REAPOKE, "REAPOKE") \
+ X(SE_OP_BASYU, "OP-BASYU") \
+ X(SE_BT_START, "BT-START") \
+ X(SE_DENDOU, "DENDOU") \
+ X(SE_JIHANKI, "JIHANKI") \
+ X(SE_TAMA, "TAMA") \
+ X(SE_Z_SCROLL, "Z-SCROLL") \
+ X(SE_Z_PAGE, "Z-PAGE") \
+ X(SE_PN_ON, "PN-ON") \
+ X(SE_PN_OFF, "PN-OFF") \
+ X(SE_Z_SEARCH, "Z-SEARCH") \
+ X(SE_TAMAGO, "TAMAGO") \
+ X(SE_TB_START, "TB-START") \
+ X(SE_TB_KON, "TB-KON") \
+ X(SE_TB_KARA, "TB-KARA") \
+ X(SE_BIDORO, "BIDORO") \
+ X(SE_W085, "W085") \
+ X(SE_W085B, "W085B") \
+ X(SE_W231, "W231") \
+ X(SE_W171, "W171") \
+ X(SE_W233, "W233") \
+ X(SE_W233B, "W233B") \
+ X(SE_W145, "W145") \
+ X(SE_W145B, "W145B") \
+ X(SE_W145C, "W145C") \
+ X(SE_W240, "W240") \
+ X(SE_W015, "W015") \
+ X(SE_W081, "W081") \
+ X(SE_W081B, "W081B") \
+ X(SE_W088, "W088") \
+ X(SE_W016, "W016") \
+ X(SE_W016B, "W016B") \
+ X(SE_W003, "W003") \
+ X(SE_W104, "W104") \
+ X(SE_W013, "W013") \
+ X(SE_W196, "W196") \
+ X(SE_W086, "W086") \
+ X(SE_W004, "W004") \
+ X(SE_W025, "W025") \
+ X(SE_W025B, "W025B") \
+ X(SE_W152, "W152") \
+ X(SE_W026, "W026") \
+ X(SE_W172, "W172") \
+ X(SE_W172B, "W172B") \
+ X(SE_W053, "W053") \
+ X(SE_W007, "W007") \
+ X(SE_W092, "W092") \
+ X(SE_W221, "W221") \
+ X(SE_W221B, "W221B") \
+ X(SE_W052, "W052") \
+ X(SE_W036, "W036") \
+ X(SE_W059, "W059") \
+ X(SE_W059B, "W059B") \
+ X(SE_W010, "W010") \
+ X(SE_W011, "W011") \
+ X(SE_W017, "W017") \
+ X(SE_W019, "W019") \
+ X(SE_W028, "W028") \
+ X(SE_W013B, "W013B") \
+ X(SE_W044, "W044") \
+ X(SE_W029, "W029") \
+ X(SE_W057, "W057") \
+ X(SE_W056, "W056") \
+ X(SE_W250, "W250") \
+ X(SE_W030, "W030") \
+ X(SE_W039, "W039") \
+ X(SE_W054, "W054") \
+ X(SE_W077, "W077") \
+ X(SE_W020, "W020") \
+ X(SE_W082, "W082") \
+ X(SE_W047, "W047") \
+ X(SE_W195, "W195") \
+ X(SE_W006, "W006") \
+ X(SE_W091, "W091") \
+ X(SE_W146, "W146") \
+ X(SE_W120, "W120") \
+ X(SE_W153, "W153") \
+ X(SE_W071B, "W071B") \
+ X(SE_W071, "W071") \
+ X(SE_W103, "W103") \
+ X(SE_W062, "W062") \
+ X(SE_W062B, "W062B") \
+ X(SE_W048, "W048") \
+ X(SE_W187, "W187") \
+ X(SE_W118, "W118") \
+ X(SE_W155, "W155") \
+ X(SE_W122, "W122") \
+ X(SE_W060, "W060") \
+ X(SE_W185, "W185") \
+ X(SE_W014, "W014") \
+ X(SE_W043, "W043") \
+ X(SE_W207, "W207") \
+ X(SE_W207B, "W207B") \
+ X(SE_W215, "W215") \
+ X(SE_W109, "W109") \
+ X(SE_W173, "W173") \
+ X(SE_W280, "W280") \
+ X(SE_W202, "W202") \
+ X(SE_W060B, "W060B") \
+ X(SE_W076, "W076") \
+ X(SE_W080, "W080") \
+ X(SE_W100, "W100") \
+ X(SE_W107, "W107") \
+ X(SE_W166, "W166") \
+ X(SE_W129, "W129") \
+ X(SE_W115, "W115") \
+ X(SE_W112, "W112") \
+ X(SE_W197, "W197") \
+ X(SE_W199, "W199") \
+ X(SE_W236, "W236") \
+ X(SE_W204, "W204") \
+ X(SE_W268, "W268") \
+ X(SE_W070, "W070") \
+ X(SE_W063, "W063") \
+ X(SE_W127, "W127") \
+ X(SE_W179, "W179") \
+ X(SE_W151, "W151") \
+ X(SE_W201, "W201") \
+ X(SE_W161, "W161") \
+ X(SE_W161B, "W161B") \
+ X(SE_W227, "W227") \
+ X(SE_W227B, "W227B") \
+ X(SE_W226, "W226") \
+ X(SE_W208, "W208") \
+ X(SE_W213, "W213") \
+ X(SE_W213B, "W213B") \
+ X(SE_W234, "W234") \
+ X(SE_W260, "W260") \
+ X(SE_W328, "W328") \
+ X(SE_W320, "W320") \
+ X(SE_W255, "W255") \
+ X(SE_W291, "W291") \
+ X(SE_W089, "W089") \
+ X(SE_W239, "W239") \
+ X(SE_W230, "W230") \
+ X(SE_W281, "W281") \
+ X(SE_W327, "W327") \
+ X(SE_W287, "W287") \
+ X(SE_W257, "W257") \
+ X(SE_W253, "W253") \
+ X(SE_W258, "W258") \
+ X(SE_W322, "W322") \
+ X(SE_W298, "W298") \
+ X(SE_W287B, "W287B") \
+ X(SE_W114, "W114") \
+ X(SE_W063B, "W063B")
+
+// Create BGM list
+#define X(songId, name) static const u8 sBGMName_##songId[] = _(name);
+SOUND_LIST_BGM
+#undef X
+
+#define X(songId, name) sBGMName_##songId,
+static const u8 *const gBGMNames[] =
+{
+SOUND_LIST_BGM
+};
+#undef X
+
+// Create SE list
+#define X(songId, name) static const u8 sSEName_##songId[] = _(name);
+SOUND_LIST_SE
+#undef X
+
+#define X(songId, name) sSEName_##songId,
+static const u8 *const gSENames[] =
+{
+SOUND_LIST_SE
+};
+#undef X
+
+void Task_InitCryTest(u8 taskId)
+{
+ struct CryRelatedStruct cryStruct, cryStruct2;
+ u8 zero;
+
+ SetUpWindowConfig(&gWindowConfig_81E6C3C);
+ InitMenuWindow(&gWindowConfig_81E6CE4);
+ gSoundTestCryNum = 1;
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+
+ cryStruct.unk0 = 0x2000;
+ cryStruct.unk2 = 29;
+ cryStruct.paletteNo = 12;
+ cryStruct.yPos = 30;
+ cryStruct.xPos = 4;
+
+ zero = 0; // wtf?
+ gUnknown_03005E98 = 0;
+
+ while (sub_8119E3C(&cryStruct, 3) == FALSE)
+ ;
+
+ cryStruct2.unk0 = 0;
+ cryStruct2.unk2 = 15;
+ cryStruct2.paletteNo = 13;
+ cryStruct2.xPos = 12;
+ cryStruct2.yPos = 12;
+
+ zero = 0; // wtf?
+ gUnknown_03005E98 = 0;
+
+ while (ShowPokedexCryScreen(&cryStruct2, 2) == FALSE)
+ ;
+
+ MenuDrawTextWindow(0, 16, 5, 19);
+ PrintCryNumber();
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ REG_BG2HOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG2CNT = 0xF01;
+ REG_BG3CNT = 0x1D03;
+ REG_DISPCNT = 0x1d40;
+ m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2);
+ gTasks[taskId].func = Task_ProcessCryTestInput;
+}
+
+void Task_ProcessCryTestInput(u8 taskId)
+{
+ sub_8119F88(3);
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ sub_811A050(gSoundTestCryNum);
+ }
+ if (gMain.newKeys & R_BUTTON)
+ {
+ StopCryAndClearCrySongs();
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if(--gSoundTestCryNum == 0)
+ gSoundTestCryNum = 384; // total species
+ PrintCryNumber();
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if(++gSoundTestCryNum > 384)
+ gSoundTestCryNum = 1;
+ PrintCryNumber();
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ REG_DISPCNT = 0x7140;
+ REG_WIN0H = WIN_RANGE(17, 223);
+ REG_WIN0V = WIN_RANGE(1, 31);
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ gTasks[taskId].func = Task_InitSoundCheckMenu;
+ DestroyCryMeterNeedleSprite();
+ }
+}
+
+void PrintCryNumber(void)
+{
+ PrintSignedNumber(gSoundTestCryNum, 1, 17, 3);
+}
diff --git a/src/unknown_debug_menu.c b/src/debug/unknown_debug_menu.c
index a81625f2a..429f43766 100644
--- a/src/unknown_debug_menu.c
+++ b/src/debug/unknown_debug_menu.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle_tower.h"
#include "menu.h"
extern u8 gBattleCommunication[];
@@ -41,12 +42,12 @@ static u8 sub_814A464(void)
u8 sub_814A4B8(void)
{
- gSaveBlock2.filler_A8.var_4AE[0] = 3;
- gSaveBlock2.filler_A8.var_4AE[1] = 3;
- gSaveBlock2.filler_A8.var_4B4 = gBattleCommunication[0] + 1;
- gSaveBlock2.filler_A8.var_4B6 = gBattleCommunication[0] + 1;
- gSaveBlock2.filler_A8.var_4B0 = 1;
- gSaveBlock2.filler_A8.var_4B2 = 1;
+ gSaveBlock2.battleTower.var_4AE[0] = 3;
+ gSaveBlock2.battleTower.var_4AE[1] = 3;
+ gSaveBlock2.battleTower.curStreakChallengesNum[0] = gBattleCommunication[0] + 1;
+ gSaveBlock2.battleTower.curStreakChallengesNum[1] = gBattleCommunication[0] + 1;
+ gSaveBlock2.battleTower.curChallengeBattleNum[0] = 1;
+ gSaveBlock2.battleTower.curChallengeBattleNum[1] = 1;
CloseMenu();
return 1;
}
diff --git a/src/blend_palette.c b/src/engine/blend_palette.c
index 843c50ac1..843c50ac1 100644
--- a/src/blend_palette.c
+++ b/src/engine/blend_palette.c
diff --git a/src/cable_club.c b/src/engine/cable_club.c
index 7a85f2b6c..c61a1d01c 100644
--- a/src/cable_club.c
+++ b/src/engine/cable_club.c
@@ -68,7 +68,7 @@ static void sub_8083B6C(void);
static void sub_8083CA4(u8 taskId);
extern void sub_80831F8(u8 taskId);
-extern void call_map_music_set_to_zero(void);
+extern void Overworld_ResetMapMusic(void);
extern void sub_810FEFC(void);
extern void sub_8047CD8(void);
extern void sub_805559C(void);
@@ -708,7 +708,7 @@ static void sub_808382C(u8 taskId)
static void sub_8083958(void)
{
- call_map_music_set_to_zero();
+ Overworld_ResetMapMusic();
LoadPlayerParty();
SavePlayerBag();
sub_810FEFC();
diff --git a/src/clear_save_data_menu.c b/src/engine/clear_save_data_menu.c
index 498562fe0..498562fe0 100644
--- a/src/clear_save_data_menu.c
+++ b/src/engine/clear_save_data_menu.c
diff --git a/src/clock.c b/src/engine/clock.c
index 9635514d2..cb8af64a8 100644
--- a/src/clock.c
+++ b/src/engine/clock.c
@@ -61,19 +61,18 @@ static void UpdatePerDay(struct Time *time)
static void UpdatePerMinute(struct Time *time)
{
struct Time newTime;
- s32 minutes;
+ s32 minutesPassed;
CalcTimeDifference(&newTime, &gSaveBlock2.lastBerryTreeUpdate, time);
- minutes = 1440 * newTime.days + 60 * newTime.hours + newTime.minutes;
+ minutesPassed = 1440 * newTime.days + 60 * newTime.hours + newTime.minutes;
- // there's no way to get the correct assembly other than with this nested if check. so dumb.
- if (minutes != 0)
+ if (minutesPassed == 0) // do not do the update for the first minute.
+ return;
+
+ if (minutesPassed > -1) // do not perform an update on invalid minutesPassed.
{
- if (minutes >= 0)
- {
- BerryTreeTimeUpdate(minutes);
- gSaveBlock2.lastBerryTreeUpdate = *time;
- }
+ BerryTreeTimeUpdate(minutesPassed);
+ gSaveBlock2.lastBerryTreeUpdate = *time;
}
}
diff --git a/src/decompress.c b/src/engine/decompress.c
index d7f7087a7..3e5993118 100644
--- a/src/decompress.c
+++ b/src/engine/decompress.c
@@ -6,7 +6,7 @@
#define WRAM 0x02000000
-void sub_800D238(const void *src, void *dest)
+void LZDecompressWram(const void *src, void *dest)
{
LZ77UnCompWram(src, dest);
}
diff --git a/src/link.c b/src/engine/link.c
index 850201ccb..7f7e48083 100644
--- a/src/link.c
+++ b/src/engine/link.c
@@ -954,7 +954,7 @@ static u16 LinkTestCalcBlockChecksum(void *data, u16 size)
static void PrintHexDigit(u8 tileNum, u8 x, u8 y)
{
- u16 *tilemap = (u16 *)BG_SCREEN_ADDR(gLinkTestBGInfo.screenBaseBlock);
+ u16 *tilemap = BG_SCREEN_ADDR(gLinkTestBGInfo.screenBaseBlock);
tilemap[(32 * y) + x] = (gLinkTestBGInfo.paletteNum << 12) | (tileNum + 1);
}
diff --git a/src/load_save.c b/src/engine/load_save.c
index 8424b1121..8424b1121 100644
--- a/src/load_save.c
+++ b/src/engine/load_save.c
diff --git a/src/main.c b/src/engine/main.c
index d7c11b6c8..d7c11b6c8 100644
--- a/src/main.c
+++ b/src/engine/main.c
diff --git a/src/main_menu.c b/src/engine/main_menu.c
index e0af86f3d..e0af86f3d 100644
--- a/src/main_menu.c
+++ b/src/engine/main_menu.c
diff --git a/src/menu.c b/src/engine/menu.c
index a9c4aaa43..a9c4aaa43 100644
--- a/src/menu.c
+++ b/src/engine/menu.c
diff --git a/src/menu_cursor.c b/src/engine/menu_cursor.c
index d43be2a2f..d43be2a2f 100644
--- a/src/menu_cursor.c
+++ b/src/engine/menu_cursor.c
diff --git a/src/mystery_event_menu.c b/src/engine/mystery_event_menu.c
index 0e48dc177..0e48dc177 100644
--- a/src/mystery_event_menu.c
+++ b/src/engine/mystery_event_menu.c
diff --git a/src/mystery_event_script.c b/src/engine/mystery_event_script.c
index f507942a7..69434710f 100644
--- a/src/mystery_event_script.c
+++ b/src/engine/mystery_event_script.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "berry.h"
+#include "battle_tower.h"
#include "easy_chat.h"
#include "event_data.h"
#include "mail_data.h"
@@ -27,7 +28,6 @@
#endif
extern void party_compaction(void);
-extern void sub_813601C(void);
extern ScrCmdFunc gMysteryEventScriptCmdTable[];
extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[];
@@ -401,8 +401,8 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
if (species != SPECIES_EGG)
{
u16 pokedexNum = SpeciesToNationalPokedexNum(species);
- GetNationalPokedexFlag(pokedexNum, 2);
- GetNationalPokedexFlag(pokedexNum, 3);
+ GetSetPokedexFlag(pokedexNum, 2);
+ GetSetPokedexFlag(pokedexNum, 3);
}
heldItem = GetMonData(&gPlayerParty[5], MON_DATA_HELD_ITEM);
@@ -420,8 +420,8 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx)
{
u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0];
- memcpy(gSaveBlock2.filler_A8.ereaderTrainer, (void *)data, sizeof(gSaveBlock2.filler_A8.ereaderTrainer));
- sub_813601C();
+ memcpy(&gSaveBlock2.battleTower.ereaderTrainer, (void *)data, sizeof(gSaveBlock2.battleTower.ereaderTrainer));
+ ValidateEReaderTrainer();
StringExpandPlaceholders(gStringVar4, gOtherText_NewTrainerInHoenn);
ctx->data[2] = 2;
return FALSE;
diff --git a/src/name_string_util.c b/src/engine/name_string_util.c
index f1a935453..f1a935453 100644
--- a/src/name_string_util.c
+++ b/src/engine/name_string_util.c
diff --git a/src/naming_screen.c b/src/engine/naming_screen.c
index 3f8417e6d..a20a15569 100644
--- a/src/naming_screen.c
+++ b/src/engine/naming_screen.c
@@ -30,6 +30,8 @@ extern u8 unk_2000000[];
#define namingScreenData (*(struct NamingScreenData *)(unk_2000000))
+extern u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality);
+
const u32 gSpriteImage_83CE094[] = INCBIN_U32("graphics/naming_screen/pc_icon/0.4bpp");
const u32 gSpriteImage_83CE154[] = INCBIN_U32("graphics/naming_screen/pc_icon/1.4bpp");
diff --git a/src/option_menu.c b/src/engine/option_menu.c
index dfc49b035..dfc49b035 100644
--- a/src/option_menu.c
+++ b/src/engine/option_menu.c
diff --git a/src/palette.c b/src/engine/palette.c
index 94a4f8092..17e9ca178 100644
--- a/src/palette.c
+++ b/src/engine/palette.c
@@ -74,7 +74,7 @@ static bool8 IsSoftwarePaletteFadeFinishing(void);
void LoadCompressedPalette(const void *src, u16 offset, u16 size)
{
- sub_800D238(src, sPaletteDecompressionBuffer);
+ LZDecompressWram(src, sPaletteDecompressionBuffer);
CpuCopy16(sPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size);
CpuCopy16(sPaletteDecompressionBuffer, gPlttBufferFaded + offset, size);
}
diff --git a/src/play_time.c b/src/engine/play_time.c
index 9882c9c4b..9882c9c4b 100644
--- a/src/play_time.c
+++ b/src/engine/play_time.c
diff --git a/src/record_mixing.c b/src/engine/record_mixing.c
index d02d89467..87fc6a81d 100644
--- a/src/record_mixing.c
+++ b/src/engine/record_mixing.c
@@ -29,7 +29,7 @@ extern u8 ewram[];
#define unk_2018000 (*(struct PlayerRecords *)(ewram + 0x18000))
#define unk_2008000 (*(struct PlayerRecords *)(ewram + 0x08000))
-extern struct RecordMixing_UnknownStruct gUnknown_02038738;
+extern struct RecordMixingDayCareMail gUnknown_02038738;
extern u16 gSpecialVar_0x8005;
u32 gUnknown_03005D2C;
@@ -42,8 +42,8 @@ void *recordMixingTvShows = &gSaveBlock1.tvShows;
void *gUnknown_083D0274 = &gSaveBlock1.unknown_2ABC;
void *gUnknown_083D0278 = &gSaveBlock1.mauvilleMan;
void *recordMixingEasyChatPairs = &gSaveBlock1.easyChatPairs;
-struct RecordMixing_UnknownStruct *gUnknown_083D0280 = &gUnknown_02038738;
-void *gUnknown_083D0284 = &gSaveBlock2.filler_A8;
+struct RecordMixingDayCareMail *gUnknown_083D0280 = &gUnknown_02038738;
+void *gBattleTowerPlayerRecord = &gSaveBlock2.battleTower.playerRecord;
#define BUFFER_CHUNK_SIZE 200
@@ -59,8 +59,8 @@ struct PlayerRecords
u8 filler1004[0x40];
u8 filler1044[0x40];
struct EasyChatPair easyChatPairs[5];
- struct RecordMixing_UnknownStruct filler10AC;
- u8 filler1124[0xA4];
+ struct RecordMixingDayCareMail filler10AC;
+ struct BattleTowerRecord battleTowerRecord;
u16 filler11C8[0x34];
};
@@ -74,11 +74,11 @@ void RecordMixing_PrepareExchangePacket(void)
memcpy(unk_2018000.filler1004, gUnknown_083D0274, sizeof(unk_2008000.filler1004));
memcpy(unk_2018000.filler1044, gUnknown_083D0278, sizeof(unk_2008000.filler1044));
memcpy(unk_2018000.easyChatPairs, recordMixingEasyChatPairs, sizeof(unk_2018000.easyChatPairs));
- gUnknown_02038738.data[0] = gSaveBlock1.filler_303C.data[0];
- gUnknown_02038738.data[1] = gSaveBlock1.filler_303C.data[1];
- sub_8041324(gSaveBlock1.daycareData, &gUnknown_02038738);
- memcpy(&unk_2018000.filler10AC, gUnknown_083D0280, sizeof(struct RecordMixing_UnknownStruct));
- memcpy(unk_2018000.filler1124, gUnknown_083D0284, sizeof(unk_2018000.filler1124));
+ gUnknown_02038738.mail[0] = gSaveBlock1.daycareData.misc.mail[0];
+ gUnknown_02038738.mail[1] = gSaveBlock1.daycareData.misc.mail[1];
+ sub_8041324(gSaveBlock1.daycareData.mons, &gUnknown_02038738);
+ memcpy(&unk_2018000.filler10AC, gUnknown_083D0280, sizeof(struct RecordMixingDayCareMail));
+ memcpy(&unk_2018000.battleTowerRecord, gBattleTowerPlayerRecord, sizeof(struct BattleTowerRecord));
if (GetMultiplayerId() == 0)
unk_2018000.filler11C8[0] = GetRecordMixingGift();
@@ -92,7 +92,7 @@ void RecordMixing_ReceiveExchangePacket(u32 a)
sub_80B9B1C(unk_2008000.filler1044, sizeof(struct PlayerRecords), a);
sub_80FA4E4(unk_2008000.easyChatPairs, sizeof(struct PlayerRecords), a);
sub_80B9C6C((u8 *)&unk_2008000.filler10AC, sizeof(struct PlayerRecords), a, unk_2008000.tvShows);
- sub_80B9B70(unk_2008000.filler1124, sizeof(struct PlayerRecords), a);
+ sub_80B9B70(&unk_2008000.battleTowerRecord, sizeof(struct PlayerRecords), a);
sub_80B9F3C(unk_2008000.filler11C8, a);
}
@@ -447,11 +447,11 @@ void sub_80B9B1C(u8 *a, size_t size, u8 index)
sub_80F7F30();
}
-void sub_80B9B70(u8 *a, size_t size, u8 index)
+void sub_80B9B70(void *battleTowerRecord, u32 size, u8 index)
{
sub_80B9A88(gUnknown_0300071C);
- memcpy(a + size * index, a + size * gUnknown_0300071C[index], 0xA4);
- sub_8134AC0(a + size * index);
+ memcpy(battleTowerRecord + size * index, battleTowerRecord + size * gUnknown_0300071C[index], sizeof(struct BattleTowerRecord));
+ sub_8134AC0(battleTowerRecord + size * index);
}
u8 sub_80B9BBC(u16 *a)
@@ -461,10 +461,10 @@ u8 sub_80B9BBC(u16 *a)
void sub_80B9BC4(u8 *a, size_t b, u8 c[][2], u8 d, u8 e)
{
- struct RecordMixing_UnknownStructSub *r6 = (struct RecordMixing_UnknownStructSub *)(a + b * c[d][0]);
- struct RecordMixing_UnknownStructSub *src = r6 + c[d][1];
- struct RecordMixing_UnknownStructSub sp0 = *src;
- struct RecordMixing_UnknownStructSub *r8 = (struct RecordMixing_UnknownStructSub *)(a + b * c[e][0]);
+ struct DayCareMail *r6 = (struct DayCareMail *)(a + b * c[d][0]);
+ struct DayCareMail *src = r6 + c[d][1];
+ struct DayCareMail sp0 = *src;
+ struct DayCareMail *r8 = (struct DayCareMail *)(a + b * c[e][0]);
r6 += c[d][1];
*r6 = *(r8 + c[e][1]);
@@ -511,7 +511,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d)
u16 i; // r3
u16 r7;
u8 r1;
- struct RecordMixing_UnknownStruct *r6;
+ struct DayCareMisc *r6;
//asm("":::"r8");
SeedRng(gLinkPlayers[0].trainerId);
@@ -526,7 +526,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d)
sp3C = 0;
for (i = 0; i < r8; i++)
{
- r6 = (struct RecordMixing_UnknownStruct *)(a + b * i);
+ r6 = (struct DayCareMisc *)(a + b * i);
if (r6->unk70 != 0)
{
for (r7 = 0; r7 < r6->unk70; r7++)
@@ -540,7 +540,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d)
//_080B9D46
for (r7 = 0, i = 0; i < r8; i++)
{
- r6 = (struct RecordMixing_UnknownStruct *)(a + b * i);
+ r6 = (struct DayCareMisc *)(a + b * i);
if (sp1C[i][0] == 1 || sp1C[i][1] == 1)
sp3C++;
if (sp1C[i][0] == 1 && sp1C[i][1] == 0)
@@ -596,7 +596,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d)
//_080B9E3E
for (i = 0; i < 4; i++)
{
- r6 = (struct RecordMixing_UnknownStruct *)a + b * c;
+ r6 = (struct DayCareMisc *)a + b * c;
spC[i] = r6;
}
r1 = sub_80B9C4C(d) % 3;
@@ -630,7 +630,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d)
//_080B9EF0
//memcpy(&gSaveBlock1.filler_303C.data[0], a + b * c, 0x38);
//memcpy(&gSaveBlock1.filler_303C.data[1], a + b * c + 0x38, 0x38);
- r6 = (struct RecordMixing_UnknownStruct *)(a + b * c);
+ r6 = (struct DayCareMisc *)(a + b * c);
gSaveBlock1.filler_303C.data[0] = r6->data[0];
gSaveBlock1.filler_303C.data[1] = r6->data[1];
//memcpy(&gSaveBlock1.filler_303C.data[0], &r6->data[0], 0x38);
diff --git a/src/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c
index d052992ad..d052992ad 100644
--- a/src/reset_rtc_screen.c
+++ b/src/engine/reset_rtc_screen.c
diff --git a/src/rng.c b/src/engine/rng.c
index 7d4b5600e..7d4b5600e 100644
--- a/src/rng.c
+++ b/src/engine/rng.c
diff --git a/src/rtc.c b/src/engine/rtc.c
index d73f943d2..d73f943d2 100644
--- a/src/rtc.c
+++ b/src/engine/rtc.c
diff --git a/src/save.c b/src/engine/save.c
index eae3f4470..5ea949cae 100644
--- a/src/save.c
+++ b/src/engine/save.c
@@ -282,7 +282,7 @@ u8 sub_81255B8(u16 a1, const struct SaveSectionLocation *location)
for (i = 0; i < sizeof(struct UnkSaveSection); i++)
{
- if (ProgramFlashByte(sector, i, ((u8 *)gFastSaveSection)[i]))
+ if (ProgramFlashByte(sector, i, gFastSaveSection->data[i]))
{
status = 0xFF;
break;
@@ -402,7 +402,7 @@ u8 sub_81258BC(u16 a1, const struct SaveSectionLocation *location)
{
u16 j;
for (j = 0; j < location[id].size; j++)
- ((u8 *)location[id].data)[j] = gFastSaveSection->data[j];
+ location[id].data[j] = gFastSaveSection->data[j];
}
}
@@ -774,7 +774,7 @@ u8 unref_sub_8125FF0(u8 *data, u16 size)
for (i = 0; i < size; i++)
section->data[i] = data[i];
- gLastSaveSectorStatus = ProgramFlashSectorAndVerifyNBytes(gFlashSectors[0], (u8 *)section, sizeof(struct SaveSection));
+ gLastSaveSectorStatus = ProgramFlashSectorAndVerifyNBytes(gFlashSectors[0], section, sizeof(struct SaveSection));
if (gLastSaveSectorStatus)
return 0xFF;
diff --git a/src/save_failed_screen.c b/src/engine/save_failed_screen.c
index b91e8b5bf..17bda237e 100644
--- a/src/save_failed_screen.c
+++ b/src/engine/save_failed_screen.c
@@ -267,10 +267,10 @@ static void VBlankCB_UpdateClockGraphics(void)
static bool8 VerifySectorWipe(u16 sector)
{
- u32 *ptr = (u32 *)unk_2000000;
+ u32 *ptr = (u32 *)&unk_2000000;
u16 i;
- ReadFlash(sector, 0, (u8 *)ptr, 4096);
+ ReadFlash(sector, 0, ptr, 4096);
for (i = 0; i < 0x400; i++, ptr++)
if (*ptr)
diff --git a/src/save_menu_util.c b/src/engine/save_menu_util.c
index a2d17bd36..a2d17bd36 100644
--- a/src/save_menu_util.c
+++ b/src/engine/save_menu_util.c
diff --git a/src/script.c b/src/engine/script.c
index f049b96fc..8625cfdc2 100644
--- a/src/script.c
+++ b/src/engine/script.c
@@ -3,6 +3,14 @@
#include "event_data.h"
#define RAM_SCRIPT_MAGIC 51
+#define SCRIPT_STACK_SIZE 20
+
+enum
+{
+ SCRIPT_MODE_STOPPED,
+ SCRIPT_MODE_BYTECODE,
+ SCRIPT_MODE_NATIVE,
+};
EWRAM_DATA u8 *gUnknown_0202E8AC = NULL;
@@ -19,66 +27,66 @@ void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTable
{
s32 i;
- ctx->mode = 0;
- ctx->scriptPtr = 0;
+ ctx->mode = SCRIPT_MODE_STOPPED;
+ ctx->scriptPtr = NULL;
ctx->stackDepth = 0;
- ctx->nativePtr = 0;
+ ctx->nativePtr = NULL;
ctx->cmdTable = cmdTable;
ctx->cmdTableEnd = cmdTableEnd;
for (i = 0; i < 4; i++)
ctx->data[i] = 0;
- for (i = 0; i < 20; i++)
+ for (i = 0; i < SCRIPT_STACK_SIZE; i++)
ctx->stack[i] = 0;
}
u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr)
{
ctx->scriptPtr = ptr;
- ctx->mode = 1;
+ ctx->mode = SCRIPT_MODE_BYTECODE;
return 1;
}
void SetupNativeScript(struct ScriptContext *ctx, bool8 (*ptr)(void))
{
- ctx->mode = 2;
+ ctx->mode = SCRIPT_MODE_NATIVE;
ctx->nativePtr = ptr;
}
void StopScript(struct ScriptContext *ctx)
{
- ctx->mode = 0;
- ctx->scriptPtr = 0;
+ ctx->mode = SCRIPT_MODE_STOPPED;
+ ctx->scriptPtr = NULL;
}
-u8 RunScriptCommand(struct ScriptContext *ctx)
+bool8 RunScriptCommand(struct ScriptContext *ctx)
{
- if (ctx->mode == 0)
- return 0;
+ if (ctx->mode == SCRIPT_MODE_STOPPED)
+ return FALSE;
switch (ctx->mode)
{
- case 0:
- return 0;
- case 2:
+ case SCRIPT_MODE_STOPPED:
+ return FALSE;
+ case SCRIPT_MODE_NATIVE:
if (ctx->nativePtr)
{
if (ctx->nativePtr() == TRUE)
- ctx->mode = 1;
- return 1;
+ ctx->mode = SCRIPT_MODE_BYTECODE;
+ return TRUE;
}
- ctx->mode = 1;
- case 1:
+ ctx->mode = SCRIPT_MODE_BYTECODE;
+ case SCRIPT_MODE_BYTECODE:
while (1)
{
u8 cmdCode;
- ScrCmdFunc *func;
+ ScrCmdFunc *cmdFunc;
- if (!ctx->scriptPtr)
+ if (ctx->scriptPtr == NULL)
{
- ctx->mode = 0;
- return 0;
+ ctx->mode = SCRIPT_MODE_STOPPED;
+ return FALSE;
}
if (ctx->scriptPtr == gNullScriptPtr)
@@ -89,25 +97,25 @@ u8 RunScriptCommand(struct ScriptContext *ctx)
cmdCode = *(ctx->scriptPtr);
ctx->scriptPtr++;
- func = &ctx->cmdTable[cmdCode];
+ cmdFunc = &ctx->cmdTable[cmdCode];
- if (func >= ctx->cmdTableEnd)
+ if (cmdFunc >= ctx->cmdTableEnd)
{
- ctx->mode = 0;
- return 0;
+ ctx->mode = SCRIPT_MODE_STOPPED;
+ return FALSE;
}
- if ((*func)(ctx) == 1)
- return 1;
+ if ((*cmdFunc)(ctx) == TRUE)
+ return TRUE;
}
}
- return 1;
+ return TRUE;
}
u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr)
{
- if (ctx->stackDepth + 1 >= 20)
+ if (ctx->stackDepth + 1 >= SCRIPT_STACK_SIZE)
{
return 1;
}
diff --git a/src/sound.c b/src/engine/sound.c
index 91f5e06a3..a6a61c0b5 100644
--- a/src/sound.c
+++ b/src/engine/sound.c
@@ -81,8 +81,6 @@ void MapMusicMain(void)
PlayBGM(sCurrentMapMusic);
break;
case 2:
- case 3:
- case 4:
break;
case 5:
if (IsBGMStopped())
diff --git a/src/sprite.c b/src/engine/sprite.c
index fb8c2b648..34ca3802d 100644
--- a/src/sprite.c
+++ b/src/engine/sprite.c
@@ -833,13 +833,13 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr
if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
{
gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data;
- gSpriteCopyRequests[gSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
+ gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size;
gSpriteCopyRequestCount++;
}
}
-void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size)
+void RequestSpriteCopy(const void *src, u8 *dest, u16 size)
{
if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
{
@@ -850,6 +850,7 @@ void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size)
}
}
+// these two functions are unused.
void CopyFromSprites(u8 *dest)
{
u32 i;
@@ -916,16 +917,17 @@ void DestroySpriteAndFreeResources(struct Sprite *sprite)
DestroySprite(sprite);
}
-void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5)
+// Loads the mon name, level, and hp sprites into OAM.
+void DrawPartyMenuMonText(u32 a1, u32 a2, const u16 *a3, u16 a4, u32 baseTileNumber)
{
- u16 *d = a3;
+ const u16 *d = a3;
struct OamData *oam = &gMain.oamBuffer[gMain.objCount];
while (!(gMain.objCount & 0x80) && (s16)(d[0] + 1) != 0)
{
u16 *x = (u16 *)oam;
x[0] = (d[0] & sOamBitmasks[0]) | ((d[0] + a2) & sOamBitmasks[1]) | ((a4 & sOamBitmasks[2]) << 8);
x[1] = (d[1] & sOamBitmasks[3]) | ((d[1] + a1) & sOamBitmasks[4]) | ((a4 & sOamBitmasks[5]) << 4);
- x[2] = (d[2] & sOamBitmasks[6]) | ((d[2] + a5) & sOamBitmasks[7]) | (a4 & sOamBitmasks[8]);
+ x[2] = (d[2] & sOamBitmasks[6]) | ((d[2] + baseTileNumber) & sOamBitmasks[7]) | (a4 & sOamBitmasks[8]);
oam++;
gMain.objCount++;
d += 3;
@@ -1478,7 +1480,7 @@ u16 LoadSpriteSheet(const struct SpriteSheet *sheet)
else
{
AllocSpriteTileRange(sheet->tag, (u16)tileStart, sheet->size / TILE_SIZE_4BPP);
- CpuCopy16(sheet->data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size);
+ CpuCopy16(sheet->data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size);
return (u16)tileStart;
}
}
@@ -1516,7 +1518,7 @@ void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet)
{
const u8 *data = sheet->data;
u16 tileStart = GetSpriteTileStartByTag(sheet->tag);
- CpuCopy16(data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size);
+ CpuCopy16(data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size);
}
void LoadTilesForSpriteSheets(struct SpriteSheet *sheets)
@@ -1602,7 +1604,7 @@ void RequestSpriteSheetCopy(const struct SpriteSheet *sheet)
{
const u8 *data = sheet->data;
u16 tileStart = GetSpriteTileStartByTag(sheet->tag);
- RequestSpriteCopy(data, (u8 *)OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size);
+ RequestSpriteCopy(data, OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size);
}
u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet)
diff --git a/src/string_util.c b/src/engine/string_util.c
index 9686256a1..7316f533a 100644
--- a/src/string_util.c
+++ b/src/engine/string_util.c
@@ -376,7 +376,7 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
{
u8 c = *src++;
u8 placeholderId;
- u8 *expandedString;
+ const u8 *expandedString;
u8 length;
switch (c)
@@ -432,45 +432,45 @@ u8 *StringBraille(u8 *dest, const u8 *src)
}
}
-static u8 *ExpandPlaceholder_UnknownStringVar(void)
+static const u8 *ExpandPlaceholder_UnknownStringVar(void)
{
return gUnknownStringVar;
}
-static u8 *ExpandPlaceholder_PlayerName(void)
+static const u8 *ExpandPlaceholder_PlayerName(void)
{
return gSaveBlock2.playerName;
}
-static u8 *ExpandPlaceholder_StringVar1(void)
+static const u8 *ExpandPlaceholder_StringVar1(void)
{
return gStringVar1;
}
-static u8 *ExpandPlaceholder_StringVar2(void)
+static const u8 *ExpandPlaceholder_StringVar2(void)
{
return gStringVar2;
}
-static u8 *ExpandPlaceholder_StringVar3(void)
+static const u8 *ExpandPlaceholder_StringVar3(void)
{
return gStringVar3;
}
-static u8 *ExpandPlaceholder_KunChan(void)
+static const u8 *ExpandPlaceholder_KunChan(void)
{
if (gSaveBlock2.playerGender == MALE)
- return (u8 *) gExpandedPlaceholder_Kun;
+ return gExpandedPlaceholder_Kun;
else
- return (u8 *) gExpandedPlaceholder_Chan;
+ return gExpandedPlaceholder_Chan;
}
-static u8 *ExpandPlaceholder_RivalName(void)
+static const u8 *ExpandPlaceholder_RivalName(void)
{
if (gSaveBlock2.playerGender == MALE)
- return (u8 *) gExpandedPlaceholder_May;
+ return gExpandedPlaceholder_May;
else
- return (u8 *) gExpandedPlaceholder_Brendan;
+ return gExpandedPlaceholder_Brendan;
}
#define VERSION_DEPENDENT_PLACEHOLDER_LIST \
@@ -484,19 +484,19 @@ static u8 *ExpandPlaceholder_RivalName(void)
#ifdef SAPPHIRE
#define X(ph, r, s) \
-static u8 *ExpandPlaceholder_##ph(void) { return (u8 *) gExpandedPlaceholder_##s; }
+static const u8 *ExpandPlaceholder_##ph(void) { return gExpandedPlaceholder_##s; }
VERSION_DEPENDENT_PLACEHOLDER_LIST
#else
#define X(ph, r, s) \
-static u8 *ExpandPlaceholder_##ph(void) { return (u8 *) gExpandedPlaceholder_##r; }
+static const u8 *ExpandPlaceholder_##ph(void) { return gExpandedPlaceholder_##r; }
VERSION_DEPENDENT_PLACEHOLDER_LIST
#endif
#undef X
-u8 *GetExpandedPlaceholder(u32 id)
+const u8 *GetExpandedPlaceholder(u32 id)
{
- typedef u8 *(*ExpandPlaceholderFunc)(void);
+ typedef const u8 *(*ExpandPlaceholderFunc)(void);
static const ExpandPlaceholderFunc funcs[] =
{
@@ -517,7 +517,7 @@ u8 *GetExpandedPlaceholder(u32 id)
};
if (id >= ARRAY_COUNT(funcs))
- return (u8 *) gExpandedPlaceholder_Empty;
+ return gExpandedPlaceholder_Empty;
else
return funcs[id]();
}
diff --git a/src/task.c b/src/engine/task.c
index 7bd2b5937..7bd2b5937 100644
--- a/src/task.c
+++ b/src/engine/task.c
diff --git a/src/text.c b/src/engine/text.c
index b27084b86..1d1d31383 100644
--- a/src/text.c
+++ b/src/engine/text.c
@@ -219,12 +219,12 @@ static const u8 sBrailleGlyphs[] = INCBIN_U8("graphics/fonts/font6_braille.1bpp"
static const u32 sDownArrowTiles[] = INCBIN_U32("graphics/fonts/down_arrow.4bpp");
// clang-format off
-#include "data/text/type1_map.h"
-#include "data/text/type3_map.h"
-#include "data/text/font1_widths.h"
-#include "data/text/font4_widths.h"
-#include "data/text/font0_widths.h"
-#include "data/text/font3_widths.h"
+#include "../data/text/type1_map.h"
+#include "../data/text/type3_map.h"
+#include "../data/text/font1_widths.h"
+#include "../data/text/font4_widths.h"
+#include "../data/text/font0_widths.h"
+#include "../data/text/font3_widths.h"
// clang-format on
const u16 gUnknownPalette_81E6692[] = INCBIN_U16("graphics/fonts/unknown_81E6692.gbapal");
@@ -396,6 +396,8 @@ extern const u32 gFont4LatinGlyphs[];
extern const u32 gFont3JapaneseGlyphs[];
extern const u32 gFont4JapaneseGlyphs[];
+// Getting rid of the u8 recasting will make the ROM no longer match due to
+// a const being required to pass the elements directly to the rodata structs.
static const struct Font sFonts[] =
{
// Japanese fonts
@@ -405,15 +407,15 @@ static const struct Font sFonts[] =
{ 4, (u8 *)gFont3JapaneseGlyphs, 64, 512 },
{ 1, (u8 *)gFont4JapaneseGlyphs, 32, 0 },
{ 2, (u8 *)gFont4JapaneseGlyphs, 32, 0 },
- { 3, (u8 *)sBrailleGlyphs, 8, 0 },
+ { 3, (u8 *)sBrailleGlyphs, 8, 0 },
// Latin
- { 0, (u8 *)sFont0LatinGlyphs, 16, 8 },
- { 1, (u8 *)sFont1LatinGlyphs, 8, 0 },
- { 2, (u8 *)sFont1LatinGlyphs, 8, 0 },
- { 0, (u8 *)gFont3LatinGlyphs, 64, 32 },
- { 1, (u8 *)gFont4LatinGlyphs, 32, 0 },
- { 2, (u8 *)gFont4LatinGlyphs, 32, 0 },
- { 3, (u8 *)sBrailleGlyphs, 8, 0 },
+ { 0, (u8 *)sFont0LatinGlyphs, 16, 8 },
+ { 1, (u8 *)sFont1LatinGlyphs, 8, 0 },
+ { 2, (u8 *)sFont1LatinGlyphs, 8, 0 },
+ { 0, (u8 *)gFont3LatinGlyphs, 64, 32 },
+ { 1, (u8 *)gFont4LatinGlyphs, 32, 0 },
+ { 2, (u8 *)gFont4LatinGlyphs, 32, 0 },
+ { 3, (u8 *)sBrailleGlyphs, 8, 0 },
};
static const u8 sTextSpeedDelays[] = { 6, 3, 1 }; // slow, mid, fast
@@ -492,8 +494,8 @@ const struct WindowConfig gWindowConfig_81E6C3C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6C58 =
@@ -513,8 +515,8 @@ const struct WindowConfig gWindowConfig_81E6C58 =
0, // tilemap top coordinate
26, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(24), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(24), // tilemap
};
const struct WindowConfig gWindowConfig_81E6C74 =
@@ -534,7 +536,7 @@ const struct WindowConfig gWindowConfig_81E6C74 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)OBJ_VRAM0, // tile data
+ OBJ_VRAM0, // tile data
NULL, // tilemap
};
@@ -555,8 +557,8 @@ const struct WindowConfig gWindowConfig_81E6C90 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(1), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(1), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6CAC =
@@ -597,8 +599,8 @@ const struct WindowConfig gWindowConfig_81E6CC8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E6CE4 =
@@ -618,8 +620,8 @@ const struct WindowConfig gWindowConfig_81E6CE4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D00 =
@@ -639,8 +641,8 @@ const struct WindowConfig gWindowConfig_81E6D00 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D1C =
@@ -660,8 +662,8 @@ const struct WindowConfig gWindowConfig_81E6D1C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D38 =
@@ -702,8 +704,8 @@ const struct WindowConfig gWindowConfig_81E6D54 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(3), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(3), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D70 =
@@ -723,8 +725,8 @@ const struct WindowConfig gWindowConfig_81E6D70 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(3), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(3), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D8C =
@@ -744,8 +746,8 @@ const struct WindowConfig gWindowConfig_81E6D8C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(14), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(14), // tilemap
};
const struct WindowConfig gWindowConfig_81E6DA8 =
@@ -765,8 +767,8 @@ const struct WindowConfig gWindowConfig_81E6DA8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(11), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(11), // tilemap
};
const struct WindowConfig WindowConfig_TrainerCard_Back_Values =
@@ -786,8 +788,8 @@ const struct WindowConfig WindowConfig_TrainerCard_Back_Values =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig WindowConfig_TrainerCard_Back_Labels =
@@ -807,8 +809,8 @@ const struct WindowConfig WindowConfig_TrainerCard_Back_Labels =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6DFC =
@@ -828,8 +830,8 @@ const struct WindowConfig gWindowConfig_81E6DFC =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E18 =
@@ -849,8 +851,8 @@ const struct WindowConfig gWindowConfig_81E6E18 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E34 =
@@ -870,8 +872,8 @@ const struct WindowConfig gWindowConfig_81E6E34 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E50 =
@@ -891,8 +893,8 @@ const struct WindowConfig gWindowConfig_81E6E50 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E6C =
@@ -912,8 +914,8 @@ const struct WindowConfig gWindowConfig_81E6E6C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E88 =
@@ -933,8 +935,8 @@ const struct WindowConfig gWindowConfig_81E6E88 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6EA4 =
@@ -954,8 +956,8 @@ const struct WindowConfig gWindowConfig_81E6EA4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E6EC0 =
@@ -975,8 +977,8 @@ const struct WindowConfig gWindowConfig_81E6EC0 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(29), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(29), // tilemap
};
const struct WindowConfig gWindowConfig_81E6EDC =
@@ -996,8 +998,8 @@ const struct WindowConfig gWindowConfig_81E6EDC =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E6EF8 =
@@ -1017,8 +1019,8 @@ const struct WindowConfig gWindowConfig_81E6EF8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(29), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(29), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F14 =
@@ -1038,8 +1040,8 @@ const struct WindowConfig gWindowConfig_81E6F14 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F30 =
@@ -1059,8 +1061,8 @@ const struct WindowConfig gWindowConfig_81E6F30 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(29), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(29), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F4C =
@@ -1080,8 +1082,8 @@ const struct WindowConfig gWindowConfig_81E6F4C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F68 =
@@ -1101,8 +1103,8 @@ const struct WindowConfig gWindowConfig_81E6F68 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(13), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(13), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F84 =
@@ -1122,8 +1124,8 @@ const struct WindowConfig gWindowConfig_81E6F84 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6FA0 =
@@ -1143,8 +1145,8 @@ const struct WindowConfig gWindowConfig_81E6FA0 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(24), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(24), // tilemap
};
const struct WindowConfig gWindowConfig_81E6FBC =
@@ -1164,8 +1166,8 @@ const struct WindowConfig gWindowConfig_81E6FBC =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6FD8 =
@@ -1185,8 +1187,8 @@ const struct WindowConfig gWindowConfig_81E6FD8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(24), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(24), // tilemap
};
const struct WindowConfig gWindowConfig_81E6FF4 =
@@ -1206,8 +1208,8 @@ const struct WindowConfig gWindowConfig_81E6FF4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(24), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(24), // tilemap
};
const struct WindowConfig gWindowConfig_81E7010 =
@@ -1227,8 +1229,8 @@ const struct WindowConfig gWindowConfig_81E7010 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E702C =
@@ -1248,8 +1250,8 @@ const struct WindowConfig gWindowConfig_81E702C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E7048 =
@@ -1269,8 +1271,8 @@ const struct WindowConfig gWindowConfig_81E7048 =
0, // tilemap top coordinate
16, // width
32, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(14), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(14), // tilemap
};
const struct WindowConfig gWindowConfig_81E7064 =
@@ -1290,8 +1292,8 @@ const struct WindowConfig gWindowConfig_81E7064 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(14), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(14), // tilemap
};
const struct WindowConfig gWindowConfig_81E7080 =
@@ -1311,8 +1313,8 @@ const struct WindowConfig gWindowConfig_81E7080 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E709C =
@@ -1332,8 +1334,8 @@ const struct WindowConfig gWindowConfig_81E709C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E70B8 =
@@ -1353,8 +1355,8 @@ const struct WindowConfig gWindowConfig_81E70B8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E70D4 =
@@ -1374,8 +1376,8 @@ const struct WindowConfig gWindowConfig_81E70D4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E70F0 =
@@ -1416,8 +1418,8 @@ const struct WindowConfig gWindowConfig_81E710C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7128 =
@@ -1437,8 +1439,8 @@ const struct WindowConfig gWindowConfig_81E7128 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7144 =
@@ -1458,8 +1460,8 @@ const struct WindowConfig gWindowConfig_81E7144 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7160 =
@@ -1479,8 +1481,8 @@ const struct WindowConfig gWindowConfig_81E7160 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(1), // tile data
- (u16 *)BG_SCREEN_ADDR(10), // tilemap
+ BG_CHAR_ADDR(1), // tile data
+ BG_SCREEN_ADDR(10), // tilemap
};
const struct WindowConfig gWindowConfig_81E717C =
@@ -1500,8 +1502,8 @@ const struct WindowConfig gWindowConfig_81E717C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(3), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(3), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7198 =
@@ -1521,8 +1523,8 @@ const struct WindowConfig gWindowConfig_81E7198 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E71B4 =
@@ -1542,8 +1544,8 @@ const struct WindowConfig gWindowConfig_81E71B4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E71D0 =
@@ -1563,8 +1565,8 @@ const struct WindowConfig gWindowConfig_81E71D0 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(1), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(1), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E71EC =
@@ -1584,8 +1586,8 @@ const struct WindowConfig gWindowConfig_81E71EC =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(1), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(1), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E7208 =
@@ -1605,8 +1607,8 @@ const struct WindowConfig gWindowConfig_81E7208 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E7224 =
@@ -1626,8 +1628,8 @@ const struct WindowConfig gWindowConfig_81E7224 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7240 =
@@ -1647,8 +1649,8 @@ const struct WindowConfig gWindowConfig_81E7240 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E725C =
@@ -1668,7 +1670,7 @@ const struct WindowConfig gWindowConfig_81E725C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)OBJ_VRAM0, // tile data
+ OBJ_VRAM0, // tile data
NULL, // tilemap
};
@@ -1943,7 +1945,7 @@ void InitWindowFromConfig(struct Window *win, const struct WindowConfig *winConf
void InitWindow(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top)
{
- struct WindowConfig *winConfig = win->config;
+ const struct WindowConfig *winConfig = win->config;
win->textMode = winConfig->textMode;
win->fontNum = winConfig->fontNum;
win->language = GAME_LANGUAGE;
@@ -2342,7 +2344,7 @@ u8 sub_8003490(struct Window *win, u8 c, u16 tileDataStartOffset, u8 left, u8 to
void sub_80034D4(u8 *tileData, const u8 *text)
{
- sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6C74, tileData, text);
+ sub_8004E3C(&gWindowConfig_81E6C74, tileData, text);
}
u8 sub_80034EC(u8 *str)
@@ -3645,7 +3647,7 @@ void sub_8004E28(struct Window *win, u8 *foreground, u8 *background, u8 *shadow)
*shadow = win->shadowColor;
}
-void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, const u8 *text)
+void sub_8004E3C(const struct WindowConfig *winConfig, u8 *tileData, const u8 *text)
{
sTempWindow.config = winConfig;
InitWindow(&sTempWindow, text, 0, 0, 0);
@@ -3653,7 +3655,7 @@ void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, const u8 *text)
sub_8002F44(&sTempWindow);
}
-u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, const u8 *s)
+u8 GetStringWidthGivenWindowConfig(const struct WindowConfig *winConfig, const u8 *s)
{
sTempWindow.config = winConfig;
InitWindow(&sTempWindow, s, 0, 0, 0);
diff --git a/src/text_window.c b/src/engine/text_window.c
index 9a88789d1..9a88789d1 100644
--- a/src/text_window.c
+++ b/src/engine/text_window.c
diff --git a/src/tileset_anim.c b/src/engine/tileset_anim.c
index 34685381d..f892e5e9a 100644
--- a/src/tileset_anim.c
+++ b/src/engine/tileset_anim.c
@@ -32,8 +32,8 @@ extern u8 *gTilesetAnimTable_BikeShop[];
struct Dma
{
- u8 *src;
- u8 *dest;
+ void *src;
+ void *dest;
u16 size;
};
@@ -95,7 +95,7 @@ static void ClearTilesetAnimDmas(void)
CpuFill32(0, &gTilesetAnimDmas, sizeof(gTilesetAnimDmas));
}
-static void QueueTilesetAnimDma(u8 *src, u8 *dest, u16 size)
+static void QueueTilesetAnimDma(void *src, void *dest, u16 size)
{
if (gNumTilesetAnimDmas < 20)
{
@@ -217,28 +217,28 @@ static void sub_8073070(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], (u8 *)(BG_VRAM + 0x3f80), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], BG_TILE_ADDR(127), 0x80);
}
static void sub_8073098(u16 a1)
{
u8 v1;
v1 = a1 % 8;
- QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], (u8 *)(BG_VRAM + 0x3600), 0x3c0);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], BG_TILE_ADDR(108), 0x3c0);
}
static void sub_80730C0(u16 a1)
{
int v1;
v1 = a1 % 8;
- QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], (u8 *)(BG_VRAM + 0x3a00), 0x140);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], BG_TILE_ADDR(116), 0x140);
}
static void sub_80730E8(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], (u8 *)(BG_VRAM + 0x3e00), 0xc0);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], BG_TILE_ADDR(124), 0xc0);
}
void TilesetCB_Petalburg(void)
@@ -454,37 +454,37 @@ static void sub_807361C(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], (u8 *)(BG_VRAM + 0x3c00), 0x140);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], BG_TILE_ADDR(120), 0x140);
}
static void sub_8073644(u8 a1)
{
u8 v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], (u8 *)(BG_VRAM + 0x6400), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(200), 0x80);
v1 = (a1 + 2) % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], (u8 *)(BG_VRAM + 0x6480), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(201), 0x80);
}
static void sub_807368C(u8 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], (u8 *)(BG_VRAM + 0x7a00), 0x3c0);
+ QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], BG_TILE_ADDR(244), 0x3c0);
}
static void sub_80736B4(u8 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], (u8 *)(BG_VRAM + 0x7e00), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], BG_TILE_ADDR(252), 0x80);
}
static void sub_80736DC(u8 a1)
{
int v1;
v1 = a1 % 8;
- QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], (u8 *)(BG_VRAM + 0x7e00), 0x100);
+ QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], BG_TILE_ADDR(252), 0x100);
}
static void sub_8073704(u16 a1, u8 a2)
@@ -521,14 +521,14 @@ static void sub_80737E0(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], (u8 *)(BG_VRAM + 0x7800), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], BG_TILE_ADDR(240), 0x80);
}
static void sub_8073808(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], (u8 *)(BG_VRAM + 0x5400), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(168), 0x80);
}
static void sub_8073830(u16 a1, u8 a2)
@@ -543,7 +543,7 @@ static void sub_8073868(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], (u8 *)(BG_VRAM + 0x7400), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(232), 0x80);
}
static void sub_8073890(u16 a1)
@@ -590,41 +590,41 @@ static void sub_8073904(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], (u8 *)(BG_VRAM + 0x3e00), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], BG_TILE_ADDR(124), 0x80);
}
static void sub_807392C(u16 a1)
{
int v1;
v1 = a1 % 3;
- QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], (u8 *)(BG_VRAM + 0x7e00), 0x180);
- QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], (u8 *)(BG_VRAM + 0x7a00), 0x280);
+ QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], BG_TILE_ADDR(252), 0x180);
+ QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], BG_TILE_ADDR(244), 0x280);
}
static void sub_8073974(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], (u8 *)(BG_VRAM + 0x7f00), 0x20);
+ QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], BG_TILE_ADDR(254), 0x20);
}
static void sub_807399C(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], (u8 *)(BG_VRAM + 0x7c00), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], BG_TILE_ADDR(248), 0x80);
}
static void sub_80739C4(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], (u8 *)(BG_VRAM + 0x5200), 0x200);
+ QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], BG_TILE_ADDR(164), 0x200);
}
static void sub_80739EC(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], (u8 *)(BG_VRAM + 0x7e00), 0x120);
+ QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], BG_TILE_ADDR(252), 0x120);
}
diff --git a/src/time_events.c b/src/engine/time_events.c
index accb03db8..accb03db8 100644
--- a/src/time_events.c
+++ b/src/engine/time_events.c
diff --git a/src/engine/trade.c b/src/engine/trade.c
new file mode 100644
index 000000000..8fad94be8
--- /dev/null
+++ b/src/engine/trade.c
@@ -0,0 +1,5715 @@
+#include "global.h"
+#include "name_string_util.h"
+#include "string_util.h"
+#include "text.h"
+#include "main.h"
+#include "species.h"
+#include "items.h"
+#include "moves.h"
+#include "easy_chat.h"
+#include "link.h"
+#include "strings2.h"
+#include "graphics.h"
+#include "palette.h"
+#include "task.h"
+#include "menu.h"
+#include "text_window.h"
+#include "pokemon_icon.h"
+#include "cable_club.h"
+#include "party_menu.h"
+#include "songs.h"
+#include "sound.h"
+#include "data2.h"
+#include "pokemon_summary_screen.h"
+#include "overworld.h"
+#include "rom_8077ABC.h"
+#include "daycare.h"
+#include "event_data.h"
+#include "strings.h"
+#include "load_save.h"
+#include "save.h"
+#include "script.h"
+#include "field_fadetransition.h"
+#include "decompress.h"
+#include "mail_data.h"
+#include "evolution_scene.h"
+#include "pokeball.h"
+#include "pokedex.h"
+#include "field_effect.h"
+#include "util.h"
+#include "battle_interface.h"
+#include "trade.h"
+
+#ifdef ENGLISH
+#define sub_804A96C_alt sub_804A96C
+asm(".set sub_804A96C_alt, sub_804A96C");
+#endif
+
+#define Trade_SendData(ptr) (SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20))
+
+struct InGameTrade {
+ /*0x00*/ u8 name[11];
+ /*0x0C*/ u16 species;
+ /*0x0E*/ u8 ivs[6];
+ /*0x14*/ bool8 secondAbility;
+ /*0x18*/ u32 otId;
+ /*0x1C*/ u8 stats[5];
+ /*0x24*/ u32 personality;
+ /*0x28*/ u16 heldItem;
+ /*0x2A*/ u8 mailNum;
+ /*0x2B*/ u8 otName[11];
+ /*0x36*/ u8 otGender;
+ /*0x37*/ u8 sheen;
+ /*0x38*/ u16 playerSpecies;
+};
+
+struct UnkStructC {
+ /*0x00*/ u16 words[9];
+ /*0x10*/ u8 string[8];
+ /*0x1A*/ u8 otId[4];
+ /*0x1E*/ u16 species;
+ /*0x20*/ u16 heldItem;
+};
+
+struct UnkStructD {
+ /*0x00*/ u8 filler_00[8];
+ /*0x08*/ void *vramAddr;
+ /*0x0c*/ u8 filler_0c[4];
+ /*0x10*/ u8 unk_10;
+ /*0x12*/ u16 unk_12[0x400];
+};
+
+struct UnkStructE {
+ /*0x00*/ u8 unk_00;
+ /*0x02*/ u16 unk_02;
+ /*0x04*/ u8 unk_04;
+};
+
+struct TradeEwramSubstruct {
+ /*0x0000*/ u8 unk_0000;
+ /*0x0001*/ u8 unk_0001;
+ /*0x0004*/ struct Window window;
+ /*0x0034*/ u8 partyIcons[2][6];
+ /*0x0040*/ u8 tradeMenuCursorSpriteIdx;
+ /*0x0041*/ u8 tradeMenuCursorPosition;
+ /*0x0042*/ u8 partyCounts[2];
+ /*0x0044*/ u8 tradeMenuOptionsActive[13];
+ /*0x0051*/ u8 unk_0051[2][6];
+ /*0x005d*/ u8 unk_005d[2][6];
+ /*0x005d*/ u8 unk_0069[2][6];
+ /*0x0075*/ u8 unk_0075;
+ /*0x0076*/ u8 filler_0076[4];
+ /*0x007a*/ u8 unk_007a;
+ /*0x007b*/ u8 unk_007b;
+ /*0x007c*/ u8 unk_007c;
+ /*0x007d*/ u8 unk_007d;
+ /*0x007e*/ u16 unk_007e;
+ /*0x0080*/ u8 unk_0080[2];
+ /*0x0082*/ u8 unk_0082[2];
+ /*0x0084*/ u8 unk_0084;
+ /*0x0085*/ u8 unk_0085;
+ /*0x0086*/ u8 unk_0086;
+ /*0x0087*/ u8 unk_0087;
+ /*0x0088*/ u8 filler_0088[2];
+ /*0x008a*/ u8 unk_008a;
+ /*0x008c*/ u16 linkData[20];
+ /*0x00b4*/ u8 unk_00b4;
+ /*0x00b5*/ u8 unk_00b5[11];
+ /*0x00c0*/ u8 filler_00c0[8];
+ /*0x00c8*/ struct UnkStructD unk_00c8;
+ /*0x08dc*/ struct UnkStructE unk_08dc[4];
+ /*0x08fc*/ u8 filler_08fc[0x704];
+};
+
+IWRAM_DATA u8 gUnknown_03000508[8];
+
+struct UnkStructF {
+ u8 filler_0000[9];
+ u8 unk_0009;
+ u8 filler_000a[0xff6];
+};
+
+struct TradeEwramStruct {
+ /*0x00000*/ u8 filler_00000[0x7000];
+ /*0x07000*/ struct TradeEwramSubstruct unk_07000;
+ /*0x08000*/ struct UnkStructF unk_08000;
+ /*0x09000*/ u8 filler_09000[0x4000];
+ /*0x0d000*/ u8 tileBuffers[13][256];
+ /*0x0dd00*/ u8 filler_0dd00[0x1300];
+ /*0x0f000*/ struct TradeEwramSubstruct2 unk_0f000;
+};
+
+static void sub_8047EC0(void);
+static void sub_804AFB8(const struct WindowConfig *, u8 *, const u8 *, u8);
+static void sub_804ACD8(const u8 *, u8 *, u8);
+static void nullsub_5(u8, u8);
+static void sub_804AA88(void);
+static void sub_804A964(struct UnkStructD *, void *);
+static void sub_80489F4(void);
+static void sub_804AA0C(u8);
+static bool8 sub_8048D44(void);
+static void sub_804AF84(void);
+static bool8 sub_804ABF8(void);
+static void sub_804ACF4(u8);
+static void sub_804A41C(u8);
+static void sub_8048C70(void);
+static void sub_8048B0C(u8);
+static void sub_804AE3C(u8);
+static void sub_804AF10(void);
+static void sub_80494D8(void);
+static void sub_8048AB4(void);
+static void sub_804A940(struct UnkStructD *);
+static void sub_804B41C(void);
+static void sub_8049DE0(void);
+static void sub_804AB30(void);
+static void sub_8049ED4(u8);
+static void sub_804A6DC(u8);
+static void sub_804A938(struct UnkStructD *);
+static void sub_804A9F4(u8);
+static void sub_804AA00(u8);
+static void sub_8049E9C(u8);
+static void sub_804AADC(u16, u8);
+static void sub_804A80C(void);
+static u8 sub_80499F0(const u8 *, u8, u8);
+static void sub_804A840(u8);
+#ifdef NONMATCHING
+static
+#endif
+u8 sub_804A2B4(u8 *, u8, u8);
+static void sub_804A96C_alt(struct UnkStructD *, u8, u8, const u16 *, u8, u8, u16);
+static void sub_804A96C(struct UnkStructD *, u8, u8, const u16 *, u8, u8, u16);
+#ifdef NONMATCHING
+static
+#endif
+void sub_804A33C(u8 *, u8, u8);
+#ifdef NONMATCHING
+static
+#endif
+void sub_804A51C(u8, u8, u8, u8, u8, u8);
+static void sub_804D7AC(struct Sprite *);
+static bool8 sub_804C29C(void);
+static void sub_804DC18(void);
+static u8 sub_804B2B0(void);
+static void sub_804E144(void);
+static void sub_804E1A0(u8);
+static void sub_804DAD4(struct MailStruct *, const struct InGameTrade *);
+static void sub_804DC88(void);
+static void sub_804D6BC(struct Sprite *);
+static void sub_804D738(struct Sprite *);
+static void sub_804BBE8(u8);
+static void sub_804B058(struct Sprite *);
+static void sub_804B07C(struct Sprite *);
+static void sub_804B0BC(struct Sprite *);
+static void sub_804B104(struct Sprite *);
+static void sub_804D80C(struct Sprite *);
+static void sub_804E1DC(void);
+static void sub_804BBCC(void);
+static void sub_804D8E4(void);
+static void sub_804C164(void);
+static void sub_804C1A8(void);
+#ifdef NONMATCHING
+static
+#endif
+void sub_804DB84(void);
+
+extern u8 gUnknown_020297D8[2];
+extern u8 *gUnknown_020296CC[13];
+extern struct TradeEwramSubstruct *gUnknown_03004824;
+extern struct MailStruct gUnknown_02029700[16];
+
+#define ewram_2010000 (*(struct TradeEwramStruct *)(ewram + 0x10000))
+
+
+const u32 unref_data_820ABD4[] = {
+ 0x00000890,
+ 0x00003AC0,
+ 0x0000001C,
+ 0x00000530,
+ 0x00000024,
+ 0x00000064,
+ 0x000004D8
+};
+
+const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin");
+const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin");
+const u16 gTradeStripesBG2Tilemap[] = INCBIN_U16("graphics/trade/stripes_bg2_map.bin");
+const u16 gTradeStripesBG3Tilemap[] = INCBIN_U16("graphics/trade/stripes_bg3_map.bin");
+
+const struct OamData gOamData_820BFEC = {
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 1
+};
+
+const union AnimCmd gSpriteAnim_820BFF4[] = {
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_820BFFC[] = {
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_820C004[] = {
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_820C00C[] = {
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_820C014[] = {
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_820C01C[] = {
+ ANIMCMD_FRAME(40, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_820C024[] = {
+ gSpriteAnim_820BFF4,
+ gSpriteAnim_820BFFC,
+ gSpriteAnim_820C004,
+ gSpriteAnim_820C00C,
+ gSpriteAnim_820C014,
+ gSpriteAnim_820C01C
+};
+
+const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text1.gbapal");
+const u16 UnrefTradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text2.gbapal");
+
+const struct SpriteSheet gUnknown_0820C07C[] = {
+ {ewram_2010000.tileBuffers[ 0], 256, 200},
+ {ewram_2010000.tileBuffers[ 1], 256, 201},
+ {ewram_2010000.tileBuffers[ 2], 256, 202},
+ {ewram_2010000.tileBuffers[ 3], 256, 203},
+ {ewram_2010000.tileBuffers[ 4], 256, 204},
+ {ewram_2010000.tileBuffers[ 5], 256, 205},
+ {ewram_2010000.tileBuffers[ 6], 256, 206},
+ {ewram_2010000.tileBuffers[ 7], 256, 207},
+ {ewram_2010000.tileBuffers[ 8], 256, 208},
+ {ewram_2010000.tileBuffers[ 9], 256, 209},
+ {ewram_2010000.tileBuffers[10], 256, 210},
+ {ewram_2010000.tileBuffers[11], 256, 211},
+ {ewram_2010000.tileBuffers[12], 256, 212},
+};
+
+const struct SpritePalette gSpritePalette_TradeScreenText = {
+ TradeScreenTextPalette, 4925
+};
+
+const struct SpriteTemplate gSpriteTemplate_820C0EC = {
+ 200,
+ 4925,
+ &gOamData_820BFEC,
+ gSpriteAnimTable_820C024,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+const struct OamData gOamData_820C104 = {
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 1
+};
+
+const union AnimCmd gSpriteAnim_820C10C[] = {
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_820C114[] = {
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_820C11C[] = {
+ gSpriteAnim_820C10C,
+ gSpriteAnim_820C114
+};
+
+const struct SpriteSheet gUnknown_0820C124 = {
+ gUnknown_08EA1DEC, 0x800, 300
+};
+
+const struct SpritePalette gUnknown_0820C12C = {
+ gUnknown_08EA0328, 2345
+};
+
+const struct SpriteTemplate gSpriteTemplate_820C134 = {
+ 300,
+ 2345,
+ &gOamData_820C104,
+ gSpriteAnimTable_820C11C,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+const u8 *const gUnknown_0820C14C[] = {
+ TradeText_Cancel,
+ TradeText_ChoosePoke,
+ TradeText_Summary1,
+ TradeText_Trade1,
+ TradeText_CancelTradePrompt,
+ TradeText_PressBToExit
+};
+
+// This is used to determine the next mon to select when the D-Pad is
+// pressed in a given direction.
+// Note that the mons are laid out like this.
+// 0-5 are the player's party and 6-11 are the trading partner's party.
+// 12 is the cancel button.
+// 0 1 6 7
+// 2 3 8 9
+// 4 5 10 11
+// 12
+
+const u8 gTradeNextSelectedMonTable[][4][6] = {
+ {
+ { 4, 2, 12, 12, 0, 0},
+ { 2, 4, 12, 12, 0, 0},
+ { 7, 6, 1, 0, 0, 0},
+ { 1, 6, 7, 0, 0, 0}
+ }, {
+ { 5, 3, 12, 12, 0, 0},
+ { 3, 5, 12, 12, 0, 0},
+ { 0, 7, 6, 1, 0, 0},
+ { 6, 7, 0, 1, 0, 0}
+ }, {
+ { 0, 0, 0, 0, 0, 0},
+ { 4, 0, 0, 0, 0, 0},
+ { 9, 8, 7, 6, 0, 0},
+ { 3, 1, 0, 0, 0, 0}
+ }, {
+ { 1, 1, 1, 1, 0, 0},
+ { 5, 1, 1, 1, 0, 0},
+ { 2, 9, 8, 7, 0, 0},
+ { 8, 9, 6, 6, 0, 0}
+ }, {
+ { 2, 2, 2, 2, 0, 0},
+ { 0, 0, 0, 0, 0, 0},
+ {11, 10, 9, 8, 7, 6},
+ { 5, 3, 1, 0, 0, 0}
+ }, {
+ { 3, 3, 3, 3, 0, 0},
+ { 1, 1, 1, 1, 0, 0},
+ { 4, 4, 4, 4, 0, 0},
+ {10, 8, 6, 0, 0, 0}
+ }, {
+ {10, 8, 12, 0, 0, 0},
+ { 8, 10, 12, 0, 0, 0},
+ { 1, 0, 0, 0, 0, 0},
+ { 7, 0, 1, 0, 0, 0}
+ }, {
+ {12, 0, 0, 0, 0, 0},
+ { 9, 12, 0, 0, 0, 0},
+ { 6, 0, 0, 0, 0, 0},
+ { 0, 0, 0, 0, 0, 0}
+ }, {
+ { 6, 0, 0, 0, 0, 0},
+ {10, 6, 0, 0, 0, 0},
+ { 3, 2, 1, 0, 0, 0},
+ { 9, 7, 0, 0, 0, 0}
+ }, {
+ { 7, 0, 0, 0, 0, 0},
+ {11, 12, 0, 0, 0, 0},
+ { 8, 0, 0, 0, 0, 0},
+ { 2, 1, 0, 0, 0, 0}
+ }, {
+ { 8, 0, 0, 0, 0, 0},
+ { 6, 0, 0, 0, 0, 0},
+ { 5, 4, 3, 2, 1, 0},
+ {11, 9, 7, 0, 0, 0}
+ }, {
+ { 9, 0, 0, 0, 0, 0},
+ {12, 0, 0, 0, 0, 0},
+ {10, 0, 0, 0, 0, 0},
+ { 4, 2, 0, 0, 0, 0}
+ }, {
+ {11, 9, 7, 6, 0, 0},
+ { 7, 6, 0, 0, 0, 0},
+ {12, 0, 0, 0, 0, 0},
+ {12, 0, 0, 0, 0, 0}
+ }
+};
+
+const u8 gTradeMonSpriteCoords[][2] = {
+ // Your party
+ {1, 5},
+ {8, 5},
+ {1, 10},
+ {8, 10},
+ {1, 15},
+ {8, 15},
+
+ // Friend's party
+ {16, 5},
+ {23, 5},
+ {16, 10},
+ {23, 10},
+ {16, 15},
+ {23, 15},
+
+ {23, 18} // CANCEL
+};
+
+const u8 gTradeLevelDisplayCoords[2][6][2] = {
+ {
+ // Your party
+ {5, 4},
+ {12, 4},
+ {5, 9},
+ {12, 9},
+ {5, 14},
+ {12, 14},
+ },
+ {
+ // Friend's party
+ {20, 4},
+ {27, 4},
+ {20, 9},
+ {27, 9},
+ {20, 14},
+ {27, 14}
+ }
+};
+
+const u8 gTradeMonBoxCoords[2][6][2] = {
+ {
+ // Your party
+ {1, 3},
+ {8, 3},
+ {1, 8},
+ {8, 8},
+ {1, 13},
+ {8, 13},
+ },
+ {
+ // Friend's party
+ {16, 3},
+ {23, 3},
+ {16, 8},
+ {23, 8},
+ {16, 13},
+ {23, 13}
+ }
+};
+
+const u8 gTradeUnknownSpriteCoords[][2][2] = {
+ {
+ { 59, 10},
+ {179, 10},
+ },
+ {
+ { 59, 10},
+ {179, 10}
+ }
+};
+
+const u8 *const gUnknown_0820C2F0[] = {
+ TradeText_LinkStandby,
+ TradeText_TradeCancelled,
+ TradeText_OnlyPoke,
+ TradeText_NonTradablePoke,
+ TradeText_WaitingForFriend,
+ TradeText_WantToTrade
+};
+
+const u8 gTradeMessageWindowRects[][4] = {
+ {8, 7, 22, 12},
+ {8, 7, 22, 12},
+ {6, 7, 24, 12},
+ {6, 7, 24, 12},
+ {8, 7, 22, 12},
+ {7, 7, 23, 12}
+};
+
+const struct MenuAction2 gUnknown_0820C320[] = {
+ {TradeText_Summary2, sub_804A9F4},
+ {TradeText_Trade2, sub_804AA00}
+};
+
+const u8 gUnknown_0820C330[][2] = {
+ { 0, 14},
+ {15, 29}
+};
+
+const u8 gUnknown_0820C334[][2] = {
+ { 3, 5},
+ { 3, 7},
+ {18, 5},
+ {18, 7}
+};
+
+const u8 gOtherText_Terminator[] = _("");
+const u8 gOtherText_MaleSymbol3[] = _("♂");
+const u8 gOtherText_FemaleSymbol3[] = _("♀");
+const u8 gOtherText_GenderlessSymbol[] = _("$");
+
+u8 *const unref_data_820C344 = gTileBuffer;
+const u8 unref_strings_820C348[][13] = {
+ _("かいめの そうしん"),
+ _("かいめの じゅしん"),
+ _("ポケモンアイコンセット"),
+ _("OBJテキストセット"),
+ _("セルセット"),
+ _("OBJテキストADD"),
+ _("システムメッセージADD"),
+ _("はいけいセット"),
+};
+
+const u8 gUnknown_0820C3B0[] = _("ヌケニン");
+const u8 unref_string_0820C3B5[] = _("こうかんせいりつ ");
+const u8 unref_string_0820C3C3[] = _("だめだたらしいよ ");
+const u8 gUnknown_0820C3D1[][2] = {
+ { 4, 3},
+ {19, 3},
+ { 0, 0}
+};
+
+const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal");
+const u32 gTradeBallTiles[] = INCBIN_U32("graphics/trade/ball.4bpp");
+const u16 gUnknown_0820C9F8[][16] = {
+ INCBIN_U16("graphics/trade/unknown.gbapal"),
+ INCBIN_U16("graphics/trade/gba.gbapal"),
+ INCBIN_U16("graphics/trade/shadow.gbapal"),
+ {},
+ INCBIN_U16("graphics/trade/misc.gbapal")
+};
+
+const u32 gUnknown_0820CA98[] = INCBIN_U32("graphics/trade/gba.4bpp");
+const u32 gUnknown_0820CA98_2[] = INCBIN_U32("graphics/trade/shadow.4bpp");
+const u32 gUnknown_0820DD98[] = INCBIN_U32("graphics/trade/pokeball_symbol.8bpp");
+const u16 gUnknown_0820F798[] = INCBIN_U16("graphics/trade/shadow_map.bin");
+const u16 gUnknown_08210798[] = INCBIN_U16("graphics/trade/gba_map.bin");
+const u16 gUnknown_08211798[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin");
+const u16 gUnknown_08211F98[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin");
+const u16 unused_08212098[] = INCBIN_U16("graphics/unused/unknown/8212098.gbapal");
+const u16 gTradeCableEndPalette[] = INCBIN_U16("graphics/trade/cable_end.gbapal");
+const u16 unused_082120D8[] = INCBIN_U16("graphics/unused/unknown/82120D8.gbapal");
+const u16 nullpal_082120F8[16] = {};
+const u16 gTradeGlowPalette[] = INCBIN_U16("graphics/trade/glow.gbapal");
+const u32 gTradeGlow1Tiles[] = INCBIN_U32("graphics/trade/glow1.4bpp");
+const u32 gTradeGlow2Tiles[] = INCBIN_U32("graphics/trade/glow2.4bpp");
+const u32 gTradeCableEndTiles[] = INCBIN_U32("graphics/trade/cable_end.4bpp");
+const u32 gTradeGBAScreenTiles[] = INCBIN_U32("graphics/trade/gba_screen.4bpp");
+const u32 gUnknown_08213738[] = INCBIN_U32("graphics/trade/gba_affine.8bpp");
+const u16 gUnknown_08215778[] = INCBIN_U16("graphics/trade/gba_affine_map.bin");
+
+const struct OamData gOamData_8215878 = {
+ .affineMode = 1,
+ .size = 1
+};
+
+const union AnimCmd gSpriteAnim_8215880[] = {
+ ANIMCMD_FRAME( 0, 3),
+ ANIMCMD_FRAME( 4, 3),
+ ANIMCMD_FRAME( 8, 3),
+ ANIMCMD_FRAME(12, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(20, 3),
+ ANIMCMD_FRAME(24, 3),
+ ANIMCMD_FRAME(28, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(36, 3),
+ ANIMCMD_FRAME(40, 3),
+ ANIMCMD_FRAME(44, 3),
+ ANIMCMD_LOOP(1),
+ ANIMCMD_FRAME( 0, 3),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_82158BC[] = {
+ ANIMCMD_FRAME( 0, 3),
+ ANIMCMD_FRAME( 4, 3),
+ ANIMCMD_FRAME( 8, 3),
+ ANIMCMD_FRAME(12, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(20, 3),
+ ANIMCMD_FRAME(24, 3),
+ ANIMCMD_FRAME(28, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(36, 3),
+ ANIMCMD_FRAME(40, 3),
+ ANIMCMD_FRAME(44, 3),
+ ANIMCMD_LOOP(2),
+ ANIMCMD_FRAME( 0, 3),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_82158F8[] = {
+ gSpriteAnim_8215880,
+ gSpriteAnim_82158BC
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8215900[] = {
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_END
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8215910[] = {
+ AFFINEANIMCMD_FRAME(-8, 0, 0, 20),
+ AFFINEANIMCMD_END
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8215920[] = {
+ AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 5),
+ AFFINEANIMCMD_FRAME( 8, 0, 0, 20),
+ AFFINEANIMCMD_END
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8215940[] = {
+ gSpriteAffineAnim_8215900,
+ gSpriteAffineAnim_8215910,
+ gSpriteAffineAnim_8215920
+};
+
+const struct SpriteSheet gUnknown_0821594C = {
+ (const u8 *)gTradeBallTiles, 0x600, 5557
+};
+
+const struct SpritePalette gUnknown_08215954 = {
+ gTradeBallPalette, 5558
+};
+
+const struct SpriteTemplate gSpriteTemplate_821595C = {
+ 5557,
+ 5558,
+ &gOamData_8215878,
+ gSpriteAnimTable_82158F8,
+ NULL,
+ gSpriteAffineAnimTable_8215940,
+ sub_804D6BC
+};
+
+const struct OamData gOamData_8215974 = {
+ .affineMode = 1,
+ .objMode = 1,
+ .size = 2,
+ .priority = 1
+};
+
+const union AnimCmd gSpriteAnim_821597C[] = {
+ ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_8215984[] = {
+ gSpriteAnim_821597C
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8215988[] = {
+ AFFINEANIMCMD_FRAME(-10, -10, 0, 5),
+ AFFINEANIMCMD_FRAME(10, 10, 0, 5),
+ AFFINEANIMCMD_JUMP(0)
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_82159A0[] = {
+ gSpriteAffineAnim_8215988
+};
+
+const struct SpriteSheet gUnknown_082159A4 = {
+ (const u8 *)gTradeGlow1Tiles, 0x200, 5550
+};
+
+const struct SpritePalette gUnknown_082159AC = {
+ gTradeGlowPalette, 5551
+};
+
+const struct SpritePalette gUnknown_082159B4 = {
+ gTradeCableEndPalette, 5555
+};
+
+const struct SpriteTemplate gSpriteTemplate_82159BC = {
+ 5550,
+ 5551,
+ &gOamData_8215974,
+ gSpriteAnimTable_8215984,
+ NULL,
+ gSpriteAffineAnimTable_82159A0,
+ sub_804B058
+};
+
+const struct OamData gOamData_82159D4 = {
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 1
+};
+
+const union AnimCmd gSpriteAnim_82159DC[] = {
+ ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_82159E4[] = {
+ ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_82159EC[] = {
+ gSpriteAnim_82159DC,
+ gSpriteAnim_82159E4
+};
+
+const struct SpriteSheet gUnknown_082159F4 = {
+ (const u8 *)gTradeGlow2Tiles, 0x300, 5552
+};
+
+const struct SpriteTemplate gSpriteTemplate_82159FC = {
+ 5552,
+ 5551,
+ &gOamData_82159D4,
+ gSpriteAnimTable_82159EC,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ sub_804B07C
+};
+
+const struct OamData gOamData_8215A14 = {
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 1
+};
+
+const union AnimCmd gSpriteAnim_8215A1C[] = {
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_8215A24[] = {
+ gSpriteAnim_8215A1C
+};
+
+const struct SpriteSheet gUnknown_08215A28 = {
+ (const u8 *)gTradeCableEndTiles, 0x100, 5554
+};
+
+const struct SpriteTemplate gSpriteTemplate_8215A30 = {
+ 5554,
+ 5555,
+ &gOamData_8215A14,
+ gSpriteAnimTable_8215A24,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ sub_804B0BC
+};
+
+const struct OamData gOamData_8215A48 = {
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 1
+};
+
+const union AnimCmd gSpriteAnim_8215A50[] = {
+ ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_LOOP(8),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_8215A74[] = {
+ gSpriteAnim_8215A50
+};
+
+const struct SpriteSheet gUnknown_08215A78 = {
+ (const u8 *)gTradeGBAScreenTiles, 0x1000, 5556
+};
+
+const struct SpriteTemplate gSpriteTemplate_8215A80 = {
+ 5556,
+ 5555,
+ &gOamData_8215A48,
+ gSpriteAnimTable_8215A74,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ sub_804B104
+};
+
+const u16 gTradeGlow2PaletteAnimTable[] = {
+ RGB(18, 24, 31),
+ RGB(18, 24, 31),
+ RGB(18, 24, 31),
+ RGB(31, 31, 31),
+ RGB(31, 31, 31),
+ RGB(31, 31, 31),
+ RGB(18, 24, 31),
+ RGB(18, 24, 31),
+ RGB(18, 24, 31),
+ RGB(31, 31, 31),
+ RGB(31, 31, 31),
+ RGB(31, 31, 31),
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_8215AB0[] = {
+ AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_JUMP(0)
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8215AC0[] = {
+ gSpriteAffineAnim_8215AB0
+};
+
+const struct InGameTrade gIngameTrades[] = {
+#if ENGLISH
+ {
+ _("MAKIT"), SPECIES_MAKUHITA,
+ 5, 5, 4, 4, 4, 4,
+ TRUE, 49562,
+ 5, 5, 5, 5, 30,
+ 0x9C40,
+ ITEM_X_ATTACK, -1,
+ _("ELYSSA"), MALE, 10,
+ SPECIES_SLAKOTH
+ }, {
+ _("SKITIT"), SPECIES_SKITTY,
+ 5, 4, 4, 5, 4, 4,
+ FALSE, 2259,
+ 5, 5, 30, 5, 5,
+ 0x498A2E17,
+ ITEM_GLITTER_MAIL, 0,
+ _("DARRELL"), FEMALE, 10,
+ SPECIES_PIKACHU
+ }, {
+ _("COROSO"),
+ SPECIES_CORSOLA,
+ 4, 4, 5, 4, 4, 5,
+ TRUE, 50183,
+ 5, 30, 5, 5, 5,
+ 0x4C970B7F,
+ ITEM_TROPIC_MAIL, 1,
+ _("LANE"), FEMALE, 10,
+ SPECIES_BELLOSSOM
+ }
+#elif GERMAN
+ {
+ _("MAKIT"), SPECIES_MAKUHITA,
+ 5, 5, 4, 4, 4, 4,
+ TRUE, 49562,
+ 5, 5, 5, 5, 30,
+ 0x9C40,
+ ITEM_X_ATTACK, -1,
+ _("MAIK"), MALE, 10,
+ SPECIES_SLAKOTH
+ }, {
+ _("CONEC"), SPECIES_SKITTY,
+ 5, 4, 4, 5, 4, 4,
+ FALSE, 2259,
+ 5, 5, 30, 5, 5,
+ 0x498A2E17,
+ ITEM_GLITTER_MAIL, 0,
+ _("MADINA"), FEMALE, 10,
+ SPECIES_PIKACHU
+ }, {
+ _("CORASO"),
+ SPECIES_CORSOLA,
+ 4, 4, 5, 4, 4, 5,
+ TRUE, 50183,
+ 5, 30, 5, 5, 5,
+ 0x4C970B7F,
+ ITEM_TROPIC_MAIL, 1,
+ _("LIANA"), FEMALE, 10,
+ SPECIES_BELLOSSOM
+ }
+#endif
+};
+
+const u16 gIngameTradeMail[][10] = {
+#if ENGLISH
+ {
+ EC_POKEMON(PIKACHU),
+ EC_WORD_THANK_YOU,
+ EC_WORD_EXCL,
+ EC_WORD_MY,
+ EC_POKEMON(SKITTY),
+ EC_WORD_EATS,
+ EC_WORD_A_LOT,
+ EC_WORD_NOW,
+ EC_WORD_EXCL,
+ 0
+ }, {
+ EC_WORD_I,
+ EC_WORD_WANT,
+ EC_WORD_TO,
+ EC_WORD_SEE,
+ EC_WORD_A,
+ EC_MOVE2(PETAL_DANCE),
+ EC_WORD_IT_S,
+ EC_WORD_SO,
+ EC_WORD_PRETTY,
+ 0
+ }
+#elif GERMAN
+ {
+ EC_POKEMON(PIKACHU),
+ EC_WORD_THANK_YOU,
+ EC_WORD_EXCL,
+ EC_WORD_MY,
+ EC_POKEMON(SKITTY),
+ EC_WORD_EATS,
+ 0xFFFF,
+ EC_WORD_A_LOT,
+ EC_WORD_EXCL,
+ 0
+ }, {
+ EC_WORD_I,
+ EC_WORD_WANT,
+ EC_WORD_OF,
+ EC_MOVE2(PETAL_DANCE),
+ EC_WORD_WORKS,
+ EC_WORD_THE,
+ EC_WORD_IS,
+ EC_WORD_SO,
+ EC_WORD_PRETTY,
+ 0
+ }
+#endif
+};
+
+const s8 gTradeBallVerticalVelocityTable[] = {
+ 0, 0, 1, 0,
+ 1, 0, 1, 1,
+ 1, 1, 2, 2,
+ 2, 2, 3, 3,
+ 3, 3, 4, 4,
+ 4, 4, -4, -4,
+ -4, -3, -3, -3,
+ -3, -2, -2, -2,
+ -2, -1, -1, -1,
+ -1, 0, -1, 0,
+ -1, 0, 0, 0,
+ 0, 0, 1, 0,
+ 1, 0, 1, 1,
+ 1, 1, 2, 2,
+ 2, 2, 3, 3,
+ 3, 3, 4, 4,
+ 4, 4, -4, -3,
+ -3, -2, -2, -1,
+ -1, -1, 0, -1,
+ 0, 0, 0, 0,
+ 0, 0, 1, 0,
+ 1, 1, 1, 2,
+ 2, 3, 3, 4,
+ -4, -3, -2, -1,
+ -1, -1, 0, 0,
+ 0, 0, 1, 0,
+ 1, 1, 2, 3
+};
+
+// .text
+
+void sub_8047CD8(void)
+{
+ SetMainCallback2(sub_8047EC0);
+}
+
+static void sub_8047CE8(void)
+{
+ u8 mpId;
+ sub_804AFB8(&gWindowConfig_81E725C, gUnknown_020296CC[0], gSaveBlock2.playerName, 0xC);
+ mpId = GetMultiplayerId();
+ sub_804AFB8(&gWindowConfig_81E725C, gUnknown_020296CC[3], gLinkPlayers[mpId ^ 1].name, 0xC);
+ sub_804AFB8(&gWindowConfig_81E725C, gUnknown_020296CC[6], gUnknown_0820C14C[0], 0x8);
+ sub_804ACD8(gUnknown_0820C14C[1], gUnknown_020296CC[8], 0x14);
+ nullsub_5(3, 0);
+}
+
+static void sub_8047D58(void)
+{
+ struct SpriteTemplate spriteTemplate;
+ int i;
+ u8 mpId;
+ u16 slen;
+ int language;
+
+ slen = StringLength(gSaveBlock2.playerName);
+ language = slen <= 5 ? 0 : 1;
+ for (i = 0; i < 3; i ++)
+ {
+ spriteTemplate = gSpriteTemplate_820C0EC;
+ spriteTemplate.tileTag += i;
+ CreateSprite(&spriteTemplate, gTradeUnknownSpriteCoords[language][0][0] + 32 * i, gTradeUnknownSpriteCoords[language][0][1], 1);
+ }
+
+ mpId = GetMultiplayerId();
+ slen = StringLength(gLinkPlayers[mpId ^ 1].name);
+ language = slen <= 5 ? 0 : 1;
+ for (i = 0; i < 3; i ++)
+ {
+ spriteTemplate = gSpriteTemplate_820C0EC;
+ spriteTemplate.tileTag += i + 3;
+ CreateSprite(&spriteTemplate, gTradeUnknownSpriteCoords[language][1][0] + 32 * i, gTradeUnknownSpriteCoords[language][1][1], 1);
+ }
+ nullsub_5(5, 0);
+}
+
+static void sub_8047E44(void)
+{
+ struct SpriteTemplate spriteTemplate;
+ int i;
+
+ for (i = 0; i < 2; i ++)
+ {
+ spriteTemplate = gSpriteTemplate_820C0EC;
+ spriteTemplate.tileTag += i + 6;
+ CreateSprite(&spriteTemplate, 0xd6 + 32 * i, 0x98, 1);
+ }
+
+ for (i = 0; i < 5; i ++)
+ {
+ spriteTemplate = gSpriteTemplate_820C0EC;
+ spriteTemplate.tileTag += i + 8;
+ CreateSprite(&spriteTemplate, 0x18 + 32 * i, 0x96, 1);
+ }
+}
+
+static void sub_8047EC0(void)
+{
+ int i;
+
+ switch (gMain.state)
+ {
+ case 0:
+ gUnknown_03004824 = &ewram_2010000.unk_07000;
+ sub_804AA88();
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5));
+ SetVBlankCallback(sub_80489F4);
+ InitMenuWindow(&gWindowConfig_81E6CE4);
+ SetUpWindowConfig(&gWindowConfig_81E6F84);
+ InitWindowFromConfig(&gUnknown_03004824->window, &gWindowConfig_81E6F84);
+ gUnknown_03004824->unk_007a = SetTextWindowBaseTileNum(20);
+ LoadTextWindowGraphics(&gUnknown_03004824->window);
+ MenuZeroFillScreen();
+ sub_809D51C();
+ gUnknown_03004824->unk_0075 = 0;
+ gUnknown_03004824->unk_007b = 0;
+ gUnknown_03004824->unk_007c = 0;
+ gUnknown_03004824->unk_0080[0] = 0;
+ gUnknown_03004824->unk_0080[1] = 0;
+ gUnknown_03004824->unk_0086 = 0;
+ gUnknown_03004824->unk_0087 = 0;
+ gUnknown_03004824->unk_00b4 = 0;
+ gUnknown_03000508[0] = 0;
+ gMain.state ++;
+ sub_804AA0C(0);
+ CpuFill16(0, ewram_2010000.tileBuffers, sizeof(ewram_2010000.tileBuffers));
+ for (i = 0; i < 13; i ++)
+ gUnknown_020296CC[i] = ewram_2010000.tileBuffers[i];
+ break;
+ case 1:
+ gLinkType = 0x1122;
+ OpenLink();
+ for (i = 0; i < PARTY_SIZE; i ++)
+ CreateMon(&gEnemyParty[i], 0, 0, 0x20, FALSE, 0, FALSE, 0);
+ gMain.state ++;
+ gUnknown_03004824->unk_00b4 = 0;
+ CreateTask(sub_8083C50, 1);
+ break;
+ case 2:
+ gUnknown_03004824->unk_00b4 ++;
+ if (gUnknown_03004824->unk_00b4 > 11)
+ {
+ gUnknown_03004824->unk_00b4 = 0;
+ gMain.state ++;
+ }
+ break;
+ case 3:
+ if (GetLinkPlayerCount_2() >= sub_800820C())
+ {
+ if (IsLinkMaster())
+ {
+ if (++gUnknown_03004824->unk_00b4 > 30)
+ {
+ sub_8007F4C();
+ gMain.state ++;
+ }
+ }
+ else
+ gMain.state ++;
+ }
+ break;
+ case 4:
+ if (gReceivedRemoteLinkPlayers == 1 && IsLinkPlayerDataExchangeComplete() == TRUE)
+ {
+ CalculatePlayerPartyCount();
+ gMain.state ++;
+ }
+ break;
+ case 5:
+ if (sub_8048D44())
+ {
+ sub_804AF84();
+ gMain.state ++;
+ }
+ break;
+ case 6:
+ CalculateEnemyPartyCount();
+ FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, 0, 0, 29, 19);
+ REG_DISPCNT = 0;
+ gUnknown_03004824->partyCounts[0] = gPlayerPartyCount;
+ gUnknown_03004824->partyCounts[1] = gEnemyPartyCount;
+ for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++)
+ gUnknown_03004824->partyIcons[0][i] = CreateMonIcon(GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2), sub_809D62C, gTradeMonSpriteCoords[i][0] * 8 + 14, gTradeMonSpriteCoords[i][1] * 8 - 12, TRUE, GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY));
+ for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++)
+ gUnknown_03004824->partyIcons[1][i] = CreateMonIcon(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2, NULL), sub_809D62C, gTradeMonSpriteCoords[6 + i][0] * 8 + 14, gTradeMonSpriteCoords[6 + i][1] * 8 - 12, TRUE, GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY));
+ nullsub_5(2, 0);
+ gMain.state ++;
+ break;
+ case 7:
+ LoadHeldItemIconGraphics();
+ CreateHeldItemIcons(&gUnknown_03004824->partyCounts[0], gUnknown_03004824->partyIcons[0], 0);
+ gMain.state ++;
+ break;
+ case 8:
+ CreateHeldItemIcons(&gUnknown_03004824->partyCounts[0], gUnknown_03004824->partyIcons[0], 1);
+ gMain.state ++;
+ break;
+ case 9:
+ sub_8047CE8();
+ gMain.state ++;
+ gUnknown_03004824->unk_00b4 = 0;
+ break;
+ case 10:
+ nullsub_5(4, 0);
+ if (sub_804ABF8())
+ gMain.state ++;
+ break;
+ case 11:
+ sub_8047D58();
+ gMain.state ++;
+ break;
+ case 12:
+ sub_8047E44();
+ gUnknown_03004824->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_820C134, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2);
+ gUnknown_03004824->tradeMenuCursorPosition = 0;
+ gMain.state ++;
+ nullsub_5(6, 0);
+ break;
+ case 13:
+ sub_804ACF4(0);
+ sub_804A41C(0);
+ gUnknown_03004824->unk_0000 = 0;
+ gUnknown_03004824->unk_0001 = 0;
+ sub_8048C70();
+ gMain.state ++;
+ nullsub_5(7, 0);
+ PlayBGM(BGM_P_SCHOOL);
+ break;
+ case 14:
+ sub_804ACF4(1);
+ sub_804A41C(1);
+ gMain.state ++;
+ // fallthrough
+ case 15:
+ sub_8048B0C(0);
+ gMain.state ++;
+ break;
+ case 16:
+ sub_8048B0C(1);
+ gMain.state ++;
+ break;
+ case 17:
+ BeginNormalPaletteFade(-1, 0, 16, 0, 0);
+ gMain.state ++;
+ break;
+ case 18:
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON;
+ gMain.state ++;
+ break;
+ case 19:
+ sub_804AE3C(0);
+ gMain.state ++;
+ break;
+ case 20:
+ sub_804AE3C(1);
+ sub_804AF10();
+ gMain.state ++;
+ break;
+ case 21:
+ if (!gPaletteFade.active)
+ {
+ gMain.callback1 = sub_80494D8;
+ SetMainCallback2(sub_8048AB4);
+ gUnknown_03000508[0] = 0;
+ }
+ break;
+ }
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_80484F4(void)
+{
+ int i;
+ struct UnkStructF *unkStructF;
+
+ switch (gMain.state)
+ {
+ case 0:
+ gUnknown_03004824 = &ewram_2010000.unk_07000;
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5));
+ SetVBlankCallback(sub_80489F4);
+ InitMenuWindow(&gWindowConfig_81E6CE4);
+ SetUpWindowConfig(&gWindowConfig_81E6F84);
+ InitWindowFromConfig(&gUnknown_03004824->window, &gWindowConfig_81E6F84);
+ gUnknown_03004824->unk_007a = SetTextWindowBaseTileNum(20);
+ LoadTextWindowGraphics(&gUnknown_03004824->window);
+ MenuZeroFillScreen();
+ sub_809D51C();
+ gUnknown_03004824->unk_0075 = 0;
+ gUnknown_03004824->unk_007b = 0;
+ gUnknown_03004824->unk_007c = 0;
+ gUnknown_03004824->unk_0080[0] = 0;
+ gUnknown_03004824->unk_0080[1] = 0;
+ gUnknown_03004824->unk_0086 = 0;
+ gUnknown_03004824->unk_0087 = 0;
+ gUnknown_03004824->unk_00b4 = 0;
+ gUnknown_03000508[0] = 0;
+ gMain.state ++;
+ for (i = 0; i < 13; i ++)
+ gUnknown_020296CC[i] = ewram_2010000.tileBuffers[i];
+ break;
+ case 1:
+ gMain.state ++;
+ gUnknown_03004824->unk_00b4 = 0;
+ break;
+ case 2:
+ gMain.state ++;
+ break;
+ case 3:
+ gMain.state ++;
+ break;
+ case 4:
+ CalculatePlayerPartyCount();
+ gMain.state ++;
+ break;
+ case 5:
+ gMain.state ++;
+ break;
+ case 6:
+ CalculateEnemyPartyCount();
+ REG_DISPCNT = 0;
+ gUnknown_03004824->partyCounts[0] = gPlayerPartyCount;
+ gUnknown_03004824->partyCounts[1] = gEnemyPartyCount;
+ sub_804A41C(0);
+ sub_804A41C(1);
+ for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++)
+ gUnknown_03004824->partyIcons[0][i] = CreateMonIcon(GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL), sub_809D62C, gTradeMonSpriteCoords[i][0] * 8 + 14, gTradeMonSpriteCoords[i][1] * 8 - 12, TRUE, GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY));
+ for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++)
+ gUnknown_03004824->partyIcons[1][i] = CreateMonIcon(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2, NULL), sub_809D62C, gTradeMonSpriteCoords[6 + i][0] * 8 + 14, gTradeMonSpriteCoords[6 + i][1] * 8 - 12, TRUE, GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY));
+ nullsub_5(2, 0);
+ gMain.state ++;
+ break;
+ case 7:
+ LoadHeldItemIconGraphics();
+ CreateHeldItemIcons(&gUnknown_03004824->partyCounts[0], gUnknown_03004824->partyIcons[0], 0);
+ gMain.state ++;
+ break;
+ case 8:
+ CreateHeldItemIcons(&gUnknown_03004824->partyCounts[0], gUnknown_03004824->partyIcons[0], 1);
+ gMain.state ++;
+ break;
+ case 9:
+ sub_8047CE8();
+ gMain.state ++;
+ gUnknown_03004824->unk_00b4 = 0;
+ break;
+ case 10:
+ nullsub_5(4, 0);
+ if (sub_804ABF8())
+ {
+ gMain.state ++;
+ }
+ break;
+ case 11:
+ sub_8047D58();
+ gMain.state ++;
+ break;
+ case 12:
+ sub_8047E44();
+ unkStructF = &ewram_2010000.unk_08000;
+ if (gUnknown_03004824->tradeMenuCursorPosition < 6)
+ gUnknown_03004824->tradeMenuCursorPosition = unkStructF->unk_0009;
+ else
+ gUnknown_03004824->tradeMenuCursorPosition = unkStructF->unk_0009 + 6;
+ gUnknown_03004824->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_820C134, gTradeMonSpriteCoords[gUnknown_03004824->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_03004824->tradeMenuCursorPosition][1] * 8, 2);
+ gMain.state = 15;
+ nullsub_5(6, 0);
+ break;
+ case 15:
+ sub_8048B0C(0);
+ gMain.state ++;
+ break;
+ case 16:
+ sub_8048B0C(1);
+ gUnknown_03004824->unk_0000 = 0;
+ gUnknown_03004824->unk_0001 = 0;
+ sub_8048C70();
+ nullsub_5(7, 0);
+ gMain.state ++;
+ break;
+ case 17:
+ BeginNormalPaletteFade(-1, 0, 16, 0, 0);
+ gMain.state ++;
+ break;
+ case 18:
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON;
+ gMain.state ++;
+ break;
+ case 19:
+ gMain.state ++;
+ break;
+ case 20:
+ sub_804AF10();
+ gMain.state ++;
+ break;
+ case 21:
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(sub_8048AB4);
+ gUnknown_03000508[0] = 0;
+ }
+ break;
+ }
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_80489F4(void)
+{
+ sub_804A940(&gUnknown_03004824->unk_00c8);
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+/*static*/ void sub_8048A14(void)
+{
+ if (++gUnknown_03004824->unk_00b4 >= 16)
+ {
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004824->unk_007b = 10;
+ }
+}
+
+/*static*/ void sub_8048A50(void)
+{
+ if (!gPaletteFade.active)
+ {
+ gUnknown_020297D8[0] = gUnknown_03004824->tradeMenuCursorPosition;
+ gUnknown_020297D8[1] = gUnknown_03004824->unk_008a;
+ sub_800832C();
+ gUnknown_03004824->unk_007b = 13;
+ }
+}
+
+/*static*/ void sub_8048A90(void)
+{
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ gMain.callback1 = NULL;
+ SetMainCallback2(sub_804B41C);
+ }
+}
+
+static void sub_8048AB4(void)
+{
+ sub_8049DE0();
+ sub_804AB30();
+ sub_8049ED4(0);
+ sub_8049ED4(1);
+ REG_BG2HOFS = gUnknown_03004824->unk_0000++;
+ REG_BG3HOFS = gUnknown_03004824->unk_0001--;
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+#ifdef NONMATCHING
+// Only minor register permutations
+#pragma push_macro("BLOCKSIZE")
+#define BLOCKSIZE 0x800
+static void sub_8048B0C(u8 a0)
+{
+ int i;
+ u16 *dest;
+ const u16 *src;
+ u32 size;
+ switch (a0)
+ {
+ case 0:
+ for (i = 0; i < 48; i ++)
+ {
+ gPlttBufferUnfaded[i] = *(gUnknown_08EA02C8 + i);
+ gPlttBufferFaded[i] = *(gUnknown_08EA02C8 + i);
+ }
+ src = gUnknown_08EA0348;
+ dest = (u16 *)BG_VRAM;
+ size = 0x1280;
+ while (1)
+ {
+ DmaCopy16(3, src, dest, BLOCKSIZE * sizeof(u16));
+ src += BLOCKSIZE;
+ dest += BLOCKSIZE;
+ size -= BLOCKSIZE * sizeof(u16);
+ if (size <= BLOCKSIZE * sizeof(u16))
+ {
+ DmaCopy16(3, src, dest, size);
+ break;
+ }
+ }
+ for (i = 0; i < 0x400; i ++)
+ gUnknown_03004824->unk_00c8.unk_12[i] = gUnknown_08EA15C8[i];
+ dest = BG_SCREEN_ADDR(6);
+ DmaCopy16(3, gTradeStripesBG2Tilemap, dest, 0x800);
+ break;
+ case 1:
+ src = gTradeStripesBG3Tilemap;
+ dest = BG_SCREEN_ADDR(7);
+ DmaCopy16(3, src, dest, 0x800);
+ sub_804A6DC(0);
+ sub_804A6DC(1);
+ sub_804A938(&gUnknown_03004824->unk_00c8);
+ REG_BG0CNT &= ~0x03; // BGCNT_PRIORITY(0)
+ REG_BG1CNT = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(5);
+ REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(6);
+ REG_BG3CNT = BGCNT_PRIORITY(3) | BGCNT_SCREENBASE(7);
+ REG_BG0HOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG3VOFS = 0;
+ break;
+ }
+}
+#pragma pop_macro("BLOCKSIZE")
+#else
+asm(".include \"constants/gba_constants.inc\"");
+__attribute__((naked))
+static void sub_8048B0C(u8 a0)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08048B1C\n"
+ "\tcmp r0, 0x1\n"
+ "\tbeq _08048BD0\n"
+ "\tb _08048C3A\n"
+ "_08048B1C:\n"
+ "\tldr r5, _08048BA0 @ =gUnknown_08EA0348\n"
+ "\tldr r0, _08048BA4 @ =gTradeStripesBG2Tilemap\n"
+ "\tmov r12, r0\n"
+ "\tldr r1, _08048BA8 @ =gUnknown_08EA02C8\n"
+ "\tldr r4, _08048BAC @ =gPlttBufferFaded\n"
+ "\tldr r3, _08048BB0 @ =gPlttBufferUnfaded\n"
+ "\tmovs r2, 0x2F\n"
+ "_08048B2A:\n"
+ "\tldrh r0, [r1]\n"
+ "\tstrh r0, [r3]\n"
+ "\tldrh r0, [r1]\n"
+ "\tstrh r0, [r4]\n"
+ "\tadds r1, 0x2\n"
+ "\tadds r4, 0x2\n"
+ "\tadds r3, 0x2\n"
+ "\tsubs r2, 0x1\n"
+ "\tcmp r2, 0\n"
+ "\tbge _08048B2A\n"
+ "\tadds r3, r5, 0\n"
+ "\tmovs r4, 0xC0\n"
+ "\tlsls r4, 19\n"
+ "\tmovs r5, 0x94\n"
+ "\tlsls r5, 5\n"
+ "\tldr r1, _08048BB4 @ =0x040000d4\n"
+ "\tldr r6, _08048BB8 @ =0x80000800\n"
+ "\tmovs r2, 0x80\n"
+ "\tlsls r2, 5\n"
+ "\tmovs r7, 0x80\n"
+ "\tlsls r7, 24\n"
+ "_08048B54:\n"
+ "\tstr r3, [r1]\n"
+ "\tstr r4, [r1, 0x4]\n"
+ "\tstr r6, [r1, 0x8]\n"
+ "\tldr r0, [r1, 0x8]\n"
+ "\tadds r3, r2\n"
+ "\tadds r4, r2\n"
+ "\tsubs r5, r2\n"
+ "\tcmp r5, r2\n"
+ "\tbhi _08048B54\n"
+ "\tstr r3, [r1]\n"
+ "\tstr r4, [r1, 0x4]\n"
+ "\tlsrs r0, r5, 1\n"
+ "\torrs r0, r7\n"
+ "\tstr r0, [r1, 0x8]\n"
+ "\tldr r0, [r1, 0x8]\n"
+ "\tmovs r2, 0\n"
+ "\tldr r5, _08048BBC @ =0x000003ff\n"
+ "\tldr r4, _08048BC0 @ =gUnknown_03004824\n"
+ "\tldr r3, _08048BC4 @ =gUnknown_08EA15C8\n"
+ "_08048B7A:\n"
+ "\tldr r0, [r4]\n"
+ "\tlsls r1, r2, 1\n"
+ "\tadds r0, 0xDA\n"
+ "\tadds r0, r1\n"
+ "\tldrh r1, [r3]\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r3, 0x2\n"
+ "\tadds r2, 0x1\n"
+ "\tcmp r2, r5\n"
+ "\tble _08048B7A\n"
+ "\tldr r1, _08048BC8 @ =0x06003000\n"
+ "\tldr r0, _08048BB4 @ =0x040000d4\n"
+ "\tmov r2, r12\n"
+ "\tstr r2, [r0]\n"
+ "\tstr r1, [r0, 0x4]\n"
+ "\tldr r1, _08048BCC @ =0x80000400\n"
+ "\tstr r1, [r0, 0x8]\n"
+ "\tldr r0, [r0, 0x8]\n"
+ "\tb _08048C3A\n"
+ "\t.align 2, 0\n"
+ "_08048BA0: .4byte gUnknown_08EA0348\n"
+ "_08048BA4: .4byte gTradeStripesBG2Tilemap\n"
+ "_08048BA8: .4byte gUnknown_08EA02C8\n"
+ "_08048BAC: .4byte gPlttBufferFaded\n"
+ "_08048BB0: .4byte gPlttBufferUnfaded\n"
+ "_08048BB4: .4byte 0x040000d4\n"
+ "_08048BB8: .4byte 0x80000800\n"
+ "_08048BBC: .4byte 0x000003ff\n"
+ "_08048BC0: .4byte gUnknown_03004824\n"
+ "_08048BC4: .4byte gUnknown_08EA15C8\n"
+ "_08048BC8: .4byte 0x06003000\n"
+ "_08048BCC: .4byte 0x80000400\n"
+ "_08048BD0:\n"
+ "\tldr r1, _08048C40 @ =gTradeStripesBG3Tilemap\n"
+ "\tldr r2, _08048C44 @ =0x06003800\n"
+ "\tldr r0, _08048C48 @ =0x040000d4\n"
+ "\tstr r1, [r0]\n"
+ "\tstr r2, [r0, 0x4]\n"
+ "\tldr r1, _08048C4C @ =0x80000400\n"
+ "\tstr r1, [r0, 0x8]\n"
+ "\tldr r0, [r0, 0x8]\n"
+ "\tmovs r0, 0\n"
+ "\tbl sub_804A6DC\n"
+ "\tmovs r0, 0x1\n"
+ "\tbl sub_804A6DC\n"
+ "\tldr r0, _08048C50 @ =gUnknown_03004824\n"
+ "\tldr r0, [r0]\n"
+ "\tadds r0, 0xC8\n"
+ "\tbl sub_804A938\n"
+ "\tldr r2, _08048C54 @ =REG_BG0CNT\n"
+ "\tldrh r1, [r2]\n"
+ "\tldr r0, _08048C58 @ =0x0000fffc\n"
+ "\tands r0, r1\n"
+ "\tstrh r0, [r2]\n"
+ "\tldr r1, _08048C5C @ =REG_BG1CNT\n"
+ "\tldr r2, _08048C60 @ =0x00000501\n"
+ "\tadds r0, r2, 0\n"
+ "\tstrh r0, [r1]\n"
+ "\tadds r1, 0x2\n"
+ "\tldr r2, _08048C64 @ =0x00000602\n"
+ "\tadds r0, r2, 0\n"
+ "\tstrh r0, [r1]\n"
+ "\tadds r1, 0x2\n"
+ "\tldr r2, _08048C68 @ =0x00000703\n"
+ "\tadds r0, r2, 0\n"
+ "\tstrh r0, [r1]\n"
+ "\tldr r0, _08048C6C @ =REG_BG0HOFS\n"
+ "\tmovs r1, 0\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r0, 0x4\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r0, 0x4\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r0, 0x4\n"
+ "\tstrh r1, [r0]\n"
+ "\tsubs r0, 0xA\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r0, 0x4\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r0, 0x4\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r0, 0x4\n"
+ "\tstrh r1, [r0]\n"
+ "_08048C3A:\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "_08048C40: .4byte gTradeStripesBG3Tilemap\n"
+ "_08048C44: .4byte 0x06003800\n"
+ "_08048C48: .4byte 0x040000d4\n"
+ "_08048C4C: .4byte 0x80000400\n"
+ "_08048C50: .4byte gUnknown_03004824\n"
+ "_08048C54: .4byte REG_BG0CNT\n"
+ "_08048C58: .4byte 0x0000fffc\n"
+ "_08048C5C: .4byte REG_BG1CNT\n"
+ "_08048C60: .4byte 0x00000501\n"
+ "_08048C64: .4byte 0x00000602\n"
+ "_08048C68: .4byte 0x00000703\n"
+ "_08048C6C: .4byte REG_BG0HOFS");
+}
+#endif
+
+static void sub_8048C70(void)
+{
+ int i;
+ for (i = 0; i < PARTY_SIZE; i ++)
+ {
+ if (i < gUnknown_03004824->partyCounts[0])
+ {
+ gSprites[gUnknown_03004824->partyIcons[0][i]].invisible = FALSE;
+ gUnknown_03004824->tradeMenuOptionsActive[i] = TRUE;
+ }
+ else
+ {
+ gUnknown_03004824->tradeMenuOptionsActive[i] = FALSE;
+ }
+ if (i < gUnknown_03004824->partyCounts[1])
+ {
+ gSprites[gUnknown_03004824->partyIcons[1][i]].invisible = FALSE;
+ gUnknown_03004824->tradeMenuOptionsActive[i + 6] = TRUE;
+ }
+ else
+ {
+ gUnknown_03004824->tradeMenuOptionsActive[i + 6] = FALSE;
+ }
+ }
+ gUnknown_03004824->tradeMenuOptionsActive[12] = TRUE;
+}
+
+static void nullsub_5(u8 a0, u8 a1) {}
+
+// why not just use memcpy?
+static void Trade_Memcpy(void *dataDest, void *dataSrc, u32 size)
+{
+ u8 *dest = dataDest;
+ u8 *src = dataSrc;
+ int i;
+ for (i = 0; i < size; i ++) dest[i] = src[i];
+}
+
+static bool8 sub_8048D44(void)
+{
+ u8 mpId = GetMultiplayerId();
+ int i;
+ u16 species;
+ u8 nickname[11];
+ struct Pokemon *pokemon;
+
+ SetLinkDebugValues(gUnknown_03004824->unk_0075 / 100, gUnknown_03004824->unk_0075 % 100);
+ switch (gUnknown_03004824->unk_0075)
+ {
+ case 0:
+ Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon));
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 1:
+ if (sub_8007ECC())
+ {
+ if (GetBlockReceivedStatus() == 0)
+ {
+ gUnknown_03004824->unk_0075 ++;
+ }
+ else
+ {
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ }
+ break;
+ case 2:
+ if (mpId == 0)
+ {
+ sub_8007E9C(1);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 3:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 4:
+ Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon));
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 5:
+ if (mpId == 0)
+ {
+ sub_8007E9C(1);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 6:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 7:
+ Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 2 * sizeof(struct Pokemon));
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 8:
+ if (mpId == 0)
+ {
+ sub_8007E9C(1);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 9:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 10:
+ Trade_Memcpy(gBlockSendBuffer, &gSaveBlock1.mail[0], 6 * sizeof(struct MailStruct) + 4);
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 11:
+ if (mpId == 0)
+ {
+ sub_8007E9C(3);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 12:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ Trade_Memcpy(&gUnknown_02029700[0], gBlockRecvBuffer[mpId ^ 1], 6 * sizeof(struct MailStruct));
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 13:
+ Trade_Memcpy(gBlockSendBuffer, gSaveBlock1.giftRibbons, 11);
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 14:
+ if (mpId == 0)
+ {
+ sub_8007E9C(4);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 15:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ Trade_Memcpy(gUnknown_03004824->unk_00b5, gBlockRecvBuffer[mpId ^ 1], 11);
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 16:
+ pokemon = gEnemyParty;
+ for (i = 0; i < PARTY_SIZE; i ++)
+ {
+ if ((species = GetMonData(pokemon, MON_DATA_SPECIES)) != SPECIES_NONE && species == SPECIES_SHEDINJA && GetMonData(pokemon, MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE)
+ {
+ GetMonData(pokemon, MON_DATA_NICKNAME, nickname);
+ if (!StringCompareWithoutExtCtrlCodes(nickname, gUnknown_0820C3B0))
+ SetMonData(pokemon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]);
+ }
+ pokemon ++;
+ }
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_8049088(void)
+{
+ u8 string[28];
+ StringCopy(string, gTradeText_TradeOkayPrompt);
+ sub_804ACD8(string, BG_CHAR_ADDR(4) + gUnknown_03004824->unk_007e * 32, 20);
+}
+
+static void sub_80490BC(u8 mpId, u8 a1)
+{
+ if (a1 & 1)
+ {
+ switch (gBlockRecvBuffer[mpId][0])
+ {
+ case 0xeeaa:
+ gUnknown_03004824->unk_0084 = 2;
+ break;
+ case 0xaabb:
+ gUnknown_03004824->unk_0084 = 1;
+ break;
+ case 0xbbbb:
+ gUnknown_03004824->unk_0086 = 1;
+ break;
+ case 0xbbcc:
+ gUnknown_03004824->unk_0086 = 2;
+ break;
+ }
+ ResetBlockReceivedFlag(0);
+ }
+ if (a1 & 2)
+ {
+ switch (gBlockRecvBuffer[1][0])
+ {
+ case 0xeeaa:
+ gUnknown_03004824->unk_0085 = 2;
+ break;
+ case 0xaabb:
+ gUnknown_03004824->unk_008a = gBlockRecvBuffer[1][1] + 6;
+ gUnknown_03004824->unk_0085 = 1;
+ break;
+ case 0xbbbb:
+ gUnknown_03004824->unk_0087 = 1;
+ break;
+ case 0xbbcc:
+ gUnknown_03004824->unk_0087 = 2;
+ break;
+ }
+ ResetBlockReceivedFlag(1);
+ }
+}
+
+static void sub_80491E4(u8 mpId, u8 status)
+{
+ if (status & 1)
+ {
+ switch (gBlockRecvBuffer[0][0])
+ {
+ case 0xeebb:
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ sub_804AA0C(4);
+ gUnknown_03004824->unk_007b = 11;
+ break;
+ case 0xeecc:
+ sub_804AA0C(5);
+ gUnknown_03004824->unk_007b = 8;
+ break;
+ case 0xdddd:
+ gUnknown_03004824->unk_008a = gBlockRecvBuffer[0][1] + 6;
+ sub_8049E9C(gUnknown_03004824->tradeMenuCursorPosition);
+ sub_8049E9C(gUnknown_03004824->unk_008a);
+ gUnknown_03004824->unk_007b = 7;
+ break;
+ case 0xccdd:
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004824->unk_007b = 10;
+ break;
+ case 0xddee:
+ sub_804AA0C(1);
+ gUnknown_03004824->unk_007b = 8;
+ break;
+ }
+ ResetBlockReceivedFlag(0);
+ }
+ if (status & 2)
+ {
+ ResetBlockReceivedFlag(1);
+ }
+}
+
+static void sub_80492D8(void)
+{
+ if (gUnknown_03004824->unk_0084 && gUnknown_03004824->unk_0085)
+ {
+ if (gUnknown_03004824->unk_0084 == 1 && gUnknown_03004824->unk_0085 == 1)
+ {
+ gUnknown_03004824->unk_007b = 6;
+ gUnknown_03004824->linkData[0] = 0xdddd;
+ gUnknown_03004824->linkData[1] = gUnknown_03004824->tradeMenuCursorPosition;
+ sub_804AADC(5, 0);
+ gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0;
+ }
+ else if (gUnknown_03004824->unk_0084 == 1 && gUnknown_03004824->unk_0085 == 2)
+ {
+ sub_804AA0C(1);
+ gUnknown_03004824->linkData[0] = 0xeecc;
+ gUnknown_03004824->linkData[1] = 0;
+ sub_804AADC(5, 0);
+ gUnknown_03004824->unk_0086 = gUnknown_03004824->unk_0087 = 0;
+ gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0;
+ gUnknown_03004824->unk_007b = 8;
+ }
+ else if (gUnknown_03004824->unk_0084 == 2 && gUnknown_03004824->unk_0085 == 1)
+ {
+ sub_804AA0C(5);
+ gUnknown_03004824->linkData[0] = 0xddee;
+ gUnknown_03004824->linkData[1] = 0;
+ sub_804AADC(5, 0);
+ gUnknown_03004824->unk_0086 = gUnknown_03004824->unk_0087 = 0;
+ gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0;
+ gUnknown_03004824->unk_007b = 8;
+ }
+ else if (gUnknown_03004824->unk_0084 == 2 && gUnknown_03004824->unk_0085 == 2)
+ {
+ gUnknown_03004824->linkData[0] = 0xeebb;
+ gUnknown_03004824->linkData[1] = 0;
+ sub_804AADC(5, 0);
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0;
+ gUnknown_03004824->unk_007b = 11;
+ }
+ }
+ if (gUnknown_03004824->unk_0086 && gUnknown_03004824->unk_0087)
+ {
+ if (gUnknown_03004824->unk_0086 == 1 && gUnknown_03004824->unk_0087 == 1)
+ {
+ gUnknown_03004824->linkData[0] = 0xccdd;
+ gUnknown_03004824->linkData[1] = 0;
+ sub_804AADC(5, 0);
+ gUnknown_03004824->unk_0086 = 0;
+ gUnknown_03004824->unk_0087 = 0;
+ gUnknown_03004824->unk_007b = 9;
+ }
+ if (gUnknown_03004824->unk_0086 == 2 || gUnknown_03004824->unk_0087 == 2)
+ {
+ sub_804AA0C(1);
+ gUnknown_03004824->linkData[0] = 0xddee;
+ gUnknown_03004824->linkData[1] = 0;
+ sub_804AADC(5, 0);
+ gUnknown_03004824->unk_0086 = 0;
+ gUnknown_03004824->unk_0087 = 0;
+ gUnknown_03004824->unk_007b = 8;
+ }
+ }
+}
+
+static void sub_80494D8(void)
+{
+ u8 mpId = GetMultiplayerId();
+ u8 status;
+ if ((status = GetBlockReceivedStatus()))
+ {
+ if (mpId == 0)
+ sub_80490BC(mpId, status);
+ else
+ sub_80491E4(mpId, status);
+ ResetBlockReceivedFlags();
+ }
+ if (mpId == 0)
+ sub_80492D8();
+}
+
+static u8 sub_8049514(u8 oldPosition, u8 direction)
+{
+ int i;
+ u8 newPosition = 0;
+ for (i = 0; i < PARTY_SIZE; i ++)
+ {
+ if (gUnknown_03004824->tradeMenuOptionsActive[gTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE)
+ {
+ newPosition = gTradeNextSelectedMonTable[oldPosition][direction][i];
+ break;
+ }
+ }
+ return newPosition;
+}
+
+static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction)
+{
+ u8 newPosition = sub_8049514(*tradeMenuCursorPosition, direction);
+ if (newPosition == 12) // CANCEL
+ {
+ StartSpriteAnim(&gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx], 1);
+ gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].pos1.x = 0xe0;
+ gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].pos1.y = 0xa0;
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx], 0);
+ gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[newPosition][0] * 8 + 32;
+ gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[newPosition][1] * 8;
+ }
+ if (*tradeMenuCursorPosition != newPosition)
+ {
+ PlaySE(SE_SELECT);
+ }
+ *tradeMenuCursorPosition = newPosition;
+}
+
+static void sub_8049620(void)
+{
+ sub_804AA0C(0);
+ gUnknown_03004824->unk_007b = 5;
+ if (GetMultiplayerId() == 1)
+ {
+ gUnknown_03004824->linkData[0] = 0xaabb;
+ gUnknown_03004824->linkData[1] = gUnknown_03004824->tradeMenuCursorPosition;
+ Trade_SendData(gUnknown_03004824);
+ }
+ else
+ {
+ gUnknown_03004824->unk_0084 = 1;
+ }
+}
+
+static void sub_8049680(void)
+{
+ int i;
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ TradeMenuMoveCursor(&gUnknown_03004824->tradeMenuCursorPosition, 0);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ TradeMenuMoveCursor(&gUnknown_03004824->tradeMenuCursorPosition, 1);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ TradeMenuMoveCursor(&gUnknown_03004824->tradeMenuCursorPosition, 2);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ TradeMenuMoveCursor(&gUnknown_03004824->tradeMenuCursorPosition, 3);
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (gUnknown_03004824->tradeMenuCursorPosition < PARTY_SIZE)
+ {
+ DrawTextWindow(&gUnknown_03004824->window, 18, 14, 28, 19);
+ PrintMenuItems(19, 15, 2, (const struct MenuAction *)gUnknown_0820C320);
+ InitMenu(0, 19, 15, 2, 0, 9);
+ gUnknown_03004824->unk_007b = 1;
+ }
+ else if (gUnknown_03004824->tradeMenuCursorPosition < 2 * PARTY_SIZE)
+ {
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004824->unk_007b = 2;
+ }
+ else if (gUnknown_03004824->tradeMenuCursorPosition == 2 * PARTY_SIZE)
+ {
+ DrawTextWindow(&gUnknown_03004824->window, 24, 14, 29, 19);
+ InitYesNoMenu(24, 14, 4);
+ gUnknown_03004824->unk_007b = 4;
+ sub_804ACD8(gUnknown_0820C14C[4], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20);
+ }
+ }
+ if (gMain.newKeys & R_BUTTON)
+ {
+ for (i = 0; i < 10; i ++)
+ {
+ gUnknown_03004824->linkData[i] = i;
+ }
+ Trade_SendData(gUnknown_03004824);
+ }
+}
+
+static void sub_8049804(void)
+{
+ HandleDestroyMenuCursors();
+ sub_804A80C();
+ gUnknown_03004824->unk_007b = 0;
+ gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = FALSE;
+ sub_804ACD8(gUnknown_0820C14C[1], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20);
+}
+
+static void sub_8049860(void)
+{
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03004824->unk_007c = MoveMenuCursor(-1);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03004824->unk_007c = MoveMenuCursor(+1);
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (GetMenuCursorPos() == 0)
+ {
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004824->unk_007b = 2;
+ }
+ else if (sub_80499F0(gUnknown_03004824->unk_0051[0], gUnknown_03004824->partyCounts[0], gUnknown_03004824->tradeMenuCursorPosition) == 0)
+ {
+ sub_804AADC(3, 2);
+ gUnknown_03004824->unk_007b = 8;
+ }
+ else
+ {
+ sub_8049620();
+ gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = TRUE;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_8049804();
+ }
+}
+
+static void sub_8049954(void)
+{
+ if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_8049804();
+ }
+}
+
+static void sub_804997C(void)
+{
+ if (!gPaletteFade.active)
+ {
+ if (gUnknown_03004824->tradeMenuCursorPosition < PARTY_SIZE)
+ {
+ ShowPokemonSummaryScreen(gPlayerParty, gUnknown_03004824->tradeMenuCursorPosition, gUnknown_03004824->partyCounts[0] - 1, sub_80484F4, 4);
+ }
+ else
+ {
+ ShowPokemonSummaryScreen(gEnemyParty, gUnknown_03004824->tradeMenuCursorPosition - 6, gUnknown_03004824->partyCounts[1] - 1, sub_80484F4, 4);
+ }
+ }
+}
+
+static u8 sub_80499F0(const u8 *src, u8 partyCount, u8 tradeMenuCursorPosition)
+{
+ u8 retval = 0;
+ int i;
+ for (i = 0; i < partyCount; i ++)
+ {
+ if (tradeMenuCursorPosition != i)
+ {
+ retval += src[i];
+ }
+ }
+ return retval;
+}
+
+static void sub_8049A20(void)
+{
+ u8 unk_0051[12];
+ int i;
+ for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++)
+ {
+ unk_0051[i] = gUnknown_03004824->unk_0051[0][i];
+ }
+ if (sub_80499F0(unk_0051, gUnknown_03004824->partyCounts[0], gUnknown_03004824->tradeMenuCursorPosition) == 0)
+ {
+ sub_804AADC(3, 2);
+ gUnknown_03004824->linkData[0] = 0xbbcc;
+ sub_804AADC(0xb4, 0);
+ }
+ else
+ {
+ sub_804AADC(3, 1);
+ gUnknown_03004824->linkData[0] = 0xbbbb;
+ if (sub_8007ECC())
+ {
+ Trade_SendData(gUnknown_03004824);
+ }
+ }
+}
+
+static void sub_8049AC0(void)
+{
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03004824->unk_007c = MoveMenuCursor(-1);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03004824->unk_007c = MoveMenuCursor(+1);
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (GetMenuCursorPos() == 0)
+ {
+ sub_8049A20();
+ }
+ else
+ {
+ sub_804AADC(3, 1);
+ if (sub_8007ECC())
+ {
+ gUnknown_03004824->linkData[0] = 0xbbcc;
+ Trade_SendData(gUnknown_03004824);
+ }
+ }
+ gUnknown_03004824->unk_007b = 100;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ sub_804AADC(3, 1);
+ if (GetMenuCursorPos() == 0)
+ {
+ gUnknown_03004824->unk_007c = MoveMenuCursor(+1);
+ }
+ gUnknown_03004824->linkData[0] = 0xbbcc;
+ Trade_SendData(gUnknown_03004824);
+ gUnknown_03004824->unk_007b = 100;
+ }
+}
+
+static void sub_8049BC0(void)
+{
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03004824->unk_007c = MoveMenuCursor(-1);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03004824->unk_007c = MoveMenuCursor(+1);
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (GetMenuCursorPos() == 0)
+ {
+ sub_804AA0C(4);
+ gUnknown_03004824->linkData[0] = 0xeeaa;
+ gUnknown_03004824->linkData[1] = 0;
+ sub_804AADC(5, 0);
+ gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = TRUE;
+ gUnknown_03004824->unk_007b = 100;
+ }
+ else
+ {
+ sub_8049804();
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_8049804();
+ }
+}
+
+static void sub_8049C8C(void)
+{
+ if (GetMultiplayerId() == 0)
+ {
+ sub_8049E9C(gUnknown_03004824->tradeMenuCursorPosition);
+ sub_8049E9C(gUnknown_03004824->unk_008a);
+ }
+ gUnknown_03004824->unk_007b = 7;
+}
+
+static void sub_8049CC4(void)
+{
+ if (gUnknown_03004824->unk_0080[0] == 5 && gUnknown_03004824->unk_0080[1] == 5)
+ {
+ sub_8049088();
+ gUnknown_03004824->unk_007b = 14;
+ }
+}
+
+static void DisplayMessageAndContinueTask(void)
+{
+ gUnknown_03004824->unk_00b4++;
+ if (gUnknown_03004824->unk_00b4 > 120)
+ {
+ DrawTextWindow(&gUnknown_03004824->window, 24, 14, 29, 19);
+ InitYesNoMenu(24, 14, 4);
+ gUnknown_03004824->unk_00b4 = 0;
+ gUnknown_03004824->unk_007b = 3;
+ }
+}
+
+static void sub_8049D44(void)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_804A840(0);
+ sub_804A840(1);
+ gUnknown_03004824->unk_007b = 0;
+ gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = FALSE;
+ }
+}
+
+static void sub_8049D9C(void)
+{
+ if (!gPaletteFade.active)
+ {
+ sub_800832C();
+ gUnknown_03004824->unk_007b = 12;
+ }
+}
+
+static void sub_8049DC4(void)
+{
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ SetMainCallback2(sub_805465C);
+ }
+}
+
+static void sub_8049DE0(void)
+{
+ switch (gUnknown_03004824->unk_007b)
+ {
+ case 0:
+ sub_8049680();
+ break;
+ case 1:
+ sub_8049860();
+ break;
+ case 2:
+ sub_804997C();
+ break;
+ case 3:
+ sub_8049AC0();
+ break;
+ case 4:
+ sub_8049BC0();
+ break;
+ case 6:
+ sub_8049C8C();
+ break;
+ case 7:
+ sub_8049CC4();
+ break;
+ case 8:
+ sub_8049D44();
+ break;
+ case 9:
+ sub_8048A14();
+ break;
+ case 10:
+ sub_8048A50();
+ break;
+ case 11:
+ sub_8049D9C();
+ break;
+ case 12:
+ sub_8049DC4();
+ break;
+ case 13:
+ sub_8048A90();
+ break;
+ case 14:
+ DisplayMessageAndContinueTask();
+ break;
+ case 15:
+ sub_8049954();
+ break;
+ }
+}
+
+static void sub_8049E9C(u8 a0)
+{
+ u8 v0 = a0 / 6;
+ if (gUnknown_03004824->unk_0080[v0] == 0)
+ {
+ gUnknown_03004824->unk_0080[v0] = 1;
+ gUnknown_03004824->unk_0082[v0] = a0;
+ }
+}
+
+// TODO: Figure out what the f**k is going on here
+#ifdef NONMATCHING
+static void sub_8049ED4(u8 a0)
+{
+ u8 i;
+ s8 stringLength;
+ u8 whichParty = 1;
+ u8 whichPokemon;
+ u8 string1[40];
+ u8 string2[56];
+ u8 temp0 = gUnknown_03004824->unk_0082[a0];
+ if (temp0 < PARTY_SIZE)
+ whichParty = 0;
+ whichPokemon = temp0 % PARTY_SIZE;
+
+ switch (gUnknown_03004824->unk_0080[a0])
+ {
+ case 1:
+ for (i = 0; i < gUnknown_03004824->partyCounts[a0]; i ++)
+ {
+ gSprites[gUnknown_03004824->partyIcons[whichParty][i]].invisible = TRUE;
+ }
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].invisible = FALSE;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data0 = 20;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data2 = (gTradeMonSpriteCoords[6 * whichParty + whichPokemon][0] + gTradeMonSpriteCoords[6 * whichParty + whichPokemon + 1][0]) / 2 * 8 + 14;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data4 = gTradeMonSpriteCoords[6 * whichParty + whichPokemon][1] * 8 - 12;
+ StoreSpriteCallbackInData6(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]], sub_809D62C);
+ gUnknown_03004824->unk_0080[a0] ++;
+ sub_8078A34(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]]);
+ HandleDestroyMenuCursors();
+ FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[whichParty][0], 0, gUnknown_0820C330[whichParty][1], 19);
+ sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15 * a0, 0, gTradePartyBoxTilemap, 15, 17, 0);
+ if (whichParty == 0)
+ {
+ sub_804A80C();
+ }
+ break;
+ case 2:
+ if (gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].callback == sub_809D62C)
+ {
+ gUnknown_03004824->unk_0080[a0] = 3;
+ }
+ break;
+ case 3:
+ sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15 * whichParty, 0, gTradePartyBoxTilemap, 15, 17, 0);
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos1.x = (gTradeMonSpriteCoords[6 * whichParty + whichPokemon ][0] + gTradeMonSpriteCoords[6 * whichParty + whichPokemon + 1][0]) / 2 * 8 + 14;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos1.y = gTradeMonSpriteCoords[6 * whichParty + whichPokemon ][1] * 8 - 12;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos2.x = 0;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos2.y = 0;
+ stringLength = sub_804A2B4(string1 + 6, whichParty, whichPokemon);
+ string1[0] = 0xFC;
+ string1[1] = 0x06;
+ string1[2] = 0x04;
+ string1[3] = 0xFC;
+ string1[4] = 0x11;
+ string1[5] = (64 - stringLength) / 2;
+ sub_8003460(&gUnknown_03004824->window, string1, gUnknown_03004824->unk_007a + whichParty * 6 * 32, gUnknown_0820C334[whichParty][0], gUnknown_0820C334[whichParty][1]);
+ sub_804A33C(string2, whichParty, whichPokemon);
+ sub_8003460(&gUnknown_03004824->window, gOtherText_Terminator2, gUnknown_03004824->unk_007a + whichParty * 6 * 32 + 32, gUnknown_0820C334[whichParty + 1][0], gUnknown_0820C334[whichParty + 1][1] + 1);
+ sub_8003460(&gUnknown_03004824->window, string2, gUnknown_03004824->unk_007a + whichParty * 6 * 32 + 38, gUnknown_0820C334[whichParty + 1][0], gUnknown_0820C334[whichParty + 1][1] + 1);
+ gUnknown_03004824->unk_0080[a0] ++;
+ break;
+ case 4:
+ sub_804ACD8(gUnknown_0820C14C[5], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20);
+ sub_804A51C(a0, whichPokemon, gUnknown_0820C3D1[a0][0] + 4, gUnknown_0820C3D1[a0][1] + 1, gUnknown_0820C3D1[a0][0], gUnknown_0820C3D1[a0][1]);
+ gUnknown_03004824->unk_0080[a0] ++;
+ break;
+ }
+}
+#else
+__attribute__((naked))
+static void sub_8049ED4(u8 a0)
+{
+ 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, 0x74\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tmov r10, r0\n"
+ "\tldr r0, _08049F24 @ =gUnknown_03004824\n"
+ "\tldr r5, [r0]\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x82\n"
+ "\tadd r0, r10\n"
+ "\tldrb r0, [r0]\n"
+ "\tmovs r1, 0x1\n"
+ "\tstr r1, [sp, 0x6C]\n"
+ "\tcmp r0, 0x5\n"
+ "\tbhi _08049EFE\n"
+ "\tmovs r2, 0\n"
+ "\tstr r2, [sp, 0x6C]\n"
+ "_08049EFE:\n"
+ "\tmovs r1, 0x6\n"
+ "\tbl __umodsi3\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tmov r8, r0\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x80\n"
+ "\tmov r1, r10\n"
+ "\tadds r3, r0, r1\n"
+ "\tldrb r0, [r3]\n"
+ "\tcmp r0, 0x2\n"
+ "\tbne _08049F1A\n"
+ "\tb _0804A0AC\n"
+ "_08049F1A:\n"
+ "\tcmp r0, 0x2\n"
+ "\tbgt _08049F28\n"
+ "\tcmp r0, 0x1\n"
+ "\tbeq _08049F36\n"
+ "\tb _0804A294\n"
+ "\t.align 2, 0\n"
+ "_08049F24: .4byte gUnknown_03004824\n"
+ "_08049F28:\n"
+ "\tcmp r0, 0x3\n"
+ "\tbne _08049F2E\n"
+ "\tb _0804A0E4\n"
+ "_08049F2E:\n"
+ "\tcmp r0, 0x4\n"
+ "\tbne _08049F34\n"
+ "\tb _0804A244\n"
+ "_08049F34:\n"
+ "\tb _0804A294\n"
+ "_08049F36:\n"
+ "\tmovs r4, 0\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x42\n"
+ "\tadd r0, r10\n"
+ "\tldr r7, _0804A094 @ =gSprites\n"
+ "\tldr r2, [sp, 0x6C]\n"
+ "\tlsls r2, 1\n"
+ "\tmov r9, r2\n"
+ "\tldr r3, _0804A098 @ =gTradeMonSpriteCoords\n"
+ "\tmov r12, r3\n"
+ "\tmov r5, r10\n"
+ "\tlsls r5, 4\n"
+ "\tstr r5, [sp, 0x70]\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r4, r0\n"
+ "\tbcs _08049F8E\n"
+ "\tadds r6, r7, 0\n"
+ "\tldr r2, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r0, [sp, 0x6C]\n"
+ "\tadd r0, r9\n"
+ "\tlsls r3, r0, 1\n"
+ "\tmovs r5, 0x4\n"
+ "_08049F62:\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r1, r4, r3\n"
+ "\tadds r0, 0x34\n"
+ "\tadds r0, r1\n"
+ "\tldrb r1, [r0]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r6\n"
+ "\tadds r0, 0x3E\n"
+ "\tldrb r1, [r0]\n"
+ "\torrs r1, r5\n"
+ "\tstrb r1, [r0]\n"
+ "\tadds r0, r4, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r0, 0x42\n"
+ "\tadd r0, r10\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r4, r0\n"
+ "\tbcc _08049F62\n"
+ "_08049F8E:\n"
+ "\tldr r1, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r0, [r1]\n"
+ "\tldr r5, [sp, 0x6C]\n"
+ "\tadd r5, r9\n"
+ "\tlsls r3, r5, 1\n"
+ "\tmov r2, r8\n"
+ "\tadds r6, r2, r3\n"
+ "\tadds r0, 0x34\n"
+ "\tadds r0, r6\n"
+ "\tldrb r1, [r0]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r7\n"
+ "\tadds r0, 0x3E\n"
+ "\tldrb r2, [r0]\n"
+ "\tmovs r1, 0x5\n"
+ "\tnegs r1, r1\n"
+ "\tands r1, r2\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r4, [r0]\n"
+ "\tadds r4, 0x34\n"
+ "\tadds r4, r6\n"
+ "\tldrb r1, [r4]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r7\n"
+ "\tmovs r1, 0x14\n"
+ "\tstrh r1, [r0, 0x2E]\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r2, r0, 4\n"
+ "\tadds r2, r0\n"
+ "\tlsls r2, 2\n"
+ "\tadds r2, r7\n"
+ "\tlsls r5, 2\n"
+ "\tmov r1, r12\n"
+ "\tadds r0, r5, r1\n"
+ "\tldrb r0, [r0]\n"
+ "\tadds r3, 0x1\n"
+ "\tlsls r3, 1\n"
+ "\tadd r3, r12\n"
+ "\tldrb r1, [r3]\n"
+ "\tadds r0, r1\n"
+ "\tasrs r0, 1\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, 0xE\n"
+ "\tstrh r0, [r2, 0x32]\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r1, r0, 4\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r7\n"
+ "\tmov r0, r12\n"
+ "\tadds r0, 0x1\n"
+ "\tadds r5, r0\n"
+ "\tldrb r0, [r5]\n"
+ "\tlsls r0, 3\n"
+ "\tsubs r0, 0xC\n"
+ "\tstrh r0, [r1, 0x36]\n"
+ "\tldrb r1, [r4]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r7\n"
+ "\tldr r1, _0804A0A0 @ =sub_809D62C\n"
+ "\tbl StoreSpriteCallbackInData6\n"
+ "\tldr r2, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r1, [r2]\n"
+ "\tadds r1, 0x80\n"
+ "\tadd r1, r10\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r0, 0x34\n"
+ "\tadds r0, r6\n"
+ "\tldrb r1, [r0]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r7\n"
+ "\tbl sub_8078A34\n"
+ "\tbl HandleDestroyMenuCursors\n"
+ "\tldr r3, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r0, [r3]\n"
+ "\tadds r0, 0x4\n"
+ "\tldr r1, _0804A0A4 @ =gUnknown_0820C330\n"
+ "\tmov r5, r9\n"
+ "\tadds r2, r5, r1\n"
+ "\tldrb r2, [r2]\n"
+ "\tadds r1, 0x1\n"
+ "\tadd r1, r9\n"
+ "\tldrb r1, [r1]\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r1, 0x13\n"
+ "\tstr r1, [sp, 0x4]\n"
+ "\tmovs r1, 0\n"
+ "\tmovs r3, 0\n"
+ "\tbl FillWindowRect_DefaultPalette\n"
+ "\tldr r1, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0xC8\n"
+ "\tldr r2, [sp, 0x70]\n"
+ "\tmov r3, r10\n"
+ "\tsubs r1, r2, r3\n"
+ "\tlsls r1, 24\n"
+ "\tlsrs r1, 24\n"
+ "\tldr r3, _0804A0A8 @ =gTradePartyBoxTilemap\n"
+ "\tmovs r2, 0xF\n"
+ "\tstr r2, [sp]\n"
+ "\tmovs r2, 0x11\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tmovs r5, 0\n"
+ "\tstr r5, [sp, 0x8]\n"
+ "\tmovs r2, 0\n"
+ "\tbl sub_804A96C_alt\n"
+ "\tldr r0, [sp, 0x6C]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0804A08C\n"
+ "\tb _0804A294\n"
+ "_0804A08C:\n"
+ "\tbl sub_804A80C\n"
+ "\tb _0804A294\n"
+ "\t.align 2, 0\n"
+ "_0804A094: .4byte gSprites\n"
+ "_0804A098: .4byte gTradeMonSpriteCoords\n"
+ "_0804A09C: .4byte gUnknown_03004824\n"
+ "_0804A0A0: .4byte sub_809D62C\n"
+ "_0804A0A4: .4byte gUnknown_0820C330\n"
+ "_0804A0A8: .4byte gTradePartyBoxTilemap\n"
+ "_0804A0AC:\n"
+ "\tldr r2, _0804A0DC @ =gSprites\n"
+ "\tldr r1, [sp, 0x6C]\n"
+ "\tlsls r0, r1, 1\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r1, r5, 0\n"
+ "\tadds r1, 0x34\n"
+ "\tadds r1, r0\n"
+ "\tldrb r1, [r1]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r2, 0x1C\n"
+ "\tadds r0, r2\n"
+ "\tldr r1, [r0]\n"
+ "\tldr r0, _0804A0E0 @ =sub_809D62C\n"
+ "\tcmp r1, r0\n"
+ "\tbeq _0804A0D4\n"
+ "\tb _0804A294\n"
+ "_0804A0D4:\n"
+ "\tmovs r0, 0x3\n"
+ "\tstrb r0, [r3]\n"
+ "\tb _0804A294\n"
+ "\t.align 2, 0\n"
+ "_0804A0DC: .4byte gSprites\n"
+ "_0804A0E0: .4byte sub_809D62C\n"
+ "_0804A0E4:\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0xC8\n"
+ "\tldr r2, [sp, 0x6C]\n"
+ "\tlsls r1, r2, 4\n"
+ "\tsubs r1, r2\n"
+ "\tlsls r1, 24\n"
+ "\tlsrs r1, 24\n"
+ "\tldr r3, _0804A228 @ =gTradeMovesBoxTilemap\n"
+ "\tmovs r2, 0xF\n"
+ "\tstr r2, [sp]\n"
+ "\tmovs r7, 0x11\n"
+ "\tstr r7, [sp, 0x4]\n"
+ "\tmovs r5, 0\n"
+ "\tstr r5, [sp, 0x8]\n"
+ "\tmovs r2, 0\n"
+ "\tbl sub_804A96C_alt\n"
+ "\tldr r0, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r3, [r0]\n"
+ "\tldr r1, [sp, 0x6C]\n"
+ "\tlsls r6, r1, 1\n"
+ "\tadds r1, r6\n"
+ "\tmov r9, r1\n"
+ "\tlsls r1, 1\n"
+ "\tmov r2, r8\n"
+ "\tadds r0, r2, r1\n"
+ "\tadds r3, 0x34\n"
+ "\tadds r3, r0\n"
+ "\tldrb r0, [r3]\n"
+ "\tlsls r2, r0, 4\n"
+ "\tadds r2, r0\n"
+ "\tlsls r2, 2\n"
+ "\tldr r5, _0804A230 @ =gSprites\n"
+ "\tadds r2, r5\n"
+ "\tldr r4, _0804A234 @ =gTradeMonSpriteCoords\n"
+ "\tmov r0, r9\n"
+ "\tlsls r5, r0, 2\n"
+ "\tadds r0, r5, r4\n"
+ "\tldrb r0, [r0]\n"
+ "\tadds r1, 0x1\n"
+ "\tlsls r1, 1\n"
+ "\tadds r1, r4\n"
+ "\tldrb r1, [r1]\n"
+ "\tadds r0, r1\n"
+ "\tasrs r0, 1\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, 0xE\n"
+ "\tstrh r0, [r2, 0x20]\n"
+ "\tldrb r0, [r3]\n"
+ "\tlsls r1, r0, 4\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 2\n"
+ "\tldr r2, _0804A230 @ =gSprites\n"
+ "\tadds r1, r2\n"
+ "\tadds r4, 0x1\n"
+ "\tadds r5, r4\n"
+ "\tldrb r0, [r5]\n"
+ "\tlsls r0, 3\n"
+ "\tsubs r0, 0xC\n"
+ "\tstrh r0, [r1, 0x22]\n"
+ "\tldrb r1, [r3]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r2\n"
+ "\tmovs r5, 0\n"
+ "\tstrh r5, [r0, 0x24]\n"
+ "\tldrb r1, [r3]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r2\n"
+ "\tstrh r5, [r0, 0x26]\n"
+ "\tmov r0, sp\n"
+ "\tadds r0, 0x12\n"
+ "\tldr r1, [sp, 0x6C]\n"
+ "\tmov r2, r8\n"
+ "\tbl sub_804A2B4\n"
+ "\tadd r1, sp, 0xC\n"
+ "\tmovs r3, 0xFC\n"
+ "\tstrb r3, [r1]\n"
+ "\tadds r2, r1, 0\n"
+ "\tmovs r1, 0x6\n"
+ "\tstrb r1, [r2, 0x1]\n"
+ "\tmovs r1, 0x4\n"
+ "\tstrb r1, [r2, 0x2]\n"
+ "\tadds r1, r2, 0\n"
+ "\tstrb r3, [r1, 0x3]\n"
+ "\tstrb r7, [r1, 0x4]\n"
+ "\tlsls r0, 24\n"
+ "\tasrs r0, 24\n"
+ "\tmovs r1, 0x40\n"
+ "\tsubs r1, r0\n"
+ "\tlsrs r0, r1, 31\n"
+ "\tadds r1, r0\n"
+ "\tasrs r1, 1\n"
+ "\tstrb r1, [r2, 0x5]\n"
+ "\tldr r0, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r1, [r0]\n"
+ "\tadds r0, r1, 0x4\n"
+ "\tadds r1, 0x7A\n"
+ "\tldrb r2, [r1]\n"
+ "\tmov r1, r9\n"
+ "\tlsls r1, 6\n"
+ "\tmov r9, r1\n"
+ "\tadd r2, r9\n"
+ "\tldr r4, _0804A238 @ =gUnknown_0820C334\n"
+ "\tldr r3, [sp, 0x6C]\n"
+ "\tlsls r1, r3, 2\n"
+ "\tadds r3, r1, r4\n"
+ "\tldrb r3, [r3]\n"
+ "\tldr r5, _0804A23C @ =gUnknown_0820C334 + 0x1\n"
+ "\tadds r1, r5\n"
+ "\tldrb r1, [r1]\n"
+ "\tstr r1, [sp]\n"
+ "\tadd r1, sp, 0xC\n"
+ "\tbl sub_8003460\n"
+ "\tadd r7, sp, 0x34\n"
+ "\tadds r0, r7, 0\n"
+ "\tldr r1, [sp, 0x6C]\n"
+ "\tmov r2, r8\n"
+ "\tbl sub_804A33C\n"
+ "\tldr r0, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r2, [r0]\n"
+ "\tadds r0, r2, 0x4\n"
+ "\tldr r1, _0804A240 @ =gOtherText_Terminator2\n"
+ "\tadds r2, 0x7A\n"
+ "\tldrb r2, [r2]\n"
+ "\tadd r2, r9\n"
+ "\tadds r2, 0x20\n"
+ "\tadds r6, 0x1\n"
+ "\tlsls r6, 1\n"
+ "\tadds r4, r6, r4\n"
+ "\tldrb r5, [r4]\n"
+ "\tldr r3, _0804A23C @ =gUnknown_0820C334 + 0x1\n"
+ "\tadds r6, r3\n"
+ "\tldrb r4, [r6]\n"
+ "\tadds r4, 0x1\n"
+ "\tlsls r4, 24\n"
+ "\tlsrs r4, 24\n"
+ "\tstr r4, [sp]\n"
+ "\tadds r3, r5, 0\n"
+ "\tbl sub_8003460\n"
+ "\tldr r0, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r1, [r0]\n"
+ "\tadds r0, r1, 0x4\n"
+ "\tadds r1, 0x7A\n"
+ "\tldrb r2, [r1]\n"
+ "\tadd r2, r9\n"
+ "\tadds r2, 0x26\n"
+ "\tstr r4, [sp]\n"
+ "\tadds r1, r7, 0\n"
+ "\tadds r3, r5, 0\n"
+ "\tbl sub_8003460\n"
+ "\tldr r2, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r1, [r2]\n"
+ "\tb _0804A28A\n"
+ "\t.align 2, 0\n"
+ "_0804A228: .4byte gTradeMovesBoxTilemap\n"
+ "_0804A22C: .4byte gUnknown_03004824\n"
+ "_0804A230: .4byte gSprites\n"
+ "_0804A234: .4byte gTradeMonSpriteCoords\n"
+ "_0804A238: .4byte gUnknown_0820C334\n"
+ "_0804A23C: .4byte gUnknown_0820C334 + 0x1\n"
+ "_0804A240: .4byte gOtherText_Terminator2\n"
+ "_0804A244:\n"
+ "\tldr r0, _0804A2A4 @ =gUnknown_0820C14C\n"
+ "\tldr r0, [r0, 0x14]\n"
+ "\tadds r1, r5, 0\n"
+ "\tadds r1, 0x7E\n"
+ "\tldrh r1, [r1]\n"
+ "\tlsls r1, 5\n"
+ "\tldr r3, _0804A2A8 @ =0x06010000\n"
+ "\tadds r1, r3\n"
+ "\tmovs r2, 0x14\n"
+ "\tbl sub_804ACD8\n"
+ "\tldr r0, _0804A2AC @ =gUnknown_0820C3D1\n"
+ "\tmov r5, r10\n"
+ "\tlsls r1, r5, 1\n"
+ "\tadds r4, r1, r0\n"
+ "\tldrb r2, [r4]\n"
+ "\tadds r2, 0x4\n"
+ "\tlsls r2, 24\n"
+ "\tlsrs r2, 24\n"
+ "\tadds r0, 0x1\n"
+ "\tadds r1, r0\n"
+ "\tldrb r3, [r1]\n"
+ "\tadds r3, 0x1\n"
+ "\tlsls r3, 24\n"
+ "\tlsrs r3, 24\n"
+ "\tldrb r0, [r4]\n"
+ "\tstr r0, [sp]\n"
+ "\tldrb r0, [r1]\n"
+ "\tstr r0, [sp, 0x4]\n"
+ "\tmov r0, r10\n"
+ "\tmov r1, r8\n"
+ "\tbl sub_804A51C\n"
+ "\tldr r0, _0804A2B0 @ =gUnknown_03004824\n"
+ "\tldr r1, [r0]\n"
+ "_0804A28A:\n"
+ "\tadds r1, 0x80\n"
+ "\tadd r1, r10\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "_0804A294:\n"
+ "\tadd sp, 0x74\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.align 2, 0\n"
+ "_0804A2A4: .4byte gUnknown_0820C14C\n"
+ "_0804A2A8: .4byte 0x06010000\n"
+ "_0804A2AC: .4byte gUnknown_0820C3D1\n"
+ "_0804A2B0: .4byte gUnknown_03004824");
+}
+#endif
+
+#ifdef NONMATCHING
+static
+#endif
+u8 sub_804A2B4(u8 *a0, u8 whichParty, u8 whichPokemon)
+{
+ u8 string[11];
+ if (whichParty == 0)
+ {
+ GetMonData(&gPlayerParty[whichPokemon], MON_DATA_NICKNAME, string);
+ StringCopy10(a0, string);
+ GetMonGender(&gPlayerParty[whichPokemon]);
+ GetMonData(&gPlayerParty[whichPokemon], MON_DATA_LEVEL);
+ }
+ else
+ {
+ GetMonData(&gEnemyParty[whichPokemon], MON_DATA_NICKNAME, string);
+ StringCopy10(a0, string);
+ GetMonGender(&gEnemyParty[whichPokemon]);
+ GetMonData(&gEnemyParty[whichPokemon], MON_DATA_LEVEL);
+ }
+ return GetStringWidthGivenWindowConfig(&gWindowConfig_81E7294, a0);
+}
+
+#ifdef NONMATCHING
+static
+#endif
+void sub_804A33C(u8 *a0, u8 whichParty, u8 whichPokemon)
+{
+ u16 i;
+ u16 moves[4];
+ if (gUnknown_03004824->unk_005d[whichParty][whichPokemon] == 0)
+ {
+ for (i = 0; i < 4; i ++)
+ {
+ if (whichParty == 0)
+ moves[i] = GetMonData(&gPlayerParty[whichPokemon], MON_DATA_MOVE1 + i, NULL);
+ else
+ moves[i] = GetMonData(&gEnemyParty[whichPokemon], MON_DATA_MOVE1 + i, NULL);
+ }
+ StringCopy(a0, gOtherText_Terminator);
+ for (i = 0; i < 4; i ++)
+ {
+ if (moves[i] != 0)
+ {
+ StringAppend(a0, gMoveNames[moves[i]]);
+ }
+ StringAppend(a0, gOtherText_ControlAndMiscText);
+ }
+ }
+ else
+ {
+ StringCopy(a0, gOtherText_Terminator);
+ StringAppend(a0, gOtherText_FourQuestions);
+ }
+}
+
+#ifdef NONMATCHING
+static void sub_804A41C(u8 whichParty)
+{
+ u8 i;
+ u8 nickname[22];
+ u8 string[40];
+ struct Pokemon *pokemon;
+
+ string[0] = 0xFC;
+ string[1] = 0x06;
+ string[2] = 0x04;
+ string[3] = 0xFC;
+ string[4] = 0x11;
+ string[5] = 0x00;
+
+ for (i = 0; i < gUnknown_03004824->partyCounts[whichParty]; i ++)
+ {
+ pokemon = whichParty == 0 ? &gPlayerParty[i] : &gEnemyParty[i];
+ GetMonData(pokemon, MON_DATA_NICKNAME, nickname);
+ StringCopy10(string + 6, nickname);
+ GetMonGender(pokemon);
+ string[5] = (50 - GetStringWidthGivenWindowConfig(&gWindowConfig_81E7294, string + 6)) / 2;
+ sub_8003460(&gUnknown_03004824->window, string, gUnknown_03004824->unk_007a + 22 * 6 * whichParty + 22 * i, gTradeMonSpriteCoords[i + 6 * whichParty][0], gTradeMonSpriteCoords[i + 6 * whichParty][1]);
+ }
+}
+#else
+__attribute__((naked))
+static void sub_804A41C(u8 whichParty)
+{
+ 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, 0x44\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r5, r0, 24\n"
+ "\tadd r3, sp, 0x1C\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r1, 0xFC\n"
+ "\tstrb r1, [r3]\n"
+ "\tmovs r0, 0x6\n"
+ "\tstrb r0, [r3, 0x1]\n"
+ "\tmovs r0, 0x4\n"
+ "\tstrb r0, [r3, 0x2]\n"
+ "\tstrb r1, [r3, 0x3]\n"
+ "\tmovs r0, 0x11\n"
+ "\tstrb r0, [r3, 0x4]\n"
+ "\tstrb r2, [r3, 0x5]\n"
+ "\tmovs r6, 0\n"
+ "\tldr r1, _0804A470 @ =gUnknown_03004824\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0x42\n"
+ "\tadds r0, r5\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r6, r0\n"
+ "\tbcs _0804A504\n"
+ "\tmov r8, r3\n"
+ "\tadds r7, r1, 0\n"
+ "\tldr r0, _0804A474 @ =gTradeMonSpriteCoords\n"
+ "\tmov r9, r0\n"
+ "\tmovs r4, 0x1\n"
+ "\tadd r4, r9\n"
+ "\tmov r10, r4\n"
+ "_0804A462:\n"
+ "\tcmp r5, 0\n"
+ "\tbne _0804A47C\n"
+ "\tmovs r0, 0x64\n"
+ "\tadds r4, r6, 0\n"
+ "\tmuls r4, r0\n"
+ "\tldr r0, _0804A478 @ =gPlayerParty\n"
+ "\tb _0804A484\n"
+ "\t.align 2, 0\n"
+ "_0804A470: .4byte gUnknown_03004824\n"
+ "_0804A474: .4byte gTradeMonSpriteCoords\n"
+ "_0804A478: .4byte gPlayerParty\n"
+ "_0804A47C:\n"
+ "\tmovs r0, 0x64\n"
+ "\tadds r4, r6, 0\n"
+ "\tmuls r4, r0\n"
+ "\tldr r0, _0804A514 @ =gEnemyParty\n"
+ "_0804A484:\n"
+ "\tadds r4, r0\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x2\n"
+ "\tadd r2, sp, 0x4\n"
+ "\tbl GetMonData\n"
+ "\tmov r0, sp\n"
+ "\tadds r0, 0x22\n"
+ "\tadd r1, sp, 0x4\n"
+ "\tbl StringCopy10\n"
+ "\tadds r0, r4, 0\n"
+ "\tbl GetMonGender\n"
+ "\tmov r1, sp\n"
+ "\tadds r1, 0x22\n"
+ "\tldr r0, _0804A518 @ =gWindowConfig_81E7294\n"
+ "\tbl GetStringWidthGivenWindowConfig\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tmovs r1, 0x32\n"
+ "\tsubs r1, r0\n"
+ "\tlsrs r0, r1, 31\n"
+ "\tadds r1, r0\n"
+ "\tasrs r1, 1\n"
+ "\tmov r0, r8\n"
+ "\tstrb r1, [r0, 0x5]\n"
+ "\tldr r1, [r7]\n"
+ "\tadds r0, r1, 0x4\n"
+ "\tadds r1, 0x7A\n"
+ "\tlsls r2, r5, 5\n"
+ "\tadds r2, r5\n"
+ "\tlsls r2, 2\n"
+ "\tldrb r1, [r1]\n"
+ "\tadds r2, r1\n"
+ "\tmovs r1, 0x16\n"
+ "\tmuls r1, r6\n"
+ "\tadds r2, r1\n"
+ "\tlsls r2, 16\n"
+ "\tlsrs r2, 16\n"
+ "\tlsls r1, r5, 1\n"
+ "\tadds r1, r5\n"
+ "\tlsls r1, 1\n"
+ "\tadds r1, r6, r1\n"
+ "\tlsls r1, 1\n"
+ "\tmov r4, r9\n"
+ "\tadds r3, r1, r4\n"
+ "\tldrb r3, [r3]\n"
+ "\tadd r1, r10\n"
+ "\tldrb r1, [r1]\n"
+ "\tstr r1, [sp]\n"
+ "\tmov r1, r8\n"
+ "\tbl sub_8003460\n"
+ "\tadds r0, r6, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r6, r0, 24\n"
+ "\tldr r0, [r7]\n"
+ "\tadds r0, 0x42\n"
+ "\tadds r0, r5\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r6, r0\n"
+ "\tbcc _0804A462\n"
+ "_0804A504:\n"
+ "\tadd sp, 0x44\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.align 2, 0\n"
+ "_0804A514: .4byte gEnemyParty\n"
+ "_0804A518: .4byte gWindowConfig_81E7294");
+}
+#endif
+
+#ifdef NONMATCHING
+static
+#endif
+void sub_804A51C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5)
+{
+ u8 nickname[24];
+ u8 level;
+ u8 gender;
+ u8 lv_div_10;
+ sub_804A96C(&gUnknown_03004824->unk_00c8, a4, a5, gTradeMonBoxTilemap, 6, 3, 0);
+ if (a0 == 0)
+ {
+ level = GetMonData(&gPlayerParty[a1], MON_DATA_LEVEL, NULL);
+ gender = GetMonGender(&gPlayerParty[a1]);
+ GetMonData(&gPlayerParty[a1], MON_DATA_NICKNAME, nickname);
+ }
+ else
+ {
+ level = GetMonData(&gEnemyParty[a1], MON_DATA_LEVEL, NULL);
+ gender = GetMonGender(&gEnemyParty[a1]);
+ GetMonData(&gEnemyParty[a1], MON_DATA_NICKNAME, nickname);
+ }
+ if (gUnknown_03004824->unk_005d[a0][a1] == 0)
+ {
+ lv_div_10 = level / 10;
+ if (lv_div_10 != 0)
+ {
+ gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3] = lv_div_10 + 0x60;
+ }
+ gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 + 1] = (u8)(level % 10) + 0x70;
+ if (gender == MON_MALE)
+ {
+ if (!NameHasGenderSymbol(nickname, MON_MALE))
+ {
+ gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 31] += 1;
+ }
+ }
+ else if (gender == MON_FEMALE)
+ {
+ if (!NameHasGenderSymbol(nickname, MON_FEMALE))
+ {
+ gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 31] += 2;
+ }
+ }
+ }
+ else
+ {
+ gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 32] = gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 33];
+ gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 31] = gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 36] | 0x400;
+ }
+#ifdef GERMAN
+ gUnknown_03004824->unk_00c8.unk_10 = 1;
+#endif
+}
+
+#ifdef NONMATCHING
+static void sub_804A6DC(u8 whichParty)
+{
+ int i;
+ for (i = 0; i < gUnknown_03004824->partyCounts[whichParty]; i ++)
+ {
+ sub_804A51C(whichParty, i, gTradeLevelDisplayCoords[whichParty][i][0], gTradeLevelDisplayCoords[whichParty][i][1], gTradeMonBoxCoords[whichParty][i][0], gTradeMonBoxCoords[whichParty][i][1]);
+ }
+}
+#else
+__attribute__((naked))
+static void sub_804A6DC(u8 whichParty)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tsub sp, 0x8\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r6, r0, 24\n"
+ "\tmovs r7, 0\n"
+ "\tldr r0, _0804A734 @ =gUnknown_03004824\n"
+ "\tldr r0, [r0]\n"
+ "\tadds r0, 0x42\n"
+ "\tadds r0, r6\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r7, r0\n"
+ "\tbge _0804A72C\n"
+ "\tlsls r0, r6, 1\n"
+ "\tadds r0, r6\n"
+ "\tldr r1, _0804A738 @ =gTradeLevelDisplayCoords\n"
+ "\tlsls r0, 2\n"
+ "\tadds r5, r0, r1\n"
+ "\tldr r1, _0804A73C @ =gTradeMonBoxCoords\n"
+ "\tadds r4, r0, r1\n"
+ "_0804A702:\n"
+ "\tlsls r1, r7, 24\n"
+ "\tlsrs r1, 24\n"
+ "\tldrb r2, [r5]\n"
+ "\tldrb r3, [r5, 0x1]\n"
+ "\tldrb r0, [r4]\n"
+ "\tstr r0, [sp]\n"
+ "\tldrb r0, [r4, 0x1]\n"
+ "\tstr r0, [sp, 0x4]\n"
+ "\tadds r0, r6, 0\n"
+ "\tbl sub_804A51C\n"
+ "\tadds r5, 0x2\n"
+ "\tadds r4, 0x2\n"
+ "\tadds r7, 0x1\n"
+ "\tldr r0, _0804A734 @ =gUnknown_03004824\n"
+ "\tldr r0, [r0]\n"
+ "\tadds r0, 0x42\n"
+ "\tadds r0, r6\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r7, r0\n"
+ "\tblt _0804A702\n"
+ "_0804A72C:\n"
+ "\tadd sp, 0x8\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "_0804A734: .4byte gUnknown_03004824\n"
+ "_0804A738: .4byte gTradeLevelDisplayCoords\n"
+ "_0804A73C: .4byte gTradeMonBoxCoords");
+}
+#endif
+
+static void sub_804A740(u8 whichParty)
+{
+ int i;
+ for (i = 0; i < gUnknown_03004824->partyCounts[whichParty]; i ++)
+ {
+ gSprites[gUnknown_03004824->partyIcons[whichParty][i]].invisible = FALSE;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][i]].pos1.x = gTradeMonSpriteCoords[6 * whichParty + i][0] * 8 + 14;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][i]].pos1.y = gTradeMonSpriteCoords[6 * whichParty + i][1] * 8 - 12;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][i]].pos2.x = 0;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][i]].pos2.y = 0;
+ }
+}
+
+static void sub_804A80C(void)
+{
+ FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[1][0], 0, gUnknown_0820C330[1][1], 19);
+ sub_804A41C(1);
+}
+
+static void sub_804A840(u8 whichParty)
+{
+ if (whichParty == 0)
+ {
+ FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[0][0], 0, gUnknown_0820C330[0][1], 19);
+ sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 0, 0, gTradePartyBoxTilemap, 15, 17, 0);
+ sub_804A6DC(0);
+ sub_804A41C(0);
+ sub_804A740(0);
+ sub_804A938(&gUnknown_03004824->unk_00c8);
+ }
+ else
+ {
+ HandleDestroyMenuCursors();
+ FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[1][0], 0, gUnknown_0820C330[1][1], 19);
+ sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15, 0, gTradePartyBoxTilemap, 15, 17, 0);
+ sub_804A6DC(1);
+ sub_804A41C(1);
+ sub_804A740(1);
+ sub_804A938(&gUnknown_03004824->unk_00c8);
+ }
+ sub_804ACD8(gUnknown_0820C14C[1], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20);
+ gUnknown_03004824->unk_0080[whichParty] = 0;
+}
+
+static void sub_804A938(struct UnkStructD *unkStructD)
+{
+ unkStructD->unk_10 = 1;
+}
+
+static void sub_804A940(struct UnkStructD *unkStructD)
+{
+ if (unkStructD->unk_10)
+ {
+ CpuCopy16(unkStructD->unk_12, unkStructD->vramAddr, sizeof(unkStructD->unk_12));
+ unkStructD->unk_10 = 0;
+ }
+}
+
+static void sub_804A964(struct UnkStructD *unkStructD, void *dest)
+{
+ unkStructD->unk_10 = 0;
+ unkStructD->vramAddr = dest;
+}
+
+static void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, const u16 *tilemap, u8 width, u8 height, u16 sp8) {
+ int y, x;
+
+ for (y = 0; y < height; y++)
+ {
+
+ for (x = 0; x < width; x++)
+ {
+ arg0->unk_12[(top * 32 + left) + y * 32 + x] = tilemap[width * y + x] | sp8;
+ }
+ }
+
+#if ENGLISH
+ arg0->unk_10 = 1;
+#endif
+}
+
+#if GERMAN
+static void sub_804A96C_alt(struct UnkStructD *arg0, u8 left, u8 top, const u16 *tilemap, u8 width, u8 height, u16 sp8) {
+ sub_804A96C(arg0, left, top, tilemap, width, height, sp8);
+
+ arg0->unk_10 = 1;
+}
+#endif
+
+static void sub_804A9F4(u8 unused)
+{
+ MenuZeroFillScreen();
+}
+
+static void sub_804AA00(u8 unused)
+{
+ MenuZeroFillScreen();
+}
+
+static void sub_804AA0C(u8 a0)
+{
+ DrawTextWindow(&gUnknown_03004824->window, gTradeMessageWindowRects[a0][0], gTradeMessageWindowRects[a0][1], gTradeMessageWindowRects[a0][2], gTradeMessageWindowRects[a0][3]);
+ sub_8003460(&gUnknown_03004824->window, gUnknown_0820C2F0[a0], 0x180 + gUnknown_03004824->unk_007a, gTradeMessageWindowRects[a0][0] + 1, gTradeMessageWindowRects[a0][1] + 1);
+}
+
+static void sub_804AA88(void)
+{
+ int i;
+ for (i = 0; i < 4; i ++)
+ {
+ gUnknown_03004824->unk_08dc[i].unk_00 = 0;
+ gUnknown_03004824->unk_08dc[i].unk_02 = 0;
+ gUnknown_03004824->unk_08dc[i].unk_04 |= 0xff;
+ }
+}
+
+static void sub_804AADC(u16 a0, u8 a1)
+{
+ int i;
+ for (i = 0; i < 4; i ++)
+ {
+ if (gUnknown_03004824->unk_08dc[i].unk_00 == 0)
+ {
+ gUnknown_03004824->unk_08dc[i].unk_02 = a0;
+ gUnknown_03004824->unk_08dc[i].unk_04 = a1;
+ gUnknown_03004824->unk_08dc[i].unk_00 = 1;
+ break;
+ }
+ }
+}
+
+static void sub_804AB30(void)
+{
+ int i;
+ for (i = 0; i < 4; i ++)
+ {
+ if (gUnknown_03004824->unk_08dc[i].unk_00)
+ {
+ if (gUnknown_03004824->unk_08dc[i].unk_02 != 0)
+ {
+ gUnknown_03004824->unk_08dc[i].unk_02 --;
+ continue;
+ }
+ switch (gUnknown_03004824->unk_08dc[i].unk_04)
+ {
+ case 0:
+ Trade_SendData(gUnknown_03004824);
+ break;
+ case 1:
+ sub_804AA0C(0);
+ break;
+ case 2:
+ sub_804AA0C(2);
+ break;
+ case 3:
+ sub_804AA0C(3);
+ break;
+ case 4:
+ sub_804AA0C(3);
+ break;
+ case 5:
+ sub_804AA0C(3);
+ break;
+ }
+ gUnknown_03004824->unk_08dc[i].unk_00 = 0;
+ }
+ }
+}
+
+static bool8 sub_804ABF8(void)
+{
+ switch (gUnknown_03004824->unk_00b4)
+ {
+ case 8:
+ gUnknown_03004824->unk_007e = LoadSpriteSheet(&gUnknown_0820C07C[gUnknown_03004824->unk_00b4]);
+ gUnknown_03004824->unk_00b4 ++;
+ return FALSE;
+ case 13:
+ LoadSpritePalette(&gSpritePalette_TradeScreenText);
+ gUnknown_03004824->unk_00b4 ++;
+ return FALSE;
+ case 14:
+ LoadSpritePalette(&gUnknown_0820C12C);
+ gUnknown_03004824->unk_00b4 ++;
+ return FALSE;
+ case 15:
+ LoadSpriteSheet(&gUnknown_0820C124);
+ gUnknown_03004824->unk_00b4 ++;
+ // fallthrough
+ case 16:
+ gUnknown_03004824->unk_00b4 = 0;
+ return TRUE;
+ default:
+ LoadSpriteSheet(&gUnknown_0820C07C[gUnknown_03004824->unk_00b4]);
+ gUnknown_03004824->unk_00b4 ++;
+ return FALSE;
+ }
+}
+
+static void sub_804ACD8(const u8 *src, u8 *dest, u8 a2)
+{
+ sub_804AFB8(&gWindowConfig_81E725C, dest, src, a2);
+}
+
+#ifdef NONMATCHING
+static void sub_804ACF4(u8 who)
+{
+ struct Pokemon *pokemon;
+ int i;
+ switch (who)
+ {
+ case 0:
+ for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++)
+ {
+ pokemon = &gPlayerParty[i];
+ if (GetMonData(pokemon, MON_DATA_IS_EGG) == TRUE)
+ {
+ gUnknown_03004824->unk_0051[0][i] = 0;
+ gUnknown_03004824->unk_005d[0][i] = 1;
+ }
+ else if (GetMonData(pokemon, MON_DATA_HP) == 0)
+ {
+ gUnknown_03004824->unk_0051[0][i] = 0;
+ gUnknown_03004824->unk_005d[0][i] = 0;
+ }
+ else
+ {
+ gUnknown_03004824->unk_0051[0][i] = 1;
+ gUnknown_03004824->unk_005d[0][i] = 0;
+ }
+ }
+ break;
+ case 1:
+ for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++)
+ {
+ pokemon = &gEnemyParty[i];
+ if (GetMonData(pokemon, MON_DATA_IS_EGG) == TRUE)
+ {
+ gUnknown_03004824->unk_0051[1][i] = 0;
+ gUnknown_03004824->unk_005d[1][i] = 1;
+ }
+ else if (GetMonData(pokemon, MON_DATA_HP) == 0)
+ {
+ gUnknown_03004824->unk_0051[1][i] = 0;
+ gUnknown_03004824->unk_005d[1][i] = 0;
+ }
+ else
+ {
+ gUnknown_03004824->unk_0051[1][i] = 1;
+ gUnknown_03004824->unk_005d[1][i] = 0;
+ }
+ }
+ break;
+ }
+}
+#else
+static __attribute__((naked)) void sub_804ACF4(u8 who)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r9\n"
+ "\tmov r6, r8\n"
+ "\tpush {r6,r7}\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tmov r8, r0\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0804AD0C\n"
+ "\tcmp r0, 0x1\n"
+ "\tbeq _0804ADA0\n"
+ "\tb _0804AE2C\n"
+ "_0804AD0C:\n"
+ "\tmovs r7, 0\n"
+ "\tldr r1, _0804AD4C @ =gUnknown_03004824\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0x42\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r7, r0\n"
+ "\tblt _0804AD1C\n"
+ "\tb _0804AE2C\n"
+ "_0804AD1C:\n"
+ "\tadds r6, r1, 0\n"
+ "\tmovs r5, 0\n"
+ "\tmov r9, r5\n"
+ "_0804AD22:\n"
+ "\tmovs r0, 0x64\n"
+ "\tadds r1, r7, 0\n"
+ "\tmuls r1, r0\n"
+ "\tldr r0, _0804AD50 @ =gPlayerParty\n"
+ "\tadds r4, r1, r0\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x2D\n"
+ "\tbl GetMonData\n"
+ "\tadds r1, r0, 0\n"
+ "\tcmp r1, 0x1\n"
+ "\tbne _0804AD54\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x51\n"
+ "\tadds r0, r5\n"
+ "\tmov r2, r9\n"
+ "\tstrb r2, [r0]\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x5D\n"
+ "\tadds r0, r5\n"
+ "\tb _0804AD84\n"
+ "\t.align 2, 0\n"
+ "_0804AD4C: .4byte gUnknown_03004824\n"
+ "_0804AD50: .4byte gPlayerParty\n"
+ "_0804AD54:\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x39\n"
+ "\tbl GetMonData\n"
+ "\tadds r1, r0, 0\n"
+ "\tcmp r1, 0\n"
+ "\tbne _0804AD72\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x51\n"
+ "\tadds r0, r5\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x5D\n"
+ "\tadds r0, r5\n"
+ "\tb _0804AD84\n"
+ "_0804AD72:\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x51\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0x1\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x5D\n"
+ "\tadds r0, r5\n"
+ "\tmov r1, r9\n"
+ "_0804AD84:\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, _0804AD9C @ =gUnknown_03004824\n"
+ "\tadds r5, 0x1\n"
+ "\tadds r7, 0x1\n"
+ "\tldr r0, [r0]\n"
+ "\tadds r0, 0x42\n"
+ "\tadd r0, r8\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r7, r0\n"
+ "\tblt _0804AD22\n"
+ "\tb _0804AE2C\n"
+ "\t.align 2, 0\n"
+ "_0804AD9C: .4byte gUnknown_03004824\n"
+ "_0804ADA0:\n"
+ "\tmovs r7, 0\n"
+ "\tldr r1, _0804ADE0 @ =gUnknown_03004824\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0x43\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r7, r0\n"
+ "\tbge _0804AE2C\n"
+ "\tadds r6, r1, 0\n"
+ "\tmovs r5, 0x6\n"
+ "\tmovs r2, 0\n"
+ "\tmov r9, r2\n"
+ "_0804ADB6:\n"
+ "\tmovs r0, 0x64\n"
+ "\tadds r1, r7, 0\n"
+ "\tmuls r1, r0\n"
+ "\tldr r0, _0804ADE4 @ =gEnemyParty\n"
+ "\tadds r4, r1, r0\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x2D\n"
+ "\tbl GetMonData\n"
+ "\tadds r1, r0, 0\n"
+ "\tcmp r1, 0x1\n"
+ "\tbne _0804ADE8\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x51\n"
+ "\tadds r0, r5\n"
+ "\tmov r2, r9\n"
+ "\tstrb r2, [r0]\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x5D\n"
+ "\tadds r0, r5\n"
+ "\tb _0804AE18\n"
+ "\t.align 2, 0\n"
+ "_0804ADE0: .4byte gUnknown_03004824\n"
+ "_0804ADE4: .4byte gEnemyParty\n"
+ "_0804ADE8:\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x39\n"
+ "\tbl GetMonData\n"
+ "\tadds r1, r0, 0\n"
+ "\tcmp r1, 0\n"
+ "\tbne _0804AE06\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x51\n"
+ "\tadds r0, r5\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x5D\n"
+ "\tadds r0, r5\n"
+ "\tb _0804AE18\n"
+ "_0804AE06:\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x51\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0x1\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x5D\n"
+ "\tadds r0, r5\n"
+ "\tmov r1, r9\n"
+ "_0804AE18:\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, _0804AE38 @ =gUnknown_03004824\n"
+ "\tadds r5, 0x1\n"
+ "\tadds r7, 0x1\n"
+ "\tldr r0, [r0]\n"
+ "\tadds r0, 0x42\n"
+ "\tadd r0, r8\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r7, r0\n"
+ "\tblt _0804ADB6\n"
+ "_0804AE2C:\n"
+ "\tpop {r3,r4}\n"
+ "\tmov r8, r3\n"
+ "\tmov r9, r4\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "_0804AE38: .4byte gUnknown_03004824");
+}
+#endif
+
+static void sub_804AE3C(u8 who)
+{
+ u16 i;
+ u16 curHp;
+ u16 maxHp;
+ switch (who)
+ {
+ case 0:
+ for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++)
+ {
+ curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+ maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP);
+ gUnknown_03004824->unk_0069[0][i] = GetHPBarLevel(curHp, maxHp);
+ }
+ break;
+ case 1:
+ for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++)
+ {
+ curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP);
+ maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP);
+ gUnknown_03004824->unk_0069[1][i] = GetHPBarLevel(curHp, maxHp);
+ }
+ break;
+ }
+}
+
+static void sub_804AF10(void)
+{
+ int i, j;
+ for (i = 0; i < 2; i ++)
+ {
+ for (j = 0; j < gUnknown_03004824->partyCounts[i]; j ++)
+ {
+ sub_809D824(&gSprites[gUnknown_03004824->partyIcons[i][j]], 4 - gUnknown_03004824->unk_0069[i][j]);
+ }
+ }
+}
+
+static void sub_804AF84(void)
+{
+ int i;
+ for (i = 0; i < 11; i ++)
+ if (gSaveBlock1.giftRibbons[i] == 0 && gUnknown_03004824->unk_00b5[i] != 0)
+ gSaveBlock1.giftRibbons[i] = gUnknown_03004824->unk_00b5[i];
+}
+
+static void sub_804AFB8(const struct WindowConfig *windowConfig, u8 *dest, const u8 *src, u8 size)
+{
+ u8 i;
+ u8 *tileBuffer;
+ size = (size + 3) / 4;
+ tileBuffer = gTileBuffer;
+ CpuFill16(0, tileBuffer, size * 0x80);
+ CpuFill16(0, tileBuffer + windowConfig->width * 0x20, size * 0x80);
+ sub_8004E3C(windowConfig, tileBuffer, src);
+ for (i = 0; i < size; i ++)
+ {
+ CpuCopy16(&tileBuffer[32 * (i * 4)], &dest[32 * (i * 8)], 0x80);
+ CpuCopy16(&tileBuffer[32 * (i * 4 + windowConfig->width)], &dest[32 * (i * 8 + 4)], 0x80);
+ }
+}
+
+static void sub_804B058(struct Sprite *sprite)
+{
+ if (++ sprite->data0 == 10)
+ {
+ PlaySE(SE_BOWA);
+ sprite->data0 = 0;
+ }
+}
+
+static void sub_804B07C(struct Sprite *sprite)
+{
+ if (sprite->data1 == 0)
+ {
+ if (++ sprite->data0 == 12)
+ sprite->data0 = 0;
+ LoadPalette(&gTradeGlow2PaletteAnimTable[sprite->data0], 16 * (sprite->oam.paletteNum + 16) + 4, 2);
+ }
+}
+
+static void sub_804B0BC(struct Sprite *sprite)
+{
+ sprite->data0 ++;
+ sprite->pos2.y ++;
+ if (sprite->data0 == 10)
+ DestroySprite(sprite);
+}
+
+static void sub_804B0E0(struct Sprite *sprite)
+{
+ sprite->data0 ++;
+ sprite->pos2.y --;
+ if (sprite->data0 == 10)
+ DestroySprite(sprite);
+}
+
+static void sub_804B104(struct Sprite *sprite)
+{
+ if (++ sprite->data0 == 15)
+ {
+ PlaySE(SE_W107);
+ sprite->data0 = 0;
+ }
+}
+
+static void sub_804B128(void)
+{
+ struct BgAffineDstData dest;
+ DoBgAffineSet(&dest, gUnknown_03004828->unk_0104 << 8, gUnknown_03004828->unk_0106 << 8, gUnknown_03004828->unk_010c, gUnknown_03004828->unk_010e, gUnknown_03004828->unk_0118, gUnknown_03004828->unk_0118, gUnknown_03004828->unk_011c);
+ REG_BG2PA = dest.pa;
+ REG_BG2PB = dest.pb;
+ REG_BG2PC = dest.pc;
+ REG_BG2PD = dest.pd;
+ REG_BG2X = dest.dx;
+ REG_BG2Y = dest.dy;
+}
+
+#ifdef NONMATCHING
+static void sub_804B1BC(void)
+{
+ REG_BG1VOFS = gUnknown_03004828->bg1vofs;
+ REG_BG1HOFS = gUnknown_03004828->bg1hofs;
+ if ((REG_DISPCNT & 7) == DISPCNT_MODE_0)
+ {
+ REG_BG2VOFS = gUnknown_03004828->bg2vofs;
+ REG_BG2HOFS = gUnknown_03004828->bg2hofs;
+ }
+ else
+ {
+ sub_804B128();
+ }
+}
+#else
+__attribute__((naked)) static void sub_804B1BC(void)
+{
+ asm_unified("\tpush {lr}\n"
+ "\tldr r1, _0804B1FC @ =REG_BG1VOFS\n"
+ "\tldr r0, _0804B200 @ =gUnknown_03004828\n"
+ "\tldr r2, [r0]\n"
+ "\tmovs r3, 0x88\n"
+ "\tlsls r3, 1\n"
+ "\tadds r0, r2, r3\n"
+ "\tldrh r0, [r0]\n"
+ "\tstrh r0, [r1]\n"
+ "\tsubs r1, 0x2\n"
+ "\tadds r3, 0x2\n"
+ "\tadds r0, r2, r3\n"
+ "\tldrh r0, [r0]\n"
+ "\tstrh r0, [r1]\n"
+ "\tmovs r0, 0x80\n"
+ "\tlsls r0, 19\n"
+ "\tldrh r0, [r0]\n"
+ "\tmovs r1, 0x7\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbne _0804B208\n"
+ "\tldr r1, _0804B204 @ =REG_BG2VOFS\n"
+ "\tadds r3, 0x2\n"
+ "\tadds r0, r2, r3\n"
+ "\tldrh r0, [r0]\n"
+ "\tstrh r0, [r1]\n"
+ "\tsubs r1, 0x2\n"
+ "\tadds r3, 0x2\n"
+ "\tadds r0, r2, r3\n"
+ "\tldrh r0, [r0]\n"
+ "\tstrh r0, [r1]\n"
+ "\tb _0804B20C\n"
+ "\t.align 2, 0\n"
+ "_0804B1FC: .4byte REG_BG1VOFS\n"
+ "_0804B200: .4byte gUnknown_03004828\n"
+ "_0804B204: .4byte REG_BG2VOFS\n"
+ "_0804B208:\n"
+ "\tbl sub_804B128\n"
+ "_0804B20C:\n"
+ "\tpop {r0}\n"
+ "\tbx r0");
+}
+#endif
+
+static void sub_804B210(void)
+{
+ sub_804B1BC();
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static void sub_804B228(void)
+{
+ gUnknown_03004828->unk_00b4 = 0;
+ gUnknown_03004828->unk_00b2 = 0;
+ gUnknown_03004828->unk_00b3 = 0;
+}
+
+#ifdef NONMATCHING
+static
+#endif
+void sub_804B24C(void)
+{
+ if (gUnknown_03004828->unk_00b2 == gUnknown_03004828->unk_00b3)
+ {
+ gUnknown_03004828->unk_00b4 ++;
+ }
+ else
+ {
+ gUnknown_03004828->unk_00b4 = 0;
+ }
+ if (gUnknown_03004828->unk_00b4 > 0xb4)
+ {
+ gUnknown_03004828->unk_00b4 = 0;
+ gUnknown_03004828->unk_00b3 = 0;
+ gUnknown_03004828->unk_00b2 = 0;
+ }
+ gUnknown_03004828->unk_00b3 = gUnknown_03004828->unk_00b2;
+}
+
+static u8 sub_804B2B0(void)
+{
+ if (gReceivedRemoteLinkPlayers)
+ return GetMultiplayerId();
+ return 0;
+}
+
+static void sub_804B2D0(u8 whichParty, u8 a1)
+{
+ u8 v0;
+ struct Pokemon *pokemon;
+ u16 species;
+ u32 personality;
+
+ v0 = 0;
+ pokemon = NULL;
+ if (whichParty == 0)
+ {
+ pokemon = &gPlayerParty[gUnknown_020297D8[0]];
+ v0 = 1;
+ }
+ if (whichParty == 1)
+ {
+ pokemon = &gEnemyParty[gUnknown_020297D8[1] % 6];
+ v0 = 3;
+ }
+ switch (a1)
+ {
+ case 0:
+ species = GetMonData(pokemon, MON_DATA_SPECIES2);
+ personality = GetMonData(pokemon, MON_DATA_PERSONALITY);
+ HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (u32)ewram, gUnknown_081FAF4C[whichParty * 2 + 1], species, personality);
+ LoadCompressedObjectPalette(GetMonSpritePalStruct(pokemon));
+ gUnknown_03004828->tradeSpecies[whichParty] = species;
+ break;
+ case 1:
+ GetMonSpriteTemplate_803C56C(GetMonSpritePalStruct(pokemon)->tag, v0);
+ gUnknown_03004828->pokePicSpriteIdxs[whichParty] = CreateSprite(&gUnknown_02024E8C, 0x78, 0x3c, 0x6);
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[whichParty]].invisible = TRUE;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy;
+ break;
+ }
+}
+
+#ifdef NONMATCHING
+static void sub_804B41C(void)
+// Link trade init
+{
+ switch (gMain.state)
+ {
+ case 0:
+ REG_DISPCNT = 0;
+ ResetTasks();
+ CloseLink();
+ gUnknown_03004828 = &ewram_2010000.unk_0f000;
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ SetVBlankCallback(sub_804B210);
+ sub_804B228();
+ SetUpWindowConfig(&gWindowConfig_81E6F84);
+ InitWindowFromConfig(&gUnknown_03004828->window, &gWindowConfig_81E6F84);
+ gUnknown_03004828->textWindowBaseTileNum = SetTextWindowBaseTileNum(2);
+ LoadTextWindowGraphics(&gUnknown_03004828->window);
+ MenuZeroFillScreen();
+ gLinkType = 0x1144;
+ gMain.state ++;
+ LZDecompressVram(gUnknown_08D00000, (void *)VRAM);
+ CpuCopy16(gUnknown_08D00524, ewram, 0x1000);
+ DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500);
+ LoadCompressedPalette(gUnknown_08D004E0, 0, 32);
+ gUnknown_03004828->unk_00b6 = 0;
+ gUnknown_03004828->unk_00c4 = 0;
+ gUnknown_03004828->isLinkTrade = TRUE;
+ gUnknown_03004828->unk_0104 = 0x40;
+ gUnknown_03004828->unk_0106 = 0x40;
+ gUnknown_03004828->unk_0108 = 0;
+ gUnknown_03004828->unk_010a = 0;
+ gUnknown_03004828->unk_010c = 0x78;
+ gUnknown_03004828->unk_010e = 0x50;
+ gUnknown_03004828->unk_0118 = 0x100;
+ gUnknown_03004828->unk_011c = 0;
+ break;
+ case 1:
+ OpenLink();
+ gMain.state ++;
+ gUnknown_03004828->unk_00c0 = 0;
+ break;
+ case 2:
+ if (++ gUnknown_03004828->unk_00c0 > 60)
+ {
+ gUnknown_03004828->unk_00c0 = 0;
+ gMain.state ++;
+ }
+ break;
+ case 3:
+ if (IsLinkMaster())
+ {
+ if (GetLinkPlayerCount_2() >= sub_800820C() && ++ gUnknown_03004828->unk_00c0 > 30)
+ {
+ sub_8007F4C();
+ gMain.state ++;
+ }
+ }
+ else
+ {
+ gMain.state ++;
+ }
+ break;
+ case 4:
+ sub_804B24C();
+ if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) gMain.state ++;
+ break;
+ case 5:
+ gUnknown_03004828->unk_009c = 0;
+ gUnknown_03004828->unk_009d = 0;
+ gUnknown_03004828->unk_00bd = 0;
+ sub_804B2D0(0, 0);
+ gMain.state ++;
+ break;
+ case 6:
+ sub_804B2D0(0, 1);
+ gMain.state ++;
+ break;
+ case 7:
+ sub_804B2D0(1, 0);
+ gMain.state ++;
+ break;
+ case 8:
+ sub_804B2D0(1, 1);
+ gMain.state ++;
+ break;
+ case 9:
+ sub_804C164();
+ LoadSpriteSheet(&gUnknown_0821594C);
+ LoadSpritePalette(&gUnknown_08215954);
+ REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5);
+ gMain.state ++;
+ break;
+ case 10:
+ gMain.state ++;
+ // fallthrough
+ case 11:
+ sub_804BBE8(5);
+ sub_804BBE8(0);
+ sub_804C1A8();
+ BeginNormalPaletteFade(-1, 0, 16, 0, 0);
+ gMain.state ++;
+ break;
+ case 12:
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(sub_804DB84);
+ }
+ break;
+ }
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+#else
+static __attribute__((naked)) void sub_804B41C(void)
+{
+ asm_unified("\tpush {r4-r6,lr}\n"
+ "\tsub sp, 0x4\n"
+ "\tldr r1, _0804B43C @ =gMain\n"
+ "\tldr r2, _0804B440 @ =0x0000043c\n"
+ "\tadds r0, r1, r2\n"
+ "\tldrb r0, [r0]\n"
+ "\tadds r2, r1, 0\n"
+ "\tcmp r0, 0xC\n"
+ "\tbls _0804B430\n"
+ "\tb _0804B76E_break\n"
+ "_0804B430:\n"
+ "\tlsls r0, 2\n"
+ "\tldr r1, _0804B444 @ =_0804B448\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0]\n"
+ "\tmov pc, r0\n"
+ "\t.align 2, 0\n"
+ "_0804B43C: .4byte gMain\n"
+ "_0804B440: .4byte 0x0000043c\n"
+ "_0804B444: .4byte _0804B448\n"
+ "\t.align 2, 0\n"
+ "_0804B448:\n"
+ "\t.4byte _0804B47C_case00\n"
+ "\t.4byte _0804B5AC_case01\n"
+ "\t.4byte _0804B5D4_case02\n"
+ "\t.4byte _0804B5FC_case03\n"
+ "\t.4byte _0804B648_case04\n"
+ "\t.4byte _0804B678_case05\n"
+ "\t.4byte _0804B6A8_case06\n"
+ "\t.4byte _0804B6B2_case07\n"
+ "\t.4byte _0804B6CC_case08\n"
+ "\t.4byte _0804B6E4_case09\n"
+ "\t.4byte _0804B71C_case10\n"
+ "\t.4byte _0804B726_case11\n"
+ "\t.4byte _0804B75C_case12\n"
+ "_0804B47C_case00:\n"
+ "\tmovs r1, 0x80\n"
+ "\tlsls r1, 19\n"
+ "\tmovs r0, 0\n"
+ "\tstrh r0, [r1]\n"
+ "\tbl ResetTasks\n"
+ "\tbl CloseLink\n"
+ "\tldr r6, _0804B570 @ =gUnknown_03004828\n"
+ "\tldr r5, _0804B574 @ =0x0201f000\n"
+ "\tstr r5, [r6]\n"
+ "\tbl ResetSpriteData\n"
+ "\tbl FreeAllSpritePalettes\n"
+ "\tldr r0, _0804B578 @ =sub_804B210\n"
+ "\tbl SetVBlankCallback\n"
+ "\tbl sub_804B228\n"
+ "\tldr r4, _0804B57C @ =gWindowConfig_81E6F84\n"
+ "\tadds r0, r4, 0\n"
+ "\tbl SetUpWindowConfig\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x4\n"
+ "\tadds r1, r4, 0\n"
+ "\tbl InitWindowFromConfig\n"
+ "\tmovs r0, 0x2\n"
+ "\tbl SetTextWindowBaseTileNum\n"
+ "\tldr r1, [r6]\n"
+ "\tadds r1, 0x34\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r0, [r6]\n"
+ "\tadds r0, 0x4\n"
+ "\tbl LoadTextWindowGraphics\n"
+ "\tbl MenuZeroFillScreen\n"
+ "\tldr r1, _0804B580 @ =gLinkType\n"
+ "\tldr r4, _0804B584 @ =0x00001144\n"
+ "\tadds r0, r4, 0\n"
+ "\tstrh r0, [r1]\n"
+ "\tldr r1, _0804B588 @ =gMain\n"
+ "\tldr r0, _0804B58C @ =0x0000043c\n"
+ "\tadds r1, r0\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r0, _0804B590 @ =gUnknown_08D00000\n"
+ "\tmovs r1, 0xC0\n"
+ "\tlsls r1, 19\n"
+ "\tbl LZDecompressVram\n"
+ "\tldr r0, _0804B594 @ =gUnknown_08D00524\n"
+ "\tldr r1, _0804B598 @ =0xfffe1000\n"
+ "\tadds r5, r1\n"
+ "\tmovs r2, 0x80\n"
+ "\tlsls r2, 4\n"
+ "\tadds r1, r5, 0\n"
+ "\tbl CpuSet\n"
+ "\tldr r1, _0804B59C @ =0x06002800\n"
+ "\tldr r0, _0804B5A0 @ =0x040000d4\n"
+ "\tstr r5, [r0]\n"
+ "\tstr r1, [r0, 0x4]\n"
+ "\tldr r1, _0804B5A4 @ =0x80000280\n"
+ "\tstr r1, [r0, 0x8]\n"
+ "\tldr r0, [r0, 0x8]\n"
+ "\tldr r0, _0804B5A8 @ =gUnknown_08D004E0\n"
+ "\tmovs r1, 0\n"
+ "\tmovs r2, 0x20\n"
+ "\tbl LoadCompressedPalette\n"
+ "\tldr r1, [r6]\n"
+ "\tadds r0, r1, 0\n"
+ "\tadds r0, 0xB6\n"
+ "\tmovs r2, 0\n"
+ "\tstrh r2, [r0]\n"
+ "\tadds r0, 0xE\n"
+ "\tstrh r2, [r0]\n"
+ "\tmovs r4, 0x8F\n"
+ "\tlsls r4, 1\n"
+ "\tadds r1, r4\n"
+ "\tmovs r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r3, [r6]\n"
+ "\tmovs r1, 0x82\n"
+ "\tlsls r1, 1\n"
+ "\tadds r0, r3, r1\n"
+ "\tmovs r1, 0x40\n"
+ "\tstrh r1, [r0]\n"
+ "\tsubs r4, 0x18\n"
+ "\tadds r0, r3, r4\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r1, 0xC8\n"
+ "\tadds r0, r3, r1\n"
+ "\tstrh r2, [r0]\n"
+ "\tadds r4, 0x4\n"
+ "\tadds r0, r3, r4\n"
+ "\tstrh r2, [r0]\n"
+ "\tmovs r0, 0x86\n"
+ "\tlsls r0, 1\n"
+ "\tadds r1, r3, r0\n"
+ "\tmovs r0, 0x78\n"
+ "\tstrh r0, [r1]\n"
+ "\tadds r4, 0x4\n"
+ "\tadds r1, r3, r4\n"
+ "\tmovs r0, 0x50\n"
+ "\tstrh r0, [r1]\n"
+ "\tadds r0, 0xC8\n"
+ "\tadds r1, r3, r0\n"
+ "\tsubs r0, 0x18\n"
+ "\tstrh r0, [r1]\n"
+ "\tmovs r1, 0x8E\n"
+ "\tlsls r1, 1\n"
+ "\tadds r0, r3, r1\n"
+ "\tstrh r2, [r0]\n"
+ "\tb _0804B76E_break\n"
+ "\t.align 2, 0\n"
+ "_0804B570: .4byte gUnknown_03004828\n"
+ "_0804B574: .4byte 0x0201f000\n"
+ "_0804B578: .4byte sub_804B210\n"
+ "_0804B57C: .4byte gWindowConfig_81E6F84\n"
+ "_0804B580: .4byte gLinkType\n"
+ "_0804B584: .4byte 0x00001144\n"
+ "_0804B588: .4byte gMain\n"
+ "_0804B58C: .4byte 0x0000043c\n"
+ "_0804B590: .4byte gUnknown_08D00000\n"
+ "_0804B594: .4byte gUnknown_08D00524\n"
+ "_0804B598: .4byte 0xfffe1000\n"
+ "_0804B59C: .4byte 0x06002800\n"
+ "_0804B5A0: .4byte 0x040000d4\n"
+ "_0804B5A4: .4byte 0x80000280\n"
+ "_0804B5A8: .4byte gUnknown_08D004E0\n"
+ "_0804B5AC_case01:\n"
+ "\tbl OpenLink\n"
+ "\tldr r1, _0804B5C8 @ =gMain\n"
+ "\tldr r2, _0804B5CC @ =0x0000043c\n"
+ "\tadds r1, r2\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tmovs r2, 0\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r0, _0804B5D0 @ =gUnknown_03004828\n"
+ "\tldr r0, [r0]\n"
+ "\tadds r0, 0xC0\n"
+ "\tstr r2, [r0]\n"
+ "\tb _0804B76E_break\n"
+ "\t.align 2, 0\n"
+ "_0804B5C8: .4byte gMain\n"
+ "_0804B5CC: .4byte 0x0000043c\n"
+ "_0804B5D0: .4byte gUnknown_03004828\n"
+ "_0804B5D4_case02:\n"
+ "\tldr r0, _0804B5F4 @ =gUnknown_03004828\n"
+ "\tldr r0, [r0]\n"
+ "\tadds r1, r0, 0\n"
+ "\tadds r1, 0xC0\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstr r0, [r1]\n"
+ "\tcmp r0, 0x3C\n"
+ "\tbhi _0804B5E8\n"
+ "\tb _0804B76E_break\n"
+ "_0804B5E8:\n"
+ "\tmovs r0, 0\n"
+ "\tstr r0, [r1]\n"
+ "\tldr r4, _0804B5F8 @ =0x0000043c\n"
+ "\tadds r1, r2, r4\n"
+ "\tb _0804B74C\n"
+ "\t.align 2, 0\n"
+ "_0804B5F4: .4byte gUnknown_03004828\n"
+ "_0804B5F8: .4byte 0x0000043c\n"
+ "_0804B5FC_case03:\n"
+ "\tbl IsLinkMaster\n"
+ "\tlsls r0, 24\n"
+ "\tcmp r0, 0\n"
+ "\tbne _0804B608\n"
+ "\tb _0804B746\n"
+ "_0804B608:\n"
+ "\tbl GetLinkPlayerCount_2\n"
+ "\tadds r4, r0, 0\n"
+ "\tbl sub_800820C\n"
+ "\tlsls r4, 24\n"
+ "\tlsls r0, 24\n"
+ "\tcmp r4, r0\n"
+ "\tbcs _0804B61C\n"
+ "\tb _0804B76E_break\n"
+ "_0804B61C:\n"
+ "\tldr r0, _0804B63C @ =gUnknown_03004828\n"
+ "\tldr r1, [r0]\n"
+ "\tadds r1, 0xC0\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstr r0, [r1]\n"
+ "\tcmp r0, 0x1E\n"
+ "\tbhi _0804B62E\n"
+ "\tb _0804B76E_break\n"
+ "_0804B62E:\n"
+ "\tbl sub_8007F4C\n"
+ "\tldr r1, _0804B640 @ =gMain\n"
+ "\tldr r0, _0804B644 @ =0x0000043c\n"
+ "\tadds r1, r0\n"
+ "\tb _0804B74C\n"
+ "\t.align 2, 0\n"
+ "_0804B63C: .4byte gUnknown_03004828\n"
+ "_0804B640: .4byte gMain\n"
+ "_0804B644: .4byte 0x0000043c\n"
+ "_0804B648_case04:\n"
+ "\tbl sub_804B24C\n"
+ "\tldr r0, _0804B66C @ =gReceivedRemoteLinkPlayers\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r0, 0x1\n"
+ "\tbeq _0804B656\n"
+ "\tb _0804B76E_break\n"
+ "_0804B656:\n"
+ "\tbl IsLinkPlayerDataExchangeComplete\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tcmp r0, 0x1\n"
+ "\tbeq _0804B664\n"
+ "\tb _0804B76E_break\n"
+ "_0804B664:\n"
+ "\tldr r1, _0804B670 @ =gMain\n"
+ "\tldr r4, _0804B674 @ =0x0000043c\n"
+ "\tadds r1, r4\n"
+ "\tb _0804B74C\n"
+ "\t.align 2, 0\n"
+ "_0804B66C: .4byte gReceivedRemoteLinkPlayers\n"
+ "_0804B670: .4byte gMain\n"
+ "_0804B674: .4byte 0x0000043c\n"
+ "_0804B678_case05:\n"
+ "\tldr r2, _0804B69C @ =gUnknown_03004828\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r0, 0x9C\n"
+ "\tmovs r1, 0\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r0, 0x9D\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r0, 0xBD\n"
+ "\tstrb r1, [r0]\n"
+ "\tmovs r0, 0\n"
+ "\tbl sub_804B2D0\n"
+ "\tldr r1, _0804B6A0 @ =gMain\n"
+ "\tldr r0, _0804B6A4 @ =0x0000043c\n"
+ "\tadds r1, r0\n"
+ "\tb _0804B74C\n"
+ "\t.align 2, 0\n"
+ "_0804B69C: .4byte gUnknown_03004828\n"
+ "_0804B6A0: .4byte gMain\n"
+ "_0804B6A4: .4byte 0x0000043c\n"
+ "_0804B6A8_case06:\n"
+ "\tmovs r0, 0\n"
+ "\tmovs r1, 0x1\n"
+ "\tbl sub_804B2D0\n"
+ "\tb _0804B746\n"
+ "_0804B6B2_case07:\n"
+ "\tmovs r0, 0x1\n"
+ "\tmovs r1, 0\n"
+ "\tbl sub_804B2D0\n"
+ "\tldr r1, _0804B6C4 @ =gMain\n"
+ "\tldr r4, _0804B6C8 @ =0x0000043c\n"
+ "\tadds r1, r4\n"
+ "\tb _0804B74C\n"
+ "\t.align 2, 0\n"
+ "_0804B6C4: .4byte gMain\n"
+ "_0804B6C8: .4byte 0x0000043c\n"
+ "_0804B6CC_case08:\n"
+ "\tmovs r0, 0x1\n"
+ "\tmovs r1, 0x1\n"
+ "\tbl sub_804B2D0\n"
+ "\tldr r1, _0804B6DC @ =gMain\n"
+ "\tldr r0, _0804B6E0 @ =0x0000043c\n"
+ "\tadds r1, r0\n"
+ "\tb _0804B74C\n"
+ "\t.align 2, 0\n"
+ "_0804B6DC: .4byte gMain\n"
+ "_0804B6E0: .4byte 0x0000043c\n"
+ "_0804B6E4_case09:\n"
+ "\tbl sub_804C164\n"
+ "\tldr r0, _0804B704 @ =gUnknown_0821594C\n"
+ "\tbl LoadSpriteSheet\n"
+ "\tldr r0, _0804B708 @ =gUnknown_08215954\n"
+ "\tbl LoadSpritePalette\n"
+ "\tldr r1, _0804B70C @ =REG_BG1CNT\n"
+ "\tldr r2, _0804B710 @ =0x00000502\n"
+ "\tadds r0, r2, 0\n"
+ "\tstrh r0, [r1]\n"
+ "\tldr r1, _0804B714 @ =gMain\n"
+ "\tldr r4, _0804B718 @ =0x0000043c\n"
+ "\tadds r1, r4\n"
+ "\tb _0804B74C\n"
+ "\t.align 2, 0\n"
+ "_0804B704: .4byte gUnknown_0821594C\n"
+ "_0804B708: .4byte gUnknown_08215954\n"
+ "_0804B70C: .4byte REG_BG1CNT\n"
+ "_0804B710: .4byte 0x00000502\n"
+ "_0804B714: .4byte gMain\n"
+ "_0804B718: .4byte 0x0000043c\n"
+ "_0804B71C_case10:\n"
+ "\tldr r0, _0804B754 @ =0x0000043c\n"
+ "\tadds r1, r2, r0\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "_0804B726_case11:\n"
+ "\tmovs r0, 0x5\n"
+ "\tbl sub_804BBE8\n"
+ "\tmovs r0, 0\n"
+ "\tbl sub_804BBE8\n"
+ "\tbl sub_804C1A8\n"
+ "\tmovs r0, 0x1\n"
+ "\tnegs r0, r0\n"
+ "\tmovs r1, 0\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r2, 0x10\n"
+ "\tmovs r3, 0\n"
+ "\tbl BeginNormalPaletteFade\n"
+ "_0804B746:\n"
+ "\tldr r1, _0804B758 @ =gMain\n"
+ "\tldr r2, _0804B754 @ =0x0000043c\n"
+ "\tadds r1, r2\n"
+ "_0804B74C:\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "\tb _0804B76E_break\n"
+ "\t.align 2, 0\n"
+ "_0804B754: .4byte 0x0000043c\n"
+ "_0804B758: .4byte gMain\n"
+ "_0804B75C_case12:\n"
+ "\tldr r0, _0804B788 @ =gPaletteFade\n"
+ "\tldrb r1, [r0, 0x7]\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbne _0804B76E_break\n"
+ "\tldr r0, _0804B78C @ =sub_804DB84\n"
+ "\tbl SetMainCallback2\n"
+ "_0804B76E_break:\n"
+ "\tbl RunTasks\n"
+ "\tbl AnimateSprites\n"
+ "\tbl BuildOamBuffer\n"
+ "\tbl UpdatePaletteFade\n"
+ "\tadd sp, 0x4\n"
+ "\tpop {r4-r6}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "_0804B788: .4byte gPaletteFade\n"
+ "_0804B78C: .4byte sub_804DB84");
+}
+#endif
+
+static void sub_804B790(void)
+// In-game trade init
+{
+ u8 otName[11];
+ switch (gMain.state)
+ {
+ case 0:
+ gUnknown_020297D8[0] = gSpecialVar_0x8005;
+ gUnknown_020297D8[1] = 6;
+ StringCopy(gLinkPlayers[0].name, gSaveBlock2.playerName);
+ GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName);
+ StringCopy(gLinkPlayers[1].name, otName);
+ REG_DISPCNT = 0;
+ ResetTasks();
+ gUnknown_03004828 = &ewram_2010000.unk_0f000;
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ SetVBlankCallback(sub_804B210);
+ sub_804B228();
+ SetUpWindowConfig(&gWindowConfig_81E717C);
+ InitWindowFromConfig(&gUnknown_03004828->window, &gWindowConfig_81E717C);
+ gUnknown_03004828->textWindowBaseTileNum = SetTextWindowBaseTileNum(2);
+ LoadTextWindowGraphics(&gUnknown_03004828->window);
+ MenuZeroFillScreen();
+ gLinkType = 0x1144;
+ gUnknown_03004828->isLinkTrade = FALSE;
+ gUnknown_03004828->unk_00b6 = 0;
+ gUnknown_03004828->unk_00c4 = 0;
+ gUnknown_03004828->unk_0104 = 0x40;
+ gUnknown_03004828->unk_0106 = 0x40;
+ gUnknown_03004828->unk_0108 = 0;
+ gUnknown_03004828->unk_010a = 0;
+ gUnknown_03004828->unk_010c = 0x78;
+ gUnknown_03004828->unk_010e = 0x50;
+ gUnknown_03004828->unk_0118 = 0x100;
+ gUnknown_03004828->unk_011c = 0;
+ gUnknown_03004828->unk_00c0 = 0;
+ gMain.state = 5;
+ break;
+ case 5:
+ sub_804B2D0(0, 0);
+ gMain.state ++;
+ break;
+ case 6:
+ sub_804B2D0(0, 1);
+ gMain.state ++;
+ break;
+ case 7:
+ sub_804B2D0(1, 0);
+ gMain.state ++;
+ break;
+ case 8:
+ sub_804B2D0(1, 1);
+ gMain.state ++;
+ break;
+ case 9:
+ sub_804C164();
+ LoadSpriteSheet(&gUnknown_0821594C);
+ LoadSpritePalette(&gUnknown_08215954);
+ REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5);
+ gMain.state ++;
+ break;
+ case 10:
+ gMain.state ++;
+ // fallthrough
+ case 11:
+ sub_804BBE8(5);
+ sub_804BBE8(0);
+ sub_804C1A8();
+ BeginNormalPaletteFade(-1, 0, 16, 0, 0);
+ gMain.state ++;
+ break;
+ case 12:
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(sub_804BBCC);
+ }
+ break;
+ }
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_804BA18(u8 partyIdx)
+{
+ struct Pokemon *pokemon = &gPlayerParty[partyIdx];
+ if (!GetMonData(pokemon, MON_DATA_IS_EGG))
+ {
+ u16 species = SpeciesToNationalPokedexNum(GetMonData(pokemon, MON_DATA_SPECIES, NULL));
+ GetSetPokedexFlag(species, 2);
+ GetSetPokedexFlag(species, 3);
+ }
+}
+
+static void sub_804BA64(void)
+{
+ u8 mpId = GetMultiplayerId();
+ if (gLinkPlayers[mpId ^ 1].lp_field_2 == 0x8000)
+ EnableNationalPokedex();
+}
+
+static void sub_804BA94(u8 a0, u8 a1)
+{
+ u8 friendship;
+ struct Pokemon *playerPokemon = &gPlayerParty[a0];
+ u16 playerMail = GetMonData(playerPokemon, MON_DATA_MAIL);
+
+ struct Pokemon *friendPokemon = &gEnemyParty[a1];
+ u16 friendMail = GetMonData(friendPokemon, MON_DATA_MAIL);
+
+ if (playerMail != 0xff)
+ ClearMailStruct(&gSaveBlock1.mail[playerMail]);
+
+ // This is where the actual trade happens!!
+ gUnknown_03004828->pokemon = *playerPokemon;
+ *playerPokemon = *friendPokemon;
+ *friendPokemon = gUnknown_03004828->pokemon;
+
+ friendship = 70;
+ if (!GetMonData(playerPokemon, MON_DATA_IS_EGG))
+ SetMonData(playerPokemon, MON_DATA_FRIENDSHIP, &friendship);
+
+ if (friendMail != 0xff)
+ GiveMailToMon2(playerPokemon, &gUnknown_02029700[friendMail]);
+
+ sub_804BA18(a0);
+ if (gReceivedRemoteLinkPlayers)
+ sub_804BA64();
+}
+
+static void sub_804BB78(void)
+{
+ switch (gUnknown_03004828->unk_00bd)
+ {
+ case 1:
+ if (sub_8007ECC())
+ {
+ Trade_SendData(gUnknown_03004828);
+ gUnknown_03004828->unk_00bd ++;
+ }
+ // fallthrough
+ case 2:
+ gUnknown_03004828->unk_00bd = 0;
+ break;
+ }
+}
+
+static void sub_804BBCC(void)
+{
+ sub_804C29C();
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_804BBE8(u8 a0)
+{
+ int i;
+ u16 *buffer;
+ switch (a0)
+ {
+ case 0:
+ LoadPalette(gUnknown_0820C9F8, 0x10, 0xa0);
+ DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(1), 0x1300, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_0820F798, BG_SCREEN_ADDR(18), 0x1000);
+ gUnknown_03004828->bg2vofs = 0;
+ gUnknown_03004828->bg2hofs = 0xb4;
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
+ REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256;
+ break;
+ case 1:
+ gUnknown_03004828->bg1hofs = 0;
+ gUnknown_03004828->bg1vofs = 0x15c;
+ REG_BG1VOFS = 0x15c;
+ REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5) | BGCNT_TXT256x512;
+
+ DmaCopy16Defvars(3, gUnknown_08210798, BG_SCREEN_ADDR(5), 0x1000);
+ DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(0), 0x1300, 0x1000);
+ REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON;
+ break;
+ case 2:
+ gUnknown_03004828->bg1vofs = 0;
+ gUnknown_03004828->bg1hofs = 0;
+ REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON;
+ DmaCopy16Defvars(3, gUnknown_08211798, BG_SCREEN_ADDR(5), 0x800);
+ break;
+ case 3:
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON;
+ gUnknown_03004828->unk_0104 = 0x40;
+ gUnknown_03004828->unk_0106 = 0x40;
+ gUnknown_03004828->unk_010c = 0x78;
+ gUnknown_03004828->unk_010e = -0x46;
+ gUnknown_03004828->unk_011c = 0;
+ DmaCopyLarge16(3, gUnknown_0820DD98, BG_CHAR_ADDR(1), 0x1a00, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08211F98, BG_SCREEN_ADDR(18), 0x100);
+ break;
+ case 4:
+ REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
+ REG_BG2CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(1) | BGCNT_256COLOR | BGCNT_SCREENBASE(18);
+ gUnknown_03004828->unk_0104 = 0x40;
+ gUnknown_03004828->unk_0106 = 0x5c;
+ gUnknown_03004828->unk_0118 = 0x20;
+ gUnknown_03004828->unk_011a = 0x400;
+ gUnknown_03004828->unk_011c = 0;
+ DmaCopyLarge16(3, gUnknown_08213738, BG_CHAR_ADDR(1), 0x2040, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08215778, BG_SCREEN_ADDR(18), 0x100);
+ break;
+ case 5:
+ gUnknown_03004828->bg1vofs = 0;
+ gUnknown_03004828->bg1hofs = 0;
+ REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5);
+ LZDecompressVram(gUnknown_08D00000, BG_CHAR_ADDR(0));
+ CpuCopy16(gUnknown_08D00524, buffer = (u16 *)ewram, 0x1000);
+ LoadCompressedPalette(gUnknown_08D004E0, 0x70, 0x20);
+ FillPalette(0, 0, 2);
+ for (i = 0; i < 0x280; i ++)
+ buffer[i] |= 0x7000;
+ DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500);
+ MenuZeroFillWindowRect(2, 15, 27, 18);
+ break;
+ case 6:
+ REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
+ REG_BG2CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(1) | BGCNT_256COLOR | BGCNT_SCREENBASE(18);
+ gUnknown_03004828->unk_0104 = 0x40;
+ gUnknown_03004828->unk_0106 = 0x5c;
+ gUnknown_03004828->unk_0118 = 0x100;
+ gUnknown_03004828->unk_011a = 0x80;
+ gUnknown_03004828->unk_010c = 0x78;
+ gUnknown_03004828->unk_010e = 0x50;
+ gUnknown_03004828->unk_011c = 0;
+ DmaCopyLarge16(3, gUnknown_08213738, BG_CHAR_ADDR(1), 0x2040, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08215778, BG_SCREEN_ADDR(18), 0x100);
+ break;
+ case 7:
+ gUnknown_03004828->bg2vofs = 0;
+ gUnknown_03004828->bg2hofs = 0;
+ REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256;
+ LoadPalette(gUnknown_0820C9F8, 0x10, 0xa0);
+ DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(1), 0x1300, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_0820F798, BG_SCREEN_ADDR(18), 0x1000);
+ break;
+ }
+}
+
+static void sub_804C0F8(u8 a0)
+{
+ if (a0 == 0)
+ {
+ if (gUnknown_03004828->bg1vofs < 0x10a)
+ {
+ gUnknown_03004828->unk_010e ++;
+ gUnknown_03004828->unk_011c += 64;
+ }
+ }
+ else
+ {
+ if (gUnknown_03004828->unk_010e > -0x40)
+ {
+ gUnknown_03004828->unk_010e --;
+ gUnknown_03004828->unk_011c += 64;
+ }
+ }
+}
+
+static void sub_804C164(void)
+{
+ LoadSpriteSheet(&gUnknown_082159A4);
+ LoadSpriteSheet(&gUnknown_082159F4);
+ LoadSpriteSheet(&gUnknown_08215A28);
+ LoadSpriteSheet(&gUnknown_08215A78);
+ LoadSpritePalette(&gUnknown_082159AC);
+ LoadSpritePalette(&gUnknown_082159B4);
+}
+
+static void sub_804C1A8(void)
+{
+ u8 mpId;
+ u8 string[20];
+ const struct InGameTrade *ingameTrade;
+ if (gUnknown_03004828->isLinkTrade)
+ {
+ mpId = GetMultiplayerId();
+ StringCopy(gStringVar1, gLinkPlayers[mpId ^ 1].name);
+ GetMonData(&gEnemyParty[gUnknown_020297D8[1] % 6], MON_DATA_NICKNAME, string);
+ StringCopy10(gStringVar3, string);
+ GetMonData(&gPlayerParty[gUnknown_020297D8[0]], MON_DATA_NICKNAME, string);
+ StringCopy10(gStringVar2, string);
+ }
+ else
+ {
+ ingameTrade = &gIngameTrades[gSpecialVar_0x8004];
+ StringCopy(gStringVar1, ingameTrade->otName);
+ StringCopy10(gStringVar3, ingameTrade->name);
+ GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, string);
+ StringCopy10(gStringVar2, string);
+ }
+}
+
+static bool8 sub_804C29C(void)
+{
+ u16 evoTarget;
+
+ switch (gUnknown_03004828->unk_00c4)
+ {
+ case 0:
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].invisible = FALSE;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.x = -0xb4;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_03004828->tradeSpecies[0]].y_offset;
+ gUnknown_03004828->unk_00c4 ++;
+ gUnknown_03004828->unk_0124 = GetCurrentMapMusic();
+ PlayBGM(BGM_SHINKA);
+ break;
+ case 1:
+ if (gUnknown_03004828->bg2hofs > 0)
+ {
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.x += 3;
+ gUnknown_03004828->bg2hofs -= 3;
+ }
+ else
+ {
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.x = 0;
+ gUnknown_03004828->bg2hofs = 0;
+ gUnknown_03004828->unk_00c4 = 10;
+ }
+ break;
+
+ case 10:
+ StringExpandPlaceholders(gStringVar4, gTradeText_WillBeSent);
+ sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
+ gUnknown_03004828->unk_00c4 = 11;
+ gUnknown_03004828->unk_00c0 = 0;
+ break;
+ case 11:
+ if (++gUnknown_03004828->unk_00c0 == 80)
+ {
+ gUnknown_03004828->unk_0102 = sub_8047580(gUnknown_03004828->pokePicSpriteIdxs[0], gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].oam.paletteNum, 0x78, 0x20, 0x2, 0x1, 0x14, 0xfffff);
+ gUnknown_03004828->unk_00c4 ++;
+ ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19);
+ StringExpandPlaceholders(gStringVar4, gTradeText_ByeBye);
+ sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
+ }
+ break;
+ case 12:
+ if (gSprites[gUnknown_03004828->unk_0102].callback == SpriteCallbackDummy && sub_80035AC(&gUnknown_03004828->window) == TRUE)
+ {
+ gUnknown_03004828->unk_0103 = CreateSprite(&gSpriteTemplate_821595C, 0x78, 0x20, 0);
+ gSprites[gUnknown_03004828->unk_0103].callback = sub_804D738;
+ DestroySprite(&gSprites[gUnknown_03004828->unk_0102]);
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 13:
+ // The game waits here for the sprite to finish its animation sequence.
+ break;
+ case 14:
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004828->unk_00c4 = 20;
+ break;
+
+ case 20:
+ if (!gPaletteFade.active)
+ {
+ sub_804BBE8(4);
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 21:
+ BeginNormalPaletteFade(-1, -1, 16, 0, 0);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 22:
+ if (!gPaletteFade.active)
+ {
+ gUnknown_03004828->unk_00c4 = 23;
+ }
+ break;
+ case 23:
+ if (gUnknown_03004828->unk_011a > 0x100)
+ {
+ gUnknown_03004828->unk_011a -= 0x34;
+ }
+ else
+ {
+ sub_804BBE8(1);
+ gUnknown_03004828->unk_011a = 0x80;
+ gUnknown_03004828->unk_00c4 ++;
+ gUnknown_03004828->unk_00c0 = 0;
+ }
+ gUnknown_03004828->unk_0118 = 0x8000 / gUnknown_03004828->unk_011a;
+ break;
+ case 24:
+ if (++ gUnknown_03004828->unk_00c0 > 20)
+ {
+ sub_804BBE8(3);
+ sub_804B128();
+ gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_8215A80, 0x78, 0x50, 0);
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 25:
+ if (gSprites[gUnknown_03004828->unk_00bb].animEnded)
+ {
+ DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]);
+ REG_BLDCNT = 0x640;
+ REG_BLDALPHA = 0x40C;
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 26:
+ if (-- gUnknown_03004828->bg1vofs == 0x13C)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ if (gUnknown_03004828->bg1vofs == 0x148)
+ {
+ gUnknown_03004828->unk_00bc = CreateSprite(&gSpriteTemplate_8215A30, 0x80, 0x41, 0);
+ }
+ break;
+ case 27:
+ gUnknown_03004828->unk_00ba = CreateSprite(&gSpriteTemplate_82159BC, 0x80, 0x50, 3);
+ gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_82159FC, 0x80, 0x50, 0);
+ StartSpriteAnim(&gSprites[gUnknown_03004828->unk_00bb], 1);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 28:
+ if ((gUnknown_03004828->bg1vofs -= 2) == 0xA6)
+ {
+ gUnknown_03004828->unk_00c4 = 200;
+ }
+ sub_804C0F8(0);
+ REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
+ break;
+ case 200:
+ gSprites[gUnknown_03004828->unk_00ba].pos1.y -= 2;
+ gSprites[gUnknown_03004828->unk_00bb].pos1.y -= 2;
+ sub_804C0F8(0);
+ if (gSprites[gUnknown_03004828->unk_00ba].pos1.y < -8)
+ {
+ gUnknown_03004828->unk_00c4 = 29;
+ }
+ break;
+ case 29:
+ BeginNormalPaletteFade(-1, -1, 0, 16, 0);
+ gUnknown_03004828->unk_00c4 = 30;
+ break;
+ case 30:
+ if (!gPaletteFade.active)
+ {
+ DestroySprite(&gSprites[gUnknown_03004828->unk_00ba]);
+ DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]);
+ sub_804BBE8(2);
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 31:
+ BeginNormalPaletteFade(-1, -1, 16, 0, 0);
+ gUnknown_03004828->unk_00ba = CreateSprite(&gSpriteTemplate_82159FC, 0x6f, 0xaa, 0);
+ gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_82159FC, 0x81, -0xa, 0);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 32:
+ if (!gPaletteFade.active)
+ {
+ PlaySE(SE_TK_WARPOUT);
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ gSprites[gUnknown_03004828->unk_00ba].pos2.y -= 3;
+ gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3;
+ break;
+ case 33:
+ gSprites[gUnknown_03004828->unk_00ba].pos2.y -= 3;
+ gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3;
+ if (gSprites[gUnknown_03004828->unk_00ba].pos2.y <= -0x5a)
+ {
+ gSprites[gUnknown_03004828->unk_00ba].data1 = 1;
+ gSprites[gUnknown_03004828->unk_00bb].data1 = 1;
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 34:
+ BlendPalettes(1, 16, 0xffff);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 35:
+ BlendPalettes(1, 0, 0xffff);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 36:
+ BlendPalettes(1, 16, 0xffff);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 37:
+ if (!IsPokeSpriteNotFlipped(gUnknown_03004828->tradeSpecies[0]))
+ {
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8215AC0;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].oam.affineMode = 3;
+ CalcCenterToCornerVec(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]], 0, 3, 3);
+ StartSpriteAffineAnim(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]], 0);
+ }
+ else
+ {
+ StartSpriteAffineAnim(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]], 0);
+ }
+ StartSpriteAffineAnim(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]], 0);
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos1.x = 0x3c;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos1.x = 0xb4;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos1.y = 0xc0;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos1.y = -0x20;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].invisible = FALSE;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].invisible = FALSE;
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 38:
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y -= 3;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos2.y += 3;
+ if (-0xa0 > gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y && gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y >= -0xa3)
+ {
+ PlaySE(SE_TK_WARPIN);
+ }
+ if (gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y < -0xde)
+ {
+ gSprites[gUnknown_03004828->unk_00ba].data1 = 0;
+ gSprites[gUnknown_03004828->unk_00bb].data1 = 0;
+ gUnknown_03004828->unk_00c4 ++;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].invisible = TRUE;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].invisible = TRUE;
+ BlendPalettes(1, 0, 0xffff);
+ }
+ break;
+ case 39:
+ gSprites[gUnknown_03004828->unk_00ba].pos2.y -= 3;
+ gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3;
+ if (gSprites[gUnknown_03004828->unk_00ba].pos2.y <= -0xde)
+ {
+ BeginNormalPaletteFade(-1, -1, 0, 16, 0);
+ gUnknown_03004828->unk_00c4 ++;
+ DestroySprite(&gSprites[gUnknown_03004828->unk_00ba]);
+ DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]);
+ }
+ break;
+ case 40:
+ if (!gPaletteFade.active)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ sub_804BBE8(1);
+ gUnknown_03004828->bg1vofs = 0xa6;
+ gUnknown_03004828->unk_00ba = CreateSprite(&gSpriteTemplate_82159BC, 0x80, -0x14, 3);
+ gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_82159FC, 0x80, -0x14, 0);
+ StartSpriteAnim(&gSprites[gUnknown_03004828->unk_00bb], 1);
+ }
+ break;
+ case 41:
+ BeginNormalPaletteFade(-1, -1, 16, 0, 0);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 42:
+ REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
+ sub_804C0F8(1);
+ if (!gPaletteFade.active)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 43:
+ sub_804C0F8(1);
+ gSprites[gUnknown_03004828->unk_00ba].pos2.y += 3;
+ gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3;
+ if (gSprites[gUnknown_03004828->unk_00ba].pos2.y + gSprites[gUnknown_03004828->unk_00ba].pos1.y == 64)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 44:
+ sub_804C0F8(1);
+ if ((gUnknown_03004828->bg1vofs += 2) > 0x13c)
+ {
+ gUnknown_03004828->bg1vofs = 0x13c;
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 45:
+ DestroySprite(&gSprites[gUnknown_03004828->unk_00ba]);
+ DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]);
+ gUnknown_03004828->unk_00c4 ++;
+ gUnknown_03004828->unk_00c0 = 0;
+ break;
+ case 46:
+ if (++ gUnknown_03004828->unk_00c0 == 10)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 47:
+ if (++ gUnknown_03004828->bg1vofs > 0x15c)
+ {
+ gUnknown_03004828->bg1vofs = 0x15c;
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ if (gUnknown_03004828->bg1vofs == 0x148)
+ gUnknown_03004828->unk_00bc = CreateSprite(&gSpriteTemplate_8215A30, 0x80, 0x41, 0);
+ gSprites[gUnknown_03004828->unk_00bc].callback = sub_804B0E0;
+ break;
+ case 48:
+ gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_8215A80, 0x78, 0x50, 0);
+ gUnknown_03004828->unk_00c4 = 50;
+ break;
+
+ case 50:
+ if (gSprites[gUnknown_03004828->unk_00bb].animEnded)
+ {
+ DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]);
+ sub_804BBE8(6);
+ gUnknown_03004828->unk_00c4 ++;
+ PlaySE(SE_W028);
+ }
+ break;
+ case 51:
+ if (gUnknown_03004828->unk_011a < 0x400)
+ {
+ gUnknown_03004828->unk_011a += 0x34;
+ }
+ else
+ {
+ gUnknown_03004828->unk_011a = 0x400;
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ gUnknown_03004828->unk_0118 = 0x8000 / gUnknown_03004828->unk_011a;
+ break;
+ case 52:
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004828->unk_00c4 = 60;
+ break;
+
+ case 60:
+ if (!gPaletteFade.active)
+ {
+ sub_804BBE8(5);
+ sub_804BBE8(7);
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 61:
+ BeginNormalPaletteFade(-1, 0, 16, 0, 0);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 62:
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
+ if (!gPaletteFade.active)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 63:
+ gUnknown_03004828->unk_0103 = CreateSprite(&gSpriteTemplate_821595C, 0x78, -0x8, 0);
+ gSprites[gUnknown_03004828->unk_0103].data3 = 0x4a;
+ gSprites[gUnknown_03004828->unk_0103].callback = sub_804D80C;
+ StartSpriteAnim(&gSprites[gUnknown_03004828->unk_0103], 1);
+ StartSpriteAffineAnim(&gSprites[gUnknown_03004828->unk_0103], 2);
+ BlendPalettes(1 << (16 + gSprites[gUnknown_03004828->unk_0103].oam.paletteNum), 16, 0xffff);
+ gUnknown_03004828->unk_00c4 ++;
+ gUnknown_03004828->unk_00c0 = 0;
+ break;
+ case 64:
+ BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_03004828->unk_0103].oam.paletteNum), 1, 16, 0, 0xffff);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 65:
+ if (gSprites[gUnknown_03004828->unk_0103].callback == SpriteCallbackDummy)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 66:
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos1.x = 0x78;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_03004828->tradeSpecies[1]].y_offset + 60;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos2.x = 0;
+ gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos2.y = 0;
+ CreatePokeballSprite(gUnknown_03004828->pokePicSpriteIdxs[1], gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].oam.paletteNum, 0x78, 0x54, 2, 1, 0x14, 0xfffff);
+ FreeSpriteOamMatrix(&gSprites[gUnknown_03004828->unk_0103]);
+ DestroySprite(&gSprites[gUnknown_03004828->unk_0103]);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 67:
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
+ ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19);
+ StringExpandPlaceholders(gStringVar4, gTradeText_SentOverPoke);
+ sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
+ gUnknown_03004828->unk_00c4 ++;
+ gUnknown_03004828->unk_00c0 = 0;
+ break;
+ case 68:
+ if (++ gUnknown_03004828->unk_00c0 == 4)
+ {
+ PlayFanfare(BGM_FANFA5);
+ }
+ if (gUnknown_03004828->unk_00c0 == 0xf0)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19);
+ StringExpandPlaceholders(gStringVar4, gTradeText_TakeGoodCare);
+ sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
+ gUnknown_03004828->unk_00c0 = 0;
+ }
+ break;
+ case 69: // OneHand
+ if (++ gUnknown_03004828->unk_00c0 == 60)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 70:
+ sub_804E1DC();
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 71:
+ if (gUnknown_03004828->isLinkTrade)
+ {
+ return TRUE;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_03004828->unk_00c4 ++;
+ }
+ break;
+ case 72: // Only if in-game trade
+ sub_804BA94(gSpecialVar_0x8005, 0);
+ gCB2_AfterEvolution = sub_804BBCC;
+ evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_020297D8[0]], TRUE, ITEM_NONE);
+ if (evoTarget != SPECIES_NONE)
+ TradeEvolutionScene(&gPlayerParty[gUnknown_020297D8[0]], evoTarget, gUnknown_03004828->pokePicSpriteIdxs[1], gUnknown_020297D8[0]);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 73:
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004828->unk_00c4 ++;
+ break;
+ case 74:
+ if (!gPaletteFade.active)
+ {
+ PlayBGM(gUnknown_03004828->unk_0124);
+ SetMainCallback2(c2_exit_to_overworld_2_switch);
+ sub_804D8E4();
+ }
+ break;
+ }
+ return FALSE;
+}
+
+static void sub_804D588(void)
+{
+ u16 evoTarget;
+ switch (gMain.state)
+ {
+ case 0:
+ gMain.state = 4;
+ gSoftResetDisabled = TRUE;
+ break;
+ case 4:
+ gCB2_AfterEvolution = sub_804DC88;
+ evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_020297D8[0]], TRUE, ITEM_NONE);
+ if (evoTarget != SPECIES_NONE)
+ TradeEvolutionScene(&gPlayerParty[gUnknown_020297D8[0]], evoTarget, gUnknown_03004828->pokePicSpriteIdxs[1], gUnknown_020297D8[0]);
+ else
+ SetMainCallback2(sub_804DC88);
+ gUnknown_020297D8[0] = 255;
+ break;
+ }
+ if (!HasLinkErrorOccurred())
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_804D63C(void)
+{
+ u8 blockReceivedStatus;
+ sub_804B2B0();
+ blockReceivedStatus = GetBlockReceivedStatus();
+ if (blockReceivedStatus & 0x01)
+ {
+ if (gBlockRecvBuffer[0][0] == 0xdcba)
+ {
+ SetMainCallback2(sub_804D588);
+ }
+ if (gBlockRecvBuffer[0][0] == 0xabcd)
+ {
+ gUnknown_03004828->unk_009c = 1;
+ }
+ ResetBlockReceivedFlag(0);
+ }
+ if (blockReceivedStatus & 0x02)
+ {
+ if (gBlockRecvBuffer[1][0] == 0xabcd)
+ {
+ gUnknown_03004828->unk_009d = 1;
+ }
+ ResetBlockReceivedFlag(1);
+ }
+}
+
+static void sub_804D6BC(struct Sprite *sprite)
+{
+ sprite->pos1.y += sprite->data0 / 10;
+ sprite->data5 += sprite->data1;
+ sprite->pos1.x = sprite->data5 / 10;
+ if (sprite->pos1.y > 0x4c)
+ {
+ sprite->pos1.y = 0x4c;
+ sprite->data0 = -(sprite->data0 * sprite->data2) / 100;
+ sprite->data3 ++;
+ }
+ if (sprite->pos1.x == 0x78)
+ sprite->data1 = 0;
+ sprite->data0 += sprite->data4;
+ if (sprite->data3 == 4)
+ {
+ sprite->data7 = 1;
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+static void sub_804D738(struct Sprite *sprite)
+{
+ sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data0];
+ if (sprite->data0 == 22)
+ PlaySE(SE_KON);
+ if (++ sprite->data0 == 44)
+ {
+ PlaySE(SE_W025);
+ sprite->callback = sub_804D7AC;
+ sprite->data0 = 0;
+ BeginNormalPaletteFade(1 << (16 + sprite->oam.paletteNum), -1, 0, 16, -1);
+ }
+}
+
+static void sub_804D7AC(struct Sprite *sprite)
+{
+ if (sprite->data1 == 20)
+ StartSpriteAffineAnim(sprite, 1);
+ if (++ sprite->data1 > 20)
+ {
+ sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data0];
+ if (++ sprite->data0 == 23)
+ {
+ DestroySprite(sprite);
+ gUnknown_03004828->unk_00c4 = 14; // Resume the master trade animation
+ }
+ }
+}
+
+static void sub_804D80C(struct Sprite *sprite)
+{
+ if (sprite->data2 == 0)
+ {
+ if ((sprite->pos1.y += 4) > sprite->data3)
+ {
+ sprite->data2 ++;
+ sprite->data0 = 0x16;
+ PlaySE(SE_KON);
+ }
+ }
+ else
+ {
+ if (sprite->data0 == 0x42)
+ PlaySE(SE_KON2);
+ if (sprite->data0 == 0x5c)
+ PlaySE(SE_KON3);
+ if (sprite->data0 == 0x6b)
+ PlaySE(SE_KON4);
+ sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data0];
+ if (++sprite->data0 == 0x6c)
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+u16 sub_804D89C(void)
+{
+ const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004];
+ StringCopy(gStringVar1, gSpeciesNames[inGameTrade->playerSpecies]);
+ StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]);
+ return inGameTrade->playerSpecies;
+}
+
+static void sub_804D8E4(void)
+{
+ u8 nickname[32];
+ const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004];
+ GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname);
+ StringCopy10(gStringVar1, nickname);
+ StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]);
+}
+
+static void sub_804D948(u8 whichPlayerMon, u8 whichInGameTrade)
+{
+ const struct InGameTrade *inGameTrade = &gIngameTrades[whichInGameTrade];
+ u8 level = GetMonData(&gPlayerParty[whichPlayerMon], MON_DATA_LEVEL);
+
+ struct MailStruct mail;
+ u8 metLocation = 0xFE;
+ u8 isMail;
+ struct Pokemon *pokemon = &gEnemyParty[0];
+
+ CreateMon(pokemon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, TRUE, inGameTrade->otId);
+
+ SetMonData(pokemon, MON_DATA_HP_IV, &inGameTrade->ivs[0]);
+ SetMonData(pokemon, MON_DATA_ATK_IV, &inGameTrade->ivs[1]);
+ SetMonData(pokemon, MON_DATA_DEF_IV, &inGameTrade->ivs[2]);
+ SetMonData(pokemon, MON_DATA_SPEED_IV, &inGameTrade->ivs[3]);
+ SetMonData(pokemon, MON_DATA_SPATK_IV, &inGameTrade->ivs[4]);
+ SetMonData(pokemon, MON_DATA_SPDEF_IV, &inGameTrade->ivs[5]);
+ SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->name);
+ SetMonData(pokemon, MON_DATA_OT_NAME, inGameTrade->otName);
+ SetMonData(pokemon, MON_DATA_OT_GENDER, &inGameTrade->otGender);
+ SetMonData(pokemon, MON_DATA_ALT_ABILITY, &inGameTrade->secondAbility);
+ SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->stats[1]);
+ SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->stats[2]);
+ SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->stats[0]);
+ SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->stats[3]);
+ SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->stats[4]);
+ SetMonData(pokemon, MON_DATA_SHEEN, &inGameTrade->sheen);
+ SetMonData(pokemon, MON_DATA_MET_LOCATION, &metLocation);
+
+ isMail = FALSE;
+ if (inGameTrade->heldItem != ITEM_NONE)
+ {
+ if (ItemIsMail(inGameTrade->heldItem))
+ {
+ sub_804DAD4(&mail, inGameTrade);
+ gUnknown_02029700[0] = mail;
+ SetMonData(pokemon, MON_DATA_MAIL, &isMail);
+ SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem);
+ }
+ else
+ {
+ SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem);
+ }
+ }
+ CalculateMonStats(&gEnemyParty[0]);
+}
+
+static void sub_804DAD4(struct MailStruct *mail, const struct InGameTrade *trade) {
+ s32 i;
+
+ for (i = 0; i < 9; i++)
+ {
+ mail->words[i] = gIngameTradeMail[trade->mailNum][i];
+ }
+
+ StringCopy(mail->playerName, trade->otName);
+
+#if GERMAN
+ PadNameString(mail->playerName, CHAR_SPACE);
+#endif
+
+ mail->trainerId[0] = trade->otId >> 24;
+ mail->trainerId[1] = trade->otId >> 16;
+ mail->trainerId[2] = trade->otId >> 8;
+ mail->trainerId[3] = trade->otId;
+ mail->species = trade->species;
+ mail->itemId = trade->heldItem;
+}
+
+u16 sub_804DB2C(void)
+{
+ if (GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_IS_EGG))
+ return SPECIES_NONE;
+ return GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_SPECIES);
+}
+
+void sub_804DB68(void)
+{
+ sub_804D948(gSpecialVar_0x8005, gSpecialVar_0x8004);
+}
+
+#ifdef NONMATCHING
+static
+#endif
+void sub_804DB84(void)
+{
+ if (sub_804C29C() == TRUE)
+ {
+ DestroySprite(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]]);
+ FreeSpriteOamMatrix(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]]);
+ sub_804BA94(gUnknown_020297D8[0], gUnknown_020297D8[1] % 6);
+ gUnknown_03004828->linkData[0] = 0xabcd;
+ gUnknown_03004828->unk_00bd = 1;
+ SetMainCallback2(sub_804DC18);
+ }
+ sub_804BB78();
+ sub_804D63C();
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_804DC18(void)
+{
+ u8 mpId = sub_804B2B0();
+ sub_804D63C();
+ if (mpId == 0 && gUnknown_03004828->unk_009c == 1 && gUnknown_03004828->unk_009d == 1)
+ {
+ gUnknown_03004828->linkData[0] = 0xdcba;
+ Trade_SendData(gUnknown_03004828);
+ gUnknown_03004828->unk_009c = 2;
+ gUnknown_03004828->unk_009d = 2;
+ }
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_804DC88(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ gUnknown_03004828 = &ewram_2010000.unk_0f000;
+ gMain.state ++;
+ ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19);
+ StringExpandPlaceholders(gStringVar4, gOtherText_LinkStandby2);
+ sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
+ break;
+ case 1:
+ sub_80084A4();
+ gMain.state = 100;
+ gUnknown_03004828->unk_00c0 = 0;
+ break;
+ case 100:
+ if (++ gUnknown_03004828->unk_00c0 > 180)
+ {
+ gMain.state = 101;
+ gUnknown_03004828->unk_00c0 = 0;
+ }
+ if (sub_8007ECC())
+ {
+ gMain.state = 2;
+ }
+ break;
+ case 101:
+ if (sub_8007ECC())
+ {
+ gMain.state = 2;
+ }
+ break;
+ case 2:
+ gMain.state = 50;
+ ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19);
+ sub_8003460(&gUnknown_03004828->window, gSystemText_Saving, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
+ break;
+ case 50:
+ SetSecretBase2Field_9_AndHideBG();
+ IncrementGameStat(GAME_STAT_POKEMON_TRADES);
+ sub_8125D80();
+ gMain.state ++;
+ gUnknown_03004828->unk_00c0 = 0;
+ break;
+ case 51:
+ if (++ gUnknown_03004828->unk_00c0 == 5)
+ {
+ gMain.state ++;
+ }
+ break;
+ case 52:
+ if (sub_8125DA8())
+ {
+ ClearSecretBase2Field_9_2();
+ gMain.state = 4;
+ }
+ else
+ {
+ gUnknown_03004828->unk_00c0 = 0;
+ gMain.state = 51;
+ }
+ break;
+ case 4:
+ sub_8125DDC();
+ gMain.state = 40;
+ gUnknown_03004828->unk_00c0 = 0;
+ break;
+ case 40:
+ if (++ gUnknown_03004828->unk_00c0 > 50)
+ {
+ gUnknown_03004828->unk_00c0 = 0;
+ gMain.state = 41;
+ }
+ break;
+ case 41:
+ sub_80084A4();
+ gMain.state = 42;
+ break;
+ case 42:
+ if (sub_8007ECC())
+ {
+ sub_8125E04();
+ gSoftResetDisabled = FALSE;
+ gMain.state = 5;
+ }
+ break;
+ case 5:
+ if (++ gUnknown_03004828->unk_00c0 > 60)
+ {
+ gMain.state ++;
+ sub_80084A4();
+ }
+ break;
+ case 6:
+ if (sub_8007ECC())
+ {
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gMain.state ++;
+ }
+ break;
+ case 7:
+ if (!gPaletteFade.active)
+ {
+ FadeOutBGM(3);
+ gMain.state ++;
+ }
+ break;
+ case 8:
+ if (IsBGMStopped() == TRUE)
+ {
+ sub_800832C();
+ gMain.state ++;
+ }
+ break;
+ case 9:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ SetMainCallback2(sub_804E144);
+ }
+ break;
+ }
+ if (!HasLinkErrorOccurred())
+ {
+ RunTasks();
+ }
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_804E144(void)
+{
+ if (!gPaletteFade.active)
+ SetMainCallback2((sub_8047CD8));
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+void sub_804E174(void)
+{
+ ScriptContext2_Enable();
+ CreateTask(sub_804E1A0, 10);
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+}
+
+static void sub_804E1A0(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(sub_804B790);
+ gFieldCallback = sub_8080990;
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_804E1DC(void)
+{
+ u8 i;
+ u8 numRibbons = 0;
+ for (i = 0; i < 12; i ++)
+ {
+ numRibbons += GetMonData(&gEnemyParty[gUnknown_020297D8[1] % 6], MON_DATA_CHAMPION_RIBBON + i);
+ }
+ if (numRibbons != 0)
+ FlagSet(SYS_RIBBON_GET);
+}
+
+void sub_804E22C(void)
+{
+ const u16 *src;
+ u16 *dest;
+ LZDecompressVram(gUnknown_08D00000, (void *)VRAM);
+ CpuCopy16(gUnknown_08D00524, ewram, 0x1000);
+ src = (const u16 *)ewram;
+ dest = BG_SCREEN_ADDR(5);
+ DmaCopy16(3, src, dest, 0x500)
+ LoadCompressedPalette(gUnknown_08D004E0, 0, 32);
+ REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5);
+}
diff --git a/src/trainer_card.c b/src/engine/trainer_card.c
index bcb62ede6..3e9dadbda 100644
--- a/src/trainer_card.c
+++ b/src/engine/trainer_card.c
@@ -311,16 +311,16 @@ static void nullsub_60(u8 taskid)
{
}
-void sub_8093390(struct TrainerCard *arg1)
+void sub_8093390(struct TrainerCard *trainerCard)
{
u32 playTime;
bool32 enteredHallOfFame;
bool8 r4;
u8 i;
- arg1->gender = gSaveBlock2.playerGender;
- arg1->playTimeHours = gSaveBlock2.playTimeHours;
- arg1->playTimeMinutes = gSaveBlock2.playTimeMinutes;
+ trainerCard->gender = gSaveBlock2.playerGender;
+ trainerCard->playTimeHours = gSaveBlock2.playTimeHours;
+ trainerCard->playTimeMinutes = gSaveBlock2.playTimeMinutes;
playTime = GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME);
enteredHallOfFame = GetGameStat(GAME_STAT_ENTERED_HOF);
@@ -328,39 +328,39 @@ void sub_8093390(struct TrainerCard *arg1)
{
playTime = 0;
}
- arg1->firstHallOfFameA = playTime >> 16;
- arg1->firstHallOfFameB = (playTime >> 8) & 0xFF;
- arg1->firstHallOfFameC = playTime & 0xFF;
+ trainerCard->firstHallOfFameA = playTime >> 16;
+ trainerCard->firstHallOfFameB = (playTime >> 8) & 0xFF;
+ trainerCard->firstHallOfFameC = playTime & 0xFF;
- arg1->hasPokedex = FlagGet(SYS_POKEDEX_GET);
- arg1->var_3 = sub_8090FC0();
- arg1->pokedexSeen = GetPokedexSeenCount();
+ trainerCard->hasPokedex = FlagGet(SYS_POKEDEX_GET);
+ trainerCard->var_3 = sub_8090FC0();
+ trainerCard->pokedexSeen = GetPokedexSeenCount();
- arg1->trainerId = (gSaveBlock2.playerTrainerId[1] << 8) | gSaveBlock2.playerTrainerId[0];
+ trainerCard->trainerId = (gSaveBlock2.playerTrainerId[1] << 8) | gSaveBlock2.playerTrainerId[0];
// Link Cable Battles
- arg1->linkBattleWins = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_WINS, 9999);
- arg1->linkBattleLosses = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_LOSSES, 9999);
+ trainerCard->linkBattleWins = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_WINS, 9999);
+ trainerCard->linkBattleLosses = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_LOSSES, 9999);
// Contests w/ Friends
- arg1->contestsWithFriends = sav12_xor_get_clamped_above(GAME_STAT_WON_LINK_CONTEST, 999);
+ trainerCard->contestsWithFriends = sav12_xor_get_clamped_above(GAME_STAT_WON_LINK_CONTEST, 999);
// Pokéblocks w/ Friends
- arg1->pokeblocksWithFriends = sav12_xor_get_clamped_above(GAME_STAT_POKEBLOCKS_WITH_FRIENDS, 0xFFFF);
+ trainerCard->pokeblocksWithFriends = sav12_xor_get_clamped_above(GAME_STAT_POKEBLOCKS_WITH_FRIENDS, 0xFFFF);
// Pokémon Trades
- arg1->pokemonTrades = sav12_xor_get_clamped_above(GAME_STAT_POKEMON_TRADES, 0xFFFF);
+ trainerCard->pokemonTrades = sav12_xor_get_clamped_above(GAME_STAT_POKEMON_TRADES, 0xFFFF);
- // Battle tower?
- arg1->battleTowerWins = gSaveBlock2.filler_A8.var_4C8;
- arg1->battleTowerLosses = gSaveBlock2.filler_A8.var_4CA;
- if (arg1->battleTowerWins > 9999)
+ // Battle Tower
+ trainerCard->battleTowerWins = gSaveBlock2.battleTower.totalBattleTowerWins;
+ trainerCard->battleTowerLosses = gSaveBlock2.battleTower.bestBattleTowerWinStreak;
+ if (trainerCard->battleTowerWins > 9999)
{
- arg1->battleTowerWins = 9999;
+ trainerCard->battleTowerWins = 9999;
}
- if (arg1->battleTowerLosses > 9999)
+ if (trainerCard->battleTowerLosses > 9999)
{
- arg1->battleTowerLosses = 9999;
+ trainerCard->battleTowerLosses = 9999;
}
r4 = FALSE;
@@ -368,21 +368,21 @@ void sub_8093390(struct TrainerCard *arg1)
{
r4 = TRUE;
}
- arg1->var_4 = r4;
+ trainerCard->var_4 = r4;
- arg1->money = gSaveBlock1.money;
+ trainerCard->money = gSaveBlock1.money;
for (i = 0; i < 4; i++)
{
- arg1->var_28[i] = gSaveBlock1.unk2B1C[i];
+ trainerCard->var_28[i] = gSaveBlock1.easyChats.unk2B1C[i];
}
for (i = 0; i < 8; i++)
{
- arg1->playerName[i] = gSaveBlock2.playerName[i];
+ trainerCard->playerName[i] = gSaveBlock2.playerName[i];
}
- arg1->stars = sub_80934F4(arg1);
+ trainerCard->stars = sub_80934F4(trainerCard);
}
u8 sub_80934C4(u8 id)
diff --git a/src/trig.c b/src/engine/trig.c
index e16a69e63..e16a69e63 100644
--- a/src/trig.c
+++ b/src/engine/trig.c
diff --git a/src/util.c b/src/engine/util.c
index 582b9f806..582b9f806 100644
--- a/src/util.c
+++ b/src/engine/util.c
diff --git a/src/bard_music.c b/src/field/bard_music.c
index daf003233..daf003233 100644
--- a/src/bard_music.c
+++ b/src/field/bard_music.c
diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c
new file mode 100644
index 000000000..1b5759f49
--- /dev/null
+++ b/src/field/battle_tower.c
@@ -0,0 +1,2375 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
+#include "battle_transition.h"
+#include "data2.h"
+#include "easy_chat.h"
+#include "event_data.h"
+#include "item.h"
+#include "items.h"
+#include "main.h"
+#include "map_object_constants.h"
+#include "moves.h"
+#include "new_game.h"
+#include "overworld.h"
+#include "pokedex.h"
+#include "rng.h"
+#include "save.h"
+#include "script_pokemon_80C4.h"
+#include "species.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+#include "trainer.h"
+#include "tv.h"
+#include "vars.h"
+
+#if ENGLISH
+#include "../data/battle_tower/trainers.h"
+#elif GERMAN
+#include "../data/battle_tower/trainers_de.h"
+#endif
+
+static const u16 sBattleTowerHeldItems[] = {
+ ITEM_NONE,
+ ITEM_KINGS_ROCK,
+ ITEM_SITRUS_BERRY,
+ ITEM_ORAN_BERRY,
+ ITEM_CHESTO_BERRY,
+ ITEM_HARD_STONE,
+ ITEM_FOCUS_BAND,
+ ITEM_PERSIM_BERRY,
+ ITEM_MIRACLE_SEED,
+ ITEM_BERRY_JUICE,
+ ITEM_MACHO_BRACE,
+ ITEM_SILVER_POWDER,
+ ITEM_CHERI_BERRY,
+ ITEM_BLACK_GLASSES,
+ ITEM_BLACK_BELT,
+ ITEM_SOUL_DEW,
+ ITEM_CHOICE_BAND,
+ ITEM_MAGNET,
+ ITEM_SILK_SCARF,
+ ITEM_WHITE_HERB,
+ ITEM_DEEP_SEA_SCALE,
+ ITEM_DEEP_SEA_TOOTH,
+ ITEM_MYSTIC_WATER,
+ ITEM_SHARP_BEAK,
+ ITEM_QUICK_CLAW,
+ ITEM_LEFTOVERS,
+ ITEM_RAWST_BERRY,
+ ITEM_LIGHT_BALL,
+ ITEM_POISON_BARB,
+ ITEM_NEVER_MELT_ICE,
+ ITEM_ASPEAR_BERRY,
+ ITEM_SPELL_TAG,
+ ITEM_BRIGHT_POWDER,
+ ITEM_LEPPA_BERRY,
+ ITEM_SCOPE_LENS,
+ ITEM_TWISTED_SPOON,
+ ITEM_METAL_COAT,
+ ITEM_MENTAL_HERB,
+ ITEM_CHARCOAL,
+ ITEM_PECHA_BERRY,
+ ITEM_SOFT_SAND,
+ ITEM_LUM_BERRY,
+ ITEM_DRAGON_SCALE,
+ ITEM_DRAGON_FANG,
+ ITEM_IAPAPA_BERRY,
+ ITEM_WIKI_BERRY,
+ ITEM_SEA_INCENSE,
+ ITEM_SHELL_BELL,
+ ITEM_SALAC_BERRY,
+ ITEM_LANSAT_BERRY,
+ ITEM_APICOT_BERRY,
+ ITEM_STARF_BERRY,
+ ITEM_LIECHI_BERRY,
+ ITEM_STICK,
+ ITEM_LAX_INCENSE,
+ ITEM_AGUAV_BERRY,
+ ITEM_FIGY_BERRY,
+ ITEM_THICK_CLUB,
+ ITEM_MAGO_BERRY,
+ ITEM_METAL_POWDER,
+ ITEM_PETAYA_BERRY,
+ ITEM_LUCKY_PUNCH,
+ ITEM_GANLON_BERRY,
+};
+
+#include "../data/battle_tower/level_50_mons.h"
+#include "../data/battle_tower/level_100_mons.h"
+
+static const u8 sMaleTrainerClasses[] = {
+ TRAINER_CLASS_RUIN_MANIAC,
+ TRAINER_CLASS_TUBER_M,
+ TRAINER_CLASS_COOL_TRAINER_M,
+ TRAINER_CLASS_RICH_BOY,
+ TRAINER_CLASS_POKEMANIAC,
+ TRAINER_CLASS_SWIMMER_M,
+ TRAINER_CLASS_BLACK_BELT,
+ TRAINER_CLASS_GUITARIST,
+ TRAINER_CLASS_KINDLER,
+ TRAINER_CLASS_CAMPER,
+ TRAINER_CLASS_BUG_MANIAC,
+ TRAINER_CLASS_PSYCHIC_M,
+ TRAINER_CLASS_GENTLEMAN,
+ TRAINER_CLASS_SCHOOL_KID_M,
+ TRAINER_CLASS_POKEFAN_M,
+ TRAINER_CLASS_EXPERT_M,
+ TRAINER_CLASS_YOUNGSTER,
+ TRAINER_CLASS_FISHERMAN,
+ TRAINER_CLASS_CYCLING_TRIATHLETE_M,
+ TRAINER_CLASS_RUNNING_TRIATHLETE_M,
+ TRAINER_CLASS_SWIMMING_TRIATHLETE_M,
+ TRAINER_CLASS_DRAGON_TAMER,
+ TRAINER_CLASS_BIRD_KEEPER,
+ TRAINER_CLASS_NINJA_BOY,
+ TRAINER_CLASS_SAILOR,
+ TRAINER_CLASS_COLLECTOR,
+ TRAINER_CLASS_POKEMON_BREEDER_M,
+ TRAINER_CLASS_POKEMON_RANGER_M,
+ TRAINER_CLASS_BUG_CATCHER,
+ TRAINER_CLASS_HIKER,
+};
+
+static const u8 sFemaleTrainerClasses[] = {
+ TRAINER_CLASS_AROMA_LADY,
+ TRAINER_CLASS_TUBER_F,
+ TRAINER_CLASS_COOL_TRAINER_F,
+ TRAINER_CLASS_HEX_MANIAC,
+ TRAINER_CLASS_LADY,
+ TRAINER_CLASS_BEAUTY,
+ TRAINER_CLASS_PSYCHIC_F,
+ TRAINER_CLASS_SCHOOL_KID_F,
+ TRAINER_CLASS_POKEFAN_F,
+ TRAINER_CLASS_EXPERT_F,
+ TRAINER_CLASS_CYCLING_TRIATHLETE_F,
+ TRAINER_CLASS_RUNNING_TRIATHLETE_F,
+ TRAINER_CLASS_SWIMMING_TRIATHLETE_F,
+ TRAINER_CLASS_BATTLE_GIRL,
+ TRAINER_CLASS_PARASOL_LADY,
+ TRAINER_CLASS_SWIMMER_F,
+ TRAINER_CLASS_PICNICKER,
+ TRAINER_CLASS_POKEMON_BREEDER_F,
+ TRAINER_CLASS_POKEMON_RANGER_F,
+ TRAINER_CLASS_LASS,
+};
+
+static const u8 sMaleTrainerGfxIds[] = {
+ MAP_OBJ_GFX_HIKER,
+ MAP_OBJ_GFX_TUBER_M,
+ MAP_OBJ_GFX_MAN_4,
+ MAP_OBJ_GFX_BOY_4,
+ MAP_OBJ_GFX_MANIAC,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ MAP_OBJ_GFX_BLACK_BELT,
+ MAP_OBJ_GFX_MAN_6,
+ MAP_OBJ_GFX_MAN_6,
+ MAP_OBJ_GFX_CAMPER,
+ MAP_OBJ_GFX_MANIAC,
+ MAP_OBJ_GFX_PSYCHIC_M,
+ MAP_OBJ_GFX_GENTLEMAN,
+ MAP_OBJ_GFX_SCHOOL_KID_M,
+ MAP_OBJ_GFX_MAN_3,
+ MAP_OBJ_GFX_OLD_MAN_1,
+ MAP_OBJ_GFX_YOUNGSTER,
+ MAP_OBJ_GFX_FISHERMAN,
+ MAP_OBJ_GFX_CYCLING_TRIATHLETE_M,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ MAP_OBJ_GFX_MAN_4,
+ MAP_OBJ_GFX_MAN_6,
+ MAP_OBJ_GFX_LITTLE_BOY_1,
+ MAP_OBJ_GFX_SAILOR,
+ MAP_OBJ_GFX_MANIAC,
+ MAP_OBJ_GFX_MAN_5,
+ MAP_OBJ_GFX_CAMPER,
+ MAP_OBJ_GFX_BUG_CATCHER,
+ MAP_OBJ_GFX_HIKER,
+};
+
+static const u8 sFemaleTrainerGfxIds[] = {
+ MAP_OBJ_GFX_WOMAN_3,
+ MAP_OBJ_GFX_TUBER_F,
+ MAP_OBJ_GFX_WOMAN_7,
+ MAP_OBJ_GFX_WOMAN_1,
+ MAP_OBJ_GFX_WOMAN_3,
+ MAP_OBJ_GFX_BEAUTY,
+ MAP_OBJ_GFX_LASS,
+ MAP_OBJ_GFX_GIRL_3,
+ MAP_OBJ_GFX_WOMAN_2,
+ MAP_OBJ_GFX_OLD_WOMAN_1,
+ MAP_OBJ_GFX_CYCLING_TRIATHLETE_F,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ MAP_OBJ_GFX_GIRL_3,
+ MAP_OBJ_GFX_WOMAN_7,
+ MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ MAP_OBJ_GFX_PICNICKER,
+ MAP_OBJ_GFX_WOMAN_3,
+ MAP_OBJ_GFX_PICNICKER,
+ MAP_OBJ_GFX_LASS,
+};
+
+const u16 gBattleTowerBannedSpecies[] = {
+ SPECIES_MEW,
+ SPECIES_MEWTWO,
+ SPECIES_HO_OH,
+ SPECIES_LUGIA,
+ SPECIES_CELEBI,
+ SPECIES_KYOGRE,
+ SPECIES_GROUDON,
+ SPECIES_RAYQUAZA,
+ SPECIES_JIRACHI,
+ SPECIES_DEOXYS,
+ 0xFFFF,
+};
+
+// Item prizes for battle tower streaks of 5 or fewer sets.
+/*static*/ const u16 sShortStreakPrizes[] = {
+ ITEM_HP_UP,
+ ITEM_PROTEIN,
+ ITEM_IRON,
+ ITEM_CALCIUM,
+ ITEM_CARBOS,
+ ITEM_ZINC,
+};
+
+// Item prizes for battle tower streaks of greater than 5 sets.
+/*static*/ const u16 sLongStreakPrizes[] = {
+ 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 void ResetBattleTowerStreak(u8 levelType);
+static void ValidateBattleTowerRecordChecksums(void);
+static void PrintEReaderTrainerFarewellMessage(void);
+extern void SetBattleTowerTrainerGfxId(u8);
+extern void sub_8135A3C(void);
+static void sub_8135CFC(void);
+static void CheckMonBattleTowerBanlist(u16, u16, u16, u8, u8, u16 *, u16 *, u8 *);
+static void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *);
+static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer);
+static void SetBattleTowerRecordChecksum(struct BattleTowerRecord *);
+static void ClearBattleTowerRecord(struct BattleTowerRecord *);
+
+extern const u8 gUnknown_08400E23[];
+extern const u8 gUnknown_08400E29[];
+extern const u8 gUnknown_08400E2C[];
+extern const u8 gUnknown_08400E2E[];
+extern const u8 gUnknown_08400E30[];
+extern const u8 gUnknown_08400E32[];
+extern const u8 gUnknown_08400E36[];
+extern u16 gSpecialVar_0x8004;
+extern u8 gTrainerClassToPicIndex[];
+extern u8 gTrainerClassToNameIndex[];
+extern u16 gTrainerBattleOpponent;
+extern u16 gBattleTypeFlags;
+extern u8 gSelectedOrderFromParty[];
+extern u8 gBattleOutcome;
+extern struct Pokemon gUnknown_030042FC[];
+extern struct BattlePokemon gBattleMons[];
+
+#define ewram160FB (ewram[0x160FB])
+
+
+void sub_8134548(void)
+{
+ u8 var1 = 0;
+ s32 levelType;
+
+ for (levelType = 0; levelType < 2; levelType++)
+ {
+ switch (gSaveBlock2.battleTower.var_4AE[levelType])
+ {
+ case 0:
+ default:
+ ResetBattleTowerStreak(levelType);
+ if (!var1)
+ {
+ VarSet(VAR_0x4000, 5);
+ }
+ break;
+ case 1:
+ ResetBattleTowerStreak(levelType);
+ VarSet(VAR_0x4000, 1);
+ var1++;
+ break;
+ case 4:
+ VarSet(VAR_0x4000, 2);
+ var1++;
+ break;
+ case 5:
+ VarSet(VAR_0x4000, 3);
+ var1++;
+ break;
+ case 2:
+ VarSet(VAR_0x4000, 4);
+ var1++;
+ break;
+ case 3:
+ case 6:
+ break;
+ }
+ }
+
+ if ((gSaveBlock2.battleTower.var_4AE[0] == 3 || gSaveBlock2.battleTower.var_4AE[0] == 6)
+ && (gSaveBlock2.battleTower.var_4AE[1] == 3 || gSaveBlock2.battleTower.var_4AE[1] == 6))
+ {
+ VarSet(VAR_0x4000, 5);
+ }
+
+ ValidateBattleTowerRecordChecksums();
+}
+
+void ResetBattleTowerStreak(u8 levelType)
+{
+ gSaveBlock2.battleTower.var_4AE[levelType] = 0;
+ gSaveBlock2.battleTower.curChallengeBattleNum[levelType] = 1;
+ gSaveBlock2.battleTower.curStreakChallengesNum[levelType] = 1;
+}
+
+// Checks if the next trainer in Battle Tower should be the E-Reader trainer.
+bool8 ShouldBattleEReaderTrainer(u8 levelType, u16 winStreak)
+{
+ u8 trainerTeamLevel;
+ u8 monLevel;
+ s32 i;
+ u16 validPartySpecies[6];
+ u16 validPartyHeldItems[6];
+ u8 numValid;
+
+ numValid = 0;
+
+ ValidateEReaderTrainer();
+
+ if (gScriptResult != 0 || gSaveBlock2.battleTower.ereaderTrainer.winStreak != winStreak)
+ {
+ return FALSE;
+ }
+
+ trainerTeamLevel = 50;
+ if (levelType != 0)
+ {
+ trainerTeamLevel = 100;
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ monLevel = gSaveBlock2.battleTower.ereaderTrainer.party[i].level;
+ if (gSaveBlock2.battleTower.ereaderTrainer.party[i].level != trainerTeamLevel)
+ {
+ return FALSE;
+ }
+
+ CheckMonBattleTowerBanlist(
+ gSaveBlock2.battleTower.ereaderTrainer.party[i].species,
+ gSaveBlock2.battleTower.ereaderTrainer.party[i].heldItem,
+ 1,
+ levelType,
+ monLevel,
+ validPartySpecies,
+ validPartyHeldItems,
+ &numValid);
+ }
+
+ return numValid == 3;
+}
+
+bool8 sub_81346F4(void)
+{
+ s32 recordIndex, i;
+ u8 battleTowerLevelType;
+ u16 winStreak;
+ bool8 retVal;
+ s32 numCandidates;
+ u32 trainerIds[5];
+
+ numCandidates = 0;
+ battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+ if (ShouldBattleEReaderTrainer(battleTowerLevelType, winStreak))
+ {
+ gSaveBlock2.battleTower.battleTowerTrainerId = BATTLE_TOWER_EREADER_TRAINER_ID;
+ retVal = TRUE;
+ }
+ else
+ {
+ // Check if one of the battle tower trainers from record mixing should be the next trainer.
+ for (recordIndex = 0; recordIndex < 5; recordIndex++)
+ {
+ struct BattleTowerRecord *record = &gSaveBlock2.battleTower.records[recordIndex];
+ u32 recordHasData = 0;
+ u32 checksum = 0;
+ for (i = 0; i < sizeof(struct BattleTowerRecord) / sizeof(u32) - 1; i++)
+ {
+ recordHasData |= ((u32 *)record)[i];
+ checksum += ((u32 *)record)[i];
+ }
+
+ if (gSaveBlock2.battleTower.records[recordIndex].winStreak == winStreak
+ && gSaveBlock2.battleTower.records[recordIndex].battleTowerLevelType == battleTowerLevelType
+ && recordHasData
+ && gSaveBlock2.battleTower.records[recordIndex].checksum == checksum)
+ {
+ trainerIds[numCandidates] = recordIndex;
+ numCandidates++;
+ }
+ }
+
+ if (numCandidates == 0)
+ {
+ retVal = FALSE;
+ }
+ else
+ {
+ gSaveBlock2.battleTower.battleTowerTrainerId = trainerIds[Random() % numCandidates] + BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID;
+ retVal = TRUE;
+ }
+ }
+
+ return retVal;
+}
+
+// void sub_81347F8(void)
+// {
+// bool8 levelType = gSaveBlock2.battleTower.battleTowerLevelType;
+// if (sub_81346F4())
+// {
+// SetBattleTowerTrainerGfxId(gSaveBlock2.battleTower.battleTowerTrainerId);
+// gSaveBlock2.battleTower.var_4C1[gSaveBlock2.battleTower.curChallengeBattleNum[levelType]] = gSaveBlock2.battleTower.battleTowerTrainerId;
+// }
+// else
+// {
+// u16 var1;
+
+// if (gSaveBlock2.battleTower.curStreakChallengesNum[levelType] > 7)
+// {
+// while (1)
+// {
+// s32 i;
+// u32 temp = ((Random() & 0xFF) * 30) >> 8;
+// var1 = temp + 70;
+// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && var1 != gSaveBlock2.battleTower.var_4C1[i]; i++) // TODO: [i + 1]???
+// { }
+
+// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1)
+// {
+// break;
+// }
+// }
+// }
+// else
+// {
+// if (gSaveBlock2.battleTower.curChallengeBattleNum[levelType] == 7)
+// {
+// while (1)
+// {
+// s32 i;
+// u32 temp = ((Random() & 0xFF) * 5);
+// u32 temp2 = (((gSaveBlock2.battleTower.curStreakChallengesNum[levelType] - 1) * 10) + 20);
+// var1 = temp / 128 + temp2;
+// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && gSaveBlock2.battleTower.var_4C1[i] != var1; i++) // TODO: [i + 1]????
+// { }
+
+// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1)
+// {
+// break;
+// }
+// }
+// }
+// else
+// {
+// while (1)
+// {
+// s32 i;
+// u32 temp = ((Random() & 0xFF) * 320);
+// u32 temp2 = ((gSaveBlock2.battleTower.curStreakChallengesNum[levelType] - 1) * 10);
+// var1 = temp + temp2;
+// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && gSaveBlock2.battleTower.var_4C1[i] != var1; i++)
+// { }
+
+// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1)
+// {
+// break;
+// }
+// }
+// }
+// }
+
+// gSaveBlock2.battleTower.battleTowerTrainerId = var1;
+// SetBattleTowerTrainerGfxId(gSaveBlock2.battleTower.battleTowerTrainerId);
+
+// if (gSaveBlock2.battleTower.curChallengeBattleNum[levelType] < 7)
+// {
+// gSaveBlock2.battleTower.var_4C1[gSaveBlock2.battleTower.curChallengeBattleNum[levelType]] = gSaveBlock2.battleTower.battleTowerTrainerId;
+// }
+// }
+// }
+
+__attribute__((naked))
+void sub_81347F8(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\
+ ldr r5, _08134838 @ =gSaveBlock2\n\
+ ldr r1, _0813483C @ =0x00000554\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 31\n\
+ lsrs r6, r0, 31\n\
+ bl sub_81346F4\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08134848\n\
+ ldr r2, _08134840 @ =0x00000564\n\
+ adds r4, r5, r2\n\
+ ldrb r0, [r4]\n\
+ bl SetBattleTowerTrainerGfxId\n\
+ lsls r0, r6, 1\n\
+ movs r3, 0xAB\n\
+ lsls r3, 3\n\
+ adds r1, r5, r3\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ adds r0, r5, r0\n\
+ ldr r1, _08134844 @ =0x00000569\n\
+ adds r0, r1\n\
+ ldrb r1, [r4]\n\
+ b _081349DC\n\
+ .align 2, 0\n\
+_08134838: .4byte gSaveBlock2\n\
+_0813483C: .4byte 0x00000554\n\
+_08134840: .4byte 0x00000564\n\
+_08134844: .4byte 0x00000569\n\
+_08134848:\n\
+ lsls r0, r6, 1\n\
+ ldr r2, _081348D8 @ =0x0000055c\n\
+ adds r1, r5, r2\n\
+ adds r1, r0, r1\n\
+ ldrh r1, [r1]\n\
+ adds r7, r0, 0\n\
+ cmp r1, 0x7\n\
+ bls _0813485A\n\
+ b _0813495C\n\
+_0813485A:\n\
+ movs r3, 0xAB\n\
+ lsls r3, 3\n\
+ adds r0, r5, r3\n\
+ adds r1, r7, r0\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0x7\n\
+ bne _081348E4\n\
+ adds r6, r5, 0\n\
+ mov r9, r7\n\
+ adds r5, r1, 0\n\
+ ldr r0, _081348DC @ =0x0000056a\n\
+ adds r0, r6\n\
+ mov r10, r0\n\
+ mov r8, r5\n\
+_08134876:\n\
+ bl Random\n\
+ movs r1, 0xFF\n\
+ ands r1, r0\n\
+ lsls r2, r1, 2\n\
+ adds r2, r1\n\
+ ldr r1, _081348D8 @ =0x0000055c\n\
+ adds r4, r6, r1\n\
+ mov r3, r9\n\
+ adds r0, r3, r4\n\
+ ldrh r1, [r0]\n\
+ subs r1, 0x1\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 1\n\
+ adds r0, 0x14\n\
+ lsrs r2, 7\n\
+ adds r2, r0\n\
+ lsls r2, 16\n\
+ lsrs r2, 16\n\
+ movs r1, 0\n\
+ ldrh r0, [r5]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ bge _081348C8\n\
+ mov r3, r10\n\
+ ldrb r0, [r3]\n\
+ cmp r0, r2\n\
+ beq _081348C8\n\
+ subs r0, r4, 0x4\n\
+ adds r0, r7, r0\n\
+ ldrh r0, [r0]\n\
+ subs r3, r0, 0x1\n\
+ adds r4, 0xE\n\
+_081348BA:\n\
+ adds r1, 0x1\n\
+ cmp r1, r3\n\
+ bge _081348C8\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r2\n\
+ bne _081348BA\n\
+_081348C8:\n\
+ mov r3, r8\n\
+ ldrh r0, [r3]\n\
+ subs r0, 0x1\n\
+ ldr r4, _081348E0 @ =gSaveBlock2\n\
+ cmp r1, r0\n\
+ bne _08134876\n\
+ b _081349B6\n\
+ .align 2, 0\n\
+_081348D8: .4byte 0x0000055c\n\
+_081348DC: .4byte 0x0000056a\n\
+_081348E0: .4byte gSaveBlock2\n\
+_081348E4:\n\
+ adds r6, r5, 0\n\
+ mov r9, r7\n\
+ adds r5, r1, 0\n\
+ ldr r2, _08134950 @ =0x0000056a\n\
+ adds r2, r6\n\
+ mov r10, r2\n\
+ mov r8, r5\n\
+_081348F2:\n\
+ bl Random\n\
+ movs r1, 0xFF\n\
+ ands r1, r0\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsrs r2, r0, 6\n\
+ ldr r3, _08134954 @ =0x0000055c\n\
+ adds r4, r6, r3\n\
+ mov r1, r9\n\
+ adds r0, r1, r4\n\
+ ldrh r1, [r0]\n\
+ subs r1, 0x1\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 1\n\
+ adds r0, r2, r0\n\
+ lsls r0, 16\n\
+ lsrs r2, r0, 16\n\
+ movs r1, 0\n\
+ ldrh r0, [r5]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ bge _08134942\n\
+ mov r3, r10\n\
+ ldrb r0, [r3]\n\
+ cmp r0, r2\n\
+ beq _08134942\n\
+ subs r0, r4, 0x4\n\
+ adds r0, r7, r0\n\
+ ldrh r0, [r0]\n\
+ subs r3, r0, 0x1\n\
+ adds r4, 0xE\n\
+_08134934:\n\
+ adds r1, 0x1\n\
+ cmp r1, r3\n\
+ bge _08134942\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r2\n\
+ bne _08134934\n\
+_08134942:\n\
+ mov r3, r8\n\
+ ldrh r0, [r3]\n\
+ subs r0, 0x1\n\
+ ldr r4, _08134958 @ =gSaveBlock2\n\
+ cmp r1, r0\n\
+ bne _081348F2\n\
+ b _081349B6\n\
+ .align 2, 0\n\
+_08134950: .4byte 0x0000056a\n\
+_08134954: .4byte 0x0000055c\n\
+_08134958: .4byte gSaveBlock2\n\
+_0813495C:\n\
+ movs r2, 0xAB\n\
+ lsls r2, 3\n\
+ adds r0, r5, r2\n\
+ adds r6, r7, r0\n\
+ ldr r3, _081349EC @ =0x0000056a\n\
+ adds r3, r5\n\
+ mov r8, r3\n\
+ adds r5, r6, 0\n\
+_0813496C:\n\
+ bl Random\n\
+ movs r1, 0xFF\n\
+ ands r1, r0\n\
+ lsls r0, r1, 4\n\
+ subs r0, r1\n\
+ lsls r0, 1\n\
+ asrs r0, 8\n\
+ adds r0, 0x46\n\
+ lsls r0, 16\n\
+ lsrs r2, r0, 16\n\
+ movs r1, 0\n\
+ ldrh r0, [r6]\n\
+ subs r0, 0x1\n\
+ cmp r1, r0\n\
+ bge _081349AC\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ ldr r4, _081349F0 @ =gSaveBlock2\n\
+ cmp r0, r2\n\
+ beq _081349AC\n\
+ ldrh r0, [r5]\n\
+ subs r3, r0, 0x1\n\
+ ldr r0, _081349EC @ =0x0000056a\n\
+ adds r4, r0\n\
+_0813499E:\n\
+ adds r1, 0x1\n\
+ cmp r1, r3\n\
+ bge _081349AC\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r2\n\
+ bne _0813499E\n\
+_081349AC:\n\
+ ldrh r0, [r6]\n\
+ subs r0, 0x1\n\
+ ldr r4, _081349F0 @ =gSaveBlock2\n\
+ cmp r1, r0\n\
+ bne _0813496C\n\
+_081349B6:\n\
+ ldr r1, _081349F4 @ =0x00000564\n\
+ adds r0, r4, r1\n\
+ strb r2, [r0]\n\
+ ldr r2, _081349F4 @ =0x00000564\n\
+ adds r5, r4, r2\n\
+ ldrb r0, [r5]\n\
+ bl SetBattleTowerTrainerGfxId\n\
+ movs r3, 0xAB\n\
+ lsls r3, 3\n\
+ adds r0, r4, r3\n\
+ adds r1, r7, r0\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0x6\n\
+ bhi _081349DE\n\
+ adds r0, r4, r0\n\
+ ldr r1, _081349F8 @ =0x00000569\n\
+ adds r0, r1\n\
+ ldrb r1, [r5]\n\
+_081349DC:\n\
+ strb r1, [r0]\n\
+_081349DE:\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\
+ .align 2, 0\n\
+_081349EC: .4byte 0x0000056a\n\
+_081349F0: .4byte gSaveBlock2\n\
+_081349F4: .4byte 0x00000564\n\
+_081349F8: .4byte 0x00000569\n\
+.syntax divided\n");
+}
+
+void SetBattleTowerTrainerGfxId(u8 trainerIndex)
+{
+ u32 i;
+ u8 trainerClass;
+
+ if (trainerIndex < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ trainerClass = gBattleTowerTrainers[trainerIndex].trainerClass;
+ }
+ else if (trainerIndex < BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ trainerClass = gSaveBlock2.battleTower.records[trainerIndex - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass;
+ }
+ else
+ {
+ trainerClass = gSaveBlock2.battleTower.ereaderTrainer.trainerClass;
+ }
+
+ for (i = 0; i < 30 && sMaleTrainerClasses[i] != trainerClass; i++);
+ if (i != 30)
+ {
+ u8 trainerObjectGfxId = sMaleTrainerGfxIds[i];
+ VarSet(0x4010, trainerObjectGfxId);
+ return;
+ }
+
+ for (i = 0; i < 20 && sFemaleTrainerClasses[i] != trainerClass; i++);
+ if (i != 20)
+ {
+ u8 trainerObjectGfxId = sFemaleTrainerGfxIds[i];
+ VarSet(0x4010, trainerObjectGfxId);
+ return;
+ }
+
+ VarSet(0x4010, MAP_OBJ_GFX_BOY_1);
+}
+
+void SetEReaderTrainerGfxId(void)
+{
+ SetBattleTowerTrainerGfxId(BATTLE_TOWER_EREADER_TRAINER_ID);
+}
+
+// void sub_8134AC0(struct BattleTowerRecord *record)
+// {
+// u16 var1[6];
+// u16 var2[6];
+// s32 i, j, k;
+// s16 l = 0;
+
+// for (i = 0; i < 5; i++)
+// {
+// k = 0;
+// for (j = 0; j < 4 && gSaveBlock2.battleTower.records[i].trainerId[j] == record->trainerId[j]; j++);
+// if (j == 4)
+// {
+// for (; k < 7 && gSaveBlock2.battleTower.records[i].name[4] == record->name[4]; k++)
+// {
+// if (record->name[4] == 0xFF)
+// {
+// k = 7;
+// break;
+// }
+// }
+// }
+
+// if (k == 7)
+// {
+// break;
+// }
+// }
+
+// if (i < 5)
+// {
+// gSaveBlock2.battleTower.records[i] = *record;
+// return;
+// }
+
+// i = 0;
+// while (i < 5)
+// {
+// if (gSaveBlock2.battleTower.records[i].winStreak == 0)
+// {
+// if (i > 4)
+// {
+// break;
+// }
+
+// gSaveBlock2.battleTower.records[i] = *record;
+// return;
+// }
+
+// i++;
+// }
+
+// var1[0] = gSaveBlock2.battleTower.records[0].winStreak;
+// var2[0] = 0;
+// l++;
+
+// for (i = 1; i < 5; i++)
+// {
+// j = 0;
+// if (j < l)
+// {
+// for (; gSaveBlock2.battleTower.records[i].winStreak <= var1[j]; j++)
+// {
+// if (gSaveBlock2.battleTower.records[i].winStreak < var1[j])
+// {
+// j = 0;
+// l = 1;
+// var1[0] = gSaveBlock2.battleTower.records[i].winStreak;
+// var2[0] = i;
+// break;
+// }
+// }
+// }
+
+// if (j == l)
+// {
+// var1[l] = gSaveBlock2.battleTower.records[i].winStreak;
+// var2[l] = i;
+// l++;
+// }
+// }
+
+// gSaveBlock2.battleTower.records[var2[(Random() % l)]] = *record;
+// }
+__attribute__((naked))
+void sub_8134AC0(struct BattleTowerRecord *record)
+{
+ 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, 0x1C\n\
+ movs r7, 0\n\
+ mov r8, r0\n\
+ movs r5, 0\n\
+ ldr r0, _08134B3C @ =gSaveBlock2\n\
+ mov r12, r0\n\
+ mov r1, r8\n\
+ ldrb r1, [r1, 0xC]\n\
+ str r1, [sp, 0x18]\n\
+ movs r2, 0xAA\n\
+ lsls r2, 1\n\
+ add r2, r12\n\
+ mov r10, r2\n\
+ mov r9, r5\n\
+_08134AE6:\n\
+ movs r6, 0\n\
+ movs r3, 0\n\
+ ldr r0, _08134B40 @ =gSaveBlock2 + 0x158\n\
+ add r0, r9\n\
+ ldrb r0, [r0]\n\
+ ldr r1, [sp, 0x18]\n\
+ cmp r0, r1\n\
+ bne _08134B14\n\
+ movs r0, 0xA4\n\
+ muls r0, r5\n\
+ ldr r1, _08134B40 @ =gSaveBlock2 + 0x158\n\
+ adds r2, r0, r1\n\
+ mov r4, r8\n\
+ adds r4, 0xC\n\
+_08134B02:\n\
+ adds r2, 0x1\n\
+ adds r3, 0x1\n\
+ cmp r3, 0x3\n\
+ bgt _08134B14\n\
+ adds r1, r4, r3\n\
+ ldrb r0, [r2]\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ beq _08134B02\n\
+_08134B14:\n\
+ cmp r3, 0x4\n\
+ bne _08134B54\n\
+ movs r6, 0\n\
+ mov r2, r10\n\
+ ldrb r0, [r2]\n\
+ mov r3, r8\n\
+ ldrb r3, [r3, 0x8]\n\
+ cmp r0, r3\n\
+ bne _08134B54\n\
+ adds r1, r0, 0\n\
+ movs r0, 0xA4\n\
+ muls r0, r5\n\
+ adds r0, 0x4\n\
+ ldr r3, _08134B44 @ =gSaveBlock2 + 0x150\n\
+ adds r2, r0, r3\n\
+_08134B32:\n\
+ cmp r1, 0xFF\n\
+ bne _08134B48\n\
+ movs r6, 0x7\n\
+ b _08134B54\n\
+ .align 2, 0\n\
+_08134B3C: .4byte gSaveBlock2\n\
+_08134B40: .4byte gSaveBlock2 + 0x158\n\
+_08134B44: .4byte gSaveBlock2 + 0x150\n\
+_08134B48:\n\
+ adds r6, 0x1\n\
+ cmp r6, 0x6\n\
+ bgt _08134B54\n\
+ ldrb r0, [r2]\n\
+ cmp r0, r1\n\
+ beq _08134B32\n\
+_08134B54:\n\
+ cmp r6, 0x7\n\
+ beq _08134B64\n\
+ movs r0, 0xA4\n\
+ add r10, r0\n\
+ add r9, r0\n\
+ adds r5, 0x1\n\
+ cmp r5, 0x4\n\
+ ble _08134AE6\n\
+\n\
+_08134B64:\n\
+ cmp r5, 0x4\n\
+ bgt _08134B76\n\
+ movs r0, 0xA4\n\
+ muls r0, r5\n\
+ add r0, r12\n\
+ movs r1, 0xA6\n\
+ lsls r1, 1\n\
+ adds r0, r1\n\
+ b _08134B9E\n\
+_08134B76:\n\
+ movs r5, 0\n\
+ movs r1, 0xA7\n\
+ lsls r1, 1\n\
+ add r1, r12\n\
+ b _08134B88\n\
+_08134B80:\n\
+ adds r1, 0xA4\n\
+ adds r5, 0x1\n\
+ cmp r5, 0x4\n\
+ bgt _08134BA8\n\
+_08134B88:\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0\n\
+ bne _08134B80\n\
+ cmp r5, 0x4\n\
+ bgt _08134BA8\n\
+ movs r0, 0xA4\n\
+ muls r0, r5\n\
+ add r0, r12\n\
+ movs r2, 0xA6\n\
+ lsls r2, 1\n\
+ adds r0, r2\n\
+_08134B9E:\n\
+ mov r1, r8\n\
+ movs r2, 0xA4\n\
+ bl memcpy\n\
+ b _08134C5E\n\
+\n\
+_08134BA8:\n\
+ mov r2, sp\n\
+ movs r3, 0xA7\n\
+ lsls r3, 1\n\
+ mov r1, r12\n\
+ adds r0, r1, r3\n\
+ ldrh r0, [r0]\n\
+ movs r1, 0\n\
+ strh r0, [r2]\n\
+ add r0, sp, 0xC\n\
+ strh r1, [r0]\n\
+ adds r7, 0x1\n\
+ movs r5, 0x1\n\
+ add r2, sp, 0xC @var2 = r2\n\
+ mov r9, r2\n\
+ mov r10, r3\n\
+_08134BC6:\n\
+ movs r3, 0\n\
+ adds r0, r5, 0x1\n\
+ mov r12, r0\n\
+ cmp r3, r7\n\
+ bge _08134C0A @ j < l\n\
+ movs r1, 0xA4\n\
+ adds r0, r5, 0\n\
+ muls r0, r1\n\
+ ldr r2, _08134BFC @ =gSaveBlock2\n\
+ adds r0, r2\n\
+ mov r1, r10\n\
+ adds r4, r0, r1\n\
+ mov r6, sp\n\
+_08134BE0:\n\
+ lsls r0, r3, 1\n\
+ add r0, sp\n\
+ ldrh r2, [r4]\n\
+ adds r1, r2, 0\n\
+ ldrh r0, [r0]\n\
+ cmp r1, r0\n\
+ bcs _08134C00\n\
+ movs r3, 0\n\
+ movs r7, 0x1\n\
+ strh r2, [r6]\n\
+ mov r2, r9\n\
+ strh r5, [r2]\n\
+ b _08134C0A\n\
+ .align 2, 0\n\
+_08134BFC: .4byte gSaveBlock2\n\
+_08134C00:\n\
+ cmp r1, r0\n\
+ bhi _08134C0A\n\
+ adds r3, 0x1\n\
+ cmp r3, r7\n\
+ blt _08134BE0\n\
+_08134C0A:\n\
+ cmp r3, r7\n\
+ bne _08134C2A\n\
+ lsls r1, r7, 1\n\
+ mov r3, sp\n\
+ adds r2, r3, r1\n\
+ movs r3, 0xA4\n\
+ adds r0, r5, 0\n\
+ muls r0, r3\n\
+ ldr r3, _08134C70 @ =gSaveBlock2\n\
+ adds r0, r3\n\
+ add r0, r10\n\
+ ldrh r0, [r0]\n\
+ strh r0, [r2]\n\
+ add r1, r9\n\
+ strh r5, [r1]\n\
+ adds r7, 0x1\n\
+_08134C2A:\n\
+ mov r5, r12\n\
+ cmp r5, 0x4\n\
+ ble _08134BC6\n\
+ bl Random\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ adds r1, r7, 0\n\
+ bl __modsi3\n\
+ adds r5, r0, 0\n\
+ ldr r2, _08134C70 @ =gSaveBlock2\n\
+ lsls r0, r5, 1\n\
+ add r0, sp\n\
+ adds r0, 0xC\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0xA4\n\
+ muls r0, r1\n\
+ adds r0, r2\n\
+ movs r1, 0xA6\n\
+ lsls r1, 1\n\
+ adds r0, r1\n\
+ mov r1, r8\n\
+ movs r2, 0xA4\n\
+ bl memcpy\n\
+_08134C5E:\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\
+ .align 2, 0\n\
+_08134C70: .4byte gSaveBlock2\n\
+ .syntax divided\n");
+}
+
+u8 get_trainer_class_pic_index(void)
+{
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ return gTrainerClassToPicIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass];
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ return gTrainerClassToPicIndex[gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass];
+ }
+ else
+ {
+ return gTrainerClassToPicIndex[gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass];
+ }
+}
+
+u8 get_trainer_class_name_index(void)
+{
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ return gTrainerClassToNameIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass];
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId >= BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ return gTrainerClassToNameIndex[gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass];
+ }
+ else
+ {
+ return gTrainerClassToNameIndex[gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass];
+ }
+}
+
+void get_trainer_name(u8* dest)
+{
+ s32 i;
+
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ for (i = 0; i < 7; i++)
+ {
+ dest[i] = gSaveBlock2.battleTower.ereaderTrainer.name[i];
+ }
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ for (i = 0; i < 7; i++)
+ {
+ dest[i] = gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].name[i];
+ }
+ }
+ else
+ {
+ for (i = 0; i < 7; i++)
+ {
+ dest[i] = gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].name[i];
+ }
+ }
+
+ dest[i] = 0xFF;
+}
+
+void FillBattleTowerTrainerParty(void)
+{
+ s32 partyIndex, i;
+ u16 chosenMonIndices[3];
+ u8 friendship;
+ u8 level;
+ u8 fixedIV;
+ u8 battleMonsOffset;
+ u8 monPoolSize;
+ u8 teamFlags;
+ const struct BattleTowerPokemon *battleTowerMons;
+
+ battleMonsOffset = 0;
+ monPoolSize = 60;
+ friendship = 255;
+
+ ZeroEnemyPartyMons();
+
+ // Different trainers have access to different sets of pokemon to use in battle.
+ // The pokemon later in gBattleTowerLevel100Mons or gBattleTowerLevel50Mons are
+ // stronger. Additionally, the later trainers' pokemon are granted higher IVs.
+ if (gSaveBlock2.battleTower.battleTowerTrainerId < 20)
+ {
+ fixedIV = 6;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 30)
+ {
+ fixedIV = 9;
+ battleMonsOffset = 30;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 40)
+ {
+ fixedIV = 12;
+ battleMonsOffset = 60;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 50)
+ {
+ fixedIV = 15;
+ battleMonsOffset = 90;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 60)
+ {
+ fixedIV = 18;
+ battleMonsOffset = 120;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 70)
+ {
+ fixedIV = 21;
+ battleMonsOffset = 150;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < 80)
+ {
+ fixedIV = 31;
+ battleMonsOffset = 180;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ fixedIV = 31;
+ battleMonsOffset = 200;
+ monPoolSize = 100;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ // Load E-Reader trainer's party.
+ for (partyIndex = 0; partyIndex < 3; partyIndex++)
+ {
+ sub_803ADE8(&gEnemyParty[partyIndex], &gSaveBlock2.battleTower.ereaderTrainer.party[partyIndex]);
+ }
+
+ return;
+ }
+ else
+ {
+ // Load a battle tower record's party. (From record mixing)
+ for (partyIndex = 0; partyIndex < 3; partyIndex++)
+ {
+ sub_803ADE8(
+ &gEnemyParty[partyIndex],
+ &gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].party[partyIndex]);
+ }
+
+ return;
+ }
+
+ // Use the appropriate list of pokemon and level depending on the
+ // current challenge type. (level 50 or level 100 challenge)
+ if (gSaveBlock2.battleTower.battleTowerLevelType != 0)
+ {
+ battleTowerMons = gBattleTowerLevel100Mons;
+ level = 100;
+ }
+ else
+ {
+ battleTowerMons = gBattleTowerLevel50Mons;
+ level = 50;
+ }
+
+ teamFlags = gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].teamFlags;
+
+ // 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. Each pokemon must have all of the trainer's team flags
+ // set, as well. If any of those conditions are not met, then the loop starts over
+ // and another pokemon is chosen at random.
+ partyIndex = 0;
+ while (partyIndex != 3)
+ {
+ // Pick a random pokemon index based on the number of pokemon available to choose from
+ // and the starting offset in the battle tower pokemon array.
+ s32 battleMonIndex = ((Random() & 0xFF) * monPoolSize) / 256 + battleMonsOffset;
+
+ // Ensure the chosen pokemon has compatible team flags with the trainer.
+ if (teamFlags == 0 || (battleTowerMons[battleMonIndex].teamFlags & teamFlags) == teamFlags)
+ {
+ // Ensure this pokemon species isn't a duplicate.
+ for (i = 0; i < partyIndex; i++)
+ {
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES, NULL) == battleTowerMons[battleMonIndex].species)
+ break;
+ }
+
+ if (i != partyIndex)
+ continue;
+
+ // Ensure this pokemon's held item isn't a duplicate.
+ for (i = 0; i < partyIndex; i++)
+ {
+ if (GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, NULL) != 0
+ && GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, NULL) == sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem])
+ {
+ break;
+ }
+ }
+
+ if (i != partyIndex)
+ 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. Perhaps this
+ // is leftover code before the logic for duplicate species and held items was added.
+ for (i = 0; i < partyIndex && chosenMonIndices[i] != battleMonIndex; i++);
+
+ if (i != partyIndex)
+ continue;
+
+ chosenMonIndices[partyIndex] = battleMonIndex;
+
+ // Place the chosen pokemon into the trainer's party.
+ CreateMonWithEVSpread(
+ &gEnemyParty[partyIndex],
+ battleTowerMons[battleMonIndex].species,
+ level,
+ fixedIV,
+ battleTowerMons[battleMonIndex].evSpread);
+
+ // Give the chosen pokemon its specified moves.
+ for (i = 0; i < 4; i++)
+ {
+ SetMonMoveSlot(&gEnemyParty[partyIndex], battleTowerMons[battleMonIndex].moves[i], i);
+ if (battleTowerMons[battleMonIndex].moves[i] == MOVE_FRUSTRATION)
+ {
+ // MOVE_FRUSTRATION is more powerful the lower the pokemon's friendship is.
+ friendship = 0;
+ }
+ }
+
+ SetMonData(&gEnemyParty[partyIndex], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gEnemyParty[partyIndex], MON_DATA_HELD_ITEM, &sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem]);
+
+ // The pokemon was successfully added to the trainer's party, so it's safe to move on to
+ // the next party slot.
+ partyIndex++;
+ }
+ }
+
+}
+
+u32 CountBattleTowerBanlistCaught(void)
+{
+ s32 i;
+ u32 numCaught = 0;
+
+ for (i = 0; gBattleTowerBannedSpecies[i] != 0xFFFF; i++)
+ {
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleTowerBannedSpecies[i]), FLAG_GET_CAUGHT))
+ {
+ numCaught++;
+ }
+ }
+
+ return numCaught;
+}
+
+u8 AppendBattleTowerBannedSpeciesName(u16 species, u8 curIndexToAppend, s32 numToAppend)
+{
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT))
+ {
+ curIndexToAppend++;
+
+ switch (curIndexToAppend - 1)
+ {
+ case 0:
+ case 2:
+ case 4:
+ case 6:
+ case 8:
+ case 10:
+ if (numToAppend == curIndexToAppend)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E23);
+ }
+ else if (numToAppend > curIndexToAppend)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E29);
+ }
+ break;
+ case 1:
+ if (curIndexToAppend == numToAppend)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E23);
+ }
+ else
+ {
+ StringAppend(gStringVar1, gUnknown_08400E29);
+ }
+
+ StringAppend(gStringVar1, gUnknown_08400E30);
+ break;
+ case 3:
+ case 5:
+ case 7:
+ case 9:
+ default:
+ if (curIndexToAppend == numToAppend)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E23);
+ }
+ else
+ {
+ StringAppend(gStringVar1, gUnknown_08400E29);
+ }
+
+ StringAppend(gStringVar1, gUnknown_08400E2E);
+ break;
+ }
+
+ StringAppend(gStringVar1, gSpeciesNames[species]);
+ }
+
+ return curIndexToAppend;
+}
+
+void CheckMonBattleTowerBanlist(u16 species, u16 heldItem, u16 hp, u8 battleTowerLevelType, u8 monLevel, u16 *validPartySpecies, u16 *validPartyHeldItems, u8 *numValid)
+{
+ s32 i;
+ u32 counter = 0;
+
+ if (species == SPECIES_EGG || species == SPECIES_NONE)
+ return;
+
+ while (1)
+ {
+ if (gBattleTowerBannedSpecies[counter] == 0xFFFF)
+ goto EXIT2; // Couldn't get the code to match without this GOTO
+
+ if (gBattleTowerBannedSpecies[counter] == species)
+ break;
+
+ counter++;
+ }
+
+ if (gBattleTowerBannedSpecies[counter] != 0xFFFF)
+ return;
+
+ EXIT2:
+ if (battleTowerLevelType == 0 && monLevel > 50)
+ return;
+
+ for (i = 0; i < *numValid && validPartySpecies[i] != species ; i++);
+ if (i != *numValid)
+ return;
+
+ if (heldItem != 0)
+ {
+ for (i = 0; i < *numValid && validPartyHeldItems[i] != heldItem ; i++);
+ if (i != *numValid)
+ return;
+ }
+
+ validPartySpecies[*numValid] = species;
+ validPartyHeldItems[*numValid] = heldItem;
+ *numValid = *numValid + 1;
+}
+
+void CheckPartyBattleTowerBanlist(void)
+{
+ s32 i;
+ u16 species2;
+ u16 heldItem;
+ u8 level;
+ u16 hp;
+ u32 numBanlistCaught;
+ u16 validPartySpecies[6];
+ u16 validPartyHeldItems[6];
+ u8 counter;
+
+ counter = 0;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ species2 = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
+ hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+
+ CheckMonBattleTowerBanlist(species2, heldItem, hp, gScriptResult, level, validPartySpecies, validPartyHeldItems, &counter);
+ }
+
+ if (counter < 3)
+ {
+ gStringVar1[0] = 0xFF;
+ gSpecialVar_0x8004 = 1;
+ counter = 0;
+
+ numBanlistCaught = CountBattleTowerBanlistCaught();
+
+ for (i = 0; gBattleTowerBannedSpecies[i] != 0xFFFF; i++)
+ {
+ counter = AppendBattleTowerBannedSpeciesName(gBattleTowerBannedSpecies[i], counter, numBanlistCaught);
+ }
+
+ if (counter == 0)
+ {
+ StringAppend(gStringVar1, gUnknown_08400E2C);
+ StringAppend(gStringVar1, gUnknown_08400E32);
+ return;
+ }
+
+ if (1 & counter)
+ StringAppend(gStringVar1, gUnknown_08400E2E);
+ else
+ StringAppend(gStringVar1, gUnknown_08400E2C);
+
+ StringAppend(gStringVar1, gUnknown_08400E36);
+ }
+ else
+ {
+ gSpecialVar_0x8004 = 0;
+ gSaveBlock2.battleTower.battleTowerLevelType = gScriptResult;
+ }
+}
+
+void PrintBattleTowerTrainerMessage(u16 *easyChat)
+{
+ sub_80EB544(gStringVar4, easyChat, 2, 3);
+}
+
+void PrintBattleTowerTrainerGreeting(void)
+{
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting.easyChat);
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ PrintBattleTowerTrainerMessage((u16 *)gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].greeting.easyChat);
+ }
+ else
+ {
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].greeting.easyChat);
+ }
+}
+
+void sub_81354CC(void)
+{
+ s32 i;
+ u16 heldItem;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ break;
+ case 1:
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ heldItem = GetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM);
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
+ }
+ break;
+ case 2:
+ PrintEReaderTrainerFarewellMessage();
+ break;
+ }
+
+ SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
+}
+
+void sub_8135534(u8 taskId)
+{
+ if (IsBattleTransitionDone() == TRUE)
+ {
+ gMain.savedCallback = sub_81354CC;
+ SetMainCallback2(sub_800E7C4);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_813556C(void)
+{
+ s32 i;
+ u16 heldItem;
+ u8 transition;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ gBattleTypeFlags = (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_TRAINER);
+ gTrainerBattleOpponent = 0;
+
+ FillBattleTowerTrainerParty();
+
+ CreateTask(sub_8135534, 1);
+ current_map_music_set__default_for_battle(0);
+ transition = BattleSetup_GetBattleTowerBattleTransition();
+ BattleTransition_StartOnField(transition);
+ break;
+ case 1:
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ SetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM, &heldItem);
+ }
+
+ CreateTask(sub_8135534, 1);
+ current_map_music_set__default_for_battle(0);
+ transition = BattleSetup_GetBattleTowerBattleTransition();
+ BattleTransition_StartOnField(transition);
+ break;
+ case 2:
+ ZeroEnemyPartyMons();
+
+ for (i = 0; i < 3; i++)
+ {
+ sub_803ADE8(&gEnemyParty[i], &gSaveBlock2.battleTower.ereaderTrainer.party[i]);
+ }
+
+ gBattleTypeFlags = (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER);
+ gTrainerBattleOpponent = 0;
+
+ CreateTask(sub_8135534, 1);
+ current_map_music_set__default_for_battle(0);
+ transition = BattleSetup_GetBattleTowerBattleTransition();
+ BattleTransition_StartOnField(transition);
+ break;
+ }
+}
+
+void sub_8135668(void)
+{
+ s32 i;
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ ewram160FB = gSaveBlock2.battleTower.var_4AE[battleTowerLevelType];
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = gSpecialVar_0x8005;
+ break;
+ case 1:
+ gSaveBlock2.battleTower.battleTowerLevelType = gSpecialVar_0x8005;
+ break;
+ case 2:
+ gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] = gSpecialVar_0x8005;
+ break;
+ case 3:
+ gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] = gSpecialVar_0x8005;
+ break;
+ case 4:
+ gSaveBlock2.battleTower.battleTowerTrainerId = gSpecialVar_0x8005;
+ break;
+ case 5:
+ for (i = 0; i < 3; i++)
+ {
+ gSaveBlock2.battleTower.selectedPartyMons[i] = gSelectedOrderFromParty[i];
+ }
+ break;
+ case 6:
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ ClearEReaderTrainer(&gSaveBlock2.battleTower.ereaderTrainer);
+ }
+
+ if (gSaveBlock2.battleTower.totalBattleTowerWins < 9999)
+ {
+ gSaveBlock2.battleTower.totalBattleTowerWins++;
+ }
+
+ gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]++;
+ sub_8135A3C();
+ gScriptResult = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType];
+
+ gStringVar1[0] = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] + 0xA1;
+ gStringVar1[1] = 0xFF;
+ break;
+ case 7:
+ if (gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] < 1430)
+ {
+ gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType]++;
+ }
+
+ sub_8135A3C();
+ gScriptResult = gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType];
+ break;
+ case 8:
+ gSaveBlock2.battleTower.unk_554 = gSpecialVar_0x8005;
+ break;
+ case 9:
+ break;
+ case 10:
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2.battleTower.bestBattleTowerWinStreak);
+ break;
+ case 11:
+ if (gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] != 3)
+ {
+ ResetBattleTowerStreak(battleTowerLevelType);
+ }
+ break;
+ case 12:
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = ewram160FB;
+ break;
+ case 13:
+ gSaveBlock2.battleTower.currentWinStreaks[battleTowerLevelType] = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+ break;
+ case 14:
+ gSaveBlock2.battleTower.lastStreakLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+ break;
+ }
+}
+
+void sub_81358A4(void)
+{
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ gScriptResult = gSaveBlock2.battleTower.var_4AE[battleTowerLevelType];
+ break;
+ case 1:
+ gScriptResult = gSaveBlock2.battleTower.battleTowerLevelType;
+ break;
+ case 2:
+ gScriptResult = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType];
+ break;
+ case 3:
+ gScriptResult = gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType];
+ break;
+ case 4:
+ gScriptResult = gSaveBlock2.battleTower.battleTowerTrainerId;
+ break;
+ case 5:
+ case 6:
+ case 7:
+ break;
+ case 8:
+ gScriptResult = gSaveBlock2.battleTower.unk_554;
+ break;
+ case 9:
+ gScriptResult = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+ break;
+ case 10:
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2.battleTower.bestBattleTowerWinStreak);
+ break;
+ case 11:
+ ResetBattleTowerStreak(battleTowerLevelType);
+ break;
+ case 12:
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = ewram160FB;
+ break;
+ case 13:
+ gSaveBlock2.battleTower.currentWinStreaks[battleTowerLevelType] = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+ break;
+ case 14:
+ gSaveBlock2.battleTower.lastStreakLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+ break;
+ }
+}
+
+void sub_8135A14(void)
+{
+ s32 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ gSelectedOrderFromParty[i] = gSaveBlock2.battleTower.selectedPartyMons[i];
+ }
+
+ ReducePlayerPartyToThree();
+}
+
+#ifdef NONMATCHING
+void sub_8135A3C(void)
+{
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+ u16 winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+
+ if (gSaveBlock2.battleTower.recordWinStreaks[battleTowerLevelType] < winStreak)
+ {
+ gSaveBlock2.battleTower.recordWinStreaks[battleTowerLevelType] = winStreak;
+ }
+
+ if (gSaveBlock2.battleTower.recordWinStreaks[0] > gSaveBlock2.battleTower.recordWinStreaks[1])
+ {
+ u16 streak = gSaveBlock2.battleTower.recordWinStreaks[0];
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, streak);
+ if (streak > 9999)
+ {
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999;
+ }
+ else
+ {
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = streak;
+ }
+ }
+ else
+ {
+ u16 streak = gSaveBlock2.battleTower.recordWinStreaks[1];
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, streak);
+ if (streak > 9999)
+ {
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999;
+ }
+ else
+ {
+ gSaveBlock2.battleTower.bestBattleTowerWinStreak = streak;
+ }
+ }
+}
+#else
+__attribute__((naked))
+void sub_8135A3C(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ ldr r6, _08135A84 @ =gSaveBlock2\n\
+ ldr r1, _08135A88 @ =0x00000554\n\
+ adds r0, r6, r1\n\
+ ldrb r4, [r0]\n\
+ lsls r4, 31\n\
+ lsrs r4, 31\n\
+ adds r0, r4, 0\n\
+ bl GetCurrentBattleTowerWinStreak\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ lsls r4, 1\n\
+ movs r3, 0xAC\n\
+ lsls r3, 3\n\
+ adds r2, r6, r3\n\
+ adds r4, r2\n\
+ ldrh r0, [r4]\n\
+ cmp r0, r5\n\
+ bcs _08135A66\n\
+ strh r5, [r4]\n\
+_08135A66:\n\
+ ldr r0, _08135A8C @ =0x00000562\n\
+ adds r1, r6, r0\n\
+ ldrh r0, [r2]\n\
+ ldrh r3, [r1]\n\
+ cmp r0, r3\n\
+ bls _08135A94\n\
+ adds r5, r0, 0\n\
+ movs r0, 0x20\n\
+ adds r1, r5, 0\n\
+ bl SetGameStat\n\
+ ldr r1, _08135A90 @ =0x0000270f\n\
+ cmp r5, r1\n\
+ bhi _08135AA4\n\
+ b _08135AB4\n\
+ .align 2, 0\n\
+_08135A84: .4byte gSaveBlock2\n\
+_08135A88: .4byte 0x00000554\n\
+_08135A8C: .4byte 0x00000562\n\
+_08135A90: .4byte 0x0000270f\n\
+_08135A94:\n\
+ ldrh r5, [r1]\n\
+ movs r0, 0x20\n\
+ adds r1, r5, 0\n\
+ bl SetGameStat\n\
+ ldr r1, _08135AAC @ =0x0000270f\n\
+ cmp r5, r1\n\
+ bls _08135AB4\n\
+_08135AA4:\n\
+ ldr r2, _08135AB0 @ =0x00000572\n\
+ adds r0, r6, r2\n\
+ strh r1, [r0]\n\
+ b _08135ABA\n\
+ .align 2, 0\n\
+_08135AAC: .4byte 0x0000270f\n\
+_08135AB0: .4byte 0x00000572\n\
+_08135AB4:\n\
+ ldr r3, _08135AC0 @ =0x00000572\n\
+ adds r0, r6, r3\n\
+ strh r5, [r0]\n\
+_08135ABA:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08135AC0: .4byte 0x00000572\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_8135AC4(void)
+{
+ s32 i;
+ u8 trainerClass;
+ struct BattleTowerRecord *playerRecord = &gSaveBlock2.battleTower.playerRecord;
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ if (gSaveBlock2.playerGender != MALE)
+ {
+ trainerClass = sFemaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1]
+ + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 20u];
+ }
+ else
+ {
+ trainerClass = sMaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1]
+ + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 30u];
+ }
+
+ playerRecord->battleTowerLevelType = battleTowerLevelType;
+ playerRecord->trainerClass = trainerClass;
+
+ copy_word_to_mem(playerRecord->trainerId, gSaveBlock2.playerTrainerId);
+ StringCopy8(playerRecord->name, gSaveBlock2.playerName);
+
+ playerRecord->winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType);
+
+ for (i = 0; i < 6; i++)
+ {
+ playerRecord->greeting.easyChat[i] = gSaveBlock1.easyChats.unk2B28[i];
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ sub_803AF78(&gUnknown_030042FC[gSaveBlock2.battleTower.selectedPartyMons[i]], &playerRecord->party[i]);
+ }
+
+ SetBattleTowerRecordChecksum(&gSaveBlock2.battleTower.playerRecord);
+ sub_8135A3C();
+}
+
+void sub_8135BA0(void)
+{
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ if (gSpecialVar_0x8004 == 3 || gSpecialVar_0x8004 == 0)
+ {
+ if (gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] > 1
+ || gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] > 1)
+ {
+ sub_8135AC4();
+ }
+ }
+
+ sub_8135CFC();
+
+ gSaveBlock2.battleTower.battleOutcome = gBattleOutcome;
+
+ if (gSpecialVar_0x8004 != 3)
+ {
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = gSpecialVar_0x8004;
+ }
+
+ VarSet(VAR_0x4000, 0);
+ gSaveBlock2.battleTower.unk_554 = 1;
+ TrySavingData(EREADER_SAVE);
+}
+
+void BattleTower_SoftReset(void)
+{
+ DoSoftReset();
+}
+
+void ValidateBattleTowerRecordChecksums(void)
+{
+ u32 i;
+ s32 recordIndex;
+ struct BattleTowerRecord *record;
+ u32 checksum;
+
+ checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++)
+ {
+ checksum += ((u32 *)&gSaveBlock2.battleTower.playerRecord)[i];
+ }
+
+ if (gSaveBlock2.battleTower.playerRecord.checksum != checksum)
+ {
+ ClearBattleTowerRecord(&gSaveBlock2.battleTower.playerRecord);
+ }
+
+ for (recordIndex = 0; recordIndex < 5; recordIndex++)
+ {
+ record = &gSaveBlock2.battleTower.records[recordIndex];
+ checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++)
+ {
+ checksum += ((u32 *)record)[i];
+ }
+
+ if (gSaveBlock2.battleTower.records[recordIndex].checksum != checksum)
+ {
+ ClearBattleTowerRecord(&gSaveBlock2.battleTower.records[recordIndex]);
+ }
+ }
+}
+
+void SetBattleTowerRecordChecksum(struct BattleTowerRecord *record)
+{
+ u32 i;
+
+ record->checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++)
+ {
+ record->checksum += ((u32 *)record)[i];
+ }
+}
+
+void ClearBattleTowerRecord(struct BattleTowerRecord *record)
+{
+ u32 i;
+
+ for (i = 0; i < sizeof(struct BattleTowerRecord) / sizeof(u32); i++)
+ {
+ ((u32 *)record)[i] = 0;
+ }
+}
+
+void sub_8135CFC(void)
+{
+ s32 i;
+
+ get_trainer_name(gSaveBlock2.battleTower.defeatedByTrainerName);
+ gSaveBlock2.battleTower.defeatedBySpecies = gBattleMons[1].species;
+ gSaveBlock2.battleTower.firstMonSpecies = gBattleMons[0].species;
+
+ for (i = 0; i < POKEMON_NAME_LENGTH; i++)
+ {
+ gSaveBlock2.battleTower.firstMonNickname[i] = gBattleMons[0].nickname[i];
+ }
+}
+
+u16 GetCurrentBattleTowerWinStreak(u8 battleTowerLevelType)
+{
+ u16 winStreak = ((gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] - 1) * 7 - 1)
+ + gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType];
+
+ if (winStreak > 9999)
+ {
+ return 9999;
+ }
+
+ return winStreak;
+}
+
+#ifdef NONMATCHING
+void DetermineBattleTowerPrize(void)
+{
+ u16 prizeItem;
+ struct SaveBlock2 *saveBlock = &gSaveBlock2;
+ u8 battleTowerLevelType = saveBlock->battleTower.battleTowerLevelType;
+
+ if (saveBlock->battleTower.curStreakChallengesNum[battleTowerLevelType] - 1 > 5)
+ {
+ prizeItem = sLongStreakPrizes[Random() % ARRAY_COUNT(sLongStreakPrizes)];
+ }
+ else
+ {
+ prizeItem = sShortStreakPrizes[Random() % ARRAY_COUNT(sShortStreakPrizes)];
+ }
+
+ saveBlock->battleTower.prizeItem = prizeItem;
+}
+#else
+__attribute__((naked))
+void DetermineBattleTowerPrize(void)
+{
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ ldr r5, _08135DB0 @ =gSaveBlock2\n\
+ ldr r1, _08135DB4 @ =0x00000554\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 31\n\
+ lsrs r0, 31\n\
+ lsls r0, 1\n\
+ ldr r2, _08135DB8 @ =0x0000055c\n\
+ adds r1, r5, r2\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ subs r0, 0x1\n\
+ cmp r0, 0x5\n\
+ ble _08135DC0\n\
+ bl Random\n\
+ ldr r4, _08135DBC @ =sLongStreakPrizes\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0x9\n\
+ b _08135DCC\n\
+ .align 2, 0\n\
+_08135DB0: .4byte gSaveBlock2\n\
+_08135DB4: .4byte 0x00000554\n\
+_08135DB8: .4byte 0x0000055c\n\
+_08135DBC: .4byte sLongStreakPrizes\n\
+_08135DC0:\n\
+ bl Random\n\
+ ldr r4, _08135DE8 @ =sShortStreakPrizes\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0x6\n\
+_08135DCC:\n\
+ bl __umodsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 15\n\
+ adds r0, r4\n\
+ ldrh r1, [r0]\n\
+ movs r2, 0xAD\n\
+ lsls r2, 3\n\
+ adds r0, r5, r2\n\
+ strh r1, [r0]\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08135DE8: .4byte sShortStreakPrizes\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void GiveBattleTowerPrize(void)
+{
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ if (AddBagItem(gSaveBlock2.battleTower.prizeItem, 1) == TRUE)
+ {
+ CopyItemName(gSaveBlock2.battleTower.prizeItem, gStringVar1);
+ gScriptResult = 1;
+ }
+ else
+ {
+ gScriptResult = 0;
+ gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = 6;
+ }
+}
+
+void AwardBattleTowerRibbons(void)
+{
+ s32 i;
+ u32 partyIndex;
+ struct Pokemon *pokemon;
+ u8 ribbonType;
+ u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType;
+
+ ribbonType = MON_DATA_WINNING_RIBBON;
+ if (battleTowerLevelType != 0)
+ {
+ ribbonType = MON_DATA_VICTORY_RIBBON;
+ }
+
+ gScriptResult = 0;
+
+ if (GetCurrentBattleTowerWinStreak(battleTowerLevelType) > 55)
+ {
+ for (i = 0; i < 3; i++)
+ {
+ partyIndex = gSaveBlock2.battleTower.selectedPartyMons[i] - 1;
+ pokemon = &gPlayerParty[partyIndex];
+ if (!GetMonData(pokemon, ribbonType))
+ {
+ gScriptResult = 1;
+ SetMonData(pokemon, ribbonType, &gScriptResult);
+ }
+ }
+ }
+
+ if (gScriptResult != 0)
+ {
+ IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS);
+ }
+}
+
+// This is a leftover debugging function that is used to populate the E-Reader
+// trainer with the player's current data.
+void Debug_FillEReaderTrainerWithPlayerData(void)
+{
+ struct BattleTowerEReaderTrainer *ereaderTrainer;
+ s32 i;
+ s32 j;
+
+ ereaderTrainer = &gSaveBlock2.battleTower.ereaderTrainer;
+
+ if (gSaveBlock2.playerGender != MALE)
+ {
+ ereaderTrainer->trainerClass = sFemaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1]
+ + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 20u];
+ }
+ else
+ {
+ ereaderTrainer->trainerClass = sMaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1]
+ + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 30u];
+ }
+
+ copy_word_to_mem(ereaderTrainer->trainerId, gSaveBlock2.playerTrainerId);
+ StringCopy8(ereaderTrainer->name, gSaveBlock2.playerName);
+
+ ereaderTrainer->winStreak = 1;
+
+ j = 7;
+ for (i = 0; i < 6; i++)
+ {
+ ereaderTrainer->greeting.easyChat[i] = gSaveBlock1.easyChats.unk2B28[i];
+ ereaderTrainer->farewellPlayerLost.easyChat[i] = j;
+ ereaderTrainer->farewellPlayerWon.easyChat[i] = j + 6;
+ j++;
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ sub_803AF78(&gPlayerParty[i], &ereaderTrainer->party[i]);
+ }
+
+ SetEReaderTrainerChecksum(ereaderTrainer);
+}
+
+u8 GetEReaderTrainerPicIndex(void)
+{
+ return gTrainerClassToPicIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass];
+}
+
+u8 GetEReaderTrainerClassNameIndex(void)
+{
+ return gTrainerClassToNameIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass];
+}
+
+void SetEReaderTrainerName(u8 *trainerName)
+{
+ s32 i;
+
+ for (i = 0; i < 7; i++)
+ {
+ trainerName[i] = gSaveBlock2.battleTower.ereaderTrainer.name[i];
+ }
+
+ trainerName[i] = 0xFF;
+}
+
+// Checks if the saved E-Reader trainer is valid.
+void ValidateEReaderTrainer(void)
+{
+ u32 i;
+ u32 checksum;
+ struct BattleTowerEReaderTrainer *ereaderTrainer;
+
+ gScriptResult = 0;
+ ereaderTrainer = &gSaveBlock2.battleTower.ereaderTrainer;
+
+ checksum = 0;
+ for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++)
+ {
+ checksum |= ((u32 *)ereaderTrainer)[i];
+ }
+
+ if (checksum == 0)
+ {
+ gScriptResult = 1;
+ return;
+ }
+
+ checksum = 0;
+ for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++)
+ {
+ checksum += ((u32 *)ereaderTrainer)[i];
+ }
+
+ if (gSaveBlock2.battleTower.ereaderTrainer.checksum != checksum)
+ {
+ ClearEReaderTrainer(&gSaveBlock2.battleTower.ereaderTrainer);
+ gScriptResult = 1;
+ }
+}
+
+void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer)
+{
+ s32 i;
+
+ ereaderTrainer->checksum = 0;
+ for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++)
+ {
+ ereaderTrainer->checksum += ((u32 *)ereaderTrainer)[i];
+ }
+}
+
+void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer)
+{
+ u32 i;
+
+ for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32); i++)
+ {
+ ((u32 *)ereaderTrainer)[i] = 0;
+ }
+}
+
+void PrintEReaderTrainerGreeting(void)
+{
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting.easyChat);
+}
+
+void PrintEReaderTrainerFarewellMessage(void)
+{
+ if (gBattleOutcome == BATTLE_DREW)
+ {
+ gStringVar4[0] = 0xFF;
+ }
+ else if (gBattleOutcome == BATTLE_WON)
+ {
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerWon.easyChat);
+ }
+ else
+ {
+ PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerLost.easyChat);
+ }
+}
+
+void sub_813610C(void)
+{
+ s32 i;
+
+ for (i = 0; i < 2; i++)
+ {
+ if (gSaveBlock2.battleTower.var_4AE[i] == 1)
+ {
+ sub_80BFD20();
+ }
+ }
+}
+
+#if GERMAN
+u8 de_sub_81364AC(void)
+{
+ if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID)
+ {
+ return gSaveBlock2.battleTower.ereaderTrainer.trainerClass;
+ }
+ else if (gSaveBlock2.battleTower.battleTowerTrainerId >= BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID)
+ {
+ return gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass;
+ }
+ else
+ {
+ return gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass;
+ }
+}
+
+u8 de_sub_81364F8(void)
+{
+ return gSaveBlock2.battleTower.ereaderTrainer.trainerClass;
+}
+#endif
diff --git a/src/berry.c b/src/field/berry.c
index d82eab2a6..cd1fc5c94 100644
--- a/src/berry.c
+++ b/src/field/berry.c
@@ -12,10 +12,16 @@
#include "text.h"
#define BERRY_NAME_LENGTH 6
+#define BERRY_REGROW_LIMIT 10
+#define MAX_BERRY_TREES 128
+#define BERRY_NONE 0
#define FIRST_BERRY ITEM_CHERI_BERRY
#define LAST_BERRY ITEM_ENIGMA_BERRY
+#define GETBERRYID(berry) ((berry - FIRST_BERRY) + 1)
+#define GETITEMID(berry) ((berry + FIRST_BERRY) - 1)
+
#ifdef ENGLISH
#define NAME_CHERI_BERRY _("CHERI")
#define NAME_CHESTO_BERRY _("CHESTO")
@@ -61,92 +67,92 @@
#define NAME_STARF_BERRY _("STARF")
#define NAME_ENIGMA_BERRY _("ENIGMA")
-const u8 gBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers.");
-const u8 gBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy.");
-const u8 gBerryDescriptionPart1_Chesto[] = _("The BERRY’s thick skin and fruit are");
-const u8 gBerryDescriptionPart2_Chesto[] = _("very tough. It is dry-tasting all over.");
-const u8 gBerryDescriptionPart1_Pecha[] = _("Very sweet and delicious.");
-const u8 gBerryDescriptionPart2_Pecha[] = _("Also very tender - handle with care.");
-const u8 gBerryDescriptionPart1_Rawst[] = _("If the leaves grow long and curly,");
-const u8 gBerryDescriptionPart2_Rawst[] = _("the BERRY seems to grow very bitter.");
-const u8 gBerryDescriptionPart1_Aspear[] = _("The hard BERRY is dense with a rich");
-const u8 gBerryDescriptionPart2_Aspear[] = _("juice. It is quite sour.");
-const u8 gBerryDescriptionPart1_Leppa[] = _("Grows slower than CHERI and others.");
-const u8 gBerryDescriptionPart2_Leppa[] = _("The smaller the BERRY, the tastier.");
-const u8 gBerryDescriptionPart1_Oran[] = _("A peculiar BERRY with a mix of flavors.");
-const u8 gBerryDescriptionPart2_Oran[] = _("BERRIES grow in half a day.");
-const u8 gBerryDescriptionPart1_Persim[] = _("Loves sunlight. The BERRY’s color");
-const u8 gBerryDescriptionPart2_Persim[] = _("grows vivid when exposed to the sun.");
-const u8 gBerryDescriptionPart1_Lum[] = _("Slow to grow. If raised with loving");
-const u8 gBerryDescriptionPart2_Lum[] = _("care, it may grow two BERRIES.");
-const u8 gBerryDescriptionPart1_Sitrus[] = _("Closely related to ORAN. The large");
-const u8 gBerryDescriptionPart2_Sitrus[] = _("BERRY has a well-rounded flavor.");
-const u8 gBerryDescriptionPart1_Figy[] = _("The BERRY, which looks chewed up,");
-const u8 gBerryDescriptionPart2_Figy[] = _("brims with spicy substances.");
-const u8 gBerryDescriptionPart1_Wiki[] = _("The BERRY is said to have grown lumpy");
-const u8 gBerryDescriptionPart2_Wiki[] = _("to help POKéMON grip it.");
-const u8 gBerryDescriptionPart1_Mago[] = _("The BERRY turns curvy as it grows.");
-const u8 gBerryDescriptionPart2_Mago[] = _("The curvier, the sweeter and tastier.");
-const u8 gBerryDescriptionPart1_Aguav[] = _("The flower is dainty. It is rare in its");
-const u8 gBerryDescriptionPart2_Aguav[] = _("ability to grow without light.");
-const u8 gBerryDescriptionPart1_Iapapa[] = _("The BERRY is very big and sour.");
-const u8 gBerryDescriptionPart2_Iapapa[] = _("It takes at least a day to grow.");
-const u8 gBerryDescriptionPart1_Razz[] = _("The red BERRY tastes slightly spicy.");
-const u8 gBerryDescriptionPart2_Razz[] = _("It grows quickly in just four hours.");
-const u8 gBerryDescriptionPart1_Bluk[] = _("The BERRY is blue on the outside, but");
-const u8 gBerryDescriptionPart2_Bluk[] = _("it blackens the mouth when eaten.");
-const u8 gBerryDescriptionPart1_Nanab[] = _("This BERRY was the seventh");
-const u8 gBerryDescriptionPart2_Nanab[] = _("discovered in the world. It is sweet.");
-const u8 gBerryDescriptionPart1_Wepear[] = _("The flower is small and white. It has a");
-const u8 gBerryDescriptionPart2_Wepear[] = _("delicate balance of bitter and sour.");
-const u8 gBerryDescriptionPart1_Pinap[] = _("Weak against wind and cold.");
-const u8 gBerryDescriptionPart2_Pinap[] = _("The fruit is spicy and the skin, sour.");
-const u8 gBerryDescriptionPart1_Pomeg[] = _("However much it is watered,");
-const u8 gBerryDescriptionPart2_Pomeg[] = _("it only grows up to six BERRIES.");
-const u8 gBerryDescriptionPart1_Kelpsy[] = _("A rare variety shaped like a root.");
-const u8 gBerryDescriptionPart2_Kelpsy[] = _("Grows a very large flower.");
-const u8 gBerryDescriptionPart1_Qualot[] = _("Loves water. Grows strong even in");
-const u8 gBerryDescriptionPart2_Qualot[] = _("locations with constant rainfall.");
-const u8 gBerryDescriptionPart1_Hondew[] = _("A BERRY that is very valuable and");
-const u8 gBerryDescriptionPart2_Hondew[] = _("rarely seen. It is very delicious.");
-const u8 gBerryDescriptionPart1_Grepa[] = _("Despite its tenderness and round");
-const u8 gBerryDescriptionPart2_Grepa[] = _("shape, the BERRY is unimaginably sour.");
-const u8 gBerryDescriptionPart1_Tamato[] = _("The BERRY is lip-bendingly spicy.");
-const u8 gBerryDescriptionPart2_Tamato[] = _("It takes time to grow.");
-const u8 gBerryDescriptionPart1_Cornn[] = _("A BERRY from an ancient era. May not");
-const u8 gBerryDescriptionPart2_Cornn[] = _("grow unless planted in quantity.");
-const u8 gBerryDescriptionPart1_Magost[] = _("A BERRY that is widely said to have");
-const u8 gBerryDescriptionPart2_Magost[] = _("a finely balanced flavor.");
-const u8 gBerryDescriptionPart1_Rabuta[] = _("A rare variety that is overgrown with");
-const u8 gBerryDescriptionPart2_Rabuta[] = _("hair. It is quite bitter.");
-const u8 gBerryDescriptionPart1_Nomel[] = _("Quite sour. Just one bite makes it");
-const u8 gBerryDescriptionPart2_Nomel[] = _("impossible to taste for three days.");
-const u8 gBerryDescriptionPart1_Spelon[] = _("The vividly red BERRY is very spicy.");
-const u8 gBerryDescriptionPart2_Spelon[] = _("Its warts secrete a spicy substance.");
-const u8 gBerryDescriptionPart1_Pamtre[] = _("Drifts on the sea from somewhere.");
-const u8 gBerryDescriptionPart2_Pamtre[] = _("It is thought to grow elsewhere.");
-const u8 gBerryDescriptionPart1_Watmel[] = _("A huge BERRY, with some over 20");
-const u8 gBerryDescriptionPart2_Watmel[] = _("inches discovered. Exceedingly sweet.");
-const u8 gBerryDescriptionPart1_Durin[] = _("Bitter to even look at. It is so");
-const u8 gBerryDescriptionPart2_Durin[] = _("bitter, no one has ever eaten it as is.");
-const u8 gBerryDescriptionPart1_Belue[] = _("It is glossy and looks delicious, but");
-const u8 gBerryDescriptionPart2_Belue[] = _("it is awfully sour. Takes time to grow.");
-const u8 gBerryDescriptionPart1_Liechi[] = _("A mysterious BERRY. It is rumored to");
-const u8 gBerryDescriptionPart2_Liechi[] = _("contain the power of the sea.");
-const u8 gBerryDescriptionPart1_Ganlon[] = _("A mysterious BERRY. It is rumored to");
-const u8 gBerryDescriptionPart2_Ganlon[] = _("contain the power of the land.");
-const u8 gBerryDescriptionPart1_Salac[] = _("A mysterious BERRY. It is rumored to");
-const u8 gBerryDescriptionPart2_Salac[] = _("contain the power of the sky.");
-const u8 gBerryDescriptionPart1_Petaya[] = _("A mysterious BERRY. It is rumored to");
-const u8 gBerryDescriptionPart2_Petaya[] = _("contain the power of all living things.");
-const u8 gBerryDescriptionPart1_Apicot[] = _("A very mystifying BERRY. No telling");
-const u8 gBerryDescriptionPart2_Apicot[] = _("what may happen or how it can be used.");
-const u8 gBerryDescriptionPart1_Lansat[] = _("Said to be a legendary BERRY.");
-const u8 gBerryDescriptionPart2_Lansat[] = _("Holding it supposedly brings joy.");
-const u8 gBerryDescriptionPart1_Starf[] = _("So strong, it was abandoned at the");
-const u8 gBerryDescriptionPart2_Starf[] = _("world’s edge. Considered a mirage.");
-const u8 gBerryDescriptionPart1_Enigma[] = _("A completely enigmatic BERRY.");
-const u8 gBerryDescriptionPart2_Enigma[] = _("Appears to have the power of stars.");
+static const u8 gBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers.");
+static const u8 gBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy.");
+static const u8 gBerryDescriptionPart1_Chesto[] = _("The BERRY’s thick skin and fruit are");
+static const u8 gBerryDescriptionPart2_Chesto[] = _("very tough. It is dry-tasting all over.");
+static const u8 gBerryDescriptionPart1_Pecha[] = _("Very sweet and delicious.");
+static const u8 gBerryDescriptionPart2_Pecha[] = _("Also very tender - handle with care.");
+static const u8 gBerryDescriptionPart1_Rawst[] = _("If the leaves grow long and curly,");
+static const u8 gBerryDescriptionPart2_Rawst[] = _("the BERRY seems to grow very bitter.");
+static const u8 gBerryDescriptionPart1_Aspear[] = _("The hard BERRY is dense with a rich");
+static const u8 gBerryDescriptionPart2_Aspear[] = _("juice. It is quite sour.");
+static const u8 gBerryDescriptionPart1_Leppa[] = _("Grows slower than CHERI and others.");
+static const u8 gBerryDescriptionPart2_Leppa[] = _("The smaller the BERRY, the tastier.");
+static const u8 gBerryDescriptionPart1_Oran[] = _("A peculiar BERRY with a mix of flavors.");
+static const u8 gBerryDescriptionPart2_Oran[] = _("BERRIES grow in half a day.");
+static const u8 gBerryDescriptionPart1_Persim[] = _("Loves sunlight. The BERRY’s color");
+static const u8 gBerryDescriptionPart2_Persim[] = _("grows vivid when exposed to the sun.");
+static const u8 gBerryDescriptionPart1_Lum[] = _("Slow to grow. If raised with loving");
+static const u8 gBerryDescriptionPart2_Lum[] = _("care, it may grow two BERRIES.");
+static const u8 gBerryDescriptionPart1_Sitrus[] = _("Closely related to ORAN. The large");
+static const u8 gBerryDescriptionPart2_Sitrus[] = _("BERRY has a well-rounded flavor.");
+static const u8 gBerryDescriptionPart1_Figy[] = _("The BERRY, which looks chewed up,");
+static const u8 gBerryDescriptionPart2_Figy[] = _("brims with spicy substances.");
+static const u8 gBerryDescriptionPart1_Wiki[] = _("The BERRY is said to have grown lumpy");
+static const u8 gBerryDescriptionPart2_Wiki[] = _("to help POKéMON grip it.");
+static const u8 gBerryDescriptionPart1_Mago[] = _("The BERRY turns curvy as it grows.");
+static const u8 gBerryDescriptionPart2_Mago[] = _("The curvier, the sweeter and tastier.");
+static const u8 gBerryDescriptionPart1_Aguav[] = _("The flower is dainty. It is rare in its");
+static const u8 gBerryDescriptionPart2_Aguav[] = _("ability to grow without light.");
+static const u8 gBerryDescriptionPart1_Iapapa[] = _("The BERRY is very big and sour.");
+static const u8 gBerryDescriptionPart2_Iapapa[] = _("It takes at least a day to grow.");
+static const u8 gBerryDescriptionPart1_Razz[] = _("The red BERRY tastes slightly spicy.");
+static const u8 gBerryDescriptionPart2_Razz[] = _("It grows quickly in just four hours.");
+static const u8 gBerryDescriptionPart1_Bluk[] = _("The BERRY is blue on the outside, but");
+static const u8 gBerryDescriptionPart2_Bluk[] = _("it blackens the mouth when eaten.");
+static const u8 gBerryDescriptionPart1_Nanab[] = _("This BERRY was the seventh");
+static const u8 gBerryDescriptionPart2_Nanab[] = _("discovered in the world. It is sweet.");
+static const u8 gBerryDescriptionPart1_Wepear[] = _("The flower is small and white. It has a");
+static const u8 gBerryDescriptionPart2_Wepear[] = _("delicate balance of bitter and sour.");
+static const u8 gBerryDescriptionPart1_Pinap[] = _("Weak against wind and cold.");
+static const u8 gBerryDescriptionPart2_Pinap[] = _("The fruit is spicy and the skin, sour.");
+static const u8 gBerryDescriptionPart1_Pomeg[] = _("However much it is watered,");
+static const u8 gBerryDescriptionPart2_Pomeg[] = _("it only grows up to six BERRIES.");
+static const u8 gBerryDescriptionPart1_Kelpsy[] = _("A rare variety shaped like a root.");
+static const u8 gBerryDescriptionPart2_Kelpsy[] = _("Grows a very large flower.");
+static const u8 gBerryDescriptionPart1_Qualot[] = _("Loves water. Grows strong even in");
+static const u8 gBerryDescriptionPart2_Qualot[] = _("locations with constant rainfall.");
+static const u8 gBerryDescriptionPart1_Hondew[] = _("A BERRY that is very valuable and");
+static const u8 gBerryDescriptionPart2_Hondew[] = _("rarely seen. It is very delicious.");
+static const u8 gBerryDescriptionPart1_Grepa[] = _("Despite its tenderness and round");
+static const u8 gBerryDescriptionPart2_Grepa[] = _("shape, the BERRY is unimaginably sour.");
+static const u8 gBerryDescriptionPart1_Tamato[] = _("The BERRY is lip-bendingly spicy.");
+static const u8 gBerryDescriptionPart2_Tamato[] = _("It takes time to grow.");
+static const u8 gBerryDescriptionPart1_Cornn[] = _("A BERRY from an ancient era. May not");
+static const u8 gBerryDescriptionPart2_Cornn[] = _("grow unless planted in quantity.");
+static const u8 gBerryDescriptionPart1_Magost[] = _("A BERRY that is widely said to have");
+static const u8 gBerryDescriptionPart2_Magost[] = _("a finely balanced flavor.");
+static const u8 gBerryDescriptionPart1_Rabuta[] = _("A rare variety that is overgrown with");
+static const u8 gBerryDescriptionPart2_Rabuta[] = _("hair. It is quite bitter.");
+static const u8 gBerryDescriptionPart1_Nomel[] = _("Quite sour. Just one bite makes it");
+static const u8 gBerryDescriptionPart2_Nomel[] = _("impossible to taste for three days.");
+static const u8 gBerryDescriptionPart1_Spelon[] = _("The vividly red BERRY is very spicy.");
+static const u8 gBerryDescriptionPart2_Spelon[] = _("Its warts secrete a spicy substance.");
+static const u8 gBerryDescriptionPart1_Pamtre[] = _("Drifts on the sea from somewhere.");
+static const u8 gBerryDescriptionPart2_Pamtre[] = _("It is thought to grow elsewhere.");
+static const u8 gBerryDescriptionPart1_Watmel[] = _("A huge BERRY, with some over 20");
+static const u8 gBerryDescriptionPart2_Watmel[] = _("inches discovered. Exceedingly sweet.");
+static const u8 gBerryDescriptionPart1_Durin[] = _("Bitter to even look at. It is so");
+static const u8 gBerryDescriptionPart2_Durin[] = _("bitter, no one has ever eaten it as is.");
+static const u8 gBerryDescriptionPart1_Belue[] = _("It is glossy and looks delicious, but");
+static const u8 gBerryDescriptionPart2_Belue[] = _("it is awfully sour. Takes time to grow.");
+static const u8 gBerryDescriptionPart1_Liechi[] = _("A mysterious BERRY. It is rumored to");
+static const u8 gBerryDescriptionPart2_Liechi[] = _("contain the power of the sea.");
+static const u8 gBerryDescriptionPart1_Ganlon[] = _("A mysterious BERRY. It is rumored to");
+static const u8 gBerryDescriptionPart2_Ganlon[] = _("contain the power of the land.");
+static const u8 gBerryDescriptionPart1_Salac[] = _("A mysterious BERRY. It is rumored to");
+static const u8 gBerryDescriptionPart2_Salac[] = _("contain the power of the sky.");
+static const u8 gBerryDescriptionPart1_Petaya[] = _("A mysterious BERRY. It is rumored to");
+static const u8 gBerryDescriptionPart2_Petaya[] = _("contain the power of all living things.");
+static const u8 gBerryDescriptionPart1_Apicot[] = _("A very mystifying BERRY. No telling");
+static const u8 gBerryDescriptionPart2_Apicot[] = _("what may happen or how it can be used.");
+static const u8 gBerryDescriptionPart1_Lansat[] = _("Said to be a legendary BERRY.");
+static const u8 gBerryDescriptionPart2_Lansat[] = _("Holding it supposedly brings joy.");
+static const u8 gBerryDescriptionPart1_Starf[] = _("So strong, it was abandoned at the");
+static const u8 gBerryDescriptionPart2_Starf[] = _("world’s edge. Considered a mirage.");
+static const u8 gBerryDescriptionPart1_Enigma[] = _("A completely enigmatic BERRY.");
+static const u8 gBerryDescriptionPart2_Enigma[] = _("Appears to have the power of stars.");
#elif defined(GERMAN)
#define NAME_CHERI_BERRY _("AMRENA")
#define NAME_CHESTO_BERRY _("MARON")
@@ -192,92 +198,92 @@ const u8 gBerryDescriptionPart2_Enigma[] = _("Appears to have the power of stars
#define NAME_STARF_BERRY _("KRAMBO")
#define NAME_ENIGMA_BERRY _("ENIGMA")
-const u8 gBerryDescriptionPart1_Cheri[] = _("Erblüht mit hübschen, zarten Blumen.");
-const u8 gBerryDescriptionPart2_Cheri[] = _("Diese knallrote BEERE ist sehr scharf.");
-const u8 gBerryDescriptionPart1_Chesto[] = _("Diese BEERE hat eine dicke Haut und");
-const u8 gBerryDescriptionPart2_Chesto[] = _("hartes Fruchtfleisch. Trocken!");
-const u8 gBerryDescriptionPart1_Pecha[] = _("Sehr süß und delikat.");
-const u8 gBerryDescriptionPart2_Pecha[] = _("Sehr zart. Vorsichtig anfassen!");
-const u8 gBerryDescriptionPart1_Rawst[] = _("Wenn die Blätter lang und wellig sind,");
-const u8 gBerryDescriptionPart2_Rawst[] = _("wird die BEERE sehr bitter.");
-const u8 gBerryDescriptionPart1_Aspear[] = _("Diese harte BEERE ist sehr");
-const u8 gBerryDescriptionPart2_Aspear[] = _("saftig und sauer im Geschmack!");
-const u8 gBerryDescriptionPart1_Leppa[] = _("Wächst langsamer als AMRENA und");
-const u8 gBerryDescriptionPart2_Leppa[] = _("andere. Je kleiner, desto delikater.");
-const u8 gBerryDescriptionPart1_Oran[] = _("Eine BEERE unterschiedlichsten Ge-");
-const u8 gBerryDescriptionPart2_Oran[] = _("schmacks. Wächst an einem halben Tag.");
-const u8 gBerryDescriptionPart1_Persim[] = _("Liebt Sonnenlicht. Die BEERE");
-const u8 gBerryDescriptionPart2_Persim[] = _("wächst im Sonnenlicht sehr schnell.");
-const u8 gBerryDescriptionPart1_Lum[] = _("Langsamer Wuchs. Wird sie liebevoll ge-");
-const u8 gBerryDescriptionPart2_Lum[] = _("pflegt, kann sie 2 BEEREN tragen.");
-const u8 gBerryDescriptionPart1_Sitrus[] = _("Eng verwandt mit SINEL. Diese große");
-const u8 gBerryDescriptionPart2_Sitrus[] = _("BEERE ist von rundem Geschmack.");
-const u8 gBerryDescriptionPart1_Figy[] = _("Die BEERE sieht angekaut aus. Sie ist");
-const u8 gBerryDescriptionPart2_Figy[] = _("voller scharfer Substanzen.");
-const u8 gBerryDescriptionPart1_Wiki[] = _("Die BEERE wächst unförmig,");
-const u8 gBerryDescriptionPart2_Wiki[] = _("damit PKMN sie besser greifen können.");
-const u8 gBerryDescriptionPart1_Mago[] = _("Die BEERE hat Ausbeulungen. Je mehr");
-const u8 gBerryDescriptionPart2_Mago[] = _("Beulen, desto schmackhafter ist sie.");
-const u8 gBerryDescriptionPart1_Aguav[] = _("Die Blume ist zart. Sie ist fähig,");
-const u8 gBerryDescriptionPart2_Aguav[] = _("ohne Licht wachsen zu können.");
-const u8 gBerryDescriptionPart1_Iapapa[] = _("Die BEERE ist groß und sauer.");
-const u8 gBerryDescriptionPart2_Iapapa[] = _("Sie braucht einen Tag zum Wachsen.");
-const u8 gBerryDescriptionPart1_Razz[] = _("Diese rote BEERE schmeckt etwas");
-const u8 gBerryDescriptionPart2_Razz[] = _("scharf. Sie wächst in nur 4 Stunden.");
-const u8 gBerryDescriptionPart1_Bluk[] = _("Die BEERE ist außen blau, verfärbt");
-const u8 gBerryDescriptionPart2_Bluk[] = _("sich im Mund aber schwarz.");
-const u8 gBerryDescriptionPart1_Nanab[] = _("Diese BEERE war die 7., die auf der");
-const u8 gBerryDescriptionPart2_Nanab[] = _("Welt entdeckt wurde. Sie ist süß.");
-const u8 gBerryDescriptionPart1_Wepear[] = _("Die Blume ist klein und weiß. Angenehm");
-const u8 gBerryDescriptionPart2_Wepear[] = _("bitter und sauer zugleich.");
-const u8 gBerryDescriptionPart1_Pinap[] = _("Wind und Kälte verträgt sie nicht.");
-const u8 gBerryDescriptionPart2_Pinap[] = _("Fruchtfleisch: Scharf. Haut: Sauer.");
-const u8 gBerryDescriptionPart1_Pomeg[] = _("Egal wie viel Wasser sie bekommt, sie");
-const u8 gBerryDescriptionPart2_Pomeg[] = _("trägt immer bis zu 6 BEEREN.");
-const u8 gBerryDescriptionPart1_Kelpsy[] = _("Eine Seltenheit. Geformt wie eine");
-const u8 gBerryDescriptionPart2_Kelpsy[] = _("Wurzel. Hat eine große Blume.");
-const u8 gBerryDescriptionPart1_Qualot[] = _("Liebt das Wasser. Wächst besonders");
-const u8 gBerryDescriptionPart2_Qualot[] = _("gut in regenreichen Gegenden.");
-const u8 gBerryDescriptionPart1_Hondew[] = _("Eine wertvolle und seltene BEERE.");
-const u8 gBerryDescriptionPart2_Hondew[] = _("Sie ist sehr schmackhaft.");
-const u8 gBerryDescriptionPart1_Grepa[] = _("Die BEERE ist zart und von runder");
-const u8 gBerryDescriptionPart2_Grepa[] = _("Form. Aber sie ist unglaublich sauer!");
-const u8 gBerryDescriptionPart1_Tamato[] = _("Die Schärfe der BEERE verbrennt die");
-const u8 gBerryDescriptionPart2_Tamato[] = _("Lippen. Sie braucht Zeit zum Wachsen.");
-const u8 gBerryDescriptionPart1_Cornn[] = _("Eine BEERE aus alten Zeiten. Wächst");
-const u8 gBerryDescriptionPart2_Cornn[] = _("nur, wenn in großen Mengen gepflanzt.");
-const u8 gBerryDescriptionPart1_Magost[] = _("Eine BEERE, die für ihren feinen, aus-");
-const u8 gBerryDescriptionPart2_Magost[] = _("gewogenen Geschmack bekannt ist.");
-const u8 gBerryDescriptionPart1_Rabuta[] = _("Eine Seltenheit, die über und über mit");
-const u8 gBerryDescriptionPart2_Rabuta[] = _("Haaren bewachsen ist. Sehr bitter!");
-const u8 gBerryDescriptionPart1_Nomel[] = _("Sehr sauer. Ein Biss betäubt die");
-const u8 gBerryDescriptionPart2_Nomel[] = _("Geschmacksnerven für 3 Tage!");
-const u8 gBerryDescriptionPart1_Spelon[] = _("Die leuchtend rote BEERE ist sehr");
-const u8 gBerryDescriptionPart2_Spelon[] = _("scharf. Gibt scharfe Substanzen ab!");
-const u8 gBerryDescriptionPart1_Pamtre[] = _("Wird vom Meer angespült. Sie wächst");
-const u8 gBerryDescriptionPart2_Pamtre[] = _("an einem anderen Ort.");
-const u8 gBerryDescriptionPart1_Watmel[] = _("Eine große BEERE, 25 cm groß.");
-const u8 gBerryDescriptionPart2_Watmel[] = _("Außergewöhnlich süß.");
-const u8 gBerryDescriptionPart1_Durin[] = _("Bitter schon ihr Anblick! Sie ist so");
-const u8 gBerryDescriptionPart2_Durin[] = _("bitter, dass niemand sie pur isst.");
-const u8 gBerryDescriptionPart1_Belue[] = _("Sie glänzt, sieht zart aus, ist extrem");
-const u8 gBerryDescriptionPart2_Belue[] = _("sauer und braucht Zeit zum Wachsen.");
-const u8 gBerryDescriptionPart1_Liechi[] = _("Eine geheimnisvolle BEERE. Man sagt,");
-const u8 gBerryDescriptionPart2_Liechi[] = _("sie enthalte die Kraft des Meeres.");
-const u8 gBerryDescriptionPart1_Ganlon[] = _("Eine geheimnisvolle BEERE. Man sagt,");
-const u8 gBerryDescriptionPart2_Ganlon[] = _("sie enthalte die Kraft des Landes.");
-const u8 gBerryDescriptionPart1_Salac[] = _("Eine geheimnisvolle BEERE. Man sagt,");
-const u8 gBerryDescriptionPart2_Salac[] = _("sie enthalte die Kraft des Himmels.");
-const u8 gBerryDescriptionPart1_Petaya[] = _("Eine geheimnisvolle BEERE. Man sagt,");
-const u8 gBerryDescriptionPart2_Petaya[] = _("sie enthalte die Kraft allen Lebens.");
-const u8 gBerryDescriptionPart1_Apicot[] = _("Eine rätselhafte BEERE. Man kann");
-const u8 gBerryDescriptionPart2_Apicot[] = _("nicht sagen, wie und was sie ist.");
-const u8 gBerryDescriptionPart1_Lansat[] = _("Eine legendäre BEERE. Sie zu");
-const u8 gBerryDescriptionPart2_Lansat[] = _("tragen bringt Freude.");
-const u8 gBerryDescriptionPart1_Starf[] = _("So stark, dass sie an den Rand der");
-const u8 gBerryDescriptionPart2_Starf[] = _("Welt verbannt wurde. Ein Märchen?");
-const u8 gBerryDescriptionPart1_Enigma[] = _("Eine enigmatische BEERE. Sie scheint");
-const u8 gBerryDescriptionPart2_Enigma[] = _("die Macht der Sterne zu besitzen.");
+static const u8 gBerryDescriptionPart1_Cheri[] = _("Erblüht mit hübschen, zarten Blumen.");
+static const u8 gBerryDescriptionPart2_Cheri[] = _("Diese knallrote BEERE ist sehr scharf.");
+static const u8 gBerryDescriptionPart1_Chesto[] = _("Diese BEERE hat eine dicke Haut und");
+static const u8 gBerryDescriptionPart2_Chesto[] = _("hartes Fruchtfleisch. Trocken!");
+static const u8 gBerryDescriptionPart1_Pecha[] = _("Sehr süß und delikat.");
+static const u8 gBerryDescriptionPart2_Pecha[] = _("Sehr zart. Vorsichtig anfassen!");
+static const u8 gBerryDescriptionPart1_Rawst[] = _("Wenn die Blätter lang und wellig sind,");
+static const u8 gBerryDescriptionPart2_Rawst[] = _("wird die BEERE sehr bitter.");
+static const u8 gBerryDescriptionPart1_Aspear[] = _("Diese harte BEERE ist sehr");
+static const u8 gBerryDescriptionPart2_Aspear[] = _("saftig und sauer im Geschmack!");
+static const u8 gBerryDescriptionPart1_Leppa[] = _("Wächst langsamer als AMRENA und");
+static const u8 gBerryDescriptionPart2_Leppa[] = _("andere. Je kleiner, desto delikater.");
+static const u8 gBerryDescriptionPart1_Oran[] = _("Eine BEERE unterschiedlichsten Ge-");
+static const u8 gBerryDescriptionPart2_Oran[] = _("schmacks. Wächst an einem halben Tag.");
+static const u8 gBerryDescriptionPart1_Persim[] = _("Liebt Sonnenlicht. Die BEERE");
+static const u8 gBerryDescriptionPart2_Persim[] = _("wächst im Sonnenlicht sehr schnell.");
+static const u8 gBerryDescriptionPart1_Lum[] = _("Langsamer Wuchs. Wird sie liebevoll ge-");
+static const u8 gBerryDescriptionPart2_Lum[] = _("pflegt, kann sie 2 BEEREN tragen.");
+static const u8 gBerryDescriptionPart1_Sitrus[] = _("Eng verwandt mit SINEL. Diese große");
+static const u8 gBerryDescriptionPart2_Sitrus[] = _("BEERE ist von rundem Geschmack.");
+static const u8 gBerryDescriptionPart1_Figy[] = _("Die BEERE sieht angekaut aus. Sie ist");
+static const u8 gBerryDescriptionPart2_Figy[] = _("voller scharfer Substanzen.");
+static const u8 gBerryDescriptionPart1_Wiki[] = _("Die BEERE wächst unförmig,");
+static const u8 gBerryDescriptionPart2_Wiki[] = _("damit PKMN sie besser greifen können.");
+static const u8 gBerryDescriptionPart1_Mago[] = _("Die BEERE hat Ausbeulungen. Je mehr");
+static const u8 gBerryDescriptionPart2_Mago[] = _("Beulen, desto schmackhafter ist sie.");
+static const u8 gBerryDescriptionPart1_Aguav[] = _("Die Blume ist zart. Sie ist fähig,");
+static const u8 gBerryDescriptionPart2_Aguav[] = _("ohne Licht wachsen zu können.");
+static const u8 gBerryDescriptionPart1_Iapapa[] = _("Die BEERE ist groß und sauer.");
+static const u8 gBerryDescriptionPart2_Iapapa[] = _("Sie braucht einen Tag zum Wachsen.");
+static const u8 gBerryDescriptionPart1_Razz[] = _("Diese rote BEERE schmeckt etwas");
+static const u8 gBerryDescriptionPart2_Razz[] = _("scharf. Sie wächst in nur 4 Stunden.");
+static const u8 gBerryDescriptionPart1_Bluk[] = _("Die BEERE ist außen blau, verfärbt");
+static const u8 gBerryDescriptionPart2_Bluk[] = _("sich im Mund aber schwarz.");
+static const u8 gBerryDescriptionPart1_Nanab[] = _("Diese BEERE war die 7., die auf der");
+static const u8 gBerryDescriptionPart2_Nanab[] = _("Welt entdeckt wurde. Sie ist süß.");
+static const u8 gBerryDescriptionPart1_Wepear[] = _("Die Blume ist klein und weiß. Angenehm");
+static const u8 gBerryDescriptionPart2_Wepear[] = _("bitter und sauer zugleich.");
+static const u8 gBerryDescriptionPart1_Pinap[] = _("Wind und Kälte verträgt sie nicht.");
+static const u8 gBerryDescriptionPart2_Pinap[] = _("Fruchtfleisch: Scharf. Haut: Sauer.");
+static const u8 gBerryDescriptionPart1_Pomeg[] = _("Egal wie viel Wasser sie bekommt, sie");
+static const u8 gBerryDescriptionPart2_Pomeg[] = _("trägt immer bis zu 6 BEEREN.");
+static const u8 gBerryDescriptionPart1_Kelpsy[] = _("Eine Seltenheit. Geformt wie eine");
+static const u8 gBerryDescriptionPart2_Kelpsy[] = _("Wurzel. Hat eine große Blume.");
+static const u8 gBerryDescriptionPart1_Qualot[] = _("Liebt das Wasser. Wächst besonders");
+static const u8 gBerryDescriptionPart2_Qualot[] = _("gut in regenreichen Gegenden.");
+static const u8 gBerryDescriptionPart1_Hondew[] = _("Eine wertvolle und seltene BEERE.");
+static const u8 gBerryDescriptionPart2_Hondew[] = _("Sie ist sehr schmackhaft.");
+static const u8 gBerryDescriptionPart1_Grepa[] = _("Die BEERE ist zart und von runder");
+static const u8 gBerryDescriptionPart2_Grepa[] = _("Form. Aber sie ist unglaublich sauer!");
+static const u8 gBerryDescriptionPart1_Tamato[] = _("Die Schärfe der BEERE verbrennt die");
+static const u8 gBerryDescriptionPart2_Tamato[] = _("Lippen. Sie braucht Zeit zum Wachsen.");
+static const u8 gBerryDescriptionPart1_Cornn[] = _("Eine BEERE aus alten Zeiten. Wächst");
+static const u8 gBerryDescriptionPart2_Cornn[] = _("nur, wenn in großen Mengen gepflanzt.");
+static const u8 gBerryDescriptionPart1_Magost[] = _("Eine BEERE, die für ihren feinen, aus-");
+static const u8 gBerryDescriptionPart2_Magost[] = _("gewogenen Geschmack bekannt ist.");
+static const u8 gBerryDescriptionPart1_Rabuta[] = _("Eine Seltenheit, die über und über mit");
+static const u8 gBerryDescriptionPart2_Rabuta[] = _("Haaren bewachsen ist. Sehr bitter!");
+static const u8 gBerryDescriptionPart1_Nomel[] = _("Sehr sauer. Ein Biss betäubt die");
+static const u8 gBerryDescriptionPart2_Nomel[] = _("Geschmacksnerven für 3 Tage!");
+static const u8 gBerryDescriptionPart1_Spelon[] = _("Die leuchtend rote BEERE ist sehr");
+static const u8 gBerryDescriptionPart2_Spelon[] = _("scharf. Gibt scharfe Substanzen ab!");
+static const u8 gBerryDescriptionPart1_Pamtre[] = _("Wird vom Meer angespült. Sie wächst");
+static const u8 gBerryDescriptionPart2_Pamtre[] = _("an einem anderen Ort.");
+static const u8 gBerryDescriptionPart1_Watmel[] = _("Eine große BEERE, 25 cm groß.");
+static const u8 gBerryDescriptionPart2_Watmel[] = _("Außergewöhnlich süß.");
+static const u8 gBerryDescriptionPart1_Durin[] = _("Bitter schon ihr Anblick! Sie ist so");
+static const u8 gBerryDescriptionPart2_Durin[] = _("bitter, dass niemand sie pur isst.");
+static const u8 gBerryDescriptionPart1_Belue[] = _("Sie glänzt, sieht zart aus, ist extrem");
+static const u8 gBerryDescriptionPart2_Belue[] = _("sauer und braucht Zeit zum Wachsen.");
+static const u8 gBerryDescriptionPart1_Liechi[] = _("Eine geheimnisvolle BEERE. Man sagt,");
+static const u8 gBerryDescriptionPart2_Liechi[] = _("sie enthalte die Kraft des Meeres.");
+static const u8 gBerryDescriptionPart1_Ganlon[] = _("Eine geheimnisvolle BEERE. Man sagt,");
+static const u8 gBerryDescriptionPart2_Ganlon[] = _("sie enthalte die Kraft des Landes.");
+static const u8 gBerryDescriptionPart1_Salac[] = _("Eine geheimnisvolle BEERE. Man sagt,");
+static const u8 gBerryDescriptionPart2_Salac[] = _("sie enthalte die Kraft des Himmels.");
+static const u8 gBerryDescriptionPart1_Petaya[] = _("Eine geheimnisvolle BEERE. Man sagt,");
+static const u8 gBerryDescriptionPart2_Petaya[] = _("sie enthalte die Kraft allen Lebens.");
+static const u8 gBerryDescriptionPart1_Apicot[] = _("Eine rätselhafte BEERE. Man kann");
+static const u8 gBerryDescriptionPart2_Apicot[] = _("nicht sagen, wie und was sie ist.");
+static const u8 gBerryDescriptionPart1_Lansat[] = _("Eine legendäre BEERE. Sie zu");
+static const u8 gBerryDescriptionPart2_Lansat[] = _("tragen bringt Freude.");
+static const u8 gBerryDescriptionPart1_Starf[] = _("So stark, dass sie an den Rand der");
+static const u8 gBerryDescriptionPart2_Starf[] = _("Welt verbannt wurde. Ein Märchen?");
+static const u8 gBerryDescriptionPart1_Enigma[] = _("Eine enigmatische BEERE. Sie scheint");
+static const u8 gBerryDescriptionPart2_Enigma[] = _("die Macht der Sterne zu besitzen.");
#endif
const struct Berry gBerries[] =
@@ -972,7 +978,7 @@ const struct Berry gBerries[] =
},
};
-const struct BerryTree gBlankBerryTree = {0};
+static const struct BerryTree gBlankBerryTree = {0};
extern u8 S_BerryTree[];
extern u16 gScriptLastTalked;
@@ -980,7 +986,21 @@ extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
extern u16 gSpecialVar_0x8006;
+/*
+ An enigma berry is a type of berry which functions
+ as though it is a custom berry. Because it behaves
+ like its a custom berry, it doesn't hold an identity
+ represented in its icons or descriptions, leaving its
+ information to be decided by the e-reader cards
+ which were intended to deliver these custom
+ berries.
+*/
+
+static u8 CalcBerryYield(struct BerryTree *tree);
+static u16 GetStageDurationByBerryType(u8 berry);
+
// unused
+// this could be static, but making it so causes a compile-time warning.
void ClearEnigmaBerries(void)
{
CpuFill16(0, &gSaveBlock1.enigmaBerry, sizeof(gSaveBlock1.enigmaBerry));
@@ -988,17 +1008,21 @@ void ClearEnigmaBerries(void)
void SetEnigmaBerry(u8 *src)
{
+ // initialize the enigma berry by copying the data from the script.
u32 i;
u8 *dest = (u8*)&gSaveBlock1.enigmaBerry;
for (i = 0; i < sizeof(gSaveBlock1.enigmaBerry); i++)
dest[i] = src[i];
+ // at this point, the description pointer is not yet initialized. we need to initialize it since
+ // we dont know where in memory this is going to be. set the berry desc pointers to the
+ // EnigmaBerry struct's description arrays since these are where the descriptions are stored.
gSaveBlock1.enigmaBerry.berry.description1 = gSaveBlock1.enigmaBerry.description1;
gSaveBlock1.enigmaBerry.berry.description2 = gSaveBlock1.enigmaBerry.description2;
}
-u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
+static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
{
const u8 *description1;
const u8 *description2;
@@ -1006,10 +1030,13 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
u32 checksum;
u8 *dest;
+ // the description pointers could be pointing to anywhere in memory. we do not want these
+ // pointers to factor into the checksum as it will produce a different result every time: so
+ // back the pointers up and set them to null so the checksum is safe to calculate.
description1 = gSaveBlock1.enigmaBerry.berry.description1;
description2 = gSaveBlock1.enigmaBerry.berry.description2;
- gSaveBlock1.enigmaBerry.berry.description1 = 0;
- gSaveBlock1.enigmaBerry.berry.description2 = 0;
+ gSaveBlock1.enigmaBerry.berry.description1 = NULL;
+ gSaveBlock1.enigmaBerry.berry.description2 = NULL;
dest = (u8*)enigmaBerry;
checksum = 0;
@@ -1018,17 +1045,20 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
checksum += dest[i];
}
+ // the checksum is calculated: the descriptions are safe to restore now.
gSaveBlock1.enigmaBerry.berry.description1 = description1;
gSaveBlock1.enigmaBerry.berry.description2 = description2;
return checksum;
}
+// due to e-reader scans being particularly volatile to failure, it is a requirement to check for
+// their integrity here due to scans possibly failing to produce the correct result.
bool32 IsEnigmaBerryValid(void)
{
- if (!gSaveBlock1.enigmaBerry.berry.stageDuration)
+ if (gSaveBlock1.enigmaBerry.berry.stageDuration == 0)
return FALSE;
- if (!gSaveBlock1.enigmaBerry.berry.maxYield)
+ if (gSaveBlock1.enigmaBerry.berry.maxYield == 0)
return FALSE;
if (GetEnigmaBerryChecksum(&gSaveBlock1.enigmaBerry) != gSaveBlock1.enigmaBerry.checksum)
return FALSE;
@@ -1037,37 +1067,51 @@ bool32 IsEnigmaBerryValid(void)
const struct Berry *GetBerryInfo(u8 berry)
{
- if (berry == 0x2B && IsEnigmaBerryValid())
+ // when getting the pointer to the berry info, enigma berries are handled differently. if your
+ // berry is an Enigma Berry and its checksum is valid, fetch the pointer to its information in
+ // the save block.
+ if (berry == GETBERRYID(ITEM_ENIGMA_BERRY) && IsEnigmaBerryValid())
return &gSaveBlock1.enigmaBerry.berry;
else
{
- if (berry == 0 || berry > 0x2B)
- berry = 1;
+ // invalid berries will be flattened into a cheri berry. Interestingly, if your berry was
+ // an enigma berry whos checksum failed, the game will use the Enigma Berry information
+ // for this: meaning if you see the Enigma Berry information, its actually because the
+ // checksum failed.
+ if (berry == BERRY_NONE || berry > GETBERRYID(LAST_BERRY))
+ berry = GETBERRYID(FIRST_BERRY);
return &gBerries[berry - 1];
}
}
-struct BerryTree *GetBerryTreeInfo(u8 id)
+// the save file can handle up to a number of 128 berry trees as indicated by its definition
+// in global.h. Interestingly, this function does not check that limit of 128.
+static struct BerryTree *GetBerryTreeInfo(u8 id)
{
return &gSaveBlock1.berryTrees[id];
}
+// this was called because the berry script was successful: meaning the player chose to
+// water the tree. We need to check for the current tree stage and set the appropriate
+// water flag to true.
bool32 FieldObjectInteractionWaterBerryTree(void)
{
+ // GetBerryTreeInfo does not sanitize the tree retrieved, but there are no known
+ // instances where this can cause problems.
struct BerryTree *tree = GetBerryTreeInfo(FieldObjectGetBerryTreeId(gSelectedMapObject));
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:
@@ -1076,10 +1120,10 @@ bool32 FieldObjectInteractionWaterBerryTree(void)
return TRUE;
}
-bool8 IsPlayerFacingPlantedBerryTree(void)
+bool8 IsPlayerFacingUnplantedSoil(void)
{
- if (GetFieldObjectScriptPointerForComparison() == S_BerryTree
- && GetStageByBerryTreeId(FieldObjectGetBerryTreeId(gSelectedMapObject)) == 0)
+ if (GetFieldObjectScriptPointerPlayerFacing() == S_BerryTree
+ && GetStageByBerryTreeId(FieldObjectGetBerryTreeId(gSelectedMapObject)) == BERRY_STAGE_NO_BERRY)
return TRUE;
else
return FALSE;
@@ -1087,7 +1131,7 @@ bool8 IsPlayerFacingPlantedBerryTree(void)
bool8 TryToWaterBerryTree(void)
{
- if (GetFieldObjectScriptPointerForComparison() != S_BerryTree)
+ if (GetFieldObjectScriptPointerPlayerFacing() != S_BerryTree)
return FALSE;
else
return FieldObjectInteractionWaterBerryTree();
@@ -1099,70 +1143,84 @@ void ClearBerryTrees(void)
struct SaveBlock1 *saveBlock1 = &gSaveBlock1;
struct BerryTree berryTree = gBlankBerryTree;
- for (i = 0; i < (u8)ARRAY_COUNT(saveBlock1->berryTrees); i++) // casting to u8 fixes a mismatched signed compare. what
+ for (i = 0; i < MAX_BERRY_TREES; i++)
saveBlock1->berryTrees[i] = berryTree;
}
-bool32 BerryTreeGrow(struct BerryTree *tree)
+// when the player does not interact with the tree for a period of time, this is called
+// to advance the grow state.
+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;
- if (++tree->regrowthCount == 10)
+ tree->stage = BERRY_STAGE_SPROUTED;
+ if (++tree->regrowthCount == BERRY_REGROW_LIMIT)
*tree = gBlankBerryTree;
break;
}
return TRUE;
}
-void BerryTreeTimeUpdate(s32 minutes)
+void BerryTreeTimeUpdate(s32 minutesPassed)
{
int i;
struct BerryTree *tree;
- for (i = 0; i < (u8)ARRAY_COUNT(gSaveBlock1.berryTrees); i++)
+ for (i = 0; i < MAX_BERRY_TREES; i++)
{
tree = &gSaveBlock1.berryTrees[i];
- if (tree->berry && tree->stage && !tree->growthSparkle)
+ if (tree->berry != BERRY_NONE && tree->stage != BERRY_STAGE_NO_BERRY && tree->growthSparkle == FALSE)
{
- if (minutes >= GetStageDurationByBerryType(tree->berry) * 71)
+ // the player has waited too long to water the berry. Reset the tree. This is because
+ // if the berry state is not in the unwatered state, the tree will grow anyway despite this
+ // check, which means BerryTreeGrow will handle the regrow process for this, removing the
+ // need for this check. This only handles the unwatered soil state.
+ if (minutesPassed >= GetStageDurationByBerryType(tree->berry) * 71)
{
*tree = gBlankBerryTree;
}
else
{
- s32 time = minutes;
+ // because time is altered below, perhaps they thought it was unsafe to change it, even
+ // though that is not how passed arguments behave.
+ s32 time = minutesPassed;
while (time != 0)
{
if (tree->minutesUntilNextStage > time)
{
- tree->minutesUntilNextStage -= time;
+ // its been X minutes since the last berry update, so update
+ // minutesUntilNextStage appropriately to match the time offset
+ // that has passed since the update.
+ tree->minutesUntilNextStage -= time;
break;
}
+ // perform the subtraction the other way around to get the number of minutes since
+ // the inferred stage update that occured, since minutesUntilNextStage is <= time.
+ // we may need this variable to simulate multiple berry cycles in the while loop.
time -= tree->minutesUntilNextStage;
- tree->minutesUntilNextStage = GetStageDurationByBerryType(tree->berry);
- if (!BerryTreeGrow(tree))
+ tree->minutesUntilNextStage = GetStageDurationByBerryType(tree->berry); // since the tree was inferred to update, set the new minutesUntilNextStage.
+ if (BerryTreeGrow(tree) == FALSE)
break;
- if (tree->stage == 5)
+ if (tree->stage == BERRY_STAGE_BERRIES)
tree->minutesUntilNextStage *= 4;
}
}
@@ -1170,7 +1228,7 @@ void BerryTreeTimeUpdate(s32 minutes)
}
}
-void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle)
+void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 noSparkle)
{
struct BerryTree *tree = GetBerryTreeInfo(id);
@@ -1178,12 +1236,12 @@ 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;
}
- if (!sparkle)
+ if (noSparkle == FALSE)
{
tree->growthSparkle = TRUE;
}
@@ -1209,19 +1267,19 @@ u8 ItemIdToBerryType(u16 item)
u16 berry = item - FIRST_BERRY;
if (berry > LAST_BERRY - FIRST_BERRY)
- return 1;
+ return GETBERRYID(FIRST_BERRY);
else
- return item - FIRST_BERRY + 1;
+ return GETBERRYID(item);
}
-u16 BerryTypeToItemId(u16 berry)
+static u16 BerryTypeToItemId(u16 berry)
{
u16 item = berry - 1;
if (item > LAST_BERRY - FIRST_BERRY)
return FIRST_BERRY;
else
- return berry + FIRST_BERRY - 1;
+ return GETITEMID(berry);
}
void GetBerryNameByBerryType(u8 berry, u8 *string)
@@ -1232,10 +1290,10 @@ void GetBerryNameByBerryType(u8 berry, u8 *string)
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;
@@ -1250,18 +1308,20 @@ 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;
u32 rand;
u32 extraYield;
+ // depending on if the player gave the tree plenty of water, berry yield will be affected proportionally.
+
if (water == 0)
return min;
else
@@ -1270,7 +1330,7 @@ u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water)
randMax = (max - min) * (water);
rand = randMin + Random() % (randMax - randMin + 1);
- if ((rand & 3) > 1)
+ if ((rand % 4) > 1)
extraYield = rand / 4 + 1;
else
extraYield = rand / 4;
@@ -1278,7 +1338,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;
@@ -1287,12 +1347,12 @@ u8 CalcBerryYield(struct BerryTree *tree)
return CalcBerryYieldInternal(max, min, BerryTreeGetNumStagesWatered(tree));
}
-u8 GetBerryCountByBerryTreeId(u8 id)
+static u8 GetBerryCountByBerryTreeId(u8 id)
{
return gSaveBlock1.berryTrees[id].berryYield;
}
-u16 GetStageDurationByBerryType(u8 berry)
+static u16 GetStageDurationByBerryType(u8 berry)
{
return GetBerryInfo(berry)->stageDuration * 60;
}
@@ -1301,18 +1361,23 @@ void FieldObjectInteractionGetBerryTreeData(void)
{
u8 id;
u8 berry;
- u8 unk;
+ u8 localId;
u8 group;
u8 num;
id = FieldObjectGetBerryTreeId(gSelectedMapObject);
berry = GetBerryTypeByBerryTreeId(id);
ResetBerryTreeSparkleFlag(id);
- unk = gScriptLastTalked;
+ localId = gScriptLastTalked;
num = gSaveBlock1.location.mapNum;
group = gSaveBlock1.location.mapGroup;
- if (sub_8060234(unk, num, group))
- gSpecialVar_0x8004 = 0xFF;
+ if (IsBerryTreeSparkling(localId, num, group))
+ {
+ // we cannot allow the player to grow/interact with the tree while the tree
+ // is undergoing the sparkling effect, so set the special var to the sparkling
+ // state and let the event script process the flag.
+ gSpecialVar_0x8004 = BERRY_STAGE_SPARKLING;
+ }
else
gSpecialVar_0x8004 = GetStageByBerryTreeId(id);
gSpecialVar_0x8005 = GetNumStagesWateredByBerryTreeId(id);
@@ -1320,7 +1385,7 @@ void FieldObjectInteractionGetBerryTreeData(void)
GetBerryNameByBerryType(berry, gStringVar1);
}
-void sub_80B4EE4(void)
+void Berry_FadeAndGoToBerryBagMenu(void)
{
SetMainCallback2(sub_80A68CC);
}
@@ -1347,11 +1412,13 @@ void FieldObjectInteractionRemoveBerryTree(void)
sub_8060288(gScriptLastTalked, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
}
-u8 PlayerHasBerries(void)
+bool8 PlayerHasBerries(void)
{
return IsBagPocketNonEmpty(BAG_BERRIES);
}
+// whenever the player is not within view of the berry tree during its sparkle state, the
+// sparkle state will be reset.
void ResetBerryTreeSparkleFlags(void)
{
s16 cam_left;
@@ -1369,7 +1436,7 @@ void ResetBerryTreeSparkleFlags(void)
bottom = top + 8;
for (i = 0; i < (u8)ARRAY_COUNT(gSaveBlock1.mapObjects); i++)
{
- if (gMapObjects[i].active && gMapObjects[i].animPattern == 12)
+ if (gMapObjects[i].active && gMapObjects[i].animPattern == 12) // is the object an active berry tree?
{
cam_left = gMapObjects[i].coords2.x;
cam_top = gMapObjects[i].coords2.y;
diff --git a/src/berry_tag_screen.c b/src/field/berry_tag_screen.c
index 1413a02ca..1413a02ca 100644
--- a/src/berry_tag_screen.c
+++ b/src/field/berry_tag_screen.c
diff --git a/src/field/bike.c b/src/field/bike.c
new file mode 100644
index 000000000..e36ae1798
--- /dev/null
+++ b/src/field/bike.c
@@ -0,0 +1,1051 @@
+#include "global.h"
+#include "bike.h"
+#include "field_map_obj.h"
+#include "field_player_avatar.h"
+#include "fieldmap.h"
+#include "flags.h"
+#include "global.fieldmap.h"
+#include "metatile_behavior.h"
+#include "overworld.h"
+#include "songs.h"
+#include "sound.h"
+
+extern bool8 gBikeCyclingChallenge;
+extern u8 gBikeCollisions;
+extern u8 gUnusedBikeCameraAheadPanback;
+
+static void MovePlayerOnMachBike(u8, u16, u16);
+static u8 GetMachBikeTransition(u8 *);
+static void MachBikeTransition_FaceDirection(u8);
+static void MachBikeTransition_TurnDirection(u8);
+static void MachBikeTransition_TrySpeedUp(u8);
+static void MachBikeTransition_TrySlowDown(u8);
+static void MovePlayerOnAcroBike(u8, u16, u16);
+static u8 CheckMovementInputAcroBike(u8 *, u16, u16);
+static u8 AcroBikeHandleInputNormal(u8 *, u16, u16);
+static u8 AcroBikeHandleInputTurning(u8 *, u16, u16);
+static u8 AcroBikeHandleInputWheelieStanding(u8 *, u16, u16);
+static u8 AcroBikeHandleInputBunnyHop(u8 *, u16, u16);
+static u8 AcroBikeHandleInputWheelieMoving(u8 *, u16, u16);
+static u8 AcroBikeHandleInputSidewaysJump(u8 *, u16, u16);
+static u8 AcroBikeHandleInputTurnJump(u8 *, u16, u16);
+static void AcroBikeTransition_FaceDirection(u8);
+static void AcroBikeTransition_TurnDirection(u8);
+static void AcroBikeTransition_Moving(u8);
+static void AcroBikeTransition_NormalToWheelie(u8);
+static void AcroBikeTransition_WheelieToNormal(u8);
+static void AcroBikeTransition_WheelieIdle(u8);
+static void AcroBikeTransition_WheelieHoppingStanding(u8);
+static void AcroBikeTransition_WheelieHoppingMoving(u8);
+static void AcroBikeTransition_SideJump(u8);
+static void AcroBikeTransition_TurnJump(u8);
+static void AcroBikeTransition_WheelieMoving(u8);
+static void AcroBikeTransition_WheelieRisingMoving(u8);
+static void AcroBikeTransition_WheelieLoweringMoving(u8);
+static void AcroBike_TryHistoryUpdate(u16, u16);
+static u8 AcroBike_GetJumpDirection(void);
+static void Bike_UpdateDirTimerHistory(u8);
+static void Bike_UpdateABStartSelectHistory(u8);
+static u8 Bike_DPadToDirection(u16);
+static u8 get_some_collision(u8);
+static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *, s16, s16, u8, u8);
+static bool8 IsRunningDisallowedByMetatile(u8);
+static void Bike_TryAdvanceCyclingRoadCollisions();
+static u8 CanBikeFaceDirOnMetatile(u8, u8);
+static bool8 WillPlayerCollideWithCollision(u8, u8);
+static void Bike_SetBikeStill(void);
+
+/*
+ A bike transition is a type of callback for the bike that actually
+ modifies the bicycle's direction or momentum or otherwise movement.
+ Alternatively, a bike may also have input handlers which process the
+ bike transition to call: the acro bike has input handlers while the mach
+ bike does not. This is because the Acro needs to know the button inputs
+ for its complex tricks and actions.
+*/
+
+static void (*const sMachBikeTransitions[])(u8) =
+{
+ MachBikeTransition_FaceDirection, // Face vs Turn: Face has no anim while Turn does. Turn checks for collision because if you turn right as opposed to face right, if there is a wall there, turn will make a bonk sound effect while face will not.
+ MachBikeTransition_TurnDirection,
+ MachBikeTransition_TrySpeedUp,
+ MachBikeTransition_TrySlowDown,
+};
+
+// bikeFrameCounter is input which is represented by gMachBikeSpeeds in order: 0 is normal speed (1 speed), 1 is fast speed (2 speed), 2 is fastest speed (4 speed)
+static void (*const sMachBikeSpeedCallbacks[])(u8) =
+{
+ PlayerGoSpeed1, // normal speed (1 speed)
+ PlayerGoSpeed2, // fast speed (2 speed)
+ PlayerGoSpeed4, // fastest speed (4 speed)
+};
+
+static void (*const sAcroBikeTransitions[])(u8) =
+{
+ AcroBikeTransition_FaceDirection,
+ AcroBikeTransition_TurnDirection,
+ AcroBikeTransition_Moving,
+ AcroBikeTransition_NormalToWheelie,
+ AcroBikeTransition_WheelieToNormal,
+ AcroBikeTransition_WheelieIdle,
+ AcroBikeTransition_WheelieHoppingStanding,
+ AcroBikeTransition_WheelieHoppingMoving,
+ AcroBikeTransition_SideJump,
+ AcroBikeTransition_TurnJump,
+ AcroBikeTransition_WheelieMoving,
+ AcroBikeTransition_WheelieRisingMoving,
+ AcroBikeTransition_WheelieLoweringMoving,
+};
+
+static u8 (*const sAcroBikeInputHandlers[])(u8 *, u16, u16) =
+{
+ AcroBikeHandleInputNormal,
+ AcroBikeHandleInputTurning,
+ AcroBikeHandleInputWheelieStanding,
+ AcroBikeHandleInputBunnyHop,
+ AcroBikeHandleInputWheelieMoving,
+ AcroBikeHandleInputSidewaysJump,
+ AcroBikeHandleInputTurnJump,
+};
+
+// used with bikeFrameCounter from mach bike
+const u16 gMachBikeSpeeds[] = {SPEED_NORMAL, SPEED_FAST, SPEED_FASTEST};
+
+// this is a list of timers to compare against later, terminated with 0. the only timer being compared against is 4 frames in this list.
+static const u8 AcroBikeJumpTimerList[] = {4, 0};
+
+// this is a list of history inputs to do in order to do the check to retrieve a jump direction for acro bike. it seems to be an extensible list, so its possible that Game Freak may have intended for the Acro Bike to have more complex tricks at some point. The final list only has the acro jump.
+static const struct BikeHistoryInputInfo gAcroBikeTricksList[] =
+{
+ // the 0xF is a mask performed with each byte of the array in order to perform the check on only the last entry of the history list, otherwise the check wouldnt work as there can be 0xF0 as opposed to 0x0F.
+ {DIR_SOUTH, B_BUTTON, 0xF, 0xF, AcroBikeJumpTimerList, AcroBikeJumpTimerList, DIR_SOUTH},
+ {DIR_NORTH, B_BUTTON, 0xF, 0xF, AcroBikeJumpTimerList, AcroBikeJumpTimerList, DIR_NORTH},
+ {DIR_WEST, B_BUTTON, 0xF, 0xF, AcroBikeJumpTimerList, AcroBikeJumpTimerList, DIR_WEST},
+ {DIR_EAST, B_BUTTON, 0xF, 0xF, AcroBikeJumpTimerList, AcroBikeJumpTimerList, DIR_EAST},
+};
+
+void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys)
+{
+ if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE)
+ MovePlayerOnMachBike(direction, newKeys, heldKeys);
+ else
+ MovePlayerOnAcroBike(direction, newKeys, heldKeys);
+}
+
+static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys)
+{
+ sMachBikeTransitions[GetMachBikeTransition(&direction)](direction);
+}
+
+// dirTraveling is a variable that is 0 when the player is standing still.
+static u8 GetMachBikeTransition(u8 *dirTraveling)
+{
+ // if the dir updated before this function, get the relevent new direction to check later.
+ u8 direction = player_get_direction_upper_nybble();
+
+ // is the player standing still?
+ if (*dirTraveling == 0)
+ {
+ *dirTraveling = direction; // update the direction, since below we either faced a direction or we started moving.
+ if (gPlayerAvatar.bikeSpeed == SPEED_STANDING)
+ {
+ gPlayerAvatar.runningState = NOT_MOVING;
+ return MACH_TRANS_FACE_DIRECTION;
+ }
+ gPlayerAvatar.runningState = MOVING;
+ return MACH_TRANS_START_MOVING;
+ }
+
+ // we need to check if the last traveled direction changed from the new direction as well as ensuring that we dont update the state while the player is moving: see the else check.
+ if (*dirTraveling != direction && gPlayerAvatar.runningState != MOVING)
+ {
+ if (gPlayerAvatar.bikeSpeed != SPEED_STANDING)
+ {
+ *dirTraveling = direction; // implement the new direction
+ gPlayerAvatar.runningState = MOVING;
+ return MACH_TRANS_START_MOVING;
+ }
+ // if you didnt start moving but your dir was different, do a turn direction instead.
+ gPlayerAvatar.runningState = TURN_DIRECTION;
+ return MACH_TRANS_TURN_DIRECTION;
+ }
+ else // the player is either going in the current direction and hasnt changed or their state is currently moving.
+ {
+ gPlayerAvatar.runningState = MOVING;
+ return MACH_TRANS_KEEP_MOVING;
+ }
+}
+
+// the difference between face direction and turn direction is that one changes direction while the other does the animation of turning as well as changing direction.
+static void MachBikeTransition_FaceDirection(u8 direction)
+{
+ PlayerFaceDirection(direction);
+ Bike_SetBikeStill();
+}
+
+static void MachBikeTransition_TurnDirection(u8 direction)
+{
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E))
+ {
+ PlayerTurnInPlace(direction);
+ Bike_SetBikeStill();
+ }
+ else
+ {
+ MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18);
+ }
+}
+
+static void MachBikeTransition_TrySpeedUp(u8 direction)
+{
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+ u8 collision;
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == FALSE)
+ {
+ // we cannot go forward, so either slow down or, if we are stopped, idle face direction.
+ if (gPlayerAvatar.bikeSpeed)
+ MachBikeTransition_TrySlowDown(playerMapObj->placeholder18);
+ else
+ MachBikeTransition_FaceDirection(playerMapObj->placeholder18);
+ }
+ else
+ {
+ collision = get_some_collision(direction);
+ if (collision > 0 && collision < 12)
+ {
+ // we hit a solid object, but check to see if its a ledge and then jump.
+ if (collision == COLLISION_LEDGE_JUMP)
+ {
+ PlayerJumpLedge(direction);
+ }
+ else
+ {
+ // we hit a solid object that is not a ledge, so perform the collision.
+ Bike_SetBikeStill();
+ if (collision < 5 || collision > 8)
+ PlayerOnBikeCollide(direction);
+ }
+ }
+ else
+ {
+ // we did not hit anything that can slow us down, so perform the advancement callback depending on the bikeFrameCounter and try to increase the mach bike's speed.
+ sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction);
+ gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // same as dividing by 2, but compiler is insistent on >> 1
+ if (gPlayerAvatar.bikeFrameCounter < 2) // do not go faster than the last element in the mach bike array
+ gPlayerAvatar.bikeFrameCounter++;
+ }
+ }
+}
+
+static void MachBikeTransition_TrySlowDown(u8 var)
+{
+ u8 collision;
+
+ if (gPlayerAvatar.bikeSpeed != SPEED_STANDING)
+ gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.bikeSpeed;
+
+ collision = get_some_collision(var);
+
+ if (collision > 0 && collision < 12)
+ {
+ if (collision == COLLISION_LEDGE_JUMP)
+ {
+ PlayerJumpLedge(var);
+ }
+ else
+ {
+ Bike_SetBikeStill();
+ if (collision < 5 || collision > 8)
+ PlayerOnBikeCollide(var);
+ }
+ }
+ else
+ {
+ sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](var);
+ }
+}
+
+// the acro bike requires the input handler to be executed before the transition can.
+static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys)
+{
+ sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection);
+}
+
+static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys)
+{
+ return sAcroBikeInputHandlers[gPlayerAvatar.acroBikeState](newDirection, newKeys, heldKeys);
+}
+
+static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys)
+{
+ u8 direction = player_get_direction_upper_nybble();
+
+ gPlayerAvatar.bikeFrameCounter = 0;
+ if (*newDirection == DIR_NONE)
+ {
+ if (newKeys & B_BUTTON)
+ {
+ //We're standing still with the B button held.
+ //Do a wheelie.
+ *newDirection = direction;
+ gPlayerAvatar.runningState = NOT_MOVING;
+ gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
+ return ACRO_TRANS_NORMAL_TO_WHEELIE;
+ }
+ else
+ {
+ *newDirection = direction;
+ gPlayerAvatar.runningState = NOT_MOVING;
+ return ACRO_TRANS_FACE_DIRECTION;
+ }
+ }
+ if (*newDirection == direction && (heldKeys & B_BUTTON) && gPlayerAvatar.bikeSpeed == SPEED_STANDING)
+ {
+ gPlayerAvatar.bikeSpeed++;
+ gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING;
+ return ACRO_TRANS_WHEELIE_RISING_MOVING;
+ }
+ if (*newDirection != direction && gPlayerAvatar.runningState != MOVING)
+ {
+ gPlayerAvatar.acroBikeState = ACRO_STATE_TURNING;
+ gPlayerAvatar.newDirBackup = *newDirection;
+ gPlayerAvatar.runningState = NOT_MOVING;
+ return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys);
+ }
+ gPlayerAvatar.runningState = MOVING;
+ return ACRO_TRANS_MOVING;
+}
+
+static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys)
+{
+ u8 direction;
+
+ *newDirection = gPlayerAvatar.newDirBackup;
+ gPlayerAvatar.bikeFrameCounter++;
+
+ // Wait 6 frames before actually changing direction
+ if (gPlayerAvatar.bikeFrameCounter > 6) // ... because it takes 6 frames to advance 1 tile.
+ {
+ gPlayerAvatar.runningState = TURN_DIRECTION;
+ gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
+ Bike_SetBikeStill();
+ return ACRO_TRANS_TURN_DIRECTION;
+ }
+ direction = player_get_direction_upper_nybble();
+ if (*newDirection == AcroBike_GetJumpDirection())
+ {
+ Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump.
+ gPlayerAvatar.bikeSpeed = SPEED_NORMAL;
+ if (*newDirection == GetOppositeDirection(direction))
+ {
+ // do a turn jump.
+ // no need to update runningState, didnt move.
+ gPlayerAvatar.acroBikeState = ACRO_STATE_TURN_JUMP;
+ return ACRO_TRANS_TURN_JUMP;
+ }
+ else
+ {
+ // do a sideways jump.
+ gPlayerAvatar.runningState = MOVING; // we need to move, set state to moving.
+ gPlayerAvatar.acroBikeState = ACRO_STATE_SIDE_JUMP;
+ return ACRO_TRANS_SIDE_JUMP;
+ }
+ }
+ *newDirection = direction;
+ return ACRO_TRANS_FACE_DIRECTION;
+}
+
+static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 heldKeys)
+{
+ u8 direction;
+ struct MapObject *playerMapObj;
+
+ direction = player_get_direction_upper_nybble();
+ playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+ gPlayerAvatar.runningState = NOT_MOVING;
+
+ if (heldKeys & B_BUTTON)
+ gPlayerAvatar.bikeFrameCounter++;
+ else
+ {
+ // B button was released.
+ gPlayerAvatar.bikeFrameCounter = 0;
+ if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
+ {
+ // Go back to normal on flat ground
+ *newDirection = direction;
+ gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
+ Bike_SetBikeStill();
+ return ACRO_TRANS_WHEELIE_TO_NORMAL;
+ }
+ }
+ if (gPlayerAvatar.bikeFrameCounter >= 40)
+ {
+ *newDirection = direction;
+ gPlayerAvatar.acroBikeState = ACRO_STATE_BUNNY_HOP;
+ Bike_SetBikeStill();
+ return ACRO_TRANS_WHEELIE_HOPPING_STANDING;
+ }
+ if (*newDirection == direction)
+ {
+ gPlayerAvatar.runningState = MOVING;
+ gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING;
+ Bike_SetBikeStill();
+ return ACRO_TRANS_WHEELIE_MOVING;
+ }
+ if (*newDirection == 0)
+ {
+ *newDirection = direction;
+ return ACRO_TRANS_WHEELIE_IDLE;
+ }
+ gPlayerAvatar.runningState = TURN_DIRECTION;
+ return ACRO_TRANS_WHEELIE_IDLE;
+}
+
+static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKeys)
+{
+ u8 direction;
+ struct MapObject *playerMapObj;
+
+ direction = player_get_direction_upper_nybble();
+ playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+ if (!(heldKeys & B_BUTTON))
+ {
+ // B button was released
+ Bike_SetBikeStill();
+ if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
+ {
+ // even though B was released, dont undo the wheelie on the bumpy slope.
+ gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
+ return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys);
+ }
+ else
+ {
+ // .. otherwise, go back to normal on flat ground
+ *newDirection = direction;
+ gPlayerAvatar.runningState = NOT_MOVING;
+ gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
+ return ACRO_TRANS_WHEELIE_TO_NORMAL;
+ }
+ }
+
+ // B Button is still held
+
+ if (*newDirection == DIR_NONE)
+ {
+ // we did not move, so keep hopping in place without moving.
+ *newDirection = direction;
+ gPlayerAvatar.runningState = NOT_MOVING;
+ return ACRO_TRANS_WHEELIE_HOPPING_STANDING;
+ }
+ if (*newDirection != direction && gPlayerAvatar.runningState != MOVING)
+ {
+ // we changed direction, so turn but do not move hop.
+ gPlayerAvatar.runningState = TURN_DIRECTION;
+ return ACRO_TRANS_WHEELIE_HOPPING_STANDING;
+ }
+ // otherwise, we started moving while hopping
+ gPlayerAvatar.runningState = MOVING;
+ return ACRO_TRANS_WHEELIE_HOPPING_MOVING;
+}
+
+static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 heldKeys)
+{
+ u8 direction;
+ struct MapObject *playerMapObj;
+
+ direction = player_get_direction_lower_nybble();
+ playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+ if (!(heldKeys & B_BUTTON))
+ {
+ // we were moving on a wheelie, but we let go while moving. reset bike still status
+ Bike_SetBikeStill();
+ if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
+ {
+ // we let go of B and arent on a bumpy slope, set state to normal because now we need to handle this
+ gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
+ if (*newDirection == DIR_NONE)
+ {
+ // we stopped moving but are turning, still try to lower the wheelie in place.
+ *newDirection = direction;
+ gPlayerAvatar.runningState = NOT_MOVING;
+ return ACRO_TRANS_WHEELIE_TO_NORMAL;
+ }
+ if (*newDirection != direction && gPlayerAvatar.runningState != MOVING)
+ {
+ // we did not turn while lowering wheelie, so do so without turning.
+ gPlayerAvatar.runningState = NOT_MOVING;
+ return ACRO_TRANS_WHEELIE_TO_NORMAL;
+ }
+ // if we are moving while lowering wheelie, put the acro into a lowering state while moving.
+ gPlayerAvatar.runningState = MOVING;
+ return ACRO_TRANS_WHEELIE_LOWERING_MOVING;
+ }
+ // please do not undo the wheelie on a bumpy slope
+ gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
+ return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys);
+ }
+ // we are still holding B.
+ if (*newDirection == DIR_NONE)
+ {
+ // idle the wheelie in place because we're holding B without moving.
+ *newDirection = direction;
+ gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
+ gPlayerAvatar.runningState = NOT_MOVING;
+ Bike_SetBikeStill();
+ return ACRO_TRANS_WHEELIE_IDLE;
+ }
+ if (direction != *newDirection && gPlayerAvatar.runningState != MOVING)
+ {
+ gPlayerAvatar.runningState = NOT_MOVING;
+ return ACRO_TRANS_WHEELIE_IDLE;
+ }
+ gPlayerAvatar.runningState = MOVING;
+ return ACRO_TRANS_WHEELIE_MOVING;
+}
+
+static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys)
+{
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ playerMapObj->mapobj_bit_9 = 0;
+ FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18);
+ gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
+ return CheckMovementInputAcroBike(ptr, newKeys, heldKeys);
+}
+
+static u8 AcroBikeHandleInputTurnJump(u8 *ptr, u16 newKeys, u16 heldKeys)
+{
+ gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
+ return CheckMovementInputAcroBike(ptr, newKeys, heldKeys);
+}
+
+static void AcroBikeTransition_FaceDirection(u8 direction)
+{
+ PlayerFaceDirection(direction);
+}
+
+static void AcroBikeTransition_TurnDirection(u8 direction)
+{
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ direction = playerMapObj->placeholder18;
+ PlayerFaceDirection(direction);
+}
+
+static void AcroBikeTransition_Moving(u8 direction)
+{
+ u8 collision;
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ {
+ AcroBikeTransition_FaceDirection(playerMapObj->placeholder18);
+ return;
+ }
+ collision = get_some_collision(direction);
+ if (collision > 0 && collision < 12)
+ {
+ if (collision == COLLISION_LEDGE_JUMP)
+ PlayerJumpLedge(direction);
+ else if (collision < 5 || collision > 8)
+ PlayerOnBikeCollide(direction);
+ }
+ else
+ {
+ npc_use_some_d2s(direction);
+ }
+}
+
+static void AcroBikeTransition_NormalToWheelie(u8 direction)
+{
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ direction = playerMapObj->placeholder18;
+ PlayerStartWheelie(direction);
+}
+
+static void AcroBikeTransition_WheelieToNormal(u8 direction)
+{
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ direction = playerMapObj->placeholder18;
+ PlayerEndWheelie(direction);
+}
+
+static void AcroBikeTransition_WheelieIdle(u8 direction)
+{
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ direction = playerMapObj->placeholder18;
+ PlayerIdleWheelie(direction);
+}
+
+static void AcroBikeTransition_WheelieHoppingStanding(u8 direction)
+{
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ direction = playerMapObj->placeholder18;
+ PlayerStandingHoppingWheelie(direction);
+}
+
+static void AcroBikeTransition_WheelieHoppingMoving(u8 direction)
+{
+ u8 var;
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ {
+ AcroBikeTransition_WheelieHoppingStanding(playerMapObj->placeholder18);
+ return;
+ }
+ var = get_some_collision(direction);
+ //TODO: Try to get rid of this goto
+ if (var == 0 || var == 9)
+ {
+ goto derp;
+ }
+ else if (var == 6)
+ {
+ PlayerLedgeHoppingWheelie(direction);
+ }
+ else if (var < 5 || var > 8)
+ {
+ if (var <= 11)
+ {
+ AcroBikeTransition_WheelieHoppingStanding(direction);
+ }
+ else
+ {
+ derp:
+ PlayerMovingHoppingWheelie(direction);
+ }
+ }
+}
+
+static void AcroBikeTransition_SideJump(u8 direction)
+{
+ u8 var;
+ struct MapObject *playerMapObj;
+
+ var = get_some_collision(direction);
+ if (var != 0)
+ {
+ if (var == 7)
+ return;
+ if (var < 10)
+ {
+ AcroBikeTransition_TurnDirection(direction);
+ return;
+ }
+ if (WillPlayerCollideWithCollision(var, direction) == FALSE)
+ {
+ AcroBikeTransition_TurnDirection(direction);
+ return;
+ }
+ }
+ playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+ PlaySE(SE_JITE_PYOKO);
+ playerMapObj->mapobj_bit_9 = 1;
+ PlayerSetAnimId(sub_80608A4(direction), 2);
+}
+
+static void AcroBikeTransition_TurnJump(u8 direction)
+{
+ PlayerAcroTurnJump(direction);
+}
+
+static void AcroBikeTransition_WheelieMoving(u8 direction)
+{
+ u8 var;
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ {
+ PlayerIdleWheelie(playerMapObj->placeholder18);
+ return;
+ }
+ var = get_some_collision(direction);
+ if (var > 0 && var < 12)
+ {
+ if (var == 6)
+ {
+ PlayerLedgeHoppingWheelie(direction);
+ }
+ else if (var == 9)
+ {
+ PlayerIdleWheelie(direction);
+ }
+ else if (var <= 4)
+ {
+ if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
+ PlayerIdleWheelie(direction);
+ else
+ sub_80595DC(direction); //hit wall?
+ }
+ return;
+ }
+ sub_8059618(direction);
+ gPlayerAvatar.runningState = MOVING;
+}
+
+static void AcroBikeTransition_WheelieRisingMoving(u8 direction)
+{
+ u8 var;
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ {
+ PlayerStartWheelie(playerMapObj->placeholder18);
+ return;
+ }
+ var = get_some_collision(direction);
+ if (var > 0 && var < 12)
+ {
+ if (var == 6)
+ {
+ PlayerLedgeHoppingWheelie(direction);
+ }
+ else if (var == 9)
+ {
+ PlayerIdleWheelie(direction);
+ }
+ else if (var <= 4)
+ {
+ if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E))
+ PlayerIdleWheelie(direction);
+ else
+ sub_80595DC(direction); //hit wall?
+ }
+ return;
+ }
+ sub_8059600(direction);
+ gPlayerAvatar.runningState = MOVING;
+}
+
+static void AcroBikeTransition_WheelieLoweringMoving(u8 direction)
+{
+ u8 var;
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0)
+ {
+ PlayerEndWheelie(playerMapObj->placeholder18);
+ return;
+ }
+ var = get_some_collision(direction);
+ if (var > 0 && var < 12)
+ {
+ if (var == 6)
+ PlayerJumpLedge(direction);
+ else if (var < 5 || var > 8)
+ PlayerEndWheelie(direction);
+ return;
+ }
+ sub_8059630(direction);
+}
+
+void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys)
+{
+ if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)
+ AcroBike_TryHistoryUpdate(newKeys, heldKeys);
+}
+
+static void AcroBike_TryHistoryUpdate(u16 newKeys, u16 heldKeys) // newKeys is unused
+{
+ u8 direction = Bike_DPadToDirection(heldKeys);
+
+ if (direction == (gPlayerAvatar.directionHistory & 0xF))
+ {
+ // increment the timer for direction history since last input.
+ if (gPlayerAvatar.dirTimerHistory[0] < 0xFF)
+ gPlayerAvatar.dirTimerHistory[0]++;
+ }
+ else
+ {
+ Bike_UpdateDirTimerHistory(direction);
+ gPlayerAvatar.bikeSpeed = SPEED_STANDING;
+ }
+
+ direction = heldKeys & (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON); // directions is reused for some reason.
+ if (direction == (gPlayerAvatar.abStartSelectHistory & 0xF))
+ {
+ if (gPlayerAvatar.abStartSelectTimerHistory[0] < 0xFF)
+ gPlayerAvatar.abStartSelectTimerHistory[0]++;
+ }
+ else
+ {
+ Bike_UpdateABStartSelectHistory(direction);
+ gPlayerAvatar.bikeSpeed = SPEED_STANDING;
+ }
+}
+
+static bool8 HasPlayerInputTakenLongerThanList(const u8 *dirTimerList, const u8 *abStartSelectTimerList)
+{
+ u8 i;
+
+ for (i = 0; dirTimerList[i] != 0; i++)
+ {
+ if (gPlayerAvatar.dirTimerHistory[i] > dirTimerList[i])
+ return FALSE;
+ }
+ for (i = 0; abStartSelectTimerList[i] != 0; i++)
+ {
+ if (gPlayerAvatar.abStartSelectTimerHistory[i] > abStartSelectTimerList[i])
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static u8 AcroBike_GetJumpDirection(void)
+{
+ u32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ const struct BikeHistoryInputInfo *historyInputInfo = &gAcroBikeTricksList[i];
+ u32 dirHistory = gPlayerAvatar.directionHistory;
+ u32 abStartSelectHistory = gPlayerAvatar.abStartSelectHistory;
+
+ dirHistory &= historyInputInfo->dirHistoryMask;
+ abStartSelectHistory &= historyInputInfo->abStartSelectHistoryMask;
+ if (dirHistory == historyInputInfo->dirHistoryMatch && abStartSelectHistory == historyInputInfo->abStartSelectHistoryMatch && HasPlayerInputTakenLongerThanList(historyInputInfo->dirTimerHistoryList, historyInputInfo->abStartSelectHistoryList))
+ return historyInputInfo->direction;
+ }
+ return 0;
+}
+
+static void Bike_UpdateDirTimerHistory(u8 dir)
+{
+ u8 i;
+
+ gPlayerAvatar.directionHistory = (gPlayerAvatar.directionHistory << 4) | (dir & 0xF);
+
+ for (i = 7; i != 0; i--)
+ gPlayerAvatar.dirTimerHistory[i] = gPlayerAvatar.dirTimerHistory[i - 1];
+ gPlayerAvatar.dirTimerHistory[0] = 1;
+}
+
+static void Bike_UpdateABStartSelectHistory(u8 input)
+{
+ u8 i;
+
+ gPlayerAvatar.abStartSelectHistory = (gPlayerAvatar.abStartSelectHistory << 4) | (input & 0xF);
+
+ for (i = 7; i != 0; i--)
+ gPlayerAvatar.abStartSelectTimerHistory[i] = gPlayerAvatar.abStartSelectTimerHistory[i - 1];
+ gPlayerAvatar.abStartSelectTimerHistory[0] = 1;
+}
+
+static u8 Bike_DPadToDirection(u16 heldKeys)
+{
+ if (heldKeys & DPAD_UP)
+ return DIR_NORTH;
+ if (heldKeys & DPAD_DOWN)
+ return DIR_SOUTH;
+ if (heldKeys & DPAD_LEFT)
+ return DIR_WEST;
+ if (heldKeys & DPAD_RIGHT)
+ return DIR_EAST;
+ return DIR_NONE;
+}
+
+static u8 get_some_collision(u8 direction)
+{
+ s16 x;
+ s16 y;
+ u8 metatitleBehavior;
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+
+ x = playerMapObj->coords2.x;
+ y = playerMapObj->coords2.y;
+ MoveCoords(direction, &x, &y);
+ metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y);
+ return Bike_CheckCollisionTryAdvanceCollisionCount(playerMapObj, x, y, direction, metatitleBehavior);
+}
+
+static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *mapObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior)
+{
+ u8 collision = CheckForFieldObjectCollision(mapObject, x, y, direction, metatitleBehavior);
+
+ if (collision > 4)
+ return collision;
+
+ if (collision == 0 && IsRunningDisallowedByMetatile(metatitleBehavior))
+ collision = 2;
+
+ if (collision)
+ Bike_TryAdvanceCyclingRoadCollisions();
+
+ return collision;
+}
+
+bool8 IsRunningDisallowed(u8 tile)
+{
+ if (IsRunningDisallowedByMetatile(tile) != FALSE || gMapHeader.mapType == MAP_TYPE_INDOOR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static bool8 IsRunningDisallowedByMetatile(u8 tile)
+{
+ if (MetatileBehavior_IsRunningDisallowed(tile))
+ return TRUE;
+ if (MetatileBehavior_IsFortreeBridge(tile) && (PlayerGetZCoord() & 1) == 0)
+ return TRUE;
+ return FALSE;
+}
+
+static void Bike_TryAdvanceCyclingRoadCollisions(void)
+{
+ if (gBikeCyclingChallenge != FALSE && gBikeCollisions < 100)
+ gBikeCollisions++;
+}
+
+static bool8 CanBikeFaceDirOnMetatile(u8 direction, u8 tile)
+{
+ if (direction == DIR_EAST || direction == DIR_WEST)
+ {
+ //Bike cannot face east or west on a vertical rail
+ if (MetatileBehavior_IsIsolatedVerticalRail(tile)
+ || MetatileBehavior_IsVerticalRail(tile))
+ return FALSE;
+ }
+ else
+ {
+ //Bike cannot face north or south on a horizontal rail
+ if (MetatileBehavior_IsIsolatedHorizontalRail(tile)
+ || MetatileBehavior_IsHorizontalRail(tile))
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static bool8 WillPlayerCollideWithCollision(u8 newTileCollision, u8 direction)
+{
+ if (direction == DIR_NORTH || direction == DIR_SOUTH)
+ {
+ if (newTileCollision == 10 || newTileCollision == 12)
+ return FALSE;
+ }
+ else if (newTileCollision == 11 || newTileCollision == 13)
+ {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 IsBikingDisallowedByPlayer(void)
+{
+ s16 x, y;
+ u8 tileBehavior;
+
+ if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4)))
+ {
+ PlayerGetDestCoords(&x, &y);
+ tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
+ if (!IsRunningDisallowedByMetatile(tileBehavior))
+ return FALSE;
+ }
+ return TRUE;
+}
+
+bool8 player_should_look_direction_be_enforced_upon_movement(void)
+{
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) != FALSE)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+void GetOnOffBike(u8 var)
+{
+ gUnusedBikeCameraAheadPanback = FALSE;
+
+ if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
+ {
+ SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
+ Overworld_ClearSavedMusic();
+ Overworld_PlaySpecialMapMusic();
+ }
+ else
+ {
+ SetPlayerAvatarTransitionFlags(var);
+ Overworld_SetSavedMusic(BGM_CYCLING);
+ Overworld_ChangeMusicTo(BGM_CYCLING);
+ }
+}
+
+void BikeClearState(int newDirHistory, int newAbStartHistory)
+{
+ u8 i;
+
+ gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
+ gPlayerAvatar.newDirBackup = DIR_NONE;
+ gPlayerAvatar.bikeFrameCounter = 0;
+ gPlayerAvatar.bikeSpeed = SPEED_STANDING;
+ gPlayerAvatar.directionHistory = newDirHistory;
+ gPlayerAvatar.abStartSelectHistory = newAbStartHistory;
+
+ for (i = 0; i < 8; i++)
+ gPlayerAvatar.dirTimerHistory[i] = 0;
+
+ for (i = 0; i < 8; i++)
+ gPlayerAvatar.abStartSelectTimerHistory[i] = 0;
+}
+
+void Bike_UpdateBikeCounterSpeed(u8 counter)
+{
+ gPlayerAvatar.bikeFrameCounter = counter;
+ gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // lazy way of multiplying by 1.5.
+}
+
+static void Bike_SetBikeStill(void)
+{
+ gPlayerAvatar.bikeFrameCounter = 0;
+ gPlayerAvatar.bikeSpeed = SPEED_STANDING;
+}
+
+s16 GetPlayerSpeed(void)
+{
+ // because the player pressed a direction, it won't ever return a speed of 0 since this function returns the player's current speed.
+ s16 machSpeeds[3];
+
+ memcpy(machSpeeds, gMachBikeSpeeds, sizeof(machSpeeds));
+
+ if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE)
+ return machSpeeds[gPlayerAvatar.bikeFrameCounter];
+ else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)
+ return SPEED_FASTER;
+ else if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_DASH))
+ return SPEED_FAST;
+ else
+ return SPEED_NORMAL;
+}
+
+void Bike_HandleBumpySlopeJump(void)
+{
+ s16 x, y;
+ u8 tileBehavior;
+
+ if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)
+ {
+ PlayerGetDestCoords(&x, &y);
+ tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
+ if (MetatileBehavior_IsBumpySlope(tileBehavior))
+ {
+ gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
+ sub_8059C94(player_get_direction_upper_nybble());
+ }
+ }
+}
diff --git a/src/birch_pc.c b/src/field/birch_pc.c
index 5fb6427c3..9872dd54d 100644
--- a/src/birch_pc.c
+++ b/src/field/birch_pc.c
@@ -91,15 +91,15 @@ const u8 *GetPokedexRatingText(u16 count)
return gBirchDexRatingText_LessThan200;
if (count == 200)
{
- if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1)
- || GetNationalPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // Jirachi or Deoxys is not counted towards the dex completion. If either of these flags are enabled, it means the actual count is less than 200.
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1)
+ || GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // Jirachi or Deoxys is not counted towards the dex completion. If either of these flags are enabled, it means the actual count is less than 200.
return gBirchDexRatingText_LessThan200;
return gBirchDexRatingText_DexCompleted;
}
if (count == 201)
{
- if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1)
- && GetNationalPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // If both of these flags are enabled, it means the actual count is less than 200.
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1)
+ && GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // If both of these flags are enabled, it means the actual count is less than 200.
return gBirchDexRatingText_LessThan200;
return gBirchDexRatingText_DexCompleted;
}
diff --git a/src/braille_puzzles.c b/src/field/braille_puzzles.c
index b11b1ff3a..b11b1ff3a 100644
--- a/src/braille_puzzles.c
+++ b/src/field/braille_puzzles.c
diff --git a/src/choose_party.c b/src/field/choose_party.c
index 9cdf63fc8..adb210e7b 100644
--- a/src/choose_party.c
+++ b/src/field/choose_party.c
@@ -18,71 +18,23 @@
#include "task.h"
#include "text.h"
-struct UnknownPokemonStruct2
-{
- /*0x00*/ u16 species;
- /*0x02*/ u16 heldItem;
- /*0x04*/ u8 nickname[11];
- /*0x0F*/ u8 level;
- /*0x10*/ u16 hp;
- /*0x12*/ u16 maxhp;
- /*0x14*/ u32 status;
- /*0x18*/ u32 personality;
- /*0x1C*/ u8 gender;
- /*0x1D*/ u8 language;
-};
-
extern u8 gPlayerPartyCount;
extern u8 gLastFieldPokeMenuOpened;
extern u8 gUnknown_020384F0;
extern struct UnknownPokemonStruct2 gUnknown_02023A00[];
extern u8 gUnknown_0202E8F6;
extern struct Pokemon gUnknown_030042FC[];
-extern const u16 gBattleTowerBanlist[];
+extern const u16 gBattleTowerBannedSpecies[];
EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0};
-extern void OpenPartyMenu();
-extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *);
-extern void LoadHeldItemIconGraphics(void);
-extern void CreateHeldItemIcons_806DC34();
extern u8 sub_806BD58(u8, u8);
extern void PartyMenuPrintMonsLevelOrStatus(void);
-extern void PrintPartyMenuMonNicknames(void);
extern void sub_806BC3C(u8, u8);
-extern u8 sub_806B58C(u8);
-extern u16 sub_806BE38();
-extern u8 sub_806CA38();
-extern TaskFunc PartyMenuGetPopupMenuFunc(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, u8);
-extern u8 sub_806B124();
-extern void sub_806C994();
-extern void sub_806C658();
-extern void sub_806AEDC(void);
-extern void sub_806AF4C();
extern void ShowPokemonSummaryScreen(struct Pokemon *, u8, u8, void (*)(void), int);
-extern void sub_806C890();
-extern void sub_806D5A4();
-extern void sub_806B908(void);
-extern void CreateMonIcon_806D99C(int, u8, int, struct UnknownPokemonStruct2 *);
-extern void sub_806D50C(int, u8);
-extern void CreatePartyMenuMonIcon();
-extern void CreateHeldItemIcon_806DCD4(int, u8, int);
extern u8 GetMonStatusAndPokerus();
extern void PartyMenuPrintHP();
-extern void PartyMenuPutStatusTilemap(u8, int, u8);
-extern void PartyMenuPrintLevel();
-extern void PartyMenuPutNicknameTilemap();
-extern void PrintPartyMenuMonNickname();
-extern void PartyMenuDrawHPBar();
extern bool8 sub_80F9344(void);
-extern void sub_806D4AC();
-extern void sub_806D3B4();
-extern void PartyMenuDoPrintLevel(u8, u8, u8);
-extern void PartyMenuDoDrawHPBar(u8, u8, u16, u16);
-extern void PartyMenuDoPutNicknameTilemap(u16, u8, u8, u8, const u8 *);
-extern void box_print(u8, int, const u8 *);
-extern void sub_806BCE8(void);
-extern void sub_806E750(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, int);
static void ClearPartySelection(void);
static bool8 IsMonAllowedInBattleTower(struct Pokemon *);
@@ -106,14 +58,14 @@ void sub_8121E10(void)
{
ClearPartySelection();
ewram1B000.unk263 = 0;
- OpenPartyMenu(4, 0);
+ OpenPartyMenu(PARTY_MENU_TYPE_BATTLE_TOWER, 0);
}
void sub_8121E34(void)
{
ClearPartySelection();
ewram1B000.unk263 = 1;
- OpenPartyMenu(4, 0);
+ OpenPartyMenu(PARTY_MENU_TYPE_BATTLE_TOWER, 0);
}
static void ClearPartySelection(void)
@@ -124,50 +76,50 @@ static void ClearPartySelection(void)
gSelectedOrderFromParty[i] = 0;
}
-bool8 sub_8121E78(void)
+bool8 SetupBattleTowerPartyMenu(void)
{
u8 i;
- switch (ewram1B000_alt.unk264)
+ switch (ewram1B000_alt.setupState)
{
case 0:
- if (ewram1B000_alt.unk266 < gPlayerPartyCount)
+ if (ewram1B000_alt.monIndex < gPlayerPartyCount)
{
- TryCreatePartyMenuMonIcon(ewram1B000_alt.unk260, ewram1B000_alt.unk266, &gPlayerParty[ewram1B000_alt.unk266]);
- ewram1B000_alt.unk266++;
+ TryCreatePartyMenuMonIcon(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex, &gPlayerParty[ewram1B000_alt.monIndex]);
+ ewram1B000_alt.monIndex++;
}
else
{
- ewram1B000_alt.unk266 = 0;
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState++;
}
break;
case 1:
LoadHeldItemIconGraphics();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 2:
- CreateHeldItemIcons_806DC34(ewram1B000_alt.unk260);
- ewram1B000_alt.unk264++;
+ CreateHeldItemIcons_806DC34(ewram1B000_alt.menuHandlerTaskId);
+ ewram1B000_alt.setupState++;
break;
case 3:
- if (sub_806BD58(ewram1B000_alt.unk260, ewram1B000_alt.unk266) == 1)
+ if (sub_806BD58(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex) == 1)
{
- ewram1B000_alt.unk266 = 0;
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState++;
}
else
{
- ewram1B000_alt.unk266++;
+ ewram1B000_alt.monIndex++;
}
break;
case 4:
PartyMenuPrintMonsLevelOrStatus();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 5:
PrintPartyMenuMonNicknames();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 6:
for (i = 0; i < gPlayerPartyCount; i++)
@@ -190,18 +142,18 @@ bool8 sub_8121E78(void)
sub_806BC3C(i, 0x7E);
}
}
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 7:
- if (sub_806B58C(ewram1B000_alt.unk266) == 1)
+ if (DrawPartyMonBackground(ewram1B000_alt.monIndex) == 1)
{
- ewram1B000_alt.unk266 = 0;
- ewram1B000_alt.unk264 = 0;
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState = 0;
return TRUE;
}
else
{
- ewram1B000_alt.unk266++;
+ ewram1B000_alt.monIndex++;
}
break;
}
@@ -224,15 +176,15 @@ static bool8 IsMonAllowedInBattleTower(struct Pokemon *pkmn)
return TRUE;
}
- if ((gSaveBlock2.filler_A8.var_4AC & 1) == 0
+ if ((gSaveBlock2.battleTower.battleTowerLevelType) == 0
&& GetMonData(pkmn, MON_DATA_LEVEL) > 50)
return FALSE;
// Check if the pkmn is in the ban list
species = GetMonData(pkmn, MON_DATA_SPECIES);
- while (gBattleTowerBanlist[i] != 0xFFFF)
+ while (gBattleTowerBannedSpecies[i] != 0xFFFF)
{
- if (gBattleTowerBanlist[i] == species)
+ if (gBattleTowerBannedSpecies[i] == species)
return FALSE;
i++;
}
@@ -273,7 +225,7 @@ static void BattleTowerEntryMenuCallback_Enter(u8);
static void BattleTowerEntryMenuCallback_NoEntry(u8);
static void BattleTowerEntryMenuCallback_Exit(u8);
-static const struct PartyMenuItem sBattleTowerEntryMenuItems[] =
+static const struct MenuAction2 sBattleTowerEntryMenuItems[] =
{
{OtherText_Summary, BattleTowerEntryMenuCallback_Summary},
{OtherText_Enter2, BattleTowerEntryMenuCallback_Enter},
@@ -307,34 +259,34 @@ static bool8 IsPartyMemberAlreadySelected(u8 partyMember)
static void sub_81221F8(u8 taskId)
{
- sub_806D538(5, 1);
+ PrintPartyMenuPromptText(5, 1);
if (IsMonAllowedInBattleTower(&gPlayerParty[gLastFieldPokeMenuOpened]) == TRUE)
{
if (IsPartyMemberAlreadySelected(gLastFieldPokeMenuOpened + 1) == TRUE)
{
gTasks[taskId].data[4] = 1;
- sub_806E750(1, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0);
+ ShowPartyPopupMenu(1, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0);
}
else
{
gTasks[taskId].data[4] = 0;
- sub_806E750(0, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0);
+ ShowPartyPopupMenu(0, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0);
}
}
else
{
gTasks[taskId].data[4] = 2;
- sub_806E750(2, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0);
+ ShowPartyPopupMenu(2, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0);
}
}
-void sub_81222B0(u8 taskId)
+void HandleBattleTowerPartyMenu(u8 taskId)
{
if (!gPaletteFade.active)
{
- switch (sub_806BE38(taskId))
+ switch (HandleBattleTowerPartyMenuInput(taskId))
{
- case 1:
+ case A_BUTTON:
PlaySE(SE_SELECT);
gLastFieldPokeMenuOpened = sub_806CA38(taskId);
if (gLastFieldPokeMenuOpened != 6)
@@ -349,7 +301,7 @@ void sub_81222B0(u8 taskId)
}
sub_808B5B4(taskId);
break;
- case 2:
+ case B_BUTTON:
PlaySE(SE_SELECT);
ClearPartySelection();
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
@@ -426,7 +378,7 @@ static void sub_81224A8(u8 taskId)
if (val != 0xFF)
{
- sub_806D538(val, 0);
+ PrintPartyMenuPromptText(val, 0);
gTasks[taskId].func = sub_8122480;
}
else
@@ -439,7 +391,7 @@ static void sub_81224A8(u8 taskId)
else
{
PlaySE(SE_HAZURE);
- sub_806D538(14, 0);
+ PrintPartyMenuPromptText(14, 0);
gTasks[taskId].func = sub_8122480;
}
}
@@ -450,14 +402,14 @@ static void sub_8122530(void)
{
while (1)
{
- if (sub_806B124() == 1)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(ewram1B000.unk260, gUnknown_020384F0);
- sub_806C658(ewram1B000.unk260, 0);
+ sub_806C994(ewram1B000.menuHandlerTaskId, gUnknown_020384F0);
+ ChangeBattleTowerPartyMenuSelection(ewram1B000.menuHandlerTaskId, 0);
GetMonNickname(&gPlayerParty[gUnknown_020384F0], gStringVar1);
gLastFieldPokeMenuOpened = gUnknown_020384F0;
- sub_81221F8(ewram1B000.unk260);
- SetMainCallback2(sub_806AEDC);
+ sub_81221F8(ewram1B000.menuHandlerTaskId);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == 1)
@@ -468,7 +420,7 @@ static void sub_8122530(void)
static void sub_81225A4(void)
{
gPaletteFade.bufferTransferDisabled = TRUE;
- sub_806AF4C(4, 0xFF, sub_812238C, 5);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_BATTLE_TOWER, 0xFF, sub_812238C, 5);
SetMainCallback2(sub_8122530);
}
@@ -503,7 +455,7 @@ static void BattleTowerEntryMenuCallback_Enter(u8 taskId)
gSelectedOrderFromParty[i] = gLastFieldPokeMenuOpened + 1;
sub_806BC3C(gLastFieldPokeMenuOpened, i * 14 + 0x1C);
if (i == 2)
- sub_806C890(taskId);
+ SelectBattleTowerOKButton(taskId);
BattleTowerEntryMenuCallback_Exit(taskId);
return;
}
@@ -565,8 +517,8 @@ static void sub_81227FC(u8 taskId)
{
MenuZeroFillWindowRect(20, 10, 29, 19);
HandleDestroyMenuCursors();
- sub_806D538(0, 0);
- gTasks[taskId].func = sub_81222B0;
+ PrintPartyMenuPromptText(0, 0);
+ gTasks[taskId].func = HandleBattleTowerPartyMenu;
}
static void BattleTowerEntryMenuCallback_Exit(u8 taskId)
@@ -575,25 +527,25 @@ static void BattleTowerEntryMenuCallback_Exit(u8 taskId)
sub_81227FC(taskId);
}
-bool8 sub_8122854(void)
+bool8 SetupLinkMultiBattlePartyMenu(void)
{
- switch (ewram1B000_alt.unk264)
+ switch (ewram1B000_alt.setupState)
{
case 0:
- sub_81228E8(ewram1B000_alt.unk260);
- ewram1B000_alt.unk264++;
+ sub_81228E8(ewram1B000_alt.menuHandlerTaskId);
+ ewram1B000_alt.setupState++;
break;
case 1:
LoadHeldItemIconGraphics();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 2:
- sub_8122950(ewram1B000_alt.unk260);
- ewram1B000_alt.unk264++;
+ sub_8122950(ewram1B000_alt.menuHandlerTaskId);
+ ewram1B000_alt.setupState++;
break;
case 3:
sub_81229B8();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 4:
sub_806B908();
@@ -612,7 +564,7 @@ static void sub_81228E8(u8 a)
CreatePartyMenuMonIcon(a, i, 3, &gPlayerParty[i]);
if (gUnknown_02023A00[i].species != 0)
{
- CreateMonIcon_806D99C(a, i + 3, 3, &gUnknown_02023A00[i]);
+ CreateMonIcon_LinkMultiBattle(a, i + 3, 3, &gUnknown_02023A00[i]);
sub_806D50C(a, i + 3);
}
}
@@ -651,14 +603,14 @@ static void sub_81229B8(void)
PartyMenuPutStatusTilemap(i, 3, status - 1);
else
PartyMenuPrintLevel(i, 3, &gPlayerParty[i]);
- PartyMenuPutNicknameTilemap(i, 3, &gPlayerParty[i]);
+ PartyMenuPrintGenderIcon(i, 3, &gPlayerParty[i]);
PrintPartyMenuMonNickname(i, 3, &gPlayerParty[i]);
PartyMenuDrawHPBar(i, 3, &gPlayerParty[i]);
}
}
}
-void sub_8122A48(u8 taskId)
+void HandleLinkMultiBattlePartyMenu(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -701,11 +653,11 @@ static void sub_8122B10(u8 taskId)
PartyMenuPutStatusTilemap(i + 3, 3, r2 - 1);
else
PartyMenuDoPrintLevel(i + 3, 3, gUnknown_02023A00[i].level);
- PartyMenuDoPutNicknameTilemap(gUnknown_02023A00[i].species, gUnknown_02023A00[i].gender, 3, i + 3, gUnknown_02023A00[i].nickname);
+ PartyMenuDoPrintGenderIcon(gUnknown_02023A00[i].species, gUnknown_02023A00[i].gender, 3, i + 3, gUnknown_02023A00[i].nickname);
StringCopy(gStringVar1, gUnknown_02023A00[i].nickname);
StringGetEnd10(gStringVar1);
SanitizeNameString(gStringVar1);
- box_print(i + 3, 3, gStringVar1);
+ PartyMenuDoPrintMonNickname(i + 3, 3, gStringVar1);
PartyMenuDoDrawHPBar(i + 3, 3, gUnknown_02023A00[i].hp, gUnknown_02023A00[i].maxhp);
}
}
@@ -723,64 +675,64 @@ static void sub_8122C18(u8 taskId)
}
}
-// Exactly the same as sub_8121E78 except for case 6
+// Exactly the same as SetupBattleTowerPartyMenu except for case 6
bool8 unref_sub_8122C60(void)
{
- switch (ewram1B000_alt.unk264)
+ switch (ewram1B000_alt.setupState)
{
case 0:
- if (ewram1B000_alt.unk266 < gPlayerPartyCount)
+ if (ewram1B000_alt.monIndex < gPlayerPartyCount)
{
- TryCreatePartyMenuMonIcon(ewram1B000_alt.unk260, ewram1B000_alt.unk266, &gPlayerParty[ewram1B000_alt.unk266]);
- ewram1B000_alt.unk266++;
+ TryCreatePartyMenuMonIcon(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex, &gPlayerParty[ewram1B000_alt.monIndex]);
+ ewram1B000_alt.monIndex++;
}
else
{
- ewram1B000_alt.unk266 = 0;
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState++;
}
break;
case 1:
LoadHeldItemIconGraphics();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 2:
- CreateHeldItemIcons_806DC34(ewram1B000_alt.unk260);
- ewram1B000_alt.unk264++;
+ CreateHeldItemIcons_806DC34(ewram1B000_alt.menuHandlerTaskId);
+ ewram1B000_alt.setupState++;
break;
case 3:
- if (sub_806BD58(ewram1B000_alt.unk260, ewram1B000_alt.unk266) == 1)
+ if (sub_806BD58(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex) == 1)
{
- ewram1B000_alt.unk266 = 0;
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState++;
}
else
{
- ewram1B000_alt.unk266++;
+ ewram1B000_alt.monIndex++;
}
break;
case 4:
PartyMenuPrintMonsLevelOrStatus();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 5:
PrintPartyMenuMonNicknames();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 6:
sub_806BCE8();
- ewram1B000_alt.unk264++;
+ ewram1B000_alt.setupState++;
break;
case 7:
- if (sub_806B58C(ewram1B000_alt.unk266) == 1)
+ if (DrawPartyMonBackground(ewram1B000_alt.monIndex) == 1)
{
- ewram1B000_alt.unk266 = 0;
- ewram1B000_alt.unk264 = 0;
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState = 0;
return TRUE;
}
else
{
- ewram1B000_alt.unk266++;
+ ewram1B000_alt.monIndex++;
}
break;
}
@@ -795,7 +747,7 @@ static void DaycareStorageMenuCallback_Store(u8);
static void DaycareStorageMenuCallback_Summary(u8);
static void DaycareStorageMenuCallback_Exit(u8);
-static const struct PartyMenuItem sDaycareStorageMenuItems[] =
+static const struct MenuAction2 sDaycareStorageMenuItems[] =
{
{OtherText_Store, DaycareStorageMenuCallback_Store},
{OtherText_Summary, DaycareStorageMenuCallback_Summary},
@@ -816,29 +768,29 @@ static void sub_8122D94(u8 taskId)
if (!GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_IS_EGG))
{
gTasks[taskId].data[4] = 0;
- sub_806E750(0, sDaycareStorageMenus, sDaycareStorageMenuItems, 0);
+ ShowPartyPopupMenu(0, sDaycareStorageMenus, sDaycareStorageMenuItems, 0);
}
else
{
gTasks[taskId].data[4] = 1;
- sub_806E750(1, sDaycareStorageMenus, sDaycareStorageMenuItems, 0);
+ ShowPartyPopupMenu(1, sDaycareStorageMenus, sDaycareStorageMenuItems, 0);
}
}
-void sub_8122E0C(u8 taskId)
+void HandleDaycarePartyMenu(u8 taskId)
{
if (!gPaletteFade.active)
{
- switch (sub_806BD80(taskId))
+ switch (HandleDefaultPartyMenuInput(taskId))
{
- case 1:
+ case A_BUTTON:
PlaySE(SE_SELECT);
gLastFieldPokeMenuOpened = sub_806CA38(taskId);
GetMonNickname(&gPlayerParty[gLastFieldPokeMenuOpened], gStringVar1);
sub_8122D94(taskId);
gTasks[taskId].func = Task_DaycareStorageMenu8122EAC;
break;
- case 2:
+ case B_BUTTON:
PlaySE(SE_SELECT);
gLastFieldPokeMenuOpened = 0xFF;
gSpecialVar_0x8004 = 0xFF;
@@ -901,14 +853,14 @@ static void sub_8122F90(void)
{
while (1)
{
- if (sub_806B124() == 1)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(ewram1B000.unk260, gUnknown_020384F0);
- sub_806BF74(ewram1B000.unk260, 0);
+ sub_806C994(ewram1B000.menuHandlerTaskId, gUnknown_020384F0);
+ ChangePartyMenuSelection(ewram1B000.menuHandlerTaskId, 0);
GetMonNickname(&gPlayerParty[gUnknown_020384F0], gStringVar1);
gLastFieldPokeMenuOpened = gUnknown_020384F0;
- sub_8122D94(ewram1B000.unk260);
- SetMainCallback2(sub_806AEDC);
+ sub_8122D94(ewram1B000.menuHandlerTaskId);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == 1)
@@ -919,7 +871,7 @@ static void sub_8122F90(void)
static void sub_8123004(void)
{
gPaletteFade.bufferTransferDisabled = TRUE;
- sub_806AF4C(6, 0xFF, Task_DaycareStorageMenu8122EAC, 5);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_DAYCARE, 0xFF, Task_DaycareStorageMenu8122EAC, 5);
SetMainCallback2(sub_8122F90);
}
@@ -946,8 +898,8 @@ static void DaycareStorageMenuCallback_Exit(u8 taskId)
PlaySE(SE_SELECT);
MenuZeroFillWindowRect(20, 10, 29, 19);
HandleDestroyMenuCursors();
- sub_806D538(15, 0);
- gTasks[taskId].func = sub_8122E0C;
+ PrintPartyMenuPromptText(15, 0);
+ gTasks[taskId].func = HandleDaycarePartyMenu;
}
void sub_8123138(u8 taskId)
diff --git a/src/coins.c b/src/field/coins.c
index 3c6356612..91a4b508d 100644
--- a/src/coins.c
+++ b/src/field/coins.c
@@ -6,47 +6,47 @@
#define MAX_COINS 9999
-void UpdateCoinsWindow(s32 a, u8 b, u8 c)
+void UpdateCoinsWindow(s32 coins, u8 x, u8 y)
{
- PrintCoins(a, 4, b + 2, c + 1);
+ PrintCoins(coins, 4, x + 2, y + 1);
}
-void ShowCoinsWindow(u32 a, u8 b, u8 c)
+void ShowCoinsWindow(u32 coins, u8 x, u8 y)
{
- MenuDrawTextWindow(b, c, b + 9, c + 3);
- UpdateCoinsWindow(a, b, c);
+ MenuDrawTextWindow(x, y, x + 9, y + 3);
+ UpdateCoinsWindow(coins, x, y);
}
-void HideCoinsWindow(u8 a, u8 b)
+void HideCoinsWindow(u8 x, u8 y)
{
- MenuZeroFillWindowRect(a, b, a + 9, b + 3);
+ MenuZeroFillWindowRect(x, y, x + 9, y + 3);
}
-void PrintCoins(s32 a, u8 b, u8 c, u8 d)
+void PrintCoins(s32 coins, u8 b, u8 x, u8 y)
{
u8 string[16];
u8 *ptr;
u8 r1;
u8 foo;
- ConvertIntToDecimalString(string, a);
+ ConvertIntToDecimalString(string, coins);
r1 = (b * 6 + 0x21 - 8 * (b + 2));
- c = c - r1 / 8;
+ x = x - r1 / 8;
foo = r1 % 8;
ptr = gStringVar1;
if (foo)
{
- ptr[0] = 0xFC;
+ ptr[0] = EXT_CTRL_CODE_BEGIN;
ptr[1] = 0x11;
ptr[2] = 8 - (foo);
ptr += 3;
}
- ptr[0] = 0xFC;
+ ptr[0] = EXT_CTRL_CODE_BEGIN;
ptr[1] = 0x11;
ptr[2] = (b - StringLength(string)) * 6;
ptr += 3;
StringCopy(ptr, string);
- MenuPrint(gOtherText_Coins2, c, d);
+ MenuPrint(gOtherText_Coins2, x, y);
}
u16 GetCoins(void)
diff --git a/src/coord_event_weather.c b/src/field/coord_event_weather.c
index 9c5a1ca4d..9c5a1ca4d 100644
--- a/src/coord_event_weather.c
+++ b/src/field/coord_event_weather.c
diff --git a/src/field/daycare.c b/src/field/daycare.c
new file mode 100644
index 000000000..dd74f59e0
--- /dev/null
+++ b/src/field/daycare.c
@@ -0,0 +1,1691 @@
+#include "global.h"
+#include "daycare.h"
+#include "pokemon.h"
+#include "event_data.h"
+#include "species.h"
+#include "items.h"
+#include "text.h"
+#include "string_util.h"
+#include "mail_data.h"
+#include "name_string_util.h"
+#include "pokemon_storage_system.h"
+#include "rng.h"
+#include "moves.h"
+#include "trade.h"
+#include "strings2.h"
+#include "party_menu.h"
+#include "field_effect.h"
+#include "main.h"
+#include "menu.h"
+#include "sound.h"
+#include "songs.h"
+#include "script.h"
+#include "overworld.h"
+
+IWRAM_DATA u16 gUnknown_03000470[52];
+IWRAM_DATA u16 gUnknown_030004D8[4];
+IWRAM_DATA u16 gUnknown_030004E0[4];
+IWRAM_DATA u16 gUnknown_030004E8[12];
+IWRAM_DATA u16 gUnknown_03000500[4];
+
+static void sub_80417F4(struct DayCareMail *);
+static void sub_80420FC(struct Pokemon *, u16, struct DayCareData *);
+static u8 daycare_relationship_score(struct DayCareData *);
+
+#include "../data/pokemon/egg_moves.h"
+
+const u8 *const gUnknown_08209AC4[] = {
+ DaycareText_GetAlongVeryWell,
+ DaycareText_GetAlong,
+ DaycareText_DontLikeOther,
+ DaycareText_PlayOther
+};
+
+const u8 gUnknown_08209AD4[] = _("タマゴ");
+
+u8 *GetMonNick(struct Pokemon *mon, u8 *dest)
+{
+ s8 nickname[POKEMON_NAME_LENGTH * 2];
+
+ GetMonData(mon, MON_DATA_NICKNAME, nickname);
+ return StringCopy10(dest, nickname);
+}
+
+u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest)
+{
+ s8 nickname[POKEMON_NAME_LENGTH * 2];
+
+ GetBoxMonData(mon, MON_DATA_NICKNAME, nickname);
+ return StringCopy10(dest, nickname);
+}
+
+u8 Daycare_CountPokemon(struct DayCareData *daycare_data)
+{
+ u8 i, count;
+ count = 0;
+
+ for(i = 0;i <= 1;i++)
+ if(GetBoxMonData(&daycare_data->mons[i], MON_DATA_SPECIES) != 0)
+ count++;
+
+ return count;
+}
+
+void sub_8041324(struct BoxPokemon * box_pokemon, struct RecordMixingDayCareMail * daycareMailEtc)
+{
+ u8 i;
+ u8 specCount;
+ specCount = 0;
+ for (i=0; i<2; i++)
+ {
+ if (GetBoxMonData(&box_pokemon[i], MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ specCount ++;
+ if (GetBoxMonData(&box_pokemon[i], MON_DATA_HELD_ITEM) == ITEM_NONE)
+ {
+ daycareMailEtc->unk74[i] = 0;
+ } else
+ {
+ daycareMailEtc->unk74[i] = 1;
+ }
+ } else
+ {
+ daycareMailEtc->unk74[i] = 1;
+ }
+ }
+ daycareMailEtc->unk70 = specCount;
+}
+
+static s8 Daycare_FindEmptySpot(struct BoxPokemon * daycare_data)
+{
+ u8 i;
+
+ for(i = 0;i <= 1;i++)
+ if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) == 0)
+ return i;
+
+ return -1;
+}
+
+static void Daycare_SendPokemon(struct Pokemon * mon, struct DayCareData * daycare_data)
+{
+ s8 empty_slot;
+ u8 mail;
+ u8 *names;
+
+ empty_slot = Daycare_FindEmptySpot(daycare_data->mons);
+ if(MonHasMail(mon)) {
+ StringCopy((names = daycare_data->misc.mail[empty_slot].names), gSaveBlock2.playerName);
+ PadNameString(names, 0xFC);
+ names += 8;
+ GetMonNick(mon, names);
+ mail = GetMonData(mon, MON_DATA_MAIL);
+ daycare_data->misc.mail[empty_slot].message = gSaveBlock1.mail[mail];
+ TakeMailFromMon(mon);
+ }
+ daycare_data->mons[empty_slot] = mon->box;
+ BoxMonRestorePP(&daycare_data->mons[empty_slot]);
+ daycare_data->misc.countersEtc.steps[empty_slot] = 0;
+ ZeroMonData(mon);
+ party_compaction();
+ CalculatePlayerPartyCount();
+}
+
+void Daycare_SendPokemon_Special()
+{
+ Daycare_SendPokemon(gPlayerParty + gLastFieldPokeMenuOpened, &gSaveBlock1.daycareData);
+}
+
+static void sub_80414C0(struct DayCareData * daycare_data)
+{
+ if((GetBoxMonData(&daycare_data->mons[1], MON_DATA_SPECIES) != 0) && GetBoxMonData(&daycare_data->mons[0], MON_DATA_SPECIES) == 0)
+ {
+ daycare_data->mons[0] = daycare_data->mons[1];
+ ZeroBoxMonData(&daycare_data->mons[1]);
+ daycare_data->misc.mail[0] = daycare_data->misc.mail[1];
+ daycare_data->misc.countersEtc.steps[0] = daycare_data->misc.countersEtc.steps[1];
+ daycare_data->misc.countersEtc.steps[1] = 0;
+ sub_80417F4(&daycare_data->misc.mail[1]);
+ }
+}
+
+u8 TryIncrementMonLevel(struct Pokemon *);
+extern u16 gMoveToLearn;
+
+static void DayCare_LevelUpMoves(struct Pokemon * mon)
+{
+ s32 i;
+ u8 r6;
+ u16 temp;
+
+ for (i = 0; i < MAX_LEVEL; i++)
+ {
+ if (TryIncrementMonLevel(mon))
+ {
+ r6 = 1;
+ while ((temp = MonTryLearningNewMove(mon, r6)) != 0)
+ {
+ r6 = 0;
+ if (temp == 0xffff)
+ DeleteFirstMoveAndGiveMoveToMon(mon, gMoveToLearn);
+ }
+ }
+ else
+ break;
+ }
+
+ CalculateMonStats(mon);
+}
+
+static u16 sub_8041570(struct DayCareData * daycare_data, u8 slot)
+{
+ u16 species;
+ u32 experience;
+ struct Pokemon pokemon;
+
+ GetBoxMonNick(&daycare_data->mons[slot], gStringVar1);
+ species = GetBoxMonData(&daycare_data->mons[slot], MON_DATA_SPECIES);
+ sub_803B4B4(&daycare_data->mons[slot], &pokemon);
+ if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL)
+ {
+ experience = GetMonData(&pokemon, MON_DATA_EXP) + daycare_data->misc.countersEtc.steps[slot];
+ SetMonData(&pokemon, MON_DATA_EXP, &experience);
+ DayCare_LevelUpMoves(&pokemon);
+ }
+ gPlayerParty[PARTY_SIZE - 1] = pokemon;
+ if (daycare_data->misc.mail[slot].message.itemId)
+ {
+ GiveMailToMon2(&gPlayerParty[PARTY_SIZE - 1], &daycare_data->misc.mail[slot].message);
+ sub_80417F4(&daycare_data->misc.mail[slot]);
+ }
+ party_compaction();
+ ZeroBoxMonData(&daycare_data->mons[slot]);
+ daycare_data->misc.countersEtc.steps[slot] = 0;
+ sub_80414C0(daycare_data);
+ CalculatePlayerPartyCount();
+ return species;
+}
+
+u16 sub_8041648()
+{
+ return sub_8041570(&gSaveBlock1.daycareData, gSpecialVar_0x8004);
+}
+
+u8 Daycare_GetLevelAfterSteps(struct BoxPokemon * mon, u32 steps){
+ struct BoxPokemon temp = *mon;
+ u32 new_exp = GetBoxMonData(mon, MON_DATA_EXP) + steps;
+ SetBoxMonData(&temp, MON_DATA_EXP, &new_exp);
+ return GetLevelFromBoxMonExp(&temp);
+}
+
+static u8 sub_80416A0(struct DayCareData *daycareData, u8 slot)
+{
+ u8 levelBefore;
+ u8 levelAfter;
+
+ levelBefore = GetLevelFromBoxMonExp(&daycareData->mons[slot]);
+ levelAfter = Daycare_GetLevelAfterSteps(&daycareData->mons[slot], daycareData->misc.countersEtc.steps[slot]);
+ return levelAfter - levelBefore;
+}
+
+static u8 sub_80416E8(struct DayCareData *dayCareData, u8 slot)
+{
+ u8 levelDelta = sub_80416A0(dayCareData, slot);
+ GetBoxMonNick(&dayCareData->mons[slot], gStringVar1);
+ ConvertIntToDecimalStringN(gStringVar2, levelDelta, STR_CONV_MODE_LEFT_ALIGN, 2);
+ return levelDelta;
+}
+
+static u16 sub_8041728(struct DayCareData *dayCareData, u8 slot)
+{
+ u16 cost;
+
+ u8 levelDelta = sub_80416A0(dayCareData, slot);
+ GetBoxMonNick(&dayCareData->mons[slot], gStringVar1);
+ cost = 100 + 100 * levelDelta;
+ ConvertIntToDecimalStringN(gStringVar2, cost, STR_CONV_MODE_LEFT_ALIGN, 5);
+ return cost;
+}
+
+void sub_8041770(void)
+{
+ gSpecialVar_0x8005 = sub_8041728(&gSaveBlock1.daycareData, gSpecialVar_0x8004);
+}
+
+void sub_8041790(u16 i)
+{
+ gSaveBlock1.daycareData.misc.countersEtc.steps[0] += i;
+ gSaveBlock1.daycareData.misc.countersEtc.steps[1] += i;
+}
+
+u8 sub_80417B8(void)
+{
+ if (GetBoxMonData(&gSaveBlock1.daycareData.mons[gSpecialVar_0x8004], MON_DATA_SPECIES) != 0)
+ return sub_80416E8(&gSaveBlock1.daycareData, gSpecialVar_0x8004);
+ return 0;
+}
+
+static void sub_80417F4(struct DayCareMail *mail)
+{
+ u8 zero;
+ u8 *names;
+ u8 *names2;
+ int i;
+ zero = 0;
+ for (i = 7, names = mail->names + 7; i >= 0; i --)
+ *names-- = zero;
+ names2 = mail->names + 8;
+ zero = 0;
+ names = mail->names + 18;
+ do *names-- = zero; while ((int)names >= (int)names2);
+ ClearMailStruct(&mail->message);
+}
+
+void unref_sub_8041824(struct DayCareData *dayCareData)
+{
+ u8 slot;
+ for (slot = 0; slot < ARRAY_COUNT(dayCareData->mons); slot ++)
+ {
+ ZeroBoxMonData(&dayCareData->mons[slot]);
+ dayCareData->misc.countersEtc.steps[slot] = 0;
+ sub_80417F4(&dayCareData->misc.mail[slot]);
+ }
+ dayCareData->misc.countersEtc.personalityLo = 0;
+ dayCareData->misc.countersEtc.unk_11a = 0;
+}
+
+u16 sub_8041870(u16 species)
+{
+ int i, j, k;
+ bool8 found;
+ for (i = 0; i < 5; i ++)
+ {
+ found = FALSE;
+ for (j = 1; j < NUM_SPECIES; j ++)
+ {
+ for (k = 0; k < 5; k ++)
+ {
+ if (gEvolutionTable[j].evolutions[k].targetSpecies == species)
+ {
+ species = j;
+ found = TRUE;
+ break;
+ }
+ }
+ if (found)
+ break;
+ }
+ if (j == 412)
+ break;
+ }
+ return species;
+}
+
+static void sub_80418F0(struct DayCareData *dayCareData)
+{
+ dayCareData->misc.countersEtc.personalityLo = (Random() % 0xfffe) + 1;
+ FlagSet(0x86);
+}
+
+static void sub_804191C(struct DayCareData *dayCareData)
+{
+ dayCareData->misc.countersEtc.personalityLo = Random() | 0x8000;
+ FlagSet(0x86);
+}
+
+void sub_8041940(void)
+{
+ sub_80418F0(&gSaveBlock1.daycareData);
+}
+
+void sub_8041950(void)
+{
+ sub_804191C(&gSaveBlock1.daycareData);
+}
+
+static void sub_8041960(u8 *data, u8 idx)
+{
+ int i, j;
+ u8 temp[6];
+ data[idx] = 0xff;
+ for (i = 0; i < 6; i ++)
+ temp[i] = data[i];
+ j = 0;
+ for (i = 0; i < 6; i ++)
+ if (temp[i] != 0xff)
+ data[j++] = temp[i];
+}
+
+static void InheritIVs(struct Pokemon *egg, struct DayCareData *dayCareData)
+{
+ u8 i;
+ u8 selectedIvs[3];
+ u8 allIvs[6];
+ u8 whichParent[3];
+ u8 iv;
+ for (i = 0; i < 6; i ++)
+ allIvs[i] = i;
+ for (i = 0; i < 3; i ++)
+ {
+ selectedIvs[i] = allIvs[Random() % (6 - i)];
+ sub_8041960(allIvs, selectedIvs[i]);
+ }
+ for (i = 0; i < 3; i ++)
+ whichParent[i] = Random() % 2;
+ for (i = 0; i < 3; i ++)
+ {
+ switch (selectedIvs[i])
+ {
+ case 0:
+ iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_HP_IV);
+ SetMonData(egg, MON_DATA_HP_IV, &iv);
+ break;
+ case 1:
+ iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_ATK_IV);
+ SetMonData(egg, MON_DATA_ATK_IV, &iv);
+ break;
+ case 2:
+ iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_DEF_IV);
+ SetMonData(egg, MON_DATA_DEF_IV, &iv);
+ break;
+ case 3:
+ iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_SPEED_IV);
+ SetMonData(egg, MON_DATA_SPEED_IV, &iv);
+ break;
+ case 4:
+ iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_SPATK_IV);
+ SetMonData(egg, MON_DATA_SPATK_IV, &iv);
+ break;
+ case 5:
+ iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_SPDEF_IV);
+ SetMonData(egg, MON_DATA_SPDEF_IV, &iv);
+ break;
+ }
+ }
+}
+
+#ifdef NONMATCHING
+static
+#endif
+u8 pokemon_get_eggmoves(struct Pokemon *pokemon, u16 *eggMoves)
+{
+ u16 eggMoveIdx;
+ u16 numMovesFound;
+ u16 species;
+ u16 i;
+
+ numMovesFound = 0;
+ eggMoveIdx = 0;
+ species = GetMonData(pokemon, MON_DATA_SPECIES);
+ for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; i ++)
+ {
+ if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET)
+ {
+ eggMoveIdx = i + 1;
+ break;
+ }
+ }
+ for (i = 0; i < 10; i ++)
+ {
+ if (gEggMoves[eggMoveIdx + i] > EGG_MOVES_SPECIES_OFFSET)
+ {
+ break;
+ }
+ eggMoves[i] = gEggMoves[eggMoveIdx + i];
+ numMovesFound++;
+ }
+ return numMovesFound;
+}
+
+#ifdef NONMATCHING
+
+void daycare_build_child_moveset(struct Pokemon *egg, struct BoxPokemon *dad, struct BoxPokemon *mom)
+{
+ u16 numSharedParentMoves;
+ u8 numLevelUpMoves;
+ u8 numEggMoves;
+ u16 i, j;
+
+ numSharedParentMoves = 0;
+ for (i = 0; i < 4; i ++)
+ {
+ gUnknown_03000500[i] = 0;
+ gUnknown_030004D8[i] = 0;
+ gUnknown_030004E0[i] = 0;
+ }
+ for (i = 0; i < 10; i ++)
+ gUnknown_030004E8[i] = 0;
+ for (i = 0; i < 50; i ++)
+ gUnknown_03000470[i] = 0;
+
+ numLevelUpMoves = GetLevelUpMovesBySpecies(GetMonData(egg, MON_DATA_SPECIES), gUnknown_03000470);
+ for (i = 0; i < 4; i ++)
+ {
+ gUnknown_030004D8[i] = GetBoxMonData(dad, MON_DATA_MOVE1 + i);
+ gUnknown_03000500[i] = GetBoxMonData(mom, MON_DATA_MOVE1 + i);
+ }
+ numEggMoves = pokemon_get_eggmoves(egg, gUnknown_030004E8);
+
+ for (i = 0; i < 4; i ++)
+ {
+ if (gUnknown_030004D8[i] != MOVE_NONE)
+ {
+ for (j = 0; j < numEggMoves; j ++)
+ {
+ if (gUnknown_030004D8[i] == gUnknown_030004E8[j])
+ {
+ if (GiveMoveToMon(egg, gUnknown_030004D8[i]) == 0xffff)
+ DeleteFirstMoveAndGiveMoveToMon(egg, gUnknown_030004D8[i]);
+ break;
+ }
+ }
+ }
+ else
+ break;
+ }
+ for (i = 0; i < 4; i ++)
+ {
+ if (gUnknown_030004D8[i] != MOVE_NONE)
+ {
+ for (j = 0; j < 50 + 8; j ++)
+ {
+ if (gUnknown_030004D8[i] == ItemIdToBattleMoveId(ITEM_TM01 + j) && CanMonLearnTMHM(egg, j))
+ {
+ if (GiveMoveToMon(egg, gUnknown_030004D8[i]) == 0xffff)
+ DeleteFirstMoveAndGiveMoveToMon(egg, gUnknown_030004D8[i]);
+ }
+ }
+ }
+ }
+ for (i = 0; i < 4; i ++)
+ {
+ if (gUnknown_030004D8[i] == MOVE_NONE)
+ break;
+ for (j = 0; j < 4; j ++)
+ {
+ if (gUnknown_030004D8[i] == gUnknown_03000500[j] && gUnknown_030004D8[i] != MOVE_NONE)
+ gUnknown_030004E0[numSharedParentMoves++] = gUnknown_030004D8[i];
+ }
+ }
+ for (i = 0; i < 4; i ++)
+ {
+ if (gUnknown_030004E0[i] == MOVE_NONE)
+ break;
+ for (j = 0; j < numLevelUpMoves; j ++)
+ {
+ if (gUnknown_03000470[j] != MOVE_NONE && gUnknown_030004E0[i] == gUnknown_03000470[j])
+ {
+ if (GiveMoveToMon(egg, gUnknown_030004E0[i]) == 0xffff)
+ DeleteFirstMoveAndGiveMoveToMon(egg, gUnknown_030004E0[i]);
+ break;
+ }
+ }
+ }
+}
+#else
+__attribute__((naked))
+void daycare_build_child_moveset(struct Pokemon *egg, struct BoxPokemon *dad, struct BoxPokemon *mom)
+{
+ 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, 0xC\n"
+ "\tadds r7, r0, 0\n"
+ "\tmov r10, r1\n"
+ "\tmov r9, r2\n"
+ "\tmovs r0, 0\n"
+ "\tstr r0, [sp]\n"
+ "\tmovs r6, 0\n"
+ "\tldr r5, _08041CC8 @ =gUnknown_03000500\n"
+ "\tmovs r2, 0\n"
+ "\tldr r4, _08041CCC @ =gUnknown_030004D8\n"
+ "\tldr r3, _08041CD0 @ =gUnknown_030004E0\n"
+ "_08041BE4:\n"
+ "\tlsls r1, r6, 1\n"
+ "\tadds r0, r1, r5\n"
+ "\tstrh r2, [r0]\n"
+ "\tadds r0, r1, r4\n"
+ "\tstrh r2, [r0]\n"
+ "\tadds r1, r3\n"
+ "\tstrh r2, [r1]\n"
+ "\tadds r0, r6, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r6, r0, 16\n"
+ "\tcmp r6, 0x3\n"
+ "\tbls _08041BE4\n"
+ "\tmovs r6, 0\n"
+ "\tldr r2, _08041CD4 @ =gUnknown_030004E8\n"
+ "\tmovs r1, 0\n"
+ "_08041C02:\n"
+ "\tlsls r0, r6, 1\n"
+ "\tadds r0, r2\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r0, r6, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r6, r0, 16\n"
+ "\tcmp r6, 0x9\n"
+ "\tbls _08041C02\n"
+ "\tmovs r6, 0\n"
+ "\tldr r2, _08041CD8 @ =gUnknown_03000470\n"
+ "\tmovs r1, 0\n"
+ "_08041C18:\n"
+ "\tlsls r0, r6, 1\n"
+ "\tadds r0, r2\n"
+ "\tstrh r1, [r0]\n"
+ "\tadds r0, r6, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r6, r0, 16\n"
+ "\tcmp r6, 0x31\n"
+ "\tbls _08041C18\n"
+ "\tadds r0, r7, 0\n"
+ "\tmovs r1, 0xB\n"
+ "\tbl GetMonData\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tldr r1, _08041CD8 @ =gUnknown_03000470\n"
+ "\tbl GetLevelUpMovesBySpecies\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tstr r0, [sp, 0x4]\n"
+ "\tmovs r6, 0\n"
+ "\tldr r1, _08041CCC @ =gUnknown_030004D8\n"
+ "\tmov r8, r1\n"
+ "_08041C46:\n"
+ "\tadds r5, r6, 0\n"
+ "\tadds r5, 0xD\n"
+ "\tmov r0, r10\n"
+ "\tadds r1, r5, 0\n"
+ "\tbl GetBoxMonData\n"
+ "\tlsls r4, r6, 1\n"
+ "\tmov r2, r8\n"
+ "\tadds r1, r4, r2\n"
+ "\tstrh r0, [r1]\n"
+ "\tmov r0, r9\n"
+ "\tadds r1, r5, 0\n"
+ "\tbl GetBoxMonData\n"
+ "\tldr r1, _08041CC8 @ =gUnknown_03000500\n"
+ "\tadds r4, r1\n"
+ "\tstrh r0, [r4]\n"
+ "\tadds r0, r6, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r6, r0, 16\n"
+ "\tcmp r6, 0x3\n"
+ "\tbls _08041C46\n"
+ "\tldr r1, _08041CD4 @ =gUnknown_030004E8\n"
+ "\tadds r0, r7, 0\n"
+ "\tbl pokemon_get_eggmoves\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tmov r8, r0\n"
+ "\tmovs r6, 0\n"
+ "_08041C82:\n"
+ "\tldr r0, _08041CCC @ =gUnknown_030004D8\n"
+ "\tlsls r1, r6, 1\n"
+ "\tadds r2, r1, r0\n"
+ "\tldrh r1, [r2]\n"
+ "\tmov r9, r0\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _08041CF8\n"
+ "\tmovs r5, 0\n"
+ "\tcmp r5, r8\n"
+ "\tbcs _08041CEA\n"
+ "\tadds r4, r2, 0\n"
+ "\tldr r2, _08041CDC @ =0x0000ffff\n"
+ "_08041C9A:\n"
+ "\tldr r0, _08041CD4 @ =gUnknown_030004E8\n"
+ "\tlsls r1, r5, 1\n"
+ "\tadds r1, r0\n"
+ "\tldrh r0, [r4]\n"
+ "\tldrh r1, [r1]\n"
+ "\tcmp r0, r1\n"
+ "\tbne _08041CE0\n"
+ "\tadds r1, r0, 0\n"
+ "\tadds r0, r7, 0\n"
+ "\tstr r2, [sp, 0x8]\n"
+ "\tbl GiveMoveToMon\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tldr r2, [sp, 0x8]\n"
+ "\tcmp r0, r2\n"
+ "\tbne _08041CEA\n"
+ "\tldrh r1, [r4]\n"
+ "\tadds r0, r7, 0\n"
+ "\tbl DeleteFirstMoveAndGiveMoveToMon\n"
+ "\tb _08041CEA\n"
+ "\t.align 2, 0\n"
+ "_08041CC8: .4byte gUnknown_03000500\n"
+ "_08041CCC: .4byte gUnknown_030004D8\n"
+ "_08041CD0: .4byte gUnknown_030004E0\n"
+ "_08041CD4: .4byte gUnknown_030004E8\n"
+ "_08041CD8: .4byte gUnknown_03000470\n"
+ "_08041CDC: .4byte 0x0000ffff\n"
+ "_08041CE0:\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tcmp r5, r8\n"
+ "\tbcc _08041C9A\n"
+ "_08041CEA:\n"
+ "\tadds r0, r6, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r6, r0, 16\n"
+ "\tldr r3, _08041E14 @ =gUnknown_030004D8\n"
+ "\tmov r9, r3\n"
+ "\tcmp r6, 0x3\n"
+ "\tbls _08041C82\n"
+ "_08041CF8:\n"
+ "\tmovs r6, 0\n"
+ "_08041CFA:\n"
+ "\tlsls r0, r6, 1\n"
+ "\tmov r2, r9\n"
+ "\tadds r1, r0, r2\n"
+ "\tldrh r1, [r1]\n"
+ "\tadds r2, r0, 0\n"
+ "\tadds r6, 0x1\n"
+ "\tmov r8, r6\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _08041D5C\n"
+ "\tmovs r5, 0\n"
+ "\tldr r0, _08041E14 @ =gUnknown_030004D8\n"
+ "\tadds r4, r2, r0\n"
+ "\tldr r6, _08041E18 @ =0x0000ffff\n"
+ "\tmov r9, r0\n"
+ "_08041D16:\n"
+ "\tldr r3, _08041E1C @ =0x00000121\n"
+ "\tadds r0, r5, r3\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tbl ItemIdToBattleMoveId\n"
+ "\tldrh r1, [r4]\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r1, r0\n"
+ "\tbne _08041D52\n"
+ "\tlsls r1, r5, 24\n"
+ "\tlsrs r1, 24\n"
+ "\tadds r0, r7, 0\n"
+ "\tbl CanMonLearnTMHM\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08041D52\n"
+ "\tldrh r1, [r4]\n"
+ "\tadds r0, r7, 0\n"
+ "\tbl GiveMoveToMon\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r0, r6\n"
+ "\tbne _08041D52\n"
+ "\tldrh r1, [r4]\n"
+ "\tadds r0, r7, 0\n"
+ "\tbl DeleteFirstMoveAndGiveMoveToMon\n"
+ "_08041D52:\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tcmp r5, 0x39\n"
+ "\tbls _08041D16\n"
+ "_08041D5C:\n"
+ "\tmov r1, r8\n"
+ "\tlsls r0, r1, 16\n"
+ "\tlsrs r6, r0, 16\n"
+ "\tcmp r6, 0x3\n"
+ "\tbls _08041CFA\n"
+ "\tmovs r6, 0\n"
+ "\tmov r2, r9\n"
+ "\tldrh r0, [r2]\n"
+ "\tldr r3, _08041E20 @ =gUnknown_030004E0\n"
+ "\tmov r10, r3\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08041DC6\n"
+ "\tmov r4, r9\n"
+ "\tldr r0, _08041E24 @ =gUnknown_03000500\n"
+ "\tmov r9, r0\n"
+ "\tmov r12, r10\n"
+ "_08041D7C:\n"
+ "\tmovs r5, 0\n"
+ "\tlsls r2, r6, 1\n"
+ "\tadds r6, 0x1\n"
+ "\tmov r8, r6\n"
+ "\tadds r3, r2, r4\n"
+ "_08041D86:\n"
+ "\tlsls r0, r5, 1\n"
+ "\tadd r0, r9\n"
+ "\tldrh r2, [r3]\n"
+ "\tadds r1, r2, 0\n"
+ "\tldrh r0, [r0]\n"
+ "\tcmp r1, r0\n"
+ "\tbne _08041DA8\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _08041DA8\n"
+ "\tldr r1, [sp]\n"
+ "\tadds r0, r1, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tstr r0, [sp]\n"
+ "\tlsls r1, 1\n"
+ "\tadd r1, r12\n"
+ "\tstrh r2, [r1]\n"
+ "_08041DA8:\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tcmp r5, 0x3\n"
+ "\tbls _08041D86\n"
+ "\tmov r1, r8\n"
+ "\tlsls r0, r1, 16\n"
+ "\tlsrs r6, r0, 16\n"
+ "\tcmp r6, 0x3\n"
+ "\tbhi _08041DC6\n"
+ "\tlsls r0, r6, 1\n"
+ "\tadds r0, r4\n"
+ "\tldrh r0, [r0]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _08041D7C\n"
+ "_08041DC6:\n"
+ "\tmovs r6, 0\n"
+ "\tmov r2, r10\n"
+ "\tldrh r0, [r2]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08041E50\n"
+ "_08041DD0:\n"
+ "\tmovs r5, 0\n"
+ "\tadds r3, r6, 0x1\n"
+ "\tmov r8, r3\n"
+ "\tldr r0, [sp, 0x4]\n"
+ "\tcmp r5, r0\n"
+ "\tbcs _08041E38\n"
+ "\tldr r2, _08041E18 @ =0x0000ffff\n"
+ "_08041DDE:\n"
+ "\tldr r1, _08041E28 @ =gUnknown_03000470\n"
+ "\tlsls r0, r5, 1\n"
+ "\tadds r0, r1\n"
+ "\tldrh r1, [r0]\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _08041E2C\n"
+ "\tlsls r0, r6, 1\n"
+ "\tmov r3, r10\n"
+ "\tadds r4, r0, r3\n"
+ "\tldrh r0, [r4]\n"
+ "\tcmp r0, r1\n"
+ "\tbne _08041E2C\n"
+ "\tadds r1, r0, 0\n"
+ "\tadds r0, r7, 0\n"
+ "\tstr r2, [sp, 0x8]\n"
+ "\tbl GiveMoveToMon\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tldr r2, [sp, 0x8]\n"
+ "\tcmp r0, r2\n"
+ "\tbne _08041E38\n"
+ "\tldrh r1, [r4]\n"
+ "\tadds r0, r7, 0\n"
+ "\tbl DeleteFirstMoveAndGiveMoveToMon\n"
+ "\tb _08041E38\n"
+ "\t.align 2, 0\n"
+ "_08041E14: .4byte gUnknown_030004D8\n"
+ "_08041E18: .4byte 0x0000ffff\n"
+ "_08041E1C: .4byte 0x00000121\n"
+ "_08041E20: .4byte gUnknown_030004E0\n"
+ "_08041E24: .4byte gUnknown_03000500\n"
+ "_08041E28: .4byte gUnknown_03000470\n"
+ "_08041E2C:\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tldr r0, [sp, 0x4]\n"
+ "\tcmp r5, r0\n"
+ "\tbcc _08041DDE\n"
+ "_08041E38:\n"
+ "\tmov r1, r8\n"
+ "\tlsls r0, r1, 16\n"
+ "\tlsrs r6, r0, 16\n"
+ "\tcmp r6, 0x3\n"
+ "\tbhi _08041E50\n"
+ "\tldr r0, _08041E60 @ =gUnknown_030004E0\n"
+ "\tlsls r1, r6, 1\n"
+ "\tadds r1, r0\n"
+ "\tldrh r1, [r1]\n"
+ "\tmov r10, r0\n"
+ "\tcmp r1, 0\n"
+ "\tbne _08041DD0\n"
+ "_08041E50:\n"
+ "\tadd sp, 0xC\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.align 2, 0\n"
+ "_08041E60: .4byte gUnknown_030004E0");
+}
+#endif
+
+static void RemoveEggFromDayCare(struct DayCareData *dayCareData)
+{
+ dayCareData->misc.countersEtc.personalityLo = 0;
+ dayCareData->misc.countersEtc.unk_11a = 0;
+}
+
+void sub_8041E7C(void)
+{
+ RemoveEggFromDayCare(&gSaveBlock1.daycareData);
+}
+
+static void incense_effects(u16 *species, struct DayCareData *dayCareData)
+{
+ u16 momItem, dadItem;
+ if (*species == SPECIES_WYNAUT || *species == SPECIES_AZURILL)
+ {
+ momItem = GetBoxMonData(&dayCareData->mons[0], MON_DATA_HELD_ITEM);
+ dadItem = GetBoxMonData(&dayCareData->mons[1], MON_DATA_HELD_ITEM);
+ if (*species == SPECIES_WYNAUT && momItem != ITEM_LAX_INCENSE && dadItem != ITEM_LAX_INCENSE)
+ {
+ *species = SPECIES_WOBBUFFET;
+ }
+ if (*species == SPECIES_AZURILL && momItem != ITEM_SEA_INCENSE && dadItem != ITEM_SEA_INCENSE)
+ {
+ *species = SPECIES_MARILL;
+ }
+ }
+}
+
+static u16 sub_8041EEC(struct DayCareData *dayCareData, u8 *a1) // inherit_species_from_mom
+{
+ u16 i;
+ u16 species[2];
+ u16 eggSpecies;
+ u8 buffer;
+ for (i=0; i<2; i++)
+ {
+ species[i] = GetBoxMonData(&dayCareData->mons[i], MON_DATA_SPECIES);
+ if (species[i] == SPECIES_DITTO)
+ {
+ a1[0] = i ^ 1;
+ a1[1] = i;
+ }
+ else if (GetBoxMonGender(&dayCareData->mons[i]) == MON_FEMALE)
+ {
+ a1[0] = i;
+ a1[1] = i ^ 1;
+ }
+ }
+ eggSpecies = sub_8041870(species[a1[0]]);
+ if (eggSpecies == SPECIES_NIDORAN_F && dayCareData->misc.countersEtc.personalityLo & 0x8000)
+ {
+ eggSpecies = SPECIES_NIDORAN_M;
+ }
+ if (eggSpecies == SPECIES_ILLUMISE && dayCareData->misc.countersEtc.personalityLo & 0x8000)
+ {
+ eggSpecies = SPECIES_VOLBEAT;
+ }
+ if (species[a1[1]] == SPECIES_DITTO && GetBoxMonGender(&dayCareData->mons[a1[0]]) != MON_FEMALE)
+ {
+ buffer = a1[1];
+ a1[1] = a1[0];
+ a1[0] = buffer;
+ }
+ return eggSpecies;
+}
+
+static void sub_8041FC4(struct DayCareData *dayCareData) // give_egg
+{
+ struct Pokemon egg;
+ u16 species;
+ u8 parents[2];
+ u8 isEgg;
+ species = sub_8041EEC(dayCareData, parents);
+ incense_effects(&species, dayCareData);
+ sub_80420FC(&egg, species, dayCareData);
+ InheritIVs(&egg, dayCareData);
+ daycare_build_child_moveset(&egg, &dayCareData->mons[parents[1]], &dayCareData->mons[parents[0]]);
+ isEgg = TRUE;
+ SetMonData(&egg, MON_DATA_IS_EGG, &isEgg);
+ gPlayerParty[5] = egg;
+ party_compaction();
+ CalculatePlayerPartyCount();
+ RemoveEggFromDayCare(dayCareData);
+}
+
+
+void sub_8042044(struct Pokemon *mon, u16 species, u8 overwriteMetLocation) // scr_create_egg
+{
+ u8 metLevel;
+ u16 ball;
+ u8 language;
+ u8 metLocation;
+ u8 isEgg;
+ CreateMon(mon, species, 5, 0x20, FALSE, 0, FALSE, 0);
+ metLevel = 0;
+ ball = ITEM_POKE_BALL;
+ language = LANGUAGE_JAPANESE;
+ SetMonData(mon, MON_DATA_POKEBALL, &ball);
+ SetMonData(mon, MON_DATA_NICKNAME, gUnknown_08209AD4);
+ SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles);
+ SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel);
+ SetMonData(mon, MON_DATA_LANGUAGE, &language);
+ if (overwriteMetLocation)
+ {
+ metLocation = 0xfd;
+ SetMonData(mon, MON_DATA_MET_LOCATION, &metLocation);
+ }
+ isEgg = TRUE;
+ SetMonData(mon, MON_DATA_IS_EGG, &isEgg);
+}
+
+static void sub_80420FC(struct Pokemon *mon, u16 species, struct DayCareData *dayCareData)
+{
+ u32 personality;
+ u16 ball;
+ u8 metLevel;
+ u8 language;
+ personality = dayCareData->misc.countersEtc.personalityLo | (Random() << 16);
+ CreateMon(mon, species, 5, 0x20, TRUE, personality, FALSE, 0);
+ metLevel = 0;
+ ball = ITEM_POKE_BALL;
+ language = LANGUAGE_JAPANESE;
+ SetMonData(mon, MON_DATA_POKEBALL, &ball);
+ SetMonData(mon, MON_DATA_NICKNAME, gUnknown_08209AD4);
+ SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles);
+ SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel);
+ SetMonData(mon, MON_DATA_LANGUAGE, &language);
+}
+
+void sp0B8_daycare(void)
+{
+ sub_8041FC4(&gSaveBlock1.daycareData);
+}
+
+#ifdef NONMATCHING
+static bool8 sub_80421B0(struct DayCareData *dayCareData)
+{
+ struct BoxPokemon *parent;
+ u32 i;
+ int v0;
+ int steps;
+ v0 = 0;
+ for (i=0, parent=&dayCareData->mons[0]; i<2; parent++, i++)
+ {
+ if (GetBoxMonData(parent, MON_DATA_SANITY_BIT2, v0))
+ {
+ dayCareData->misc.countersEtc.steps[i]++;
+ v0++;
+ }
+ }
+ if (dayCareData->misc.countersEtc.personalityLo == 0 && v0 == 2 && dayCareData->misc.extra.misc[4] == 0xff && daycare_relationship_score(dayCareData) > (u32)((u32)(Random() * 100) / 0xffff))
+ {
+ sub_8041940();
+ }
+ if ((++dayCareData->misc.countersEtc.unk_11a) == 0xff)
+ {
+ for (i=0; i<gPlayerPartyCount; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
+ {
+ steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP);
+ if (steps == 0)
+ {
+ gSpecialVar_0x8004 = i;
+ return TRUE;
+ }
+ steps--;
+ SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps);
+ }
+ }
+ }
+ return FALSE;
+}
+#else
+__attribute__((naked))
+static bool8 sub_80421B0(struct DayCareData *dayCareData)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tsub sp, 0x8\n"
+ "\tadds r7, r0, 0\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r6, 0\n"
+ "\tadds r5, r7, 0\n"
+ "_080421BC:\n"
+ "\tlsls r4, r6, 2\n"
+ "\tadds r0, r5, 0\n"
+ "\tmovs r1, 0x5\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tbl GetBoxMonData\n"
+ "\tldr r2, [sp, 0x4]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080421DE\n"
+ "\tmovs r0, 0x88\n"
+ "\tlsls r0, 1\n"
+ "\tadds r1, r7, r0\n"
+ "\tadds r1, r4\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstr r0, [r1]\n"
+ "\tadds r2, 0x1\n"
+ "_080421DE:\n"
+ "\tadds r5, 0x50\n"
+ "\tadds r6, 0x1\n"
+ "\tcmp r6, 0x1\n"
+ "\tbls _080421BC\n"
+ "\tmovs r1, 0x8C\n"
+ "\tlsls r1, 1\n"
+ "\tadds r0, r7, r1\n"
+ "\tldrh r0, [r0]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _08042226\n"
+ "\tcmp r2, 0x2\n"
+ "\tbne _08042226\n"
+ "\tsubs r1, 0x4\n"
+ "\tadds r0, r7, r1\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r0, 0xFF\n"
+ "\tbne _08042226\n"
+ "\tadds r0, r7, 0\n"
+ "\tbl daycare_relationship_score\n"
+ "\tadds r4, r0, 0\n"
+ "\tlsls r4, 24\n"
+ "\tlsrs r4, 24\n"
+ "\tbl Random\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tmovs r1, 0x64\n"
+ "\tmuls r0, r1\n"
+ "\tldr r1, _08042240 @ =0x0000ffff\n"
+ "\tbl __udivsi3\n"
+ "\tcmp r4, r0\n"
+ "\tbls _08042226\n"
+ "\tbl sub_8041940\n"
+ "_08042226:\n"
+ "\tmovs r0, 0x8D\n"
+ "\tlsls r0, 1\n"
+ "\tadds r1, r7, r0\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tcmp r0, 0xFF\n"
+ "\tbne _08042290\n"
+ "\tmovs r6, 0\n"
+ "\tb _08042288\n"
+ "\t.align 2, 0\n"
+ "_08042240: .4byte 0x0000ffff\n"
+ "_08042244:\n"
+ "\tmovs r0, 0x64\n"
+ "\tadds r1, r6, 0\n"
+ "\tmuls r1, r0\n"
+ "\tldr r0, _08042270 @ =gPlayerParty\n"
+ "\tadds r4, r1, r0\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x2D\n"
+ "\tbl GetMonData\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08042286\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x20\n"
+ "\tbl GetMonData\n"
+ "\tstr r0, [sp]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _08042278\n"
+ "\tldr r0, _08042274 @ =gSpecialVar_0x8004\n"
+ "\tstrh r6, [r0]\n"
+ "\tmovs r0, 0x1\n"
+ "\tb _08042292\n"
+ "\t.align 2, 0\n"
+ "_08042270: .4byte gPlayerParty\n"
+ "_08042274: .4byte gSpecialVar_0x8004\n"
+ "_08042278:\n"
+ "\tsubs r0, 0x1\n"
+ "\tstr r0, [sp]\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x20\n"
+ "\tmov r2, sp\n"
+ "\tbl SetMonData\n"
+ "_08042286:\n"
+ "\tadds r6, 0x1\n"
+ "_08042288:\n"
+ "\tldr r0, _0804229C @ =gPlayerPartyCount\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r6, r0\n"
+ "\tbcc _08042244\n"
+ "_08042290:\n"
+ "\tmovs r0, 0\n"
+ "_08042292:\n"
+ "\tadd sp, 0x8\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r1}\n"
+ "\tbx r1\n"
+ "\t.align 2, 0\n"
+ "_0804229C: .4byte gPlayerPartyCount");
+}
+#endif
+
+bool8 sub_80422A0(void)
+{
+ return sub_80421B0(&gSaveBlock1.daycareData);
+}
+
+static bool8 sub_80422B4(struct DayCareData *dayCareData)
+{
+ return (u32)((-dayCareData->misc.countersEtc.personalityLo) | dayCareData->misc.countersEtc.personalityLo) >> 31;
+}
+
+static void sub_80422C4(struct DayCareData *dayCareData)
+{
+ u8 language;
+ if (GetBoxMonData(&dayCareData->mons[0], MON_DATA_SPECIES) != 0)
+ {
+ GetBoxMonNick(&dayCareData->mons[0], gStringVar1);
+ language = GetBoxMonData(&dayCareData->mons[0], MON_DATA_LANGUAGE);
+ GetBoxMonData(&dayCareData->mons[0], MON_DATA_OT_NAME, gStringVar3);
+ ConvertInternationalString(gStringVar3, language);
+ }
+ if (GetBoxMonData(&dayCareData->mons[1], MON_DATA_SPECIES) != 0)
+ {
+ GetBoxMonNick(&dayCareData->mons[1], gStringVar2);
+ }
+}
+
+u16 sub_8042328(void)
+{
+ GetBoxMonNick(&gPlayerParty[gLastFieldPokeMenuOpened].box, gStringVar1);
+ return GetBoxMonData(&gPlayerParty[gLastFieldPokeMenuOpened].box, MON_DATA_SPECIES);
+}
+
+void sp0B5_daycare(void)
+{
+ sub_80422C4(&gSaveBlock1.daycareData);
+}
+
+u8 sp0B6_daycare(void)
+{
+ u8 monCount;
+ if (sub_80422B4(&gSaveBlock1.daycareData))
+ {
+ return 1;
+ }
+ monCount = Daycare_CountPokemon(&gSaveBlock1.daycareData);
+ if (monCount != 0)
+ {
+ return monCount + 1;
+ }
+ return 0;
+}
+
+#ifdef NONMATCHING
+static
+#endif
+bool8 sub_80423A8(u16 *a, u16 *b)
+{
+ int i, j;
+ u16 *v0, *v1, v2;
+ for (i=0, v0=a; i<2; v0++, i++)
+ {
+ for (j=0, v2=*v0, v1=b; j<2; v1++, j++)
+ {
+ if (v2 == *v1)
+ {
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+
+#ifdef NONMATCHING
+static u8 daycare_relationship_score(struct DayCareData *dayCareData)
+{
+ u16 species[2];
+ u32 otIds[2];
+ u32 genders[2];
+ u16 eggGroups[2][2];
+ int i;
+ u16 *spc;
+ u32 *ids;
+ u32 *gnd;
+ u16 *egg1;
+ u16 *egg2;
+ struct BoxPokemon *parent;
+ for (i=0, parent=&dayCareData->mons[0], spc=species, ids=otIds, gnd=genders, egg1=&eggGroups[0][0], egg2=&eggGroups[0][1]; i<2; spc++, egg1+=2, egg2+=2, parent++, i++)
+ {
+ *spc = GetBoxMonData(parent, MON_DATA_SPECIES);
+ *ids++ = GetBoxMonData(parent, MON_DATA_OT_ID);
+ *gnd++ = GetGenderFromSpeciesAndPersonality(*spc, GetBoxMonData(parent, MON_DATA_PERSONALITY));
+ *egg1 = gBaseStats[*spc].eggGroup1;
+ *egg2 = gBaseStats[*spc].eggGroup2;
+ }
+ if (eggGroups[0][0] == 0xf)
+ {
+ return 0;
+ }
+ if (eggGroups[1][0] == 0xf)
+ {
+ return 0;
+ }
+ if (eggGroups[0][0] == 0xd && eggGroups[1][0] == 0xd)
+ {
+ return 0;
+ }
+ else if (eggGroups[0][0] == 0xd || eggGroups[1][0] == 0xd)
+ {
+ if (otIds[0] == otIds[1])
+ {
+ return 20;
+ }
+ return 50;
+ }
+ if (genders[0] == genders[1] || genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS)
+ {
+ return 0;
+ }
+ if (!sub_80423A8(eggGroups[0], eggGroups[1]))
+ {
+ return 0;
+ }
+ if (species[0] == species[1])
+ {
+ if (otIds[0] == otIds[1])
+ {
+ return 50;
+ }
+ return 70;
+ }
+ else
+ {
+ if (otIds[0] != otIds[1])
+ {
+ return 50;
+ }
+ return 20;
+ }
+}
+#else
+__attribute__((naked))
+static u8 daycare_relationship_score(struct DayCareData *dayCareData)
+{
+ 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, 0x2C\n"
+ "\tmovs r1, 0\n"
+ "\tmov r8, r1\n"
+ "\tmov r2, sp\n"
+ "\tadds r2, 0x8\n"
+ "\tstr r2, [sp, 0x1C]\n"
+ "\tadd r1, sp, 0xC\n"
+ "\tmov r10, r1\n"
+ "\tadds r2, 0xC\n"
+ "\tstr r2, [sp, 0x20]\n"
+ "\tmov r1, sp\n"
+ "\tadds r1, 0x2\n"
+ "\tldr r2, _08042488 @ =gBaseStats\n"
+ "\tmov r9, r2\n"
+ "\tldr r5, [sp, 0x1C]\n"
+ "\tadds r7, r1, 0\n"
+ "\tmov r6, sp\n"
+ "\tldr r1, [sp, 0x20]\n"
+ "\tstr r1, [sp, 0x24]\n"
+ "\tmov r2, r10\n"
+ "\tstr r2, [sp, 0x28]\n"
+ "\tadds r4, r0, 0\n"
+ "_0804240E:\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0xB\n"
+ "\tbl GetBoxMonData\n"
+ "\tstrh r0, [r5]\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0x1\n"
+ "\tbl GetBoxMonData\n"
+ "\tldr r1, [sp, 0x28]\n"
+ "\tstm r1!, {r0}\n"
+ "\tstr r1, [sp, 0x28]\n"
+ "\tadds r0, r4, 0\n"
+ "\tmovs r1, 0\n"
+ "\tbl GetBoxMonData\n"
+ "\tadds r1, r0, 0\n"
+ "\tldrh r0, [r5]\n"
+ "\tbl GetGenderFromSpeciesAndPersonality\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tldr r2, [sp, 0x24]\n"
+ "\tstm r2!, {r0}\n"
+ "\tstr r2, [sp, 0x24]\n"
+ "\tldrh r1, [r5]\n"
+ "\tlsls r0, r1, 3\n"
+ "\tsubs r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadd r0, r9\n"
+ "\tldrb r0, [r0, 0x14]\n"
+ "\tstrh r0, [r6]\n"
+ "\tldrh r1, [r5]\n"
+ "\tlsls r0, r1, 3\n"
+ "\tsubs r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadd r0, r9\n"
+ "\tldrb r0, [r0, 0x15]\n"
+ "\tstrh r0, [r7]\n"
+ "\tadds r5, 0x2\n"
+ "\tadds r7, 0x4\n"
+ "\tadds r6, 0x4\n"
+ "\tadds r4, 0x50\n"
+ "\tmovs r0, 0x1\n"
+ "\tadd r8, r0\n"
+ "\tmov r1, r8\n"
+ "\tcmp r1, 0x1\n"
+ "\tbls _0804240E\n"
+ "\tmov r0, sp\n"
+ "\tldrh r1, [r0]\n"
+ "\tcmp r1, 0xF\n"
+ "\tbeq _08042484\n"
+ "\tldrh r0, [r0, 0x4]\n"
+ "\tcmp r0, 0xF\n"
+ "\tbeq _08042484\n"
+ "\tcmp r1, 0xD\n"
+ "\tbne _0804248C\n"
+ "\tcmp r0, 0xD\n"
+ "\tbne _08042490\n"
+ "_08042484:\n"
+ "\tmovs r0, 0\n"
+ "\tb _080424E4\n"
+ "\t.align 2, 0\n"
+ "_08042488: .4byte gBaseStats\n"
+ "_0804248C:\n"
+ "\tcmp r0, 0xD\n"
+ "\tbne _0804249C\n"
+ "_08042490:\n"
+ "\tldr r1, [sp, 0xC]\n"
+ "\tmov r2, r10\n"
+ "\tldr r0, [r2, 0x4]\n"
+ "\tcmp r1, r0\n"
+ "\tbeq _080424DE\n"
+ "\tb _080424E2\n"
+ "_0804249C:\n"
+ "\tldr r0, [sp, 0x14]\n"
+ "\tldr r2, [sp, 0x20]\n"
+ "\tldr r1, [r2, 0x4]\n"
+ "\tcmp r0, r1\n"
+ "\tbeq _08042484\n"
+ "\tcmp r0, 0xFF\n"
+ "\tbeq _08042484\n"
+ "\tcmp r1, 0xFF\n"
+ "\tbeq _08042484\n"
+ "\tadd r1, sp, 0x4\n"
+ "\tmov r0, sp\n"
+ "\tbl sub_80423A8\n"
+ "\tlsls r0, 24\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _08042484\n"
+ "\tldr r0, [sp, 0x1C]\n"
+ "\tldrh r1, [r0, 0x2]\n"
+ "\tldrh r0, [r0]\n"
+ "\tcmp r0, r1\n"
+ "\tbne _080424D4\n"
+ "\tldr r1, [sp, 0xC]\n"
+ "\tmov r2, r10\n"
+ "\tldr r0, [r2, 0x4]\n"
+ "\tcmp r1, r0\n"
+ "\tbeq _080424E2\n"
+ "\tmovs r0, 0x46\n"
+ "\tb _080424E4\n"
+ "_080424D4:\n"
+ "\tldr r1, [sp, 0xC]\n"
+ "\tmov r2, r10\n"
+ "\tldr r0, [r2, 0x4]\n"
+ "\tcmp r1, r0\n"
+ "\tbne _080424E2\n"
+ "_080424DE:\n"
+ "\tmovs r0, 0x14\n"
+ "\tb _080424E4\n"
+ "_080424E2:\n"
+ "\tmovs r0, 0x32\n"
+ "_080424E4:\n"
+ "\tadd sp, 0x2C\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");
+}
+#endif
+
+u8 daycare_relationship_score_from_savegame(void)
+{
+ return daycare_relationship_score(&gSaveBlock1.daycareData);
+}
+
+void sp0B9_daycare_relationship_comment(void)
+{
+ u8 whichString;
+ u8 relationshipScore;
+
+ relationshipScore = daycare_relationship_score_from_savegame();
+ whichString = 0;
+ if (relationshipScore == 0)
+ whichString = 3;
+ if (relationshipScore == 20)
+ whichString = 2;
+ if (relationshipScore == 50)
+ whichString = 1;
+ if (relationshipScore == 70)
+ whichString = 0;
+ StringCopy(gStringVar4, gUnknown_08209AC4[whichString]);
+}
+
+#ifdef NONMATCHING
+bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio)
+{
+ u8 i;
+ u8 flags[2];
+
+ // This portion is nonmatching
+ flags[1] = 0;
+ flags[0] = 0;
+ for (i = 0; name[i] != EOS; i ++)
+ // End nonmatching portion
+
+ {
+ if (name[i] == CHAR_MALE) flags[0] ++;
+ if (name[i] == CHAR_FEMALE) flags[1] ++;
+ }
+ if (genderRatio == MON_MALE && flags[0] && !flags[1]) return TRUE;
+ if (genderRatio == MON_FEMALE && flags[1] && !flags[0]) return TRUE;
+ return FALSE;
+}
+#else
+__attribute__((naked))
+bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio)
+{
+ asm_unified("\n"
+ "\tpush {r4,r5,lr}\n"
+ "\tsub sp, 0x4\n"
+ "\tadds r4, r0, 0\n"
+ "\tlsls r1, 24\n"
+ "\tlsrs r5, r1, 24\n"
+ "\tmov r2, sp\n"
+ "\tmov r1, sp\n"
+ "\tmovs r0, 0\n"
+ "\tstrb r0, [r1, 0x1]\n"
+ "\tstrb r0, [r2]\n"
+ "\tmovs r3, 0\n"
+ "\tldrb r0, [r4]\n"
+ "\tcmp r0, 0xFF\n"
+ "\tbeq _0804258C\n"
+ "_08042564:\n"
+ "\tadds r1, r4, r3\n"
+ "\tldrb r0, [r1]\n"
+ "\tcmp r0, 0xB5\n"
+ "\tbne _08042572\n"
+ "\tldrb r0, [r2]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r2]\n"
+ "_08042572:\n"
+ "\tldrb r0, [r1]\n"
+ "\tcmp r0, 0xB6\n"
+ "\tbne _0804257E\n"
+ "\tldrb r0, [r2, 0x1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r2, 0x1]\n"
+ "_0804257E:\n"
+ "\tadds r0, r3, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r3, r0, 24\n"
+ "\tadds r0, r4, r3\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r0, 0xFF\n"
+ "\tbne _08042564\n"
+ "_0804258C:\n"
+ "\tcmp r5, 0\n"
+ "\tbne _080425A0\n"
+ "\tmov r0, sp\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080425A0\n"
+ "\tmov r0, sp\n"
+ "\tldrb r0, [r0, 0x1]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080425B4\n"
+ "_080425A0:\n"
+ "\tcmp r5, 0xFE\n"
+ "\tbne _080425B8\n"
+ "\tmov r0, sp\n"
+ "\tldrb r0, [r0, 0x1]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080425B8\n"
+ "\tmov r0, sp\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080425B8\n"
+ "_080425B4:\n"
+ "\tmovs r0, 0x1\n"
+ "\tb _080425BA\n"
+ "_080425B8:\n"
+ "\tmovs r0, 0\n"
+ "_080425BA:\n"
+ "\tadd sp, 0x4\n"
+ "\tpop {r4,r5}\n"
+ "\tpop {r1}\n"
+ "\tbx r1");
+}
+#endif
+
+static u8 *AppendGenderSymbol(u8 *name, u8 gender)
+{
+ if (gender == MON_MALE)
+ {
+ if (!NameHasGenderSymbol(name, MON_MALE))
+ return StringAppend(name, gOtherText_MaleSymbol3);
+ }
+
+ else if (gender == MON_FEMALE)
+ {
+ if (!NameHasGenderSymbol(name, MON_FEMALE))
+ return StringAppend(name, gOtherText_FemaleSymbol3);
+ }
+ return StringAppend(name, gOtherText_GenderlessSymbol);
+}
+
+static u8 *MonAppendGenderSymbol(u8 *name, struct BoxPokemon *boxMon)
+{
+ return AppendGenderSymbol(name, GetBoxMonGender(boxMon));
+}
+
+static void DaycareLevelMenuGetText(struct DayCareData *dayCareData, u8 *dest)
+{
+ u8 buffers[2][20];
+ u8 i;
+ *dest = EOS;
+ for (i = 0; i < 2; i ++)
+ {
+ GetBoxMonNick(&dayCareData->mons[i], buffers[i]);
+ MonAppendGenderSymbol(buffers[i], &dayCareData->mons[i]);
+ }
+ StringCopy(dest, buffers[0]);
+ StringAppend(dest, gOtherText_NewLine2);
+ StringAppend(dest, buffers[1]);
+ StringAppend(dest, gOtherText_NewLine2);
+ StringAppend(dest, gOtherText_CancelAndLv);
+}
+
+static void DaycareLevelMenuGetLevelText(struct DayCareData *dayCareData, u8 *dest)
+{
+ u8 i;
+ u8 level;
+ *dest = EOS;
+ for (i = 0; i < 2; i ++)
+ {
+ level = Daycare_GetLevelAfterSteps(&dayCareData->mons[i], dayCareData->misc.countersEtc.steps[i]);
+ dest[0] = 0x34;
+ dest[1] = 0xFC;
+ dest[2] = 0x14;
+ dest[3] = 0x06;
+ dest = ConvertIntToDecimalStringN(dest + 4, level, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ dest[0] = 0xFC;
+ dest[1] = 0x14;
+ dest[2] = 0x00;
+ dest = StringCopy(dest + 3, gOtherText_NewLine2);
+ }
+ *dest = EOS;
+}
+
+static void DaycareLevelMenuProcessKeyInput(u8 taskId)
+{
+ if (gMain.newKeys & DPAD_UP)
+ {
+ if (gTasks[taskId].data[0] != 0)
+ {
+ gTasks[taskId].data[0] --;
+ MoveMenuCursor(-1);
+ PlaySE(SE_SELECT);
+ }
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ if (gTasks[taskId].data[0] != 2)
+ {
+ gTasks[taskId].data[0] ++;
+ MoveMenuCursor(+1);
+ PlaySE(SE_SELECT);
+ }
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ HandleDestroyMenuCursors();
+ PlaySE(SE_SELECT);
+ gLastFieldPokeMenuOpened = gScriptResult = gTasks[taskId].data[0];
+ DestroyTask(taskId);
+ MenuZeroFillWindowRect(15, 6, 29, 13);
+ EnableBothScriptContexts();
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ HandleDestroyMenuCursors();
+ gLastFieldPokeMenuOpened = gScriptResult = 2;
+ DestroyTask(taskId);
+ MenuZeroFillWindowRect(15, 6, 29, 13);
+ EnableBothScriptContexts();
+ }
+}
+
+void ShowDaycareLevelMenu(void)
+{
+ u8 buffer[100];
+ MenuDrawTextWindow(15, 6, 29, 13);
+ DaycareLevelMenuGetText(&gSaveBlock1.daycareData, buffer);
+ MenuPrint(buffer, 16, 7);
+ DaycareLevelMenuGetLevelText(&gSaveBlock1.daycareData, buffer);
+ MenuPrint_PixelCoords(buffer, 0xce, 0x38, TRUE);
+ InitMenu(0, 16, 7, 3, 0, 13);
+ CreateTask(DaycareLevelMenuProcessKeyInput, 3);
+}
+
+void ChooseSendDaycareMon(void)
+{
+ OpenPartyMenu(PARTY_MENU_TYPE_DAYCARE, 0);
+ gMain.savedCallback = c2_exit_to_overworld_2_switch;
+}
diff --git a/src/decoration.c b/src/field/decoration.c
index 1d48692c1..59c19c20a 100644
--- a/src/decoration.c
+++ b/src/field/decoration.c
@@ -619,7 +619,7 @@ const u8 DecorDesc_REGISTEEL_DOLL[] = _(
"Place it on a mat\n"
"or a desk.");
#elif GERMAN
-#include "data/decoration/descriptions_de.h"
+#include "../data/decoration/descriptions_de.h"
#endif
const u16 DecorGfx_SMALL_DESK[] = {
@@ -1389,7 +1389,7 @@ const struct Decoration gDecorations[] = {
{DECOR_REGISTEEL_DOLL, _("REGISTEEL DOLL"), DECORPERM_SOLID_MAT, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, DecorDesc_REGISTEEL_DOLL, DecorGfx_REGISTEEL_DOLL}
};
#elif GERMAN
-#include "data/decoration/decorations.h"
+#include "../data/decoration/decorations.h"
#endif
const u8 *const gUnknown_083EC5E4[] = {
@@ -1494,7 +1494,7 @@ const union AnimCmd *const gSpriteAnimTable_83EC930[] = {
};
const struct SpriteFrameImage gSpriteImageTable_83EC934[] = {
- {.data = (u8 *)&gUnknown_02038900.image, .size = sizeof gUnknown_02038900.image}
+ {.data = gUnknown_02038900.image, .size = sizeof(gUnknown_02038900.image)}
};
const struct SpriteTemplate gSpriteTemplate_83EC93C = {
@@ -2199,7 +2199,7 @@ void sub_80FF0E0(u8 taskId)
void sub_80FF114(u8 taskId)
{
DrawWholeMapView();
- warp1_set(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gTasks[taskId].data[3], gTasks[taskId].data[4]);
+ Overworld_SetWarpDestination(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gTasks[taskId].data[3], gTasks[taskId].data[4]);
warp_in();
}
void sub_80FF160(u8 taskId)
diff --git a/src/decoration_inventory.c b/src/field/decoration_inventory.c
index 35ba7e228..687589373 100644
--- a/src/decoration_inventory.c
+++ b/src/field/decoration_inventory.c
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 6/5/17.
+
//
#include "global.h"
@@ -8,7 +8,7 @@
#include "decoration.h"
#include "decoration_inventory.h"
-#define DECOR_INV(ptr) {.items = (u8 *)&ptr, .size = sizeof ptr}
+#define DECOR_INV(ptr) {.items = ptr, .size = sizeof ptr}
struct DecorationInventory const gDecorationInventories[] = {
DECOR_INV(gSaveBlock1.decorDesk),
diff --git a/src/dewford_trend.c b/src/field/dewford_trend.c
index aaf4dd66a..aaf4dd66a 100644
--- a/src/dewford_trend.c
+++ b/src/field/dewford_trend.c
diff --git a/src/diploma.c b/src/field/diploma.c
index 27601404c..27601404c 100644
--- a/src/diploma.c
+++ b/src/field/diploma.c
diff --git a/src/easy_chat.c b/src/field/easy_chat.c
index dd33e69c3..8e7413516 100644
--- a/src/easy_chat.c
+++ b/src/field/easy_chat.c
@@ -19,6 +19,8 @@ extern const u8 gEasyChatGroupSizes[];
extern u16 gSpecialVar_0x8004;
+IWRAM_DATA u8 gUnknown_03000740;
+
// returns the end of the destination buffer text
u8 *EasyChat_GetWordText(u8 *dst, u16 word)
{
@@ -159,7 +161,7 @@ u16 unref_sub_80EB5E0(u16 arg0)
{
case EC_GROUP_POKEMON: // 0
case EC_GROUP_POKEMON_2: // 21
- chars = (u8 *) gSpeciesNames[word];
+ chars = gSpeciesNames[word];
break;
case EC_GROUP_MOVE_1: // 18
case EC_GROUP_MOVE_2: // 19
@@ -276,13 +278,13 @@ void sub_80EB7C4(void)
switch (gSpecialVar_0x8004)
{
case 0:
- words = gSaveBlock1.unk2B1C;
+ words = gSaveBlock1.easyChats.unk2B1C;
arg1 = 2;
arg2 = 2;
break;
case 1:
- words = gSaveBlock1.unk2B28;
- if (sub_80EB680(gSaveBlock1.unk2B28, 3, 2, 20))
+ words = gSaveBlock1.easyChats.unk2B28;
+ if (sub_80EB680(gSaveBlock1.easyChats.unk2B28, 3, 2, 20))
{
arg1 = 2;
arg2 = 3;
@@ -294,12 +296,12 @@ void sub_80EB7C4(void)
}
break;
case 2:
- words = gSaveBlock1.unk2B34;
+ words = gSaveBlock1.easyChats.unk2B34;
arg1 = 3;
arg2 = 2;
break;
case 3:
- words = gSaveBlock1.unk2B40;
+ words = gSaveBlock1.easyChats.unk2B40;
arg1 = 3;
arg2 = 2;
break;
@@ -428,7 +430,7 @@ static u16 sub_80EB9D8(void)
for (i = 0; i < gEasyChatGroupSizes[EC_GROUP_POKEMON]; i++)
{
const u16 dexNum = SpeciesToNationalPokedexNum(*speciesList);
- const u8 local2 = GetNationalPokedexFlag(dexNum, 0);
+ const u8 local2 = GetSetPokedexFlag(dexNum, 0);
if (local2)
{
diff --git a/src/event_data.c b/src/field/event_data.c
index ee475343f..43d49c417 100644
--- a/src/event_data.c
+++ b/src/field/event_data.c
@@ -114,10 +114,8 @@ u16 *GetVarPointer(u16 id)
{
if (id < 0x4000)
return NULL;
-
- if ((s16)id >= 0)
+ if (id < 0x8000)
return &gSaveBlock1.vars[id - 0x4000];
-
return gSpecialVars[id - 0x8000];
}
diff --git a/src/field_camera.c b/src/field/field_camera.c
index db51cf054..a29f4c49f 100644
--- a/src/field_camera.c
+++ b/src/field/field_camera.c
@@ -7,7 +7,7 @@
#include "sprite.h"
#include "text.h"
-EWRAM_DATA u8 gUnknown_0202E854 = 0;
+EWRAM_DATA bool8 gUnusedBikeCameraAheadPanback = FALSE;
struct UnknownStruct
{
@@ -455,13 +455,14 @@ static void CameraPanningCB_PanAhead(void)
{
u8 var;
- if (gUnknown_0202E854 == 0)
+ if (gUnusedBikeCameraAheadPanback == FALSE)
{
InstallCameraPanAheadCallback();
}
else
{
- if (gPlayerAvatar.running1 == 1)
+ // this code is never reached.
+ if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION)
{
gUnknown_0300059C ^= 1;
if (gUnknown_0300059C == 0)
diff --git a/src/field_control_avatar.c b/src/field/field_control_avatar.c
index ff8e8504c..e9dd0e9a6 100644
--- a/src/field_control_avatar.c
+++ b/src/field/field_control_avatar.c
@@ -124,8 +124,8 @@ void FieldClearPlayerInput(struct FieldInput *input)
void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys)
{
- u8 r6 = gPlayerAvatar.running1;
- u8 r9 = gPlayerAvatar.running2;
+ u8 r6 = gPlayerAvatar.tileTransitionState;
+ u8 r9 = gPlayerAvatar.runningState;
bool8 forcedMove = MetatileBehavior_IsMoveTile(cur_mapdata_block_role_at_player_pos(r9));
if ((r6 == 2 && forcedMove == FALSE) || r6 == 0)
@@ -856,7 +856,7 @@ u8 sub_8068F18(void)
return 0;
}
-u8 *GetFieldObjectScriptPointerForComparison(void)
+u8 *GetFieldObjectScriptPointerPlayerFacing(void)
{
u8 r4;
struct MapPosition position;
diff --git a/src/field_door.c b/src/field/field_door.c
index ab46f0696..ab46f0696 100644
--- a/src/field_door.c
+++ b/src/field/field_door.c
diff --git a/src/field_effect.c b/src/field/field_effect.c
index 0625e9d18..bd78fb632 100644
--- a/src/field_effect.c
+++ b/src/field/field_effect.c
@@ -37,7 +37,7 @@ const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/field_effect_obj
const u32 gSpriteImage_839E474[] = INCBIN_U32("graphics/misc/pokecenter_monitor/0.4bpp");
const u32 gSpriteImage_839E534[] = INCBIN_U32("graphics/misc/pokecenter_monitor/1.4bpp");
const u32 gSpriteImage_839E5F4[] = INCBIN_U32("graphics/misc/big_hof_monitor.4bpp");
-const u32 gSpriteImage_839E7F4[] = INCBIN_U32("graphics/misc/small_hof_monitor.4bpp");
+const u8 gSpriteImage_839E7F4[] = INCBIN_U8("graphics/misc/small_hof_monitor.4bpp");
const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/field_effect_objects/palettes/05.gbapal");
// Graphics for the lights streaking past your Pokemon when it uses a field move.
@@ -110,7 +110,7 @@ const struct SpriteFrameImage gSpriteImageTable_839F170[] = {
};
const struct SpriteFrameImage gSpriteImageTable_839F178[] = {
- {.data = (u8 *)gSpriteImage_839E7F4, .size = 0x200} // the macro breaks down here
+ {.data = gSpriteImage_839E7F4, .size = 0x200} // the macro breaks down here
};
const struct Subsprite Unknown_39F180[] = {
@@ -660,7 +660,7 @@ u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subprio
const struct CompressedSpritePalette *spritePalette;
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (u32)gUnknown_081FAF4C[3] /* this is actually u8* or something, pointing to ewram */, gUnknown_081FAF4C[3], species, g);
- spritePalette = sub_80409C8(species, d, g);
+ spritePalette = GetMonSpritePalStructFromOtIdPersonality(species, d, g);
LoadCompressedObjectPalette(spritePalette);
GetMonSpriteTemplate_803C56C(species, 3);
gUnknown_02024E8C.paletteTag = spritePalette->tag;
@@ -1213,7 +1213,7 @@ void task00_8084310(u8 taskId)
}
if (!FieldEffectActiveListContains(FLDEFF_USE_FLY))
{
- flag_var_implications_of_teleport_();
+ Overworld_ResetStateAfterFly();
warp_in();
SetMainCallback2(CB2_LoadMap);
gFieldCallback = mapldr_08084390;
@@ -1223,7 +1223,7 @@ void task00_8084310(u8 taskId)
void mapldr_08084390(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_black();
CreateTask(c3_080843F8, 0);
gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1;
@@ -1264,7 +1264,7 @@ extern void CameraObjectReset1(void);
void sub_8086748(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_for_map_transition();
ScriptContext2_Enable();
FreezeMapObjects();
@@ -1287,7 +1287,7 @@ bool8 sub_80867AC(struct Task *task) // gUnknown_0839F2CC[0]
playerSprite = &gSprites[gPlayerAvatar.spriteId];
CameraObjectReset2();
gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1;
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
FieldObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble()));
task->data[4] = playerSprite->subspriteMode;
playerObject->mapobj_bit_26 = 1;
@@ -1382,7 +1382,7 @@ bool8 sub_80869B8(struct Task *task)
bool8 sub_80869F8(struct Task *task)
{
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
CameraObjectReset1();
UnfreezeMapObjects();
@@ -1533,7 +1533,7 @@ void sub_8086C40(void)
void sub_8086C94(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_for_map_transition();
ScriptContext2_Enable();
CreateTask(sub_8086CBC, 0);
@@ -1678,7 +1678,7 @@ void sub_8086F64(u8 taskId)
bool8 sub_8086FB0(struct Task *task, struct MapObject *mapObject)
{
ScriptContext2_Enable();
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
task->data[0]++;
return FALSE;
}
@@ -1725,7 +1725,7 @@ bool8 sub_8087058(struct Task *task, struct MapObject *mapObject)
return TRUE;
}
ScriptContext2_Disable();
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
DestroyTask(FindTaskIdByFunc(sub_8086F64));
FieldEffectActiveListRemove(FLDEFF_USE_WATERFALL);
return FALSE;
@@ -1751,7 +1751,7 @@ void Task_Dive(u8 taskId)
bool8 sub_8087124(struct Task *task)
{
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
task->data[0]++;
return FALSE;
}
@@ -1796,7 +1796,7 @@ bool8 sub_808722C(struct Task *task, struct MapObject *mapObject, struct Sprite
FreezeMapObjects();
CameraObjectReset2();
SetCameraPanningCallback(NULL);
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
mapObject->mapobj_bit_26 = 1;
task->data[1] = 1;
task->data[0]++;
@@ -1894,11 +1894,10 @@ bool8 sub_80873F4(struct Task *task, struct MapObject *mapObject, struct Sprite
}
void sub_8087470(u8);
-extern u8 sub_80608A4(u8);
void mapldr_080851BC(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_for_map_transition();
ScriptContext2_Enable();
gFieldCallback = NULL;
@@ -1914,7 +1913,7 @@ bool8 sub_80874CC(struct Task *task, struct MapObject *mapObject, struct Sprite
{
CameraObjectReset2();
FreezeMapObjects();
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
mapObject->mapobj_bit_13 = 1;
task->data[0]++;
return FALSE;
@@ -1952,7 +1951,7 @@ bool8 sub_808759C(struct Task *task, struct MapObject *mapObject, struct Sprite
{
if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject))
{
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
UnfreezeMapObjects();
DestroyTask(FindTaskIdByFunc(sub_8087470));
@@ -1997,7 +1996,7 @@ bool8 sub_80876C8(struct Task *task, struct MapObject *mapObject, struct Sprite
{
FreezeMapObjects();
CameraObjectReset2();
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
mapObject->mapobj_bit_26 = 1;
task->data[0]++;
return FALSE;
@@ -2135,7 +2134,7 @@ void sub_8087A74(u8);
void mapldr_080859D4(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_for_map_transition();
ScriptContext2_Enable();
FreezeMapObjects();
@@ -2267,7 +2266,7 @@ void sub_8087D78(struct Task *task)
{
if (!gPaletteFade.active && sub_8054034() == TRUE)
{
- sub_8053570();
+ Overworld_SetWarpDestToLastHealLoc();
warp_in();
SetMainCallback2(CB2_LoadMap);
gFieldCallback = mapldr_08085D88;
@@ -2279,7 +2278,7 @@ void sub_8087E1C(u8);
void mapldr_08085D88(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_for_map_transition();
ScriptContext2_Enable();
FreezeMapObjects();
@@ -2880,7 +2879,7 @@ u8 FldEff_UseSurf(void)
u8 taskId;
taskId = CreateTask(sub_8088954, 0xff);
gTasks[taskId].data[15] = gFieldEffectArguments[0];
- sav1_reset_battle_music_maybe();
+ Overworld_ClearSavedMusic();
Overworld_ChangeMusicTo(0x016d);
return FALSE;
}
@@ -2894,7 +2893,7 @@ void sub_8088984(struct Task *task)
{
ScriptContext2_Enable();
FreezeMapObjects();
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
SetPlayerAvatarStateMask(8);
PlayerGetDestCoords(&task->data[1], &task->data[2]);
MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].placeholder18, &task->data[1], &task->data[2]);
@@ -2948,7 +2947,7 @@ void sub_8088AF4(struct Task *task)
mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject))
{
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
gPlayerAvatar.flags &= 0xdf;
FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->placeholder18));
sub_8127ED0(mapObject->mapobj_unk_1A, 1);
@@ -3025,7 +3024,7 @@ void sub_8088CA0(struct Task *task)
if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject))
{
task->data[15] = gPlayerAvatar.flags;
- gPlayerAvatar.unk6 = 0x01;
+ gPlayerAvatar.preventStep = TRUE;
SetPlayerAvatarStateMask(1);
sub_8059BF4();
FieldObjectSetSpecialAnim(mapObject, 0x39);
@@ -3297,7 +3296,7 @@ void sub_80892A0(struct Task *task)
task->data[0]++;
task->data[2] = 17;
task->data[15] = gPlayerAvatar.flags;
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
SetPlayerAvatarStateMask(0x01);
if (task->data[15] & 0x08)
{
@@ -3399,7 +3398,7 @@ void fishE(struct Task *task)
sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(state));
FieldObjectTurn(mapObject, DIR_SOUTH);
gPlayerAvatar.flags = task->data[15];
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
FieldEffectActiveListRemove(FLDEFF_FLY_IN);
DestroyTask(FindTaskIdByFunc(sub_8089270));
}
diff --git a/src/field/field_effect_helpers.c b/src/field/field_effect_helpers.c
new file mode 100644
index 000000000..2ad8bdce3
--- /dev/null
+++ b/src/field/field_effect_helpers.c
@@ -0,0 +1,1632 @@
+#include "global.h"
+#include "sprite.h"
+#include "fieldmap.h"
+#include "metatile_behavior.h"
+#include "songs.h"
+#include "sound.h"
+#include "field_map_obj.h"
+#include "field_camera.h"
+#include "field_map_obj_helpers.h"
+#include "field_weather.h"
+#include "field_effect.h"
+#include "field_ground_effect.h"
+#include "field_effect_helpers.h"
+
+static void sub_81269E0(struct Sprite *);
+static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite);
+static void npc_pal_op_A(struct MapObject *, u8);
+static void npc_pal_op_B(struct MapObject *, u8);
+static void sub_81275A0(struct Sprite *);
+static void sub_81275C4(struct Sprite *);
+static void sub_8127DA0(struct Sprite *);
+static void sub_8127DD0(struct Sprite *);
+static void sub_8127E30(struct Sprite *);
+static void sub_812882C(struct Sprite *, u8, u8);
+static void sub_81278D8(struct Sprite *);
+static void sub_8127FD4(struct MapObject *, struct Sprite *);
+static void sub_812800C(struct MapObject *, struct Sprite *);
+static void sub_81280A0(struct MapObject *, struct Sprite *, struct Sprite *);
+static void sub_8128174(struct Sprite *);
+static u32 ShowDisguiseFieldEffect(u8, u8, u8);
+
+const u8 UnusedEggString_8401E28[] = _("タマゴ");
+
+const u16 gUnknown_08401E2C[] = {
+ 0x0c,
+ 0x1c,
+ 0x2c
+};
+
+const u8 gUnknown_08401E32[] = {
+ 0,
+ 1,
+ 2,
+ 3
+};
+
+const u16 gUnknown_08401E36[] = {
+ 4,
+ 4,
+ 4,
+ 16
+};
+
+void (*const gUnknown_08401E40[])(struct Sprite *) = {
+ sub_81275A0,
+ sub_81275C4
+};
+
+void (*const gUnknown_08401E48[])(struct Sprite *) = {
+ sub_8127DA0,
+ sub_8127DD0,
+ sub_8127E30
+};
+
+const u8 gUnknown_08401E54[] = {
+ 0,
+ 0,
+ 1,
+ 2,
+ 3
+};
+
+const u16 gUnknown_08401E5A[] = {
+ 3,
+ 7
+};
+
+void SetUpReflection(struct MapObject *mapObject, struct Sprite *sprite, bool8 flag)
+{
+ struct Sprite *newSprite;
+
+ newSprite = &gSprites[obj_unfreeze(sprite, sprite->pos1.x, sprite->pos1.y, 0x98)];
+ newSprite->callback = sub_81269E0;
+ newSprite->oam.priority = 3;
+ newSprite->oam.paletteNum = gUnknown_0830FD14[newSprite->oam.paletteNum];
+ newSprite->usingSheet = TRUE;
+ newSprite->anims = gDummySpriteAnimTable;
+ StartSpriteAnim(newSprite, 0);
+ newSprite->affineAnims = gDummySpriteAffineAnimTable;
+ newSprite->affineAnimBeginning = TRUE;
+ newSprite->subspriteMode = 0;
+ newSprite->data0 = sprite->data0;
+ newSprite->data1 = mapObject->localId;
+ newSprite->data7 = flag;
+ npc_pal_op(mapObject, newSprite);
+ if (!flag)
+ {
+ newSprite->oam.affineMode = 1;
+ }
+}
+
+static s16 sub_81268D0(struct MapObject *mapObject)
+{
+ return GetFieldObjectGraphicsInfo(mapObject->graphicsId)->height - 2;
+}
+
+static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ u8 whichElement;
+ u16 unk_8041e2c[ARRAY_COUNT(gUnknown_08401E2C)];
+
+ memcpy(unk_8041e2c, gUnknown_08401E2C, sizeof gUnknown_08401E2C);
+ sprite->data2 = 0;
+ if (!GetFieldObjectGraphicsInfo(mapObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = sub_8057450(mapObject->mapobj_unk_1F)) || (whichElement = sub_8057450(mapObject->mapobj_unk_1E))))
+ {
+ sprite->data2 = unk_8041e2c[whichElement - 1];
+ npc_pal_op_A(mapObject, sprite->oam.paletteNum);
+ }
+ else
+ {
+ npc_pal_op_B(mapObject, sprite->oam.paletteNum);
+ }
+}
+
+static void npc_pal_op_B(struct MapObject *mapObject, u8 paletteNum)
+{
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+
+ graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId);
+ if (graphicsInfo->paletteTag2 != 0x11ff)
+ {
+ if (graphicsInfo->paletteSlot == 0)
+ {
+ npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, paletteNum);
+ }
+ else if (graphicsInfo->paletteSlot == 10)
+ {
+ npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, paletteNum);
+ }
+ else
+ {
+ pal_patch_for_npc(npc_paltag_by_palslot(paletteNum), paletteNum);
+ }
+ sub_807D78C(paletteNum);
+ }
+}
+
+static void npc_pal_op_A(struct MapObject *mapObject, u8 paletteNum)
+{
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+
+ graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId);
+ if (graphicsInfo->paletteTag2 != 0x11ff)
+ {
+ pal_patch_for_npc(graphicsInfo->paletteTag2, paletteNum);
+ sub_807D78C(paletteNum);
+ }
+}
+
+static void sub_81269E0(struct Sprite *sprite)
+{
+ struct MapObject *mapObject;
+ struct Sprite *oldSprite;
+
+ mapObject = &gMapObjects[sprite->data0];
+ oldSprite = &gSprites[mapObject->spriteId];
+ if (!mapObject->active || !mapObject->mapobj_bit_17 || mapObject->localId != sprite->data1)
+ {
+ sprite->inUse = FALSE;
+ }
+ else
+ {
+ sprite->oam.paletteNum = gUnknown_0830FD14[oldSprite->oam.paletteNum];
+ sprite->oam.shape = oldSprite->oam.shape;
+ sprite->oam.size = oldSprite->oam.size;
+ sprite->oam.matrixNum = oldSprite->oam.matrixNum | 0x10;
+ sprite->oam.tileNum = oldSprite->oam.tileNum;
+ sprite->subspriteTables = oldSprite->subspriteTables;
+ sprite->subspriteTableNum = oldSprite->subspriteTableNum;
+ sprite->invisible = oldSprite->invisible;
+ sprite->pos1.x = oldSprite->pos1.x;
+ sprite->pos1.y = oldSprite->pos1.y + sub_81268D0(mapObject) + sprite->data2;
+ sprite->centerToCornerVecX = oldSprite->centerToCornerVecX;
+ sprite->centerToCornerVecY = oldSprite->centerToCornerVecY;
+ sprite->pos2.x = oldSprite->pos2.x;
+ sprite->pos2.y = -oldSprite->pos2.y;
+ sprite->coordOffsetEnabled = oldSprite->coordOffsetEnabled;
+ if (sprite->data7 == FALSE)
+ {
+ sprite->oam.matrixNum = 0;
+ if (oldSprite->oam.matrixNum & 0x8)
+ {
+ sprite->oam.matrixNum = 1;
+ }
+ }
+ }
+}
+
+u8 sub_8126B54(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[8] /*gFieldEffectSpriteTemplate_Arrow*/, 0, 0, 0x52);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->oam.priority = 1;
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->invisible = TRUE;
+ }
+ return spriteId;
+}
+
+void objid_set_invisible(u8 spriteId)
+{
+ gSprites[spriteId].invisible = TRUE;
+}
+
+void sub_8126BC4(u8 spriteId, u8 animNum, s16 x, s16 y)
+{
+ s16 x2;
+ s16 y2;
+ struct Sprite *sprite;
+
+ sprite = &gSprites[spriteId];
+ if (sprite->invisible || sprite->data0 != x || sprite->data1 != y)
+ {
+ sub_80603CC(x, y, &x2, &y2);
+ sprite = &gSprites[spriteId];
+ sprite->pos1.x = x2 + 8;
+ sprite->pos1.y = y2 + 8;
+ sprite->invisible = FALSE;
+ sprite->data0 = x;
+ sprite->data1 = y;
+ StartSpriteAnim(sprite, animNum - 1);
+ }
+}
+
+u32 FldEff_Shadow(void)
+{
+ u8 mapObjectId;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+ u8 spriteId;
+
+ mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[gUnknown_08401E32[graphicsInfo->shadowSize]], 0, 0, 0x94);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].coordOffsetEnabled = TRUE;
+ gSprites[spriteId].data0 = gFieldEffectArguments[0];
+ gSprites[spriteId].data1 = gFieldEffectArguments[1];
+ gSprites[spriteId].data2 = gFieldEffectArguments[2];
+ gSprites[spriteId].data3 = (graphicsInfo->height >> 1) - gUnknown_08401E36[graphicsInfo->shadowSize];
+ }
+ return 0;
+}
+
+void oamc_shadow(struct Sprite *sprite)
+{
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+ struct Sprite *linkedSprite;
+
+ if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId))
+ {
+ FieldEffectStop(sprite, FLDEFF_SHADOW);
+ }
+ else
+ {
+ mapObject = &gMapObjects[mapObjectId];
+ linkedSprite = &gSprites[mapObject->spriteId];
+ sprite->oam.priority = linkedSprite->oam.priority;
+ sprite->pos1.x = linkedSprite->pos1.x;
+ sprite->pos1.y = linkedSprite->pos1.y + sprite->data3;
+ if (!mapObject->active || !mapObject->mapobj_bit_22 || MetatileBehavior_IsPokeGrass(mapObject->mapobj_unk_1E) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->mapobj_unk_1E) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->mapobj_unk_1F) || MetatileBehavior_IsReflective(mapObject->mapobj_unk_1E) || MetatileBehavior_IsReflective(mapObject->mapobj_unk_1F))
+ {
+ FieldEffectStop(sprite, FLDEFF_SHADOW);
+ }
+ }
+}
+
+u32 FldEff_TallGrass(void)
+{
+ s16 x;
+ s16 y;
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ x = gFieldEffectArguments[0];
+ y = gFieldEffectArguments[1];
+ sub_8060470(&x, &y, 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[4], x, y, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = gFieldEffectArguments[2];
+ sprite->data1 = gFieldEffectArguments[0];
+ sprite->data2 = gFieldEffectArguments[1];
+ sprite->data3 = gFieldEffectArguments[4];
+ sprite->data4 = gFieldEffectArguments[5];
+ sprite->data5 = gFieldEffectArguments[6];
+ if (gFieldEffectArguments[7])
+ {
+ SeekSpriteAnim(sprite, 4);
+ }
+ }
+ return 0;
+}
+
+void unc_grass_normal(struct Sprite *sprite)
+{
+ u8 mapNum;
+ u8 mapGroup;
+ u8 metatileBehavior;
+ u8 localId;
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+
+ mapNum = sprite->data5 >> 8;
+ mapGroup = sprite->data5;
+ if (gCamera.field_0 && (gSaveBlock1.location.mapNum != mapNum || gSaveBlock1.location.mapGroup != mapGroup))
+ {
+ sprite->data1 -= gCamera.x;
+ sprite->data2 -= gCamera.y;
+ sprite->data5 = ((u8)gSaveBlock1.location.mapNum << 8) | (u8)gSaveBlock1.location.mapGroup;
+ }
+ localId = sprite->data3 >> 8;
+ mapNum = sprite->data3;
+ mapGroup = sprite->data4;
+ metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data1, sprite->data2);
+ if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) || !MetatileBehavior_IsTallGrass(metatileBehavior) || (sprite->data7 && sprite->animEnded))
+ {
+ FieldEffectStop(sprite, FLDEFF_TALL_GRASS);
+ }
+ else
+ {
+ mapObject = &gMapObjects[mapObjectId];
+ if ((mapObject->coords2.x != sprite->data1 || mapObject->coords2.y != sprite->data2) && (mapObject->coords3.x != sprite->data1 || mapObject->coords3.y != sprite->data2))
+ {
+ sprite->data7 = TRUE;
+ }
+ metatileBehavior = 0;
+ if (sprite->animCmdIndex == 0)
+ {
+ metatileBehavior = 4;
+ }
+ sub_806487C(sprite, 0);
+ sub_812882C(sprite, sprite->data0, metatileBehavior);
+ }
+}
+
+u32 FldEff_JumpTallGrass(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[10], gFieldEffectArguments[0], gFieldEffectArguments[1], 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = gFieldEffectArguments[2];
+ sprite->data1 = 12;
+ }
+ return 0;
+}
+
+u8 sub_8126FF0(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y)
+{
+ struct Sprite *sprite;
+ u8 i;
+
+ for (i = 0; i < MAX_SPRITES; i ++)
+ {
+ if (gSprites[i].inUse)
+ {
+ sprite = &gSprites[i];
+ if (sprite->callback == unc_grass_normal && (x == sprite->data1 && y == sprite->data2) && (localId == (u8)(sprite->data3 >> 8) && mapNum == (sprite->data3 & 0xFF) && mapGroup == sprite->data4))
+ {
+ return i;
+ }
+ }
+ }
+ return MAX_SPRITES;
+}
+
+u32 FldEff_LongGrass(void)
+{
+ s16 x;
+ s16 y;
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ x = gFieldEffectArguments[0];
+ y = gFieldEffectArguments[1];
+ sub_8060470(&x, &y, 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[15], x, y, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = ZCoordToPriority(gFieldEffectArguments[2]);
+ sprite->data0 = gFieldEffectArguments[2];
+ sprite->data1 = gFieldEffectArguments[0];
+ sprite->data2 = gFieldEffectArguments[1];
+ sprite->data3 = gFieldEffectArguments[4];
+ sprite->data4 = gFieldEffectArguments[5];
+ sprite->data5 = gFieldEffectArguments[6];
+ if (gFieldEffectArguments[7])
+ {
+ SeekSpriteAnim(sprite, 6);
+ }
+ }
+ return 0;
+}
+
+void unc_grass_tall(struct Sprite *sprite)
+{
+ u8 mapNum;
+ u8 mapGroup;
+ u8 metatileBehavior;
+ u8 localId;
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+
+ mapNum = sprite->data5 >> 8;
+ mapGroup = sprite->data5;
+ if (gCamera.field_0 && (gSaveBlock1.location.mapNum != mapNum || gSaveBlock1.location.mapGroup != mapGroup))
+ {
+ sprite->data1 -= gCamera.x;
+ sprite->data2 -= gCamera.y;
+ sprite->data5 = ((u8)gSaveBlock1.location.mapNum << 8) | (u8)gSaveBlock1.location.mapGroup;
+ }
+ localId = sprite->data3 >> 8;
+ mapNum = sprite->data3;
+ mapGroup = sprite->data4;
+ metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data1, sprite->data2);
+ if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) || !MetatileBehavior_IsLongGrass(metatileBehavior) || (sprite->data7 && sprite->animEnded))
+ {
+ FieldEffectStop(sprite, FLDEFF_LONG_GRASS);
+ }
+ else
+ {
+ mapObject = &gMapObjects[mapObjectId];
+ if ((mapObject->coords2.x != sprite->data1 || mapObject->coords2.y != sprite->data2) && (mapObject->coords3.x != sprite->data1 || mapObject->coords3.y != sprite->data2))
+ {
+ sprite->data7 = TRUE;
+ }
+ sub_806487C(sprite, 0);
+ sub_812882C(sprite, sprite->data0, 0);
+ }
+}
+
+u32 FldEff_JumpLongGrass(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[16], gFieldEffectArguments[0], gFieldEffectArguments[1], 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = gFieldEffectArguments[2];
+ sprite->data1 = 18;
+ }
+ return 0;
+}
+
+u32 FldEff_ShortGrass(void)
+{
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ mapObject = &gMapObjects[mapObjectId];
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[30], 0, 0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &(gSprites[spriteId]);
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority;
+ sprite->data0 = gFieldEffectArguments[0];
+ sprite->data1 = gFieldEffectArguments[1];
+ sprite->data2 = gFieldEffectArguments[2];
+ sprite->data3 = gSprites[mapObject->spriteId].pos1.x;
+ sprite->data4 = gSprites[mapObject->spriteId].pos1.y;
+ }
+ return 0;
+}
+
+void sub_8127334(struct Sprite *sprite)
+{
+ u8 mapObjectId;
+ s16 x;
+ s16 y;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+ struct Sprite *linkedSprite;
+
+ if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_18)
+ {
+ FieldEffectStop(sprite, FLDEFF_SHORT_GRASS);
+ }
+ else
+ {
+ graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId);
+ linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId];
+ y = linkedSprite->pos1.y;
+ x = linkedSprite->pos1.x;
+ if (x != sprite->data3 || y != sprite->data4)
+ {
+ sprite->data3 = x;
+ sprite->data4 = y;
+ if (sprite->animEnded)
+ {
+ StartSpriteAnim(sprite, 0);
+ }
+ }
+ sprite->pos1.x = x;
+ sprite->pos1.y = y;
+ sprite->pos2.y = (graphicsInfo->height >> 1) - 8;
+ sprite->subpriority = linkedSprite->subpriority - 1;
+ sprite->oam.priority = linkedSprite->oam.priority;
+ sub_806487C(sprite, linkedSprite->invisible);
+ }
+}
+
+u32 FldEff_SandFootprints(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[11], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data7 = FLDEFF_SAND_FOOTPRINTS;
+ StartSpriteAnim(sprite, gFieldEffectArguments[4]);
+ }
+ return 0;
+}
+
+u32 FldEff_DeepSandFootprints(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[23], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data7 = FLDEFF_DEEP_SAND_FOOTPRINTS;
+ StartSpriteAnim(sprite, gFieldEffectArguments[4]);
+ }
+ return spriteId;
+}
+
+u32 FldEff_BikeTireTracks(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[27], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data7 = FLDEFF_BIKE_TIRE_TRACKS;
+ StartSpriteAnim(sprite, gFieldEffectArguments[4]);
+ }
+ return spriteId;
+}
+
+void sub_8127584(struct Sprite *sprite)
+{
+ gUnknown_08401E40[sprite->data0](sprite);
+}
+
+static void sub_81275A0(struct Sprite *sprite)
+{
+ if (++sprite->data1 > 40)
+ {
+ sprite->data0 = 1;
+ }
+ sub_806487C(sprite, FALSE);
+}
+
+static void sub_81275C4(struct Sprite *sprite)
+{
+ sprite->invisible ^= 1;
+ sprite->data1 ++;
+ sub_806487C(sprite, sprite->invisible);
+ if (sprite->data1 > 56)
+ {
+ FieldEffectStop(sprite, sprite->data7);
+ }
+}
+
+u32 FldEff_Splash(void)
+{
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+ u8 spriteId;
+ struct Sprite *sprite;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+ struct Sprite *linkedSprite;
+
+ mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ mapObject = &gMapObjects[mapObjectId];
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId);
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ linkedSprite = &gSprites[mapObject->spriteId];
+ sprite->oam.priority = linkedSprite->oam.priority;
+ sprite->data0 = gFieldEffectArguments[0];
+ sprite->data1 = gFieldEffectArguments[1];
+ sprite->data2 = gFieldEffectArguments[2];
+ sprite->pos2.y = (graphicsInfo->height >> 1) - 4;
+ PlaySE(SE_MIZU);
+ }
+ return 0;
+}
+
+void sub_81276B4(struct Sprite *sprite)
+{
+ u8 mapObjectId;
+
+ if (sprite->animEnded || TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId))
+ {
+ FieldEffectStop(sprite, FLDEFF_SPLASH);
+ }
+ else
+ {
+ sprite->pos1.x = gSprites[gMapObjects[mapObjectId].spriteId].pos1.x;
+ sprite->pos1.y = gSprites[gMapObjects[mapObjectId].spriteId].pos1.y;
+ sub_806487C(sprite, FALSE);
+ }
+}
+
+u32 FldEff_JumpSmallSplash(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[14], gFieldEffectArguments[0], gFieldEffectArguments[1], 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = gFieldEffectArguments[2];
+ sprite->data1 = FLDEFF_JUMP_SMALL_SPLASH;
+ }
+ return 0;
+}
+
+u32 FldEff_JumpBigSplash(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[12], gFieldEffectArguments[0], gFieldEffectArguments[1], 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = gFieldEffectArguments[2];
+ sprite->data1 = FLDEFF_JUMP_BIG_SPLASH;
+ }
+ return 0;
+}
+
+u32 FldEff_FeetInFlowingWater(void)
+{
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+ u8 spriteId;
+ struct Sprite *sprite;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+
+ mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ mapObject = &gMapObjects[mapObjectId];
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId);
+ sprite = &gSprites[spriteId];
+ sprite->callback = sub_81278D8;
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority;
+ sprite->data0 = gFieldEffectArguments[0];
+ sprite->data1 = gFieldEffectArguments[1];
+ sprite->data2 = gFieldEffectArguments[2];
+ sprite->data3 = -1;
+ sprite->data4 = -1;
+ sprite->pos2.y = (graphicsInfo->height >> 1) - 4;
+ StartSpriteAnim(sprite, 1);
+ }
+ return 0;
+}
+
+static void sub_81278D8(struct Sprite *sprite)
+{
+ u8 mapObjectId;
+ struct Sprite *linkedSprite;
+ struct MapObject *mapObject;
+
+ if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_19)
+ {
+ FieldEffectStop(sprite, FLDEFF_FEET_IN_FLOWING_WATER);
+ }
+ else
+ {
+ mapObject = &gMapObjects[mapObjectId];
+ linkedSprite = &gSprites[mapObject->spriteId];
+ sprite->pos1.x = linkedSprite->pos1.x;
+ sprite->pos1.y = linkedSprite->pos1.y;
+ sprite->subpriority = linkedSprite->subpriority;
+ sub_806487C(sprite, FALSE);
+ if (mapObject->coords2.x != sprite->data3 || mapObject->coords2.y != sprite->data4)
+ {
+ sprite->data3 = mapObject->coords2.x;
+ sprite->data4 = mapObject->coords2.y;
+ if (!sprite->invisible)
+ {
+ PlaySE(SE_MIZU);
+ }
+ }
+ }
+}
+
+u32 FldEff_Ripple(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[5], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = FLDEFF_RIPPLE;
+ }
+ return 0;
+}
+
+u32 FldEff_HotSpringsWater(void)
+{
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ mapObject = &gMapObjects[mapObjectId];
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[31], 0, 0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority;
+ sprite->data0 = gFieldEffectArguments[0];
+ sprite->data1 = gFieldEffectArguments[1];
+ sprite->data2 = gFieldEffectArguments[2];
+ sprite->data3 = gSprites[mapObject->spriteId].pos1.x;
+ sprite->data4 = gSprites[mapObject->spriteId].pos1.y;
+ }
+ return 0;
+}
+
+void sub_8127A7C(struct Sprite *sprite)
+{
+ u8 mapObjectId;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+ struct Sprite *linkedSprite;
+
+ if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_21)
+ {
+ FieldEffectStop(sprite, FLDEFF_HOT_SPRINGS_WATER);
+ }
+ else
+ {
+ graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId);
+ linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId];
+ sprite->pos1.x = linkedSprite->pos1.x;
+ sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 8;
+ sprite->subpriority = linkedSprite->subpriority - 1;
+ sub_806487C(sprite, FALSE);
+ }
+}
+
+u32 FldEff_Unknown19(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[17], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = FLDEFF_UNKNOWN_19;
+ }
+ return 0;
+}
+
+u32 FldEff_Unknown20(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[18], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = FLDEFF_UNKNOWN_20;
+ }
+ return 0;
+}
+
+u32 FldEff_Unknown21(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[19], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = FLDEFF_UNKNOWN_21;
+ }
+ return 0;
+}
+
+u32 FldEff_Unknown22(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[20], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = FLDEFF_UNKNOWN_22;
+ }
+ return 0;
+}
+
+void ash(s16 x, s16 y, u16 c, s16 d)
+{
+ gFieldEffectArguments[0] = x;
+ gFieldEffectArguments[1] = y;
+ gFieldEffectArguments[2] = 0x52;
+ gFieldEffectArguments[3] = 1;
+ gFieldEffectArguments[4] = c;
+ gFieldEffectArguments[5] = d;
+ FieldEffectStart(FLDEFF_ASH);
+}
+
+u32 FldEff_Ash(void)
+{
+ s16 x;
+ s16 y;
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ x = gFieldEffectArguments[0];
+ y = gFieldEffectArguments[1];
+ sub_8060470(&x, &y, 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[6], x, y, gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data1 = gFieldEffectArguments[0];
+ sprite->data2 = gFieldEffectArguments[1];
+ sprite->data3 = gFieldEffectArguments[4];
+ sprite->data4 = gFieldEffectArguments[5];
+ }
+ return 0;
+}
+
+void sub_8127D84(struct Sprite *sprite)
+{
+ gUnknown_08401E48[sprite->data0](sprite);
+}
+
+static void sub_8127DA0(struct Sprite *sprite)
+{
+ sprite->invisible = TRUE;
+ sprite->animPaused = TRUE;
+ if (--sprite->data4 == 0)
+ {
+ sprite->data0 = 1;
+ }
+}
+
+static void sub_8127DD0(struct Sprite *sprite)
+{
+ sprite->invisible = FALSE;
+ sprite->animPaused = FALSE;
+ MapGridSetMetatileIdAt(sprite->data1, sprite->data2, sprite->data3);
+ CurrentMapDrawMetatileAt(sprite->data1, sprite->data2);
+ gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_2 = TRUE;
+ sprite->data0 = 2;
+}
+
+static void sub_8127E30(struct Sprite *sprite)
+{
+ sub_806487C(sprite, FALSE);
+ if (sprite->animEnded)
+ {
+ FieldEffectStop(sprite, FLDEFF_ASH);
+ }
+}
+
+u32 FldEff_SurfBlob(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[7], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x96);
+ if (spriteId !=MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.paletteNum = 0;
+ sprite->data2 = gFieldEffectArguments[2];
+ sprite->data3 = -1;
+ sprite->data6 = -1;
+ sprite->data7 = -1;
+ }
+ FieldEffectActiveListRemove(FLDEFF_SURF_BLOB);
+ return spriteId;
+}
+
+void sub_8127ED0(u8 spriteId, u8 value)
+{
+ gSprites[spriteId].data0 = (gSprites[spriteId].data0 & ~0xF) | (value & 0xF);
+}
+
+void sub_8127EFC(u8 spriteId, u8 value)
+{
+ gSprites[spriteId].data0 = (gSprites[spriteId].data0 & ~0xF0) | ((value & 0xF) << 4);
+}
+
+void sub_8127F28(u8 spriteId, u8 value, s16 data1)
+{
+ gSprites[spriteId].data0 = (gSprites[spriteId].data0 & ~0xF00) | ((value & 0xF) << 8);
+ gSprites[spriteId].data1 = data1;
+}
+
+static u8 sub_8127F5C(struct Sprite *sprite)
+{
+ return sprite->data0 & 0xF;
+}
+
+static u8 sub_8127F64(struct Sprite *sprite)
+{
+ return (sprite->data0 & 0xF0) >> 4;
+}
+
+static u8 sub_8127F70(struct Sprite *sprite)
+{
+ return (sprite->data0 & 0xF00) >> 8;
+}
+
+void sub_8127F7C(struct Sprite *sprite)
+{
+ struct MapObject *mapObject;
+ struct Sprite *linkedSprite;
+
+ mapObject = &gMapObjects[sprite->data2];
+ linkedSprite = &gSprites[mapObject->spriteId];
+ sub_8127FD4(mapObject, sprite);
+ sub_812800C(mapObject, sprite);
+ sub_81280A0(mapObject, linkedSprite, sprite);
+ sprite->oam.priority = linkedSprite->oam.priority;
+}
+
+static void sub_8127FD4(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ u8 unk_8041E54[ARRAY_COUNT(gUnknown_08401E54)];
+
+ memcpy(unk_8041E54, gUnknown_08401E54, sizeof gUnknown_08401E54);
+ if (sub_8127F64(sprite) == 0)
+ {
+ StartSpriteAnimIfDifferent(sprite, unk_8041E54[mapObject->placeholder18]);
+ }
+}
+
+#ifdef NONMATCHING
+static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ s16 x;
+ s16 y;
+ u8 i;
+
+ x = mapObject->coords2.x;
+ y = mapObject->coords2.y;
+ if (sprite->pos2.y == 0 && (x != sprite->data6 || y != sprite->data7))
+ {
+ sprite->data5 = sprite->pos2.y;
+ for (sprite->data6 = x, sprite->data7 = y, i = DIR_SOUTH; i <= DIR_EAST; i ++, x = sprite->data6, y = sprite->data7)
+ {
+ MoveCoords(i, &x, &y);
+ if (MapGridGetZCoordAt(x, y) == 3)
+ {
+ sprite->data5 ++;
+ break;
+ }
+ }
+ }
+}
+#else
+__attribute__((naked)) static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r8\n"
+ "\tpush {r7}\n"
+ "\tsub sp, 0x4\n"
+ "\tadds r4, r1, 0\n"
+ "\tldrh r2, [r0, 0x10]\n"
+ "\tmov r1, sp\n"
+ "\tstrh r2, [r1]\n"
+ "\tldrh r1, [r0, 0x12]\n"
+ "\tmov r0, sp\n"
+ "\tadds r0, 0x2\n"
+ "\tstrh r1, [r0]\n"
+ "\tmovs r2, 0x26\n"
+ "\tldrsh r3, [r4, r2]\n"
+ "\tmov r8, r0\n"
+ "\tcmp r3, 0\n"
+ "\tbne _08128094\n"
+ "\tmov r0, sp\n"
+ "\tmovs r5, 0\n"
+ "\tldrsh r2, [r0, r5]\n"
+ "\tmovs r5, 0x3A\n"
+ "\tldrsh r0, [r4, r5]\n"
+ "\tcmp r2, r0\n"
+ "\tbne _08128048\n"
+ "\tlsls r0, r1, 16\n"
+ "\tasrs r0, 16\n"
+ "\tmovs r5, 0x3C\n"
+ "\tldrsh r1, [r4, r5]\n"
+ "\tcmp r0, r1\n"
+ "\tbeq _08128094\n"
+ "_08128048:\n"
+ "\tstrh r3, [r4, 0x38]\n"
+ "\tstrh r2, [r4, 0x3A]\n"
+ "\tmov r1, r8\n"
+ "\tmovs r2, 0\n"
+ "\tldrsh r0, [r1, r2]\n"
+ "\tstrh r0, [r4, 0x3C]\n"
+ "\tmovs r5, 0x1\n"
+ "\tmov r7, r8\n"
+ "\tmov r6, sp\n"
+ "_0812805A:\n"
+ "\tadds r0, r5, 0\n"
+ "\tmov r1, sp\n"
+ "\tadds r2, r7, 0\n"
+ "\tbl MoveCoords\n"
+ "\tmovs r1, 0\n"
+ "\tldrsh r0, [r6, r1]\n"
+ "\tmovs r2, 0\n"
+ "\tldrsh r1, [r7, r2]\n"
+ "\tbl MapGridGetZCoordAt\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tcmp r0, 0x3\n"
+ "\tbne _08128080\n"
+ "\tldrh r0, [r4, 0x38]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r4, 0x38]\n"
+ "\tb _08128094\n"
+ "_08128080:\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r5, r0, 24\n"
+ "\tldrh r0, [r4, 0x3A]\n"
+ "\tstrh r0, [r6]\n"
+ "\tldrh r0, [r4, 0x3C]\n"
+ "\tmov r1, r8\n"
+ "\tstrh r0, [r1]\n"
+ "\tcmp r5, 0x4\n"
+ "\tbls _0812805A\n"
+ "_08128094:\n"
+ "\tadd sp, 0x4\n"
+ "\tpop {r3}\n"
+ "\tmov r8, r3\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0");
+}
+#endif
+
+static void sub_81280A0(struct MapObject *mapObject, struct Sprite *linkedSprite, struct Sprite *sprite)
+{
+ u16 unk_8401E5A[ARRAY_COUNT(gUnknown_08401E5A)];
+ u8 v0;
+
+ memcpy(unk_8401E5A, gUnknown_08401E5A, sizeof gUnknown_08401E5A);
+ v0 = sub_8127F5C(sprite);
+ if (v0 != 0)
+ {
+ if (((u16)(++ sprite->data4) & unk_8401E5A[sprite->data5]) == 0)
+ {
+ sprite->pos2.y += sprite->data3;
+ }
+ if ((sprite->data4 & 0x0F) == 0)
+ {
+ sprite->data3 = -sprite->data3;
+ }
+ if (v0 != 2)
+ {
+ if (sub_8127F70(sprite) == 0)
+ {
+ linkedSprite->pos2.y = sprite->pos2.y;
+ }
+ else
+ {
+ linkedSprite->pos2.y = sprite->data1 + sprite->pos2.y;
+ }
+ sprite->pos1.x = linkedSprite->pos1.x;
+ sprite->pos1.y = linkedSprite->pos1.y + 8;
+ }
+ }
+}
+
+u8 sub_8128124(u8 oldSpriteId)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ spriteId = CreateSpriteAtEnd(&gDummySpriteTemplate, 0, 0, -1);
+ sprite = &gSprites[spriteId];
+ sprite->callback = sub_8128174;
+ sprite->invisible = TRUE;
+ sprite->data0 = oldSpriteId;
+ sprite->data1 = 1;
+ return spriteId;
+}
+
+static void sub_8128174(struct Sprite *sprite)
+{
+ struct Sprite *oldSprite;
+
+ oldSprite = &gSprites[sprite->data0];
+ if (((sprite->data2++) & 0x03) == 0)
+ {
+ oldSprite->pos2.y += sprite->data1;
+ }
+ if ((sprite->data2 & 0x0F) == 0)
+ {
+ sprite->data1 = -sprite->data1;
+ }
+}
+
+u32 FldEff_Dust(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[9], gFieldEffectArguments[0], gFieldEffectArguments[1], 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->data0 = gFieldEffectArguments[2];
+ sprite->data1 = 10;
+ }
+ return 0;
+}
+
+u32 FldEff_SandPile(void)
+{
+ u8 mapObjectId;
+ struct MapObject *mapObject;
+ u8 spriteId;
+ struct Sprite *sprite;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+
+ mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ mapObject = &gMapObjects[mapObjectId];
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[29], 0, 0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId);
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority;
+ sprite->data0 = gFieldEffectArguments[0];
+ sprite->data1 = gFieldEffectArguments[1];
+ sprite->data2 = gFieldEffectArguments[2];
+ sprite->data3 = gSprites[mapObject->spriteId].pos1.x;
+ sprite->data4 = gSprites[mapObject->spriteId].pos1.y;
+ sprite->pos2.y = (graphicsInfo->height >> 1) - 2;
+ SeekSpriteAnim(sprite, 2);
+ }
+ return 0;
+}
+
+void sub_81282E0(struct Sprite *sprite)
+{
+ u8 mapObjectId;
+ s16 x;
+ s16 y;
+
+ if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_20)
+ {
+ FieldEffectStop(sprite, FLDEFF_SAND_PILE);
+ }
+ else
+ {
+ y = gSprites[gMapObjects[mapObjectId].spriteId].pos1.y;
+ x = gSprites[gMapObjects[mapObjectId].spriteId].pos1.x;
+ if (x != sprite->data3 || y != sprite->data4)
+ {
+ sprite->data3 = x;
+ sprite->data4 = y;
+ if (sprite->animEnded)
+ {
+ StartSpriteAnim(sprite, 0);
+ }
+ }
+ sprite->pos1.x = x;
+ sprite->pos1.y = y;
+ sprite->subpriority = gSprites[gMapObjects[mapObjectId].spriteId].subpriority;
+ sub_806487C(sprite, FALSE);
+ }
+}
+
+u32 FldEff_Bubbles(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 0);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[34], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x52);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = 1;
+ }
+ return 0;
+}
+
+void sub_8128410(struct Sprite *sprite)
+{
+ sprite->data0 += 0x80;
+ sprite->data0 &= 0x100;
+ sprite->pos1.y -= sprite->data0 >> 8;
+ sub_806487C(sprite, FALSE);
+ if (sprite->invisible || sprite->animEnded)
+ {
+ FieldEffectStop(sprite, FLDEFF_BUBBLES);
+ }
+}
+
+u32 FldEff_BerryTreeGrowthSparkle(void)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 4);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[22], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = gFieldEffectArguments[3];
+ sprite->oam.paletteNum = 5;
+ sprite->data0 = FLDEFF_BERRY_TREE_GROWTH_SPARKLE;
+ }
+ return 0;
+}
+
+u32 FldEff_TreeDisguise(void)
+{
+ return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, 0x18, 0x04);
+}
+
+
+u32 FldEff_MountainDisguise(void)
+{
+ return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, 0x19, 0x03);
+}
+
+
+u32 FldEff_SandDisguise(void)
+{
+ return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 0x1C, 0x02);
+}
+
+static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum)
+{
+ u8 spriteId;
+ struct Sprite *sprite;
+
+ if (TryGetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &spriteId))
+ {
+ FieldEffectActiveListRemove(fldEff);
+ return MAX_SPRITES;
+ }
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[templateIdx], 0, 0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sprite = &gSprites[spriteId];
+ sprite->coordOffsetEnabled ++;
+ sprite->oam.paletteNum = paletteNum;
+ sprite->data1 = fldEff;
+ sprite->data2 = gFieldEffectArguments[0];
+ sprite->data3 = gFieldEffectArguments[1];
+ sprite->data4 = gFieldEffectArguments[2];
+ }
+ return spriteId;
+}
+
+void sub_81285AC(struct Sprite *sprite)
+{
+ u8 mapObjectId;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+ struct Sprite *linkedSprite;
+
+ if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data2, sprite->data3, sprite->data4, &mapObjectId))
+ {
+ FieldEffectStop(sprite, sprite->data1);
+ }
+ // else {
+ graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId);
+ linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId];
+ sprite->invisible = linkedSprite->invisible;
+ sprite->pos1.x = linkedSprite->pos1.x;
+ sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 16;
+ sprite->subpriority = linkedSprite->subpriority - 1;
+ if (sprite->data0 == 1)
+ {
+ sprite->data0 ++;
+ StartSpriteAnim(sprite, 1);
+ }
+ if (sprite->data0 == 2 && sprite->animEnded)
+ {
+ sprite->data7 = 1;
+ }
+ if (sprite->data0 == 3)
+ {
+ FieldEffectStop(sprite, sprite->data1);
+ }
+ // }
+}
+
+void sub_812869C(struct MapObject *mapObject)
+{
+ if (mapObject->mapobj_unk_21 == 1)
+ {
+ gSprites[mapObject->mapobj_unk_1A].data0 ++;
+ }
+}
+
+bool8 sub_81286C4(struct MapObject *mapObject)
+{
+ struct Sprite *sprite;
+
+ if (mapObject->mapobj_unk_21 == 2)
+ {
+ return TRUE;
+ }
+ if (mapObject->mapobj_unk_21 == 0)
+ {
+ return TRUE;
+ }
+ sprite = &gSprites[mapObject->mapobj_unk_1A];
+ if (sprite->data7)
+ {
+ mapObject->mapobj_unk_21 = 2;
+ sprite->data0 ++;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+u32 FldEff_Sparkle(void)
+{
+ u8 spriteId;
+
+ gFieldEffectArguments[0] += 7;
+ gFieldEffectArguments[1] += 7;
+ sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[35], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x52);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = gFieldEffectArguments[2];
+ gSprites[spriteId].coordOffsetEnabled = TRUE;
+ }
+ return 0;
+}
+
+void sub_8128774(struct Sprite *sprite)
+{
+ if (sprite->data0 == 0)
+ {
+ if (sprite->animEnded)
+ {
+ sprite->invisible = TRUE;
+ sprite->data0 ++;
+ }
+ if (sprite->data0 == 0)
+ {
+ return;
+ }
+ }
+ if (++ sprite->data1 >= 35)
+ {
+ FieldEffectStop(sprite, FLDEFF_SPARKLE);
+ }
+}
+
+void sub_81287C4(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ {
+ FieldEffectStop(sprite, sprite->data1);
+ }
+ else
+ {
+ sub_806487C(sprite, FALSE);
+ SetObjectSubpriorityByZCoord(sprite->data0, sprite, 0);
+ }
+}
+
+void sub_8128800(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ {
+ FieldEffectStop(sprite, sprite->data0);
+ }
+ else
+ {
+ sub_806487C(sprite, FALSE);
+ }
+}
+
+#ifdef NONMATCHING
+static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset)
+{
+ u8 i;
+ s16 xlo;
+ s16 xhi;
+ s16 lx;
+ s16 lyhi;
+ s16 ly;
+ s16 ylo;
+ s16 yhi;
+ struct MapObject *mapObject; // r4
+ const struct MapObjectGraphicsInfo *graphicsInfo; // destroyed
+ struct Sprite *linkedSprite; // r5
+
+ SetObjectSubpriorityByZCoord(z, sprite, offset);
+ for (i = 0; i < 16; i ++)
+ {
+ mapObject = &gMapObjects[i];
+ if (mapObject->active)
+ {
+ graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId);
+ linkedSprite = &gSprites[mapObject->spriteId];
+ xhi = sprite->pos1.x + sprite->centerToCornerVecX;
+ xlo = sprite->pos1.x - sprite->centerToCornerVecX;
+ lx = linkedSprite->pos1.x;
+ if (xhi < lx && xlo > lx)
+ {
+ lyhi = linkedSprite->pos1.y + linkedSprite->centerToCornerVecY;
+ ly = linkedSprite->pos1.y;
+ ylo = sprite->pos1.y - sprite->centerToCornerVecY;
+ yhi = ylo + linkedSprite->centerToCornerVecY;
+ if ((lyhi < yhi || lyhi < ylo) && ly > yhi)
+ {
+ if (sprite->subpriority <= linkedSprite->subpriority)
+ {
+ sprite->subpriority = linkedSprite->subpriority + 2;
+ break;
+ }
+ }
+ }
+ }
+ }
+}
+#else
+__attribute__((naked)) static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tadds r6, r0, 0\n"
+ "\tadds r0, r1, 0\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tlsls r2, 24\n"
+ "\tlsrs r2, 24\n"
+ "\tadds r1, r6, 0\n"
+ "\tbl SetObjectSubpriorityByZCoord\n"
+ "\tmovs r7, 0\n"
+ "_08128842:\n"
+ "\tlsls r0, r7, 3\n"
+ "\tadds r0, r7\n"
+ "\tlsls r0, 2\n"
+ "\tldr r1, _081288DC @ =gMapObjects\n"
+ "\tadds r4, r0, r1\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r0, 31\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _081288E4\n"
+ "\tldrb r0, [r4, 0x5]\n"
+ "\tbl GetFieldObjectGraphicsInfo\n"
+ "\tldrb r1, [r4, 0x4]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tldr r1, _081288E0 @ =gSprites\n"
+ "\tadds r5, r0, r1\n"
+ "\tadds r0, r6, 0\n"
+ "\tadds r0, 0x28\n"
+ "\tmovs r2, 0\n"
+ "\tldrsb r2, [r0, r2]\n"
+ "\tldrh r0, [r6, 0x20]\n"
+ "\tadds r1, r0, r2\n"
+ "\tsubs r0, r2\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r4, r0, 16\n"
+ "\tlsls r1, 16\n"
+ "\tasrs r1, 16\n"
+ "\tmovs r0, 0x20\n"
+ "\tldrsh r2, [r5, r0]\n"
+ "\tcmp r1, r2\n"
+ "\tbge _081288E4\n"
+ "\tlsls r0, r4, 16\n"
+ "\tasrs r0, 16\n"
+ "\tcmp r0, r2\n"
+ "\tble _081288E4\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x29\n"
+ "\tmovs r3, 0\n"
+ "\tldrsb r3, [r0, r3]\n"
+ "\tldrh r2, [r5, 0x22]\n"
+ "\tadds r2, r3\n"
+ "\tldrh r4, [r5, 0x22]\n"
+ "\tadds r0, r6, 0\n"
+ "\tadds r0, 0x29\n"
+ "\tmovs r1, 0\n"
+ "\tldrsb r1, [r0, r1]\n"
+ "\tldrh r0, [r6, 0x22]\n"
+ "\tsubs r0, r1\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r0, 16\n"
+ "\tadds r3, r0, r3\n"
+ "\tlsls r2, 16\n"
+ "\tasrs r2, 16\n"
+ "\tlsls r3, 16\n"
+ "\tasrs r3, 16\n"
+ "\tcmp r2, r3\n"
+ "\tblt _081288BC\n"
+ "\tcmp r2, r0\n"
+ "\tbge _081288E4\n"
+ "_081288BC:\n"
+ "\tlsls r0, r4, 16\n"
+ "\tasrs r0, 16\n"
+ "\tcmp r0, r3\n"
+ "\tble _081288E4\n"
+ "\tadds r2, r6, 0\n"
+ "\tadds r2, 0x43\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x43\n"
+ "\tldrb r1, [r0]\n"
+ "\tldrb r0, [r2]\n"
+ "\tcmp r0, r1\n"
+ "\tbhi _081288E4\n"
+ "\tadds r0, r1, 0x2\n"
+ "\tstrb r0, [r2]\n"
+ "\tb _081288EE\n"
+ "\t.align 2, 0\n"
+ "_081288DC: .4byte gMapObjects\n"
+ "_081288E0: .4byte gSprites\n"
+ "_081288E4:\n"
+ "\tadds r0, r7, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r7, r0, 24\n"
+ "\tcmp r7, 0xF\n"
+ "\tbls _08128842\n"
+ "_081288EE:\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0");
+}
+#endif
diff --git a/src/field_fadetransition.c b/src/field/field_fadetransition.c
index d95177821..82776d18c 100644
--- a/src/field_fadetransition.c
+++ b/src/field/field_fadetransition.c
@@ -89,7 +89,7 @@ void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
void sub_8080990(void)
{
ScriptContext2_Enable();
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_black();
CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
}
@@ -130,7 +130,7 @@ void task_mpl_807DD60(u8 taskId)
void sub_8080A3C(void)
{
ScriptContext2_Enable();
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
palette_bg_fill_black();
CreateTask(task_mpl_807DD60, 10);
}
@@ -165,7 +165,7 @@ void sub_8080A5C(u8 taskId)
void sub_8080AC4(void)
{
ScriptContext2_Enable();
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
palette_bg_fill_black();
CreateTask(sub_8080A5C, 10);
}
@@ -188,7 +188,7 @@ void sub_8080AE4(void)
void mapldr_default(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_for_map_transition();
sub_8080AE4();
ScriptContext2_Enable();
@@ -196,7 +196,7 @@ void mapldr_default(void)
void sub_8080B60(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_black();
sub_8080AE4();
ScriptContext2_Enable();
@@ -204,7 +204,7 @@ void sub_8080B60(void)
void sub_8080B78(void)
{
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_for_map_transition();
PlaySE(SE_TK_WARPOUT);
CreateTask(task_map_chg_seq_0807E2CC, 10);
@@ -354,7 +354,7 @@ void sub_8080E28(void)
void sub_8080E44(void)
{
ScriptContext2_Enable();
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
pal_fill_black();
CreateTask(task_mpl_807E3C8, 10);
}
diff --git a/src/field_ground_effect.c b/src/field/field_ground_effect.c
index 2a398ba22..25b678ff9 100644
--- a/src/field_ground_effect.c
+++ b/src/field/field_ground_effect.c
@@ -458,78 +458,54 @@ bool8 AreZCoordsCompatible(u8 a, u8 b)
void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite)
{
- u8 *ptr;
-
gFieldEffectArguments[0] = mapObj->coords2.x;
gFieldEffectArguments[1] = mapObj->coords2.y;
gFieldEffectArguments[2] = mapObj->elevation;
gFieldEffectArguments[3] = 2;
- gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum;
+ gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum;
gFieldEffectArguments[5] = mapObj->mapGroup;
-
- ptr = (u8 *)&gSaveBlock1;
- gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8)
- | (u8)gSaveBlock1.location.mapGroup;
-
+ gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup;
gFieldEffectArguments[7] = 1;
- FieldEffectStart(4);
+ FieldEffectStart(FLDEFF_TALL_GRASS);
}
void sub_8063E94(struct MapObject *mapObj, struct Sprite *sprite)
{
- u8 *ptr;
-
gFieldEffectArguments[0] = mapObj->coords2.x;
gFieldEffectArguments[1] = mapObj->coords2.y;
gFieldEffectArguments[2] = mapObj->elevation;
gFieldEffectArguments[3] = 2;
- gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum;
+ gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum;
gFieldEffectArguments[5] = mapObj->mapGroup;
-
- ptr = (u8 *)&gSaveBlock1;
- gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8)
- | (u8)gSaveBlock1.location.mapGroup;
-
+ gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup;
gFieldEffectArguments[7] = 0;
- FieldEffectStart(4);
+ FieldEffectStart(FLDEFF_TALL_GRASS);
}
void sub_8063EE0(struct MapObject *mapObj, struct Sprite *sprite)
{
- u8 *ptr;
-
gFieldEffectArguments[0] = mapObj->coords2.x;
gFieldEffectArguments[1] = mapObj->coords2.y;
gFieldEffectArguments[2] = mapObj->elevation;
gFieldEffectArguments[3] = 2;
- gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum;
+ gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum;
gFieldEffectArguments[5] = mapObj->mapGroup;
-
- ptr = (u8 *)&gSaveBlock1;
- gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8)
- | (u8)gSaveBlock1.location.mapGroup;
-
+ gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup;
gFieldEffectArguments[7] = 1;
- FieldEffectStart(17);
+ FieldEffectStart(FLDEFF_LONG_GRASS);
}
void sub_8063F2C(struct MapObject *mapObj, struct Sprite *sprite)
{
- u8 *ptr;
-
gFieldEffectArguments[0] = mapObj->coords2.x;
gFieldEffectArguments[1] = mapObj->coords2.y;
gFieldEffectArguments[2] = mapObj->elevation;
gFieldEffectArguments[3] = 2;
gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum;
gFieldEffectArguments[5] = mapObj->mapGroup;
-
- ptr = (u8 *)&gSaveBlock1;
- gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8)
- | (u8)gSaveBlock1.location.mapGroup;
-
+ gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup;
gFieldEffectArguments[7] = 0;
- FieldEffectStart(17);
+ FieldEffectStart(FLDEFF_LONG_GRASS);
}
void GroundEffect_WaterReflection(struct MapObject *mapObj, struct Sprite *sprite)
@@ -570,7 +546,10 @@ static void nullsub(struct MapObject *mapObj, struct Sprite *sprite, u8 a)
static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Sprite *sprite, u8 a)
{
// First half-word is a Field Effect script id. (gFieldEffectScriptPointers)
- u16 sandFootprints_FieldEffectData[2] = { 0xD, 0x18 };
+ u16 sandFootprints_FieldEffectData[2] = {
+ FLDEFF_SAND_FOOTPRINTS,
+ FLDEFF_DEEP_SAND_FOOTPRINTS
+ };
gFieldEffectArguments[0] = mapObj->coords3.x;
gFieldEffectArguments[1] = mapObj->coords3.y;
diff --git a/src/field_map_obj.c b/src/field/field_map_obj.c
index 0e7cd7896..74ef3b7fe 100644
--- a/src/field_map_obj.c
+++ b/src/field/field_map_obj.c
@@ -1578,13 +1578,13 @@ void (*const gUnknown_0836DA88[])(struct Sprite *) =
const u8 gUnknown_0836DBBC[] = {0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const u8 gUnknown_0836DC09[] = {DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_NORTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH};
-#include "data/field_map_obj/map_object_graphics_info_pointers.h"
-#include "data/field_map_obj/field_effect_object_template_pointers.h"
-#include "data/field_map_obj/map_object_pic_tables.h"
-#include "data/field_map_obj/map_object_anims.h"
-#include "data/field_map_obj/base_oam.h"
-#include "data/field_map_obj/map_object_subsprites.h"
-#include "data/field_map_obj/map_object_graphics_info.h"
+#include "../data/field_map_obj/map_object_graphics_info_pointers.h"
+#include "../data/field_map_obj/field_effect_object_template_pointers.h"
+#include "../data/field_map_obj/map_object_pic_tables.h"
+#include "../data/field_map_obj/map_object_anims.h"
+#include "../data/field_map_obj/base_oam.h"
+#include "../data/field_map_obj/map_object_subsprites.h"
+#include "../data/field_map_obj/map_object_graphics_info.h"
const struct SpritePalette gUnknown_0837377C[] = {
{gMapObjectPalette0, 0x1103},
@@ -1790,14 +1790,14 @@ const u16 *const gUnknown_0837399C[] = {
Unknown_8373988
};
-#include "data/field_map_obj/berry_tree_graphics_tables.h"
-#include "data/field_map_obj/field_effect_objects.h"
+#include "../data/field_map_obj/berry_tree_graphics_tables.h"
+#include "../data/field_map_obj/field_effect_objects.h"
const s16 gUnknown_0837520C[] = {0x20, 0x40, 0x60, 0x80};
const s16 gUnknown_08375204[] = {0x20, 0x40, 0x80, 0xc0};
const s16 gUnknown_0837521C[] = {0x20, 0x30, 0x40, 0x50};
-#include "data/field_map_obj/callback_subroutine_pointers.h"
+#include "../data/field_map_obj/callback_subroutine_pointers.h"
const u8 gUnknown_083755F4[] = {0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01};
const u8 gUnknown_083755FD[] = {0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05};
@@ -1886,7 +1886,7 @@ const u8 gUnknown_08375767[][4] = {
{3, 4, 2, 1}
};
-#include "data/field_map_obj/anim_func_ptrs.h"
+#include "../data/field_map_obj/anim_func_ptrs.h"
// text
@@ -1901,7 +1901,7 @@ extern void CameraObjectReset1(void);
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
extern u8 gReservedSpritePaletteCount;
-extern struct Camera gUnknown_0202E844;
+extern struct Camera gCamera;
static u8 gUnknown_030005A4;
static u16 gUnknown_030005A6;
@@ -2462,24 +2462,24 @@ extern void sub_8064970(struct Sprite *);
extern void sub_8060470(s16 *, s16 *, s16, s16);
extern void InitObjectPriorityByZCoord();
-u8 sub_805B410(u8 a, u8 b, s16 c, s16 d, u8 e, u8 f)
+u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction)
{
const struct MapObjectGraphicsInfo *gfxInfo;
struct SpriteTemplate spriteTemplate;
const struct SubspriteTable *subspriteTables;
u8 spriteId;
- gfxInfo = GetFieldObjectGraphicsInfo(a);
- MakeObjectTemplateFromFieldObjectGraphicsInfo(a, sub_8064970, &spriteTemplate, &subspriteTables);
+ gfxInfo = GetFieldObjectGraphicsInfo(graphicsId);
+ MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sub_8064970, &spriteTemplate, &subspriteTables);
#ifdef NONMATCHING
spriteTemplate.paletteTag = 0xFFFF;
#else
*(u16 *)&spriteTemplate.paletteTag = 0xFFFF;
#endif
- c += 7;
- d += 7;
- sub_8060470(&c, &d, 8, 16);
- spriteId = CreateSpriteAtEnd(&spriteTemplate, c, d, 0);
+ x += 7;
+ y += 7;
+ sub_8060470(&x, &y, 8, 16);
+ spriteId = CreateSpriteAtEnd(&spriteTemplate, x, y, 0);
if (spriteId != 64)
{
struct Sprite *sprite = &gSprites[spriteId];
@@ -2490,7 +2490,7 @@ u8 sub_805B410(u8 a, u8 b, s16 c, s16 d, u8 e, u8 f)
sprite->oam.paletteNum = gfxInfo->paletteSlot;
sprite->coordOffsetEnabled = TRUE;
sprite->data0 = b;
- sprite->data1 = e;
+ sprite->data1 = elevation;
if (gfxInfo->paletteSlot == 10)
npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot);
if (subspriteTables != NULL)
@@ -2498,9 +2498,9 @@ u8 sub_805B410(u8 a, u8 b, s16 c, s16 d, u8 e, u8 f)
SetSubspriteTables(sprite, subspriteTables);
sprite->subspriteMode = 2;
}
- InitObjectPriorityByZCoord(sprite, e);
- SetObjectSubpriorityByZCoord(e, sprite, 1);
- StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(f));
+ InitObjectPriorityByZCoord(sprite, elevation);
+ SetObjectSubpriorityByZCoord(elevation, sprite, 1);
+ StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(direction));
}
return spriteId;
}
@@ -2775,11 +2775,11 @@ void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGr
gMapObjects[mapObjectId].mapobj_bit_13 = d;
}
-void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, u8 *localId, u8 *mapNum, u8 *mapGroup)
+void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup)
{
- *localId = mapObject->localId;
- *mapNum = mapObject->mapNum;
- *mapGroup = mapObject->mapGroup;
+ *(u8 *)localId = mapObject->localId;
+ *(u8 *)mapNum = mapObject->mapNum;
+ *(u8 *)mapGroup = mapObject->mapGroup;
}
void sub_805BCC0(s16 x, s16 y)
@@ -2986,24 +2986,21 @@ void UpdateFieldObjectCoordsForCameraUpdate(void)
s16 deltaX;
s16 deltaY;
-#ifndef NONMATCHING
- asm(""::"r"(i)); //makes the compiler store i in r3
-#endif
-
- if (gUnknown_0202E844.field_0)
+ if (gCamera.field_0)
{
- for (i = 0, deltaX = gUnknown_0202E844.x, deltaY = gUnknown_0202E844.y; i < 16; i++)
+ deltaX = gCamera.x;
+ deltaY = gCamera.y;
+ for (i = 0; i < 16; i++)
{
- struct MapObject *mapObject = &gMapObjects[i];
- if (mapObject->active)
+ if (gMapObjects[i].active)
{
- mapObject->coords1.x -= deltaX;
- mapObject->coords1.y -= deltaY;
- mapObject->coords2.x -= deltaX;
- mapObject->coords2.y -= deltaY;
- mapObject->coords3.x -= deltaX;
- mapObject->coords3.y -= deltaY;
+ gMapObjects[i].coords1.x -= deltaX;
+ gMapObjects[i].coords1.y -= deltaY;
+ gMapObjects[i].coords2.x -= deltaX;
+ gMapObjects[i].coords2.y -= deltaY;
+ gMapObjects[i].coords3.x -= deltaX;
+ gMapObjects[i].coords3.y -= deltaY;
}
}
}
@@ -5013,7 +5010,7 @@ u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite
u8 sub_805F364(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2)
+ if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER)
{
return 0;
}
@@ -5030,32 +5027,30 @@ u8 sub_805F3C4(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-#ifdef NONMATCHING
-
-u8 sub_805F3EC(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, u8 *a3(u8))
+bool8 sub_805F3EC(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8))
{
return 0;
}
-u8 sub_805F3F0(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, u8 *a3(u8))
+bool8 sub_805F3F0(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8))
{
- int direction;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, a2);
- FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, a2)));
mapObject->mapobj_bit_1 = 1;
sprite->data1 = 2;
return 1;
}
-u8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, u8 *a3(u8))
+bool8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8))
{
+ u32 direction;
s16 x;
s16 y;
- int direction;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, a2);
+
+ direction = a2;
+ direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction);
FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction));
- if (!npc_block_way(mapObject, x, y, direction) || (a3 != NULL && !a3(MapGridGetMetatileBehaviorAt(x, y))))
+ if (npc_block_way(mapObject, x, y, direction) || (a3 != NULL && !a3(MapGridGetMetatileBehaviorAt(x, y))))
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
}
@@ -5063,15 +5058,121 @@ u8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, u8 *a3
sprite->data1 = 2;
return 1;
}
-#endif
-asm(".section .text_fmocb2_c\n");
+bool8 sub_805F4F0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+{
+ u32 direction;
+ s16 x;
+ s16 y;
+
+ direction = playerDirection;
+ direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction);
+ FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
+ FieldObjectSetRegularAnim(mapObject, sprite, sub_8060744(direction));
+ if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ {
+ FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ }
+ mapObject->mapobj_bit_1 = TRUE;
+ sprite->data1 = 2;
+ return TRUE;
+}
+
+bool8 sub_805F5A8(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+{
+ u32 direction;
+ s16 x;
+ s16 y;
+
+ direction = playerDirection;
+ direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction);
+ FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
+ FieldObjectSetRegularAnim(mapObject, sprite, sub_806079C(direction));
+ if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ {
+ FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ }
+ mapObject->mapobj_bit_1 = TRUE;
+ sprite->data1 = 2;
+ return TRUE;
+}
+
+bool8 sub_805F660(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+{
+ u32 direction;
+ s16 x;
+ s16 y;
+
+ direction = playerDirection;
+ direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction);
+ FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
+ FieldObjectSetRegularAnim(mapObject, sprite, sub_80607C8(direction));
+ if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ {
+ FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ }
+ mapObject->mapobj_bit_1 = TRUE;
+ sprite->data1 = 2;
+ return TRUE;
+}
+
+bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+{
+ u32 direction;
+
+ direction = playerDirection;
+ direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction);
+ FieldObjectSetRegularAnim(mapObject, sprite, sub_806084C(direction));
+ mapObject->mapobj_bit_1 = TRUE;
+ sprite->data1 = 2;
+ return TRUE;
+}
+
+bool8 sub_805F760(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+{
+ u32 direction;
+ s16 x;
+ s16 y;
+
+ direction = playerDirection;
+ direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction);
+ FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
+ FieldObjectSetRegularAnim(mapObject, sprite, sub_80608A4(direction));
+ if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ {
+ FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ }
+ mapObject->mapobj_bit_1 = TRUE;
+ sprite->data1 = 2;
+ return TRUE;
+}
+
+bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+{
+ u32 direction;
+ s16 x;
+ s16 y;
+
+ direction = playerDirection;
+ direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction);
+ x = mapObject->coords2.x;
+ y = mapObject->coords2.y;
+ sub_8060320(direction, &x, &y, 2, 2);
+ FieldObjectSetRegularAnim(mapObject, sprite, GetJumpLedgeAnimId(direction));
+ if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ {
+ FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ }
+ mapObject->mapobj_bit_1 = TRUE;
+ sprite->data1 = 2;
+ return TRUE;
+}
fieldmap_object_cb(sub_805F8E0, sub_805F904, gUnknown_083755C0);
u8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2)
+ if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER)
{
return 0;
}
@@ -5086,7 +5187,7 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite)
mapObject = &gMapObjects[sprite->data0];
if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data7 == 0))
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE);
mapObject->mapobj_unk_21 = 1;
sprite->data7 ++;
@@ -5106,7 +5207,7 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite)
mapObject = &gMapObjects[sprite->data0];
if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data7 == 0))
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE);
mapObject->mapobj_unk_21 = 1;
sprite->data7 ++;
@@ -5367,8 +5468,10 @@ bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject2 *mapObject, s16 x,
static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s16 y);
bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction);
-u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u8 direction)
+u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn)
{
+ u8 direction;
+ direction = dirn;
if (IsCoordOutsideFieldObjectMovementRect((struct MapObject2 *)mapObject, x, y))
return 1;
else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction))
@@ -5446,17 +5549,16 @@ static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s
return 0;
}
-bool8 sub_8060234(u8 localId, u8 mapNum, u8 mapGroup)
+// this function is only used in berry.c, but its unknown whether its intended context is the berry tree check or if its checking for the flickering.
+bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup)
{
u8 mapObjectId;
+
if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId))
- {
if (gSprites[gMapObjects[mapObjectId].spriteId].data7 & 2)
- {
- return 1;
- }
- }
- return 0;
+ return TRUE;
+
+ return FALSE;
}
void sub_8060288(u8 localId, u8 mapNum, u8 mapGroup)
@@ -5480,23 +5582,26 @@ void unref_sub_80602F8(u8 direction, s16 *x, s16 *y)
*y += gDirectionToVector[direction].y << 4;
}
-void sub_8060320(u8 direction, s16 *x, s16 *y, s16 deltaX, s16 deltaY)
+void sub_8060320(u32 dirn, s16 *x, s16 *y, s16 deltaX, s16 deltaY)
{
+ u8 direction = dirn;
+ s16 dx2 = deltaX;
+ s16 dy2 = deltaY;
if (gDirectionToVector[direction].x > 0)
{
- *x += deltaX;
+ *x += dx2;
}
if (gDirectionToVector[direction].x < 0)
{
- *x -= deltaX;
+ *x -= dx2;
}
if (gDirectionToVector[direction].y > 0)
{
- *y += deltaY;
+ *y += dy2;
}
if (gDirectionToVector[direction].y < 0)
{
- *y -= deltaY;
+ *y -= dy2;
}
}
@@ -5563,11 +5668,12 @@ void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y)
}
}
-void FieldObjectMoveDestCoords(struct MapObject *mapObject, u8 direction, s16 *x, s16 *y)
+void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 direction, s16 *x, s16 *y)
{
+ u8 newDirn = direction;
*x = mapObject->coords2.x;
*y = mapObject->coords2.y;
- MoveCoords(direction, x, y);
+ MoveCoords(newDirn, x, y);
}
bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject)
@@ -5681,193 +5787,34 @@ void meta_step(struct MapObject *mapObject, struct Sprite *sprite, u8 (*callback
FieldObjectUpdateSubpriority(mapObject, sprite);
}
-
-u8 GetFaceDirectionAnimId(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756C8, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 GetSimpleGoAnimId(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756CD, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 GetGoSpeed0AnimId(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756D2, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 sub_8060744(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756D7, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 d2s_08064034(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756DC, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 sub_806079C(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756E1, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 sub_80607C8(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756E6, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 sub_80607F4(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756EB, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 GetJumpLedgeAnimId(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756F0, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 sub_806084C(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756F5, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 sub_8060878(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756FA, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 sub_80608A4(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_083756FF, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 sub_80608D0(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_08375704, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 GetStepInPlaceDelay32AnimId(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_08375709, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 GetStepInPlaceDelay16AnimId(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_0837570E, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 GetStepInPlaceDelay8AnimId(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_08375713, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
-
-u8 GetStepInPlaceDelay4AnimId(u8 index)
-{
- u8 directions[5];
- memcpy(directions, gUnknown_08375718, 5);
- if (index >= 5)
- {
- index = 0;
- }
- return directions[index];
-}
+#define dirn_to_anim(name, table)\
+u8 name(u32 idx)\
+{\
+ u8 direction;\
+ u8 animIds[sizeof(table)];\
+ direction = idx;\
+ memcpy(animIds, (table), sizeof(table));\
+ if (direction > DIR_EAST) direction = 0;\
+ return animIds[direction];\
+}
+
+dirn_to_anim(GetFaceDirectionAnimId, gUnknown_083756C8)
+dirn_to_anim(GetSimpleGoAnimId, gUnknown_083756CD)
+dirn_to_anim(GetGoSpeed0AnimId, gUnknown_083756D2)
+dirn_to_anim(sub_8060744, gUnknown_083756D7)
+dirn_to_anim(d2s_08064034, gUnknown_083756DC)
+dirn_to_anim(sub_806079C, gUnknown_083756E1)
+dirn_to_anim(sub_80607C8, gUnknown_083756E6)
+dirn_to_anim(sub_80607F4, gUnknown_083756EB)
+dirn_to_anim(GetJumpLedgeAnimId, gUnknown_083756F0)
+dirn_to_anim(sub_806084C, gUnknown_083756F5)
+dirn_to_anim(sub_8060878, gUnknown_083756FA)
+dirn_to_anim(sub_80608A4, gUnknown_083756FF)
+dirn_to_anim(sub_80608D0, gUnknown_08375704)
+dirn_to_anim(GetStepInPlaceDelay32AnimId, gUnknown_08375709)
+dirn_to_anim(GetStepInPlaceDelay16AnimId, gUnknown_0837570E)
+dirn_to_anim(GetStepInPlaceDelay8AnimId, gUnknown_08375713)
+dirn_to_anim(GetStepInPlaceDelay4AnimId, gUnknown_08375718)
u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction)
{
@@ -5995,65 +5942,23 @@ u8 GetOppositeDirection(u8 direction)
return directions[direction - 1];
}
-int zffu_offset_calc(u8 a0, u8 a1)
+u32 zffu_offset_calc(u8 a0, u8 a1)
{
return gUnknown_08375757[a0 - 1][a1 - 1];
}
-#ifdef NONMATCHING
-int state_to_direction(u8 a0, u8 a1, u8 a2)
+u32 state_to_direction(u8 a0, u32 a1, u32 a2)
{
- int zffuOffset;
- asm_comment("For some reason, r2 is being backed up to r3 and restored ahead of the zffu call.");
- if (a1 == 0 || a2 == 0 || a1 > 4 || a2 > 4)
+ u32 zffuOffset;
+ u8 a1_2 = a1;
+ u8 a2_2 = a2;
+ if (a1_2 == 0 || a2_2 == 0 || a1_2 > DIR_EAST || a2_2 > DIR_EAST)
{
return 0;
}
- zffuOffset = zffu_offset_calc(a1, a2);
+ zffuOffset = zffu_offset_calc(a1_2, a2);
return gUnknown_08375767[a0 - 1][zffuOffset - 1];
}
-#else
-__attribute__((naked))
-int state_to_direction(u8 a0, u8 a1, u8 a2)
-{
- asm(".syntax unified\n\
- push {r4,lr}\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- adds r0, r1, 0\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- cmp r1, 0\n\
- beq _08060BFC\n\
- cmp r2, 0\n\
- beq _08060BFC\n\
- cmp r1, 0x4\n\
- bhi _08060BFC\n\
- cmp r2, 0x4\n\
- bls _08060C00\n\
-_08060BFC:\n\
- movs r0, 0\n\
- b _08060C12\n\
-_08060C00:\n\
- adds r1, r2, 0\n\
- bl zffu_offset_calc\n\
- ldr r2, _08060C18 @ =gUnknown_08375767\n\
- lsls r1, r4, 2\n\
- subs r1, 0x5\n\
- adds r0, r1\n\
- adds r0, r2\n\
- ldrb r0, [r0]\n\
-_08060C12:\n\
- pop {r4}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_08060C18: .4byte gUnknown_08375767\n\
-.syntax divided\n");
-}
-#endif
void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite)
{
@@ -7466,7 +7371,7 @@ bool8 sub_8062644(struct MapObject *mapObject, struct Sprite *sprite)
bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
sprite->data2 = 1;
return TRUE;
@@ -7474,7 +7379,7 @@ bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *s
bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2);
sprite->data2 = 1;
return TRUE;
@@ -7482,7 +7387,7 @@ bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *s
bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_HEART_ICON);
sprite->data2 = 1;
return TRUE;
diff --git a/src/field_map_obj_helpers.c b/src/field/field_map_obj_helpers.c
index 93cd57557..59e857aae 100644
--- a/src/field_map_obj_helpers.c
+++ b/src/field/field_map_obj_helpers.c
@@ -294,7 +294,7 @@ void sub_8064990(u8 a1, u8 dir)
u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject)
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
return FieldEffectStart(fieldEffectId);
}
@@ -303,7 +303,7 @@ void DoShadowFieldEffect(struct MapObject *mapObject)
if (!mapObject->mapobj_bit_22)
{
mapObject->mapobj_bit_22 = 1;
- oe_exec_and_other_stuff(3, mapObject);
+ oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject);
}
}
diff --git a/src/field_message_box.c b/src/field/field_message_box.c
index 35aac7ac9..35aac7ac9 100644
--- a/src/field_message_box.c
+++ b/src/field/field_message_box.c
diff --git a/src/field_player_avatar.c b/src/field/field_player_avatar.c
index c8099a73d..e7da9b1b7 100644
--- a/src/field_player_avatar.c
+++ b/src/field/field_player_avatar.c
@@ -31,7 +31,7 @@ static bool8 sub_8058854(struct MapObject *, u8);
static void npc_clear_strange_bits(struct MapObject *a);
static void MovePlayerAvatarUsingKeypadInput(u8 a, u16 b, u16 c);
static void PlayerAllowForcedMovementIfMovingSameDirection(void);
-static u8 TryDoMetatileBehaviorForcedMovement(void);
+static bool8 TryDoMetatileBehaviorForcedMovement(void);
static u8 GetForcedMovementByMetatileBehavior(void);
static void MovePlayerNotOnBike(u8 a, u16 b);
static u8 CheckMovementInputNotOnBike(u8 a);
@@ -49,7 +49,7 @@ static void PlayerNotOnBikeCollide(u8 a);
static void PlayCollisionSoundIfNotFacingWarp(u8 a);
static void sub_8059D60(struct MapObject *a);
static void StartStrengthAnim(u8 a, u8 b);
-static void sub_8059F94(void);
+static void DoPlayerMatJump(void);
static void sub_805A06C(void);
static bool8 (*const gUnknown_0830FB58[])(u8) =
@@ -73,7 +73,7 @@ static bool8 (*const gUnknown_0830FB58[])(u8) =
MetatileBehavior_0xBC,
MetatileBehavior_IsMuddySlope,
};
-static u8 (*const gUnknown_0830FBA0[])(void) =
+static bool8 (*const gUnknown_0830FBA0[])(void) =
{
ForcedMovement_None,
ForcedMovement_Slip,
@@ -91,7 +91,7 @@ static u8 (*const gUnknown_0830FBA0[])(void) =
ForcedMovement_SlideWest,
ForcedMovement_SlideEast,
sub_8058B0C,
- sub_8058C04,
+ ForcedMovement_MatJump,
sub_8058C10,
ForcedMovement_MuddySlope,
};
@@ -182,9 +182,9 @@ static u8 (*const gUnknown_0830FC88[])(struct Task *, struct MapObject *, struct
sub_8059EA4,
sub_8059F40,
};
-static u8 (*const gUnknown_0830FC94[])(struct Task *, struct MapObject *) =
+static u8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct MapObject *) =
{
- sub_805A000,
+ PlayerAvatar_DoSecretBaseMatJump,
};
static u8 (*const gUnknown_0830FC98[])(struct Task *, struct MapObject *) =
{
@@ -201,9 +201,9 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys)
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
sub_8059D60(playerMapObj);
- if (gPlayerAvatar.unk6 == 0)
+ if (gPlayerAvatar.preventStep == FALSE)
{
- sub_80E5B38(newKeys, heldKeys);
+ Bike_TryAcroBikeHistoryUpdate(newKeys, heldKeys);
if (!sub_8058854(playerMapObj, direction))
{
npc_clear_strange_bits(playerMapObj);
@@ -256,11 +256,11 @@ static void MovePlayerAvatarUsingKeypadInput(u8 direction, u16 newKeys, u16 held
static void PlayerAllowForcedMovementIfMovingSameDirection(void)
{
- if (gPlayerAvatar.running2 == 2)
+ if (gPlayerAvatar.runningState == MOVING)
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_5;
}
-static u8 TryDoMetatileBehaviorForcedMovement(void)
+static bool8 TryDoMetatileBehaviorForcedMovement(void)
{
return gUnknown_0830FBA0[GetForcedMovementByMetatileBehavior()]();
}
@@ -282,7 +282,7 @@ static u8 GetForcedMovementByMetatileBehavior(void)
return 0;
}
-u8 ForcedMovement_None(void)
+bool8 ForcedMovement_None(void)
{
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_6)
{
@@ -293,7 +293,7 @@ u8 ForcedMovement_None(void)
FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18);
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_6;
}
- return 0;
+ return FALSE;
}
static u8 DoForcedMovement(u8 direction, void (*b)(u8))
@@ -314,13 +314,13 @@ static u8 DoForcedMovement(u8 direction, void (*b)(u8))
if (collisionType == COLLISION_LEDGE_JUMP)
PlayerJumpLedge(direction);
playerAvatar->flags |= PLAYER_AVATAR_FLAG_6;
- playerAvatar->running2 = 2;
+ playerAvatar->runningState = MOVING;
return 1;
}
}
else
{
- playerAvatar->running2 = 2;
+ playerAvatar->runningState = MOVING;
b(direction);
return 1;
}
@@ -334,47 +334,47 @@ static u8 DoForcedMovementInCurrentDirection(void (*a)(u8))
return DoForcedMovement(playerMapObj->placeholder18, a);
}
-u8 ForcedMovement_Slip(void)
+bool8 ForcedMovement_Slip(void)
{
- return DoForcedMovementInCurrentDirection(sub_80593C4);
+ return DoForcedMovementInCurrentDirection(PlayerGoSpeed2);
}
-u8 sub_8058AAC(void)
+bool8 sub_8058AAC(void)
{
- return DoForcedMovement(1, PlayerGoSpeed0);
+ return DoForcedMovement(1, PlayerGoSpeed1);
}
-u8 sub_8058AC4(void)
+bool8 sub_8058AC4(void)
{
- return DoForcedMovement(2, PlayerGoSpeed0);
+ return DoForcedMovement(2, PlayerGoSpeed1);
}
-u8 sub_8058ADC(void)
+bool8 sub_8058ADC(void)
{
- return DoForcedMovement(3, PlayerGoSpeed0);
+ return DoForcedMovement(3, PlayerGoSpeed1);
}
-u8 sub_8058AF4(void)
+bool8 sub_8058AF4(void)
{
- return DoForcedMovement(4, PlayerGoSpeed0);
+ return DoForcedMovement(4, PlayerGoSpeed1);
}
-u8 sub_8058B0C(void)
+bool8 sub_8058B0C(void)
{
return DoForcedMovement(1, npc_use_some_d2s);
}
-u8 sub_8058B24(void)
+bool8 sub_8058B24(void)
{
return DoForcedMovement(2, npc_use_some_d2s);
}
-u8 sub_8058B3C(void)
+bool8 sub_8058B3C(void)
{
return DoForcedMovement(3, npc_use_some_d2s);
}
-u8 sub_8058B54(void)
+bool8 sub_8058B54(void)
{
return DoForcedMovement(4, npc_use_some_d2s);
}
@@ -388,51 +388,51 @@ static u8 ForcedMovement_Slide(u8 direction, void (*b)(u8))
return DoForcedMovement(direction, b);
}
-u8 ForcedMovement_SlideSouth(void)
+bool8 ForcedMovement_SlideSouth(void)
{
- return ForcedMovement_Slide(1, sub_80593C4);
+ return ForcedMovement_Slide(1, PlayerGoSpeed2);
}
-u8 ForcedMovement_SlideNorth(void)
+bool8 ForcedMovement_SlideNorth(void)
{
- return ForcedMovement_Slide(2, sub_80593C4);
+ return ForcedMovement_Slide(2, PlayerGoSpeed2);
}
-u8 ForcedMovement_SlideWest(void)
+bool8 ForcedMovement_SlideWest(void)
{
- return ForcedMovement_Slide(3, sub_80593C4);
+ return ForcedMovement_Slide(3, PlayerGoSpeed2);
}
-u8 ForcedMovement_SlideEast(void)
+bool8 ForcedMovement_SlideEast(void)
{
- return ForcedMovement_Slide(4, sub_80593C4);
+ return ForcedMovement_Slide(4, PlayerGoSpeed2);
}
-u8 sub_8058C04(void)
+bool8 ForcedMovement_MatJump(void)
{
- sub_8059F94();
- return 1;
+ DoPlayerMatJump();
+ return TRUE;
}
-u8 sub_8058C10(void)
+bool8 sub_8058C10(void)
{
sub_805A06C();
- return 1;
+ return TRUE;
}
-u8 ForcedMovement_MuddySlope(void)
+bool8 ForcedMovement_MuddySlope(void)
{
struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
if (playerMapObj->placeholder18 != 2 || GetPlayerSpeed() <= 3)
{
- sub_80E6010(0);
+ Bike_UpdateBikeCounterSpeed(0);
playerMapObj->mapobj_bit_9 = 1;
- return DoForcedMovement(1, sub_80593C4);
+ return DoForcedMovement(1, PlayerGoSpeed2);
}
else
{
- return 0;
+ return FALSE;
}
}
@@ -445,17 +445,17 @@ static u8 CheckMovementInputNotOnBike(u8 direction)
{
if (direction == DIR_NONE)
{
- gPlayerAvatar.running2 = 0;
+ gPlayerAvatar.runningState = NOT_MOVING;
return 0;
}
- else if (direction != player_get_direction_upper_nybble() && gPlayerAvatar.running2 != 2)
+ else if (direction != player_get_direction_upper_nybble() && gPlayerAvatar.runningState != MOVING)
{
- gPlayerAvatar.running2 = 1;
+ gPlayerAvatar.runningState = TURN_DIRECTION;
return 1;
}
else
{
- gPlayerAvatar.running2 = 2;
+ gPlayerAvatar.runningState = MOVING;
return 2;
}
}
@@ -486,7 +486,8 @@ void sub_8058D0C(u8 direction, u16 heldKeys)
case 0:
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
{
- sub_80593C4(direction);
+ // speed 2 is fast, same speed as running
+ PlayerGoSpeed2(direction);
return;
}
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_4) && (heldKeys & B_BUTTON) && FlagGet(SYS_B_DASH)
@@ -497,7 +498,7 @@ void sub_8058D0C(u8 direction, u16 heldKeys)
}
else
{
- PlayerGoSpeed0(direction);
+ PlayerGoSpeed1(direction);
}
}
}
@@ -601,14 +602,14 @@ static void check_acro_bike_metatile(int unused1, int unused2, u8 c, u8 *d)
void SetPlayerAvatarTransitionFlags(u16 a)
{
- gPlayerAvatar.bike |= a;
+ gPlayerAvatar.unk1 |= a;
DoPlayerAvatarTransition();
}
static void DoPlayerAvatarTransition(void)
{
u8 i;
- u32 flags = gPlayerAvatar.bike;
+ u32 flags = gPlayerAvatar.unk1;
if (flags != 0)
{
@@ -627,7 +628,7 @@ static void DoPlayerAvatarTransition(void)
}
#endif
}
- gPlayerAvatar.bike = 0;
+ gPlayerAvatar.unk1 = 0;
}
}
@@ -656,7 +657,7 @@ void PlayerAvatarTransition_AcroBike(struct MapObject *a)
FieldObjectTurn(a, a->placeholder18);
SetPlayerAvatarStateMask(4);
BikeClearState(0, 0);
- sub_80E6084();
+ Bike_HandleBumpySlopeJump();
}
void PlayerAvatarTransition_Surfing(struct MapObject *a)
@@ -689,18 +690,18 @@ void sub_80591F4(struct MapObject *a)
void sub_8059204(void)
{
- gPlayerAvatar.running1 = 0;
+ gPlayerAvatar.tileTransitionState = T_NOT_MOVING;
if (PlayerIsAnimActive())
{
if (!PlayerCheckIfAnimFinishedOrInactive())
{
if (!player_is_anim_in_certain_ranges())
- gPlayerAvatar.running1 = 1;
+ gPlayerAvatar.tileTransitionState = T_TILE_TRANSITION;
}
else
{
if (!sub_80592A4())
- gPlayerAvatar.running1 = 2;
+ gPlayerAvatar.tileTransitionState = T_TILE_CENTER;
}
}
}
@@ -721,7 +722,7 @@ static bool8 player_is_anim_in_certain_ranges(void)
static bool8 sub_80592A4(void)
{
- if (player_is_anim_in_certain_ranges() && gPlayerAvatar.running2 != 1)
+ if (player_is_anim_in_certain_ranges() && gPlayerAvatar.runningState != TURN_DIRECTION)
return TRUE;
else
return FALSE;
@@ -761,12 +762,14 @@ void PlayerSetAnimId(u8 animId, u8 b)
}
}
-void PlayerGoSpeed0(u8 a)
+// normal speed (1 speed)
+void PlayerGoSpeed1(u8 a)
{
PlayerSetAnimId(GetGoSpeed0AnimId(a), 2);
}
-void sub_80593C4(u8 a)
+// fast speed (2 speed)
+void PlayerGoSpeed2(u8 a)
{
PlayerSetAnimId(sub_8060744(a), 2);
}
@@ -776,7 +779,8 @@ void npc_use_some_d2s(u8 a)
PlayerSetAnimId(d2s_08064034(a), 2);
}
-void sub_80593F4(u8 a)
+// fastest speed (4 speed)
+void PlayerGoSpeed4(u8 a)
{
PlayerSetAnimId(sub_806079C(a), 2);
}
@@ -816,48 +820,54 @@ void PlayerJumpLedge(u8 direction)
void sub_80594C0(void)
{
- if (gPlayerAvatar.running1 == 2 || gPlayerAvatar.running1 == 0)
+ if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING)
{
if (player_should_look_direction_be_enforced_upon_movement())
sub_8059348(GetFaceDirectionAnimId(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_18));
}
}
-void sub_8059504(u8 a)
+// wheelie idle
+void PlayerIdleWheelie(u8 a)
{
PlayerSetAnimId(sub_80609D8(a), 1);
}
-//normal to wheelie
+// normal to wheelie
void PlayerStartWheelie(u8 a)
{
PlayerSetAnimId(sub_8060A04(a), 1);
}
-void sub_8059534(u8 a)
+// wheelie to normal
+void PlayerEndWheelie(u8 a)
{
PlayerSetAnimId(sub_8060A30(a), 1);
}
-void sub_805954C(u8 a)
+// wheelie hopping standing
+void PlayerStandingHoppingWheelie(u8 a)
{
PlaySE(SE_JITE_PYOKO);
PlayerSetAnimId(sub_8060A5C(a), 1);
}
-void sub_8059570(u8 a)
+// wheelie hopping moving
+void PlayerMovingHoppingWheelie(u8 a)
{
PlaySE(SE_JITE_PYOKO);
PlayerSetAnimId(sub_8060A88(a), 2);
}
-void sub_8059594(u8 a)
+// wheelie hopping ledge
+void PlayerLedgeHoppingWheelie(u8 a)
{
PlaySE(SE_JITE_PYOKO);
PlayerSetAnimId(sub_8060AB4(a), 8);
}
-void sub_80595B8(u8 direction)
+// acro turn jump
+void PlayerAcroTurnJump(u8 direction)
{
PlaySE(SE_JITE_PYOKO);
PlayerSetAnimId(sub_8060878(direction), 1);
@@ -963,8 +973,8 @@ void sub_80597F4(void)
FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18);
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
{
- sub_80E6084();
- sub_80E6010(0);
+ Bike_HandleBumpySlopeJump();
+ Bike_UpdateBikeCounterSpeed(0);
}
}
@@ -1060,7 +1070,6 @@ bool8 IsPlayerFacingSurfableFishableWater(void)
void ClearPlayerAvatarInfo(void)
{
- //TODO: 0x24 should be the size of gPlayerAvatar
memset(&gPlayerAvatar, 0, sizeof(struct PlayerAvatar));
}
@@ -1099,7 +1108,7 @@ void SetPlayerAvatarExtraStateTransition(u8 a, u8 b)
{
u8 unk = GetPlayerAvatarStateTransitionByGraphicsId(a, gPlayerAvatar.gender);
- gPlayerAvatar.bike |= unk | b;
+ gPlayerAvatar.unk1 |= unk | b;
DoPlayerAvatarTransition();
}
@@ -1127,8 +1136,8 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
mapObject->mapobj_unk_1B = sub_8126B54();
FieldObjectTurn(mapObject, direction);
ClearPlayerAvatarInfo();
- gPlayerAvatar.running2 = 0;
- gPlayerAvatar.running1 = 0;
+ gPlayerAvatar.runningState = NOT_MOVING;
+ gPlayerAvatar.tileTransitionState = T_NOT_MOVING;
gPlayerAvatar.mapObjectId = mapObjectId;
gPlayerAvatar.spriteId = mapObject->spriteId;
gPlayerAvatar.gender = gender;
@@ -1212,7 +1221,7 @@ static void sub_8059E2C(u8 taskId)
u8 sub_8059E84(struct Task *task, struct MapObject *b, struct MapObject *c)
{
ScriptContext2_Enable();
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
task->data[0]++;
return 0;
}
@@ -1224,8 +1233,8 @@ u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c)
{
FieldObjectClearAnimIfSpecialAnimFinished(b);
FieldObjectClearAnimIfSpecialAnimFinished(c);
- FieldObjectSetSpecialAnim(b, GetStepInPlaceDelay16AnimId(task->data[2]));
- FieldObjectSetSpecialAnim(c, GetSimpleGoAnimId(task->data[2]));
+ FieldObjectSetSpecialAnim(b, GetStepInPlaceDelay16AnimId((u8)task->data[2]));
+ FieldObjectSetSpecialAnim(c, GetSimpleGoAnimId((u8)task->data[2]));
gFieldEffectArguments[0] = c->coords2.x;
gFieldEffectArguments[1] = c->coords2.y;
gFieldEffectArguments[2] = c->elevation;
@@ -1244,7 +1253,7 @@ u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c)
{
FieldObjectClearAnimIfSpecialAnimFinished(b);
FieldObjectClearAnimIfSpecialAnimFinished(c);
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
DestroyTask(FindTaskIdByFunc(sub_8059E2C));
}
@@ -1253,24 +1262,23 @@ u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c)
/* Some field effect */
-static void sub_8059FB4(u8 taskId);
+static void DoPlayerAvatarSecretBaseMatJump(u8 taskId);
-static void sub_8059F94(void)
+static void DoPlayerMatJump(void)
{
- u8 taskId = CreateTask(sub_8059FB4, 0xFF);
-
- sub_8059FB4(taskId);
+ DoPlayerAvatarSecretBaseMatJump(CreateTask(DoPlayerAvatarSecretBaseMatJump, 0xFF));
}
-static void sub_8059FB4(u8 taskId)
+static void DoPlayerAvatarSecretBaseMatJump(u8 taskId)
{
- while (gUnknown_0830FC94[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId]))
+ while (sPlayerAvatarSecretBaseMatJump[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId]))
;
}
-u8 sub_805A000(struct Task *task, struct MapObject *mapObject)
+// 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.
+u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObject)
{
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject))
{
PlaySE(SE_DANSA);
@@ -1278,9 +1286,9 @@ u8 sub_805A000(struct Task *task, struct MapObject *mapObject)
task->data[1]++;
if (task->data[1] > 1)
{
- gPlayerAvatar.unk6 = 0;
- gPlayerAvatar.bike |= 0x20;
- DestroyTask(FindTaskIdByFunc(sub_8059FB4));
+ gPlayerAvatar.preventStep = FALSE;
+ gPlayerAvatar.unk1 |= 0x20;
+ DestroyTask(FindTaskIdByFunc(DoPlayerAvatarSecretBaseMatJump));
}
}
return 0;
@@ -1307,7 +1315,7 @@ u8 sub_805A0D8(struct Task *task, struct MapObject *mapObject)
{
task->data[0]++;
task->data[1] = mapObject->placeholder18;
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
ScriptContext2_Enable();
PlaySE(SE_TK_WARPIN);
return 1;
@@ -1349,7 +1357,7 @@ u8 sub_805A1B8(struct Task *task, struct MapObject *mapObject)
{
FieldObjectSetSpecialAnim(mapObject, GetSimpleGoAnimId(GetOppositeDirection(task->data[1])));
ScriptContext2_Disable();
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
DestroyTask(FindTaskIdByFunc(sub_805A08C));
}
return 0;
@@ -1365,11 +1373,11 @@ void sub_805A20C(u8 a)
u8 taskId;
ScriptContext2_Enable();
- sav1_reset_battle_music_maybe();
- sub_8053F84();
+ Overworld_ClearSavedMusic();
+ Overworld_ChangeMusicToDefault();
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_SURFING;
gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_ON_FOOT;
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
taskId = CreateTask(taskFF_0805D1D4, 0xFF);
gTasks[taskId].data[0] = a;
taskFF_0805D1D4(taskId);
@@ -1385,7 +1393,7 @@ static void taskFF_0805D1D4(u8 taskId)
return;
}
sub_8127ED0(playerMapObj->mapobj_unk_1A, 2);
- FieldObjectSetSpecialAnim(playerMapObj, sub_80608D0(gTasks[taskId].data[0]));
+ FieldObjectSetSpecialAnim(playerMapObj, sub_80608D0((u8)gTasks[taskId].data[0]));
gTasks[taskId].func = sub_805A2D0;
}
@@ -1397,7 +1405,7 @@ static void sub_805A2D0(u8 taskId)
{
sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(0));
FieldObjectSetSpecialAnim(playerMapObj, GetFaceDirectionAnimId(playerMapObj->mapobj_unk_18));
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
DestroySprite(&gSprites[playerMapObj->mapobj_unk_1A]);
DestroyTask(taskId);
@@ -1462,7 +1470,7 @@ static void Task_Fishing(u8 taskId)
u8 Fishing1(struct Task *task)
{
ScriptContext2_Enable();
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
task->tStep++;
return 0;
}
@@ -1647,7 +1655,7 @@ u8 Fishing11(struct Task *task)
if (task->tFrameCounter != 0)
{
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
FishingWildEncounter(task->tFishingRod);
sub_80BE97C(1);
@@ -1707,7 +1715,7 @@ u8 Fishing16(struct Task *task)
{
if (MenuUpdateWindowText())
{
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
UnfreezeMapObjects();
MenuZeroFillScreen();
diff --git a/src/field_poison.c b/src/field/field_poison.c
index 1244b9c62..b6ff12ff9 100644
--- a/src/field_poison.c
+++ b/src/field/field_poison.c
@@ -128,7 +128,7 @@ s32 DoPoisonFieldEffect(void)
hp--;
if (hp == 0)
numFainting++; //Pokemon will now faint due to poison
- SetMonData(pkmn, MON_DATA_HP, (u8 *)&hp);
+ SetMonData(pkmn, MON_DATA_HP, &hp);
numPoisoned++;
}
pkmn++;
diff --git a/src/field_region_map.c b/src/field/field_region_map.c
index 7cb22e5df..7cb22e5df 100644
--- a/src/field_region_map.c
+++ b/src/field/field_region_map.c
diff --git a/src/field_screen_effect.c b/src/field/field_screen_effect.c
index 1464a99b1..0c76d254d 100644
--- a/src/field_screen_effect.c
+++ b/src/field/field_screen_effect.c
@@ -327,7 +327,7 @@ static void task50_0807F0C8(u8);
void sub_8081924(void)
{
- sub_8054044();
+ Overworld_FadeOutMapMusic();
CreateTask(task50_0807F0C8, 80);
}
diff --git a/src/field_special_scene.c b/src/field/field_special_scene.c
index 38c076c51..5758929b6 100644
--- a/src/field_special_scene.c
+++ b/src/field/field_special_scene.c
@@ -18,6 +18,52 @@
#define SECONDS(value) ((signed) (60.0 * value + 0.5))
+// TODO: Move somewhere else
+enum
+{
+ STEP_17 = 0x17,
+ STEP_18,
+ STEP_END = 0xFE,
+};
+
+const u32 gMapObjectPic_MovingBox[] = INCBIN_U32("graphics/map_objects/pics/misc/moving_box.4bpp");
+const u16 gMapObjectPalette19[] = INCBIN_U16("graphics/map_objects/palettes/19.gbapal");
+
+static const s8 gTruckCamera_HorizontalTable[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ -1,
+ -1,
+ -1,
+ 0,
+};
+
+const u8 gUnknown_083D295F[] =
+{
+ STEP_18,
+ STEP_END,
+};
+
+const u8 gUnknown_083D2961[] =
+{
+ STEP_17,
+ STEP_END,
+};
+
// porthole states
enum
{
@@ -27,12 +73,7 @@ enum
EXIT_PORTHOLE,
};
-extern s8 gTruckCamera_HorizontalTable[];
-
-extern u8 gUnknown_083D295F[];
-extern u8 gUnknown_083D2961[];
-
-s32 GetTruckCameraBobbingY(int a1)
+s16 GetTruckCameraBobbingY(int a1)
{
if (!(a1 % 120))
return -1;
@@ -42,7 +83,7 @@ s32 GetTruckCameraBobbingY(int a1)
return 0;
}
-s32 GetTruckBoxMovement(int a1) // for the box movement?
+s16 GetTruckBoxMovement(int a1) // for the box movement?
{
if (!((a1 + 120) % 180))
return -1;
@@ -53,28 +94,22 @@ s32 GetTruckBoxMovement(int a1) // for the box movement?
void Task_Truck1(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- s16 cameraYpan;
- s16 box1 = 0;
- s16 box2 = 0;
- s16 box3 = 0;
- u8 mapNum, mapGroup;
- register s16 zero asm("r4");
+ s16 cameraYpan, cameraXpan = 0;
+ s16 box1, box2, box3;
box1 = GetTruckBoxMovement(data[0] + 30) * 4; // top box.
- sub_805BD90(1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, 3, box1 + 3);
+ sub_805BD90(1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, 3 - cameraXpan, box1 + 3);
box2 = GetTruckBoxMovement(data[0]) * 2; // bottom left box.
- sub_805BD90(2, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, 0, box2 - 3);
+ sub_805BD90(2, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -cameraXpan, box2 - 3);
box3 = GetTruckBoxMovement(data[0]) * 4; // bottom right box.
- mapNum = gSaveBlock1.location.mapNum;
- mapGroup = gSaveBlock1.location.mapGroup;
- zero = 0;
- sub_805BD90(3, mapNum, mapGroup, -3, box3);
+ sub_805BD90(3, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -3 - cameraXpan, box3);
if (++data[0] == SECONDS(500)) // this will never run
- data[0] = zero; // reset the timer if it gets stuck.
+ data[0] = 0; // reset the timer if it gets stuck.
+ // this also matches with directly calling GetTruckCameraBobbingY within SetCameraPanning, but this is consistent with a later function that requires a temp variable.
cameraYpan = GetTruckCameraBobbingY(data[0]);
- SetCameraPanning(0, cameraYpan);
+ SetCameraPanning(cameraXpan, cameraYpan);
}
void Task_Truck2(u8 taskId)
@@ -82,9 +117,7 @@ void Task_Truck2(u8 taskId)
s16 *data = gTasks[taskId].data;
s16 cameraYpan;
s16 cameraXpan;
- s16 box1;
- s16 box2;
- s16 box3;
+ s16 box1, box2, box3;
data[0]++;
data[2]++;
@@ -137,7 +170,7 @@ void Task_Truck3(u8 taskId)
{
cameraXpan = gTruckCamera_HorizontalTable[data[1]];
cameraYpan = 0;
- SetCameraPanning(cameraXpan, 0);
+ SetCameraPanning(cameraXpan, cameraYpan);
sub_805BD90(1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, 3 - cameraXpan, cameraYpan + 3);
sub_805BD90(2, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -cameraXpan, cameraYpan - 3);
sub_805BD90(3, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -3 - cameraXpan, cameraYpan);
@@ -250,7 +283,7 @@ bool8 sub_80C7754(void)
}
else
{
- warp1_set(mapGroup, mapNum, -1, x, y);
+ Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y);
return TRUE;
}
}
diff --git a/src/field_specials.c b/src/field/field_specials.c
index c23ea2ddc..46061febf 100644
--- a/src/field_specials.c
+++ b/src/field/field_specials.c
@@ -48,9 +48,9 @@ extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
extern u16 gScriptResult;
-EWRAM_DATA u8 gUnknown_02039250 = 0;
-EWRAM_DATA u8 gUnknown_02039251 = 0;
-EWRAM_DATA u32 gUnknown_02039254 = 0;
+EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE;
+EWRAM_DATA u8 gBikeCollisions = 0;
+EWRAM_DATA u32 gBikeCyclingTimer = 0;
EWRAM_DATA u8 gUnknown_02039258 = 0;
EWRAM_DATA u8 gUnknown_02039259 = 0;
EWRAM_DATA u8 gUnknown_0203925A = 0;
@@ -76,16 +76,16 @@ void ScrSpecial_ViewWallClock(void)
void ResetCyclingRoadChallengeData(void)
{
- gUnknown_02039250 = 0;
- gUnknown_02039251 = 0;
- gUnknown_02039254 = 0;
+ gBikeCyclingChallenge = FALSE;
+ gBikeCollisions = 0;
+ gBikeCyclingTimer = 0;
}
void ScrSpecial_BeginCyclingRoadChallenge(void)
{
- gUnknown_02039250 = 1;
- gUnknown_02039251 = 0;
- gUnknown_02039254 = gMain.vblankCounter1;
+ gBikeCyclingChallenge = TRUE;
+ gBikeCollisions = 0;
+ gBikeCyclingTimer = gMain.vblankCounter1;
}
u16 GetPlayerAvatarBike(void)
@@ -171,10 +171,10 @@ static void DetermineCyclingRoadResults(u32 arg0, u8 arg1)
}
void FinishCyclingRoadChallenge(void) {
- const u32 time = gMain.vblankCounter1 - gUnknown_02039254;
+ const u32 time = gMain.vblankCounter1 - gBikeCyclingTimer;
- DetermineCyclingRoadResults(time, gUnknown_02039251);
- RecordCyclingRoadResults(time, gUnknown_02039251);
+ DetermineCyclingRoadResults(time, gBikeCollisions);
+ RecordCyclingRoadResults(time, gBikeCollisions);
}
static void RecordCyclingRoadResults(u32 arg0, u8 arg1) {
@@ -213,7 +213,7 @@ void UpdateCyclingRoadState(void) {
if (VarGet(0x40a9) == 2 || VarGet(0x40a9) == 3)
{
VarSet(0x40a9, 0);
- sav1_set_battle_music_maybe(SE_STOP);
+ Overworld_SetSavedMusic(SE_STOP);
}
}
@@ -700,11 +700,11 @@ void CableCarWarp(void)
{
if (gSpecialVar_0x8004 != 0)
{
- warp1_set(MAP_GROUP_ROUTE112_CABLE_CAR_STATION, MAP_ID_ROUTE112_CABLE_CAR_STATION, -1, 6, 4);
+ Overworld_SetWarpDestination(MAP_GROUP_ROUTE112_CABLE_CAR_STATION, MAP_ID_ROUTE112_CABLE_CAR_STATION, -1, 6, 4);
}
else
{
- warp1_set(MAP_GROUP_MT_CHIMNEY_CABLE_CAR_STATION, MAP_ID_MT_CHIMNEY_CABLE_CAR_STATION, -1, 6, 4);
+ Overworld_SetWarpDestination(MAP_GROUP_MT_CHIMNEY_CABLE_CAR_STATION, MAP_ID_MT_CHIMNEY_CABLE_CAR_STATION, -1, 6, 4);
}
}
@@ -1789,7 +1789,7 @@ u16 sub_810F404(void)
void sub_810F414(void)
{
- sub_8135FF4(gStringVar1);
+ SetEReaderTrainerName(gStringVar1);
}
const u8 gUnknown_083F83E0[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6};
@@ -1905,13 +1905,13 @@ void PutZigzagoonInPlayerParty(void)
u16 monData;
CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0);
monData = TRUE;
- SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, (u8 *)&monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, &monData);
monData = MOVE_TACKLE;
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (u8 *)&monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &monData);
monData = MOVE_NONE;
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (u8 *)&monData);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (u8 *)&monData);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (u8 *)&monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &monData);
}
bool8 IsStarterInParty(void)
diff --git a/src/field_tasks.c b/src/field/field_tasks.c
index 2be54f923..da6f162c2 100644
--- a/src/field_tasks.c
+++ b/src/field/field_tasks.c
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/22/2017.
+
//
#include "global.h"
@@ -845,11 +845,11 @@ void Task_MuddySlope(u8 taskId)
}
break;
}
- if (gUnknown_0202E844.field_0 && mapIndices != data[0])
+ if (gCamera.field_0 && mapIndices != data[0])
{
data[0] = mapIndices;
- x2 = gUnknown_0202E844.x;
- y2 = gUnknown_0202E844.y;
+ x2 = gCamera.x;
+ y2 = gCamera.y;
}
else
{
diff --git a/src/field_weather.c b/src/field/field_weather.c
index c4fb4872f..a2abf7623 100644
--- a/src/field_weather.c
+++ b/src/field/field_weather.c
@@ -118,7 +118,7 @@ extern u16 gUnknown_0202FF58;
extern u8 *gUnknown_083970E8;
extern u8 (*gUnknown_08396FC8[][4])(void);
extern u8 (*gUnknown_083970B8[])(void);
-extern const u8 *gUnknown_030006DC;
+IWRAM_DATA const u8 *gUnknown_030006DC;
extern const u8 gUnknown_083970C8[];
// This is a pointer to gWeather. All code sub_807DE78 and below uses this pointer,
@@ -140,6 +140,8 @@ const u8 DroughtPaletteData_2[] = INCBIN_U8("graphics/weather/drought2.bin.lz");
const u8 DroughtPaletteData_3[] = INCBIN_U8("graphics/weather/drought3.bin.lz");
const u8 DroughtPaletteData_4[] = INCBIN_U8("graphics/weather/drought4.bin.lz");
const u8 DroughtPaletteData_5[] = INCBIN_U8("graphics/weather/drought5.bin.lz");
+extern u8 (*gUnknown_0202FC48)[32];
+extern u8 gUnknown_0202F9E8[32];
const u8 *const gUnknown_08396FA8[] =
{
diff --git a/src/fieldmap.c b/src/field/fieldmap.c
index 3ad190a4b..7a31ae720 100644
--- a/src/fieldmap.c
+++ b/src/field/fieldmap.c
@@ -22,7 +22,7 @@ struct Coords32
EWRAM_DATA static u16 gUnknown_02029828[0x2800] = {0};
EWRAM_DATA struct MapHeader gMapHeader = {0};
-EWRAM_DATA struct Camera gUnknown_0202E844 = {0};
+EWRAM_DATA struct Camera gCamera = {0};
EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0};
struct BackupMapData gUnknown_03004870;
@@ -713,7 +713,7 @@ bool8 CameraMove(int x, int y)
unsigned int direction;
struct MapConnection *connection;
int old_x, old_y;
- gUnknown_0202E844.field_0 = FALSE;
+ gCamera.field_0 = FALSE;
direction = GetPostCameraMoveMapBorderId(x, y);
if (direction + 1 <= 1)
{
@@ -728,14 +728,14 @@ bool8 CameraMove(int x, int y)
connection = sub_8056A64(direction, gSaveBlock1.pos.x, gSaveBlock1.pos.y);
sub_8056918(connection, direction, x, y);
sub_80538F0(connection->mapGroup, connection->mapNum);
- gUnknown_0202E844.field_0 = TRUE;
- gUnknown_0202E844.x = old_x - gSaveBlock1.pos.x;
- gUnknown_0202E844.y = old_y - gSaveBlock1.pos.y;
+ gCamera.field_0 = TRUE;
+ gCamera.x = old_x - gSaveBlock1.pos.x;
+ gCamera.y = old_y - gSaveBlock1.pos.y;
gSaveBlock1.pos.x += x;
gSaveBlock1.pos.y += y;
sub_80566F0(direction);
}
- return gUnknown_0202E844.field_0;
+ return gCamera.field_0;
}
struct MapConnection *sub_8056A64(u8 direction, int x, int y)
diff --git a/src/fldeff_cut.c b/src/field/fldeff_cut.c
index 00643a979..00643a979 100644
--- a/src/fldeff_cut.c
+++ b/src/field/fldeff_cut.c
diff --git a/src/fldeff_flash.c b/src/field/fldeff_flash.c
index 1ee8a8f05..1ee8a8f05 100644
--- a/src/fldeff_flash.c
+++ b/src/field/fldeff_flash.c
diff --git a/src/fldeff_softboiled.c b/src/field/fldeff_softboiled.c
index cb26d9966..22f9c13f5 100644
--- a/src/fldeff_softboiled.c
+++ b/src/field/fldeff_softboiled.c
@@ -75,7 +75,7 @@ bool8 SetUpFieldMove_SoftBoiled(void) {
void sub_8133D28(u8 taskid) {
EWRAM_1000.unkC = sub_8133D50;
EWRAM_1B000_2.unk272 = 3;
- sub_808A004(taskid);
+ DoPokemonMenu_Switch(taskid);
}
static void sub_8133D50(u8 taskId) {
@@ -132,8 +132,8 @@ static void sub_8133E74(u8 taskId) {
}
MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
- sub_806D538(3, 0);
- gTasks[taskId].func = sub_806CB74;
+ PrintPartyMenuPromptText(3, 0);
+ gTasks[taskId].func = HandlePartyMenuSwitchPokemonInput;
}
static void sub_8133EB8(u8 taskId) {
@@ -148,6 +148,6 @@ static void sub_8133EF8(void) {
EWRAM_1B000_2.unk261 = 2;
DestroySprite(&gSprites[EWRAM_1000.unk1]);
MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
- sub_806D538(0, 0);
+ PrintPartyMenuPromptText(0, 0);
SwitchTaskToFollowupFunc(EWRAM_1000.unk0);
}
diff --git a/src/fldeff_strength.c b/src/field/fldeff_strength.c
index d9603d094..d9603d094 100644
--- a/src/fldeff_strength.c
+++ b/src/field/fldeff_strength.c
diff --git a/src/fldeff_sweetscent.c b/src/field/fldeff_sweetscent.c
index b9dbf619d..b9dbf619d 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/field/fldeff_sweetscent.c
diff --git a/src/fldeff_teleport.c b/src/field/fldeff_teleport.c
index af48fb414..af48fb414 100644
--- a/src/fldeff_teleport.c
+++ b/src/field/fldeff_teleport.c
diff --git a/src/heal_location.c b/src/field/heal_location.c
index 42bc18567..42bc18567 100644
--- a/src/heal_location.c
+++ b/src/field/heal_location.c
diff --git a/src/hof_pc.c b/src/field/hof_pc.c
index aeeb7fe17..267ed4274 100644
--- a/src/hof_pc.c
+++ b/src/field/hof_pc.c
@@ -28,7 +28,7 @@ void ReturnFromHallOfFamePC(void)
static void ReshowPCMenuAfterHallOfFamePC(void)
{
ScriptContext2_Enable();
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
ScrSpecial_CreatePCMenu();
ScriptMenu_DisplayPCStartupPrompt();
diff --git a/src/item.c b/src/field/item.c
index 36871285a..fd49f5c39 100644
--- a/src/item.c
+++ b/src/field/item.c
@@ -30,11 +30,11 @@ enum
};
#if ENGLISH
-#include "data/item_descriptions_en.h"
-#include "data/items_en.h"
+#include "../data/item_descriptions_en.h"
+#include "../data/items_en.h"
#elif GERMAN
-#include "data/item_descriptions_de.h"
-#include "data/items_de.h"
+#include "../data/item_descriptions_de.h"
+#include "../data/items_de.h"
#endif
static void CompactPCItems(void);
diff --git a/src/item_menu.c b/src/field/item_menu.c
index 891eb135f..c508bcacf 100644
--- a/src/item_menu.c
+++ b/src/field/item_menu.c
@@ -152,7 +152,7 @@ static u8 sReturnLocation;
static const u8 *sPopupMenuActionList;
// common
-void (*gUnknown_03005D00)(u8) = NULL;
+void (*gFieldItemUseCallback)(u8) = NULL;
extern u16 gUnknown_030041B4;
extern struct PocketScrollState gBagPocketScrollStates[];
extern struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots
@@ -2718,7 +2718,7 @@ void ExecuteItemUseFromBlackPalette(void)
static void Task_CallItemUseOnFieldCallback(u8 taskId)
{
if (sub_807D770() == TRUE)
- gUnknown_03005D00(taskId);
+ gFieldItemUseCallback(taskId);
}
void sub_80A5D04(void)
@@ -4492,7 +4492,7 @@ static void LoadBerryPic(u8 berryId)
spritePal.data = (u16 *)sBerryGraphicsTable[berryId].lzPalette;
spritePal.tag = 0x7544;
LoadCompressedObjectPalette((struct CompressedSpritePalette *)&spritePal);
- sub_800D238(sBerryGraphicsTable[berryId].lzPic, ewramBerryPicTemp);
+ LZDecompressWram(sBerryGraphicsTable[berryId].lzPic, ewramBerryPicTemp);
DrawBerryPic(ewramBerryPicTemp, ewramBerryPic);
}
}
diff --git a/src/item_use.c b/src/field/item_use.c
index 8bc83bdc6..14b13ca3b 100644
--- a/src/item_use.c
+++ b/src/field/item_use.c
@@ -36,7 +36,7 @@
#include "task.h"
#include "vars.h"
-extern void (*gUnknown_03005D00)(u8);
+extern void (*gFieldItemUseCallback)(u8);
extern void (*gFieldCallback)(void);
extern void (*gUnknown_0300485C)(void);
extern void (*gUnknown_03004AE4)(u8, u16, TaskFunc);
@@ -106,11 +106,13 @@ void SetUpItemUseOnFieldCallback(u8 taskId)
{
if (gTasks[taskId].data[2] != 1)
{
- gFieldCallback = (void *)ExecuteItemUseFromBlackPalette;
+ gFieldCallback = ExecuteItemUseFromBlackPalette;
ItemMenu_ConfirmNormalFade(taskId);
}
else
- gUnknown_03005D00(taskId);
+ {
+ gFieldItemUseCallback(taskId);
+ }
}
void HandleDeniedItemUseMessage(u8 var1, u8 playerMenuStatus, const u8 *text)
@@ -185,9 +187,9 @@ void ItemUseOutOfBattle_Bike(u8 taskId)
}
else
{
- if (Overworld_IsBikeAllowedOnCurrentMap() == TRUE && IsBikingDisallowedByPlayer() == FALSE)
+ if (Overworld_IsBikingAllowed() == TRUE && IsBikingDisallowedByPlayer() == FALSE)
{
- gUnknown_03005D00 = (void *)ItemUseOnFieldCB_Bike;
+ gFieldItemUseCallback = (void *)ItemUseOnFieldCB_Bike;
SetUpItemUseOnFieldCallback(taskId);
}
else
@@ -241,7 +243,7 @@ void ItemUseOutOfBattle_Rod(u8 taskId)
{
if (CanFish() == TRUE)
{
- gUnknown_03005D00 = (void *)ItemUseOnFieldCB_Rod;
+ gFieldItemUseCallback = (void *)ItemUseOnFieldCB_Rod;
SetUpItemUseOnFieldCallback(taskId);
}
else
@@ -257,7 +259,7 @@ void ItemUseOnFieldCB_Rod(u8 taskId)
void ItemUseOutOfBattle_Itemfinder(u8 var)
{
IncrementGameStat(0x27);
- gUnknown_03005D00 = (void *)ItemUseOnFieldCB_Itemfinder;
+ gFieldItemUseCallback = (void *)ItemUseOnFieldCB_Itemfinder;
SetUpItemUseOnFieldCallback(var);
}
@@ -778,9 +780,9 @@ void ItemUseOutOfBattle_SSTicket(u8 taskId)
void sub_80C9C7C(u8 taskId)
{
- if (IsPlayerFacingPlantedBerryTree() == TRUE)
+ if (IsPlayerFacingUnplantedSoil() == TRUE)
{
- gUnknown_03005D00 = sub_80C9D00;
+ gFieldItemUseCallback = sub_80C9D00;
gFieldCallback = ExecuteItemUseFromBlackPalette;
gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16;
gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch;
@@ -805,7 +807,7 @@ void ItemUseOutOfBattle_WailmerPail(u8 taskId)
{
if (TryToWaterBerryTree() == TRUE)
{
- gUnknown_03005D00 = sub_80C9D74;
+ gFieldItemUseCallback = sub_80C9D74;
SetUpItemUseOnFieldCallback(taskId);
}
else
@@ -909,7 +911,7 @@ void sub_80C9FC0(u8 var)
sub_80C9D98(var);
}
-void sub_80C9FDC(void)
+static void PrepareItemUseMessage(void)
{
RemoveBagItem(gScriptItemId, 1);
sub_80A3E0C();
@@ -922,7 +924,7 @@ void ItemUseOutOfBattle_Repel(u8 var)
if (VarGet(VAR_REPEL_STEP_COUNT) == FALSE)
{
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gScriptItemId));
- sub_80C9FDC();
+ PrepareItemUseMessage();
DisplayItemMessageOnField(var, gStringVar4, CleanUpItemMenuMessage, 1);
}
else
@@ -975,10 +977,10 @@ void task08_080A1C44(u8 taskId)
DestroyTask(taskId);
}
-void sub_80CA18C(u8 taskId)
+void EscapeRopeCallback(u8 taskId)
{
- sub_8053014();
- sub_80C9FDC();
+ Overworld_ResetStateAfterDigEscRope();
+ PrepareItemUseMessage();
gTasks[taskId].data[0] = 0;
DisplayItemMessageOnField(taskId, gStringVar4, task08_080A1C44, 0);
}
@@ -995,7 +997,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId)
{
if (CanUseEscapeRopeOnCurrMap() == TRUE)
{
- gUnknown_03005D00 = sub_80CA18C;
+ gFieldItemUseCallback = EscapeRopeCallback;
SetUpItemUseOnFieldCallback(taskId);
}
else
@@ -1114,7 +1116,7 @@ void ItemUseInBattle_Escape(u8 taskId)
if((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE)
{
- sub_80C9FDC();
+ PrepareItemUseMessage();
DisplayItemMessageOnField(taskId, gStringVar4, sub_80A7094, 1);
}
else
diff --git a/src/landmark.c b/src/field/landmark.c
index 6a53716bb..6a53716bb 100644
--- a/src/landmark.c
+++ b/src/field/landmark.c
diff --git a/src/lottery_corner.c b/src/field/lottery_corner.c
index c2c25b9ac..c2c25b9ac 100644
--- a/src/lottery_corner.c
+++ b/src/field/lottery_corner.c
diff --git a/src/map_name_popup.c b/src/field/map_name_popup.c
index 01105d0db..01105d0db 100644
--- a/src/map_name_popup.c
+++ b/src/field/map_name_popup.c
diff --git a/src/map_obj_lock.c b/src/field/map_obj_lock.c
index 2856320b8..91feaf177 100644
--- a/src/map_obj_lock.c
+++ b/src/field/map_obj_lock.c
@@ -10,7 +10,7 @@ extern u16 gScriptFacing;
bool8 walkrun_is_standing_still(void)
{
- if (gPlayerAvatar.running1 == 1)
+ if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION)
return FALSE;
else
return TRUE;
diff --git a/src/mauville_man.c b/src/field/mauville_man.c
index 33bc39648..33bc39648 100644
--- a/src/mauville_man.c
+++ b/src/field/mauville_man.c
diff --git a/src/menu_helpers.c b/src/field/menu_helpers.c
index 14e823355..14e823355 100644
--- a/src/menu_helpers.c
+++ b/src/field/menu_helpers.c
diff --git a/src/metatile_behavior.c b/src/field/metatile_behavior.c
index d05ba0b89..d05ba0b89 100644
--- a/src/metatile_behavior.c
+++ b/src/field/metatile_behavior.c
diff --git a/src/money.c b/src/field/money.c
index 5d0f0ae8d..5d0f0ae8d 100644
--- a/src/money.c
+++ b/src/field/money.c
diff --git a/src/overworld.c b/src/field/overworld.c
index 9b41a262d..d6f255409 100644
--- a/src/overworld.c
+++ b/src/field/overworld.c
@@ -91,7 +91,7 @@ extern struct MapHeader * const * const gMapGroups[];
extern s32 gMaxFlashLevel;
EWRAM_DATA struct WarpData gUnknown_020297F0 = {0};
-EWRAM_DATA struct WarpData gUnknown_020297F8 = {0};
+EWRAM_DATA struct WarpData gWarpDestination = {0}; // new warp position
EWRAM_DATA struct WarpData gUnknown_02029800 = {0};
EWRAM_DATA struct WarpData gUnknown_02029808 = {0};
EWRAM_DATA struct UnkPlayerStruct gUnknown_02029810 = {0};
@@ -195,12 +195,12 @@ static void DoWhiteOut(void)
ScriptContext2_RunNewScript(S_WhiteOut);
gSaveBlock1.money /= 2;
ScrSpecial_HealPlayerParty();
- sub_8053050();
- sub_8053570();
+ Overworld_ResetStateAfterWhiteOut();
+ Overworld_SetWarpDestToLastHealLoc();
warp_in();
}
-void flag_var_implications_of_teleport_(void)
+void Overworld_ResetStateAfterFly(void)
{
player_avatar_init_params_reset();
FlagClear(SYS_CYCLING_ROAD);
@@ -221,7 +221,7 @@ void Overworld_ResetStateAfterTeleport(void)
ScriptContext2_RunNewScript(gUnknown_0819FC9F);
}
-void sub_8053014(void)
+void Overworld_ResetStateAfterDigEscRope(void)
{
player_avatar_init_params_reset();
FlagClear(SYS_CYCLING_ROAD);
@@ -231,7 +231,7 @@ void sub_8053014(void)
FlagClear(SYS_USE_FLASH);
}
-void sub_8053050(void)
+void Overworld_ResetStateAfterWhiteOut(void)
{
player_avatar_init_params_reset();
FlagClear(SYS_CYCLING_ROAD);
@@ -283,9 +283,12 @@ void SetGameStat(u8 index, u32 value)
gSaveBlock1.gameStats[index] = value;
}
-void sub_8053154(void)
+void LoadMapObjTemplatesFromHeader(void)
{
+ // Clear map object templates
CpuFill32(0, gSaveBlock1.mapObjectTemplates, sizeof(gSaveBlock1.mapObjectTemplates));
+
+ // Copy map header events to save block
CpuCopy32(gMapHeader.events->mapObjects,
gSaveBlock1.mapObjectTemplates,
gMapHeader.events->mapObjectCount * sizeof(struct MapObjectTemplate));
@@ -300,7 +303,7 @@ static void LoadSaveblockMapObjScripts(void)
mapObjectTemplates[i].script = gMapHeader.events->mapObjects[i].script;
}
-void Overworld_SaveMapObjCoords(u8 localId, s16 x, s16 y)
+void Overworld_SetMapObjTemplateCoords(u8 localId, s16 x, s16 y)
{
s32 i;
for (i = 0; i < 64; i++)
@@ -315,9 +318,10 @@ void Overworld_SaveMapObjCoords(u8 localId, s16 x, s16 y)
}
}
-void Overworld_SaveMapObjMovementType(u8 localId, u8 movementType)
+void Overworld_SetMapObjTemplateMovementType(u8 localId, u8 movementType)
{
s32 i;
+
for (i = 0; i < 64; i++)
{
struct MapObjectTemplate *mapObjectTemplate = &gSaveBlock1.mapObjectTemplates[i];
@@ -346,15 +350,15 @@ static struct MapData *get_mapdata_header(void)
return NULL;
}
-static void warp_shift(void)
+static void ApplyCurrentWarp(void)
{
gUnknown_020297F0 = gSaveBlock1.location;
- gSaveBlock1.location = gUnknown_020297F8;
+ gSaveBlock1.location = gWarpDestination;
gUnknown_02029800 = sDummyWarpData;
gUnknown_02029808 = sDummyWarpData;
}
-static void warp_set(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;
@@ -385,7 +389,7 @@ struct MapHeader *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 map
struct MapHeader *const warp1_get_mapheader(void)
{
- return Overworld_GetMapHeaderByGroupAndId(gUnknown_020297F8.mapGroup, gUnknown_020297F8.mapNum);
+ return Overworld_GetMapHeaderByGroupAndId(gWarpDestination.mapGroup, gWarpDestination.mapNum);
}
static void set_current_map_header_from_sav1_save_old_name(void)
@@ -422,34 +426,34 @@ void sub_80533CC(void)
void warp_in(void)
{
- warp_shift();
+ ApplyCurrentWarp();
set_current_map_header_from_sav1_save_old_name();
sub_80533CC();
}
-void warp1_set(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
+void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
{
- warp_set(&gUnknown_020297F8, mapGroup, mapNum, warpId, x, y);
+ SetWarpData(&gWarpDestination, mapGroup, mapNum, warpId, x, y);
}
void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId)
{
- warp1_set(mapGroup, mapNum, warpId, -1, -1);
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, -1, -1);
}
void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId)
{
- warp_set(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, gSaveBlock1.pos.x, gSaveBlock1.pos.y);
+ SetWarpData(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, gSaveBlock1.pos.x, gSaveBlock1.pos.y);
}
void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
{
- warp_set(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, x, y);
+ SetWarpData(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, x, y);
}
void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused)
{
- gUnknown_020297F8 = gSaveBlock1.warp2;
+ gWarpDestination = gSaveBlock1.warp2;
}
void sub_8053538(u8 a1)
@@ -457,81 +461,82 @@ void sub_8053538(u8 a1)
const struct HealLocation *warp = GetHealLocation(a1);
if (warp)
- warp1_set(warp->group, warp->map, -1, warp->x, warp->y);
+ Overworld_SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y);
}
-void sub_8053570(void)
+void Overworld_SetWarpDestToLastHealLoc(void)
{
- gUnknown_020297F8 = gSaveBlock1.warp3;
+ gWarpDestination = gSaveBlock1.lastHealLocation;
}
-void sub_8053588(u8 a1)
+void Overworld_SetHealLocationWarp(u8 healLocationId)
{
- const struct HealLocation *warp = GetHealLocation(a1);
- if (warp)
- warp_set(&gSaveBlock1.warp3, warp->group, warp->map, -1, warp->x, warp->y);
+ const struct HealLocation *healLocation = GetHealLocation(healLocationId);
+
+ if (healLocation != NULL)
+ SetWarpData(&gSaveBlock1.lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y);
}
void sub_80535C4(s16 a1, s16 a2)
{
- u8 v4 = Overworld_GetMapTypeOfSaveblockLocation();
- u8 v5 = GetMapTypeByGroupAndId(gUnknown_020297F8.mapGroup, gUnknown_020297F8.mapNum);
- if (is_map_type_1_2_3_5_or_6(v4) && is_map_type_1_2_3_5_or_6(v5) != TRUE)
+ u8 currMapType = Overworld_GetMapTypeOfSaveblockLocation();
+ u8 destMapType = GetMapTypeByGroupAndId(gWarpDestination.mapGroup, gWarpDestination.mapNum);
+ if (is_map_type_1_2_3_5_or_6(currMapType) && is_map_type_1_2_3_5_or_6(destMapType) != TRUE)
sub_805363C(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, a1 - 7, a2 - 6);
}
void sub_805363C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
{
- warp_set(&gSaveBlock1.warp4, mapGroup, mapNum, warpId, x, y);
+ SetWarpData(&gSaveBlock1.warp4, mapGroup, mapNum, warpId, x, y);
}
void sub_8053678(void)
{
- gUnknown_020297F8 = gSaveBlock1.warp4;
+ gWarpDestination = gSaveBlock1.warp4;
}
void sub_8053690(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
{
- warp_set(&gUnknown_02029800, mapGroup, mapNum, warpId, x, y);
+ SetWarpData(&gUnknown_02029800, mapGroup, mapNum, warpId, x, y);
}
-void warp1_set_to_warp2(void)
+static void warp1_set_to_warp2(void)
{
- gUnknown_020297F8 = gUnknown_02029800;
+ gWarpDestination = gUnknown_02029800;
}
void sub_80536E4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
{
- warp_set(&gUnknown_02029808, mapGroup, mapNum, warpId, x, y);
+ SetWarpData(&gUnknown_02029808, mapGroup, mapNum, warpId, x, y);
}
void sub_8053720(s16 x, s16 y)
{
if (warp_data_is_not_neg_1(&gUnknown_02029808) == TRUE)
{
- gUnknown_020297F8 = gUnknown_020297F0;
+ gWarpDestination = gUnknown_020297F0;
}
else
{
- warp1_set(gUnknown_02029808.mapGroup, gUnknown_02029808.mapNum, -1, x, y);
+ Overworld_SetWarpDestination(gUnknown_02029808.mapGroup, gUnknown_02029808.mapNum, -1, x, y);
}
}
void sub_8053778(void)
{
- gUnknown_020297F8 = gSaveBlock1.warp1;
+ gWarpDestination = gSaveBlock1.warp1;
}
void unref_sub_8053790(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
{
- warp_set(&gSaveBlock1.warp1, mapGroup, mapNum, warpId, x, y);
+ SetWarpData(&gSaveBlock1.warp1, mapGroup, mapNum, warpId, x, y);
}
void sub_80537CC(u8 a1)
{
const struct HealLocation *warp = GetHealLocation(a1);
if (warp)
- warp_set(&gSaveBlock1.warp1, warp->group, warp->map, -1, warp->x, warp->y);
+ SetWarpData(&gSaveBlock1.warp1, warp->group, warp->map, -1, warp->x, warp->y);
}
void gpu_sync_bg_hide()
@@ -539,7 +544,7 @@ void gpu_sync_bg_hide()
gSaveBlock1.warp1 = gSaveBlock1.warp2;
}
-struct MapConnection *sub_8053818(u8 dir)
+struct MapConnection *GetMapConnection(u8 dir)
{
s32 i;
s32 count = gMapHeader.connections->count;
@@ -557,10 +562,11 @@ struct MapConnection *sub_8053818(u8 dir)
bool8 sub_8053850(u8 dir, u16 x, u16 y)
{
- struct MapConnection *connection = sub_8053818(dir);
+ struct MapConnection *connection = GetMapConnection(dir);
+
if (connection != NULL)
{
- warp1_set(connection->mapGroup, connection->mapNum, -1, x, y);
+ Overworld_SetWarpDestination(connection->mapGroup, connection->mapNum, -1, x, y);
}
else
{
@@ -586,11 +592,11 @@ void sub_80538F0(u8 mapGroup, u8 mapNum)
{
s32 i;
- warp1_set(mapGroup, mapNum, -1, -1, -1);
+ Overworld_SetWarpDestination(mapGroup, mapNum, -1, -1, -1);
sub_8053F0C();
- warp_shift();
+ ApplyCurrentWarp();
set_current_map_header_from_sav1_save_old_name();
- sub_8053154();
+ LoadMapObjTemplatesFromHeader();
ClearTempFieldEventData();
ResetCyclingRoadChallengeData();
prev_quest_postbuffer_cursor_backup_reset();
@@ -599,7 +605,7 @@ void sub_80538F0(u8 mapGroup, u8 mapNum)
sub_80806E4();
ChooseAmbientCrySpecies();
SetDefaultFlashLevel();
- sav1_reset_battle_music_maybe();
+ Overworld_ClearSavedMusic();
mapheader_run_script_with_tag_x3();
not_trainer_hill_battle_pyramid();
sub_8056D38(gMapHeader.mapData);
@@ -623,7 +629,7 @@ void sub_8053994(u32 a1)
bool8 v3;
set_current_map_header_from_sav1_save_old_name();
- sub_8053154();
+ LoadMapObjTemplatesFromHeader();
v2 = is_map_type_1_2_3_5_or_6(gMapHeader.mapType);
v3 = Overworld_MapTypeIsIndoors(gMapHeader.mapType);
ClearTempFieldEventData();
@@ -637,7 +643,7 @@ void sub_8053994(u32 a1)
if (v2)
FlagClear(SYS_USE_FLASH);
SetDefaultFlashLevel();
- sav1_reset_battle_music_maybe();
+ Overworld_ClearSavedMusic();
mapheader_run_script_with_tag_x3();
UpdateLocationHistoryForRoamer();
RoamerMoveToOtherLocationSet();
@@ -691,7 +697,7 @@ u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3)
return 16;
if (MetatileBehavior_IsSurfableWaterOrUnderwater(a2) == 1)
return 8;
- if (Overworld_IsBikeAllowedOnCurrentMap() != TRUE)
+ if (Overworld_IsBikingAllowed() != TRUE)
return 1;
if (playerStruct->player_field_0 == 2)
return 2;
@@ -729,7 +735,7 @@ u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void)
return MapGridGetMetatileBehaviorAt(gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7);
}
-bool32 Overworld_IsBikeAllowedOnCurrentMap(void)
+bool32 Overworld_IsBikingAllowed(void)
{
// is player in cycling road entrance?
if (gSaveBlock1.location.mapGroup == MAP_GROUP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE
@@ -830,10 +836,11 @@ static u16 GetLocationMusic(struct WarpData *warp)
return Overworld_GetMapHeaderByGroupAndId(warp->mapGroup, warp->mapNum)->music;
}
-u16 sav1_map_get_music(void)
+u16 GetCurrLocationDefaultMusic(void)
{
u16 music;
+ // Play the desert music only when the sandstorm is active on Route 111.
if (gSaveBlock1.location.mapGroup == MAP_GROUP_ROUTE111
&& gSaveBlock1.location.mapNum == MAP_ID_ROUTE111
&& GetSav1Weather() == 8)
@@ -853,9 +860,9 @@ u16 sav1_map_get_music(void)
}
}
-u16 warp1_target_get_music(void)
+u16 GetWarpDestinationMusic(void)
{
- u16 music = GetLocationMusic(&gUnknown_020297F8);
+ u16 music = GetLocationMusic(&gWarpDestination);
if (music != 0x7FFF)
{
return music;
@@ -870,19 +877,19 @@ u16 warp1_target_get_music(void)
}
}
-void call_map_music_set_to_zero(void)
+void Overworld_ResetMapMusic(void)
{
ResetMapMusic();
}
-void sub_8053E90(void)
+void Overworld_PlaySpecialMapMusic(void)
{
- u16 music = sav1_map_get_music();
+ u16 music = GetCurrLocationDefaultMusic();
if (music != LEGENDARY_MUSIC)
{
- if (gSaveBlock1.battleMusic)
- music = gSaveBlock1.battleMusic;
+ if (gSaveBlock1.savedMusic)
+ music = gSaveBlock1.savedMusic;
else if (Overworld_GetMapTypeOfSaveblockLocation() == MAP_TYPE_UNDERWATER)
music = BGM_DEEPDEEP;
else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
@@ -893,21 +900,21 @@ void sub_8053E90(void)
PlayNewMapMusic(music);
}
-void sav1_set_battle_music_maybe(u16 songNum)
+void Overworld_SetSavedMusic(u16 songNum)
{
- gSaveBlock1.battleMusic = songNum;
+ gSaveBlock1.savedMusic = songNum;
}
-void sav1_reset_battle_music_maybe(void)
+void Overworld_ClearSavedMusic(void)
{
- gSaveBlock1.battleMusic = 0;
+ gSaveBlock1.savedMusic = 0;
}
void sub_8053F0C(void)
{
if (FlagGet(SPECIAL_FLAG_1) != TRUE)
{
- u16 newMusic = warp1_target_get_music();
+ u16 newMusic = GetWarpDestinationMusic();
u16 currentMusic = GetCurrentMapMusic();
if (newMusic != LEGENDARY_MUSIC)
{
@@ -926,11 +933,11 @@ void sub_8053F0C(void)
}
}
-void sub_8053F84(void)
+void Overworld_ChangeMusicToDefault(void)
{
u16 currentMusic = GetCurrentMapMusic();
- if (currentMusic != sav1_map_get_music())
- FadeOutAndPlayNewMapMusic(sav1_map_get_music(), 8);
+ if (currentMusic != GetCurrLocationDefaultMusic())
+ FadeOutAndPlayNewMapMusic(GetCurrLocationDefaultMusic(), 8);
}
void Overworld_ChangeMusicTo(u16 newMusic)
@@ -951,7 +958,7 @@ u8 GetMapMusicFadeoutSpeed(void)
void sub_8053FF8(void)
{
- u16 music = warp1_target_get_music();
+ u16 music = GetWarpDestinationMusic();
if (FlagGet(SPECIAL_FLAG_1) != TRUE && music != GetCurrentMapMusic())
{
u8 speed = GetMapMusicFadeoutSpeed();
@@ -964,7 +971,7 @@ bool8 sub_8054034(void)
return IsNotWaitingForBGMStop();
}
-void sub_8054044(void)
+void Overworld_FadeOutMapMusic(void)
{
FadeOutMapMusic(4);
}
@@ -972,14 +979,16 @@ void sub_8054044(void)
static void PlayAmbientCry(void)
{
s16 x, y;
+ s8 pan;
+ s8 volume;
+
PlayerGetDestCoords(&x, &y);
- if (sIsAmbientCryWaterMon != TRUE
- || MetatileBehavior_IsSurfableWaterOrUnderwater(MapGridGetMetatileBehaviorAt(x, y)))
- {
- s8 pan = (Random() % 88) + 212;
- s8 volume = (Random() % 30) + 50;
- PlayCry2(sAmbientCrySpecies, pan, volume, 1);
- }
+ if (sIsAmbientCryWaterMon == TRUE
+ && !MetatileBehavior_IsSurfableWaterOrUnderwater(MapGridGetMetatileBehaviorAt(x, y)))
+ return;
+ pan = (Random() % 88) + 212;
+ volume = (Random() % 30) + 50;
+ PlayCry2(sAmbientCrySpecies, pan, volume, 1);
}
void UpdateAmbientCry(s16 *state, u16 *delayCounter)
@@ -1149,6 +1158,7 @@ void OverworldBasic(void)
sub_8072EDC();
}
+// This CB2 is used when starting
void CB2_OverworldBasic(void)
{
OverworldBasic();
@@ -1176,7 +1186,7 @@ void sub_80543DC(u16 (*a1)(u32))
void sub_80543E8(void)
{
- if (gFieldCallback)
+ if (gFieldCallback != NULL)
gFieldCallback();
else
mapldr_default();
@@ -1977,27 +1987,27 @@ void sub_8055280(u16 a1)
u16 sub_80552B0(u32 a1)
{
- if (gMain.heldKeys & 0x40)
+ if (gMain.heldKeys & DPAD_UP)
{
return 19;
}
- else if (gMain.heldKeys & 0x80)
+ else if (gMain.heldKeys & DPAD_DOWN)
{
return 18;
}
- else if (gMain.heldKeys & 0x20)
+ else if (gMain.heldKeys & DPAD_LEFT)
{
return 20;
}
- else if (gMain.heldKeys & 0x10)
+ else if (gMain.heldKeys & DPAD_RIGHT)
{
return 21;
}
- else if (gMain.newKeys & 8)
+ else if (gMain.newKeys & START_BUTTON)
{
return 24;
}
- else if (gMain.newKeys & 1)
+ else if (gMain.newKeys & A_BUTTON)
{
return 25;
}
diff --git a/src/field/party_menu.c b/src/field/party_menu.c
new file mode 100644
index 000000000..7a519d737
--- /dev/null
+++ b/src/field/party_menu.c
@@ -0,0 +1,5651 @@
+#include "global.h"
+#include "party_menu.h"
+#include "battle.h"
+#include "battle_interface.h"
+#include "battle_party_menu.h"
+#include "choose_party.h"
+#include "data2.h"
+#include "decompress.h"
+#include "event_data.h"
+#include "evolution_scene.h"
+#include "item.h"
+#include "item_use.h"
+#include "item_menu.h"
+#include "items.h"
+#include "mail_data.h"
+#include "main.h"
+#include "menu.h"
+#include "menu_helpers.h"
+#include "moves.h"
+#include "palette.h"
+#include "pokemon.h"
+#include "pokemon_icon.h"
+#include "pokemon_item_effect.h"
+#include "pokemon_menu.h"
+#include "pokemon_summary_screen.h"
+#include "rom_8077ABC.h"
+#include "rom_8094928.h"
+#include "script_pokemon_80F9.h"
+#include "songs.h"
+#include "sound.h"
+#include "species.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "unknown_task.h"
+#include "util.h"
+
+struct Coords8
+{
+ u8 x;
+ u8 y;
+};
+
+struct PartyMenuWindowCoords
+{
+ u8 left;
+ u8 top;
+ u8 right;
+ u8 bottom;
+};
+
+struct PartyMonTextSettingsStruct
+{
+ u8 xOffset;
+ u8 yOffset;
+ const u16 *oamSettings;
+};
+
+struct PartyMenuHandlersStruct
+{
+ /*0x0*/TaskFunc menuHandler;
+ /*0x4*/bool8 (*menuSetup)(void);
+ /*0x8*/u8 initialPromptTextId; // element in PartyMenuPromptTexts
+};
+
+static void nullsub_12(u8 monIndex, struct Pokemon *pokemon);
+static void TryPrintPartyMenuMonNickname(u8 monIndex, struct Pokemon *pokemon);
+static void PartyMenuTryPrintHP(u8 monIndex, struct Pokemon *pokemon);
+static void sub_806D05C(u8 taskId);
+static void sub_806D15C(u8 taskId);
+static void sub_806D198(u8 taskId);
+static void sub_806E884(u8 taskId);
+static void sub_8070D90(u8 taskId);
+static void sub_806D5B8(u8 taskId);
+static void sub_806D014(u8 taskId);
+static void sub_806D118(u8 taskId);
+static void CB2_InitPartyMenu(void);
+static void ReDrawPartyMonBackgrounds(void);
+static void sub_806BA94(s16 a, u16 b, u8 c, u8 d);
+static void sub_806B9A4(s16 a, u16 b, u8 c);
+static void sub_806CA18(u8 taskId, u8 b);
+static void ChangeDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed);
+static void ChangeDefaultPartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed);
+static void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed);
+static void UpdateMonIconFrame_806DA0C(struct Sprite *sprite);
+static void UpdateMonIconFrame_806DA38(struct Sprite *sprite);
+static void UpdateMonIconFrame_806DA44(u8 taskId, u8 monIndex, u8 c);
+static u8 sub_806CA00(u8 taskId);
+static void SpriteCB_sub_806D37C(struct Sprite *sprite);
+static u8 GetMonIconSpriteId(u8 taskId, u8 monIndex);
+static void SpriteCB_UpdateHeldItemIconPosition(struct Sprite *sprite);
+static void ItemUseMoveMenu_HandleMoveSelection(u8 taskId);
+static void ItemUseMoveMenu_HandleCancel(u8 taskId);
+static bool8 SetupDefaultPartyMenu(void);
+static void sub_806B4A8(void);
+static void VBlankCB_PartyMenu(void);
+static bool8 LoadPartyMenuGraphics(u8 a);
+static void sub_806BF24(const u8 *a, u8 monIndex, u8 c, u8 d);
+static void sub_806BB9C(u8 a);
+static void sub_806BBEC(u8 a);
+
+const u16 TMHMMoves[] = {
+ MOVE_FOCUS_PUNCH,
+ MOVE_DRAGON_CLAW,
+ MOVE_WATER_PULSE,
+ MOVE_CALM_MIND,
+ MOVE_ROAR,
+ MOVE_TOXIC,
+ MOVE_HAIL,
+ MOVE_BULK_UP,
+ MOVE_BULLET_SEED,
+ MOVE_HIDDEN_POWER,
+ MOVE_SUNNY_DAY,
+ MOVE_TAUNT,
+ MOVE_ICE_BEAM,
+ MOVE_BLIZZARD,
+ MOVE_HYPER_BEAM,
+ MOVE_LIGHT_SCREEN,
+ MOVE_PROTECT,
+ MOVE_RAIN_DANCE,
+ MOVE_GIGA_DRAIN,
+ MOVE_SAFEGUARD,
+ MOVE_FRUSTRATION,
+ MOVE_SOLAR_BEAM,
+ MOVE_IRON_TAIL,
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER,
+ MOVE_EARTHQUAKE,
+ MOVE_RETURN,
+ MOVE_DIG,
+ MOVE_PSYCHIC,
+ MOVE_SHADOW_BALL,
+ MOVE_BRICK_BREAK,
+ MOVE_DOUBLE_TEAM,
+ MOVE_REFLECT,
+ MOVE_SHOCK_WAVE,
+ MOVE_FLAMETHROWER,
+ MOVE_SLUDGE_BOMB,
+ MOVE_SANDSTORM,
+ MOVE_FIRE_BLAST,
+ MOVE_ROCK_TOMB,
+ MOVE_AERIAL_ACE,
+ MOVE_TORMENT,
+ MOVE_FACADE,
+ MOVE_SECRET_POWER,
+ MOVE_REST,
+ MOVE_ATTRACT,
+ MOVE_THIEF,
+ MOVE_STEEL_WING,
+ MOVE_SKILL_SWAP,
+ MOVE_SNATCH,
+ MOVE_OVERHEAT,
+ MOVE_CUT,
+ MOVE_FLY,
+ MOVE_SURF,
+ MOVE_STRENGTH,
+ MOVE_FLASH,
+ MOVE_ROCK_SMASH,
+ MOVE_WATERFALL,
+ MOVE_DIVE,
+};
+
+//FIXME
+//const u8 *unrefTileBuffer = gTileBuffer;
+asm(".4byte gTileBuffer\n");
+
+static const u8 MenuGfx_HoldIcons[] = INCBIN_U8("graphics/interface/hold_icons.4bpp");
+static const u16 MenuPal_HoldIcons[] = INCBIN_U16("graphics/interface/hold_icons.gbapal");
+
+static const struct SpriteSheet HeldItemsSpriteSheet = {
+ MenuGfx_HoldIcons,
+ sizeof MenuGfx_HoldIcons,
+ 0xd750
+};
+
+static const struct SpritePalette HeldItemsPalette = {
+ MenuPal_HoldIcons,
+ 0xd750
+};
+
+static const struct OamData gOamData_83765EC =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd gSpriteAnim_83765F4[] = {
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_83765FC[] = {
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_8376604[] = {
+ gSpriteAnim_83765F4,
+ gSpriteAnim_83765FC,
+};
+
+static const struct SpriteTemplate gSpriteTemplate_837660C = {
+ 55120,
+ 55120,
+ &gOamData_83765EC,
+ gSpriteAnimTable_8376604,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCB_UpdateHeldItemIconPosition
+};
+
+// Texts that can be displayed in the bottom of the party menu.
+static const u8 *const PartyMenuPromptTexts[] = {
+ OtherText_ChoosePoke,
+ OtherText_MovePokeTo,
+ OtherText_TeachWhat,
+ OtherText_UseWhat,
+ OtherText_GiveWhat,
+ OtherText_DoWhat,
+ OtherText_NothingToCut,
+ OtherText_CantSurf,
+ OtherText_AlreadySurfing,
+ OtherText_CantUseThatHere,
+ OtherText_RestoreWhatMove,
+ OtherText_BoostPP,
+ gOtherText_CancelWithTerminator,
+ OtherText_DoWhatWithItem,
+ OtherText_NoPokeForBattle,
+ OtherText_ChoosePoke2,
+ OtherText_NotEnoughHP,
+ OtherText_ThreePokeNeeded,
+ OtherText_PokeCantBeSame,
+ OtherText_NoIdenticalHoldItems,
+ OtherText_TeachWhichPoke,
+};
+
+static const struct Coords8 gUnknown_08376678[8][6] = {
+ {{16, 40}, {104, 18}, {104, 42}, {104, 66}, {104, 90}, {104, 114}}, // PARTY_MENU_TYPE_STANDARD
+ {{16, 24}, { 16, 80}, {104, 18}, {104, 50}, {104, 82}, {104, 114}}, // PARTY_MENU_TYPE_BATTLE
+ {{16, 24}, { 16, 80}, {104, 26}, {104, 50}, {104, 82}, {104, 106}}, // PARTY_MENU_TYPE_CONTEST
+ {{16, 24}, {104, 26}, {104, 50}, { 16, 80}, {104, 82}, {104, 106}}, // PARTY_MENU_TYPE_IN_GAME_TRADE
+ {{ 5, 4}, { 16, 1}, { 16, 4}, { 16, 7}, { 16, 10}, { 16, 13}}, // PARTY_MENU_TYPE_BATTLE_TOWER
+ {{ 5, 2}, { 5, 9}, { 16, 1}, { 16, 5}, { 16, 9}, { 16, 13}}, // PARTY_MENU_TYPE_LINK_MULTI_BATTLE
+ {{ 5, 2}, { 5, 9}, { 16, 2}, { 16, 5}, { 16, 9}, { 16, 12}}, // PARTY_MENU_TYPE_DAYCARE
+ {{ 5, 2}, { 16, 2}, { 16, 5}, { 5, 9}, { 16, 9}, { 16, 12}}, // PARTY_MENU_TYPE_MOVE_TUTOR
+};
+
+static const struct Coords8 gUnknown_08376738[12][6] = {
+ {{6, 5}, {17, 2}, {17, 5}, {17, 8}, {17, 11}, {17, 14}},
+ {{6, 3}, { 6, 10}, {17, 2}, {17, 6}, {17, 10}, {17, 14}},
+ {{6, 3}, { 6, 10}, {17, 3}, {17, 6}, {17, 10}, {17, 13}},
+ {{6, 3}, {17, 3}, {17, 6}, { 6, 10}, {17, 10}, {17, 13}},
+ {{3, 7}, {22, 2}, {22, 5}, {22, 8}, {22, 11}, {22, 14}},
+ {{3, 5}, { 3, 12}, {22, 2}, {22, 6}, {22, 10}, {22, 14}},
+ {{3, 5}, { 3, 12}, {22, 3}, {22, 6}, {22, 10}, {22, 13}},
+ {{3, 5}, {22, 3}, {22, 6}, { 3, 12}, {22, 10}, {22, 13}},
+ {{7, 7}, {26, 2}, {26, 5}, {26, 8}, {26, 11}, {26, 14}},
+ {{7, 5}, { 7, 12}, {26, 2}, {26, 6}, {26, 10}, {26, 14}},
+ {{7, 5}, { 7, 12}, {26, 3}, {26, 6}, {26, 10}, {26, 13}},
+ {{7, 5}, {26, 3}, {26, 6}, { 7, 12}, {26, 10}, {26, 13}},
+};
+
+static u16 *const gUnknown_08376858[4][6] = {
+ {(u16*)(BG_VRAM + 0xF1C8), (u16*)(BG_VRAM + 0xF0AE), (u16*)(BG_VRAM + 0xF16E), (u16*)(BG_VRAM + 0xF22E), (u16*)(BG_VRAM + 0xF2EE), (u16*)(BG_VRAM + 0xF3AE)}, // PARTY_MENU_STANDARD
+ {(u16*)(BG_VRAM + 0xF148), (u16*)(BG_VRAM + 0xF308), (u16*)(BG_VRAM + 0xF0AE), (u16*)(BG_VRAM + 0xF1AE), (u16*)(BG_VRAM + 0xF2AE), (u16*)(BG_VRAM + 0xF3AE)}, // PARTY_MENU_LAYOUT_DOUBLE_BATTLE
+ {(u16*)(BG_VRAM + 0xF148), (u16*)(BG_VRAM + 0xF308), (u16*)(BG_VRAM + 0xF0EE), (u16*)(BG_VRAM + 0xF1AE), (u16*)(BG_VRAM + 0xF2AE), (u16*)(BG_VRAM + 0xF36E)}, // PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE
+ {(u16*)(BG_VRAM + 0xF148), (u16*)(BG_VRAM + 0xF0EE), (u16*)(BG_VRAM + 0xF1AE), (u16*)(BG_VRAM + 0xF308), (u16*)(BG_VRAM + 0xF2AE), (u16*)(BG_VRAM + 0xF36E)}, // PARTY_MENU_LAYOUT_MULTI_BATTLE
+};
+
+static const struct Coords8 gUnknown_083768B8[3][8] = {
+ {{8, 44}, {92, 22}, {92, 46}, {92, 70}, {92, 94}, {92, 118}, {196, 136}, {196, 152}}, // PARTY_MENU_LAYOUT_STANDARD
+ {{8, 28}, { 8, 84}, {92, 22}, {92, 54}, {92, 86}, {92, 118}, {196, 136}, {196, 152}}, // PARTY_MENU_LAYOUT_DOUBLE_BATTLE
+ {{8, 28}, { 8, 84}, {92, 30}, {92, 54}, {92, 86}, {92, 110}, {196, 136}, {196, 152}}, // PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE
+};
+
+static u16 *const gUnknown_08376918[2][PARTY_SIZE] = {
+ {(u16*)(BG_VRAM + 0xF1C6), (u16*)(BG_VRAM + 0xF06C), (u16*)(BG_VRAM + 0xF12C), (u16*)(BG_VRAM + 0xF1EC), (u16*)(BG_VRAM + 0xF2AC), (u16*)(BG_VRAM + 0xF36C)},
+ {(u16*)(BG_VRAM + 0xF148), (u16*)(BG_VRAM + 0xF308), (u16*)(BG_VRAM + 0xF0AE), (u16*)(BG_VRAM + 0xF1AE), (u16*)(BG_VRAM + 0xF2AE), (u16*)(BG_VRAM + 0xF3AE)},
+};
+
+static const struct PartyMenuWindowCoords gUnknown_08376948[2][6] = {
+ {{2, 4, 10, 9}, {16, 1, 29, 3}, {16, 4, 29, 6}, {16, 7, 29, 9}, {16, 10, 29, 12}, {16, 13, 29, 15}},
+ {{2, 2, 10, 7}, { 2, 9, 10, 14}, {16, 1, 29, 3}, {16, 5, 29, 7}, {16, 9, 29, 11}, {16, 13, 29, 15}},
+};
+
+static const struct PartyMenuWindowCoords gUnknown_08376978[2][6] = {
+ {{2, 7, 10, 9}, {21, 1, 29, 3}, {21, 4, 29, 6}, {21, 7, 29, 9}, {21, 10, 29, 12}, {21, 13, 29, 15}},
+ {{2, 2, 10, 7}, { 2, 9, 10, 14}, {16, 1, 29, 3}, {16, 5, 29, 7}, {16, 9, 29, 11}, {16, 13, 29, 15}},
+};
+
+// This is actually a 2x6x2 array, but the code reads it as a flat array.
+static const u8 gUnknown_083769A8[] = {
+ 0, 3, 11, 1, 11, 4, 11, 7, 11, 10, 11, 13,
+ 0, 1, 0, 8, 11, 1, 11, 5, 11, 9, 11, 13, // Double battle
+};
+
+// This is actually a 2x6x2 array, but the code reads it as a flat array.
+//FIXME: sub_806B908() accesses this data via gUnknown_083769A8 (directly above this). This means these
+// two arrays might be a struct, rather than separate arrays.
+static const u8 gUnknown_083769C0[] = {
+ 0, 1, 0, 8, 11, 2, 11, 5, 11, 9, 11, 12,
+ 0, 1, 0, 8, 11, 2, 11, 5, 11, 9, 11, 12, // Double battle
+};
+
+static const u8 gUnknown_083769D8[] = {
+ 0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x27,
+ 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37,
+ 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37,
+ 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37,
+ 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47,
+ 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47,
+ 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,
+};
+
+static const u8 gUnknown_08376A25[] = {
+ 0x50,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x53,
+ 0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x63,
+ 0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x73,
+};
+
+static const u8 gUnknown_08376A5E[] = {
+ 0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x23,
+ 0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x33,
+ 0x40,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x43,
+};
+
+static const u8 gUnusedData_08376A97[] = {
+ 0x0C,0x0D,0x0E,0x0F,0x00,0x01,0x02,0x03,0x04,0x05,0x0F,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x0F,0x06,0x05,0x01,0x07,
+ 0x08,0x09,0x0F,0x16,0x15,0x11,0x17,0x18,0x19,0x0F,0x09,
+ 0x0A,0x0B,0x05,0x0C,0x0F,0x0F,0x19,0x1A,0x1B,0x15,0x1C,
+ 0x0F,0x0F,0x0D,0x0B,0x05,0x0C,0x0F,0x0F,0x0F,0x1D,0x1B,
+ 0x15,0x1C,0x0F,0x0F,0x0F,0x06,0x05,0x0B,0x05,0x0C,0x0F,
+ 0x0F,0x16,0x15,0x1B,0x15,0x1C,0x0F,0x0F,0x0F,0x0F,0x20,
+ 0x0C,0x09,0x0F,0x0F,0x0F,0x1F,0x30,0x1C,0x19,0x0F,0x0F,
+ 0x0F,0x25,0x0F,0x22,0x24,0x0F,0x0F,0x0F,0x35,0x41,0x32,
+ 0x34,0x0F,0x0F,0x0F,0x26,0x0F,0x23,0x0E,0x0F,0x0F,0x0F,
+ 0x36,0x43,0x33,0x1E,0x0F,0x0F,0x27,0x28,0x29,0x03,0x2A,
+ 0x0F,0x0F,0x37,0x38,0x39,0x13,0x3A,0x0F,0x0F,0x27,0x28,
+ 0x29,0x03,0x04,0x05,0x0F,0x37,0x38,0x39,0x13,0x14,0x15,
+ 0x0F,0x2B,0x2C,0x02,0x28,0x29,0x2D,0x21,0x3B,0x3C,0x12,
+ 0x38,0x39,0x3D,0x31,0x2B,0x2C,0x02,0x28,0x29,0x08,0x09,
+ 0x3B,0x3C,0x12,0x38,0x39,0x18,0x19,0x2E,0x2F,0x2B,0x2C,
+ 0x02,0x27,0x2D,0x3E,0x3F,0x3B,0x3C,0x12,0x45,0x3D,
+};
+
+static const TaskFunc gUnknown_08376B54[] = {
+ ItemUseMoveMenu_HandleMoveSelection,
+ ItemUseMoveMenu_HandleCancel,
+};
+
+#define PartyMonOAMSettings(x, y, palette, shape, size, priority, tileOffset) \
+ ((shape) << 14) | (y), \
+ ((size) << 14) | (x), \
+ ((palette) << 12) | ((priority) << 10) | (tileOffset)
+
+static const u16 PartyMonOAMSettings_LeftColumn[] = {
+ PartyMonOAMSettings(24, 0, 15, ST_OAM_H_RECTANGLE, 1, 1, 0),
+ PartyMonOAMSettings(56, 0, 15, ST_OAM_H_RECTANGLE, 1, 1, 4),
+ PartyMonOAMSettings(24, 8, 15, ST_OAM_H_RECTANGLE, 1, 1, 8),
+ PartyMonOAMSettings(56, 8, 15, ST_OAM_H_RECTANGLE, 1, 1, 12),
+ PartyMonOAMSettings(32, 16, 15, ST_OAM_H_RECTANGLE, 1, 1, 16),
+ PartyMonOAMSettings(37, 32, 15, ST_OAM_H_RECTANGLE, 1, 1, 24),
+ PartyMonOAMSettings(69, 32, 15, ST_OAM_H_RECTANGLE, 1, 1, 28),
+ 0xFFFF,
+};
+
+static const u16 PartyMonOAMSettings_RightColumn[] = {
+ PartyMonOAMSettings( 24, 0, 15, ST_OAM_H_RECTANGLE, 1, 1, 0),
+ PartyMonOAMSettings( 56, 0, 15, ST_OAM_H_RECTANGLE, 1, 1, 4),
+ PartyMonOAMSettings( 24, 8, 15, ST_OAM_H_RECTANGLE, 1, 1, 8),
+ PartyMonOAMSettings( 56, 8, 15, ST_OAM_H_RECTANGLE, 1, 1, 12),
+ PartyMonOAMSettings( 32, 16, 15, ST_OAM_H_RECTANGLE, 1, 1, 16),
+ PartyMonOAMSettings(101, 16, 15, ST_OAM_H_RECTANGLE, 1, 1, 24),
+ PartyMonOAMSettings(133, 16, 15, ST_OAM_H_RECTANGLE, 1, 1, 28),
+ 0xFFFF,
+};
+
+// Controls where and how the mons' text appears in the party menu screen (nickname, HP, and level).
+static struct PartyMonTextSettingsStruct const PartyMonTextSettings[4][6] = {
+ { // PARTY_MENU_LAYOUT_STANDARD
+ { 1, 4, PartyMonOAMSettings_LeftColumn},
+ {12, 1, PartyMonOAMSettings_RightColumn},
+ {12, 4, PartyMonOAMSettings_RightColumn},
+ {12, 7, PartyMonOAMSettings_RightColumn},
+ {12, 10, PartyMonOAMSettings_RightColumn},
+ {12, 13, PartyMonOAMSettings_RightColumn},
+ },
+ { // PARTY_MENU_LAYOUT_DOUBLE_BATTLE
+ { 1, 2, PartyMonOAMSettings_LeftColumn},
+ { 1, 9, PartyMonOAMSettings_LeftColumn},
+ {12, 1, PartyMonOAMSettings_RightColumn},
+ {12, 5, PartyMonOAMSettings_RightColumn},
+ {12, 9, PartyMonOAMSettings_RightColumn},
+ {12, 13, PartyMonOAMSettings_RightColumn},
+ },
+ { // PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE
+ { 1, 2, PartyMonOAMSettings_LeftColumn},
+ { 1, 9, PartyMonOAMSettings_LeftColumn},
+ {12, 2, PartyMonOAMSettings_RightColumn},
+ {12, 5, PartyMonOAMSettings_RightColumn},
+ {12, 9, PartyMonOAMSettings_RightColumn},
+ {12, 12, PartyMonOAMSettings_RightColumn},
+ },
+ { // PARTY_MENU_LAYOUT_MULTI_BATTLE
+ { 1, 2, PartyMonOAMSettings_LeftColumn},
+ {12, 2, PartyMonOAMSettings_RightColumn},
+ {12, 5, PartyMonOAMSettings_RightColumn},
+ { 1, 9, PartyMonOAMSettings_LeftColumn},
+ {12, 9, PartyMonOAMSettings_RightColumn},
+ {12, 12, PartyMonOAMSettings_RightColumn},
+ },
+};
+
+static const struct PartyMenuHandlersStruct PartyMenuHandlers[] = {
+ {HandleDefaultPartyMenu, SetupDefaultPartyMenu, 0}, // PARTY_MENU_TYPE_STANDARD
+ {HandleBattlePartyMenu, SetUpBattlePartyMenu, 0}, // PARTY_MENU_TYPE_BATTLE
+ {HandleSelectPartyMenu, SetupContestPartyMenu, 0}, // PARTY_MENU_TYPE_CONTEST
+ {HandleSelectPartyMenu, SetupDefaultPartyMenu, 0}, // PARTY_MENU_TYPE_IN_GAME_TRADE
+ {HandleBattleTowerPartyMenu, SetupBattleTowerPartyMenu, 0}, // PARTY_MENU_TYPE_BATTLE_TOWER
+ {HandleLinkMultiBattlePartyMenu, SetupLinkMultiBattlePartyMenu, 0xFF}, // PARTY_MENU_TYPE_LINK_MULTI_BATTLE
+ {HandleDaycarePartyMenu, SetupDefaultPartyMenu, 0x0F}, // PARTY_MENU_TYPE_DAYCARE
+ {HandleMoveTutorPartyMenu, SetupMoveTutorPartyMenu, 0}, // PARTY_MENU_TYPE_MOVE_TUTOR
+};
+
+static const u16 gUnknown_08376CD4[] = {
+ 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+};
+
+static const u16 gUnknown_08376CEC[] = {
+ 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F,
+ 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+};
+
+static const u8 *const StatNames[] = {
+ gOtherText_HP,
+ gOtherText_Attack,
+ gOtherText_Defense,
+ gOtherText_SpAtk,
+ gOtherText_SpDef,
+ gOtherText_Speed,
+};
+
+static const u8 StatDataTypes[] = {
+ MON_DATA_MAX_HP,
+ MON_DATA_ATK,
+ MON_DATA_DEF,
+ MON_DATA_SPATK,
+ MON_DATA_SPDEF,
+ MON_DATA_SPEED,
+};
+
+struct Unk201C000
+{
+ /*0x00*/ struct Pokemon *pokemon;
+ /*0x04*/ u8 unk4;
+ /*0x05*/ u8 unk5;
+ /*0x06*/ u16 unk6;
+ /*0x08*/ u16 unk8;
+ /*0x0A*/ u8 pad_0A[2];
+ /*0x0C*/ s32 unkC;
+ /*0x10*/ TaskFunc unk10;
+ /*0x14*/ TaskFunc unk14;
+};
+
+struct Unk201FE00
+{
+ u8 unkE00; // not sure if this is an array or struct, or how big it is
+ u8 unkE01;
+ u8 unkE02;
+};
+
+#define ewram1C000 (*(struct Unk201C000 *)(ewram + 0x1C000))
+#define ewram1FE00 (*(struct Unk201FE00 *)(ewram + 0x1FE00))
+
+extern u16 gBattleTypeFlags;
+extern u8 gTileBuffer[];
+extern u8 gUnknown_0202E8F4;
+extern u8 gUnknown_0202E8F6;
+extern u16 gUnknown_0202E8F8;
+extern u8 gPartyMenuType;
+extern u8 gLastFieldPokeMenuOpened;
+extern u8 gPlayerPartyCount;
+extern s32 gBattleMoveDamage;
+extern u16 gMoveToLearn;
+
+extern u16 gUnknown_08E9A300[];
+extern struct Coords8 const gUnknown_08376738[12][6];
+extern const u8 gUnknown_083769C0[];
+extern u8 gUnknown_02039460[];
+extern struct Window gUnknown_03004210;
+
+extern const u8 gPartyMenuMisc_Gfx[];
+extern const u8 gPartyMenuMisc_Tilemap[];
+extern const u8 gPartyMenuMisc_Pal[];
+extern const u8 gFontDefaultPalette[];
+extern const u8 gPartyMenuHpBar_Gfx[];
+extern const u8 gPartyMenuOrderText_Gfx[];
+extern const u8 gStatusGfx_Icons[];
+extern const u8 gStatusPal_Icons[];
+
+#if ENGLISH
+#define WINDOW_LEFT (3)
+#define WINDOW_RIGHT (26)
+#elif GERMAN
+#define WINDOW_LEFT (0)
+#define WINDOW_RIGHT (29)
+#endif
+
+
+#ifdef NONMATCHING
+// Main handler for the party menu.
+void CB2_PartyMenuMain(void)
+{
+ const struct PartyMonTextSettingsStruct *textSettings;
+ s32 i;
+
+ AnimateSprites();
+ BuildOamBuffer();
+
+ textSettings = PartyMonTextSettings[gPartyMenuType];
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ // Draw mon name, level, and hp sprites
+ DrawPartyMenuMonText(
+ textSettings[i].xOffset * 8,
+ textSettings[i].yOffset * 8,
+ textSettings[i].oamSettings,
+ 0,
+ (i << 5) | 0x200);
+ }
+
+ RunTasks();
+ UpdatePaletteFade();
+}
+#else
+__attribute__((naked))
+void CB2_PartyMenuMain(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ sub sp, 0x4\n\
+ bl AnimateSprites\n\
+ bl BuildOamBuffer\n\
+ ldr r0, _0806AF2C @ =gPartyMenuType\n\
+ ldrb r1, [r0]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 4\n\
+ ldr r1, _0806AF30 @ =PartyMonTextSettings\n\
+ adds r5, r0, r1\n\
+ movs r6, 0\n\
+_0806AEF8:\n\
+ ldrb r0, [r5]\n\
+ lsls r0, 3\n\
+ ldrb r1, [r5, 0x1]\n\
+ lsls r1, 3\n\
+ ldr r2, [r5, 0x4]\n\
+ lsls r3, r6, 5\n\
+ movs r4, 0x80\n\
+ lsls r4, 2\n\
+ orrs r3, r4\n\
+ str r3, [sp]\n\
+ movs r3, 0\n\
+ bl DrawPartyMenuMonText\n\
+ adds r5, 0x8\n\
+ adds r6, 0x1\n\
+ cmp r6, 0x5\n\
+ ble _0806AEF8\n\
+ bl RunTasks\n\
+ bl UpdatePaletteFade\n\
+ add sp, 0x4\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0806AF2C: .4byte gPartyMenuType\n\
+_0806AF30: .4byte PartyMonTextSettings\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void VBlankCB_PartyMenu(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ ReDrawPartyMonBackgrounds();
+}
+
+void SetPartyMenuSettings(u8 menuType, u8 battleTypeFlags, TaskFunc menuHandlerFunc, u8 textId)
+{
+ if (battleTypeFlags != 0xFF)
+ {
+ gBattleTypeFlags = battleTypeFlags;
+ }
+
+ ewram1B000.menuType = menuType;
+ ewram1B000.menuHandler = menuHandlerFunc;
+ ewram1B000.promptTextId = textId;
+}
+
+void DoOpenPartyMenu(u8 menuType, u8 battleFlags, TaskFunc menuHandlerFunc, u8 textId)
+{
+ SetPartyMenuSettings(menuType, battleFlags, menuHandlerFunc, textId);
+ SetMainCallback2(CB2_InitPartyMenu);
+}
+
+void OpenPartyMenu(u8 menuType, u8 battleFlags)
+{
+ DoOpenPartyMenu(menuType, battleFlags, PartyMenuHandlers[menuType].menuHandler, PartyMenuHandlers[menuType].initialPromptTextId);
+}
+
+// This is a Task which is repeatedly called until it eventually returns TRUE when finished.
+bool8 SetupDefaultPartyMenu(void)
+{
+ switch (ewram1B000_alt.setupState)
+ {
+ case 0:
+ if (ewram1B000_alt.monIndex < gPlayerPartyCount) {
+ TryCreatePartyMenuMonIcon(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex, &gPlayerParty[ewram1B000_alt.monIndex]);
+ ewram1B000_alt.monIndex++;
+ } else {
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState++;
+ }
+
+ break;
+ case 1:
+ LoadHeldItemIconGraphics();
+ ewram1B000_alt.setupState++;
+ break;
+ case 2:
+ CreateHeldItemIcons_806DC34(ewram1B000_alt.menuHandlerTaskId);
+ ewram1B000_alt.setupState++;
+ break;
+ case 3:
+ if (sub_806BD58(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex) != 1)
+ {
+ ewram1B000_alt.monIndex++;
+ }
+ else
+ {
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState++;
+ }
+
+ break;
+ case 4:
+ PartyMenuPrintMonsLevelOrStatus();
+ ewram1B000_alt.setupState++;
+ break;
+ case 5:
+ PrintPartyMenuMonNicknames();
+ ewram1B000_alt.setupState++;
+ break;
+ case 6:
+ PartyMenuTryPrintMonsHP();
+ ewram1B000_alt.setupState++;
+ break;
+ case 7:
+ nullsub_13();
+ ewram1B000_alt.setupState++;
+ break;
+ case 8:
+ PartyMenuDrawHPBars();
+ ewram1B000_alt.setupState++;
+ break;
+ case 9:
+ if (DrawPartyMonBackground(ewram1B000_alt.monIndex) == 1)
+ {
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.setupState = 0;
+ return TRUE;
+ }
+ else
+ {
+ ewram1B000_alt.monIndex++;
+ break;
+ }
+ }
+
+ return FALSE;
+}
+
+bool8 InitPartyMenu(void)
+{
+ u8 *addr;
+ u32 size;
+
+ switch (gMain.state)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ addr = (u8 *)VRAM;
+ size = VRAM_SIZE;
+ while (1)
+ {
+ DmaFill16(3, 0, addr, 0x1000);
+ addr += 0x1000;
+ size -= 0x1000;
+ if (size <= 0x1000)
+ {
+ DmaFill16(3, 0, addr, size);
+ break;
+ }
+ }
+
+ DmaClear32(3, OAM, OAM_SIZE);
+ DmaClear16(3, PLTT, PLTT_SIZE);
+
+ gPaletteFade.bufferTransferDisabled = 1;
+ gMain.state++;
+ break;
+ case 1:
+ remove_some_task();
+ gMain.state++;
+ break;
+ case 2:
+ sub_806B4A8();
+ ewram1B000_alt.setupState = 0;
+ ewram1B000_alt.monIndex = 0;
+ ewram1B000_alt.unk268 = 0;
+ gMain.state++;
+ break;
+ case 3:
+ ResetSpriteData();
+ gMain.state++;
+ break;
+ case 4:
+ if (ewram1B000.menuType != PARTY_MENU_TYPE_BATTLE && ewram1B000.menuType != PARTY_MENU_TYPE_LINK_MULTI_BATTLE)
+ {
+ ResetTasks();
+ }
+
+ gMain.state++;
+ break;
+ case 5:
+ FreeAllSpritePalettes();
+ gMain.state++;
+ break;
+ case 6:
+ ewram1B000.menuHandlerTaskId = CreateTask(ewram1B000.menuHandler, 0);
+ gMain.state++;
+ break;
+ case 7:
+ SetUpWindowConfig(&gWindowConfig_81E6C90);
+ gMain.state++;
+ break;
+ case 8:
+ InitWindowFromConfig(&gUnknown_03004210, &gWindowConfig_81E6C90);
+ MultistepInitWindowTileData(&gUnknown_03004210, 1);
+ gMain.state++;
+ break;
+ case 9:
+ if (MultistepLoadFont())
+ {
+ ewram1B000_alt.setupState = 1;
+ gMain.state++;
+ }
+ break;
+ case 10:
+ if (LoadPartyMenuGraphics(ewram1B000_alt.setupState) == TRUE)
+ {
+ ewram1B000_alt.setupState = 0;
+ gMain.state++;
+ }
+ else
+ {
+ ewram1B000_alt.setupState++;
+ }
+ break;
+ case 11:
+ sub_809D51C();
+ gMain.state++;
+ break;
+ case 12:
+ if (PartyMenuHandlers[ewram1B000.menuType].menuSetup() == TRUE)
+ {
+ gMain.state++;
+ }
+ break;
+ case 13:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E6CC8);
+ gMain.state++;
+ break;
+ case 14:
+ if (MultistepInitMenuWindowContinue())
+ {
+ gMain.state++;
+ }
+ break;
+ case 15:
+ PrintPartyMenuPromptText(ewram1B000.promptTextId, 0);
+ gMain.state++;
+ break;
+ case 16:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ gPaletteFade.bufferTransferDisabled = 0;
+ gMain.state++;
+ break;
+ case 17:
+ SetVBlankCallback(VBlankCB_PartyMenu);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void CB2_InitPartyMenu(void)
+{
+ while (InitPartyMenu() != TRUE)
+ {
+ if (sub_80F9344() == TRUE)
+ {
+ return;
+ }
+ }
+
+ if (ewram1B000.menuType != PARTY_MENU_TYPE_LINK_MULTI_BATTLE)
+ {
+ ChangePartyMenuSelection(ewram1B000.menuHandlerTaskId, 0);
+ }
+
+ SetMainCallback2(CB2_PartyMenuMain);
+}
+
+void sub_806B4A8(void)
+{
+ SetHBlankCallback(NULL);
+ REG_DISPCNT = 8000;
+ REG_BG0CNT = 0x1E05;
+ REG_BG1CNT = 0x703;
+ REG_BG2CNT = 0xF08;
+ REG_BG3CNT = 0x602;
+ REG_BLDCNT = 0;
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+ REG_BG3VOFS = -1;
+}
+
+bool8 IsLinkDoubleBattle()
+{
+ if ((gBattleTypeFlags & BATTLE_TYPE_LINK_DOUBLE) == BATTLE_TYPE_LINK_DOUBLE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+// Draws the blue rectangular regions surrounding each of the party mons.
+void ReDrawPartyMonBackgrounds(void)
+{
+ if (ewram1B000.unk261)
+ {
+ const void *src = gBGTilemapBuffers[2];
+ void *dest = (void *)(BG_VRAM + 0x3000);
+ DmaCopy16(3, src, dest, 0x800);
+
+ if (ewram1B000.unk261 == 2)
+ {
+ ewram1B000.unk261 = 0;
+ }
+ }
+}
+
+bool8 DrawPartyMonBackground(u8 monIndex)
+{
+ const u8 *arr;
+
+ if (!IsDoubleBattle())
+ gPartyMenuType = PARTY_MENU_LAYOUT_STANDARD;
+ else if (IsLinkDoubleBattle() == TRUE)
+ gPartyMenuType = PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE;
+ else
+ gPartyMenuType = PARTY_MENU_LAYOUT_DOUBLE_BATTLE;
+
+ arr = &gUnknown_083769A8[gPartyMenuType * 12];
+
+ switch (monIndex)
+ {
+ case 0:
+ memset(&gBGTilemapBuffers[2], 0, 0x800);
+ break;
+ case 1:
+ sub_806B9A4(arr[0], arr[1], 3);
+ sub_806BF24(&arr[0], 0, 3, 0);
+ break;
+ case 2:
+ if (!IsDoubleBattle()) {
+ if (gPlayerPartyCount > 1) {
+ sub_806BA94(arr[2], arr[3], 0, 3);
+ sub_806BF24(&arr[2], 1, 3, 0);
+ } else {
+ sub_806BA94(arr[2], arr[3], 1, 3);
+ }
+ } else if (IsLinkDoubleBattle() == TRUE) {
+ sub_806B9A4(arr[2], arr[3], 4);
+ sub_806BF24(&arr[2], 1, 4, 0);
+ } else {
+ sub_806B9A4(arr[2], arr[3], 3);
+ sub_806BF24(&arr[2], 1, 3, 0);
+ }
+
+ break;
+ case 3:
+ if (!IsDoubleBattle()) {
+ if (gPlayerPartyCount > 2) {
+ sub_806BA94(arr[4], arr[5], 0, 3);
+ sub_806BF24(&arr[4], 2, 3, 0);
+ } else {
+ sub_806BA94(arr[4], arr[5], 1, 3);
+ }
+ } else if (IsLinkDoubleBattle() == TRUE) {
+ if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES)) {
+ sub_806BA94(arr[4], arr[5], 0, 3);
+ sub_806BF24(&arr[4], 2, 3, 0);
+ } else {
+ sub_806BA94(arr[4], arr[5], 1, 3);
+ }
+ } else if (gPlayerPartyCount > 2) {
+ sub_806BA94(arr[4], arr[5], 0, 3);
+ sub_806BF24(&arr[4], 2, 3, 0);
+ } else {
+ sub_806BA94(arr[4], arr[5], 1, 3);
+ }
+
+ break;
+ case 4:
+ if (!IsDoubleBattle()) {
+ if (gPlayerPartyCount > 3) {
+ sub_806BA94(arr[6], arr[7], 0, 3);
+ sub_806BF24(&arr[6], 3, 3, 0);
+ } else {
+ sub_806BA94(arr[6], arr[7], 1, 3);
+ }
+ } else if (IsLinkDoubleBattle() == TRUE) {
+ if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES)) {
+ sub_806BA94(arr[6], arr[7], 0, 3);
+ sub_806BF24(&arr[6], 3, 3, 0);
+ } else {
+ sub_806BA94(arr[6], arr[7], 1, 3);
+ }
+ } else if (gPlayerPartyCount > 3) {
+ sub_806BA94(arr[6], arr[7], 0, 3);
+ sub_806BF24(&arr[6], 3, 3, 0);
+ } else {
+ sub_806BA94(arr[6], arr[7], 1, 3);
+ }
+
+ break;
+ case 5:
+ if (!IsDoubleBattle()) {
+ if (gPlayerPartyCount > 4) {
+ sub_806BA94(arr[8], arr[9], 0, 3);
+ sub_806BF24(&arr[8], 4, 3, 0);
+ } else {
+ sub_806BA94(arr[8], arr[9], 1, 3);
+ }
+ } else if (IsLinkDoubleBattle() == TRUE) {
+ if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES)) {
+ sub_806BA94(arr[8], arr[9], 0, 4);
+ sub_806BF24(&arr[8], 4, 4, 0);
+ } else {
+ sub_806BA94(arr[8], arr[9], 1, 4);
+ }
+ } else if (gPlayerPartyCount > 4) {
+ sub_806BA94(arr[8], arr[9], 0, 3);
+ sub_806BF24(&arr[8], 4, 3, 0);
+ } else {
+ sub_806BA94(arr[8], arr[9], 1, 3);
+ }
+
+ break;
+ case 6:
+ if (!IsDoubleBattle()) {
+ if (gPlayerPartyCount > 5) {
+ sub_806BA94(arr[10], arr[11], 0, 3);
+ sub_806BF24(&arr[10], 5, 3, 0);
+ } else {
+ sub_806BA94(arr[10], arr[11], 1, 3);
+ }
+ } else if (IsLinkDoubleBattle() == TRUE) {
+ if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES)) {
+ sub_806BA94(arr[10], arr[11], 0, 4);
+ sub_806BF24(&arr[10], 5, 4, 0);
+ } else {
+ sub_806BA94(arr[10], arr[11], 1, 4);
+ }
+ } else if (gPlayerPartyCount > 5) {
+ sub_806BA94(arr[10], arr[11], 0, 3);
+ sub_806BF24(&arr[10], 5, 3, 0);
+ } else {
+ sub_806BA94(arr[10], arr[11], 1, 3);
+ }
+
+ break;
+ case 7:
+ if (ewram1B000.menuType == PARTY_MENU_TYPE_BATTLE_TOWER) {
+ sub_806BB9C(1);
+ }
+
+ sub_806BBEC(1);
+ break;
+ case 8:
+ ewram1B000.unk261 = 2;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+#ifdef NONMATCHING
+void sub_806B908(void)
+{
+ memset(&gBGTilemapBuffers[2], 0, 0x800);
+ gPartyMenuType = PARTY_MENU_LAYOUT_MULTI_BATTLE;
+ sub_806B9A4(gUnknown_083769C0[12], gUnknown_083769C0[13], 3);
+
+ if (GetMonData(&gPlayerParty[1], MON_DATA_SPECIES))
+ sub_806BA94(gUnknown_083769C0[16], gUnknown_083769C0[17], 0, 3);
+ else
+ sub_806BA94(gUnknown_083769C0[16], gUnknown_083769C0[17], 1, 3);
+
+ if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES))
+ sub_806BA94(gUnknown_083769C0[18], gUnknown_083769C0[19], 0, 3);
+ else
+ sub_806BA94(gUnknown_083769C0[18], gUnknown_083769C0[19], 1, 3);
+
+ ewram1B000.unk261 = 2;
+}
+#else
+__attribute__((naked))
+void sub_806B908(void)
+{
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ ldr r0, _0806B948 @ =gBGTilemapBuffers + 0x1000\n\
+ movs r2, 0x80\n\
+ lsls r2, 4\n\
+ movs r1, 0\n\
+ bl memset\n\
+ ldr r1, _0806B94C @ =gPartyMenuType\n\
+ movs r0, 0x3\n\
+ strb r0, [r1]\n\
+ ldr r0, _0806B950 @ =gUnknown_083769A8\n\
+ adds r4, r0, 0\n\
+ adds r4, 0x24\n\
+ ldr r5, _0806B954 @ =gPlayerParty + 1 * 0x64\n\
+ ldrb r0, [r4]\n\
+ ldrb r1, [r4, 0x1]\n\
+ movs r2, 0x3\n\
+ bl sub_806B9A4\n\
+ adds r0, r5, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0806B958\n\
+ ldrb r0, [r4, 0x4]\n\
+ ldrb r1, [r4, 0x5]\n\
+ movs r2, 0\n\
+ movs r3, 0x3\n\
+ bl sub_806BA94\n\
+ b _0806B964\n\
+ .align 2, 0\n\
+_0806B948: .4byte gBGTilemapBuffers + 0x1000\n\
+_0806B94C: .4byte gPartyMenuType\n\
+_0806B950: .4byte gUnknown_083769A8\n\
+_0806B954: .4byte gPlayerParty + 1 * 0x64\n\
+_0806B958:\n\
+ ldrb r0, [r4, 0x4]\n\
+ ldrb r1, [r4, 0x5]\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl sub_806BA94\n\
+_0806B964:\n\
+ adds r0, r5, 0\n\
+ adds r0, 0x64\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0806B980\n\
+ ldrb r0, [r4, 0x6]\n\
+ ldrb r1, [r4, 0x7]\n\
+ movs r2, 0\n\
+ movs r3, 0x3\n\
+ bl sub_806BA94\n\
+ b _0806B98C\n\
+_0806B980:\n\
+ ldrb r0, [r4, 0x6]\n\
+ ldrb r1, [r4, 0x7]\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl sub_806BA94\n\
+_0806B98C:\n\
+ ldr r0, _0806B99C @ =0x0201b000\n\
+ ldr r1, _0806B9A0 @ =0x00000261\n\
+ adds r0, r1\n\
+ movs r1, 0x2\n\
+ strb r1, [r0]\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0806B99C: .4byte 0x0201b000\n\
+_0806B9A0: .4byte 0x00000261\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_806B9A4(s16 a, u16 b, u8 c)
+{
+ u8 i;
+ u16 var1 = b * 32;
+
+ for (i = 0; i <= 6; i++)
+ {
+ u8 j = 0;
+
+ if (a <= 0x1F)
+ {
+ for (; j <= 10 && a + j <= 0x1F; j++)
+ {
+ if (a + j >= 0)
+ {
+ gBGTilemapBuffers[2][var1 + (i * 32) + (a + j)] = (c << 12) | gUnknown_083769D8[i * 11 + j];
+ }
+ }
+ }
+ }
+}
+
+void sub_806BA34(s16 a, u16 b)
+{
+ u8 i;
+ u16 var1 = b * 32;
+
+ for (i = 0; i <= 6; i++)
+ {
+ u8 j = 0;
+
+ if (a <= 0x1F)
+ {
+ for (; j <= 10 && a + j <= 0x1F; j++)
+ {
+ if (a + j >= 0)
+ {
+ gBGTilemapBuffers[2][var1 + (i * 32) + (a + j)] = 0;
+ }
+ }
+ }
+ }
+}
+
+void sub_806BA94(s16 a, u16 b, u8 c, u8 d)
+{
+ u8 i;
+ const u8 *arr;
+ u16 var1;
+
+ arr = gUnknown_08376A5E;
+ if (c == 0)
+ {
+ arr = gUnknown_08376A25;
+ }
+
+ var1 = b * 32;
+
+
+ for (i = 0; i < 3; i++)
+ {
+ u8 j = 0;
+
+ if (a <= 0x1F)
+ {
+ while (j <= 0x12 && a + j <= 0x1F)
+ {
+ if (a + j >= 0)
+ {
+ gBGTilemapBuffers[2][var1 + (i * 32) + (a + j)] = (d << 12) | arr[i * 19 + j];
+ }
+
+ j++;
+ }
+ }
+ }
+}
+
+void sub_806BB3C(s16 a, u16 b)
+{
+ u8 i;
+ u16 var1 = (b * 32);
+
+ for (i = 0; i < 3; i++)
+ {
+ u8 j = 0;
+
+ if (a <= 0x1F)
+ {
+ for (; j <= 0x12 && a + j <= 0x1F; j++)
+ {
+ if (a + j >= 0)
+ {
+ gBGTilemapBuffers[2][var1 + (i * 32) + (a + j)] = 0;
+ }
+ }
+ }
+ }
+}
+
+void sub_806BB9C(u8 a)
+{
+ u8 i;
+ u16 *vramPtr;
+ const u16 arr[12];
+
+ memcpy(&arr, gUnknown_08376CD4, sizeof gUnknown_08376CD4);
+
+ vramPtr = (u16 *)(BG_VRAM + 0x3C30);
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ vramPtr[i] = arr[i] + (a << 12);
+ vramPtr[i + 0x20] = arr[i + PARTY_SIZE] + (a << 12);
+ }
+}
+
+void sub_806BBEC(u8 a)
+{
+ u8 i;
+ u16 *vramPtr;
+ const u16 arr[12];
+
+ memcpy(&arr, gUnknown_08376CEC, sizeof gUnknown_08376CEC);
+
+ vramPtr = (u16 *)(BG_VRAM + 0x3CB0);
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ vramPtr[i] = arr[i] + (a << 12);
+ vramPtr[i + 0x20] = arr[i + PARTY_SIZE] + (a << 12);
+ }
+}
+
+#ifdef NONMATCHING
+// The original THUMB is preserving r8 for seemingly no reason. Unsure how to match.
+void sub_806BC3C(u8 monIndex, u8 b)
+{
+ u16 *vramPtr = gUnknown_08376918[IsDoubleBattle()][monIndex];
+ u8 i;
+ u16 var1;
+
+ for (i = 0, var1 = (b / 7) * 32; i <= PARTY_SIZE; i++)
+ {
+ u32 offset = i + var1;
+ vramPtr[i] = gUnknown_08E9A300[offset] + 0x10C;
+ vramPtr[i + 0x20] = gUnknown_08E9A300[offset + 0x20] + 0x10C;
+ }
+}
+#else
+__attribute__((naked))
+void sub_806BC3C(u8 monIndex, u8 b)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ adds r4, r0, 0\n\
+ adds r5, r1, 0\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ lsls r5, 24\n\
+ lsrs r5, 24\n\
+ ldr r6, _0806BCB0 @ =gUnknown_08376918\n\
+ bl IsDoubleBattle\n\
+ lsls r4, 2\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ lsls r1, r0, 1\n\
+ adds r1, r0\n\
+ lsls r1, 3\n\
+ adds r4, r1\n\
+ adds r4, r6\n\
+ ldr r7, [r4]\n\
+ movs r6, 0\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x7\n\
+ bl __udivsi3\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 19\n\
+ ldr r5, _0806BCB4 @ =gUnknown_08E9A300\n\
+ movs r0, 0x86\n\
+ lsls r0, 1\n\
+ adds r3, r0, 0\n\
+_0806BC7C:\n\
+ adds r1, r6, r4\n\
+ lsls r2, r6, 1\n\
+ adds r2, r7\n\
+ lsls r0, r1, 1\n\
+ adds r0, r5\n\
+ ldrh r0, [r0]\n\
+ adds r0, r3, r0\n\
+ strh r0, [r2]\n\
+ adds r2, 0x40\n\
+ adds r1, 0x20\n\
+ lsls r1, 1\n\
+ adds r1, r5\n\
+ ldrh r1, [r1]\n\
+ adds r0, r3, r1\n\
+ strh r0, [r2]\n\
+ adds r0, r6, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ cmp r6, 0x6\n\
+ bls _0806BC7C\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0806BCB0: .4byte gUnknown_08376918\n\
+_0806BCB4: .4byte gUnknown_08E9A300\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void unref_sub_806BCB8(u8 a)
+{
+ u8 i;
+
+ for (i = 0; i < gPlayerPartyCount; i++)
+ {
+ sub_806BC3C(i, a);
+ }
+}
+
+// This is ultimately unreferenced, since it's caller is unreferenced.
+void sub_806BCE8()
+{
+ u8 i;
+
+ for (i = 0; i < gPlayerPartyCount; i++)
+ {
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
+ {
+ u8 gender = GetMonGender(&gPlayerParty[i]);
+ switch (gender)
+ {
+ case MON_MALE:
+ sub_806BC3C(i, 0x54);
+ break;
+ case MON_FEMALE:
+ sub_806BC3C(i, 0x62);
+ break;
+ default:
+ sub_806BC3C(i, 0x46);
+ break;
+ }
+ }
+ else
+ {
+ sub_806BC3C(i, 0x46);
+ }
+ }
+}
+
+u8 sub_806BD58(u8 taskId, u8 b)
+{
+ u8 spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ sub_806CA18(taskId, spriteId);
+ return 1;
+}
+
+#ifdef NONMATCHING
+u16 HandleDefaultPartyMenuInput(u8 taskId)
+{
+ s8 menuDirectionPressed = 0x0;
+
+ switch (gMain.newAndRepeatedKeys)
+ {
+ case DPAD_UP:
+ menuDirectionPressed = -1;
+ break;
+ case DPAD_DOWN:
+ menuDirectionPressed = 1;
+ break;
+ case DPAD_LEFT:
+ menuDirectionPressed = -2;
+ break;
+ case DPAD_RIGHT:
+ menuDirectionPressed = 2;
+ break;
+ }
+
+ if (menuDirectionPressed == 0)
+ {
+ u8 var1 = sub_80F92BC();
+ switch (var1)
+ {
+ case 1:
+ menuDirectionPressed = -1;
+ break;
+ case 2:
+ menuDirectionPressed = 1;
+ break;
+ }
+
+ if (menuDirectionPressed == 0)
+ {
+ if ((gMain.newKeys & A_BUTTON) && gSprites[sub_806CA00(taskId)].data0 == 7)
+ {
+ // Selected "CANCEL"
+ return B_BUTTON;
+ }
+ else
+ {
+ return gMain.newKeys & (A_BUTTON | B_BUTTON);
+ }
+ }
+ }
+
+ ChangePartyMenuSelection(taskId, menuDirectionPressed);
+ return gMain.newAndRepeatedKeys;
+}
+#else
+__attribute__((naked))
+u16 HandleDefaultPartyMenuInput(u8 taskId)
+{
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ movs r4, 0\n\
+ ldr r0, _0806BD9C @ =gMain\n\
+ ldrh r0, [r0, 0x30]\n\
+ cmp r0, 0x20\n\
+ beq _0806BDB2\n\
+ cmp r0, 0x20\n\
+ bgt _0806BDA0\n\
+ cmp r0, 0x10\n\
+ beq _0806BDB6\n\
+ b _0806BDB8\n\
+ .align 2, 0\n\
+_0806BD9C: .4byte gMain\n\
+_0806BDA0:\n\
+ cmp r0, 0x40\n\
+ beq _0806BDAA\n\
+ cmp r0, 0x80\n\
+ beq _0806BDAE\n\
+ b _0806BDB8\n\
+_0806BDAA:\n\
+ movs r4, 0xFF\n\
+ b _0806BDB8\n\
+_0806BDAE:\n\
+ movs r4, 0x1\n\
+ b _0806BDB8\n\
+_0806BDB2:\n\
+ movs r4, 0xFE\n\
+ b _0806BDB8\n\
+_0806BDB6:\n\
+ movs r4, 0x2\n\
+_0806BDB8:\n\
+ lsls r0, r4, 24\n\
+ cmp r0, 0\n\
+ bne _0806BDDC\n\
+ bl sub_80F92BC\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ beq _0806BDD0\n\
+ cmp r0, 0x2\n\
+ beq _0806BDD4\n\
+ b _0806BDD6\n\
+_0806BDD0:\n\
+ movs r4, 0xFF\n\
+ b _0806BDD6\n\
+_0806BDD4:\n\
+ movs r4, 0x1\n\
+_0806BDD6:\n\
+ lsls r0, r4, 24\n\
+ cmp r0, 0\n\
+ beq _0806BDF0\n\
+_0806BDDC:\n\
+ asrs r1, r0, 24\n\
+ adds r0, r5, 0\n\
+ bl ChangePartyMenuSelection\n\
+ ldr r0, _0806BDEC @ =gMain\n\
+ ldrh r0, [r0, 0x30]\n\
+ b _0806BE2C\n\
+ .align 2, 0\n\
+_0806BDEC: .4byte gMain\n\
+_0806BDF0:\n\
+ ldr r0, _0806BE1C @ =gMain\n\
+ ldrh r1, [r0, 0x2E]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0806BE24\n\
+ ldr r4, _0806BE20 @ =gSprites\n\
+ adds r0, r5, 0\n\
+ bl sub_806CA00\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ lsls r1, r0, 4\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r4\n\
+ movs r2, 0x2E\n\
+ ldrsh r0, [r1, r2]\n\
+ cmp r0, 0x7\n\
+ bne _0806BE24\n\
+ movs r0, 0x2\n\
+ b _0806BE2C\n\
+ .align 2, 0\n\
+_0806BE1C: .4byte gMain\n\
+_0806BE20: .4byte gSprites\n\
+_0806BE24:\n\
+ ldr r0, _0806BE34 @ =gMain\n\
+ ldrh r1, [r0, 0x2E]\n\
+ movs r0, 0x3\n\
+ ands r0, r1\n\
+_0806BE2C:\n\
+ pop {r4,r5}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+_0806BE34: .4byte gMain\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+u16 HandleBattleTowerPartyMenuInput(u8 taskId)
+{
+ u8 menuDirectionPressed = 0x0;
+
+ switch (gMain.newAndRepeatedKeys)
+ {
+ case DPAD_UP:
+ menuDirectionPressed = 0xFF;
+ break;
+ case DPAD_DOWN:
+ menuDirectionPressed = 0x1;
+ break;
+ case DPAD_LEFT:
+ menuDirectionPressed = 0xFE;
+ break;
+ case DPAD_RIGHT:
+ menuDirectionPressed = 0x2;
+ break;
+ }
+
+ if (menuDirectionPressed == 0)
+ {
+ u8 var1 = sub_80F92BC();
+ switch (var1)
+ {
+ case 1:
+ menuDirectionPressed = 0xFF;
+ break;
+ case 2:
+ menuDirectionPressed = 0x1;
+ break;
+ }
+ }
+
+ if (gMain.newKeys & START_BUTTON)
+ {
+ SelectBattleTowerOKButton(taskId);
+ return START_BUTTON;
+ }
+ else
+ {
+ s8 signedMenuDirection = menuDirectionPressed;
+ if (signedMenuDirection)
+ {
+ ChangeBattleTowerPartyMenuSelection(taskId, signedMenuDirection);
+ return gMain.newAndRepeatedKeys;
+ }
+ else
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ if (gSprites[sub_806CA00(taskId)].data0 == 7)
+ {
+ return B_BUTTON;
+ }
+ }
+ }
+ }
+
+ return gMain.newKeys & (A_BUTTON | B_BUTTON);
+}
+
+void task_pc_turn_off(const u8 *a, u8 b)
+{
+ if (a[0])
+ sub_806BA94(a[0], a[1], 0, b);
+ else
+ sub_806B9A4(a[0], a[1], b);
+}
+
+void sub_806BF24(const u8 *a, u8 monIndex, u8 c, u8 d)
+{
+ if (GetMonData(&gPlayerParty[monIndex], MON_DATA_SPECIES) && GetMonData(&gPlayerParty[monIndex], MON_DATA_HP) == 0)
+ c = PARTY_SIZE - 1;
+
+ if (d == 1)
+ c += 4;
+
+ task_pc_turn_off(a, c);
+}
+
+void ChangePartyMenuSelection(u8 taskId, s8 directionPressed)
+{
+ bool8 isLinkDoubleBattle;
+ u8 spriteId = sub_806CA00(taskId);
+ u8 menuIndex = gSprites[spriteId].data0;
+
+ UpdateMonIconFrame_806DA44(taskId, menuIndex, 0);
+
+ isLinkDoubleBattle = IsLinkDoubleBattle();
+ if (isLinkDoubleBattle == 1)
+ {
+ if (menuIndex == 0 || menuIndex == 2 || menuIndex == 3)
+ sub_806BF24(&gUnknown_083769C0[menuIndex * 2], menuIndex, 3, 0);
+ if (menuIndex == 1 || menuIndex == 4 || menuIndex == 5)
+ sub_806BF24(&gUnknown_083769C0[menuIndex * 2], menuIndex, 4, 0);
+ if (menuIndex == 7)
+ sub_806BBEC(1);
+
+ ChangeLinkDoubleBattlePartyMenuSelection(spriteId, menuIndex, directionPressed);
+
+ if (gSprites[spriteId].data0 == 0 || gSprites[spriteId].data0 == 2 || gSprites[spriteId].data0 == 3)
+ sub_806BF24(&gUnknown_083769C0[gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 3, 1);
+ if (gSprites[spriteId].data0 == 1 || gSprites[spriteId].data0 == 4 || gSprites[spriteId].data0 == 5)
+ sub_806BF24(&gUnknown_083769C0[gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 4, 1);
+ if (gSprites[spriteId].data0 == 7)
+ sub_806BBEC(2);
+
+ ewram1B000.unk261 = 2;
+
+ gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data0].x;
+ gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data0].y;
+ }
+ else
+ {
+ u8 isDoubleBattle = IsDoubleBattle();
+
+ if (menuIndex < PARTY_SIZE)
+ {
+ sub_806BF24(&gUnknown_083769A8[isDoubleBattle * 12 + menuIndex * 2], menuIndex, 3, 0);
+ }
+ else
+ {
+ sub_806BBEC(1);
+ }
+
+ if (!isDoubleBattle)
+ {
+ ChangeDefaultPartyMenuSelection(spriteId, menuIndex, directionPressed);
+ }
+ else
+ {
+ ChangeDoubleBattlePartyMenuSelection(spriteId, menuIndex, directionPressed);
+ }
+
+ if (gSprites[spriteId].data0 < PARTY_SIZE)
+ {
+ sub_806BF24(&gUnknown_083769A8[isDoubleBattle * 12 + gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 3, 1);
+ }
+ else
+ {
+ sub_806BBEC(2);
+ }
+
+ ewram1B000.unk261 = 2;
+
+ gSprites[spriteId].pos1.x = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data0].x;
+ gSprites[spriteId].pos1.y = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data0].y;
+ }
+
+ UpdateMonIconFrame_806DA44(taskId, gSprites[spriteId].data0, 1);
+
+ if (menuIndex != gSprites[spriteId].data0)
+ {
+ PlaySE(5);
+ }
+}
+
+void ChangeDefaultPartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed)
+{
+ u8 nextIndex;
+ s8 menuMovement = directionPressed + 2;
+
+ switch (menuMovement)
+ {
+ case 2: // no movement
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 1: // moving up
+ if (menuIndex == 0) {
+ gSprites[spriteId].data0 = 7;
+ } else if (menuIndex == 7) {
+ gSprites[spriteId].data0 = gPlayerPartyCount - 1;
+ } else {
+ s8 diff = directionPressed;
+ gSprites[spriteId].data0 += diff;
+ }
+
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 3: // moving down
+ if (menuIndex == gPlayerPartyCount - 1) {
+ gSprites[spriteId].data0 = 7;
+ } else if (menuIndex == 7) {
+ gSprites[spriteId].data0 = 0;
+ } else {
+ s8 diff = directionPressed;
+ gSprites[spriteId].data0 += diff;
+ }
+
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 4: // moving right
+ if (gPlayerPartyCount > 1 && menuIndex == 0)
+ {
+ if (gSprites[spriteId].data1 == 0)
+ gSprites[spriteId].data1 = 1;
+
+ gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ }
+ break;
+ case 0: // moving left
+ // Only move the selection to the left side if one of the mons in the right-hand column are currently selected
+ nextIndex = menuIndex - 1;
+ if (nextIndex <= 4) {
+ gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data1 = menuIndex;
+ }
+ break;
+ }
+}
+
+void ChangeDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed)
+{
+ u8 var1;
+ s8 menuMovement = directionPressed + 2;
+
+ switch(menuMovement)
+ {
+ case 2: // no movement
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 3: // moving down
+ if (menuIndex == 7) {
+ gSprites[spriteId].data0 = 0;
+ } else if (menuIndex == gPlayerPartyCount - 1) {
+ gSprites[spriteId].data0 = 7;
+ } else {
+ s8 diff = directionPressed;
+ gSprites[spriteId].data0 += diff;
+ }
+
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 1: // moving up
+ if (menuIndex == 0) {
+ gSprites[spriteId].data0 = 7;
+ } else if (menuIndex == 7) {
+ gSprites[spriteId].data0 = gPlayerPartyCount - 1;
+ } else {
+ s8 diff = directionPressed;
+ gSprites[spriteId].data0 += diff;
+ }
+
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 4: // moving right
+ if (menuIndex == 0) {
+ if (gPlayerPartyCount > 2) {
+ u16 var1 = gSprites[spriteId].data1 - 2;
+ if (var1 > 1)
+ gSprites[spriteId].data0 = 2;
+ else
+ gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ }
+ }
+ else if (menuIndex == 1) {
+ if (gPlayerPartyCount > 4) {
+ u16 var1 = gSprites[spriteId].data1 - 4;
+ if (var1 <= 1)
+ gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ else
+ gSprites[spriteId].data0 = 4;
+ }
+ }
+ break;
+ case 0: // moving left
+ var1 = menuIndex - 2;
+ if (var1 <= 1) {
+ gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data1 = menuIndex;
+ } else {
+ u8 var2 = menuIndex - 4;
+ if (var2 <= 1) {
+ gSprites[spriteId].data0 = 1;
+ gSprites[spriteId].data1 = menuIndex;
+ }
+ }
+ break;
+ }
+}
+
+#ifdef NONMATCHING
+void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed)
+{
+ s8 menuMovement;
+ u16 var1;
+ u8 var2;
+
+ menuMovement = directionPressed + 2;
+ switch (menuMovement)
+ {
+ case 2: // no movement
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 3: // moving down
+ if (menuIndex == 7) {
+ gSprites[spriteId].data0 = 0;
+ } else {
+ while (menuIndex != PARTY_SIZE - 1) {
+ menuIndex++;
+ if (GetMonData(&gPlayerParty[menuIndex], MON_DATA_SPECIES))
+ {
+ gSprites[spriteId].data0 = menuIndex;
+ gSprites[spriteId].data1 = 0;
+ return;
+ }
+ }
+
+ gSprites[spriteId].data0 = 7;
+ }
+
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 1: // moving up
+ while (menuIndex != 0) {
+ menuIndex--;
+ if (menuIndex != PARTY_SIZE && GetMonData(gPlayerParty[menuIndex], MON_DATA_SPECIES))
+ {
+ gSprites[spriteId].data0 = menuIndex;
+ gSprites[spriteId].data1 = 0;
+ return;
+ }
+ }
+
+ gSprites[spriteId].data0 = 7;
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 4: // moving right
+ if (menuIndex == 0) {
+ var1 = gSprites[spriteId].data1 - 2;
+ if (var1 > 1) {
+ if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES)) {
+ gSprites[spriteId].data0 = 2;
+ } else if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES)) {
+ gSprites[spriteId].data0 = 3;
+ }
+ } else {
+ gSprites[spriteId].data0 = 1;
+ }
+ } else if (menuIndex == 1) {
+ var1 = gSprites[spriteId].data1 - 4;
+ if (var1 <= 1) {
+ gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ } else {
+ if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES)) {
+ gSprites[spriteId].data0 = 4;
+ } else if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES)) {
+ gSprites[spriteId].data0 = 5;
+ }
+ }
+ }
+ break;
+ case 0: // moving left
+ var2 = menuIndex - 2;
+ if (var2 <= 1) {
+ gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data1 = menuIndex;
+ } else {
+ var2 = menuIndex - 4;
+ if (var2 <= 1) {
+ gSprites[spriteId].data0 = 1;
+ gSprites[spriteId].data1 = menuIndex;
+ }
+ }
+
+ break;
+ }
+}
+
+#else
+__attribute__((naked))
+void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ lsls r1, 24\n\
+ lsrs r4, r1, 24\n\
+ lsls r2, 24\n\
+ movs r0, 0x80\n\
+ lsls r0, 18\n\
+ adds r2, r0\n\
+ asrs r0, r2, 24\n\
+ cmp r0, 0x4\n\
+ bls _0806C4AA\n\
+ b _0806C64E\n\
+_0806C4AA:\n\
+ lsls r0, 2\n\
+ ldr r1, _0806C4B4 @ =_0806C4B8\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
+_0806C4B4: .4byte _0806C4B8\n\
+ .align 2, 0\n\
+_0806C4B8:\n\
+ .4byte _0806C618\n\
+ .4byte _0806C524\n\
+ .4byte _0806C4CC\n\
+ .4byte _0806C4E0\n\
+ .4byte _0806C57C\n\
+_0806C4CC:\n\
+ ldr r0, _0806C4DC @ =gSprites\n\
+ lsls r1, r5, 4\n\
+ adds r1, r5\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ movs r0, 0\n\
+ strh r0, [r1, 0x30]\n\
+ b _0806C64E\n\
+ .align 2, 0\n\
+_0806C4DC: .4byte gSprites\n\
+_0806C4E0:\n\
+ cmp r4, 0x7\n\
+ bne _0806C4FC\n\
+ ldr r2, _0806C4F8 @ =gSprites\n\
+ lsls r3, r5, 4\n\
+ adds r0, r3, r5\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ movs r1, 0\n\
+ strh r1, [r0, 0x2E]\n\
+ adds r1, r2, 0\n\
+ adds r6, r3, 0\n\
+ b _0806C566\n\
+ .align 2, 0\n\
+_0806C4F8: .4byte gSprites\n\
+_0806C4FC:\n\
+ lsls r6, r5, 4\n\
+ b _0806C518\n\
+_0806C500:\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ movs r0, 0x64\n\
+ muls r0, r4\n\
+ ldr r1, _0806C520 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _0806C528\n\
+_0806C518:\n\
+ cmp r4, 0x5\n\
+ bne _0806C500\n\
+ b _0806C558\n\
+ .align 2, 0\n\
+_0806C520: .4byte gPlayerParty\n\
+_0806C524:\n\
+ lsls r6, r5, 4\n\
+ b _0806C554\n\
+_0806C528:\n\
+ ldr r1, _0806C534 @ =gSprites\n\
+ adds r0, r6, r5\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ strh r4, [r0, 0x2E]\n\
+ b _0806C566\n\
+ .align 2, 0\n\
+_0806C534: .4byte gSprites\n\
+_0806C538:\n\
+ subs r0, r4, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ cmp r4, 0x6\n\
+ beq _0806C554\n\
+ movs r0, 0x64\n\
+ muls r0, r4\n\
+ ldr r1, _0806C574 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _0806C528\n\
+_0806C554:\n\
+ cmp r4, 0\n\
+ bne _0806C538\n\
+_0806C558:\n\
+ ldr r0, _0806C578 @ =gSprites\n\
+ adds r1, r6, r5\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ movs r2, 0x7\n\
+ strh r2, [r1, 0x2E]\n\
+ adds r1, r0, 0\n\
+_0806C566:\n\
+ adds r0, r6, r5\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ movs r1, 0\n\
+ strh r1, [r0, 0x30]\n\
+ b _0806C64E\n\
+ .align 2, 0\n\
+_0806C574: .4byte gPlayerParty\n\
+_0806C578: .4byte gSprites\n\
+_0806C57C:\n\
+ cmp r4, 0\n\
+ bne _0806C5C8\n\
+ ldr r0, _0806C5AC @ =gSprites\n\
+ lsls r1, r5, 4\n\
+ adds r1, r5\n\
+ lsls r1, 2\n\
+ adds r4, r1, r0\n\
+ ldrh r1, [r4, 0x30]\n\
+ subs r0, r1, 0x2\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0x1\n\
+ bls _0806C5E2\n\
+ ldr r5, _0806C5B0 @ =gPlayerParty + 2 * 0x64\n\
+ adds r0, r5, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0806C5B4\n\
+ movs r0, 0x2\n\
+ strh r0, [r4, 0x2E]\n\
+ b _0806C64E\n\
+ .align 2, 0\n\
+_0806C5AC: .4byte gSprites\n\
+_0806C5B0: .4byte gPlayerParty + 2 * 0x64\n\
+_0806C5B4:\n\
+ adds r0, r5, 0\n\
+ adds r0, 0x64\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0806C64E\n\
+ movs r0, 0x3\n\
+ strh r0, [r4, 0x2E]\n\
+ b _0806C64E\n\
+_0806C5C8:\n\
+ cmp r4, 0x1\n\
+ bne _0806C64E\n\
+ ldr r0, _0806C5E8 @ =gSprites\n\
+ lsls r1, r5, 4\n\
+ adds r1, r5\n\
+ lsls r1, 2\n\
+ adds r4, r1, r0\n\
+ ldrh r1, [r4, 0x30]\n\
+ subs r0, r1, 0x4\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0x1\n\
+ bhi _0806C5EC\n\
+_0806C5E2:\n\
+ strh r1, [r4, 0x2E]\n\
+ b _0806C64E\n\
+ .align 2, 0\n\
+_0806C5E8: .4byte gSprites\n\
+_0806C5EC:\n\
+ ldr r5, _0806C600 @ =gPlayerParty + 4 * 0x64\n\
+ adds r0, r5, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0806C604\n\
+ movs r0, 0x4\n\
+ strh r0, [r4, 0x2E]\n\
+ b _0806C64E\n\
+ .align 2, 0\n\
+_0806C600: .4byte gPlayerParty + 4 * 0x64\n\
+_0806C604:\n\
+ adds r0, r5, 0\n\
+ adds r0, 0x64\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0806C64E\n\
+ movs r0, 0x5\n\
+ strh r0, [r4, 0x2E]\n\
+ b _0806C64E\n\
+_0806C618:\n\
+ subs r0, r4, 0x2\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ bhi _0806C634\n\
+ ldr r0, _0806C630 @ =gSprites\n\
+ lsls r1, r5, 4\n\
+ adds r1, r5\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ movs r0, 0\n\
+ b _0806C64A\n\
+ .align 2, 0\n\
+_0806C630: .4byte gSprites\n\
+_0806C634:\n\
+ subs r0, r4, 0x4\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ bhi _0806C64E\n\
+ ldr r0, _0806C654 @ =gSprites\n\
+ lsls r1, r5, 4\n\
+ adds r1, r5\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ movs r0, 0x1\n\
+_0806C64A:\n\
+ strh r0, [r1, 0x2E]\n\
+ strh r4, [r1, 0x30]\n\
+_0806C64E:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0806C654: .4byte gSprites\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed)
+{
+ u16 newMenuIndex;
+ u8 newMenuIndex2;
+ u8 newMenuIndex3;
+ s8 menuMovement;
+ u8 spriteId = sub_806CA00(taskId);
+ u8 menuIndex = gSprites[spriteId].data0;
+
+ UpdateMonIconFrame_806DA44(taskId, menuIndex, 0);
+
+ if (menuIndex < PARTY_SIZE)
+ {
+ sub_806BF24(&gUnknown_083769A8[menuIndex * 2], menuIndex, 3, 0);
+ }
+ else if (menuIndex == PARTY_SIZE)
+ {
+ sub_806BB9C(1);
+ }
+ else
+ {
+ sub_806BBEC(1);
+ }
+
+ menuMovement = directionPressed + 2;
+
+ switch (menuMovement)
+ {
+ case 2: // no movement
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 1: // moving up
+ if (menuIndex == 0) {
+ gSprites[spriteId].data0 = 7;
+ } else if (menuIndex == PARTY_SIZE) {
+ gSprites[spriteId].data0 = gPlayerPartyCount - 1;
+ } else {
+ gSprites[spriteId].data0 += directionPressed;
+ }
+
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 3: // moving down
+ if (menuIndex == gPlayerPartyCount - 1) {
+ gSprites[spriteId].data0 = 6;
+ } else if (menuIndex == 7) {
+ gSprites[spriteId].data0 = 0;
+ } else {
+ gSprites[spriteId].data0 += directionPressed;
+ }
+
+ gSprites[spriteId].data1 = 0;
+ break;
+ case 4: // moving right
+ if (gPlayerPartyCount > 1 && menuIndex == 0)
+ {
+ if (gSprites[spriteId].data1 == 0) {
+ gSprites[spriteId].data1 = 1;
+ }
+
+ gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ }
+ break;
+ case 0: // moving left
+ newMenuIndex3 = menuIndex - 1;
+ if (newMenuIndex3 <= 4)
+ {
+ gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data1 = menuIndex;
+ }
+ break;
+ }
+
+ gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data0].x;
+ gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data0].y;
+
+
+ newMenuIndex = gSprites[spriteId].data0;
+ if (gSprites[spriteId].data0 < PARTY_SIZE)
+ {
+ sub_806BF24(&gUnknown_083769A8[gSprites[spriteId].data0 * 2], newMenuIndex, 3, 1);
+ }
+ else if (gSprites[spriteId].data0 == PARTY_SIZE)
+ {
+ sub_806BB9C(2);
+ }
+ else
+ {
+ sub_806BBEC(2);
+ }
+
+ ewram1B000.unk261 = 2;
+
+ newMenuIndex2 = gSprites[spriteId].data0;
+ UpdateMonIconFrame_806DA44(taskId, newMenuIndex2, 1);
+
+ if (menuIndex != gSprites[spriteId].data0)
+ {
+ PlaySE(5);
+ }
+}
+
+// Selects the "OK" button in the Battle Tower party menu.
+void SelectBattleTowerOKButton(u8 taskId)
+{
+ u8 spriteId = sub_806CA00(taskId);
+
+ u8 menuIndex = gSprites[spriteId].data0;
+ if (menuIndex != 6)
+ {
+ UpdateMonIconFrame_806DA44(taskId, menuIndex, 0);
+
+ if (menuIndex < PARTY_SIZE)
+ {
+ sub_806BF24(&gUnknown_083769A8[menuIndex * 2], menuIndex, 3, 0);
+ }
+ else
+ {
+ sub_806BBEC(1);
+ }
+
+ gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data0 = 6;
+ gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].x;
+ gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].y;
+
+ sub_806BB9C(2);
+
+ ewram1B000.unk261 = 2;
+ PlaySE(5);
+ }
+}
+
+void sub_806C92C(u8 spriteId)
+{
+ u8 menuIndex1 = gSprites[spriteId].data0;
+ u8 menuIndex2 = gSprites[spriteId].data1;
+
+ if (!IsDoubleBattle())
+ {
+ if (menuIndex1 < 1) {
+ if (menuIndex2 < 1) {
+ menuIndex2 = 1;
+ }
+ } else {
+ if (menuIndex2 >= 1) {
+ menuIndex2 = 0;
+ }
+ }
+ } else {
+ if (menuIndex1 < 2) {
+ if (menuIndex2 < 2) {
+ menuIndex2 = 2;
+ }
+ } else {
+ if (menuIndex2 >= 2) {
+ menuIndex2 = 0;
+ }
+ }
+ }
+
+ gSprites[spriteId].data1 = menuIndex2;
+}
+
+void sub_806C994(u8 taskId, u8 b)
+{
+ u8 spriteId = sub_806CA00(taskId);
+
+ gSprites[spriteId].data0 = b;
+ sub_806C92C(spriteId);
+}
+
+void sub_806C9C4(u8 taskId, u8 spriteId)
+{
+ u8 spriteId2 = sub_806CA00(taskId);
+
+ gSprites[spriteId].pos1.x = gSprites[spriteId2].pos1.x;
+ gSprites[spriteId].pos1.y = gSprites[spriteId2].pos1.y;
+ gSprites[spriteId].data0 = gSprites[spriteId2].data0;
+}
+
+u8 sub_806CA00(u8 taskId)
+{
+ return gTasks[taskId].data[3] >> 8;
+}
+
+void sub_806CA18(u8 taskId, u8 b)
+{
+ u8 var1 = gTasks[taskId].data[3];
+ gTasks[taskId].data[3] = var1 | (b << 8);
+}
+
+u8 sub_806CA38(u8 taskId)
+{
+ u8 spriteId = sub_806CA00(taskId);
+ return gSprites[spriteId].data0;
+}
+
+void SetupDefaultPartyMenuSwitchPokemon(u8 taskId)
+{
+ gTasks[taskId].func = TaskDummy;
+ ewram01000.unk0 = taskId;
+
+ CreateTask(HandlePartyMenuSwitchPokemonInput, 0);
+ ewram01000.unk1 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+
+ sub_806C9C4(taskId, ewram01000.unk1);
+ ewram01000.unk2 = sub_806CA00(taskId);
+
+ PrintPartyMenuPromptText(ewram1B000_alt.unk272, 0);
+
+ sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk1].data0 * 2], gSprites[ewram01000.unk1].data0, 6, 0);
+ ewram1B000.unk261 = 2;
+}
+
+// Handles changing the the current mon selection when choosing mons to swap places.
+void ChangePartyMenuSwitchPokemonSelection(u8 taskId, s16 menuDirectionPressed)
+{
+ struct Sprite *sprite1 = &gSprites[ewram01000.unk1];
+ struct Sprite *sprite2 = &gSprites[ewram01000.unk2];
+
+ ChangePartyMenuSelection(taskId, menuDirectionPressed);
+
+ if (sprite1->data0 != sprite2->data0)
+ {
+ sub_806BF24(&gUnknown_083769A8[sprite1->data0 * 2], sprite1->data0, 6, 1);
+ }
+ else
+ {
+ sub_806BF24(&gUnknown_083769A8[sprite1->data0 * 2], sprite1->data0, 6, 0);
+ }
+}
+
+void HandlePartyMenuSwitchPokemonInput(u8 taskId)
+{
+ switch (gMain.newAndRepeatedKeys)
+ {
+ case DPAD_UP:
+ ChangePartyMenuSwitchPokemonSelection(ewram01000.unk0, -1);
+ break;
+ case DPAD_DOWN:
+ ChangePartyMenuSwitchPokemonSelection(ewram01000.unk0, 1);
+ break;
+ case DPAD_LEFT:
+ ChangePartyMenuSwitchPokemonSelection(ewram01000.unk0, -2);
+ break;
+ case DPAD_RIGHT:
+ ChangePartyMenuSwitchPokemonSelection(ewram01000.unk0, 2);
+ break;
+ }
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(5);
+ gTasks[taskId].func = ewram01000.unkC;
+ gTasks[taskId].func(taskId);
+ }
+ else if (gMain.newKeys == B_BUTTON)
+ {
+ PlaySE(5);
+ sub_806CD44(taskId);
+ }
+}
+
+void sub_806CC2C(u8 taskId)
+{
+ DestroySprite(&gSprites[ewram01000.unk1]);
+ PrintPartyMenuPromptText(0, 0);
+
+ ewram1B000.unk261 = 2;
+ SwitchTaskToFollowupFunc(ewram01000.unk0);
+ DestroyTask(taskId);
+}
+
+void sub_806CC74(u8 taskId)
+{
+ sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk2].data0 * 2], gSprites[ewram01000.unk2].data0, 3, 1);
+ sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk1].data0 * 2], gSprites[ewram01000.unk1].data0, 3, 0);
+ sub_806CC2C(taskId);
+}
+
+void sub_806CCE4()
+{
+ u8 monIndex1 = gSprites[ewram01000.unk1].data0;
+ u8 monIndex2 = gSprites[ewram01000.unk2].data0;
+
+ if (monIndex1 <= 5)
+ {
+ sub_806BF24(&gUnknown_083769A8[monIndex1 * 2], monIndex1, 3, 0);
+ }
+
+ if (monIndex2 <= 5)
+ {
+ sub_806BF24(&gUnknown_083769A8[monIndex2 * 2], monIndex2, 3, 1);
+ }
+}
+
+void sub_806CD44(u8 taskId)
+{
+ sub_806CCE4();
+ sub_806CC2C(taskId);
+}
+
+void sub_806CD5C(u8 taskId)
+{
+ u8 monIndex1 = gSprites[ewram01000.unk1].data0;
+ u8 monIndex2 = gSprites[ewram01000.unk2].data0;
+
+ if (monIndex1 == monIndex2 || monIndex1 == 7 || monIndex2 == 7)
+ {
+ sub_806CD44(taskId);
+ }
+ else
+ {
+ u8 var1;
+
+ sub_806D5B8(monIndex1);
+ sub_806D5B8(monIndex2);
+
+ if (monIndex1 > monIndex2)
+ {
+ ewram01000.unk5 = monIndex2;
+ ewram01000.unk6 = monIndex1;
+ }
+ else
+ {
+ ewram01000.unk5 = monIndex1;
+ ewram01000.unk6 = monIndex2;
+ }
+
+ ewram01000.unk3 = GetMonIconSpriteId(ewram01000.unk0, ewram01000.unk5);
+ ewram01000.unk4 = GetMonIconSpriteId(ewram01000.unk0, ewram01000.unk6);
+
+ var1 = ewram01000.unk5;
+ if (!var1)
+ {
+ gSprites[ewram01000.unk3].data0 = -8;
+ gSprites[ewram01000.unk3].data2 = -0xA8;
+ ewram01000.unk8 = var1;
+ ewram01000.unkA = 11;
+
+ gTasks[taskId].func = sub_806D014;
+ ewram1B000.unk261 = 1;
+ }
+ else
+ {
+ gSprites[ewram01000.unk3].data0 = 8;
+ gSprites[ewram01000.unk3].data2 = 0xA8;
+ ewram01000.unk8 = 11;
+ ewram01000.unkA = 11;
+
+ gTasks[taskId].func = sub_806D118;
+ ewram1B000.unk261 = 1;
+ }
+
+ gSprites[ewram01000.unk3].callback = SpriteCB_sub_806D37C;
+
+ gSprites[ewram01000.unk4].data0 = 8;
+ gSprites[ewram01000.unk4].data2 = 0xA8;
+ gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C;
+
+ gSprites[ewram01000.unk3].callback(&gSprites[ewram01000.unk3]);
+ gSprites[ewram01000.unk4].callback(&gSprites[ewram01000.unk4]);
+ }
+}
+
+void SwapValues_s16(s16 *a, s16 *b)
+{
+ s16 temp = *a;
+ *a = *b;
+ *b = temp;
+}
+
+#ifdef NONMATCHING
+void sub_806CF04(void)
+{
+ SwapValues_s16(&gSprites[ewram01000.unk3].pos1.x, &gSprites[ewram01000.unk4].pos1.x);
+ SwapValues_s16(&gSprites[ewram01000.unk3].pos1.y, &gSprites[ewram01000.unk4].pos1.y);
+ SwapValues_s16(&gSprites[ewram01000.unk3].pos2.x, &gSprites[ewram01000.unk4].pos2.x);
+ SwapValues_s16(&gSprites[ewram01000.unk3].data0, &gSprites[ewram01000.unk4].data0);
+
+ gSprites[ewram01000.unk3].callback = SpriteCB_sub_806D37C;
+ gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C;
+}
+#else
+__attribute__((naked))
+void sub_806CF04(void)
+{
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ ldr r4, _0806CF94 @ =0x02001000\n\
+ ldrb r1, [r4, 0x3]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ ldr r5, _0806CF98 @ =gSprites + 0x20\n\
+ adds r0, r5\n\
+ ldrb r2, [r4, 0x4]\n\
+ lsls r1, r2, 4\n\
+ adds r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r5\n\
+ bl SwapValues_s16\n\
+ ldrb r1, [r4, 0x3]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r3, r5, 0x2\n\
+ adds r0, r3\n\
+ ldrb r2, [r4, 0x4]\n\
+ lsls r1, r2, 4\n\
+ adds r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r3\n\
+ bl SwapValues_s16\n\
+ ldrb r1, [r4, 0x3]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r3, r5, 0x4\n\
+ adds r0, r3\n\
+ ldrb r2, [r4, 0x4]\n\
+ lsls r1, r2, 4\n\
+ adds r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r3\n\
+ bl SwapValues_s16\n\
+ ldrb r1, [r4, 0x3]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r3, r5, 0\n\
+ adds r3, 0xE\n\
+ adds r0, r3\n\
+ ldrb r2, [r4, 0x4]\n\
+ lsls r1, r2, 4\n\
+ adds r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r3\n\
+ bl SwapValues_s16\n\
+ ldrb r1, [r4, 0x3]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ subs r5, 0x4\n\
+ adds r0, r5\n\
+ ldr r2, _0806CF9C @ =SpriteCB_sub_806D37C\n\
+ str r2, [r0]\n\
+ ldrb r1, [r4, 0x4]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r5\n\
+ str r2, [r0]\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0806CF94: .4byte 0x02001000\n\
+_0806CF98: .4byte gSprites + 0x20\n\
+_0806CF9C: .4byte SpriteCB_sub_806D37C\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_806CFA0(u8 taskId, u8 b)
+{
+ u8 var1 = ((ewram01000.unk6 - 1) * 3) + 1;
+
+ sub_806BA34(ewram01000.unk8, 3);
+ sub_806BB3C(ewram01000.unkA, var1);
+
+ if (!b)
+ {
+ ewram01000.unk8--;
+ ewram01000.unkA++;
+ }
+ else
+ {
+ ewram01000.unk8++;
+ ewram01000.unkA--;
+ }
+
+ sub_806B9A4(ewram01000.unk8, 3, 10);
+ sub_806BA94(ewram01000.unkA, var1, 0, 10);
+}
+
+void sub_806D014(u8 taskId)
+{
+ sub_806CFA0(taskId, 0);
+
+ if (ewram01000.unk8 < -13 && ewram01000.unkA > 32)
+ {
+ sub_806CF04();
+ gTasks[taskId].func = sub_806D05C;
+ }
+}
+
+void sub_806D05C(u8 taskId)
+{
+ sub_806CFA0(taskId, 1);
+
+ if (ewram01000.unk8 == 0 && ewram01000.unkA == 11)
+ {
+ gTasks[taskId].func = sub_806D198;
+ }
+}
+
+void sub_806D098(u8 a, u8 b)
+{
+ u8 var1 = ((ewram01000.unk5 - 1) * 3) + 1;
+ u8 var2 = ((ewram01000.unk6 - 1) * 3) + 1;
+
+ sub_806BB3C(ewram01000.unk8, var1);
+ sub_806BB3C(ewram01000.unkA, var2);
+
+ if (!b)
+ {
+ ewram01000.unk8++;
+ ewram01000.unkA++;
+ }
+ else
+ {
+ ewram01000.unk8--;
+ ewram01000.unkA--;
+ }
+
+ sub_806BA94(ewram01000.unk8, var1, 0, 10);
+ sub_806BA94(ewram01000.unkA, var2, 0, 10);
+}
+
+void sub_806D118(u8 taskId)
+{
+ sub_806D098(taskId, 0);
+
+ if (ewram01000.unk8 > 32 && ewram01000.unkA > 32)
+ {
+ sub_806CF04();
+ gTasks[taskId].func = sub_806D15C;
+ }
+}
+
+void sub_806D15C(u8 taskId)
+{
+ sub_806D098(taskId, 1);
+
+ if (ewram01000.unk8 == 11 && ewram01000.unkA == 11)
+ {
+ gTasks[taskId].func = sub_806D198;
+ }
+}
+
+void sub_806D198(u8 taskId)
+{
+ u8 spriteId;
+
+ SetMonIconSpriteId(ewram01000.unk0, ewram01000.unk5, ewram01000.unk4);
+ SetMonIconSpriteId(ewram01000.unk0, ewram01000.unk6, ewram01000.unk3);
+
+ gSprites[ewram01000.unk3].pos1.x = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk6].x;
+ gSprites[ewram01000.unk3].pos1.y = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk6].y;
+ gSprites[ewram01000.unk3].pos2.x = 0;
+ gSprites[ewram01000.unk3].pos2.y = 0;
+ gSprites[ewram01000.unk3].callback = UpdateMonIconFrame_806DA38;
+
+ gSprites[ewram01000.unk4].pos1.x = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk5].x;
+ gSprites[ewram01000.unk4].pos1.y = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk5].y;
+ gSprites[ewram01000.unk4].pos2.x = 0;
+ gSprites[ewram01000.unk4].pos2.y = 0;
+ gSprites[ewram01000.unk4].callback = UpdateMonIconFrame_806DA38;
+
+ spriteId = GetMonIconSpriteId(ewram01000.unk0, gSprites[ewram01000.unk2].data0);
+ gSprites[spriteId].callback = UpdateMonIconFrame_806DA0C;
+
+ SwapPokemon(&gPlayerParty[ewram01000.unk5], &gPlayerParty[ewram01000.unk6]);
+
+ PartyMenuPrintMonLevelOrStatus(ewram01000.unk5, &gPlayerParty[ewram01000.unk5]);
+ TryPrintPartyMenuMonNickname(ewram01000.unk5, &gPlayerParty[ewram01000.unk5]);
+ PartyMenuTryPrintHP(ewram01000.unk5, &gPlayerParty[ewram01000.unk5]);
+ nullsub_12(ewram01000.unk5, &gPlayerParty[ewram01000.unk5]);
+
+ PartyMenuPrintMonLevelOrStatus(ewram01000.unk6, &gPlayerParty[ewram01000.unk6]);
+ TryPrintPartyMenuMonNickname(ewram01000.unk6, &gPlayerParty[ewram01000.unk6]);
+ PartyMenuTryPrintHP(ewram01000.unk6, &gPlayerParty[ewram01000.unk6]);
+ nullsub_12(ewram01000.unk6, &gPlayerParty[ewram01000.unk6]);
+
+ PartyMenuDrawHPBars();
+ sub_806CC74(taskId);
+}
+
+void SpriteCB_sub_806D37C(struct Sprite *sprite)
+{
+ UpdateMonIconFrame(sprite);
+
+ if (sprite->pos2.x == sprite->data2)
+ {
+ sprite->data0 *= -1;
+ sprite->data2 = 0;
+ sprite->callback = UpdateMonIconFrame_806DA38;
+ }
+ else
+ {
+ sprite->pos2.x += sprite->data0;
+ }
+}
+
+void sub_806D3B4(u8 taskId, u16 species1, u16 species2)
+{
+ const u8 *var1 = gUnknown_083769C0;
+
+ sub_806BA34(var1[2] + gTasks[taskId].data[0], var1[3]);
+ sub_806BB3C(var1[8] + gTasks[taskId].data[0], var1[9]);
+ sub_806BB3C(var1[10] + gTasks[taskId].data[0], var1[11]);
+
+ gTasks[taskId].data[0]--;
+
+ sub_806B9A4(var1[2] + gTasks[taskId].data[0], var1[3], 4);
+
+ if (species1)
+ {
+ sub_806BA94(var1[8] + gTasks[taskId].data[0], var1[9], 0, 4);
+ }
+ else
+ {
+ sub_806BA94(var1[8] + gTasks[taskId].data[0], var1[9], 1, 4);
+ }
+
+ if (species2)
+ {
+ sub_806BA94(var1[10] + gTasks[taskId].data[0], var1[11], 0, 4);
+ }
+ else
+ {
+ sub_806BA94(var1[10] + gTasks[taskId].data[0], var1[11], 1, 4);
+ }
+}
+
+void sub_806D4AC(u8 taskId, u16 species, u8 c)
+{
+ if (species)
+ {
+ u8 monIndex = c + 3;
+ u8 spriteId = GetMonIconSpriteId(taskId, monIndex);
+
+ gSprites[spriteId].data0 = -8;
+ gSprites[spriteId].data2 = gTasks[taskId].data[0] * -8;
+ gSprites[spriteId].callback = SpriteCB_sub_806D37C;
+ }
+}
+
+void sub_806D50C(u8 taskId, u8 monIndex)
+{
+ gSprites[GetMonIconSpriteId(taskId, monIndex)].pos1.x += 0xF0;
+}
+
+void PrintPartyMenuPromptText(u8 textId, u8 b)
+{
+ if (textId != 0xFF)
+ {
+ switch (b)
+ {
+ case 0:
+ MenuDrawTextWindow(0, 16, 23, 19);
+ break;
+ case 1:
+ MenuDrawTextWindow(0, 16, 19, 19);
+ break;
+ case 2:
+ MenuDrawTextWindow(0, 16, 22, 19);
+ break;
+ case 3:
+ MenuDrawTextWindow(0, 16, 18, 19);
+ break;
+ }
+
+ MenuPrint(PartyMenuPromptTexts[textId], 1, 17);
+ }
+}
+
+void sub_806D5A4(void)
+{
+ MenuZeroFillWindowRect(0, 16, 29, 19);
+}
+
+void sub_806D5B8(u8 monIndex)
+{
+ u32 var1;
+ u8 left = gUnknown_08376948[IsDoubleBattle()][monIndex].left;
+ u8 top = gUnknown_08376948[IsDoubleBattle()][monIndex].top;
+ u8 right = gUnknown_08376948[IsDoubleBattle()][monIndex].right;
+ u8 bottom = gUnknown_08376948[IsDoubleBattle()][monIndex].bottom;
+
+ ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom);
+
+ var1 = 0;
+ CpuFastSet(&var1, OBJ_VRAM1 + monIndex * 0x400, 0x1000100);
+}
+
+void sub_806D668(u8 monIndex)
+{
+ u32 var1;
+ u8 left = gUnknown_08376978[IsDoubleBattle()][monIndex].left;
+ u8 top = gUnknown_08376978[IsDoubleBattle()][monIndex].top;
+ u8 right = gUnknown_08376978[IsDoubleBattle()][monIndex].right;
+ u8 bottom = gUnknown_08376978[IsDoubleBattle()][monIndex].bottom;
+
+ ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom);
+
+ var1 = 0;
+ CpuFastSet(&var1, OBJ_VRAM1 + 0x300 + monIndex * 0x400, 0x1000040);
+}
+
+bool8 LoadPartyMenuGraphics(u8 a)
+{
+ u16 palette = 0x7FFF;
+ bool8 retVal = FALSE;
+
+ if (a < 2)
+ {
+ LZDecompressVram(gPartyMenuMisc_Gfx, (void *)BG_VRAM);
+ }
+
+ if (a == 2 || a == 0)
+ {
+ LZDecompressVram(gPartyMenuMisc_Tilemap, (void *)(BG_VRAM + 0x3800));
+ }
+
+ if (a == 3 || a == 0)
+ {
+ LoadCompressedPalette(gPartyMenuMisc_Pal, 0, 0x160);
+ }
+
+ if (a == 4 || a == 0)
+ {
+ LoadPalette(&palette, 0, 2);
+ LoadPalette(gFontDefaultPalette, 0xF0, 0x20);
+ }
+
+ if (a == 5 || a == 0)
+ {
+ LZDecompressVram(gPartyMenuHpBar_Gfx, (void *)(BG_VRAM + 0x6000));
+ }
+
+ if (a == 6 || a == 0)
+ {
+ LZDecompressVram(gPartyMenuOrderText_Gfx, (void *)(BG_VRAM + 0x6180));
+ }
+
+ if (a == 7 || a == 0)
+ {
+ LZDecompressVram(gStatusGfx_Icons, (void *)(BG_VRAM + 0x7180));
+ }
+
+ if (a == 8 || a == 0)
+ {
+ LoadCompressedPalette(gStatusPal_Icons, 0xB0, 0x20);
+ retVal = TRUE;
+ }
+
+ return retVal;
+}
+
+void SetMonIconAnimByHP(u8 spriteId, u16 currentHP, u16 maxHP)
+{
+ u8 hpBarLevel = GetHPBarLevel(currentHP, maxHP);
+ u8 animNum = 0;
+
+ if (currentHP != maxHP)
+ {
+ if (hpBarLevel == 3)
+ {
+ animNum = 1;
+ }
+ else if (hpBarLevel == 2)
+ {
+ animNum = 2;
+ }
+ else if (hpBarLevel == 1)
+ {
+ animNum = 3;
+ }
+ else
+ {
+ animNum = 4;
+ }
+ }
+
+ sub_809D824(&gSprites[spriteId], animNum);
+}
+
+void SetMonIconAnim(u8 spriteId, struct Pokemon *pokemon)
+{
+ u16 currentHP = GetMonData(pokemon, MON_DATA_HP);
+ u16 maxHP = GetMonData(pokemon, MON_DATA_MAX_HP);
+
+ SetMonIconAnimByHP(spriteId, currentHP, maxHP);
+}
+
+void CreatePartyMenuMonIcon(u8 taskId, u8 monIndex, u8 menuType, struct Pokemon *pokemon)
+{
+ u8 x = gUnknown_08376678[menuType][monIndex].x;
+ u8 y = gUnknown_08376678[menuType][monIndex].y;
+
+ u16 species2 = GetMonData(pokemon, MON_DATA_SPECIES2);
+ u32 personality = GetMonData(pokemon, MON_DATA_PERSONALITY);
+
+ u8 spriteId = CreateMonIcon(species2, sub_809D62C, x, y, 5, personality);
+ SetMonIconSpriteId(taskId, monIndex, spriteId);
+ SetMonIconAnim(spriteId, pokemon);
+}
+
+void TryCreatePartyMenuMonIcon(u8 taskId, u8 monIndex, struct Pokemon *pokemon)
+{
+ if (GetMonData(pokemon, MON_DATA_SPECIES))
+ {
+ bool8 isLinkDoubleBattle = IsLinkDoubleBattle();
+ if (isLinkDoubleBattle == TRUE)
+ {
+ CreatePartyMenuMonIcon(taskId, monIndex, PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, pokemon);
+ }
+ else
+ {
+ CreatePartyMenuMonIcon(taskId, monIndex, IsDoubleBattle(), pokemon);
+ }
+ }
+}
+
+void unref_sub_806D964(u8 taskId)
+{
+ u8 i;
+ for (i = 0; i < gPlayerPartyCount; i++)
+ {
+ TryCreatePartyMenuMonIcon(taskId, i, &gPlayerParty[i]);
+ }
+}
+
+void CreateMonIcon_LinkMultiBattle(u8 taskId, u8 monIndex, u8 menuType, struct UnknownPokemonStruct2 *pokemon)
+{
+ u8 x = gUnknown_08376678[menuType][monIndex].x;
+ u8 y = gUnknown_08376678[menuType][monIndex].y;
+
+ u8 spriteId = CreateMonIcon(pokemon->species, sub_809D62C, x, y, 5, pokemon->personality);
+ SetMonIconSpriteId(taskId, monIndex, spriteId);
+ SetMonIconAnimByHP(spriteId, pokemon->hp, pokemon->maxhp);
+}
+
+void UpdateMonIconFrame_806DA0C(struct Sprite *sprite)
+{
+ u8 var1;
+
+ var1 = UpdateMonIconFrame(sprite);
+ if (var1)
+ {
+ if (var1 & 1)
+ {
+ sprite->pos2.y = -3;
+ }
+ else
+ {
+ sprite->pos2.y = 1;
+ }
+ }
+}
+
+void UpdateMonIconFrame_806DA38(struct Sprite *sprite)
+{
+ UpdateMonIconFrame(sprite);
+}
+
+void UpdateMonIconFrame_806DA44(u8 taskId, u8 monIndex, u8 c)
+{
+ u8 spriteId;
+
+ if (monIndex < PARTY_SIZE)
+ {
+ spriteId = GetMonIconSpriteId(taskId, monIndex);
+ gSprites[spriteId].pos2.y = 0;
+ gSprites[spriteId].data0 = 0;
+
+ if (!c)
+ {
+ gSprites[spriteId].callback = UpdateMonIconFrame_806DA38;
+ }
+ else
+ {
+ gSprites[spriteId].callback = UpdateMonIconFrame_806DA0C;
+ }
+ }
+}
+
+void LoadHeldItemIconGraphics(void)
+{
+ LoadSpriteSheet(&HeldItemsSpriteSheet);
+ LoadSpritePalette(&HeldItemsPalette);
+}
+
+void SpriteCB_HeldItemIcon(struct Sprite *sprite)
+{
+
+ u8 data7 = sprite->data7;
+ if (gSprites[data7].invisible)
+ {
+ sprite->invisible = 1;
+ }
+ else
+ {
+ sprite->invisible = 0;
+ sprite->pos1.x = gSprites[data7].pos1.x + gSprites[data7].pos2.x;
+ sprite->pos1.y = gSprites[data7].pos1.y + gSprites[data7].pos2.y;
+ }
+}
+
+void CreateHeldItemIcon(u8 a, u8 b)
+{
+ u8 subPriority;
+ u8 spriteId;
+
+ subPriority = gSprites[a].subpriority;
+ spriteId = CreateSprite(&gSpriteTemplate_837660C, 0xFA, 0xAA, subPriority - 1);
+
+ gSprites[spriteId].pos2.x = 4;
+ gSprites[spriteId].pos2.y = 10;
+ gSprites[spriteId].callback = SpriteCB_HeldItemIcon;
+ gSprites[spriteId].data7 = a;
+
+ StartSpriteAnim(&gSprites[spriteId], b);
+ gSprites[spriteId].callback(&gSprites[spriteId]);
+}
+
+void CreateHeldItemIcons(u8 *a, u8 *b, u8 c)
+{
+ u16 i;
+ u16 heldItem;
+
+ switch (c)
+ {
+ case 0:
+ i = 0;
+ while (i < a[0])
+ {
+ heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ if (heldItem)
+ {
+ CreateHeldItemIcon(b[i], ItemIsMail(heldItem));
+ }
+
+ i++;
+ }
+ break;
+ case 1:
+ i = 0;
+ while (i < a[1])
+ {
+ heldItem = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM);
+ if (heldItem)
+ {
+ CreateHeldItemIcon(b[i + 6], ItemIsMail(heldItem));
+ }
+
+ i++;
+ }
+ break;
+ }
+}
+
+void CreateHeldItemIcons_806DC34(u8 taskId)
+{
+ u8 i;
+ u8 monIconSpriteId;
+ u8 heldItemSpriteId;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES))
+ {
+ monIconSpriteId = GetMonIconSpriteId(taskId, i);
+ heldItemSpriteId = CreateSprite(&gSpriteTemplate_837660C, 0xFA, 0xAA, 4);
+
+ gSprites[heldItemSpriteId].pos2.x = 4;
+ gSprites[heldItemSpriteId].pos2.y = 10;
+ gSprites[heldItemSpriteId].data7 = monIconSpriteId;
+ gSprites[monIconSpriteId].data7 = heldItemSpriteId;
+
+ SetHeldItemIconVisibility(taskId, i);
+ gSprites[heldItemSpriteId].callback(&gSprites[heldItemSpriteId]);
+ }
+ }
+}
+
+#ifdef NONMATCHING
+void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item)
+{
+ u8 monIconSpriteId;
+ u8 heldItemSpriteId;
+
+ monIconSpriteId = GetMonIconSpriteId(taskId, monIndex);
+ heldItemSpriteId = CreateSprite(gSpriteTemplate_837660C, 0xFA, 0xAA, 4);
+
+ gSprites[heldItemSpriteId].pos2.x = 4;
+ gSprites[heldItemSpriteId].pos2.y = 10;
+ gSprites[heldItemSpriteId].data7 = monIconSpriteId;
+ gSprites[monIconSpriteId].data7 = heldItemSpriteId;
+
+ if (!item)
+ {
+ gSprites[heldItemSpriteId].invisible = 1;
+ }
+ else
+ {
+ if (ItemIsMail(item))
+ {
+ StartSpriteAnim(&gSprites[heldItemSpriteId], 1);
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[heldItemSpriteId], 0);
+ }
+
+ gSprites[heldItemSpriteId].invisible = 0;
+ }
+
+ gSprites[heldItemSpriteId].callback(&gSprites[heldItemSpriteId]);
+}
+#else
+__attribute__((naked))
+void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ lsls r2, 16\n\
+ lsrs r7, r2, 16\n\
+ bl GetMonIconSpriteId\n\
+ adds r4, r0, 0\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ ldr r0, _0806DD2C @ =gSpriteTemplate_837660C\n\
+ movs r1, 0xFA\n\
+ movs r2, 0xAA\n\
+ movs r3, 0x4\n\
+ bl CreateSprite\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ ldr r1, _0806DD30 @ =gSprites\n\
+ lsls r0, r6, 4\n\
+ adds r0, r6\n\
+ lsls r0, 2\n\
+ adds r5, r0, r1\n\
+ movs r0, 0x4\n\
+ strh r0, [r5, 0x24]\n\
+ movs r0, 0xA\n\
+ strh r0, [r5, 0x26]\n\
+ strh r4, [r5, 0x3C]\n\
+ lsls r0, r4, 4\n\
+ adds r0, r4\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ strh r6, [r0, 0x3C]\n\
+ cmp r7, 0\n\
+ bne _0806DD34\n\
+ adds r0, r5, 0\n\
+ adds r0, 0x3E\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x4\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _0806DD5C\n\
+ .align 2, 0\n\
+_0806DD2C: .4byte gSpriteTemplate_837660C\n\
+_0806DD30: .4byte gSprites\n\
+_0806DD34:\n\
+ adds r0, r7, 0\n\
+ bl ItemIsMail\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0806DD46\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x1\n\
+ b _0806DD4A\n\
+_0806DD46:\n\
+ adds r0, r5, 0\n\
+ movs r1, 0\n\
+_0806DD4A:\n\
+ bl StartSpriteAnim\n\
+ adds r2, r5, 0\n\
+ adds r2, 0x3E\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x5\n\
+ negs r0, r0\n\
+ ands r0, r1\n\
+ strb r0, [r2]\n\
+_0806DD5C:\n\
+ ldr r2, _0806DD78 @ =gSprites\n\
+ lsls r0, r6, 4\n\
+ adds r0, r6\n\
+ lsls r0, 2\n\
+ adds r1, r2, 0\n\
+ adds r1, 0x1C\n\
+ adds r1, r0, r1\n\
+ adds r0, r2\n\
+ ldr r1, [r1]\n\
+ bl _call_via_r1\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0806DD78: .4byte gSprites\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void SpriteCB_UpdateHeldItemIconPosition(struct Sprite *sprite)
+{
+ u8 spriteId = sprite->data7;
+
+ sprite->pos1.x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
+ sprite->pos1.y = gSprites[spriteId].pos1.y;
+}
+
+u8 GetMonIconSpriteId(u8 taskId, u8 monIndex)
+{
+ switch (monIndex)
+ {
+ case 1:
+ return gTasks[taskId].data[0];
+ break;
+ case 2:
+ return gTasks[taskId].data[1] >> 8;
+ break;
+ case 3:
+ return gTasks[taskId].data[1];
+ break;
+ case 4:
+ return gTasks[taskId].data[2] >> 8;
+ break;
+ case 5:
+ return gTasks[taskId].data[2];
+ break;
+ case 0:
+ default:
+ return gTasks[taskId].data[0] >> 8;
+ break;
+ }
+}
+
+void SetMonIconSpriteId(u8 taskId, u8 monIndex, u8 spriteId)
+{
+ switch (monIndex)
+ {
+ case 0:
+ gTasks[taskId].data[0] = (u8)gTasks[taskId].data[0] | (spriteId << 8);
+ break;
+ case 1:
+ gTasks[taskId].data[0] = (gTasks[taskId].data[0] & -0x100) | spriteId;
+ break;
+ case 2:
+ gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1] | (spriteId << 8);
+ break;
+ case 3:
+ gTasks[taskId].data[1] = (gTasks[taskId].data[1] & -0x100) | spriteId;
+ break;
+ case 4:
+ gTasks[taskId].data[2] = (u8)gTasks[taskId].data[2] | (spriteId << 8);
+ break;
+ case 5:
+ gTasks[taskId].data[2] = (gTasks[taskId].data[2] & -0x100) | spriteId;
+ break;
+ }
+}
+
+u16 GetMonHeldItemIconSpriteId(u8 taskId, u8 monIndex)
+{
+ u8 spriteId = GetMonIconSpriteId(taskId, monIndex);
+ u8 retVal = gSprites[spriteId].data7;
+ return retVal;
+}
+
+#ifdef NONMATCHING
+void SetHeldItemIconVisibility(u8 taskId, u8 monIndex)
+{
+ u8 spriteId;
+ u16 heldItem;
+
+ spriteId = GetMonHeldItemIconSpriteId(taskId, monIndex);
+ if (!GetMonData(&gPlayerParty[monIndex], MON_DATA_HELD_ITEM))
+ {
+ gSprites[spriteId].invisible = 1;
+ }
+ else
+ {
+ struct Sprite *sprite;
+
+ heldItem = GetMonData(&gPlayerParty[monIndex], MON_DATA_HELD_ITEM);
+ sprite = &gSprites[spriteId];
+ if (ItemIsMail(heldItem))
+ {
+ StartSpriteAnim(sprite, 1);
+ }
+ else
+ {
+ StartSpriteAnim(sprite, 0);
+ }
+
+ sprite->invisible = 0;
+ }
+}
+#else
+__attribute__((naked))
+void SetHeldItemIconVisibility(u8 a, u8 monIndex)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ adds r4, r1, 0\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ adds r1, r4, 0\n\
+ bl GetMonHeldItemIconSpriteId\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ adds r6, r5, 0\n\
+ movs r0, 0x64\n\
+ adds r1, r4, 0\n\
+ muls r1, r0\n\
+ ldr r0, _0806DFA4 @ =gPlayerParty\n\
+ adds r4, r1, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xC\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _0806DFAC\n\
+ ldr r1, _0806DFA8 @ =gSprites\n\
+ lsls r0, r5, 4\n\
+ adds r0, r5\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ adds r0, 0x3E\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x4\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _0806DFF6\n\
+ .align 2, 0\n\
+_0806DFA4: .4byte gPlayerParty\n\
+_0806DFA8: .4byte gSprites\n\
+_0806DFAC:\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xC\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ bl ItemIsMail\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0806DFD8\n\
+ lsls r4, r5, 4\n\
+ adds r4, r5\n\
+ lsls r4, 2\n\
+ ldr r0, _0806DFD4 @ =gSprites\n\
+ adds r4, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x1\n\
+ b _0806DFE6\n\
+ .align 2, 0\n\
+_0806DFD4: .4byte gSprites\n\
+_0806DFD8:\n\
+ lsls r4, r6, 4\n\
+ adds r4, r6\n\
+ lsls r4, 2\n\
+ ldr r0, _0806DFFC @ =gSprites\n\
+ adds r4, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0\n\
+_0806DFE6:\n\
+ bl StartSpriteAnim\n\
+ adds r4, 0x3E\n\
+ ldrb r1, [r4]\n\
+ movs r0, 0x5\n\
+ negs r0, r0\n\
+ ands r0, r1\n\
+ strb r0, [r4]\n\
+_0806DFF6:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0806DFFC: .4byte gSprites\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer)
+{
+ u32 var1 = 0;
+ CpuFastSet(&var1, gTileBuffer, 0x1000100);
+ sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gTileBuffer, nameBuffer);
+ CpuFastSet(gTileBuffer, OBJ_VRAM1 + (monIndex * 0x400), 128);
+}
+
+void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon)
+{
+ u8 nameBuffer[12];
+ GetMonNickname(pokemon, nameBuffer);
+ PartyMenuDoPrintMonNickname(monIndex, b, nameBuffer);
+}
+
+void TryPrintPartyMenuMonNickname(u8 monIndex, struct Pokemon *pokemon)
+{
+ if (GetMonData(pokemon, MON_DATA_SPECIES))
+ {
+ bool8 isLinkDoubleBattle = IsLinkDoubleBattle();
+ if (isLinkDoubleBattle == TRUE)
+ {
+ PrintPartyMenuMonNickname(monIndex, PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, pokemon);
+ }
+ else
+ {
+ PrintPartyMenuMonNickname(monIndex, IsDoubleBattle(), pokemon);
+ }
+ }
+}
+
+void PrintPartyMenuMonNicknames(void)
+{
+ u8 i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ TryPrintPartyMenuMonNickname(i, &gPlayerParty[i]);
+ }
+}
+
+u8 *GetMonNickname(struct Pokemon *pokemon, u8 *stringBuffer)
+{
+ GetMonData(pokemon, MON_DATA_NICKNAME, stringBuffer);
+ return StringGetEnd10(stringBuffer);
+}
+
+void PartyMenuPutStatusTilemap(u8 monIndex, u8 menuLayout, u8 status)
+{
+ u8 i;
+ u8 x = gUnknown_08376738[menuLayout][monIndex].x - 1;
+ u8 y = gUnknown_08376738[menuLayout][monIndex].y + 1;
+ u16 *vramPtr = (u16*)(VRAM + 0xF000) + (x + y * 32);
+ u8 var1 = status * 4;
+
+ for (i = 0; i < 4; i++)
+ {
+ vramPtr[i] = (0x18C + var1 + i) | -0x5000;
+ }
+}
+
+static void PartyMenuClearLevelStatusTilemap(u8 monIndex)
+{
+ bool8 isLinkDoubleBattle;
+ u8 menuLayout;
+ u8 x;
+ u8 y;
+ u16 *vramPtr;
+ u8 i;
+
+ isLinkDoubleBattle = IsLinkDoubleBattle();
+ if (isLinkDoubleBattle == TRUE)
+ {
+ menuLayout = PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE;
+ }
+ else
+ {
+ menuLayout = IsDoubleBattle();
+ }
+
+ x = gUnknown_08376738[menuLayout][monIndex].x - 1;
+ y = gUnknown_08376738[menuLayout][monIndex].y + 1;
+
+ vramPtr = (u16*)(VRAM + 0xF000) + (x + y * 32);
+ for (i = 0; i < 4; i++)
+ {
+ vramPtr[i] = 0;
+ }
+}
+
+static void PartyMenuWriteTilemap(u8 a, u8 x, u8 y)
+{
+ u16 *vramPtr = (u16*)(VRAM + 0xF000) + (x + y * 32);
+ *vramPtr = a + 0x10C;
+}
+
+void PartyMenuDoPrintLevel(u8 monIndex, u8 menuLayout, u8 level)
+{
+ u8 *stringVar;
+ u32 var1;
+ u8 x = gUnknown_08376738[menuLayout][monIndex].x;
+ u8 y = gUnknown_08376738[menuLayout][monIndex].y;
+
+ PartyMenuWriteTilemap(0x40, x - 1, y + 1);
+
+ stringVar = gStringVar1;
+ stringVar[0] = 0xFC;
+ stringVar[1] = 0x12;
+ stringVar[2] = 0x8;
+
+ ConvertIntToDecimalString(&stringVar[3], level);
+
+ var1 = 0;
+ CpuFastSet(&var1, gUnknown_02039460, 0x1000020);
+ sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1);
+ CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x200 + (monIndex * 0x400), 32);
+}
+
+void PartyMenuPrintLevel(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon)
+{
+ u16 level = GetMonData(pokemon, MON_DATA_LEVEL);
+ PartyMenuDoPrintLevel(monIndex, menuLayout, level);
+}
+
+void PartyMenuPrintMonLevelOrStatus(u8 monIndex, struct Pokemon *pokemon)
+{
+ if (GetMonData(pokemon, MON_DATA_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG))
+ {
+ u8 statusAndPkrs;
+ bool8 isLinkDoubleBattle;
+ u8 menuLayout;
+
+ statusAndPkrs = GetMonStatusAndPokerus(pokemon);
+
+ isLinkDoubleBattle = IsLinkDoubleBattle();
+ if (isLinkDoubleBattle == TRUE)
+ {
+ menuLayout = PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE;
+ }
+ else
+ {
+ menuLayout = IsDoubleBattle();
+ }
+
+ if (statusAndPkrs != 0 && statusAndPkrs != 6)
+ {
+ PartyMenuPutStatusTilemap(monIndex, menuLayout, statusAndPkrs - 1);
+ }
+ else
+ {
+ PartyMenuPrintLevel(monIndex, menuLayout, pokemon);
+ }
+
+ PartyMenuPrintGenderIcon(monIndex, menuLayout, pokemon);
+ }
+}
+
+void PartyMenuPrintMonsLevelOrStatus(void)
+{
+ u8 i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ PartyMenuPrintMonLevelOrStatus(i, &gPlayerParty[i]);
+ }
+}
+
+void PartyMenuDoPrintGenderIcon(u16 species, u8 gender, u8 menuLayout, u8 monIndex, u8 *nickname)
+{
+ if (!ShouldHideGenderIcon(species, nickname))
+ {
+ u8 x = gUnknown_08376738[menuLayout][monIndex].x + 3;
+ u8 y = gUnknown_08376738[menuLayout][monIndex].y + 1;
+
+ switch (gender)
+ {
+ case MON_MALE:
+ PartyMenuWriteTilemap(0x42, x, y);
+ break;
+ case MON_FEMALE:
+ PartyMenuWriteTilemap(0x44, x, y);
+ break;
+ }
+ }
+}
+
+void PartyMenuPrintGenderIcon(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon)
+{
+ u16 species2;
+ u8 gender;
+
+ GetMonNickname(pokemon, gStringVar1);
+ species2 = GetMonData(pokemon, MON_DATA_SPECIES2);
+ gender = GetMonGender(pokemon);
+ PartyMenuDoPrintGenderIcon(species2, gender, menuLayout, monIndex, gStringVar1);
+}
+
+void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP)
+{
+ u32 *var;
+ register u8 *stringVar1 asm("r2") = gStringVar1;
+ register u8 *textPtr asm("r2") = sub_8072C14(stringVar1, currentHP, 15, 1);
+ textPtr[0] = CHAR_SLASH;
+
+ sub_8072C14(++textPtr, maxHP, 35, 1);
+ var = 0;
+
+ CpuFastSet(&var, gUnknown_02039460, 0x1000040);
+ sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1);
+ CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x300 + (monIndex * 0x400), 64);
+}
+
+void PartyMenuPrintHP(u8 monIndex, u8 b, struct Pokemon *pokemon)
+{
+ u16 currentHP;
+ u16 maxHP;
+
+ currentHP = GetMonData(pokemon, MON_DATA_HP);
+ maxHP = GetMonData(pokemon, MON_DATA_MAX_HP);
+
+ PartyMenuDoPrintHP(monIndex, b, currentHP, maxHP);
+}
+
+void PartyMenuTryPrintHP(u8 monIndex, struct Pokemon *pokemon)
+{
+ if (GetMonData(pokemon, MON_DATA_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG))
+ {
+ bool8 isLinkDoubleBattle = IsLinkDoubleBattle();
+ if (isLinkDoubleBattle == TRUE)
+ {
+ PartyMenuPrintHP(monIndex, PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, pokemon);
+ }
+ else
+ {
+ PartyMenuPrintHP(monIndex, IsDoubleBattle(), pokemon);
+ }
+ }
+}
+
+void PartyMenuTryPrintMonsHP(void)
+{
+ u8 i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ PartyMenuTryPrintHP(i, &gPlayerParty[i]);
+ }
+}
+
+void unref_sub_806E564(void) { }
+void unref_sub_806E568(void) { }
+void nullsub_12(u8 monIndex, struct Pokemon *pokemon) { }
+void nullsub_13(void) { }
+
+void PartyMenuDoDrawHPBar(u8 monIndex, u8 menuLayout, u16 currentHP, u16 maxHP)
+{
+ u8 hpBarLevel;
+ u16 *vramPtr;
+ int var = -32768;
+ struct BattleInterfaceStruct1 battleInterface;
+ battleInterface.unk0 = maxHP;
+ battleInterface.unk4 = currentHP;
+ battleInterface.unk8 = 0;
+
+ hpBarLevel = GetHPBarLevel(currentHP, maxHP);
+ if (hpBarLevel > 2)
+ {
+ battleInterface.unkC_0 = 4;
+ }
+ if (hpBarLevel == 2)
+ {
+ battleInterface.unkC_0 = 5;
+ }
+ if (hpBarLevel < 2)
+ {
+ battleInterface.unkC_0 = 6;
+ }
+
+ battleInterface.unk10 = 0x100;
+
+ vramPtr = gUnknown_08376858[menuLayout][monIndex];
+ sub_80460C8(&battleInterface, &var, vramPtr, 0);
+
+ vramPtr -= 2;
+
+ vramPtr[0] = 0x3109;
+ vramPtr[1] = 0x310A;
+ vramPtr[8] = 0x310B;
+}
+
+void PartyMenuDrawHPBar(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon)
+{
+ u16 currentHP = GetMonData(pokemon, MON_DATA_HP);
+ u16 maxHP = GetMonData(pokemon, MON_DATA_MAX_HP);
+
+ PartyMenuDoDrawHPBar(monIndex, menuLayout, currentHP, maxHP);
+}
+
+void PartyMenuTryDrawHPBar(u8 monIndex, struct Pokemon *pokemon)
+{
+ if (GetMonData(pokemon, MON_DATA_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG))
+ {
+ bool8 isDoubleBattle = IsLinkDoubleBattle();
+ if (isDoubleBattle == TRUE)
+ {
+ PartyMenuDrawHPBar(monIndex, PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, pokemon);
+ }
+ else
+ {
+ PartyMenuDrawHPBar(monIndex, IsDoubleBattle(), pokemon);
+ }
+ }
+}
+
+void PartyMenuDrawHPBars(void)
+{
+ u8 i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ PartyMenuTryDrawHPBar(i, &gPlayerParty[i]);
+ }
+}
+
+void SwapPokemon(struct Pokemon *a, struct Pokemon *b)
+{
+ struct Pokemon temp = *a;
+ *a = *b;
+ *b = temp;
+}
+
+void SetPartyPopupMenuOffsets(u8 menuIndex, u8 *left, u8 *top, const struct PartyPopupMenu *menu)
+{
+ u8 bottomOffset = (2 * menu[menuIndex].numChoices) + 2;
+ u8 rightOffset = menu[menuIndex].width + 1;
+
+ *left = 30 - rightOffset;
+ *top = 20 - bottomOffset;
+}
+
+void ShowPartyPopupMenu(u8 menuIndex, const struct PartyPopupMenu *menu, const struct MenuAction2 *menuActions, u8 cursorPos)
+{
+ u8 left;
+ u8 top;
+
+ SetPartyPopupMenuOffsets(menuIndex, &left, &top, menu);
+ sub_8089C50(left, top, menu[menuIndex].width, menu[menuIndex].numChoices, menuActions, menu[menuIndex].items);
+
+ InitMenu(0, left + 1, top + 1, menu[menuIndex].numChoices, cursorPos, menu[menuIndex].width - 1);
+}
+
+void ClosePartyPopupMenu(u8 index, const struct PartyPopupMenu *menu)
+{
+ u8 left;
+ u8 top;
+
+ SetPartyPopupMenuOffsets(index, &left, &top, menu);
+
+ MenuZeroFillWindowRect(left, top, left + menu[index].width, menu[index].numChoices * 2 + top + 1);
+ HandleDestroyMenuCursors();
+}
+
+TaskFunc PartyMenuGetPopupMenuFunc(u8 menuIndex, const struct PartyPopupMenu *menus, const struct MenuAction2 *menuActions, u8 itemIndex)
+{
+ u8 action = menus[menuIndex].items[itemIndex];
+ return menuActions[action].func;
+}
+
+u8 sub_806E834(const u8 *message, u8 arg1)
+{
+ u8 taskId;
+
+ gUnknown_0202E8F6 = 1;
+
+ MenuDrawTextWindow(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
+ MenuPrintMessage(message, WINDOW_LEFT + 1, 15);
+
+ taskId = CreateTask(sub_806E884, 1);
+ gTasks[taskId].data[0] = arg1;
+
+ return taskId;
+}
+
+static void sub_806E884(u8 taskId)
+{
+ if (MenuUpdateWindowText())
+ {
+ gUnknown_0202E8F6 = 0;
+ if (gTasks[taskId].data[0] == 0)
+ MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_806E8D0(u8 taskId, u16 b, TaskFunc c)
+{
+ ewram1C000.unk10 = c;
+ ewram1C000.unk4 = taskId;
+ ewram1C000.unk5 = sub_806CA38(taskId);
+ ewram1C000.unk6 = b;
+ ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
+}
+
+bool8 PartyMenuUpdateMonHeldItem(struct Pokemon *pkmn, u16 item)
+{
+ u8 itemData[2];
+
+ if (ItemIsMail(item) == TRUE)
+ {
+ if (GiveMailToMon(pkmn, item) == 0xFF)
+ return TRUE;
+ gUnknown_0202E8F4 = 2;
+ }
+ else
+ {
+ gUnknown_0202E8F4 = 1;
+ }
+
+ itemData[0] = item;
+ itemData[1] = item >> 8;
+ SetMonData(pkmn, MON_DATA_HELD_ITEM, itemData);
+ return FALSE;
+}
+
+void PartyMenuTryGiveMonHeldItem(u8 taskId, u16 newItem, TaskFunc c)
+{
+ u16 currentItem;
+
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, newItem, c);
+ currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
+ gUnknown_0202E8F4 = 0;
+ gUnknown_0202E8F8 = 0;
+ if (currentItem != 0)
+ {
+ if (ItemIsMail(currentItem) == TRUE)
+ {
+ sub_806E834(gOtherText_MailMustBeRemoved, 1);
+ CreateTask(party_menu_link_mon_held_item_object, 5);
+ }
+ else
+ {
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ CopyItemName(currentItem, gStringVar2);
+ StringExpandPlaceholders(gStringVar4, gOtherText_AlreadyHolding);
+ sub_806E834(gStringVar4, 1);
+ CreateTask(Task_ConfirmGiveHeldItem, 5);
+ if (ItemIsMail(newItem) == TRUE)
+ gUnknown_0202E8F8 = currentItem;
+ }
+ }
+ else
+ {
+ PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, newItem);
+ RemoveBagItem(newItem, 1);
+ if (ItemIsMail(newItem))
+ {
+ gTasks[taskId].func = c;
+ }
+ else
+ {
+ DisplayGiveHeldItemMessage(ewram1C000.unk5, newItem, 1);
+ CreateTask(party_menu_link_mon_held_item_object, 5);
+ }
+ }
+}
+
+void party_menu_link_mon_held_item_object(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
+ gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
+ DestroyTask(taskId);
+ }
+}
+
+void PartyMenuTryGiveMonHeldItem_806EACC(u8 taskId)
+{
+ s8 selection = ProcessMenuInputNoWrap_();
+
+ if (selection == 0)
+ {
+ u16 currentItem;
+
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
+ RemoveBagItem(ewram1C000.unk6, 1);
+ if (AddBagItem(currentItem, 1) == TRUE)
+ {
+ PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, ewram1C000.unk6);
+ if (ItemIsMail(ewram1C000.unk6))
+ {
+ DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 1);
+ }
+ else
+ {
+ CopyItemName(ewram1C000.unk6, gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gOtherText_TakenAndReplaced);
+ sub_806E834(gStringVar4, 1);
+ }
+ }
+ else
+ {
+ sub_806E834(gOtherText_BagFullCannotRemoveItem, 0);
+ AddBagItem(ewram1C000.unk6, 1);
+ }
+ }
+ else
+ {
+ if (selection != 1 && selection != -1)
+ return;
+ if (selection == -1)
+ PlaySE(SE_SELECT);
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ }
+ gTasks[taskId].func = party_menu_link_mon_held_item_object;
+}
+
+void Task_ConfirmGiveHeldItem(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ DisplayYesNoMenu(23, 8, 1);
+ gTasks[taskId].func = PartyMenuTryGiveMonHeldItem_806EACC;
+ }
+}
+
+void DisplayGiveHeldItemMessage(u8 a, u16 b, u8 c)
+{
+ GetMonNickname(&gPlayerParty[a], gStringVar1);
+ CopyItemName(b, gStringVar2);
+ StringExpandPlaceholders(gStringVar4, gOtherText_WasGivenToHold);
+ sub_806E834(gStringVar4, c);
+}
+
+void PartyMenuTryGiveMonMail(u8 taskId, TaskFunc func)
+{
+ u32 var1;
+ u16 currentItem;
+ struct MailStruct *mail;
+
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, 0, func);
+ currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
+ gUnknown_0202E8F4 = 0;
+ var1 = ewram1FE00.unkE00 + 6;
+ mail = &gSaveBlock1.mail[var1 + ewram1FE00.unkE02];
+
+ if (currentItem != 0)
+ {
+ sub_806E834(gOtherText_PokeHoldingItemCantMail, 1);
+ CreateTask(party_menu_link_mon_held_item_object, 5);
+ }
+ else
+ {
+ GiveMailToMon2(ewram1C000.pokemon, mail);
+ ClearMailStruct(mail);
+ sub_806E834(gOtherText_MailTransferredMailbox, 1);
+ CreateTask(party_menu_link_mon_held_item_object, 5);
+ }
+}
+
+void PartyMenuTryGiveMonHeldItem_806ECE8(u8 taskId, TaskFunc func)
+{
+ u16 currentItem;
+
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, 0, func);
+ currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
+ if (currentItem == 0)
+ {
+ StringExpandPlaceholders(gStringVar4, gOtherText_NotHoldingAnything);
+ sub_806E834(gStringVar4, 0);
+ CreateTask(party_menu_link_mon_held_item_object, 5);
+ }
+ else
+ {
+ u8 itemData[2];
+
+ itemData[0] = 0;
+ itemData[1] = 0;
+ if (AddBagItem(currentItem, 1) == TRUE)
+ {
+ if (ItemIsMail(currentItem) == TRUE)
+ TakeMailFromMon(ewram1C000.pokemon);
+ DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 0);
+ SetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM, itemData);
+ }
+ else
+ {
+ sub_806E834(gOtherText_BagFullCannotRemoveItem, 0);
+ }
+ CreateTask(party_menu_link_mon_held_item_object, 5);
+ }
+}
+
+void DisplayTakeHeldItemMessage(u8 a, u16 b, u8 c)
+{
+ GetMonNickname(&gPlayerParty[a], gStringVar1);
+ CopyItemName(b, gStringVar2);
+ StringExpandPlaceholders(gStringVar4, gOtherText_ReceivedTheThingFrom);
+ sub_806E834(gStringVar4, c);
+}
+
+void DoTakeMail(u8 taskId, TaskFunc func)
+{
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, 0, func);
+ ewram1C000.unk6 = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
+ sub_806E834(gOtherText_SendRemovedMailPrompt, 1);
+ CreateTask(Task_ConfirmTakeHeldMail, 5);
+}
+
+void Task_LoseMailMessage(u8 taskId)
+{
+ s8 selection = ProcessMenuInputNoWrap_();
+
+ if (selection == 0)
+ {
+ if (AddBagItem(ewram1C000.unk6, 1) == TRUE)
+ {
+ TakeMailFromMon(ewram1C000.pokemon);
+ sub_806E834(gOtherText_MailTaken, 0);
+ }
+ else
+ {
+ sub_806E834(gOtherText_BagFullCannotRemoveItem, 0);
+ }
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ gTasks[taskId].func = party_menu_link_mon_held_item_object;
+ }
+ else
+ {
+ if (selection != 1 && selection != -1)
+ return;
+ if (selection == -1)
+ PlaySE(SE_SELECT);
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ MenuZeroFillWindowRect(0, 14, 29, 19);
+ gTasks[taskId].func = party_menu_link_mon_held_item_object;
+ }
+}
+
+void Task_ConfirmLoseMailMessage(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ DisplayYesNoMenu(23, 8, 1);
+ gTasks[taskId].func = Task_LoseMailMessage;
+ }
+}
+
+void Task_TakeHeldMail(u8 taskId)
+{
+ s8 selection = ProcessMenuInputNoWrap_();
+
+ if (selection == 0)
+ {
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ if (TakeMailFromMon2(ewram1C000.pokemon) != 0xFF)
+ sub_806E834(gOtherText_MailWasSent, 0);
+ else
+ sub_806E834(gOtherText_MailboxIsFull, 0);
+ gTasks[taskId].func = party_menu_link_mon_held_item_object;
+ }
+ else
+ {
+ if (selection != 1 && selection != -1)
+ return;
+ if (selection == -1)
+ PlaySE(SE_SELECT);
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ sub_806E834(gOtherText_MailRemovedMessageLost, 1);
+ gTasks[taskId].func = Task_ConfirmLoseMailMessage;
+ }
+}
+
+void Task_ConfirmTakeHeldMail(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ DisplayYesNoMenu(23, 8, 1);
+ gTasks[taskId].func = Task_TakeHeldMail;
+ }
+}
+
+u16 ItemIdToBattleMoveId(u16 item)
+{
+ u16 machineNumber = item - ITEM_TM01;
+ return TMHMMoves[machineNumber];
+}
+
+bool8 pokemon_has_move(struct Pokemon *pkmn, u16 move)
+{
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (GetMonData(pkmn, MON_DATA_MOVE1 + i) == move)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void TeachMonTMMove(u8 taskId, u16 move, TaskFunc func)
+{
+ PlaySE(SE_SELECT);
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, move, func);
+ CreateTask(Task_TeamMonTMMove, 5);
+}
+
+void Task_TeamMonTMMove(u8 taskId)
+{
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ ewram1C000.unk8 = ItemIdToBattleMoveId(ewram1C000.unk6);
+ StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
+ ewram1B000.unk282 = 0;
+ if (pokemon_has_move(ewram1C000.pokemon, ewram1C000.unk8))
+ {
+ StringExpandPlaceholders(gStringVar4, gOtherText_AlreadyKnows);
+ sub_806E834(gStringVar4, 1);
+ gTasks[taskId].func = party_menu_link_mon_held_item_object;
+ }
+ else
+ {
+ if (!CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33))
+ {
+ StringExpandPlaceholders(gStringVar4, gOtherText_NotCompatible);
+ sub_806E834(gStringVar4, 1);
+ gTasks[taskId].func = party_menu_link_mon_held_item_object;
+ }
+ else
+ {
+ if (GiveMoveToMon(ewram1C000.pokemon, ewram1C000.unk8) != 0xFFFF)
+ {
+ Task_TeamMonTMMove2(taskId);
+ }
+ else
+ {
+ StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn);
+ sub_806E834(gStringVar4, 1);
+ gTasks[taskId].func = sub_806F358;
+ }
+ }
+ }
+}
+
+void Task_TeamMonTMMove2(u8 taskId)
+{
+ StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
+ StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove);
+ sub_806E834(gStringVar4, 1);
+ AdjustFriendship(ewram1C000.pokemon, 4);
+ if (ewram1B000.unk282 == 0 && ewram1C000.unk6 <= 0x152)
+ RemoveBagItem(ewram1C000.unk6, 1);
+ gTasks[taskId].func = Task_TeamMonTMMove3;
+}
+
+void Task_TeamMonTMMove3(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ PlayFanfare(BGM_FANFA1);
+ gTasks[taskId].func = Task_TeamMonTMMove4;
+ }
+}
+
+void Task_TeamMonTMMove4(u8 taskId)
+{
+ if (IsFanfareTaskInactive())
+ {
+ if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
+ {
+ SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
+ if (ewram1B000.unk282 == 1)
+ {
+ TeachMonMoveInPartyMenu(taskId);
+ }
+ else
+ {
+ gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
+ DestroyTask(taskId);
+ }
+ }
+ }
+}
+
+void sub_806F2FC(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
+ if (ewram1B000.unk282 == 1)
+ {
+ TeachMonMoveInPartyMenu(taskId);
+ }
+ else
+ {
+ gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
+ DestroyTask(taskId);
+ }
+ }
+}
+
+void sub_806F358(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ DisplayYesNoMenu(23, 8, 1);
+ gTasks[taskId].func = sub_806F390;
+ }
+}
+
+void sub_806F390(u8 taskId)
+{
+ s8 selection = ProcessMenuInputNoWrap_();
+
+ if (selection == 0)
+ {
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ sub_806E834(gOtherText_WhichMoveToForget2, 1);
+ gTasks[taskId].func = sub_806F44C;
+ }
+ else
+ {
+ if (selection != 1 && selection != -1)
+ return;
+ if (selection == -1)
+ PlaySE(SE_SELECT);
+ StopTryingToTeachMove_806F614(taskId);
+ }
+}
+
+void sub_806F3FC(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ sub_809D9F0(gPlayerParty, ewram1C000.unk5, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_806F44C(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gTasks[taskId].func = sub_806F3FC;
+ }
+}
+
+void TaughtMove(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ u8 moveIndex;
+ u16 r4;
+
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, gScriptItemId, sub_808B508);
+ moveIndex = sub_809FA30();
+ r4 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + moveIndex);
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[r4]);
+ StringExpandPlaceholders(gStringVar4, gOtherText_ForgetMove123_2);
+ sub_806E834(gStringVar4, 1);
+ CreateTask(TMMoveUpdateMoveSlot, 5);
+ }
+}
+
+void TMMoveUpdateMoveSlot(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ RemoveMonPPBonus(ewram1C000.pokemon, sub_809FA30());
+ SetMonMoveSlot(ewram1C000.pokemon, ewram1C000.unk8, sub_809FA30());
+ Task_TeamMonTMMove2(taskId);
+ }
+}
+
+void StopTryingToTeachMove_806F588(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, gScriptItemId, sub_808B508);
+ StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
+ StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo);
+ sub_806E834(gStringVar4, 1);
+ CreateTask(StopTryingToTeachMove_806F67C, 5);
+ }
+}
+
+void StopTryingToTeachMove_806F614(u8 taskId)
+{
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
+ StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo);
+ sub_806E834(gStringVar4, 1);
+ gTasks[taskId].func = StopTryingToTeachMove_806F67C;
+}
+
+void StopTryingToTeachMove_806F67C(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ DisplayYesNoMenu(23, 8, 1);
+ gTasks[taskId].func = StopTryingToTeachMove_806F6B4;
+ }
+}
+
+void StopTryingToTeachMove_806F6B4(u8 taskId)
+{
+ s8 selection = ProcessMenuInputNoWrap_();
+
+ if (selection == 0)
+ {
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
+ StringExpandPlaceholders(gStringVar4, gOtherText_DidNotLearnMove2);
+ sub_806E834(gStringVar4, 1);
+ gTasks[taskId].func = sub_806F2FC;
+ }
+ else
+ {
+ if (selection != 1 && selection != -1)
+ return;
+ if (selection == -1)
+ PlaySE(SE_SELECT);
+ MenuZeroFillWindowRect(23, 8, 29, 13);
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
+ StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn);
+ sub_806E834(gStringVar4, 1);
+ gTasks[taskId].func = sub_806F358;
+ }
+}
+
+bool8 IsHMMove(u16 move)
+{
+ u8 i;
+
+ for (i = 0; i < NUM_HIDDEN_MACHINES; i++)
+ {
+ if (TMHMMoves[NUM_TECHNICAL_MACHINES + i] == move)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+s16 sub_806F7E8(u8 taskId, struct BattleInterfaceStruct1 *b, s8 c)
+{
+ s16 *taskData;
+ u8 hpBarLevel;
+ void *vramPtr;
+
+ taskData = gTasks[taskId].data;
+
+ b->unk0 = taskData[10];
+ b->unk4 = taskData[11];
+ b->unk8 = taskData[12] * c;
+ b->unk10 = 0x100;
+ hpBarLevel = GetHPBarLevel(ewram1B000.unk282, b->unk0);
+ if (hpBarLevel > 2)
+ b->unkC_0 = 4;
+ if (hpBarLevel == 2)
+ b->unkC_0 = 5;
+ if (hpBarLevel < 2)
+ b->unkC_0 = 6;
+ vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.unk5];
+ return sub_80460C8(b, &ewram1C000.unkC, vramPtr, 0);
+}
+
+void sub_806F8AC(u8 taskId)
+{
+ struct BattleInterfaceStruct1 sp0;
+ u16 sp14;
+
+ ewram1B000.unk282 = sub_806F7E8(taskId, &sp0, -1);
+ if (ewram1B000.unk282 == -1)
+ {
+ ewram1C000.unkC = 0;
+ if (-sp0.unk8 + sp0.unk4 > sp0.unk0)
+ sp14 = sp0.unk0 - sp0.unk4;
+ else
+ sp14 = -sp0.unk8;
+ gBattleMoveDamage = -sp14;
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ ConvertIntToDecimalStringN(gStringVar2, sp14, 0, 3);
+ if (gTasks[taskId].data[14] == 0)
+ StringExpandPlaceholders(gStringVar4, gOtherText_HPRestoredBy);
+ else
+ StringExpandPlaceholders(gStringVar4, gOtherText_RegainedHealth);
+ SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram1C000.unk5), ewram1C000.pokemon);
+ task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 7);
+ ewram1B000.unk261 = 2;
+ sub_806E834(gStringVar4, 1);
+ sp14 += sp0.unk4;
+ SetMonData(ewram1C000.pokemon, MON_DATA_HP, &sp14);
+ RemoveBagItem(ewram1C000.unk6, 1);
+ sub_8032638();
+ gTasks[taskId].func = sub_806FB44;
+ }
+ else
+ {
+ PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0);
+ }
+}
+
+void sub_806FA18(u8 taskId)
+{
+ struct BattleInterfaceStruct1 sp0;
+
+ ewram1B000.unk282 = sub_806F7E8(taskId, &sp0, 1);
+ if (ewram1B000.unk282 == -1)
+ {
+ PlaySE(SE_KAIFUKU);
+ ewram1C000.unkC = 0;
+ gTasks[taskId].data[11] -= gTasks[taskId].data[12];
+ SetMonData(ewram1C000.pokemon, MON_DATA_HP, &gTasks[taskId].data[11]);
+ SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon);
+ ewram1C000.unk5 = gSprites[ewram01000.unk2].data0;
+ ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
+ gTasks[taskId].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
+ gTasks[taskId].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
+ ewram1C000.unkC = -32768;
+ ewram1C000.unk14 = ewram1C000.unk10;
+ gTasks[taskId].func = sub_806F8AC;
+ ewram1B000.unk282 = gTasks[taskId].data[11];
+ }
+ else
+ {
+ PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0);
+ }
+}
+
+void sub_806FB0C(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
+ DestroyTask(taskId);
+ }
+}
+
+void sub_806FB44(u8 taskId)
+{
+ if (gUnknown_0202E8F6 == 0)
+ {
+ gTasks[ewram1C000.unk4].func = ewram1C000.unk14;
+ DestroyTask(taskId);
+ }
+}
+
+bool8 IsHPRecoveryItem(u16 item)
+{
+ const u8 *itemEffect;
+
+ if (item == ITEM_ENIGMA_BERRY)
+ itemEffect = gSaveBlock1.enigmaBerry.itemEffect;
+ else
+ itemEffect = gItemEffectTable[item - ITEM_POTION];
+
+ if (itemEffect[4] & 4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+void PartyMenuUpdateLevelOrStatus(struct Pokemon *pkmn, u8 monIndex)
+{
+ PartyMenuClearLevelStatusTilemap(monIndex);
+ PartyMenuPrintMonLevelOrStatus(monIndex, pkmn);
+}
+
+void GetMedicineItemEffectMessage(u16 item)
+{
+ switch (GetItemEffectType(item))
+ {
+ case 3:
+ StringExpandPlaceholders(gStringVar4, gOtherText_CuredPoisoning);
+ break;
+ case 4:
+ StringExpandPlaceholders(gStringVar4, gOtherText_WokeUp);
+ break;
+ case 5:
+ StringExpandPlaceholders(gStringVar4, gOtherText_BurnHealed);
+ break;
+ case 6:
+ StringExpandPlaceholders(gStringVar4, gOtherText_ThawedOut);
+ break;
+ case 7:
+ StringExpandPlaceholders(gStringVar4, gOtherText_CuredParalysis);
+ break;
+ case 8:
+ StringExpandPlaceholders(gStringVar4, gOtherText_SnapConfusion);
+ break;
+ case 9:
+ StringExpandPlaceholders(gStringVar4, gOtherText_GotOverLove);
+ break;
+ case 11:
+ StringExpandPlaceholders(gStringVar4, gOtherText_BecameHealthy);
+ break;
+ case 13:
+ StringCopy(gStringVar2, gOtherText_Hp2);
+ StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
+ break;
+ case 12:
+ StringCopy(gStringVar2, gOtherText_Attack);
+ StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
+ break;
+ case 17:
+ StringCopy(gStringVar2, gOtherText_Defense);
+ StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
+ break;
+ case 16:
+ StringCopy(gStringVar2, gOtherText_Speed);
+ StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
+ break;
+ case 14:
+ StringCopy(gStringVar2, gOtherText_SpAtk2);
+ StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
+ break;
+ case 15:
+ StringCopy(gStringVar2, gOtherText_SpDef2);
+ StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
+ break;
+ case 19:
+ case 20:
+ StringExpandPlaceholders(gStringVar4, gOtherText_PPIncreased);
+ break;
+ case 21:
+ StringExpandPlaceholders(gStringVar4, gOtherText_PPRestored);
+ break;
+ default:
+ StringExpandPlaceholders(gStringVar4, gOtherText_WontHaveAnyEffect);
+ break;
+ }
+}
+
+bool8 IsMedicineIneffective(struct Pokemon *pkmn, u16 item)
+{
+ if (GetItemEffectType(item) == 13
+ && GetMonData(pkmn, MON_DATA_SPECIES) == SPECIES_SHEDINJA)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 ExecuteTableBasedItemEffect__(u8 a, u16 b, u8 c)
+{
+ if (gMain.inBattle)
+ return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, sub_8094C20(a), c);
+ else
+ return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, a, c);
+}
+
+void UseMedicine(u8 taskId, u16 item, TaskFunc func)
+{
+ u8 r7;
+ bool8 r9 = FALSE;
+ bool8 r0;
+
+ gTasks[taskId].func = TaskDummy;
+ r7 = CreateTask(TaskDummy, 5);
+ sub_806E8D0(taskId, item, func);
+ if (!IsMedicineIneffective(ewram1C000.pokemon, item))
+ {
+ r9 = IsHPRecoveryItem(item);
+ if (r9 == TRUE)
+ {
+ gTasks[r7].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
+ gTasks[r7].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
+ if (gTasks[r7].data[10] == gTasks[r7].data[11])
+ {
+ r9 = FALSE;
+ gTasks[r7].data[10] = 0;
+ gTasks[r7].data[11] = 0;
+ }
+ }
+ r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, item, 0);
+ }
+ else
+ {
+ r0 = TRUE;
+ }
+
+ if (r0)
+ {
+ gUnknown_0202E8F4 = 0;
+ PlaySE(SE_SELECT);
+ sub_806E834(gOtherText_WontHaveAnyEffect, 1);
+ gTasks[r7].func = sub_806FB0C;
+ }
+ else
+ {
+ u8 statusAndPkrs;
+
+ gUnknown_0202E8F4 = 1;
+ if (!IsBlueYellowRedFlute(item))
+ PlaySE(SE_KAIFUKU);
+ else
+ PlaySE(SE_BIDORO);
+ statusAndPkrs = GetMonStatusAndPokerus(ewram1C000.pokemon);
+ if (statusAndPkrs == 6 || statusAndPkrs == 0)
+ PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5);
+ if (r9 == TRUE)
+ {
+ gTasks[r7].data[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - gTasks[r7].data[11];
+ ewram1C000.unkC = -32768;
+ if (gTasks[r7].data[11] == 0)
+ gTasks[r7].data[14] = 1;
+ else
+ gTasks[r7].data[14] = 0;
+ ewram1C000.unk14 = ewram1C000.unk10;
+ gTasks[r7].func = sub_806F8AC;
+ ewram1B000.unk282 = gTasks[r7].data[11];
+ }
+ else
+ {
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ if (!IsBlueYellowRedFlute(item))
+ RemoveBagItem(item, 1);
+ GetMedicineItemEffectMessage(item);
+ TryPrintPartyMenuMonNickname(ewram1C000.unk5, ewram1C000.pokemon);
+ sub_806E834(gStringVar4, 1);
+ gTasks[r7].func = sub_806FB0C;
+ }
+ }
+}
+
+bool8 IsBlueYellowRedFlute(u16 item)
+{
+ if (item == 0x27
+ || item == 0x29
+ || item == 0x28)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+void sub_8070048(u8 taskId, u16 item, TaskFunc func)
+{
+ ewram1C000.unk10 = func;
+ ewram1C000.unk4 = taskId;
+ ewram1C000.unk6 = item;
+ ewram1C000.unk5 = 0;
+ ewram1C000.unk14 = sub_80701DC;
+ ewram1B000.unk27E = 0;
+ ewram1B000.unk280 = 0;
+ sub_8070088(taskId);
+}
+
+void sub_8070088(u8 taskId)
+{
+ u8 taskId2;
+
+ gTasks[taskId].func = TaskDummy;
+ if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) == 0)
+ {
+ gTasks[taskId].func = sub_80701DC;
+ }
+ else
+ {
+ s16 *taskData;
+
+ taskId2 = CreateTask(TaskDummy, 5);
+ taskData = gTasks[taskId2].data;
+ ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
+ taskData[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
+ taskData[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
+ if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, 0))
+ {
+ DestroyTask(taskId2);
+ gTasks[taskId].func = sub_80701DC;
+ }
+ else
+ {
+ gUnknown_0202E8F4 = 1;
+ MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
+ PlaySE(SE_KAIFUKU);
+ PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5);
+ task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 9);
+ ewram1B000.unk261 = 2;
+ taskData[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - taskData[11];
+ taskData[14] = 1;
+ ewram1B000.unk27E = 1;
+ ewram1B000.unk280 = 1;
+ ewram1B000.unk282 = taskData[11];
+ ewram1C000.unkC = -32768;
+ gTasks[taskId2].func = sub_806F8AC;
+ }
+ }
+}
+
+void sub_80701DC(u8 taskId)
+{
+ if (ewram1B000.unk27E == 1)
+ {
+ AddBagItem(ewram1C000.unk6, 1);
+ if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) != 0)
+ {
+ task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 3);
+ ewram1B000.unk261 = 2;
+ }
+ ewram1B000.unk27E = 0;
+ }
+ ewram1C000.unk5++;
+ if (ewram1C000.unk5 == 6)
+ {
+ gUnknown_0202E8F4 = 0;
+ if (ewram1B000.unk280 == 0)
+ {
+ gTasks[taskId].func = TaskDummy;
+ sub_806E834(gOtherText_WontHaveAnyEffect, 1);
+ CreateTask(sub_806FB0C, 8);
+ }
+ else
+ {
+ RemoveBagItem(ewram1C000.unk6, 1);
+ gTasks[taskId].func = ewram1C000.unk10;
+ }
+ gLastFieldPokeMenuOpened = 0;
+ }
+ else
+ {
+ sub_8070088(taskId);
+ }
+}
+
+void CreateItemUseMoveMenu(u8 partyMonIndex)
+{
+ u8 r6;
+ u8 i;
+
+ r6 = 0;
+ MenuDrawTextWindow(19, 10, 29, 19);
+ for (i = 0; i < 4; i++)
+ {
+ u16 move = GetMonData(&gPlayerParty[partyMonIndex], MON_DATA_MOVE1 + i);
+
+ MenuPrint(gMoveNames[move], 20, i * 2 + 11);
+ if (move != 0)
+ r6++;
+ }
+ InitMenu(0, 20, 11, r6, 0, 9);
+}
+
+void Task_HandleItemUseMoveMenuInput(u8 taskId)
+{
+ if (gMain.newKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ MoveMenuCursor(-1);
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ MoveMenuCursor(1);
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_08376B54[0](taskId);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_08376B54[1](taskId);
+ }
+}
+
+void DoPPRecoveryItemEffect(u8 taskId, u16 item, TaskFunc c)
+{
+ const u8 *itemEffect;
+ u8 taskId2;
+
+ if (item == ITEM_ENIGMA_BERRY)
+ itemEffect = gSaveBlock1.enigmaBerry.itemEffect;
+ else
+ itemEffect = gItemEffectTable[item - ITEM_POTION];
+ gTasks[taskId].func = TaskDummy;
+ taskId2 = CreateTask(TaskDummy, 5);
+ sub_806E8D0(taskId, item, c);
+ if (!(itemEffect[4] & 0x10))
+ {
+ gTasks[taskId2].data[11] = 0;
+ DoRecoverPP(taskId2);
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ PrintPartyMenuPromptText(10, 3);
+ CreateItemUseMoveMenu(ewram1C000.unk5);
+ gTasks[taskId2].func = Task_HandleItemUseMoveMenuInput;
+ gMain.newKeys = 0;
+ }
+}
+
+void ItemUseMoveMenu_HandleMoveSelection(u8 taskId)
+{
+ HandleDestroyMenuCursors();
+ MenuZeroFillWindowRect(19, 10, 29, 19);
+ sub_806D5A4();
+ gTasks[taskId].data[11] = GetMenuCursorPos();
+ DoRecoverPP(taskId);
+}
+
+void ItemUseMoveMenu_HandleCancel(u8 taskId)
+{
+ HandleDestroyMenuCursors();
+ MenuZeroFillWindowRect(19, 10, 29, 19);
+ if (gMain.inBattle)
+ gTasks[ewram1C000.unk4].func = HandleBattlePartyMenu;
+ else
+ gTasks[ewram1C000.unk4].func = sub_808B0C0;
+ PrintPartyMenuPromptText(3, 0);
+ DestroyTask(taskId);
+}
+
+void DoRecoverPP(u8 taskId)
+{
+ u16 r5 = 0;
+
+ if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, gTasks[taskId].data[11]))
+ {
+ gUnknown_0202E8F4 = r5;
+ PlaySE(SE_SELECT);
+ sub_806E834(gOtherText_WontHaveAnyEffect, 1);
+ }
+ else
+ {
+ gUnknown_0202E8F4 = 1;
+ PlaySE(SE_KAIFUKU);
+ RemoveBagItem(ewram1C000.unk6, 1);
+ r5 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + gTasks[taskId].data[11]);
+ StringCopy(gStringVar1, gMoveNames[r5]);
+ GetMedicineItemEffectMessage(ewram1C000.unk6);
+ sub_806E834(gStringVar4, 1);
+ }
+ gTasks[taskId].func = sub_806FB0C;
+}
+
+void DoPPUpItemEffect(u8 taskId, u16 b, TaskFunc c)
+{
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, b, c);
+ PlaySE(SE_SELECT);
+ PrintPartyMenuPromptText(11, 3);
+ CreateItemUseMoveMenu(ewram1C000.unk5);
+ CreateTask(Task_HandleItemUseMoveMenuInput, 5);
+ gMain.newKeys = 0;
+}
+
+void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c)
+{
+ u8 i;
+ bool8 r0;
+
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, b, c);
+
+ if (GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL) != 100)
+ {
+ for (i = 0; i < 6; i++)
+ ewram1B000.statGrowths[i] = GetMonData(ewram1C000.pokemon, StatDataTypes[i]);
+ r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, b, 0);
+ }
+ else
+ r0 = TRUE;
+
+ if (r0)
+ {
+ gUnknown_0202E8F4 = 0;
+ PlaySE(SE_SELECT);
+ sub_806E834(gOtherText_WontHaveAnyEffect, 1);
+ CreateTask(sub_806FB0C, 5);
+ }
+ else
+ {
+ u8 level;
+
+ gUnknown_0202E8F4 = 1;
+ PlayFanfareByFanfareNum(0);
+ RedrawPokemonInfoInMenu(ewram1C000.unk5, ewram1C000.pokemon);
+ RemoveBagItem(b, 1);
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ level = GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL);
+ ConvertIntToDecimalStringN(gStringVar2, level, 0, 3);
+ StringExpandPlaceholders(gStringVar4, gOtherText_ElevatedTo);
+ sub_806E834(gStringVar4, 1);
+ CreateTask(Task_RareCandy1, 5);
+ }
+}
+
+void Task_RareCandy1(u8 taskId)
+{
+ if (WaitFanfare(0) && gUnknown_0202E8F6 == 0)
+ {
+ if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
+ {
+ PlaySE(SE_SELECT);
+ PrintStatGrowthsInLevelUpWindow(taskId);
+ gTasks[taskId].func = Task_RareCandy2;
+ }
+ }
+}
+
+void Task_RareCandy2(u8 taskId)
+{
+ if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
+ {
+ PlaySE(SE_SELECT);
+ PrintNewStatsInLevelUpWindow(taskId);
+ gTasks[taskId].func = Task_RareCandy3;
+ }
+}
+
+#if ENGLISH
+void PrintStatGrowthsInLevelUpWindow(u8 taskId)
+{
+ u8 i;
+
+ MenuDrawTextWindow(11, 0, 29, 7);
+
+ for (i = 0; i < NUM_STATS; i++)
+ {
+ u8 x;
+ u8 y;
+ u32 stat;
+
+ stat = GetMonData(ewram1C000.pokemon, StatDataTypes[i]);
+
+ ewram1B000.statGrowths[i + NUM_STATS] = stat;
+ ewram1B000.statGrowths[i] = stat - ewram1B000.statGrowths[i];
+
+ x = (i / 3) * 9 + 11;
+ y = ((i % 3) << 1) + 1;
+
+ MenuPrint_PixelCoords(StatNames[i], (x + 1) * 8, y * 8, 1);
+
+ if (i == 2)
+ MenuPrint_PixelCoords(gOtherText_TallPlusAndRightArrow, (x + 6) * 8 + 6, y * 8, 0);
+ else
+ MenuPrint_PixelCoords(gOtherText_TallPlusAndRightArrow, (x + 6) * 8 + 6, y * 8, 1);
+
+ gStringVar1[0] = EXT_CTRL_CODE_BEGIN;
+ gStringVar1[1] = 0x14;
+ gStringVar1[2] = 0x06;
+
+ ConvertIntToDecimalStringN(gStringVar1 + 3, ewram1B000.statGrowths[i], 1, 2);
+
+ MenuPrint_PixelCoords(gStringVar1, (x + 6) * 8 + 12, y * 8, 0);
+ }
+}
+#elif GERMAN
+__attribute__((naked))
+void PrintStatGrowthsInLevelUpWindow(u8 taskId) {
+ 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\
+ movs r0, 0xB\n\
+ movs r1, 0\n\
+ movs r2, 0x1D\n\
+ movs r3, 0x7\n\
+ bl MenuDrawTextWindow\n\
+ movs r7, 0\n\
+ ldr r0, _0807092C @ =gStringVar1\n\
+ mov r10, r0\n\
+ movs r1, 0xFC\n\
+ mov r9, r1\n\
+ movs r2, 0x13\n\
+ mov r8, r2\n\
+_0807086C:\n\
+ ldr r1, _08070930 @ =0x0201c000\n\
+ ldr r0, [r1]\n\
+ ldr r1, _08070934 @ =StatDataTypes\n\
+ adds r1, r7, r1\n\
+ ldrb r1, [r1]\n\
+ bl GetMonData\n\
+ adds r1, r7, 0x6\n\
+ lsls r1, 1\n\
+ ldr r2, _08070938 @ =0x0201b264\n\
+ adds r1, r2, r1\n\
+ strh r0, [r1]\n\
+ lsls r6, r7, 1\n\
+ adds r6, r2, r6\n\
+ ldrh r1, [r6]\n\
+ subs r0, r1\n\
+ strh r0, [r6]\n\
+ adds r0, r7, 0\n\
+ movs r1, 0x3\n\
+ bl __udivsi3\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ lsls r4, r0, 3\n\
+ adds r4, r0\n\
+ adds r4, 0xB\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ adds r0, r7, 0\n\
+ movs r1, 0x3\n\
+ bl __umodsi3\n\
+ adds r5, r0, 0\n\
+ lsls r5, 1\n\
+ adds r5, 0x1\n\
+ lsls r5, 24\n\
+ lsrs r5, 24\n\
+ ldr r1, _0807093C @ =StatNames\n\
+ lsls r0, r7, 2\n\
+ adds r0, r1\n\
+ ldr r1, [r0]\n\
+ mov r0, r10\n\
+ bl StringCopy\n\
+ adds r2, r0, 0\n\
+ mov r0, r9\n\
+ strb r0, [r2]\n\
+ adds r2, 0x1\n\
+ mov r1, r8\n\
+ strb r1, [r2]\n\
+ adds r2, 0x1\n\
+ movs r0, 0x2E\n\
+ strb r0, [r2]\n\
+ adds r2, 0x1\n\
+ adds r0, r2, 0\n\
+ ldr r1, _08070940 @ =gOtherText_TallPlusAndRightArrow\n\
+ bl StringCopy\n\
+ adds r2, r0, 0\n\
+ mov r0, r9\n\
+ strb r0, [r2]\n\
+ adds r2, 0x1\n\
+ mov r1, r8\n\
+ strb r1, [r2]\n\
+ adds r2, 0x1\n\
+ movs r0, 0x34\n\
+ strb r0, [r2]\n\
+ adds r2, 0x1\n\
+ movs r0, 0\n\
+ ldrsh r1, [r6, r0]\n\
+ adds r0, r2, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ adds r4, 0x1\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ mov r0, r10\n\
+ adds r1, r4, 0\n\
+ adds r2, r5, 0\n\
+ bl MenuPrint\n\
+ adds r0, r7, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r7, r0, 24\n\
+ cmp r7, 0x5\n\
+ bls _0807086C\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\
+ .align 2, 0\n\
+_0807092C: .4byte gStringVar1\n\
+_08070930: .4byte 0x0201c000\n\
+_08070934: .4byte StatDataTypes\n\
+_08070938: .4byte 0x0201b264\n\
+_0807093C: .4byte StatNames\n\
+_08070940: .4byte gOtherText_TallPlusAndRightArrow\n\
+ .syntax divided\n");
+}
+#endif
+
+void PrintNewStatsInLevelUpWindow(u8 taskId)
+{
+ u8 i;
+
+ for (i = 0; i < NUM_STATS; i++)
+ {
+ u8 x;
+ u8 y;
+ u32 stat;
+ u32 newStatIndex;
+
+ stat = GetMonData(ewram1C000.pokemon, StatDataTypes[i]);
+ newStatIndex = i + 6;
+ ewram1B000.statGrowths[newStatIndex] = stat;
+
+ x = ((i / 3) * 9) + 11;
+ y = ((i % 3) << 1) + 1;
+
+ gStringVar1[0] = EXT_CTRL_CODE_BEGIN;
+ gStringVar1[1] = 0x14;
+ gStringVar1[2] = 0x06;
+
+ ConvertIntToDecimalStringN(gStringVar1 + 3, ewram1B000.statGrowths[newStatIndex], 1, 3);
+ MenuPrint_PixelCoords(gStringVar1, (x + 6) * 8 + 6, y * 8, 0);
+ }
+}
+
+void RedrawPokemonInfoInMenu(u8 monIndex, struct Pokemon *pokemon)
+{
+ u8 statusAndPkrs;
+ bool8 isDoubleBattle;
+ u16 currentHP;
+ u16 maxHP;
+ u8 icon;
+
+ statusAndPkrs = GetMonStatusAndPokerus(pokemon);
+ if (statusAndPkrs == 0 || statusAndPkrs == 6)
+ {
+ PartyMenuUpdateLevelOrStatus(pokemon, monIndex);
+ }
+
+ isDoubleBattle = IsDoubleBattle();
+
+ currentHP = GetMonData(pokemon, MON_DATA_HP);
+ maxHP = GetMonData(pokemon, MON_DATA_MAX_HP);
+
+ PartyMenuDoPrintHP(monIndex, isDoubleBattle, currentHP, maxHP);
+ PartyMenuTryDrawHPBar(monIndex, pokemon);
+
+ icon = GetMonIconSpriteId(ewram1C000.unk4, monIndex);
+ SetMonIconAnim(icon, pokemon);
+
+ task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + monIndex * 2], 7);
+ ewram1B000.unk261 = 2;
+}
+
+void Task_RareCandy3(u8 taskId)
+{
+ if (WaitFanfare(0))
+ {
+ if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
+ {
+ u16 learnedMove;
+ u16 evolutionSpecies;
+
+ MenuZeroFillWindowRect(11, 0, 29, 7);
+
+ learnedMove = MonTryLearningNewMove(ewram1C000.pokemon, TRUE);
+ ewram1B000.unk282 = 1;
+
+ switch (learnedMove)
+ {
+ case 0:
+ // No move is learned.
+ evolutionSpecies = GetEvolutionTargetSpecies(ewram1C000.pokemon, 0, 0);
+ if (evolutionSpecies != 0)
+ {
+ gCB2_AfterEvolution = sub_80A53F8;
+ BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.unk5);
+ DestroyTask(taskId);
+ }
+ else
+ {
+ sub_8070D90(taskId);
+ }
+ break;
+ case 0xFFFF:
+ // Mon already knows 4 moves.
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[gMoveToLearn]);
+
+ StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn);
+ sub_806E834(gStringVar4, 1);
+
+ ewram1C000.unk8 = gMoveToLearn;
+ gTasks[taskId].func = sub_806F358;
+ break;
+ case 0xFFFE:
+ // Move was already known by the mon.
+ gTasks[taskId].func = TeachMonMoveInPartyMenu;
+ break;
+ default:
+ // Mon automatically learned a move because it knew less than four moves.
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[learnedMove]);
+
+ StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove);
+ sub_806E834(gStringVar4, 1);
+
+ gTasks[taskId].func = Task_TeamMonTMMove3;
+ break;
+ }
+ }
+ }
+}
+
+void TeachMonMoveInPartyMenu(u8 taskId)
+{
+ u16 learnedMove;
+ u16 evolutionSpecies;
+
+ learnedMove = MonTryLearningNewMove(ewram1C000.pokemon, FALSE);
+ switch (learnedMove)
+ {
+ case 0:
+ // No move is learned.
+ evolutionSpecies = GetEvolutionTargetSpecies(ewram1C000.pokemon, 0, 0);
+ if (evolutionSpecies != 0)
+ {
+ gCB2_AfterEvolution = sub_80A53F8;
+ BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.unk5);
+ DestroyTask(taskId);
+ }
+ else
+ {
+ sub_8070D90(taskId);
+ }
+ break;
+ case 0xFFFF:
+ // Mon already knows 4 moves.
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[gMoveToLearn]);
+
+ StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn);
+ sub_806E834(gStringVar4, 1);
+
+ ewram1C000.unk8 = gMoveToLearn;
+ gTasks[taskId].func = sub_806F358;
+ break;
+ case 0xFFFE:
+ // Move was already known by the mon. Go on the the next move to be learned.
+ TeachMonMoveInPartyMenu(taskId);
+ break;
+ default:
+ // Mon automatically learned a move because it knew less than four moves.
+ GetMonNickname(ewram1C000.pokemon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[learnedMove]);
+
+ StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove);
+ sub_806E834(gStringVar4, 1);
+
+ gTasks[taskId].func = Task_TeamMonTMMove3;
+ break;
+ }
+}
+
+static void sub_8070D90(u8 taskId)
+{
+ gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
+ DestroyTask(taskId);
+}
+
+void DoEvolutionStoneItemEffect(u8 taskId, u16 evolutionStoneItem, TaskFunc c)
+{
+ PlaySE(SE_SELECT);
+
+ gTasks[taskId].func = TaskDummy;
+ sub_806E8D0(taskId, evolutionStoneItem, c);
+
+ gCB2_AfterEvolution = sub_80A53F8;
+
+ if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, evolutionStoneItem, 0))
+ {
+ gUnknown_0202E8F4 = 0;
+ sub_806E834(gOtherText_WontHaveAnyEffect, 1);
+
+ CreateTask(sub_806FB0C, 5);
+ }
+ else
+ {
+ RemoveBagItem(evolutionStoneItem, 1);
+ }
+}
+
+#ifdef NONMATCHING
+u8 GetItemEffectType(u16 item)
+{
+ const u8 *itemEffect;
+ register u8 itemEffect0 asm("r1");
+ u8 mask;
+
+ // Read the item's effect properties.
+ if (item == ITEM_ENIGMA_BERRY)
+ {
+ itemEffect = gSaveBlock1.enigmaBerry.itemEffect;
+ }
+ else
+ {
+ itemEffect = gItemEffectTable[item - ITEM_POTION];
+ }
+
+ itemEffect0 = itemEffect[0];
+ mask = 0x3F;
+
+ if ((itemEffect0 & mask) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & 0x80))
+ {
+ return 0;
+ }
+ else if (itemEffect0 & 0x40)
+ {
+ return 10;
+ }
+ else if (itemEffect[3] & 0x40)
+ {
+ return 1;
+ }
+ else if ((itemEffect[3] & mask) || (itemEffect0 >> 7))
+ {
+ if ((itemEffect[3] & mask) == 0x20)
+ {
+ return 4;
+ }
+ else if ((itemEffect[3] & mask) == 0x10)
+ {
+ return 3;
+ }
+ else if ((itemEffect[3] & mask) == 0x8)
+ {
+ return 5;
+ }
+ else if ((itemEffect[3] & mask) == 0x4)
+ {
+ return 6;
+ }
+ else if ((itemEffect[3] & mask) == 0x2)
+ {
+ return 7;
+ }
+ else if ((itemEffect[3] & mask) == 0x1)
+ {
+ return 8;
+ }
+ else if ((itemEffect0 >> 7) != 0 && (itemEffect[3] & mask) == 0)
+ {
+ return 9;
+ }
+ else
+ {
+ return 11;
+ }
+ }
+ else if (itemEffect[4] & 0x44)
+ {
+ return 2;
+ }
+ else if (itemEffect[4] & 0x2)
+ {
+ return 12;
+ }
+ else if (itemEffect[4] & 0x1)
+ {
+ return 13;
+ }
+ else if (itemEffect[5] & 0x8)
+ {
+ return 14;
+ }
+ else if (itemEffect[5] & 0x4)
+ {
+ return 15;
+ }
+ else if (itemEffect[5] & 0x2)
+ {
+ return 16;
+ }
+ else if (itemEffect[5] & 0x1)
+ {
+ return 17;
+ }
+ else if (itemEffect[4] & 0x80)
+ {
+ return 18;
+ }
+ else if (itemEffect[4] & 0x20)
+ {
+ return 19;
+ }
+ else if (itemEffect[5] & 0x10)
+ {
+ return 20;
+ }
+ else if (itemEffect[4] & 0x18)
+ {
+ return 21;
+ }
+ else
+ {
+ return 22;
+ }
+}
+#else
+__attribute__((naked))
+u8 GetItemEffectType(u16 item)
+{
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0xAF\n\
+ bne _08070E5C\n\
+ ldr r4, _08070E58 @ =gSaveBlock1 + 0x3676\n\
+ b _08070E66\n\
+ .align 2, 0\n\
+_08070E58: .4byte gSaveBlock1 + 0x3676\n\
+_08070E5C:\n\
+ ldr r1, _08070E8C @ =gItemEffectTable\n\
+ subs r0, 0xD\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r4, [r0]\n\
+_08070E66:\n\
+ ldrb r1, [r4]\n\
+ movs r5, 0x3F\n\
+ adds r0, r5, 0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08070E88\n\
+ ldrb r0, [r4, 0x1]\n\
+ cmp r0, 0\n\
+ bne _08070E88\n\
+ ldrb r0, [r4, 0x2]\n\
+ cmp r0, 0\n\
+ bne _08070E88\n\
+ ldrb r3, [r4, 0x3]\n\
+ movs r0, 0x80\n\
+ ands r0, r3\n\
+ cmp r0, 0\n\
+ beq _08070E90\n\
+_08070E88:\n\
+ movs r0, 0\n\
+ b _08070F8A\n\
+ .align 2, 0\n\
+_08070E8C: .4byte gItemEffectTable\n\
+_08070E90:\n\
+ movs r2, 0x40\n\
+ adds r0, r2, 0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08070E9E\n\
+ movs r0, 0xA\n\
+ b _08070F8A\n\
+_08070E9E:\n\
+ adds r0, r2, 0\n\
+ ands r0, r3\n\
+ cmp r0, 0\n\
+ beq _08070EAA\n\
+ movs r0, 0x1\n\
+ b _08070F8A\n\
+_08070EAA:\n\
+ adds r2, r5, 0\n\
+ ands r2, r3\n\
+ cmp r2, 0\n\
+ bne _08070EB8\n\
+ lsrs r0, r1, 7\n\
+ cmp r0, 0\n\
+ beq _08070EFA\n\
+_08070EB8:\n\
+ cmp r2, 0x20\n\
+ bne _08070EC0\n\
+ movs r0, 0x4\n\
+ b _08070F8A\n\
+_08070EC0:\n\
+ cmp r2, 0x10\n\
+ bne _08070EC8\n\
+ movs r0, 0x3\n\
+ b _08070F8A\n\
+_08070EC8:\n\
+ cmp r2, 0x8\n\
+ bne _08070ED0\n\
+ movs r0, 0x5\n\
+ b _08070F8A\n\
+_08070ED0:\n\
+ cmp r2, 0x4\n\
+ bne _08070ED8\n\
+ movs r0, 0x6\n\
+ b _08070F8A\n\
+_08070ED8:\n\
+ cmp r2, 0x2\n\
+ bne _08070EE0\n\
+ movs r0, 0x7\n\
+ b _08070F8A\n\
+_08070EE0:\n\
+ cmp r2, 0x1\n\
+ bne _08070EE8\n\
+ movs r0, 0x8\n\
+ b _08070F8A\n\
+_08070EE8:\n\
+ lsrs r0, r1, 7\n\
+ cmp r0, 0\n\
+ beq _08070EF6\n\
+ cmp r2, 0\n\
+ bne _08070EF6\n\
+ movs r0, 0x9\n\
+ b _08070F8A\n\
+_08070EF6:\n\
+ movs r0, 0xB\n\
+ b _08070F8A\n\
+_08070EFA:\n\
+ ldrb r1, [r4, 0x4]\n\
+ movs r0, 0x44\n\
+ ands r0, r1\n\
+ adds r2, r1, 0\n\
+ cmp r0, 0\n\
+ beq _08070F0A\n\
+ movs r0, 0x2\n\
+ b _08070F8A\n\
+_08070F0A:\n\
+ movs r5, 0x2\n\
+ adds r0, r5, 0\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _08070F18\n\
+ movs r0, 0xC\n\
+ b _08070F8A\n\
+_08070F18:\n\
+ movs r3, 0x1\n\
+ adds r0, r3, 0\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _08070F26\n\
+ movs r0, 0xD\n\
+ b _08070F8A\n\
+_08070F26:\n\
+ ldrb r1, [r4, 0x5]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08070F34\n\
+ movs r0, 0xE\n\
+ b _08070F8A\n\
+_08070F34:\n\
+ movs r0, 0x4\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08070F40\n\
+ movs r0, 0xF\n\
+ b _08070F8A\n\
+_08070F40:\n\
+ adds r0, r5, 0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08070F4C\n\
+ movs r0, 0x10\n\
+ b _08070F8A\n\
+_08070F4C:\n\
+ adds r0, r3, 0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08070F58\n\
+ movs r0, 0x11\n\
+ b _08070F8A\n\
+_08070F58:\n\
+ movs r0, 0x80\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _08070F64\n\
+ movs r0, 0x12\n\
+ b _08070F8A\n\
+_08070F64:\n\
+ movs r0, 0x20\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _08070F70\n\
+ movs r0, 0x13\n\
+ b _08070F8A\n\
+_08070F70:\n\
+ movs r0, 0x10\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08070F7C\n\
+ movs r0, 0x14\n\
+ b _08070F8A\n\
+_08070F7C:\n\
+ movs r0, 0x18\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _08070F88\n\
+ movs r0, 0x16\n\
+ b _08070F8A\n\
+_08070F88:\n\
+ movs r0, 0x15\n\
+_08070F8A:\n\
+ pop {r4,r5}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void unref_sub_8070F90(void)
+{
+ FlagSet(SYS_POKEDEX_GET);
+ FlagSet(SYS_POKEMON_GET);
+ FlagSet(SYS_POKENAV_GET);
+}
diff --git a/src/player_pc.c b/src/field/player_pc.c
index 83e6dd221..d01829266 100644
--- a/src/player_pc.c
+++ b/src/field/player_pc.c
@@ -32,7 +32,7 @@ extern u8 sub_807D770(void);
extern void sub_808B020(void);
extern void sub_80F944C(void);
-static EWRAM_DATA u8 *gPcItemMenuOptionOrder = NULL;
+static EWRAM_DATA const u8 *gPcItemMenuOptionOrder = NULL;
static u8 gPcItemMenuOptionsNum;
@@ -211,14 +211,14 @@ void NewGameInitPCItems(void)
void BedroomPC(void)
{
- gPcItemMenuOptionOrder = (u8 *)gBedroomPC_OptionOrder;
+ gPcItemMenuOptionOrder = gBedroomPC_OptionOrder;
gPcItemMenuOptionsNum = 4;
DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
}
void PlayerPC(void)
{
- gPcItemMenuOptionOrder = (u8 *)gPlayerPC_OptionOrder;
+ gPcItemMenuOptionOrder = gPlayerPC_OptionOrder;
gPcItemMenuOptionsNum = 3;
DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
}
@@ -1064,7 +1064,7 @@ static void Mailbox_DrawMailList(u8 taskId) // taskId is unused
if(i != mailbox->count)
{
- StringCopy(gStringVar1, (u8 *)gSaveBlock1.mail[i + 6].playerName);
+ StringCopy(gStringVar1, gSaveBlock1.mail[i + 6].playerName);
SanitizeNameString(gStringVar1);
MenuPrint(gStringVar1, 0x15, yCoord + 2);
}
diff --git a/src/pokeblock.c b/src/field/pokeblock.c
index d69c41639..2ee1a23ae 100644
--- a/src/pokeblock.c
+++ b/src/field/pokeblock.c
@@ -1,5 +1,5 @@
//
-// Created by scott on 6/27/2017.
+
//
#include "global.h"
@@ -374,11 +374,11 @@ static bool8 sub_810B998(void)
switch (ewram[0x1ffff])
{
case 0:
- LZDecompressVram(gMenuPokeblock_Gfx, (u8 *)BG_CHAR_ADDR(2));
+ LZDecompressVram(gMenuPokeblock_Gfx, BG_CHAR_ADDR(2));
ewram[0x1ffff]++;
break;
case 1:
- sub_800D238(gMenuPokeblock_Tilemap, gBGTilemapBuffers[2]);
+ LZDecompressWram(gMenuPokeblock_Tilemap, gBGTilemapBuffers[2]);
ewram[0x1ffff]++;
break;
case 2:
diff --git a/src/pokenav.c b/src/field/pokenav.c
index 84ed7b14b..21d7bb4e3 100644
--- a/src/pokenav.c
+++ b/src/field/pokenav.c
@@ -38,3 +38,5 @@ void sub_80F700C(u8 *arg0, u16 arg1) {
ptr[2] = 0x80;
ptr[3] = 0xFF;
}
+
+IWRAM_DATA MainCallback gUnknown_03000744;
diff --git a/src/region_map.c b/src/field/region_map.c
index 900c9ad71..bfd2729c2 100644
--- a/src/region_map.c
+++ b/src/field/region_map.c
@@ -140,12 +140,12 @@ static const u16 sRegionMapBkgnd_Pal[] = INCBIN_U16("graphics/pokenav/region_map
static const u8 sRegionMapBkgnd_ImageLZ[] = INCBIN_U8("graphics/pokenav/region_map.8bpp.lz");
static const u8 sRegionMapBkgnd_TilemapLZ[] = INCBIN_U8("graphics/pokenav/region_map_map.bin.lz");
-#include "data/region_map_layout.h"
+#include "../data/region_map_layout.h"
#if ENGLISH
-#include "data/region_map_names_en.h"
+#include "../data/region_map_names_en.h"
#elif GERMAN
-#include "data/region_map_names_de.h"
+#include "../data/region_map_names_de.h"
#endif
struct RegionMapLocation
diff --git a/src/roamer.c b/src/field/roamer.c
index 948828d5e..c45c87601 100644
--- a/src/roamer.c
+++ b/src/field/roamer.c
@@ -173,13 +173,13 @@ void CreateRoamerMonInstance(void)
struct Pokemon *mon = &gEnemyParty[0];
struct Roamer *roamer = &gSaveBlock1.roamer;
CreateMonWithIVsPersonality(mon, roamer->species, roamer->level, roamer->ivs, roamer->personality);
- SetMonData(mon, MON_DATA_STATUS, (u8 *)&roamer->status);
- SetMonData(mon, MON_DATA_HP, (u8 *)&roamer->hp);
- SetMonData(mon, MON_DATA_COOL, (u8 *)&roamer->cool);
- SetMonData(mon, MON_DATA_BEAUTY, (u8 *)&roamer->beauty);
- SetMonData(mon, MON_DATA_CUTE, (u8 *)&roamer->cute);
- SetMonData(mon, MON_DATA_SMART, (u8 *)&roamer->smart);
- SetMonData(mon, MON_DATA_TOUGH, (u8 *)&roamer->tough);
+ SetMonData(mon, MON_DATA_STATUS, &roamer->status);
+ SetMonData(mon, MON_DATA_HP, &roamer->hp);
+ SetMonData(mon, MON_DATA_COOL, &roamer->cool);
+ SetMonData(mon, MON_DATA_BEAUTY, &roamer->beauty);
+ SetMonData(mon, MON_DATA_CUTE, &roamer->cute);
+ SetMonData(mon, MON_DATA_SMART, &roamer->smart);
+ SetMonData(mon, MON_DATA_TOUGH, &roamer->tough);
}
bool8 TryStartRoamerEncounter(void)
diff --git a/src/rotating_gate.c b/src/field/rotating_gate.c
index e8ab7e1bf..e8ab7e1bf 100644
--- a/src/rotating_gate.c
+++ b/src/field/rotating_gate.c
diff --git a/src/safari_zone.c b/src/field/safari_zone.c
index 14fd1ddc4..14fd1ddc4 100644
--- a/src/safari_zone.c
+++ b/src/field/safari_zone.c
diff --git a/src/scrcmd.c b/src/field/scrcmd.c
index 31a90158a..28584d4d0 100644
--- a/src/scrcmd.c
+++ b/src/field/scrcmd.c
@@ -91,12 +91,12 @@ static u8 * const sScriptStringVars[] =
gStringVar3,
};
-bool8 ScrCmd_snop(struct ScriptContext *ctx)
+bool8 ScrCmd_nop(struct ScriptContext *ctx)
{
return FALSE;
}
-bool8 ScrCmd_snop1(struct ScriptContext *ctx)
+bool8 ScrCmd_nop1(struct ScriptContext *ctx)
{
return FALSE;
}
@@ -107,9 +107,10 @@ bool8 ScrCmd_end(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_jumpasm(struct ScriptContext *ctx)
+bool8 ScrCmd_gotonative(struct ScriptContext *ctx)
{
bool8 (*addr)(void) = (bool8 (*)(void))ScriptReadWord(ctx);
+
SetupNativeScript(ctx, addr);
return TRUE;
}
@@ -117,20 +118,23 @@ bool8 ScrCmd_jumpasm(struct ScriptContext *ctx)
bool8 ScrCmd_special(struct ScriptContext *ctx)
{
u16 index = ScriptReadHalfword(ctx);
+
gSpecials[index]();
return FALSE;
}
-bool8 ScrCmd_specialval(struct ScriptContext *ctx)
+bool8 ScrCmd_specialvar(struct ScriptContext *ctx)
{
u16 *var = GetVarPointer(ScriptReadHalfword(ctx));
+
*var = gSpecials[ScriptReadHalfword(ctx)]();
return FALSE;
}
-bool8 ScrCmd_callasm(struct ScriptContext *ctx)
+bool8 ScrCmd_callnative(struct ScriptContext *ctx)
{
NativeFunc func = (NativeFunc)ScriptReadWord(ctx);
+
func();
return FALSE;
}
@@ -141,9 +145,10 @@ bool8 ScrCmd_waitstate(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_jump(struct ScriptContext *ctx)
+bool8 ScrCmd_goto(struct ScriptContext *ctx)
{
u8 *ptr = (u8 *)ScriptReadWord(ctx);
+
ScriptJump(ctx, ptr);
return FALSE;
}
@@ -156,25 +161,27 @@ bool8 ScrCmd_return(struct ScriptContext *ctx)
bool8 ScrCmd_call(struct ScriptContext *ctx)
{
-
u8 *ptr = (u8 *)ScriptReadWord(ctx);
+
ScriptCall(ctx, ptr);
return FALSE;
}
-bool8 ScrCmd_jumpif(struct ScriptContext *ctx)
+bool8 ScrCmd_goto_if(struct ScriptContext *ctx)
{
u8 condition = ScriptReadByte(ctx);
u8 *ptr = (u8 *)ScriptReadWord(ctx);
+
if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
ScriptJump(ctx, ptr);
return FALSE;
}
-bool8 ScrCmd_callif(struct ScriptContext *ctx)
+bool8 ScrCmd_call_if(struct ScriptContext *ctx)
{
u8 condition = ScriptReadByte(ctx);
u8 *ptr = (u8 *)ScriptReadWord(ctx);
+
if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
ScriptCall(ctx, ptr);
return FALSE;
@@ -184,13 +191,15 @@ bool8 ScrCmd_setvaddress(struct ScriptContext *ctx)
{
u32 addr1 = (u32)ctx->scriptPtr - 1;
u32 addr2 = ScriptReadWord(ctx);
+
gUnknown_0202E8B0 = addr2 - addr1;
return FALSE;
}
-bool8 ScrCmd_vjump(struct ScriptContext *ctx)
+bool8 ScrCmd_vgoto(struct ScriptContext *ctx)
{
u32 addr = ScriptReadWord(ctx);
+
ScriptJump(ctx, (u8 *)(addr - gUnknown_0202E8B0));
return FALSE;
}
@@ -198,32 +207,36 @@ bool8 ScrCmd_vjump(struct ScriptContext *ctx)
bool8 ScrCmd_vcall(struct ScriptContext *ctx)
{
u32 addr = ScriptReadWord(ctx);
+
ScriptCall(ctx, (u8 *)(addr - gUnknown_0202E8B0));
return FALSE;
}
-bool8 ScrCmd_if5(struct ScriptContext *ctx)
+bool8 ScrCmd_vgoto_if(struct ScriptContext *ctx)
{
u8 condition = ScriptReadByte(ctx);
u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gUnknown_0202E8B0);
+
if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
ScriptJump(ctx, ptr);
return FALSE;
}
-bool8 ScrCmd_if6(struct ScriptContext *ctx)
+bool8 ScrCmd_vcall_if(struct ScriptContext *ctx)
{
u8 condition = ScriptReadByte(ctx);
u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gUnknown_0202E8B0);
+
if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
ScriptCall(ctx, ptr);
return FALSE;
}
-bool8 ScrCmd_jumpstd(struct ScriptContext *ctx)
+bool8 ScrCmd_gotostd(struct ScriptContext *ctx)
{
u8 index = ScriptReadByte(ctx);
u8 **ptr = &gStdScripts[index];
+
if (ptr < gStdScripts_End)
ScriptJump(ctx, *ptr);
return FALSE;
@@ -233,15 +246,17 @@ bool8 ScrCmd_callstd(struct ScriptContext *ctx)
{
u8 index = ScriptReadByte(ctx);
u8 **ptr = &gStdScripts[index];
+
if (ptr < gStdScripts_End)
ScriptCall(ctx, *ptr);
return FALSE;
}
-bool8 ScrCmd_jumpstdif(struct ScriptContext *ctx)
+bool8 ScrCmd_gotostd_if(struct ScriptContext *ctx)
{
u8 condition = ScriptReadByte(ctx);
u8 index = ScriptReadByte(ctx);
+
if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
{
u8 **ptr = &gStdScripts[index];
@@ -251,10 +266,11 @@ bool8 ScrCmd_jumpstdif(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_callstdif(struct ScriptContext *ctx)
+bool8 ScrCmd_callstd_if(struct ScriptContext *ctx)
{
u8 condition = ScriptReadByte(ctx);
u8 index = ScriptReadByte(ctx);
+
if (sScriptConditionTable[condition][ctx->comparisonResult] == 1)
{
u8 **ptr = &gStdScripts[index];
@@ -264,50 +280,55 @@ bool8 ScrCmd_callstdif(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_jumpram(struct ScriptContext *ctx)
+bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
{
ScriptJump(ctx, (u8 *)gUnknown_0202E8AC);
return FALSE;
}
-bool8 ScrCmd_die(struct ScriptContext *ctx)
+bool8 ScrCmd_killscript(struct ScriptContext *ctx)
{
ClearRamScript();
StopScript(ctx);
return TRUE;
}
-bool8 ScrCmd_setbyte(struct ScriptContext *ctx)
+bool8 ScrCmd_setmysteryeventstatus(struct ScriptContext *ctx)
{
u8 value = ScriptReadByte(ctx);
+
SetMysteryEventScriptStatus(value);
return FALSE;
}
-bool8 ScrCmd_loadptr(struct ScriptContext *ctx)
+bool8 ScrCmd_loadword(struct ScriptContext *ctx)
{
u8 index = ScriptReadByte(ctx);
+
ctx->data[index] = ScriptReadWord(ctx);
return FALSE;
}
-bool8 ScrCmd_loadbytefrompointer(struct ScriptContext *ctx)
+bool8 ScrCmd_loadbytefromaddr(struct ScriptContext *ctx)
{
u8 index = ScriptReadByte(ctx);
+
ctx->data[index] = *(u8 *)ScriptReadWord(ctx);
return FALSE;
}
-bool8 ScrCmd_writebytetooffset(struct ScriptContext *ctx)
+bool8 ScrCmd_writebytetoaddr(struct ScriptContext *ctx)
{
u8 value = ScriptReadByte(ctx);
+
*(u8 *)ScriptReadWord(ctx) = value;
return FALSE;
}
-bool8 ScrCmd_setbufferbyte(struct ScriptContext *ctx)
+bool8 ScrCmd_loadbyte(struct ScriptContext *ctx)
{
u8 index = ScriptReadByte(ctx);
+
ctx->data[index] = ScriptReadByte(ctx);
return FALSE;
}
@@ -315,14 +336,16 @@ bool8 ScrCmd_setbufferbyte(struct ScriptContext *ctx)
bool8 ScrCmd_setptrbyte(struct ScriptContext *ctx)
{
u8 index = ScriptReadByte(ctx);
+
*(u8 *)ScriptReadWord(ctx) = ctx->data[index];
return FALSE;
}
-bool8 ScrCmd_copybuffers(struct ScriptContext *ctx)
+bool8 ScrCmd_copylocal(struct ScriptContext *ctx)
{
u8 destIndex = ScriptReadByte(ctx);
u8 srcIndex = ScriptReadByte(ctx);
+
ctx->data[destIndex] = ctx->data[srcIndex];
return FALSE;
}
@@ -359,73 +382,81 @@ u8 compare_012(u16 a1, u16 a2)
{
if (a1 < a2)
return 0;
-
if (a1 == a2)
return 1;
-
return 2;
}
-bool8 ScrCmd_comparebuffers(struct ScriptContext *ctx)
+// comparelocaltolocal
+bool8 ScrCmd_compare_local_to_local(struct ScriptContext *ctx)
{
u8 value1 = ctx->data[ScriptReadByte(ctx)];
u8 value2 = ctx->data[ScriptReadByte(ctx)];
+
ctx->comparisonResult = compare_012(value1, value2);
return FALSE;
}
-bool8 ScrCmd_comparebuffertobyte(struct ScriptContext *ctx)
+// comparelocaltoimm
+bool8 ScrCmd_compare_local_to_value(struct ScriptContext *ctx)
{
u8 value1 = ctx->data[ScriptReadByte(ctx)];
u8 value2 = ScriptReadByte(ctx);
+
ctx->comparisonResult = compare_012(value1, value2);
return FALSE;
}
-bool8 ScrCmd_comparebuffertoptrbyte(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_local_to_addr(struct ScriptContext *ctx)
{
u8 value1 = ctx->data[ScriptReadByte(ctx)];
u8 value2 = *(u8 *)ScriptReadWord(ctx);
+
ctx->comparisonResult = compare_012(value1, value2);
return FALSE;
}
-bool8 ScrCmd_compareptrbytetobuffer(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_addr_to_local(struct ScriptContext *ctx)
{
u8 value1 = *(u8 *)ScriptReadWord(ctx);
u8 value2 = ctx->data[ScriptReadByte(ctx)];
+
ctx->comparisonResult = compare_012(value1, value2);
return FALSE;
}
-bool8 ScrCmd_compareptrbytetobyte(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_addr_to_value(struct ScriptContext *ctx)
{
u8 value1 = *(u8 *)ScriptReadWord(ctx);
u8 value2 = ScriptReadByte(ctx);
+
ctx->comparisonResult = compare_012(value1, value2);
return FALSE;
}
-bool8 ScrCmd_compareptrbytes(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_addr_to_addr(struct ScriptContext *ctx)
{
u8 value1 = *(u8 *)ScriptReadWord(ctx);
u8 value2 = *(u8 *)ScriptReadWord(ctx);
+
ctx->comparisonResult = compare_012(value1, value2);
return FALSE;
}
-bool8 ScrCmd_compare(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_var_to_value(struct ScriptContext *ctx)
{
u16 value1 = *GetVarPointer(ScriptReadHalfword(ctx));
u16 value2 = ScriptReadHalfword(ctx);
+
ctx->comparisonResult = compare_012(value1, value2);
return FALSE;
}
-bool8 ScrCmd_comparevars(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_var_to_var(struct ScriptContext *ctx)
{
u16 *ptr1 = GetVarPointer(ScriptReadHalfword(ctx));
u16 *ptr2 = GetVarPointer(ScriptReadHalfword(ctx));
+
ctx->comparisonResult = compare_012(*ptr1, *ptr2);
return FALSE;
}
@@ -447,6 +478,7 @@ bool8 ScrCmd_subvar(struct ScriptContext *ctx)
bool8 ScrCmd_random(struct ScriptContext *ctx)
{
u16 max = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = Random() % max;
return FALSE;
}
@@ -455,6 +487,7 @@ bool8 ScrCmd_additem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = AddBagItem(itemId, (u8)quantity);
return FALSE;
}
@@ -463,6 +496,7 @@ bool8 ScrCmd_removeitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = RemoveBagItem(itemId, (u8)quantity);
return FALSE;
}
@@ -471,6 +505,7 @@ bool8 ScrCmd_checkitemspace(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = CheckBagHasSpace(itemId, (u8)quantity);
return FALSE;
}
@@ -479,6 +514,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = CheckBagHasItem(itemId, (u8)quantity);
return FALSE;
}
@@ -486,6 +522,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext *ctx)
bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = GetPocketByItemId(itemId);
return FALSE;
}
@@ -494,6 +531,7 @@ bool8 ScrCmd_addpcitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u16 quantity = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = AddPCItem(itemId, quantity);
return FALSE;
}
@@ -502,6 +540,7 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u16 quantity = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = CheckPCHasItem(itemId, quantity);
return FALSE;
}
@@ -509,6 +548,7 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx)
bool8 ScrCmd_adddecor(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = IsThereStorageSpaceForDecoration(decorId);
return FALSE;
}
@@ -516,6 +556,7 @@ bool8 ScrCmd_adddecor(struct ScriptContext *ctx)
bool8 ScrCmd_removedecor(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = sub_81340A8(decorId);
return FALSE;
}
@@ -523,13 +564,15 @@ bool8 ScrCmd_removedecor(struct ScriptContext *ctx)
bool8 ScrCmd_checkdecor(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = sub_8134074(decorId);
return FALSE;
}
-bool8 ScrCmd_testdecor(struct ScriptContext *ctx)
+bool8 ScrCmd_hasdecor(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = sub_8133FE4(decorId);
return FALSE;
}
@@ -552,22 +595,23 @@ bool8 ScrCmd_checkflag(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_inccounter(struct ScriptContext *ctx)
+bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx)
{
IncrementGameStat(ScriptReadByte(ctx));
return FALSE;
}
-bool8 ScrCmd_lighten(struct ScriptContext *ctx)
+bool8 ScrCmd_animdarklevel(struct ScriptContext *ctx)
{
sub_8081594(ScriptReadByte(ctx));
ScriptContext1_Stop();
return TRUE;
}
-bool8 ScrCmd_darken(struct ScriptContext *ctx)
+bool8 ScrCmd_setdarklevel(struct ScriptContext *ctx)
{
u16 flashLevel = VarGet(ScriptReadHalfword(ctx));
+
Overworld_SetFlashLevel(flashLevel);
return FALSE;
}
@@ -591,6 +635,7 @@ bool8 ScrCmd_fadescreendelay(struct ScriptContext *ctx)
{
u8 duration = ScriptReadByte(ctx);
u8 delay = ScriptReadByte(ctx);
+
fade_screen(duration, delay);
SetupNativeScript(ctx, IsPaletteNotActive);
return TRUE;
@@ -606,28 +651,29 @@ bool8 s28_pause_asm()
return FALSE;
}
-bool8 ScrCmd_pause(struct ScriptContext *ctx)
+bool8 ScrCmd_delay(struct ScriptContext *ctx)
{
sPauseCounter = ScriptReadHalfword(ctx);
SetupNativeScript(ctx, s28_pause_asm);
return TRUE;
}
-bool8 ScrCmd_compareflags(struct ScriptContext *ctx)
+bool8 ScrCmd_initclock(struct ScriptContext *ctx)
{
u8 hour = VarGet(ScriptReadHalfword(ctx));
u8 minute = VarGet(ScriptReadHalfword(ctx));
+
RtcInitLocalTimeOffset(hour, minute);
return FALSE;
}
-bool8 ScrCmd_checkdailyflags(struct ScriptContext *ctx)
+bool8 ScrCmd_dodailyevents(struct ScriptContext *ctx)
{
DoTimeBasedEvents();
return FALSE;
}
-bool8 ScrCmd_resetvars(struct ScriptContext *ctx)
+bool8 ScrCmd_gettime(struct ScriptContext *ctx)
{
RtcCalcLocalTime();
gSpecialVar_0x8000 = gLocalTime.hours;
@@ -638,8 +684,9 @@ bool8 ScrCmd_resetvars(struct ScriptContext *ctx)
bool8 ScrCmd_setweather(struct ScriptContext *ctx)
{
- u16 value = VarGet(ScriptReadHalfword(ctx));
- SetSav1Weather(value);
+ u16 weather = VarGet(ScriptReadHalfword(ctx));
+
+ SetSav1Weather(weather);
return FALSE;
}
@@ -661,47 +708,51 @@ bool8 ScrCmd_tileeffect(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_setmapfooter(struct ScriptContext *ctx)
+bool8 ScrCmd_setmaplayoutindex(struct ScriptContext *ctx)
{
u16 value = VarGet(ScriptReadHalfword(ctx));
+
sub_8053D14(value);
return FALSE;
}
bool8 ScrCmd_warp(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- warp1_set(v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
sub_8080E88();
player_avatar_init_params_reset();
return TRUE;
}
-bool8 ScrCmd_warpmuted(struct ScriptContext *ctx)
+bool8 ScrCmd_warpsilent(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- warp1_set(v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
sp13E_warp_to_last_warp();
player_avatar_init_params_reset();
return TRUE;
}
-bool8 ScrCmd_warpwalk(struct ScriptContext *ctx)
+bool8 ScrCmd_warpdoor(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- warp1_set(v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
sub_8080EF0();
player_avatar_init_params_reset();
return TRUE;
@@ -709,18 +760,16 @@ bool8 ScrCmd_warpwalk(struct ScriptContext *ctx)
bool8 ScrCmd_warphole(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
u16 x;
u16 y;
PlayerGetDestCoords(&x, &y);
-
- if (v1 == 0xFF && v2 == 0xFF)
+ if (mapGroup == 0xFF && mapNum == 0xFF)
sub_8053720(x - 7, y - 7);
else
- warp1_set(v1, v2, -1, x - 7, y - 7);
-
+ Overworld_SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7);
sp13F_fall_to_last_warp();
player_avatar_init_params_reset();
return TRUE;
@@ -728,78 +777,85 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx)
bool8 ScrCmd_warpteleport(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- warp1_set(v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
sub_8080F68();
player_avatar_init_params_reset();
return TRUE;
}
-bool8 ScrCmd_warp3(struct ScriptContext *ctx)
+bool8 ScrCmd_setwarp(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- warp1_set(v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
return FALSE;
}
-bool8 ScrCmd_warpplace(struct ScriptContext *ctx)
+bool8 ScrCmd_setdynamicwarp(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- saved_warp2_set_2(0, v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ saved_warp2_set_2(0, mapGroup, mapNum, warpId, x, y);
return FALSE;
}
-bool8 ScrCmd_warp4(struct ScriptContext *ctx)
+bool8 ScrCmd_setdivewarp(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- sub_8053690(v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ sub_8053690(mapGroup, mapNum, warpId, x, y);
return FALSE;
}
-bool8 ScrCmd_warp5(struct ScriptContext *ctx)
+bool8 ScrCmd_setholewarp(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- sub_80536E4(v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ sub_80536E4(mapGroup, mapNum, warpId, x, y);
return FALSE;
}
-bool8 ScrCmd_warp6(struct ScriptContext *ctx)
+bool8 ScrCmd_setescapewarp(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u16 v4 = VarGet(ScriptReadHalfword(ctx));
- s8 v5 = VarGet(ScriptReadHalfword(ctx));
- sub_805363C(v1, v2, v3, v4, v5);
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 warpId = ScriptReadByte(ctx);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ sub_805363C(mapGroup, mapNum, warpId, x, y);
return FALSE;
}
bool8 ScrCmd_getplayerxy(struct ScriptContext *ctx)
{
- u16 *ptr1 = GetVarPointer(ScriptReadHalfword(ctx));
- u16 *ptr2 = GetVarPointer(ScriptReadHalfword(ctx));
- *ptr1 = gSaveBlock1.pos.x;
- *ptr2 = gSaveBlock1.pos.y;
+ u16 *pX = GetVarPointer(ScriptReadHalfword(ctx));
+ u16 *pY = GetVarPointer(ScriptReadHalfword(ctx));
+
+ *pX = gSaveBlock1.pos.x;
+ *pY = gSaveBlock1.pos.y;
return FALSE;
}
@@ -809,7 +865,7 @@ bool8 ScrCmd_countpokemon(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_playsfx(struct ScriptContext *ctx)
+bool8 ScrCmd_playse(struct ScriptContext *ctx)
{
PlaySE(ScriptReadHalfword(ctx));
return FALSE;
@@ -823,13 +879,13 @@ static bool8 WaitForSoundEffectFinish()
return FALSE;
}
-bool8 ScrCmd_checksound(struct ScriptContext *ctx)
+bool8 ScrCmd_waitse(struct ScriptContext *ctx)
{
SetupNativeScript(ctx, WaitForSoundEffectFinish);
return TRUE;
}
-bool8 ScrCmd_fanfare(struct ScriptContext *ctx)
+bool8 ScrCmd_playfanfare(struct ScriptContext *ctx)
{
PlayFanfare(ScriptReadHalfword(ctx));
return FALSE;
@@ -846,37 +902,39 @@ bool8 ScrCmd_waitfanfare(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_playmusic(struct ScriptContext *ctx)
+bool8 ScrCmd_playbgm(struct ScriptContext *ctx)
{
u16 songId = ScriptReadHalfword(ctx);
bool8 val = ScriptReadByte(ctx);
+
if (val == TRUE)
- sav1_set_battle_music_maybe(songId);
+ Overworld_SetSavedMusic(songId);
PlayNewMapMusic(songId);
return FALSE;
}
-bool8 ScrCmd_playmusicbattle(struct ScriptContext *ctx)
+bool8 ScrCmd_savebgm(struct ScriptContext *ctx)
{
- sav1_set_battle_music_maybe(ScriptReadHalfword(ctx));
+ Overworld_SetSavedMusic(ScriptReadHalfword(ctx));
return FALSE;
}
-bool8 ScrCmd_fadedefault(struct ScriptContext *ctx)
+bool8 ScrCmd_fadedefaultbgm(struct ScriptContext *ctx)
{
- sub_8053F84();
+ Overworld_ChangeMusicToDefault();
return FALSE;
}
-bool8 ScrCmd_fademusic(struct ScriptContext *ctx)
+bool8 ScrCmd_fadenewbgm(struct ScriptContext *ctx)
{
Overworld_ChangeMusicTo(ScriptReadHalfword(ctx));
return FALSE;
}
-bool8 ScrCmd_fadeout(struct ScriptContext *ctx)
+bool8 ScrCmd_fadeoutbgm(struct ScriptContext *ctx)
{
u8 speed = ScriptReadByte(ctx);
+
if (speed != 0)
FadeOutBGMTemporarily(4 * speed);
else
@@ -885,9 +943,10 @@ bool8 ScrCmd_fadeout(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_fadein(struct ScriptContext *ctx)
+bool8 ScrCmd_fadeinbgm(struct ScriptContext *ctx)
{
u8 speed = ScriptReadByte(ctx);
+
if (speed != 0)
FadeInBGM(4 * speed);
else
@@ -895,7 +954,7 @@ bool8 ScrCmd_fadein(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_move(struct ScriptContext *ctx)
+bool8 ScrCmd_applymovement(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
void *movementScript = (void *)ScriptReadWord(ctx);
@@ -905,7 +964,7 @@ bool8 ScrCmd_move(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_movecoords(struct ScriptContext *ctx)
+bool8 ScrCmd_applymovement_at(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
void *movementScript = (void *)ScriptReadWord(ctx);
@@ -922,7 +981,7 @@ static bool8 WaitForMovementFinish(void)
return ScriptMovement_IsObjectMovementFinished(sMovingNpcId, sMovingNpcMapId, sMovingNpcMapBank);
}
-bool8 ScrCmd_waitmove(struct ScriptContext *ctx)
+bool8 ScrCmd_waitmovement(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
@@ -934,7 +993,7 @@ bool8 ScrCmd_waitmove(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_waitmovexy(struct ScriptContext *ctx)
+bool8 ScrCmd_waitmovement_at(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapBank;
@@ -950,97 +1009,108 @@ bool8 ScrCmd_waitmovexy(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_disappear(struct ScriptContext *ctx)
+bool8 ScrCmd_removeobject(struct ScriptContext *ctx)
{
- u16 objectId = VarGet(ScriptReadHalfword(ctx));
- RemoveFieldObjectByLocalIdAndMap(objectId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+
+ RemoveFieldObjectByLocalIdAndMap(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
return FALSE;
}
-bool8 ScrCmd_disappearxy(struct ScriptContext *ctx)
+bool8 ScrCmd_removeobject_at(struct ScriptContext *ctx)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
+
RemoveFieldObjectByLocalIdAndMap(objectId, mapNum, mapGroup);
return FALSE;
}
-bool8 ScrCmd_reappear(struct ScriptContext *ctx)
+bool8 ScrCmd_addobject(struct ScriptContext *ctx)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
+
show_sprite(objectId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
return FALSE;
}
-bool8 ScrCmd_reappearxy(struct ScriptContext *ctx)
+bool8 ScrCmd_addobject_at(struct ScriptContext *ctx)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
+
show_sprite(objectId, mapNum, mapGroup);
return FALSE;
}
-bool8 ScrCmd_movesprite(struct ScriptContext *ctx)
+bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- u16 v2 = VarGet(ScriptReadHalfword(ctx));
- u32 v3 = VarGet(ScriptReadHalfword(ctx));
- sub_805C0F8(v1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, v2, v3);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ sub_805C0F8(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y);
return FALSE;
}
-bool8 ScrCmd_movespriteperm(struct ScriptContext *ctx)
+bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- u16 v2 = VarGet(ScriptReadHalfword(ctx));
- u32 v3 = VarGet(ScriptReadHalfword(ctx));
- Overworld_SaveMapObjCoords(v1, v2, v3);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u16 y = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetMapObjTemplateCoords(localId, x, y);
return FALSE;
}
-bool8 ScrCmd_moveoffscreen(struct ScriptContext *ctx)
+bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- sub_805C78C(v1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+
+ sub_805C78C(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
return FALSE;
}
-bool8 ScrCmd_spritevisible(struct ScriptContext *ctx)
+bool8 ScrCmd_showobject(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- npc_by_local_id_and_map_set_field_1_bit_x20(v1, v3, v2, 0);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ npc_by_local_id_and_map_set_field_1_bit_x20(localId, mapNum, mapGroup, 0);
return FALSE;
}
-bool8 ScrCmd_spriteinvisible(struct ScriptContext *ctx)
+bool8 ScrCmd_hideobject(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- npc_by_local_id_and_map_set_field_1_bit_x20(v1, v3, v2, 1);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ npc_by_local_id_and_map_set_field_1_bit_x20(localId, mapNum, mapGroup, 1);
return FALSE;
}
-bool8 ScrCmd_spritelevelup(struct ScriptContext *ctx)
+bool8 ScrCmd_setobjectpriority(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- u8 v4 = ScriptReadByte(ctx);
- sub_805BCF0(v1, v3, v2, v4 + 83);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+ u8 priority = ScriptReadByte(ctx);
+
+ sub_805BCF0(localId, mapNum, mapGroup, priority + 83);
return FALSE;
}
-bool8 ScrCmd_restorespritelevel(struct ScriptContext *ctx)
+bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- sub_805BD48(v1, v3, v2);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 mapGroup = ScriptReadByte(ctx);
+ u8 mapNum = ScriptReadByte(ctx);
+
+ sub_805BD48(localId, mapNum, mapGroup);
return FALSE;
}
@@ -1054,39 +1124,43 @@ bool8 ScrCmd_faceplayer(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_spriteface(struct ScriptContext *ctx)
+bool8 ScrCmd_turnobject(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 direction = ScriptReadByte(ctx);
+
FieldObjectTurnByLocalIdAndMap(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, direction);
return FALSE;
}
-bool8 ScrCmd_spritebehave(struct ScriptContext *ctx)
+bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- u8 v2 = ScriptReadByte(ctx);
- Overworld_SaveMapObjMovementType(v1, v2);
+ u16 localId = VarGet(ScriptReadHalfword(ctx));
+ u8 movementType = ScriptReadByte(ctx);
+
+ Overworld_SetMapObjTemplateMovementType(localId, movementType);
return FALSE;
}
-bool8 ScrCmd_createvsprite(struct ScriptContext *ctx)
+bool8 ScrCmd_createvobject(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
+ u8 graphicsId = ScriptReadByte(ctx);
u8 v2 = ScriptReadByte(ctx);
- u16 v3 = VarGet(ScriptReadHalfword(ctx));
- u32 v4 = VarGet(ScriptReadHalfword(ctx));
- u8 v5 = ScriptReadByte(ctx);
- u8 v6 = ScriptReadByte(ctx);
- sub_805B410(v1, v2, v3, v4, v5, v6);
+ u16 x = VarGet(ScriptReadHalfword(ctx));
+ u32 y = VarGet(ScriptReadHalfword(ctx));
+ u8 elevation = ScriptReadByte(ctx);
+ u8 direction = ScriptReadByte(ctx);
+
+ sub_805B410(graphicsId, v2, x, y, elevation, direction);
return FALSE;
}
-bool8 ScrCmd_vspriteface(struct ScriptContext *ctx)
+bool8 ScrCmd_turnvobject(struct ScriptContext *ctx)
{
u8 v1 = ScriptReadByte(ctx);
- u8 v2 = ScriptReadByte(ctx);
- sub_8064990(v1, v2);
+ u8 direction = ScriptReadByte(ctx);
+
+ sub_8064990(v1, direction);
return FALSE;
}
@@ -1122,7 +1196,6 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx)
ScriptFreezeMapObjects();
SetupNativeScript(ctx, sub_8064CFC);
}
-
return TRUE;
}
}
@@ -1156,34 +1229,36 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
bool8 ScrCmd_message(struct ScriptContext *ctx)
{
u8 *msg = (u8 *)ScriptReadWord(ctx);
- if (!msg)
+
+ if (msg == NULL)
msg = (u8 *)ctx->data[0];
ShowFieldMessage(msg);
return FALSE;
}
-bool8 ScrCmd_message2(struct ScriptContext *ctx)
+bool8 ScrCmd_messageautoscroll(struct ScriptContext *ctx)
{
u8 *msg = (u8 *)ScriptReadWord(ctx);
- if (!msg)
+
+ if (msg == NULL)
msg = (u8 *)ctx->data[0];
ShowFieldAutoScrollMessage(msg);
return FALSE;
}
-bool8 ScrCmd_waittext(struct ScriptContext *ctx)
+bool8 ScrCmd_waitmessage(struct ScriptContext *ctx)
{
SetupNativeScript(ctx, IsFieldMessageBoxHidden);
return TRUE;
}
-bool8 ScrCmd_closebutton(struct ScriptContext *ctx)
+bool8 ScrCmd_closemessage(struct ScriptContext *ctx)
{
HideFieldMessageBox();
return FALSE;
}
-bool8 WaitForAorBPress(void)
+static bool8 WaitForAorBPress(void)
{
if (gMain.newKeys & A_BUTTON)
return TRUE;
@@ -1202,6 +1277,7 @@ bool8 ScrCmd_yesnobox(struct ScriptContext *ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
+
if (ScriptMenu_YesNo(left, top) == TRUE)
{
ScriptContext1_Stop();
@@ -1219,6 +1295,7 @@ bool8 ScrCmd_multichoice(struct ScriptContext *ctx)
u8 top = ScriptReadByte(ctx);
u8 multichoiceId = ScriptReadByte(ctx);
u8 ignoreBPress = ScriptReadByte(ctx);
+
if (ScriptMenu_Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE)
{
ScriptContext1_Stop();
@@ -1230,13 +1307,14 @@ bool8 ScrCmd_multichoice(struct ScriptContext *ctx)
}
}
-bool8 ScrCmd_multichoicedef(struct ScriptContext *ctx)
+bool8 ScrCmd_multichoicedefault(struct ScriptContext *ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
u8 multichoiceId = ScriptReadByte(ctx);
u8 defaultChoice = ScriptReadByte(ctx);
u8 ignoreBPress = ScriptReadByte(ctx);
+
if (ScriptMenu_MultichoiceWithDefault(left, top, multichoiceId, ignoreBPress, defaultChoice) == TRUE)
{
ScriptContext1_Stop();
@@ -1248,23 +1326,25 @@ bool8 ScrCmd_multichoicedef(struct ScriptContext *ctx)
}
}
-bool8 ScrCmd_showbox(struct ScriptContext *ctx)
+bool8 ScrCmd_drawbox(struct ScriptContext *ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
u8 right = ScriptReadByte(ctx);
u8 bottom = ScriptReadByte(ctx);
+
MenuDrawTextWindow(left, top, right, bottom);
return FALSE;
}
-bool8 ScrCmd_multichoicerow(struct ScriptContext *ctx)
+bool8 ScrCmd_multichoicegrid(struct ScriptContext *ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
u8 multichoiceId = ScriptReadByte(ctx);
u8 numColumns = ScriptReadByte(ctx);
u8 ignoreBPress = ScriptReadByte(ctx);
+
if (ScriptMenu_MultichoiceGrid(left, top, multichoiceId, ignoreBPress, numColumns) == TRUE)
{
ScriptContext1_Stop();
@@ -1276,23 +1356,25 @@ bool8 ScrCmd_multichoicerow(struct ScriptContext *ctx)
}
}
-bool8 ScrCmd_hidebox(struct ScriptContext *ctx)
+bool8 ScrCmd_erasebox(struct ScriptContext *ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
u8 right = ScriptReadByte(ctx);
u8 bottom = ScriptReadByte(ctx);
+
MenuZeroFillWindowRect(left, top, right, bottom);
return FALSE;
}
// unused
-bool8 ScrCmd_clearbox(struct ScriptContext *ctx)
+bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx)
{
u8 left = ScriptReadByte(ctx);
u8 top = ScriptReadByte(ctx);
u8 multichoiceId = ScriptReadByte(ctx);
u8 ignoreBPress = ScriptReadByte(ctx);
+
if (Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE)
{
ScriptContext1_Stop();
@@ -1304,16 +1386,17 @@ bool8 ScrCmd_clearbox(struct ScriptContext *ctx)
}
}
-bool8 ScrCmd_showpokepic(struct ScriptContext *ctx)
+bool8 ScrCmd_drawpokepic(struct ScriptContext *ctx)
{
u16 species = VarGet(ScriptReadHalfword(ctx));
u8 x = ScriptReadByte(ctx);
u8 y = ScriptReadByte(ctx);
+
ScriptMenu_ShowPokemonPic(species, x, y);
return FALSE;
}
-bool8 ScrCmd_hidepokepic(struct ScriptContext *ctx)
+bool8 ScrCmd_erasepokepic(struct ScriptContext *ctx)
{
bool8 (*func)(void) = ScriptMenu_GetPicboxWaitFunc();
@@ -1323,9 +1406,10 @@ bool8 ScrCmd_hidepokepic(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx)
+bool8 ScrCmd_drawcontestwinner(struct ScriptContext *ctx)
{
u8 v1 = ScriptReadByte(ctx);
+
if (v1)
sub_8106630(v1);
ShowContestWinner();
@@ -1333,9 +1417,10 @@ bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_braillemsg(struct ScriptContext *ctx)
+bool8 ScrCmd_braillemessage(struct ScriptContext *ctx)
{
u8 *ptr = (u8 *)ScriptReadWord(ctx);
+
u8 v2 = ptr[0];
u8 v3 = ptr[1];
u8 v4 = ptr[2];
@@ -1348,24 +1433,27 @@ bool8 ScrCmd_braillemsg(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_vtext(struct ScriptContext *ctx)
+bool8 ScrCmd_vmessage(struct ScriptContext *ctx)
{
u32 v1 = ScriptReadWord(ctx);
+
ShowFieldMessage((u8 *)(v1 - gUnknown_0202E8B0));
return FALSE;
}
-bool8 ScrCmd_bufferpoke(struct ScriptContext *ctx)
+bool8 ScrCmd_getspeciesname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 species = VarGet(ScriptReadHalfword(ctx));
+
StringCopy(sScriptStringVars[stringVarIndex], gSpeciesNames[species]);
return FALSE;
}
-bool8 ScrCmd_bufferfirstpoke(struct ScriptContext *ctx)
+bool8 ScrCmd_getfirstpartypokename(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
+
u8 *dest = sScriptStringVars[stringVarIndex];
u8 partyIndex = GetLeadMonIndex();
u32 species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL);
@@ -1373,82 +1461,91 @@ bool8 ScrCmd_bufferfirstpoke(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_bufferpartypoke(struct ScriptContext *ctx)
+bool8 ScrCmd_getpartypokename(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
+
GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, sScriptStringVars[stringVarIndex]);
StringGetEnd10(sScriptStringVars[stringVarIndex]);
return FALSE;
}
-bool8 ScrCmd_bufferitem(struct ScriptContext *ctx)
+bool8 ScrCmd_getitemname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 itemId = VarGet(ScriptReadHalfword(ctx));
+
CopyItemName(itemId, sScriptStringVars[stringVarIndex]);
return FALSE;
}
-bool8 ScrCmd_bufferdecor(struct ScriptContext *ctx)
+bool8 ScrCmd_getdecorname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 decorId = VarGet(ScriptReadHalfword(ctx));
+
StringCopy(sScriptStringVars[stringVarIndex], gDecorations[decorId].name);
return FALSE;
}
-bool8 ScrCmd_bufferattack(struct ScriptContext *ctx)
+bool8 ScrCmd_getmovename(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 moveId = VarGet(ScriptReadHalfword(ctx));
+
StringCopy(sScriptStringVars[stringVarIndex], gMoveNames[moveId]);
return FALSE;
}
-bool8 ScrCmd_buffernum(struct ScriptContext *ctx)
+bool8 ScrCmd_getnumberstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 v1 = VarGet(ScriptReadHalfword(ctx));
u8 v2 = sub_80BF0B8(v1);
+
ConvertIntToDecimalStringN(sScriptStringVars[stringVarIndex], v1, 0, v2);
return FALSE;
}
-bool8 ScrCmd_bufferstd(struct ScriptContext *ctx)
+bool8 ScrCmd_getstdstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 index = VarGet(ScriptReadHalfword(ctx));
+
StringCopy(sScriptStringVars[stringVarIndex], gUnknown_083CE048[index]);
return FALSE;
}
-bool8 ScrCmd_buffertext(struct ScriptContext *ctx)
+bool8 ScrCmd_getstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u8 *text = (u8 *)ScriptReadWord(ctx);
+
StringCopy(sScriptStringVars[stringVarIndex], text);
return FALSE;
}
-bool8 ScrCmd_vloadptr(struct ScriptContext *ctx)
+bool8 ScrCmd_vloadword(struct ScriptContext *ctx)
{
u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gUnknown_0202E8B0);
+
StringExpandPlaceholders(gStringVar4, ptr);
return FALSE;
}
-bool8 ScrCmd_vbuffer(struct ScriptContext *ctx)
+bool8 ScrCmd_vgetstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u32 addr = ScriptReadWord(ctx);
+
u8 *src = (u8 *)(addr - gUnknown_0202E8B0);
u8 *dest = sScriptStringVars[stringVarIndex];
StringCopy(dest, src);
return FALSE;
}
-bool8 ScrCmd_givepokemon(struct ScriptContext *ctx)
+bool8 ScrCmd_givepoke(struct ScriptContext *ctx)
{
u16 species = VarGet(ScriptReadHalfword(ctx));
u8 level = ScriptReadByte(ctx);
@@ -1456,6 +1553,7 @@ bool8 ScrCmd_givepokemon(struct ScriptContext *ctx)
u32 unkParam1 = ScriptReadWord(ctx);
u32 unkParam2 = ScriptReadWord(ctx);
u8 unkParam3 = ScriptReadByte(ctx);
+
gScriptResult = ScriptGiveMon(species, level, item, unkParam1, unkParam2, unkParam3);
return FALSE;
}
@@ -1463,6 +1561,7 @@ bool8 ScrCmd_givepokemon(struct ScriptContext *ctx)
bool8 ScrCmd_giveegg(struct ScriptContext *ctx)
{
u16 species = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = ScriptGiveEgg(species);
return FALSE;
}
@@ -1472,14 +1571,16 @@ bool8 ScrCmd_setpokemove(struct ScriptContext *ctx)
u8 partyIndex = ScriptReadByte(ctx);
u8 slot = ScriptReadByte(ctx);
u16 move = ScriptReadHalfword(ctx);
+
ScriptSetMonMoveSlot(partyIndex, move, slot);
return FALSE;
}
-bool8 ScrCmd_checkattack(struct ScriptContext *ctx)
+bool8 ScrCmd_checkpokemove(struct ScriptContext *ctx)
{
u8 i;
u16 moveId = ScriptReadHalfword(ctx);
+
gScriptResult = 6;
for (i = 0; i < 6; i++)
{
@@ -1501,15 +1602,17 @@ bool8 ScrCmd_givemoney(struct ScriptContext *ctx)
{
u32 amount = ScriptReadWord(ctx);
u8 ignore = ScriptReadByte(ctx);
+
if (!ignore)
AddMoney(&gSaveBlock1.money, amount);
return FALSE;
}
-bool8 ScrCmd_paymoney(struct ScriptContext *ctx)
+bool8 ScrCmd_takemoney(struct ScriptContext *ctx)
{
u32 amount = ScriptReadWord(ctx);
u8 ignore = ScriptReadByte(ctx);
+
if (!ignore)
RemoveMoney(&gSaveBlock1.money, amount);
return FALSE;
@@ -1519,60 +1622,67 @@ bool8 ScrCmd_checkmoney(struct ScriptContext *ctx)
{
u32 amount = ScriptReadWord(ctx);
u8 ignore = ScriptReadByte(ctx);
+
if (!ignore)
gScriptResult = IsEnoughMoney(gSaveBlock1.money, amount);
return FALSE;
}
-bool8 ScrCmd_showmoney(struct ScriptContext *ctx)
+bool8 ScrCmd_showmoneybox(struct ScriptContext *ctx)
{
u8 x = ScriptReadByte(ctx);
u8 y = ScriptReadByte(ctx);
u8 ignore = ScriptReadByte(ctx);
+
if (!ignore)
OpenMoneyWindow(gSaveBlock1.money, x, y);
return FALSE;
}
-bool8 ScrCmd_hidemoney(struct ScriptContext *ctx)
+bool8 ScrCmd_hidemoneybox(struct ScriptContext *ctx)
{
u8 x = ScriptReadByte(ctx);
u8 y = ScriptReadByte(ctx);
+
CloseMoneyWindow(x, y);
return FALSE;
}
-bool8 ScrCmd_updatemoney(struct ScriptContext *ctx)
+bool8 ScrCmd_updatemoneybox(struct ScriptContext *ctx)
{
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
u8 ignore = ScriptReadByte(ctx);
+
if (!ignore)
- UpdateMoneyWindow(gSaveBlock1.money, v2, v3);
+ UpdateMoneyWindow(gSaveBlock1.money, x, y);
return FALSE;
}
-bool8 ScrCmd_showcoins(struct ScriptContext *ctx)
+bool8 ScrCmd_showcoinsbox(struct ScriptContext *ctx)
{
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- ShowCoinsWindow(gSaveBlock1.coins, v2, v3);
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+
+ ShowCoinsWindow(gSaveBlock1.coins, x, y);
return FALSE;
}
-bool8 ScrCmd_hidecoins(struct ScriptContext *ctx)
+bool8 ScrCmd_hidecoinsbox(struct ScriptContext *ctx)
{
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- HideCoinsWindow(v2, v3);
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+
+ HideCoinsWindow(x, y);
return FALSE;
}
-bool8 ScrCmd_updatecoins(struct ScriptContext *ctx)
+bool8 ScrCmd_updatecoinsbox(struct ScriptContext *ctx)
{
- u8 v2 = ScriptReadByte(ctx);
- u8 v3 = ScriptReadByte(ctx);
- UpdateCoinsWindow(gSaveBlock1.coins, v2, v3);
+ u8 x = ScriptReadByte(ctx);
+ u8 y = ScriptReadByte(ctx);
+
+ UpdateCoinsWindow(gSaveBlock1.coins, x, y);
return FALSE;
}
@@ -1582,19 +1692,19 @@ bool8 ScrCmd_trainerbattle(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_reptrainerbattle(struct ScriptContext *ctx)
+bool8 ScrCmd_battlebegin(struct ScriptContext *ctx)
{
BattleSetup_StartTrainerBattle();
return TRUE;
}
-bool8 ScrCmd_endtrainerbattle(struct ScriptContext *ctx)
+bool8 ScrCmd_ontrainerbattleend(struct ScriptContext *ctx)
{
ctx->scriptPtr = BattleSetup_GetScriptAddrAfterBattle();
return FALSE;
}
-bool8 ScrCmd_endtrainerbattle2(struct ScriptContext *ctx)
+bool8 ScrCmd_ontrainerbattleendgoto(struct ScriptContext *ctx)
{
ctx->scriptPtr = BattleSetup_GetTrainerPostBattleScript();
return FALSE;
@@ -1603,20 +1713,23 @@ bool8 ScrCmd_endtrainerbattle2(struct ScriptContext *ctx)
bool8 ScrCmd_checktrainerflag(struct ScriptContext *ctx)
{
u16 index = VarGet(ScriptReadHalfword(ctx));
+
ctx->comparisonResult = HasTrainerAlreadyBeenFought(index);
return FALSE;
}
-bool8 ScrCmd_cleartrainerflag(struct ScriptContext *ctx)
+bool8 ScrCmd_settrainerflag(struct ScriptContext *ctx)
{
u16 index = VarGet(ScriptReadHalfword(ctx));
+
trainer_flag_set(index);
return FALSE;
}
-bool8 ScrCmd_settrainerflag(struct ScriptContext *ctx)
+bool8 ScrCmd_cleartrainerflag(struct ScriptContext *ctx)
{
u16 index = VarGet(ScriptReadHalfword(ctx));
+
trainer_flag_clear(index);
return FALSE;
}
@@ -1626,6 +1739,7 @@ bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx)
u16 species = ScriptReadHalfword(ctx);
u8 level = ScriptReadByte(ctx);
u16 item = ScriptReadHalfword(ctx);
+
CreateScriptedWildMon(species, level, item);
return FALSE;
}
@@ -1640,6 +1754,7 @@ bool8 ScrCmd_dowildbattle(struct ScriptContext *ctx)
bool8 ScrCmd_pokemart(struct ScriptContext *ctx)
{
void *ptr = (void *)ScriptReadWord(ctx);
+
CreatePokemartMenu(ptr);
ScriptContext1_Stop();
return TRUE;
@@ -1648,6 +1763,7 @@ bool8 ScrCmd_pokemart(struct ScriptContext *ctx)
bool8 ScrCmd_pokemartdecor(struct ScriptContext *ctx)
{
void *ptr = (void *)ScriptReadWord(ctx);
+
CreateDecorationShop1Menu(ptr);
ScriptContext1_Stop();
return TRUE;
@@ -1656,24 +1772,27 @@ bool8 ScrCmd_pokemartdecor(struct ScriptContext *ctx)
bool8 ScrCmd_pokemartbp(struct ScriptContext *ctx)
{
void *ptr = (void *)ScriptReadWord(ctx);
+
CreateDecorationShop2Menu(ptr);
ScriptContext1_Stop();
return TRUE;
}
-bool8 ScrCmd_pokecasino(struct ScriptContext *ctx)
+bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx)
{
u8 v2 = VarGet(ScriptReadHalfword(ctx));
+
PlaySlotMachine(v2, c2_exit_to_overworld_1_continue_scripts_restart_music);
ScriptContext1_Stop();
return TRUE;
}
-bool8 ScrCmd_event_8a(struct ScriptContext *ctx)
+bool8 ScrCmd_plantberrytree(struct ScriptContext *ctx)
{
u8 treeId = ScriptReadByte(ctx);
u8 berry = ScriptReadByte(ctx);
u8 growthStage = ScriptReadByte(ctx);
+
if (berry == 0)
PlantBerryTree(treeId, 0, growthStage, FALSE);
else
@@ -1681,9 +1800,10 @@ bool8 ScrCmd_event_8a(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_event_96(struct ScriptContext *ctx)
+bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx)
{
u16 value = VarGet(ScriptReadHalfword(ctx));
+
gScriptResult = GetPriceReduction(value);
return FALSE;
}
@@ -1716,17 +1836,19 @@ bool8 ScrCmd_contestlinktransfer(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_doanimation(struct ScriptContext *ctx)
+bool8 ScrCmd_dofieldeffect(struct ScriptContext *ctx)
{
u16 effectId = VarGet(ScriptReadHalfword(ctx));
+
sFieldEffectScriptId = effectId;
FieldEffectStart(sFieldEffectScriptId);
return FALSE;
}
-bool8 ScrCmd_setanimation(struct ScriptContext *ctx)
+bool8 ScrCmd_setfieldeffect(struct ScriptContext *ctx)
{
u8 argNum = ScriptReadByte(ctx);
+
gFieldEffectArguments[argNum] = (s16)VarGet(ScriptReadHalfword(ctx));
return FALSE;
}
@@ -1739,7 +1861,7 @@ static bool8 sub_8067B48()
return FALSE;
}
-bool8 ScrCmd_checkanimation(struct ScriptContext *ctx)
+bool8 ScrCmd_waitfieldeffect(struct ScriptContext *ctx)
{
sFieldEffectScriptId = VarGet(ScriptReadHalfword(ctx));
SetupNativeScript(ctx, sub_8067B48);
@@ -1748,21 +1870,23 @@ bool8 ScrCmd_checkanimation(struct ScriptContext *ctx)
bool8 ScrCmd_sethealplace(struct ScriptContext *ctx)
{
- u16 v2 = VarGet(ScriptReadHalfword(ctx));
- sub_8053588(v2);
+ u16 healLocationId = VarGet(ScriptReadHalfword(ctx));
+
+ Overworld_SetHealLocationWarp(healLocationId);
return FALSE;
}
-bool8 ScrCmd_checkgender(struct ScriptContext *ctx)
+bool8 ScrCmd_checkplayergender(struct ScriptContext *ctx)
{
gScriptResult = gSaveBlock2.playerGender;
return FALSE;
}
-bool8 ScrCmd_pokecry(struct ScriptContext *ctx)
+bool8 ScrCmd_playpokecry(struct ScriptContext *ctx)
{
u16 species = VarGet(ScriptReadHalfword(ctx));
u16 mode = VarGet(ScriptReadHalfword(ctx));
+
PlayCry5(species, mode);
return FALSE;
}
@@ -1779,6 +1903,7 @@ bool8 ScrCmd_setmaptile(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
u16 tileId = VarGet(ScriptReadHalfword(ctx));
u16 v8 = VarGet(ScriptReadHalfword(ctx));
+
x += 7;
y += 7;
if (!v8)
@@ -1788,10 +1913,11 @@ bool8 ScrCmd_setmaptile(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_setdooropened(struct ScriptContext *ctx)
+bool8 ScrCmd_opendoor(struct ScriptContext *ctx)
{
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
+
x += 7;
y += 7;
PlaySE(GetDoorSoundEffect(x, y));
@@ -1799,10 +1925,11 @@ bool8 ScrCmd_setdooropened(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_setdoorclosed(struct ScriptContext *ctx)
+bool8 ScrCmd_closedoor(struct ScriptContext *ctx)
{
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
+
x += 7;
y += 7;
FieldAnimateDoorClose(x, y);
@@ -1817,43 +1944,46 @@ static bool8 IsDoorAnimationStopped()
return FALSE;
}
-bool8 ScrCmd_doorchange(struct ScriptContext *ctx)
+bool8 ScrCmd_waitdooranim(struct ScriptContext *ctx)
{
SetupNativeScript(ctx, IsDoorAnimationStopped);
return TRUE;
}
-bool8 ScrCmd_setdooropened2(struct ScriptContext *ctx)
+bool8 ScrCmd_setdooropen(struct ScriptContext *ctx)
{
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
+
x += 7;
y += 7;
FieldSetDoorOpened(x, y);
return FALSE;
}
-bool8 ScrCmd_setdoorclosed2(struct ScriptContext *ctx)
+bool8 ScrCmd_setdoorclosed(struct ScriptContext *ctx)
{
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
+
x += 7;
y += 7;
FieldSetDoorClosed(x, y);
return FALSE;
}
-bool8 ScrCmd_event_b1(struct ScriptContext *ctx)
+bool8 ScrCmd_addelevmenuitem(struct ScriptContext *ctx)
{
u8 v3 = ScriptReadByte(ctx);
u16 v5 = VarGet(ScriptReadHalfword(ctx));
u16 v7 = VarGet(ScriptReadHalfword(ctx));
u16 v9 = VarGet(ScriptReadHalfword(ctx));
+
ScriptAddElevatorMenuItem(v3, v5, v7, v9);
return FALSE;
}
-bool8 ScrCmd_event_b2(struct ScriptContext *ctx)
+bool8 ScrCmd_showelevmenu(struct ScriptContext *ctx)
{
ScriptShowElevatorMenu();
ScriptContext1_Stop();
@@ -1870,21 +2000,21 @@ bool8 ScrCmd_checkcoins(struct ScriptContext *ctx)
bool8 ScrCmd_givecoins(struct ScriptContext *ctx)
{
u16 coins = VarGet(ScriptReadHalfword(ctx));
+
if (GiveCoins(coins) == TRUE)
gScriptResult = 0;
else
gScriptResult = 1;
-
return FALSE;
}
-bool8 ScrCmd_removecoins(struct ScriptContext *ctx)
+bool8 ScrCmd_takecoins(struct ScriptContext *ctx)
{
u16 coins = VarGet(ScriptReadHalfword(ctx));
+
if (TakeCoins(coins) == TRUE)
gScriptResult = 0;
else
gScriptResult = 1;
-
return FALSE;
}
diff --git a/src/script_menu.c b/src/field/script_menu.c
index e25e74d8c..e25e74d8c 100644
--- a/src/script_menu.c
+++ b/src/field/script_menu.c
diff --git a/src/script_movement.c b/src/field/script_movement.c
index 30e10b451..c7ce55171 100644
--- a/src/script_movement.c
+++ b/src/field/script_movement.c
@@ -5,19 +5,19 @@
#include "task.h"
#include "util.h"
-static EWRAM_DATA u8 *gUnknown_020384F8[16] = {0};
+static EWRAM_DATA const u8 *gUnknown_020384F8[16] = {0};
static void sub_80A2198(u8);
static u8 sub_80A21E0(void);
-static bool8 sub_80A21F4(u8, u8, u8 *);
+static bool8 sub_80A21F4(u8, u8, const u8 *);
static u8 sub_80A2260(u8, u8);
static bool8 sub_80A2370(u8, u8);
-static void sub_80A23C8(u8, u8, u8, u8 *);
+static void sub_80A23C8(u8, u8, u8, const u8 *);
static void UnfreezeObjects(u8);
static void Task_80A244C(u8);
-static void sub_80A2490(u8, u8, u8, u8 *);
+static void sub_80A2490(u8, u8, u8, const u8 *);
-bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, u8 *movementScript)
+bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript)
{
u8 mapObjId;
@@ -70,7 +70,7 @@ static u8 sub_80A21E0(void)
return FindTaskIdByFunc(Task_80A244C);
}
-static bool8 sub_80A21F4(u8 taskId, u8 mapObjId, u8 *movementScript)
+static bool8 sub_80A21F4(u8 taskId, u8 mapObjId, const u8 *movementScript)
{
u8 r4;
@@ -160,17 +160,17 @@ static bool8 sub_80A2370(u8 taskId, u8 b)
return FALSE;
}
-static void npc_obj_offscreen_culling_and_flag_update(u8 a, u8 *movementScript)
+static void npc_obj_offscreen_culling_and_flag_update(u8 a, const u8 *movementScript)
{
gUnknown_020384F8[a] = movementScript;
}
-static u8 *sub_80A23B8(u8 a)
+static const u8 *sub_80A23B8(u8 a)
{
return gUnknown_020384F8[a];
}
-static void sub_80A23C8(u8 taskId, u8 b, u8 mapObjId, u8 *movementScript)
+static void sub_80A23C8(u8 taskId, u8 b, u8 mapObjId, const u8 *movementScript)
{
sub_80A2318(taskId, b);
npc_obj_offscreen_culling_and_flag_update(b, movementScript);
@@ -203,7 +203,7 @@ static void Task_80A244C(u8 taskId)
}
}
-static void sub_80A2490(u8 taskId, u8 b, u8 mapObjId, u8 *d)
+static void sub_80A2490(u8 taskId, u8 b, u8 mapObjId, const u8 *d)
{
u8 var;
diff --git a/src/field/secret_base.c b/src/field/secret_base.c
new file mode 100644
index 000000000..8c1b7c8c1
--- /dev/null
+++ b/src/field/secret_base.c
@@ -0,0 +1,1711 @@
+#include "global.h"
+#include "secret_base.h"
+#include "decoration.h"
+#include "species.h"
+#include "items.h"
+#include "moves.h"
+#include "event_data.h"
+#include "field_camera.h"
+#include "field_effect.h"
+#include "field_fadetransition.h"
+#include "field_player_avatar.h"
+#include "field_specials.h"
+#include "field_weather.h"
+#include "fieldmap.h"
+#include "link.h"
+#include "main.h"
+#include "sound.h"
+#include "songs.h"
+#include "map_constants.h"
+#include "map_name_popup.h"
+#include "menu.h"
+#include "menu_helpers.h"
+#include "metatile_behavior.h"
+#include "palette.h"
+#include "pokemon.h"
+#include "overworld.h"
+#include "script.h"
+#include "sound.h"
+#include "species.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "text.h"
+#include "vars.h"
+
+
+static void sub_80BC7D8(u8 taskId);
+static void sub_80BC824(u8 taskId);
+static u8 sub_80BC948(u8 a);
+static void sub_80BC980(u8 taskId);
+static void sub_80BC9E4(u8 taskId);
+static void sub_80BCA84(u8);
+static void sub_80BCAEC(u8 taskId);
+static void sub_80BCB90(u8);
+static void sub_80BCBC0(u8);
+static void sub_80BCBF8(u8 taskId);
+static void sub_80BCC54(u8 taskId);
+static void Task_SecretBasePC_Registry(u8 taskId);
+
+extern void DoDecorationSoundEffect(s16 metatileId);
+extern void sub_80C6A54(s16 x, s16 y);
+extern void sub_80C68A4(s16 metatileId, s16 x, s16 y);
+extern void DoYellowCave4Sparkle(void);
+
+extern u8 gUnknown_0815F399[];
+extern u8 gUnknown_0815F49A[];
+extern u8 gUnknown_020387DC;
+
+const struct
+{
+ u16 unk_083D1358_0;
+ u16 unk_083D1358_1;
+} gUnknown_083D1358[] = {
+ {0x26, 0x36},
+ {0x27, 0x37},
+ {0x1a0, 0x1a1},
+ {0x1a8, 0x1a9},
+ {0x1b0, 0x1b1},
+ {0x208, 0x210},
+ {0x271, 0x278}
+};
+
+
+const u8 gUnknown_083D1374[] = {
+ MAP_ID_SECRET_BASE_RED_CAVE1, 0, 1, 3,
+ MAP_ID_SECRET_BASE_RED_CAVE2, 0, 5, 9,
+ MAP_ID_SECRET_BASE_RED_CAVE3, 0, 1, 3,
+ MAP_ID_SECRET_BASE_RED_CAVE4, 0, 7, 13,
+ MAP_ID_SECRET_BASE_BROWN_CAVE1, 0, 2, 3,
+ MAP_ID_SECRET_BASE_BROWN_CAVE2, 0, 9, 2,
+ MAP_ID_SECRET_BASE_BROWN_CAVE3, 0, 13, 4,
+ MAP_ID_SECRET_BASE_BROWN_CAVE4, 0, 1, 2,
+ MAP_ID_SECRET_BASE_BLUE_CAVE1, 0, 1, 3,
+ MAP_ID_SECRET_BASE_BLUE_CAVE2, 0, 1, 2,
+ MAP_ID_SECRET_BASE_BLUE_CAVE3, 0, 3, 15,
+ MAP_ID_SECRET_BASE_BLUE_CAVE4, 0, 3, 14,
+ MAP_ID_SECRET_BASE_YELLOW_CAVE1, 0, 9, 3,
+ MAP_ID_SECRET_BASE_YELLOW_CAVE2, 0, 8, 7,
+ MAP_ID_SECRET_BASE_YELLOW_CAVE3, 0, 3, 6,
+ MAP_ID_SECRET_BASE_YELLOW_CAVE4, 0, 5, 9,
+ MAP_ID_SECRET_BASE_TREE1, 0, 2, 3,
+ MAP_ID_SECRET_BASE_TREE2, 0, 5, 6,
+ MAP_ID_SECRET_BASE_TREE3, 0, 15, 3,
+ MAP_ID_SECRET_BASE_TREE4, 0, 4, 10,
+ MAP_ID_SECRET_BASE_SHRUB1, 0, 3, 3,
+ MAP_ID_SECRET_BASE_SHRUB2, 0, 1, 2,
+ MAP_ID_SECRET_BASE_SHRUB3, 0, 7, 8,
+ MAP_ID_SECRET_BASE_SHRUB4, 0, 9, 6
+};
+
+const struct MenuAction2 gUnknown_083D13D4[] = {
+ {SecretBaseText_DelRegist, sub_80BCA84},
+ {gUnknownText_Exit, sub_80BCBF8}
+};
+
+const struct YesNoFuncTable gUnknown_083D13E4 = {
+ sub_80BCB90,
+ sub_80BCBC0
+};
+
+const u8 gUnknown_083D13EC[] = {
+ 0x23,0x24,0xF,0x1F,0x21,0x2F,0xE,0x14,0x20,0x22,0x0,0x0
+};
+
+extern void *gUnknown_0300485C;
+extern u8 gUnknown_081A2E14[];
+extern u8 UnknownString_81A1BB2[];
+extern u8 UnknownString_81A1F67[];
+extern u8 UnknownString_81A2254[];
+extern u8 UnknownString_81A25C3[];
+extern u8 UnknownString_81A2925[];
+extern u8 UnknownString_81A1D74[];
+extern u8 UnknownString_81A20C9[];
+extern u8 UnknownString_81A2439[];
+extern u8 UnknownString_81A2B2A[];
+extern u8 UnknownString_81A2754[];
+
+
+void ClearSecretBase(struct SecretBaseRecord *record)
+{
+ u16 i;
+ u16 j;
+ record->secretBaseId = 0;
+ for (i=0; i<OT_NAME_LENGTH; i++)
+ record->playerName[i] = 0xff;
+ for (i=0; i<4; i++)
+ record->trainerId[i] = 0x00;
+ record->sbr_field_e = 0;
+ record->sbr_field_10 = 0;
+ record->sbr_field_11 = 0;
+ record->sbr_field_1_0 = 0;
+ record->gender = 0;
+ record->sbr_field_1_5 = 0;
+ record->sbr_field_1_6 = 0;
+ for (i=0; i<16; i++) {
+ record->decorations[i] = 0;
+ record->decorationPos[i] = 0;
+ }
+ for (i=0; i<6; i++) {
+ for (j=0; j<4; j++) {
+ record->partyMoves[i * 4 + j] = 0;
+ }
+ record->partyPersonality[i] = 0;
+ record->partyEVs[i] = 0;
+ record->partySpecies[i] = 0;
+ record->partyHeldItems[i] = 0;
+ record->partyLevels[i] = 0;
+ }
+}
+
+void ResetSecretBase(u8 idx)
+{
+ ClearSecretBase(&gSaveBlock1.secretBases[idx]);
+}
+
+void ResetSecretBases(void)
+{
+ u16 i;
+ for (i = 0; i < MAX_SECRET_BASES; i++)
+ ResetSecretBase(i);
+}
+
+void sub_80BB5D0(void)
+{
+ gUnknown_020387DC = gSpecialVar_0x8004;
+}
+
+void sub_80BB5E4(void)
+{
+ u16 i;
+ gScriptResult = 0;
+ for (i = 0; i < MAX_SECRET_BASES; i++) {
+ if (gUnknown_020387DC != gSaveBlock1.secretBases[i].secretBaseId)
+ continue;
+ gScriptResult = 1;
+ VarSet(VAR_0x4054, i);
+ break;
+ }
+}
+
+void sub_80BB63C(void) // 80bb63c
+{
+ if (gSaveBlock1.secretBases[0].secretBaseId)
+ gScriptResult = 1;
+ else
+ gScriptResult = 0;
+}
+
+u8 sub_80BB66C(void) // 80bb66c
+{
+ s16 x, y;
+ s16 v0;
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+ v0 = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF;
+ if (v0 == 0x90 || v0 == 0x91)
+ return 1;
+ else if (v0 == 0x92 || v0 == 0x93)
+ return 2;
+ else if (v0 == 0x9a || v0 == 0x9b)
+ return 3;
+ else if (v0 == 0x94 || v0 == 0x95)
+ return 4;
+ else if (v0 == 0x96 || v0 == 0x97 || v0 == 0x9c || v0 == 0x9d)
+ return 5;
+ else if (v0 == 0x98 || v0 == 0x99)
+ return 6;
+ return 0;
+}
+
+void sub_80BB70C(void) // 80bb70c
+{
+ gSpecialVar_0x8007 = sub_80BB66C();
+}
+
+s16 unref_sub_80BB724(u16 *a0, u8 a1)
+{
+ u16 v2;
+ for (v2=0; v2<0x200; v2++) {
+ if ((a0[v2] & 0xFFF) == a1)
+ return (s16)v2;
+ }
+ return -1;
+}
+
+void sub_80BB764(s16 *arg1, s16 *arg2, u16 arg3)
+{
+ s16 x, y;
+ for (y=0; y<gMapHeader.mapData->height; y++) {
+ for (x=0; x<gMapHeader.mapData->width; x++) {
+ if ((gMapHeader.mapData->map[y * gMapHeader.mapData->width + x] & 0x3ff) == arg3) {
+ *arg1 = x;
+ *arg2 = y;
+ return;
+ }
+ }
+ }
+}
+
+void sub_80BB800(void)
+{
+ s16 x, y;
+ s16 tile_id;
+ u16 idx;
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+ tile_id = MapGridGetMetatileIdAt(x, y);
+ for (idx=0; idx<7; idx++) {
+ if (gUnknown_083D1358[idx].unk_083D1358_0 == tile_id) {
+ MapGridSetMetatileIdAt(x, y, gUnknown_083D1358[idx].unk_083D1358_1 | 0xc00);
+ CurrentMapDrawMetatileAt(x, y);
+ return;
+ }
+ }
+ for (idx=0; idx<7; idx++) {
+ if (gUnknown_083D1358[idx].unk_083D1358_1 == tile_id) {
+ MapGridSetMetatileIdAt(x, y, gUnknown_083D1358[idx].unk_083D1358_0 | 0xc00);
+ CurrentMapDrawMetatileAt(x, y);
+ return;
+ }
+ }
+}
+
+u8 sub_80BB8A8(u8 *arg1)
+{
+ u8 idx;
+ for (idx=0; idx<7; idx++) {
+ if (arg1[idx] == EOS)
+ return idx;
+ }
+ return 7;
+}
+
+void sub_80BB8CC(void)
+{
+ u8 nameLength;
+ u16 idx;
+ gSaveBlock1.secretBases[0].secretBaseId = gUnknown_020387DC;
+ for (idx=0; idx<4; idx++) {
+ gSaveBlock1.secretBases[0].trainerId[idx] = gSaveBlock2.playerTrainerId[idx];
+ }
+ VarSet(VAR_0x4054, 0);
+ nameLength = sub_80BB8A8(gSaveBlock2.playerName);
+ memset(gSaveBlock1.secretBases[0].playerName, 0xFF, OT_NAME_LENGTH);
+ StringCopyN(gSaveBlock1.secretBases[0].playerName, gSaveBlock2.playerName, nameLength);
+ gSaveBlock1.secretBases[0].gender = gSaveBlock2.playerGender;
+ VarSet(VAR_SECRET_BASE_MAP, gMapHeader.regionMapSectionId);
+}
+
+void sub_80BB970(struct MapEvents *events)
+{
+ u16 bgevidx, idx, jdx;
+ s16 tile_id;
+ for (bgevidx=0; bgevidx<events->bgEventCount; bgevidx++) {
+ if (events->bgEvents[bgevidx].kind == 8) {
+ for (jdx=0; jdx<MAX_SECRET_BASES; jdx++) {
+ if (gSaveBlock1.secretBases[jdx].secretBaseId == events->bgEvents[bgevidx].bgUnion.secretBaseId) {
+ tile_id = MapGridGetMetatileIdAt(events->bgEvents[bgevidx].x + 7, events->bgEvents[bgevidx].y + 7);
+ for (idx=0; idx<7; idx++) {
+ if (gUnknown_083D1358[idx].unk_083D1358_0 == tile_id) {
+ MapGridSetMetatileIdAt(events->bgEvents[bgevidx].x + 7, events->bgEvents[bgevidx].y + 7, gUnknown_083D1358[idx].unk_083D1358_1 | 0xc00);
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+ }
+}
+
+void sub_80BBA14(void)
+{
+ s8 idx = 4 * (gUnknown_020387DC / 10);
+ warp1_set_2(MAP_GROUP_SECRET_BASE_RED_CAVE1, gUnknown_083D1374[idx], gUnknown_083D1374[idx + 1]);
+}
+
+void sub_80BBA48(u8 taskid)
+{
+ u16 curbaseid;
+ switch (gTasks[taskid].data[0]) {
+ case 0:
+ gTasks[taskid].data[0] = 1;
+ break;
+ case 1:
+ if (!gPaletteFade.active) {
+ gTasks[taskid].data[0] = 2;
+ }
+ break;
+ case 2:
+ curbaseid = VarGet(VAR_0x4054);
+ if (gSaveBlock1.secretBases[curbaseid].sbr_field_10 < 0xff)
+ gSaveBlock1.secretBases[curbaseid].sbr_field_10++;
+ sub_80BBA14();
+ warp_in();
+ gFieldCallback = sub_8080990;
+ SetMainCallback2(CB2_LoadMap);
+ DestroyTask(taskid);
+ break;
+ }
+}
+
+void sub_80BBAF0(void)
+{
+ CreateTask(sub_80BBA48, 0);
+ fade_screen(1, 0);
+ saved_warp2_set(0, gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1);
+}
+
+bool8 sub_80BBB24(void)
+{
+ if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_0x4097) == 0)
+ return FALSE;
+ return TRUE;
+}
+
+void sub_80BBB50(u8 taskid)
+{
+ FieldObjectTurn(&(gMapObjects[gPlayerAvatar.mapObjectId]), 2);
+ if (sub_807D770() == 1) {
+ EnableBothScriptContexts();
+ DestroyTask(taskid);
+ }
+}
+
+void sub_80BBB90(void)
+{
+ s16 x, y;
+ ScriptContext2_Enable();
+ HideMapNamePopup();
+ sub_80BB764(&x, &y, 0x220);
+ MapGridSetMetatileIdAt(x + 7, y + 7, 0xe20);
+ CurrentMapDrawMetatileAt(x + 7, y + 7);
+ pal_fill_black();
+ CreateTask(sub_80BBB50, 0);
+}
+
+void sub_80BBBEC(u8 taskid)
+{
+ s8 idx;
+ if (!gPaletteFade.active) {
+ idx = 4 * (gUnknown_020387DC / 10);
+ Overworld_SetWarpDestination(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gUnknown_083D1374[idx + 2], gUnknown_083D1374[idx + 3]);
+ warp_in();
+ gFieldCallback = sub_80BBB90;
+ SetMainCallback2(CB2_LoadMap);
+ DestroyTask(taskid);
+ }
+}
+
+void sub_80BBC78(void)
+{
+ u8 taskid = CreateTask(sub_80BBBEC, 0);
+ gTasks[taskid].data[0] = 0;
+ fade_screen(1, 0);
+}
+
+bool8 CurrentMapIsSecretBase(void)
+{
+ if (gSaveBlock1.location.mapGroup == MAP_GROUP_SECRET_BASE_SHRUB4 && (u8)(gSaveBlock1.location.mapNum) <= MAP_ID_SECRET_BASE_SHRUB4)
+ return TRUE;
+ return FALSE;
+}
+
+void sub_80BBCCC(u8 flagIn)
+{
+ u16 curBaseId;
+ u16 x, y;
+ if (CurrentMapIsSecretBase()) {
+ curBaseId = VarGet(VAR_0x4054);
+ for (x=0; x<16; x++) {
+ if (gSaveBlock1.secretBases[curBaseId].decorations[x] > 0 && gSaveBlock1.secretBases[curBaseId].decorations[x] <= 0x78 && gDecorations[gSaveBlock1.secretBases[curBaseId].decorations[x]].permission != DECORPERM_SOLID_MAT) {
+ sub_80FF394((gSaveBlock1.secretBases[curBaseId].decorationPos[x] >> 4) + 7, (gSaveBlock1.secretBases[curBaseId].decorationPos[x] & 0xF) + 7, gSaveBlock1.secretBases[curBaseId].decorations[x]);
+ }
+ }
+ if (curBaseId != 0) {
+ sub_80BB764(&x, &y, 0x220);
+ MapGridSetMetatileIdAt(x + 7, y + 7, 0xe21);
+ } else if (flagIn == 1 && VarGet(VAR_0x4089) == 1) {
+ sub_80BB764(&x, &y, 0x220);
+ MapGridSetMetatileIdAt(x + 7, y + 7, 0xe0a);
+ }
+ }
+}
+
+void sub_80BBDD0(void)
+{
+ u8 *roomdecor;
+ u8 *roomdecorpos;
+ u8 decidx;
+ u8 objid = 0;
+ u8 metatile;
+ u8 permission;
+ u8 ndecor;
+ u16 curBase = VarGet(VAR_0x4054);
+ if (!CurrentMapIsSecretBase()) {
+ roomdecor = gSaveBlock1.playerRoomDecor;
+ roomdecorpos = gSaveBlock1.playerRoomDecorPos;
+ ndecor = 12;
+ } else {
+ roomdecor = gSaveBlock1.secretBases[curBase].decorations;
+ roomdecorpos = gSaveBlock1.secretBases[curBase].decorationPos;
+ ndecor = 16;
+ }
+ for (decidx=0; decidx<ndecor; decidx++) {
+ if (roomdecor[decidx] != DECOR_NONE) {
+ permission = gDecorations[roomdecor[decidx]].permission;
+ if (permission == DECORPERM_SOLID_MAT)
+ {
+ for (objid=0; objid<gMapHeader.events->mapObjectCount; objid++) {
+ if (gMapHeader.events->mapObjects[objid].flagId == gSpecialVar_0x8004 + 0xAE)
+ break;
+ }
+ if (objid == gMapHeader.events->mapObjectCount)
+ continue;
+ gSpecialVar_0x8006 = roomdecorpos[decidx] >> 4;
+ gSpecialVar_0x8007 = roomdecorpos[decidx] & 0xF;
+ metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7);
+ if (sub_80572D8(metatile) == TRUE || sub_80572EC(metatile) == TRUE) {
+ gScriptResult = gMapHeader.events->mapObjects[objid].graphicsId + VAR_0x3F20;
+ VarSet(gScriptResult, gDecorations[roomdecor[decidx]].tiles[0]);
+ gScriptResult = gMapHeader.events->mapObjects[objid].localId;
+ FlagClear(gSpecialVar_0x8004 + 0xAE);
+ show_sprite(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
+ sub_805C0F8(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
+ sub_805C78C(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
+ gSpecialVar_0x8004 ++;
+ }
+ }
+ }
+ }
+}
+
+void sub_80BBFA4(void)
+{
+ int curBase = VarGet(VAR_0x4054);
+ VarSet(VAR_0x401F, gUnknown_083D13EC[sub_80BCCA4(curBase)]);
+}
+
+void sub_80BBFD8(struct MapPosition *position, struct MapEvents *events)
+{
+ s16 bgevtidx;
+ for (bgevtidx=0; bgevtidx<events->bgEventCount; bgevtidx++) {
+ if (events->bgEvents[bgevtidx].kind == 8 && position->x == events->bgEvents[bgevtidx].x + 7 && position->y == events->bgEvents[bgevtidx].y + 7) {
+ gUnknown_020387DC = events->bgEvents[bgevtidx].bgUnion.secretBaseId;
+ break;
+ }
+ }
+}
+
+void sub_80BC038(struct MapPosition *position, struct MapEvents *events)
+{
+ sub_80BBFD8(position, events);
+ sub_80BB5E4();
+ ScriptContext1_SetupScript(gUnknown_081A2E14);
+}
+
+bool8 sub_80BC050(void)
+{
+ sub_80BB5D0();
+ sub_80BB5E4();
+ if (gScriptResult == 1)
+ return FALSE;
+ return TRUE;
+}
+
+void sub_80BC074(u8 taskid)
+{
+ switch (gTasks[taskid].data[0]) {
+ case 0:
+ ScriptContext2_Enable();
+ gTasks[taskid].data[0] = 1;
+ break;
+ case 1:
+ if (!gPaletteFade.active) {
+ gTasks[taskid].data[0] = 2;
+ }
+ break;
+ case 2:
+ copy_saved_warp2_bank_and_enter_x_to_warp1(0x7E);
+ warp_in();
+ gFieldCallback = mapldr_default;
+ SetMainCallback2(CB2_LoadMap);
+ ScriptContext2_Disable();
+ DestroyTask(taskid);
+ break;
+ }
+}
+
+void sub_80BC0F8(void) {
+ CreateTask(sub_80BC074, 0);
+ fade_screen(1, 0);
+}
+
+void sub_80BC114(void) {
+ if (gSaveBlock1.secretBases[0].secretBaseId != gUnknown_020387DC)
+ gScriptResult = 1;
+ else
+ gScriptResult = 0;
+}
+
+u8 sub_80BC14C(u8 sbid)
+{
+ s16 idx;
+ for (idx=0; idx<MAX_SECRET_BASES; idx++) {
+ if (gSaveBlock1.secretBases[idx].secretBaseId == sbid)
+ return idx;
+ }
+ return 0;
+}
+
+u8 *sub_80BC190(u8 *dest, u8 arg1) { // 80bc190
+ u8 local1;
+ u8 *str;
+
+ local1 = sub_80BB8A8(gSaveBlock1.secretBases[arg1].playerName);
+
+ str = StringCopyN(dest, gSaveBlock1.secretBases[arg1].playerName, local1);
+ str[0] = EOS;
+
+#if ENGLISH
+ return StringAppend(dest, gOtherText_PlayersBase);
+#elif GERMAN
+ return de_sub_8073174(dest, gOtherText_PlayersBase);
+#endif
+}
+
+u8 *GetSecretBaseMapName(u8 *dest) {
+ gUnknown_020387DC = gSaveBlock1.secretBases[VarGet(VAR_0x4054)].secretBaseId;
+ return sub_80BC190(dest, VarGet(VAR_0x4054));
+}
+
+void sub_80BC224(void) {
+ u8 *var0 = gSaveBlock1.secretBases[(u8)VarGet(VAR_0x4054)].playerName;
+ u8 *var1 = gStringVar1;
+ u8 var2 = sub_80BB8A8(var0);
+ u8 *var3 = StringCopyN(var1, var0, var2);
+ *var3 = EOS;
+}
+
+bool8 sub_80BC268(u8 i) { // 80bc268
+ if (gSaveBlock1.secretBases[i].sbr_field_1_6)
+ return TRUE;
+ return FALSE;
+}
+
+u8 sub_80BC298(struct Pokemon *mon) { // 80bc298
+ u16 evsum = GetMonData(mon, MON_DATA_HP_EV);
+ evsum += GetMonData(mon, MON_DATA_ATK_EV);
+ evsum += GetMonData(mon, MON_DATA_DEF_EV);
+ evsum += GetMonData(mon, MON_DATA_SPEED_EV);
+ evsum += GetMonData(mon, MON_DATA_SPATK_EV);
+ evsum += GetMonData(mon, MON_DATA_SPDEF_EV);
+ return (u8)(evsum / 6);
+}
+
+#ifdef NONMATCHING
+// So much is wrong with this function.
+// The compiler likes to store pointers in temp variables. That's not what it's supposed to do.
+void sub_80BC300(void)
+{
+ u16 partyidx;
+ u16 moveidx;
+ u16 sbpartyidx = 0;
+ for (partyidx=0; partyidx<PARTY_SIZE; partyidx++)
+ {
+ for (moveidx=0; moveidx<4; moveidx++)
+ gSaveBlock1.secretBases[0].partyMoves[partyidx * 4 + moveidx] = MOVE_NONE;
+ gSaveBlock1.secretBases[0].partySpecies[partyidx] = SPECIES_NONE;
+ gSaveBlock1.secretBases[0].partyHeldItems[partyidx] = ITEM_NONE;
+ gSaveBlock1.secretBases[0].partyLevels[partyidx] = 0;
+ gSaveBlock1.secretBases[0].partyPersonality[partyidx] = 0;
+ gSaveBlock1.secretBases[0].partyEVs[partyidx] = 0;
+ if (GetMonData(&(gPlayerParty[partyidx]), MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&(gPlayerParty[partyidx]), MON_DATA_IS_EGG)) {
+ for (moveidx=0; moveidx<4; moveidx++)
+ gSaveBlock1.secretBases[0].partyMoves[sbpartyidx * 4 + moveidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_MOVE1 + moveidx);
+ gSaveBlock1.secretBases[0].partySpecies[sbpartyidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_SPECIES);
+ gSaveBlock1.secretBases[0].partyHeldItems[sbpartyidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_HELD_ITEM);
+ gSaveBlock1.secretBases[0].partyLevels[sbpartyidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_LEVEL);
+ gSaveBlock1.secretBases[0].partyPersonality[sbpartyidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_PERSONALITY);
+ gSaveBlock1.secretBases[0].partyEVs[sbpartyidx] = sub_80BC298(&(gPlayerParty[partyidx]));
+ sbpartyidx ++;
+ }
+ }
+}
+#else
+__attribute__((naked))
+void sub_80BC300(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\
+ mov r10, r0\n\
+ movs r6, 0\n\
+ mov r9, r6\n\
+_080BC314:\n\
+ movs r4, 0\n\
+ lsls r3, r6, 2\n\
+ lsls r2, r6, 1\n\
+ ldr r7, _080BC424 @ =gPlayerParty\n\
+ adds r1, r6, 0x1\n\
+ str r1, [sp]\n\
+ adds r1, r3, 0\n\
+_080BC322:\n\
+ adds r0, r1, r4\n\
+ lsls r0, 1\n\
+ ldr r5, _080BC428 @ =gSaveBlock1 + 0x1A54\n\
+ adds r0, r5, r0\n\
+ mov r5, r9\n\
+ strh r5, [r0]\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ cmp r4, 0x3\n\
+ bls _080BC322\n\
+ ldr r1, _080BC42C @ =gSaveBlock1 + 0x1A84\n\
+ adds r0, r1, r2\n\
+ strh r5, [r0]\n\
+ ldr r5, _080BC430 @ =gSaveBlock1 + 0x1A90\n\
+ adds r0, r5, r2\n\
+ mov r1, r9\n\
+ strh r1, [r0]\n\
+ ldr r2, _080BC434 @ =gSaveBlock1 + 0x1A9C\n\
+ adds r0, r2, r6\n\
+ mov r5, r9\n\
+ strb r5, [r0]\n\
+ ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C\n\
+ adds r0, r1, r3\n\
+ mov r2, r9\n\
+ str r2, [r0]\n\
+ ldr r3, _080BC43C @ =gSaveBlock1 + 0x1AA2\n\
+ adds r0, r3, r6\n\
+ strb r2, [r0]\n\
+ movs r0, 0x64\n\
+ adds r5, r6, 0\n\
+ muls r5, r0\n\
+ adds r4, r5, r7\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _080BC408\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x2D\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _080BC408\n\
+ movs r4, 0\n\
+ mov r0, r10\n\
+ lsls r0, 2\n\
+ mov r8, r0\n\
+ mov r1, r10\n\
+ lsls r7, r1, 1\n\
+ adds r1, 0x1\n\
+ str r1, [sp, 0x4]\n\
+ ldr r2, _080BC424 @ =gPlayerParty\n\
+_080BC38E:\n\
+ adds r1, r4, 0\n\
+ adds r1, 0xD\n\
+ adds r0, r5, r2\n\
+ str r2, [sp, 0x8]\n\
+ bl GetMonData\n\
+ mov r3, r8\n\
+ adds r1, r3, r4\n\
+ lsls r1, 1\n\
+ ldr r3, _080BC428 @ =gSaveBlock1 + 0x1A54\n\
+ adds r1, r3, r1\n\
+ strh r0, [r1]\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ ldr r2, [sp, 0x8]\n\
+ cmp r4, 0x3\n\
+ bls _080BC38E\n\
+ movs r0, 0x64\n\
+ adds r4, r6, 0\n\
+ muls r4, r0\n\
+ ldr r0, _080BC424 @ =gPlayerParty\n\
+ adds r4, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ ldr r5, _080BC42C @ =gSaveBlock1 + 0x1A84\n\
+ adds r1, r5, r7\n\
+ strh r0, [r1]\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xC\n\
+ bl GetMonData\n\
+ ldr r2, _080BC430 @ =gSaveBlock1 + 0x1A90\n\
+ adds r1, r2, r7\n\
+ strh r0, [r1]\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x38\n\
+ bl GetMonData\n\
+ ldr r1, _080BC434 @ =gSaveBlock1 + 0x1A9C\n\
+ add r1, r10\n\
+ strb r0, [r1]\n\
+ adds r0, r4, 0\n\
+ movs r1, 0\n\
+ bl GetMonData\n\
+ ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C\n\
+ add r1, r8\n\
+ str r0, [r1]\n\
+ adds r0, r4, 0\n\
+ bl sub_80BC298\n\
+ ldr r1, _080BC43C @ =gSaveBlock1 + 0x1AA2\n\
+ add r1, r10\n\
+ strb r0, [r1]\n\
+ ldr r3, [sp, 0x4]\n\
+ lsls r0, r3, 16\n\
+ lsrs r0, 16\n\
+ mov r10, r0\n\
+_080BC408:\n\
+ ldr r5, [sp]\n\
+ lsls r0, r5, 16\n\
+ lsrs r6, r0, 16\n\
+ cmp r6, 0x5\n\
+ bls _080BC314\n\
+ add sp, 0xC\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080BC424: .4byte gPlayerParty\n\
+_080BC428: .4byte gSaveBlock1 + 0x1A54\n\
+_080BC42C: .4byte gSaveBlock1 + 0x1A84\n\
+_080BC430: .4byte gSaveBlock1 + 0x1A90\n\
+_080BC434: .4byte gSaveBlock1 + 0x1A9C\n\
+_080BC438: .4byte gSaveBlock1 + 0x1A3C\n\
+_080BC43C: .4byte gSaveBlock1 + 0x1AA2\n\
+.syntax divided\n");
+}
+#endif
+
+void sub_80BC440(void)
+{
+ u16 backupValue = gSaveBlock1.secretBases[0].sbr_field_e;
+ ResetSecretBase(0);
+ gSaveBlock1.secretBases[0].sbr_field_e = backupValue;
+ sub_80BC0F8();
+}
+
+void SecretBasePC_PackUp(void)
+{
+ IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE);
+ sub_80BC440();
+}
+
+void sub_80BC474(void)
+{
+ u16 eventId;
+ struct MapEvents *mapEvents = gMapHeader.events;
+ for (eventId = 0; eventId < mapEvents->bgEventCount; eventId++)
+ {
+ if (mapEvents->bgEvents[eventId].kind == 8
+ && gSaveBlock1.secretBases[0].secretBaseId == mapEvents->bgEvents[eventId].bgUnion.secretBaseId)
+ {
+ u16 i;
+ s16 tileId = MapGridGetMetatileIdAt(mapEvents->bgEvents[eventId].x + 7, mapEvents->bgEvents[eventId].y + 7);
+
+ for (i = 0; i < 7; i++)
+ {
+ if (gUnknown_083D1358[i].unk_083D1358_1 == tileId)
+ {
+ MapGridSetMetatileIdAt(
+ mapEvents->bgEvents[eventId].x + 7,
+ mapEvents->bgEvents[eventId].y + 7,
+ gUnknown_083D1358[i].unk_083D1358_0 | 0xc00);
+ break;
+ }
+ }
+
+ DrawWholeMapView();
+ break;
+ }
+ }
+}
+
+void sub_80BC50C(void)
+{
+ u16 backupValue;
+ sub_80BC474();
+ IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE);
+
+ backupValue = gSaveBlock1.secretBases[0].sbr_field_e;
+ ResetSecretBase(0);
+ gSaveBlock1.secretBases[0].sbr_field_e = backupValue;
+}
+
+u8 sub_80BC538(void)
+{
+ s16 secretBaseIndex;
+ u8 retVal = 0;
+
+ for (secretBaseIndex = 1; secretBaseIndex < MAX_SECRET_BASES; secretBaseIndex++)
+ {
+ if (sub_80BC268(secretBaseIndex) == TRUE)
+ {
+ retVal++;
+ }
+ }
+
+ return retVal;
+}
+
+void sub_80BC56C(void)
+{
+ u8 secretBaseIndex = sub_80BC14C(gUnknown_020387DC);
+ if (sub_80BC268(secretBaseIndex) == TRUE)
+ {
+ gScriptResult = 1;
+ }
+ else if (sub_80BC538() > 9)
+ {
+ gScriptResult = 2;
+ }
+ else
+ {
+ gScriptResult = 0;
+ }
+}
+
+void sub_80BC5BC(void)
+{
+ gSaveBlock1.secretBases[sub_80BC14C(gUnknown_020387DC)].sbr_field_1_6 ^= 1;
+ FlagSet(0x10C);
+}
+
+void SecretBasePC_Decoration(void)
+{
+ CreateTask(Task_SecretBasePC_Decoration, 0);
+}
+
+void SecretBasePC_Registry(void)
+{
+ CreateTask(Task_SecretBasePC_Registry, 0);
+}
+
+void Task_SecretBasePC_Registry(u8 taskId)
+{
+ s16 *taskData;
+
+ ScriptContext2_Enable();
+ sub_80F944C();
+ LoadScrollIndicatorPalette();
+
+ taskData = gTasks[taskId].data;
+ taskData[0] = sub_80BC538();
+ if (taskData[0] != 0)
+ {
+ if (taskData[0] > 7) {
+ taskData[3] = 7;
+ }
+ else
+ {
+ taskData[3] = taskData[0];
+ }
+
+ taskData[1] = 0;
+ taskData[2] = 0;
+
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ sub_80BC7D8(taskId);
+
+ gTasks[taskId].func = sub_80BC824;
+ }
+ else
+ {
+ DisplayItemMessageOnField(taskId, gSecretBaseText_NoRegistry, sub_80BCC54, 0);
+ }
+}
+
+void sub_80BC6B0(u8 taskId)
+{
+ u8 i;
+ s16 *taskData = gTasks[taskId].data;
+ u8 m = 0;
+ u8 n = 0;
+
+ for (i = 1; i < MAX_SECRET_BASES; i++)
+ {
+ if (m == taskData[2])
+ {
+ m = i;
+ break;
+ }
+
+ if (sub_80BC268(i) == TRUE)
+ m++;
+ }
+
+ for (i = m; i < MAX_SECRET_BASES; i++)
+ {
+ if (sub_80BC268(i) == TRUE)
+ {
+ sub_80BC190(gStringVar1, i);
+ MenuFillWindowRectWithBlankTile(18, 2 * n + 2, 28, 2 * n + 3);
+ MenuPrint(gStringVar1, 18, 2 * n + 2);
+ if (++n == 8)
+ break;
+ }
+ }
+
+ if (n < 8)
+ {
+ MenuFillWindowRectWithBlankTile(18, 2 * n + 2, 28, 2 * n + 3);
+ MenuPrint(gUnknownText_Exit, 18, 2 * n + 2);
+ DestroyVerticalScrollIndicator(1);
+ if (n != 7)
+ MenuFillWindowRectWithBlankTile(18, ((n << 25) + (1 << 26)) >> 24, 28, 18); // the shifts are needed to match
+ }
+ else
+ CreateVerticalScrollIndicators(1, 0xbc, 0x98);
+
+ if (taskData[2] == 0)
+ DestroyVerticalScrollIndicator(0);
+ else
+ CreateVerticalScrollIndicators(0, 0xbc, 0x08);
+}
+
+void sub_80BC7D8(u8 taskId)
+{
+ u16 *taskData = gTasks[taskId].data;
+ MenuDrawTextWindow(17, 0, 29, 19);
+ InitMenu(0, 18, 2, taskData[3] + 1, taskData[1], 11);
+
+ sub_80BC6B0(taskId);
+}
+
+void sub_80BC824(u8 taskId)
+{
+ s16 *taskData = gTasks[taskId].data;
+
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (taskData[1])
+ {
+ PlaySE(5);
+ taskData[1] = MoveMenuCursor(-1);
+ }
+ else if (taskData[2])
+ {
+ PlaySE(5);
+ taskData[2]--;
+ sub_80BC6B0(taskId);
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (taskData[1] == taskData[3])
+ {
+ if (taskData[2] + taskData[1] != taskData[0])
+ {
+ PlaySE(5);
+ taskData[2]++;
+ sub_80BC6B0(taskId);
+ }
+ }
+ else
+ {
+ PlaySE(5);
+ taskData[1] = MoveMenuCursor(1);
+ }
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(5);
+ if (taskData[1] + taskData[2] == taskData[0])
+ {
+ HandleDestroyMenuCursors();
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ sub_80BCC54(taskId);
+ }
+ else
+ {
+ HandleDestroyMenuCursors();
+ taskData[4] = sub_80BC948(taskData[1] + taskData[2]);
+ sub_80BC980(taskId);
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(5);
+ HandleDestroyMenuCursors();
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ sub_80BCC54(taskId);
+ }
+}
+
+u8 sub_80BC948(u8 a)
+{
+ u8 secretBaseIndex;
+ u8 count = 0;
+
+ for (secretBaseIndex = 1; secretBaseIndex < MAX_SECRET_BASES; secretBaseIndex++)
+ {
+ if (sub_80BC268(secretBaseIndex) == TRUE)
+ {
+ if (a == count)
+ {
+ return secretBaseIndex;
+ }
+
+ count++;
+ }
+ }
+
+ return 0;
+}
+
+void sub_80BC980(u8 taskId)
+{
+ PauseVerticalScrollIndicator(0);
+ PauseVerticalScrollIndicator(1);
+ MenuDrawTextWindow(1, 0, 12, 5);
+ PrintMenuItems(2, 1, 2, (const struct MenuAction *)gUnknown_083D13D4);
+ InitMenu(0, 2, 1, 2, 0, 10);
+ gTasks[taskId].func = sub_80BC9E4;
+}
+
+void sub_80BC9E4(u8 taskId)
+{
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (GetMenuCursorPos())
+ {
+ PlaySE(5);
+ MoveMenuCursor(-1);
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (GetMenuCursorPos() != 1)
+ {
+ PlaySE(5);
+ MoveMenuCursor(1);
+ }
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(5);
+ gUnknown_083D13D4[GetMenuCursorPos()].func(taskId);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(5);
+ sub_80BCBF8(taskId);
+ }
+}
+
+void sub_80BCA84(u8 taskId)
+{
+ s16 *taskData = gTasks[taskId].data;
+
+ DestroyVerticalScrollIndicator(0);
+ DestroyVerticalScrollIndicator(1);
+ HandleDestroyMenuCursors();
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+
+ sub_80BC190(gStringVar1, taskData[4]);
+ StringExpandPlaceholders(gStringVar4, gOtherText_OkayToDeleteFromRegistry);
+ DisplayItemMessageOnField(taskId, gStringVar4, sub_80BCAEC, 0);
+}
+
+void sub_80BCAEC(u8 taskId)
+{
+ DisplayYesNoMenu(20, 8, 1);
+ DoYesNoFuncWithChoice(taskId, &gUnknown_083D13E4);
+}
+
+void sub_80BCB10(u8 taskId)
+{
+ s16 *taskData = gTasks[taskId].data;
+
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+
+ gSaveBlock1.secretBases[taskData[4]].sbr_field_1_6 = 0;
+ taskData[0]--;
+
+ if (taskData[2] > 0)
+ {
+ taskData[2]--;
+ }
+
+ if (taskData[0] < 8)
+ {
+ taskData[3]--;
+ }
+
+ sub_80BC7D8(taskId);
+ gTasks[taskId].func = sub_80BC824;
+}
+
+void sub_80BCB90(u8 taskId)
+{
+ MenuZeroFillWindowRect(20, 8, 26, 13);
+ DisplayItemMessageOnField(taskId, gOtherText_RegisteredDataDeleted, sub_80BCB10, 0);
+}
+
+void sub_80BCBC0(u8 taskId)
+{
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+
+ sub_80BC7D8(taskId);
+ gTasks[taskId].func = sub_80BC824;
+}
+
+void sub_80BCBF8(u8 taskId)
+{
+ s16 *taskData = gTasks[taskId].data;
+
+ InitMenu(0, 18, 2, taskData[3] + 1, taskData[1], 11);
+ MenuZeroFillWindowRect(1, 0, 12, 5);
+ StartVerticalScrollIndicators(0);
+ StartVerticalScrollIndicators(1);
+
+ gTasks[taskId].func = sub_80BC824;
+}
+
+void sub_80BCC54(u8 taskId)
+{
+ u16 curBaseIndex = VarGet(VAR_0x4054);
+
+ BuyMenuFreeMemory();
+ DestroyVerticalScrollIndicator(0);
+ DestroyVerticalScrollIndicator(1);
+
+ if (curBaseIndex == 0)
+ {
+ ScriptContext1_SetupScript(gUnknown_0815F399);
+ }
+ else
+ {
+ ScriptContext1_SetupScript(gUnknown_0815F49A);
+ }
+
+ DestroyTask(taskId);
+}
+
+u8 sub_80BCCA4(u8 secretBaseIndex)
+{
+ return (gSaveBlock1.secretBases[secretBaseIndex].playerName[OT_NAME_LENGTH] % 5)
+ + gSaveBlock1.secretBases[secretBaseIndex].gender * 5;
+}
+
+const u8 *sub_80BCCE8(void)
+{
+ u8 param = sub_80BCCA4(VarGet(VAR_0x4054));
+ if (param == 0) return UnknownString_81A1BB2;
+ if (param == 1) return UnknownString_81A1F67;
+ if (param == 2) return UnknownString_81A2254;
+ if (param == 3) return UnknownString_81A25C3;
+ if (param == 4) return UnknownString_81A2925;
+ if (param == 5) return UnknownString_81A1D74;
+ if (param == 6) return UnknownString_81A20C9;
+ if (param == 7) return UnknownString_81A2439;
+ if (param == 8) return UnknownString_81A2754;
+ return UnknownString_81A2B2A;
+}
+
+// Debugging function to test secret base battles.
+void unref_sub_80BCD7C(u8 secretBaseIndex)
+{
+ u16 i;
+ for (i = 0; i == 0; i++)
+ {
+ gSaveBlock1.secretBases[secretBaseIndex].partyPersonality[i] = i + 1;
+ gSaveBlock1.secretBases[secretBaseIndex].partyMoves[i * 4] = i + 1;
+ gSaveBlock1.secretBases[secretBaseIndex].partySpecies[i] = SPECIES_TREECKO;
+ gSaveBlock1.secretBases[secretBaseIndex].partyHeldItems[i] = i + 1;
+ gSaveBlock1.secretBases[secretBaseIndex].partyLevels[i] = i + 5;
+ gSaveBlock1.secretBases[secretBaseIndex].partyEVs[i] = i * 5;
+ }
+}
+
+void sub_80BCE1C(void)
+{
+ u16 curBaseIndex = VarGet(VAR_0x4054);
+ sub_810FB10(1);
+
+ CreateSecretBaseEnemyParty(&gSaveBlock1.secretBases[curBaseIndex]);
+}
+
+void sub_80BCE4C()
+{
+ gSaveBlock1.secretBases[VarGet(VAR_0x4054)].sbr_field_1_5 = gScriptResult;
+}
+
+void sub_80BCE90()
+{
+ u16 curBaseIndex = VarGet(VAR_0x4054);
+
+ if (!FlagGet(0x8C2))
+ {
+ u8 i;
+
+ for (i = 0; i < MAX_SECRET_BASES; i++)
+ {
+ gSaveBlock1.secretBases[i].sbr_field_1_5 = 0;
+ }
+
+ FlagSet(0x8C2);
+ }
+
+ gSpecialVar_0x8004 = sub_80BCCA4(curBaseIndex);
+ gScriptResult = gSaveBlock1.secretBases[curBaseIndex].sbr_field_1_5;
+}
+
+void sub_80BCF1C(u8 taskId)
+{
+ s16 x, y;
+ u32 behavior;
+ s16 *taskData = gTasks[taskId].data;
+
+ switch (taskData[1])
+ {
+ case 0:
+ PlayerGetDestCoords(&taskData[2], &taskData[3]);
+ taskData[1] = 1;
+ break;
+ case 1:
+ PlayerGetDestCoords(&x, &y);
+ if (x != taskData[2] || y != taskData[3])
+ {
+ taskData[2] = x;
+ taskData[3] = y;
+
+ behavior = MapGridGetMetatileBehaviorAt(x, y);
+ if (sub_8057350(behavior) == TRUE)
+ {
+ DoYellowCave4Sparkle();
+ }
+ else if (sub_8057314(behavior) == TRUE)
+ {
+ sub_80C68A4(MapGridGetMetatileIdAt(x, y), x, y);
+ }
+ else if (sub_8057328(behavior) == TRUE)
+ {
+ sub_80C6A54(x, y);
+ }
+ else if (sub_805733C(behavior) == TRUE)
+ {
+ DoDecorationSoundEffect(MapGridGetMetatileIdAt(x, y));
+ }
+ }
+ break;
+ case 2:
+ if (!FieldEffectActiveListContains(taskData[4]))
+ {
+ taskData[1] = 1;
+ }
+ break;
+ }
+}
+
+void sub_80BD034(u8 i, struct SecretBaseRecord *secretBase)
+{
+ gSaveBlock1.secretBases[i] = *secretBase;
+ gSaveBlock1.secretBases[i].sbr_field_1_6 = 2;
+}
+
+bool8 sub_80BD070(struct SecretBaseRecord *baseA, struct SecretBaseRecord *baseB)
+{
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (baseA->trainerId[i] != baseB->trainerId[i])
+ {
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+bool8 sub_80BD0A0(struct SecretBaseRecord *baseA, struct SecretBaseRecord *baseB)
+{
+ u8 i;
+
+ for (i = 0; i < OT_NAME_LENGTH && (baseA->playerName[i] != 0xFF || baseB->playerName[i] != 0xFF); i++)
+ {
+ if (baseA->playerName[i] != baseB->playerName[i])
+ {
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+bool8 sub_80BD0EC(struct SecretBaseRecord *baseA, struct SecretBaseRecord *baseB)
+{
+ if (baseA->gender == baseB->gender && sub_80BD070(baseA, baseB) && sub_80BD0A0(baseA, baseB))
+ {
+ return TRUE;
+ }
+
+
+ return FALSE;
+}
+
+s16 sub_80BD12C(u8 secretBaseId)
+{
+ s16 i;
+
+ for (i = 0; i < MAX_SECRET_BASES; i++)
+ {
+ if (gSaveBlock1.secretBases[i].secretBaseId == secretBaseId)
+ {
+ return i;
+ }
+ }
+
+ return -1;
+}
+
+u8 sub_80BD170(void)
+{
+ s16 i;
+
+ for (i = 1; i < MAX_SECRET_BASES; i++)
+ {
+ if (gSaveBlock1.secretBases[i].secretBaseId == 0)
+ {
+ return i;
+ }
+ }
+
+ return 0;
+}
+
+u8 sub_80BD1B0(void)
+{
+ s16 i;
+
+ for (i = 1; i < MAX_SECRET_BASES; i++)
+ {
+ if (gSaveBlock1.secretBases[i].sbr_field_1_6 == 0 && gSaveBlock1.secretBases[i].sbr_field_1_0 == 0)
+ {
+ return i;
+ }
+ }
+
+ return 0;
+}
+
+u8 sub_80BD1FC(struct SecretBaseRecord *secretBase)
+{
+ s16 secretBaseIndex;
+
+ if (secretBase->secretBaseId == 0)
+ {
+ return 0;
+ }
+
+ secretBaseIndex = sub_80BD12C(secretBase->secretBaseId);
+ if (secretBaseIndex != 0)
+ {
+ if (secretBaseIndex != -1)
+ {
+ if (gSaveBlock1.secretBases[secretBaseIndex].sbr_field_1_0 == 1)
+ {
+ return 0;
+ }
+ if (gSaveBlock1.secretBases[secretBaseIndex].sbr_field_1_6 != 2
+ || secretBase->sbr_field_1_0 == 1)
+ {
+ sub_80BD034(secretBaseIndex, secretBase);
+ return secretBaseIndex;
+ }
+ }
+ else
+ {
+ secretBaseIndex = sub_80BD170();
+ if (secretBaseIndex != 0)
+ {
+ sub_80BD034(secretBaseIndex, secretBase);
+ return secretBaseIndex;
+ }
+ secretBaseIndex = sub_80BD1B0();
+ if (secretBaseIndex)
+ {
+ sub_80BD034(secretBaseIndex, secretBase);
+ return secretBaseIndex;
+ }
+ }
+ }
+
+ return 0;
+}
+
+void sub_80BD280(void)
+{
+ u8 i;
+ u8 j;
+ struct SecretBaseRecord temp;
+ struct SecretBaseRecord *secretBases = gSaveBlock1.secretBases;
+
+ for (i = 1; i < MAX_SECRET_BASES - 1; i++)
+ {
+ for (j = i + 1; j < MAX_SECRET_BASES; j++)
+ {
+ if ((!secretBases[i].sbr_field_1_6 && secretBases[j].sbr_field_1_6 == 1)
+ || (secretBases[i].sbr_field_1_6 == 2 && secretBases[j].sbr_field_1_6 != 2))
+ {
+ temp = secretBases[i];
+ secretBases[i] = secretBases[j];
+ secretBases[j] = temp;
+ }
+ }
+ }
+}
+
+void sub_80BD328(struct SecretBaseRecord *secretBases, u8 b)
+{
+ u16 i;
+
+ for (i = 1; i < MAX_SECRET_BASES; i++)
+ {
+ if (secretBases[i].sbr_field_1_6 == b)
+ {
+ sub_80BD1FC(&secretBases[i]);
+ }
+ }
+}
+
+bool8 sub_80BD358(struct SecretBaseRecord *secretBase)
+{
+ u8 i;
+
+ if (!secretBase->secretBaseId)
+ return FALSE;
+
+ if (secretBase->secretBaseId && secretBase->gender != gSaveBlock2.playerGender)
+ return FALSE;
+
+ // Check if the player's trainer Id matches the secret base's id.
+ for (i = 0; i < 4; i++)
+ {
+ if (secretBase->trainerId[i] != gSaveBlock2.playerTrainerId[i])
+ return FALSE;
+ }
+
+ for (i = 0; i < OT_NAME_LENGTH && (secretBase->playerName[i] != 0xFF || gSaveBlock2.playerName[i] != 0xFF); i++)
+ {
+ if (secretBase->playerName[i] != gSaveBlock2.playerName[i])
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_80BD3DC(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC)
+{
+ u8 i;
+ u8 var1 = 0;
+
+ for (i = 0; i < MAX_SECRET_BASES; i++)
+ {
+ if ((var1 & 1) == 0)
+ {
+ if (sub_80BD358(&basesA[i]) == TRUE)
+ {
+ ClearSecretBase(&basesA[i]);
+ var1 |= 1;
+ }
+ }
+
+ if ((var1 & 2) == 0)
+ {
+ if (sub_80BD358(&basesB[i]) == TRUE)
+ {
+ ClearSecretBase(&basesB[i]);
+ var1 |= 2;
+ }
+ }
+
+ if ((var1 & 4) == 0)
+ {
+ if (sub_80BD358(&basesC[i]) == TRUE)
+ {
+ ClearSecretBase(&basesC[i]);
+ var1 |= 4;
+ }
+ }
+
+ if (var1 == 7)
+ {
+ break;
+ }
+ }
+}
+
+bool8 sub_80BD494(struct SecretBaseRecord *base, struct SecretBaseRecord *secretBases, u8 c)
+{
+ u8 i;
+
+ for (i = 0; i < MAX_SECRET_BASES; i++)
+ {
+ if (secretBases[i].secretBaseId)
+ {
+ if (sub_80BD0EC(base, &secretBases[i]) == TRUE)
+ {
+ if (c == 0)
+ {
+ ClearSecretBase(&secretBases[i]);
+ return FALSE;
+ }
+
+ if (base->sbr_field_e > secretBases[i].sbr_field_e)
+ {
+ ClearSecretBase(&secretBases[i]);
+ return FALSE;
+ }
+
+ secretBases[i].sbr_field_1_0 = base->sbr_field_1_0;
+
+ ClearSecretBase(base);
+ return TRUE;
+ }
+ }
+ }
+
+ return FALSE;
+}
+
+void sub_80BD514(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC, struct SecretBaseRecord *basesD)
+{
+ u8 i;
+
+ for (i = 1; i < MAX_SECRET_BASES; i++)
+ {
+ if (basesA[i].secretBaseId)
+ {
+ if (basesA[i].sbr_field_1_6 == 1)
+ {
+ basesA[i].sbr_field_1_0 = 1;
+ }
+
+ if (!sub_80BD494(&basesA[i], basesB, i))
+ {
+ if (!sub_80BD494(&basesA[i], basesC, i))
+ {
+ sub_80BD494(&basesA[i], basesD, i);
+ }
+ }
+ }
+ }
+
+ for (i = 0; i < MAX_SECRET_BASES; i++)
+ {
+ if (basesB[i].secretBaseId)
+ {
+ basesB[i].sbr_field_1_5 = 0;
+
+ if (!sub_80BD494(&basesB[i], basesC, i))
+ {
+ sub_80BD494(&basesB[i], basesD, i);
+ }
+ }
+ }
+
+ for (i = 0; i < MAX_SECRET_BASES; i++)
+ {
+ if (basesC[i].secretBaseId)
+ {
+ basesC[i].sbr_field_1_5 = 0;
+ sub_80BD494(&basesC[i], basesD, i);
+ }
+
+ if (basesD[i].secretBaseId)
+ {
+ basesD[i].sbr_field_1_5 = 0;
+ }
+ }
+}
+
+void sub_80BD610(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC)
+{
+ sub_80BD3DC(basesA, basesB, basesC);
+ sub_80BD514(gSaveBlock1.secretBases, basesA, basesB, basesC);
+
+ sub_80BD1FC(basesA);
+ sub_80BD1FC(basesB);
+ sub_80BD1FC(basesC);
+
+ sub_80BD328(basesA, 1);
+ sub_80BD328(basesB, 1);
+ sub_80BD328(basesC, 1);
+
+ sub_80BD328(basesA, 0);
+ sub_80BD328(basesB, 0);
+ sub_80BD328(basesC, 0);
+}
+
+void sub_80BD674(void *playerRecords, u32 size, u8 c)
+{
+ if (FlagGet(0x60))
+ {
+ u16 i;
+ u8 numLinkedPlayers = GetLinkPlayerCount();
+ switch (numLinkedPlayers)
+ {
+ case 2:
+ memset(playerRecords + size * 2, 0, size);
+ memset(playerRecords + size * 3, 0, size);
+ break;
+ case 3:
+ memset(playerRecords + size * 3, 0, size);
+ break;
+ }
+
+ switch (c)
+ {
+ case 0:
+ sub_80BD610(playerRecords + size, playerRecords + size * 2, playerRecords + size * 3);
+ break;
+ case 1:
+ sub_80BD610(playerRecords + size * 2, playerRecords + size * 3, playerRecords);
+ break;
+ case 2:
+ sub_80BD610(playerRecords + size * 3, playerRecords, playerRecords + size);
+ break;
+ case 3:
+ sub_80BD610(playerRecords, playerRecords + size, playerRecords + size * 2);
+ break;
+ }
+
+ for (i = 1; i < MAX_SECRET_BASES; i++)
+ {
+ if (gSaveBlock1.secretBases[i].sbr_field_1_0 == 1)
+ {
+ gSaveBlock1.secretBases[i].sbr_field_1_6 = 1;
+ gSaveBlock1.secretBases[i].sbr_field_1_0 = 0;
+ }
+ }
+
+ sub_80BD280();
+
+ for (i = 1; i < MAX_SECRET_BASES; i++)
+ {
+ if (gSaveBlock1.secretBases[i].sbr_field_1_6 == 2)
+ {
+ gSaveBlock1.secretBases[i].sbr_field_1_6 = 0;
+ }
+ }
+
+ if (gSaveBlock1.secretBases[0].sbr_field_e != 0xFFFF)
+ {
+ gSaveBlock1.secretBases[0].sbr_field_e++;
+ }
+ }
+}
diff --git a/src/shop.c b/src/field/shop.c
index 22250b1c4..375205935 100644
--- a/src/shop.c
+++ b/src/field/shop.c
@@ -282,7 +282,7 @@ void BuyMenuDrawGraphics(void)
register const u32 zero asm("r6") = 0;
DmaFill32(3, zero, addr, OAM_SIZE);
LZDecompressVram(gBuyMenuFrame_Gfx, (void*)(VRAM + 0x7C00));
- sub_800D238(gBuyMenuFrame_Tilemap, (void *)0x02018000);
+ LZDecompressWram(gBuyMenuFrame_Tilemap, (void *)0x02018000);
LoadCompressedPalette(gMenuMoneyPal, 0xC0, sizeof(gMenuMoneyPal));
FreeAllSpritePalettes();
ResetPaletteFade();
diff --git a/src/slot_machine.c b/src/field/slot_machine.c
index c9a06a758..153970337 100644
--- a/src/slot_machine.c
+++ b/src/field/slot_machine.c
@@ -71,7 +71,7 @@ void sub_8106448(void) {
u32 offsetRead, offsetWrite;
u32 size;
- sub_800D238(gSlotMachine_Gfx, (void *) 0x02010000);
+ LZDecompressWram(gSlotMachine_Gfx, (void *) 0x02010000);
offsetRead = 0x02010000;
offsetWrite = BG_VRAM;
@@ -94,7 +94,7 @@ void sub_8106448(void) {
}
void sub_81064B8(void) {
- CpuCopy16(gUnknown_08E95AB8, (void *) BG_SCREEN_ADDR(29), 20 * 32 * 2);
+ CpuCopy16(gUnknown_08E95AB8, BG_SCREEN_ADDR(29), 20 * 32 * 2);
LoadSlotMachineWheelOverlay();
}
@@ -102,7 +102,7 @@ static void LoadSlotMachineWheelOverlay(void) {
s16 x, y, dx;
u16 *screen;
- screen = (u16 *) BG_SCREEN_ADDR(30);
+ screen = BG_SCREEN_ADDR(30);
for (x = 4; x < 18; x += 5)
{
@@ -125,7 +125,7 @@ static void LoadSlotMachineWheelOverlay(void) {
}
void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) {
- u16 *vram = (u16 *) BG_SCREEN_ADDR(29);
+ u16 *vram = BG_SCREEN_ADDR(29);
vram[15 * 32 + arg0] = arg1;
vram[15 * 32 + 1 + arg0] = arg2;
@@ -137,9 +137,9 @@ void sub_81065DC(void) {
s16 y, x;
u16 *screen;
- CpuCopy16(gUnknown_08E95FB8, (void *) BG_SCREEN_ADDR(29), 20 * 32 * 2);
+ CpuCopy16(gUnknown_08E95FB8, BG_SCREEN_ADDR(29), 20 * 32 * 2);
- screen = (u16 *) BG_SCREEN_ADDR(30);
+ screen = BG_SCREEN_ADDR(30);
for (y = 0; y < 20; y++)
{
for (x = 0; x < 30; x++)
diff --git a/src/start_menu.c b/src/field/start_menu.c
index 6e44090df..6e44090df 100644
--- a/src/start_menu.c
+++ b/src/field/start_menu.c
diff --git a/src/starter_choose.c b/src/field/starter_choose.c
index 2b28df4f0..2b28df4f0 100644
--- a/src/starter_choose.c
+++ b/src/field/starter_choose.c
diff --git a/src/trader.c b/src/field/trader.c
index 61f48fad8..61f48fad8 100644
--- a/src/trader.c
+++ b/src/field/trader.c
diff --git a/src/trainer_see.c b/src/field/trainer_see.c
index 5a8ebbafc..85bd7ad0b 100644
--- a/src/trainer_see.c
+++ b/src/field/trainer_see.c
@@ -257,7 +257,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer
{
u8 direction;
- FieldObjectGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18);
FieldObjectSetSpecialAnim(trainerObj, direction);
diff --git a/src/tv.c b/src/field/tv.c
index 734cbad6f..87fc03065 100644
--- a/src/tv.c
+++ b/src/field/tv.c
@@ -123,7 +123,6 @@ void ClearTVShowData(void)
bool8 sub_80BF1B4(u8);
void sub_80BF20C(void);
-extern u16 sub_8135D3C(u8);
extern u8 gScriptContestCategory;
extern u8 gScriptContestRank;
extern u8 gUnknown_03004316[11];
@@ -674,12 +673,12 @@ void sub_80BE320(void)
bravoTrainerTower->var00 = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE;
bravoTrainerTower->var01 = 1;
StringCopy(bravoTrainerTower->trainerName, gSaveBlock2.playerName);
- StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.filler_A8.filler_3DC);
- bravoTrainerTower->species = gSaveBlock2.filler_A8.var_480;
- bravoTrainerTower->defeatedSpecies = gSaveBlock2.filler_A8.var_482;
- bravoTrainerTower->var16 = sub_8135D3C(gSaveBlock2.filler_A8.var_4D0);
- bravoTrainerTower->var1c = gSaveBlock2.filler_A8.var_4AD;
- if (gSaveBlock2.filler_A8.var_4D0 == 0)
+ StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.battleTower.defeatedByTrainerName);
+ bravoTrainerTower->species = gSaveBlock2.battleTower.firstMonSpecies;
+ bravoTrainerTower->defeatedSpecies = gSaveBlock2.battleTower.defeatedBySpecies;
+ bravoTrainerTower->var16 = GetCurrentBattleTowerWinStreak(gSaveBlock2.battleTower.lastStreakLevelType);
+ bravoTrainerTower->var1c = gSaveBlock2.battleTower.battleOutcome;
+ if (gSaveBlock2.battleTower.lastStreakLevelType == 0)
bravoTrainerTower->btLevel = 50;
else
bravoTrainerTower->btLevel = 100;
@@ -1555,7 +1554,7 @@ u16 sub_80BF674(u16 species)
rspecies = (Random() % (NUM_SPECIES - 1)) + 1;
cspecies = rspecies;
- while (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(cspecies), 0) != 1 || cspecies == species)
+ while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(cspecies), 0) != 1 || cspecies == species)
{
if (cspecies == SPECIES_BULBASAUR)
cspecies = NUM_SPECIES - 1;
@@ -2319,7 +2318,7 @@ void sub_80C03A8(u8 showidx)
void sub_80C03C8(u16 species, u8 showidx)
{
- if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == 0)
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == 0)
gSaveBlock1.tvShows[showidx].common.var01 = 0;
}
diff --git a/src/use_pokeblock.c b/src/field/use_pokeblock.c
index be3003680..5fbecec0d 100644
--- a/src/use_pokeblock.c
+++ b/src/field/use_pokeblock.c
@@ -1,5 +1,5 @@
//
-// Created by Scott Norton on 5/31/17.
+
// Modified by Dizzy Egg on 8/15/17.
//
@@ -22,10 +22,10 @@
#ifdef GERMAN
extern const u16 ConditionUpDownPalette[16];
-extern const u32 ConditionUpDownTiles[0x80];
+extern const u8 ConditionUpDownTiles[0x200];
#else
const u16 ConditionUpDownPalette[] = INCBIN_U16("graphics/misc/condition_up_down.gbapal");
-const u32 ConditionUpDownTiles[] = INCBIN_U32("graphics/misc/condition_up_down.4bpp");
+const u8 ConditionUpDownTiles[] = INCBIN_U8("graphics/misc/condition_up_down.4bpp");
#endif
static const u32 sContestStatsMonData[] = {
@@ -49,7 +49,7 @@ static const u8 *const sContextStatNames[] = {
};
static const struct SpriteSheet gSpriteSheet_ConditionUpDown = {
- (u8 *)ConditionUpDownTiles,
+ ConditionUpDownTiles,
sizeof ConditionUpDownTiles,
GFX_TAG_CONDITIONUPDOWN
};
diff --git a/src/wallclock.c b/src/field/wallclock.c
index 8db13dc2d..8db13dc2d 100644
--- a/src/wallclock.c
+++ b/src/field/wallclock.c
diff --git a/src/wild_encounter.c b/src/field/wild_encounter.c
index 390898917..390898917 100644
--- a/src/wild_encounter.c
+++ b/src/field/wild_encounter.c
diff --git a/src/agb_flash.c b/src/libs/agb_flash.c
index 340d469a7..5b171abcb 100644
--- a/src/agb_flash.c
+++ b/src/libs/agb_flash.c
@@ -9,7 +9,7 @@ static u16 sSavedIme;
u8 gFlashTimeoutFlag;
u8 (*PollFlashStatus)(u8 *);
u16 (*WaitForFlashWrite)(u8 phase, u8 *addr, u8 lastData);
-u16 (*ProgramFlashSector)(u16 sectorNum, u8 *src);
+u16 (*ProgramFlashSector)(u16 sectorNum, void *src);
const struct FlashType *gFlash;
u16 (*ProgramFlashByte)(u16 sectorNum, u32 offset, u8 data);
u16 gFlashNumRemainingBytes;
@@ -135,7 +135,7 @@ void ReadFlash_Core(u8 *src, u8 *dest, u32 size)
}
}
-void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size)
+void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size)
{
u8 *src;
u16 i;
@@ -256,7 +256,7 @@ u32 VerifyFlashSectorNBytes(u16 sectorNum, u8 *src, u32 n)
return verifyFlashSector_Core(src, tgt, n);
}
-u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) // 3rd is unused
+u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src)
{
u8 i;
u32 result;
@@ -275,18 +275,18 @@ u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) // 3rd is unused
return result; // return 0 if verified and programmed.
}
-u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n)
+u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n)
{
u8 i;
u32 result;
for (i = 0; i < 3; i++)
{
- result = ProgramFlashSector(sectorNum, src);
+ result = ProgramFlashSector(sectorNum, dataSrc);
if (result != 0)
continue;
- result = VerifyFlashSectorNBytes(sectorNum, src, n);
+ result = VerifyFlashSectorNBytes(sectorNum, dataSrc, n);
if (result == 0)
break;
}
diff --git a/src/agb_flash_1m.c b/src/libs/agb_flash_1m.c
index e249fab9a..e249fab9a 100644
--- a/src/agb_flash_1m.c
+++ b/src/libs/agb_flash_1m.c
diff --git a/src/agb_flash_le.c b/src/libs/agb_flash_le.c
index 39d956e27..39d956e27 100644
--- a/src/agb_flash_le.c
+++ b/src/libs/agb_flash_le.c
diff --git a/src/agb_flash_mx.c b/src/libs/agb_flash_mx.c
index 67348901f..b4f710f36 100644
--- a/src/agb_flash_mx.c
+++ b/src/libs/agb_flash_mx.c
@@ -157,7 +157,7 @@ static u16 ProgramByte(u8 *src, u8 *dest)
return WaitForFlashWrite(1, dest, *src);
}
-u16 ProgramFlashSector_MX(u16 sectorNum, u8 *src)
+u16 ProgramFlashSector_MX(u16 sectorNum, void *src)
{
u16 result;
u8 *dest;
diff --git a/src/libc.c b/src/libs/libc.c
index 920673e3e..920673e3e 100644
--- a/src/libc.c
+++ b/src/libs/libc.c
diff --git a/src/m4a_2.c b/src/libs/m4a_2.c
index 2d3c65848..2d3c65848 100644
--- a/src/m4a_2.c
+++ b/src/libs/m4a_2.c
diff --git a/src/m4a_4.c b/src/libs/m4a_4.c
index 2e1d140b4..2e1d140b4 100644
--- a/src/m4a_4.c
+++ b/src/libs/m4a_4.c
diff --git a/src/m4a_tables.c b/src/libs/m4a_tables.c
index 91f00a31d..91f00a31d 100644
--- a/src/m4a_tables.c
+++ b/src/libs/m4a_tables.c
diff --git a/src/siirtc.c b/src/libs/siirtc.c
index 965a068f1..965a068f1 100644
--- a/src/siirtc.c
+++ b/src/libs/siirtc.c
diff --git a/src/party_menu.c b/src/party_menu.c
deleted file mode 100644
index 39477e293..000000000
--- a/src/party_menu.c
+++ /dev/null
@@ -1,1494 +0,0 @@
-#include "global.h"
-#include "party_menu.h"
-#include "battle.h"
-#include "battle_interface.h"
-#include "battle_party_menu.h"
-#include "data2.h"
-#include "event_data.h"
-#include "item.h"
-#include "item_use.h"
-#include "mail_data.h"
-#include "main.h"
-#include "menu.h"
-#include "palette.h"
-#include "pokemon.h"
-#include "pokemon_item_effect.h"
-#include "pokemon_menu.h"
-#include "pokemon_summary_screen.h"
-#include "rom_8077ABC.h"
-#include "rom_8094928.h"
-#include "songs.h"
-#include "sound.h"
-#include "species.h"
-#include "sprite.h"
-#include "string_util.h"
-#include "strings.h"
-#include "task.h"
-#include "sprite.h"
-#include "palette.h"
-#include "event_data.h"
-#include "main.h"
-#include "item.h"
-#include "battle_interface.h"
-#include "species.h"
-#include "party_menu.h"
-
-struct Unk201C000
-{
- /*0x00*/ struct Pokemon *pokemon;
- /*0x04*/ u8 unk4;
- /*0x05*/ u8 unk5;
- /*0x06*/ u16 unk6;
- /*0x08*/ u16 unk8;
- /*0x0A*/ u8 pad_0A[2];
- /*0x0C*/ s32 unkC;
- /*0x10*/ TaskFunc unk10;
- /*0x14*/ TaskFunc unk14;
-};
-
-struct Unk201F000
-{
- u8 filler0[0xE00];
- u8 unkE00[3]; // not sure if this is an array or struct, or how big it is
-};
-
-struct UnknownStruct5
-{
- u8 unk0;
- u8 unk1;
- u16 *unk4;
-};
-
-#define ewram1C000 (*(struct Unk201C000 *)(ewram + 0x1C000))
-#define ewram1F000 (*(struct Unk201F000 *)(ewram + 0x1F000))
-
-extern u8 gUnknown_0202E8F4;
-extern u8 gUnknown_0202E8F6;
-extern u16 gUnknown_0202E8F8;
-extern u8 gUnknown_0202E8FA;
-extern u8 gLastFieldPokeMenuOpened;
-extern u8 gPlayerPartyCount;
-extern s32 gBattleMoveDamage;
-
-//extern const u16 gUnknown_083769A8[][6];
-//extern const u8 gUnknown_083769A8[][12];
-extern void *const gUnknown_08376858[][6];
-extern const u8 gUnknown_083769A8[];
-extern const u8 gUnknown_08376D1C[DATA_COUNT];
-extern const u16 gUnknown_08376504[];
-extern void (*const gUnknown_08376B54[])(u8);
-extern const u8 *const gUnknown_08376D04[DATA_COUNT];
-extern const struct UnknownStruct5 gUnknown_08376BB4[][6];
-
-static void sub_806E884(u8 taskId);
-
-/*
-void sub_806AEDC(void)
-{
- const struct UnknownStruct5 *r5;
- s32 i;
-
- AnimateSprites();
- BuildOamBuffer();
- r5 = gUnknown_08376BB4[gUnknown_0202E8FA];
- for (i = 0; i < 6; i++)
- sub_800142C(r5[i].unk0 * 8, r5[i].unk1 * 8, r5[i].unk4, 0, (i << 5) | 0x200);
- RunTasks();
- UpdatePaletteFade();
-}
-*/
-
-#if ENGLISH
-#define WINDOW_LEFT (3)
-#define WINDOW_RIGHT (26)
-#elif GERMAN
-#define WINDOW_LEFT (0)
-#define WINDOW_RIGHT (29)
-#endif
-
-u8 sub_806E834(const u8 *message, u8 arg1)
-{
- u8 taskId;
-
- gUnknown_0202E8F6 = 1;
-
- MenuDrawTextWindow(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
- MenuPrintMessage(message, WINDOW_LEFT + 1, 15);
-
- taskId = CreateTask(sub_806E884, 1);
- gTasks[taskId].data[0] = arg1;
-
- return taskId;
-}
-
-static void sub_806E884(u8 taskId)
-{
- if (MenuUpdateWindowText())
- {
- gUnknown_0202E8F6 = 0;
- if (gTasks[taskId].data[0] == 0)
- MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
- DestroyTask(taskId);
- }
-}
-
-void sub_806E8D0(u8 taskId, u16 b, TaskFunc c)
-{
- ewram1C000.unk10 = c;
- ewram1C000.unk4 = taskId;
- ewram1C000.unk5 = sub_806CA38(taskId);
- ewram1C000.unk6 = b;
- ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
-}
-
-bool8 PartyMenuUpdateMonHeldItem(struct Pokemon *pkmn, u16 item)
-{
- u8 itemData[2];
-
- if (ItemIsMail(item) == TRUE)
- {
- if (GiveMailToMon(pkmn, item) == 0xFF)
- return TRUE;
- gUnknown_0202E8F4 = 2;
- }
- else
- {
- gUnknown_0202E8F4 = 1;
- }
-
- itemData[0] = item;
- itemData[1] = item >> 8;
- SetMonData(pkmn, MON_DATA_HELD_ITEM, itemData);
- return FALSE;
-}
-
-void PartyMenuTryGiveMonHeldItem(u8 taskId, u16 newItem, TaskFunc c)
-{
- u16 currentItem;
-
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, newItem, c);
- currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
- gUnknown_0202E8F4 = 0;
- gUnknown_0202E8F8 = 0;
- if (currentItem != 0)
- {
- if (ItemIsMail(currentItem) == TRUE)
- {
- sub_806E834(gOtherText_MailMustBeRemoved, 1);
- CreateTask(party_menu_link_mon_held_item_object, 5);
- }
- else
- {
- GetMonNickname(ewram1C000.pokemon, gStringVar1);
- CopyItemName(currentItem, gStringVar2);
- StringExpandPlaceholders(gStringVar4, gOtherText_AlreadyHolding);
- sub_806E834(gStringVar4, 1);
- CreateTask(Task_ConfirmGiveHeldItem, 5);
- if (ItemIsMail(newItem) == TRUE)
- gUnknown_0202E8F8 = currentItem;
- }
- }
- else
- {
- PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, newItem);
- RemoveBagItem(newItem, 1);
- if (ItemIsMail(newItem))
- {
- gTasks[taskId].func = c;
- }
- else
- {
- DisplayGiveHeldItemMessage(ewram1C000.unk5, newItem, 1);
- CreateTask(party_menu_link_mon_held_item_object, 5);
- }
- }
-}
-
-void party_menu_link_mon_held_item_object(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
- gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
- DestroyTask(taskId);
- }
-}
-
-void PartyMenuTryGiveMonHeldItem_806EACC(u8 taskId)
-{
- s8 selection = ProcessMenuInputNoWrap_();
-
- if (selection == 0)
- {
- u16 currentItem;
-
- MenuZeroFillWindowRect(23, 8, 29, 13);
- currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
- RemoveBagItem(ewram1C000.unk6, 1);
- if (AddBagItem(currentItem, 1) == TRUE)
- {
- PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, ewram1C000.unk6);
- if (ItemIsMail(ewram1C000.unk6))
- {
- DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 1);
- }
- else
- {
- CopyItemName(ewram1C000.unk6, gStringVar1);
- StringExpandPlaceholders(gStringVar4, gOtherText_TakenAndReplaced);
- sub_806E834(gStringVar4, 1);
- }
- }
- else
- {
- sub_806E834(gOtherText_BagFullCannotRemoveItem, 0);
- AddBagItem(ewram1C000.unk6, 1);
- }
- }
- else
- {
- if (selection != 1 && selection != -1)
- return;
- if (selection == -1)
- PlaySE(SE_SELECT);
- MenuZeroFillWindowRect(23, 8, 29, 13);
- }
- gTasks[taskId].func = party_menu_link_mon_held_item_object;
-}
-
-void Task_ConfirmGiveHeldItem(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- DisplayYesNoMenu(23, 8, 1);
- gTasks[taskId].func = PartyMenuTryGiveMonHeldItem_806EACC;
- }
-}
-
-void DisplayGiveHeldItemMessage(u8 a, u16 b, u8 c)
-{
- GetMonNickname(&gPlayerParty[a], gStringVar1);
- CopyItemName(b, gStringVar2);
- StringExpandPlaceholders(gStringVar4, gOtherText_WasGivenToHold);
- sub_806E834(gStringVar4, c);
-}
-
-
-// Not sure about this one for now.
-/*
-void PartyMenuTryGiveMonMail(u8 taskId, TaskFunc func)
-{
- u16 currentItem;
- struct MailStruct *r4;
-
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, 0, func);
- currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
- gUnknown_0202E8F4 = 0;
- r4 = &gSaveBlock1.mail[ewram1F000.unkE00[0] + ewram1F000.unkE00[2]];
- if (currentItem != 0)
- {
- sub_806E834(gOtherText_PokeHoldingItemCantMail, 1);
- CreateTask(party_menu_link_mon_held_item_object, 5);
- }
- else
- {
- GiveMailToMon2(ewram1C000.pokemon, r4);
- ClearMailStruct(r4);
- sub_806E834(gOtherText_MailTransferredMailbox, 1);
- CreateTask(party_menu_link_mon_held_item_object, 5);
- }
-}
-*/
-__attribute__((naked))
-void PartyMenuTryGiveMonMail(u8 taskId, TaskFunc func)
-{
- asm(".syntax unified\n\
- push {r4,r5,lr}\n\
- adds r2, r1, 0\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- ldr r3, _0806ECA0 @ =gTasks\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 3\n\
- adds r1, r3\n\
- ldr r3, _0806ECA4 @ =TaskDummy\n\
- str r3, [r1]\n\
- movs r1, 0\n\
- bl sub_806E8D0\n\
- ldr r5, _0806ECA8 @ =0x0201c000\n\
- ldr r0, [r5]\n\
- movs r1, 0xC\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- ldr r2, _0806ECAC @ =gUnknown_0202E8F4\n\
- movs r1, 0\n\
- strb r1, [r2]\n\
- movs r1, 0xF8\n\
- lsls r1, 6\n\
- adds r2, r5, r1\n\
- ldrb r1, [r2]\n\
- adds r1, 0x6\n\
- ldrb r2, [r2, 0x2]\n\
- adds r1, r2\n\
- lsls r2, r1, 3\n\
- adds r2, r1\n\
- lsls r2, 2\n\
- ldr r1, _0806ECB0 @ =gSaveBlock1 + 0x2B4C\n\
- adds r4, r2, r1\n\
- cmp r0, 0\n\
- beq _0806ECBC\n\
- ldr r0, _0806ECB4 @ =gOtherText_PokeHoldingItemCantMail\n\
- movs r1, 0x1\n\
- bl sub_806E834\n\
- ldr r0, _0806ECB8 @ =party_menu_link_mon_held_item_object\n\
- movs r1, 0x5\n\
- bl CreateTask\n\
- b _0806ECDA\n\
- .align 2, 0\n\
-_0806ECA0: .4byte gTasks\n\
-_0806ECA4: .4byte TaskDummy\n\
-_0806ECA8: .4byte 0x0201c000\n\
-_0806ECAC: .4byte gUnknown_0202E8F4\n\
-_0806ECB0: .4byte gSaveBlock1 + 0x2B4C\n\
-_0806ECB4: .4byte gOtherText_PokeHoldingItemCantMail\n\
-_0806ECB8: .4byte party_menu_link_mon_held_item_object\n\
-_0806ECBC:\n\
- ldr r0, [r5]\n\
- adds r1, r4, 0\n\
- bl GiveMailToMon2\n\
- adds r0, r4, 0\n\
- bl ClearMailStruct\n\
- ldr r0, _0806ECE0 @ =gOtherText_MailTransferredMailbox\n\
- movs r1, 0x1\n\
- bl sub_806E834\n\
- ldr r0, _0806ECE4 @ =party_menu_link_mon_held_item_object\n\
- movs r1, 0x5\n\
- bl CreateTask\n\
-_0806ECDA:\n\
- pop {r4,r5}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_0806ECE0: .4byte gOtherText_MailTransferredMailbox\n\
-_0806ECE4: .4byte party_menu_link_mon_held_item_object\n\
- .syntax divided\n");
-}
-
-void PartyMenuTryGiveMonHeldItem_806ECE8(u8 taskId, TaskFunc func)
-{
- u16 currentItem;
-
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, 0, func);
- currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
- if (currentItem == 0)
- {
- StringExpandPlaceholders(gStringVar4, gOtherText_NotHoldingAnything);
- sub_806E834(gStringVar4, 0);
- CreateTask(party_menu_link_mon_held_item_object, 5);
- }
- else
- {
- u8 itemData[2];
-
- itemData[0] = 0;
- itemData[1] = 0;
- if (AddBagItem(currentItem, 1) == TRUE)
- {
- if (ItemIsMail(currentItem) == TRUE)
- TakeMailFromMon(ewram1C000.pokemon);
- DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 0);
- SetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM, itemData);
- }
- else
- {
- sub_806E834(gOtherText_BagFullCannotRemoveItem, 0);
- }
- CreateTask(party_menu_link_mon_held_item_object, 5);
- }
-}
-
-void DisplayTakeHeldItemMessage(u8 a, u16 b, u8 c)
-{
- GetMonNickname(&gPlayerParty[a], gStringVar1);
- CopyItemName(b, gStringVar2);
- StringExpandPlaceholders(gStringVar4, gOtherText_ReceivedTheThingFrom);
- sub_806E834(gStringVar4, c);
-}
-
-void DoTakeMail(u8 taskId, TaskFunc func)
-{
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, 0, func);
- ewram1C000.unk6 = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
- sub_806E834(gOtherText_SendRemovedMailPrompt, 1);
- CreateTask(Task_ConfirmTakeHeldMail, 5);
-}
-
-void Task_LoseMailMessage(u8 taskId)
-{
- s8 selection = ProcessMenuInputNoWrap_();
-
- if (selection == 0)
- {
- if (AddBagItem(ewram1C000.unk6, 1) == TRUE)
- {
- TakeMailFromMon(ewram1C000.pokemon);
- sub_806E834(gOtherText_MailTaken, 0);
- }
- else
- {
- sub_806E834(gOtherText_BagFullCannotRemoveItem, 0);
- }
- MenuZeroFillWindowRect(23, 8, 29, 13);
- gTasks[taskId].func = party_menu_link_mon_held_item_object;
- }
- else
- {
- if (selection != 1 && selection != -1)
- return;
- if (selection == -1)
- PlaySE(SE_SELECT);
- MenuZeroFillWindowRect(23, 8, 29, 13);
- MenuZeroFillWindowRect(0, 14, 29, 19);
- gTasks[taskId].func = party_menu_link_mon_held_item_object;
- }
-}
-
-void Task_ConfirmLoseMailMessage(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- DisplayYesNoMenu(23, 8, 1);
- gTasks[taskId].func = Task_LoseMailMessage;
- }
-}
-
-void Task_TakeHeldMail(u8 taskId)
-{
- s8 selection = ProcessMenuInputNoWrap_();
-
- if (selection == 0)
- {
- MenuZeroFillWindowRect(23, 8, 29, 13);
- if (TakeMailFromMon2(ewram1C000.pokemon) != 0xFF)
- sub_806E834(gOtherText_MailWasSent, 0);
- else
- sub_806E834(gOtherText_MailboxIsFull, 0);
- gTasks[taskId].func = party_menu_link_mon_held_item_object;
- }
- else
- {
- if (selection != 1 && selection != -1)
- return;
- if (selection == -1)
- PlaySE(SE_SELECT);
- MenuZeroFillWindowRect(23, 8, 29, 13);
- sub_806E834(gOtherText_MailRemovedMessageLost, 1);
- gTasks[taskId].func = Task_ConfirmLoseMailMessage;
- }
-}
-
-void Task_ConfirmTakeHeldMail(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- DisplayYesNoMenu(23, 8, 1);
- gTasks[taskId].func = Task_TakeHeldMail;
- }
-}
-
-u16 ItemIdToBattleMoveId(u16 item)
-{
- u16 moveId = item - 289;
-
- return gUnknown_08376504[moveId];
-}
-
-bool8 pokemon_has_move(struct Pokemon *pkmn, u16 move)
-{
- u8 i;
-
- for (i = 0; i < 4; i++)
- {
- if (GetMonData(pkmn, MON_DATA_MOVE1 + i) == move)
- return TRUE;
- }
- return FALSE;
-}
-
-void TeachMonTMMove(u8 taskId, u16 move, TaskFunc func)
-{
- PlaySE(SE_SELECT);
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, move, func);
- CreateTask(Task_TeamMonTMMove, 5);
-}
-
-void Task_TeamMonTMMove(u8 taskId)
-{
- GetMonNickname(ewram1C000.pokemon, gStringVar1);
- ewram1C000.unk8 = ItemIdToBattleMoveId(ewram1C000.unk6);
- StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
- ewram1B000.unk282 = 0;
- if (pokemon_has_move(ewram1C000.pokemon, ewram1C000.unk8))
- {
- StringExpandPlaceholders(gStringVar4, gOtherText_AlreadyKnows);
- sub_806E834(gStringVar4, 1);
- gTasks[taskId].func = party_menu_link_mon_held_item_object;
- }
- else
- {
- if (!CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33))
- {
- StringExpandPlaceholders(gStringVar4, gOtherText_NotCompatible);
- sub_806E834(gStringVar4, 1);
- gTasks[taskId].func = party_menu_link_mon_held_item_object;
- }
- else
- {
- if (GiveMoveToMon(ewram1C000.pokemon, ewram1C000.unk8) != 0xFFFF)
- {
- Task_TeamMonTMMove2(taskId);
- }
- else
- {
- StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn);
- sub_806E834(gStringVar4, 1);
- gTasks[taskId].func = sub_806F358;
- }
- }
- }
-}
-
-void Task_TeamMonTMMove2(u8 taskId)
-{
- StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
- StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove);
- sub_806E834(gStringVar4, 1);
- AdjustFriendship(ewram1C000.pokemon, 4);
- if (ewram1B000.unk282 == 0 && ewram1C000.unk6 <= 0x152)
- RemoveBagItem(ewram1C000.unk6, 1);
- gTasks[taskId].func = Task_TeamMonTMMove3;
-}
-
-void Task_TeamMonTMMove3(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- PlayFanfare(BGM_FANFA1);
- gTasks[taskId].func = Task_TeamMonTMMove4;
- }
-}
-
-void Task_TeamMonTMMove4(u8 taskId)
-{
- if (IsFanfareTaskInactive())
- {
- if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
- {
- SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
- if (ewram1B000.unk282 == 1)
- {
- sub_8070C54(taskId);
- }
- else
- {
- gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
- DestroyTask(taskId);
- }
- }
- }
-}
-
-void sub_806F2FC(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
- if (ewram1B000.unk282 == 1)
- {
- sub_8070C54(taskId);
- }
- else
- {
- gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
- DestroyTask(taskId);
- }
- }
-}
-
-void sub_806F358(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- DisplayYesNoMenu(23, 8, 1);
- gTasks[taskId].func = sub_806F390;
- }
-}
-
-void sub_806F390(u8 taskId)
-{
- s8 selection = ProcessMenuInputNoWrap_();
-
- if (selection == 0)
- {
- MenuZeroFillWindowRect(23, 8, 29, 13);
- sub_806E834(gOtherText_WhichMoveToForget2, 1);
- gTasks[taskId].func = sub_806F44C;
- }
- else
- {
- if (selection != 1 && selection != -1)
- return;
- if (selection == -1)
- PlaySE(SE_SELECT);
- StopTryingToTeachMove_806F614(taskId);
- }
-}
-
-void sub_806F3FC(u8 taskId)
-{
- if (!gPaletteFade.active)
- {
- sub_809D9F0(gPlayerParty, ewram1C000.unk5, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8);
- DestroyTask(taskId);
- }
-}
-
-void sub_806F44C(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
- gTasks[taskId].func = sub_806F3FC;
- }
-}
-
-void TaughtMove(u8 taskId)
-{
- if (!gPaletteFade.active)
- {
- u8 moveIndex;
- u16 r4;
-
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, gScriptItemId, sub_808B508);
- moveIndex = sub_809FA30();
- r4 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + moveIndex);
- GetMonNickname(ewram1C000.pokemon, gStringVar1);
- StringCopy(gStringVar2, gMoveNames[r4]);
- StringExpandPlaceholders(gStringVar4, gOtherText_ForgetMove123_2);
- sub_806E834(gStringVar4, 1);
- CreateTask(TMMoveUpdateMoveSlot, 5);
- }
-}
-
-void TMMoveUpdateMoveSlot(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- RemoveMonPPBonus(ewram1C000.pokemon, sub_809FA30());
- SetMonMoveSlot(ewram1C000.pokemon, ewram1C000.unk8, sub_809FA30());
- Task_TeamMonTMMove2(taskId);
- }
-}
-
-void StopTryingToTeachMove_806F588(u8 taskId)
-{
- if (!gPaletteFade.active)
- {
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, gScriptItemId, sub_808B508);
- StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
- StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo);
- sub_806E834(gStringVar4, 1);
- CreateTask(StopTryingToTeachMove_806F67C, 5);
- }
-}
-
-void StopTryingToTeachMove_806F614(u8 taskId)
-{
- MenuZeroFillWindowRect(23, 8, 29, 13);
- StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
- StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo);
- sub_806E834(gStringVar4, 1);
- gTasks[taskId].func = StopTryingToTeachMove_806F67C;
-}
-
-void StopTryingToTeachMove_806F67C(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- DisplayYesNoMenu(23, 8, 1);
- gTasks[taskId].func = StopTryingToTeachMove_806F6B4;
- }
-}
-
-void StopTryingToTeachMove_806F6B4(u8 taskId)
-{
- s8 selection = ProcessMenuInputNoWrap_();
-
- if (selection == 0)
- {
- MenuZeroFillWindowRect(23, 8, 29, 13);
- GetMonNickname(ewram1C000.pokemon, gStringVar1);
- StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
- StringExpandPlaceholders(gStringVar4, gOtherText_DidNotLearnMove2);
- sub_806E834(gStringVar4, 1);
- gTasks[taskId].func = sub_806F2FC;
- }
- else
- {
- if (selection != 1 && selection != -1)
- return;
- if (selection == -1)
- PlaySE(SE_SELECT);
- MenuZeroFillWindowRect(23, 8, 29, 13);
- GetMonNickname(ewram1C000.pokemon, gStringVar1);
- StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
- StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn);
- sub_806E834(gStringVar4, 1);
- gTasks[taskId].func = sub_806F358;
- }
-}
-
-bool8 IsHMMove(u16 move)
-{
- u8 i;
-
- for (i = 0; i < 8; i++)
- {
- if (gUnknown_08376504[50 + i] == move)
- return TRUE;
- }
- return FALSE;
-}
-
-s16 sub_806F7E8(u8 taskId, struct BattleInterfaceStruct1 *b, s8 c)
-{
- s16 *taskData;
- u8 hpBarLevel;
- void *vramPtr;
-
- taskData = gTasks[taskId].data;
-
- b->unk0 = taskData[10];
- b->unk4 = taskData[11];
- b->unk8 = taskData[12] * c;
- b->unk10 = 0x100;
- hpBarLevel = GetHPBarLevel(ewram1B000.unk282, b->unk0);
- if (hpBarLevel > 2)
- b->unkC_0 = 4;
- if (hpBarLevel == 2)
- b->unkC_0 = 5;
- if (hpBarLevel < 2)
- b->unkC_0 = 6;
- vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.unk5];
- return sub_80460C8(b, &ewram1C000.unkC, vramPtr, 0);
-}
-
-void sub_806F8AC(u8 taskId)
-{
- struct BattleInterfaceStruct1 sp0;
- u16 sp14;
-
- ewram1B000.unk282 = sub_806F7E8(taskId, &sp0, -1);
- if (ewram1B000.unk282 == -1)
- {
- ewram1C000.unkC = 0;
- if (-sp0.unk8 + sp0.unk4 > sp0.unk0)
- sp14 = sp0.unk0 - sp0.unk4;
- else
- sp14 = -sp0.unk8;
- gBattleMoveDamage = -sp14;
- GetMonNickname(ewram1C000.pokemon, gStringVar1);
- ConvertIntToDecimalStringN(gStringVar2, sp14, 0, 3);
- if (gTasks[taskId].data[14] == 0)
- StringExpandPlaceholders(gStringVar4, gOtherText_HPRestoredBy);
- else
- StringExpandPlaceholders(gStringVar4, gOtherText_RegainedHealth);
- SetMonIconAnim(GetMonIconSpriteId_maybe(ewram1C000.unk4, ewram1C000.unk5), ewram1C000.pokemon);
- task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 7);
- ewram1B000.unk261 = 2;
- sub_806E834(gStringVar4, 1);
- sp14 += sp0.unk4;
- SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&sp14);
- RemoveBagItem(ewram1C000.unk6, 1);
- sub_8032638();
- gTasks[taskId].func = sub_806FB44;
- }
- else
- {
- PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0);
- }
-}
-
-void sub_806FA18(u8 taskId)
-{
- struct BattleInterfaceStruct1 sp0;
-
- ewram1B000.unk282 = sub_806F7E8(taskId, &sp0, 1);
- if (ewram1B000.unk282 == -1)
- {
- PlaySE(SE_KAIFUKU);
- ewram1C000.unkC = 0;
- gTasks[taskId].data[11] -= gTasks[taskId].data[12];
- SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&gTasks[taskId].data[11]);
- SetMonIconAnim(GetMonIconSpriteId_maybe(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon);
- ewram1C000.unk5 = gSprites[ewram01000.unk2].data0;
- ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
- gTasks[taskId].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
- gTasks[taskId].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
- ewram1C000.unkC = -32768;
- ewram1C000.unk14 = ewram1C000.unk10;
- gTasks[taskId].func = sub_806F8AC;
- ewram1B000.unk282 = gTasks[taskId].data[11];
- }
- else
- {
- PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0);
- }
-}
-
-void sub_806FB0C(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
- DestroyTask(taskId);
- }
-}
-
-void sub_806FB44(u8 taskId)
-{
- if (gUnknown_0202E8F6 == 0)
- {
- gTasks[ewram1C000.unk4].func = ewram1C000.unk14;
- DestroyTask(taskId);
- }
-}
-
-bool8 IsHPRecoveryItem(u16 item)
-{
- const u8 *itemEffect;
-
- if (item == 0xAF)
- itemEffect = gSaveBlock1.enigmaBerry.itemEffect;
- else
- itemEffect = gItemEffectTable[item - 13];
-
- if (itemEffect[4] & 4)
- return TRUE;
- else
- return FALSE;
-}
-
-void PartyMenuUpdateLevelOrStatus(struct Pokemon *pkmn, u8 b)
-{
- PartyMenuClearLevelStatusTilemap(b);
- PartyMenuPrintMonLevelOrStatus(b, pkmn);
-}
-
-void GetMedicineItemEffectMessage(u16 item)
-{
- switch (GetItemEffectType(item))
- {
- case 3:
- StringExpandPlaceholders(gStringVar4, gOtherText_CuredPoisoning);
- break;
- case 4:
- StringExpandPlaceholders(gStringVar4, gOtherText_WokeUp);
- break;
- case 5:
- StringExpandPlaceholders(gStringVar4, gOtherText_BurnHealed);
- break;
- case 6:
- StringExpandPlaceholders(gStringVar4, gOtherText_ThawedOut);
- break;
- case 7:
- StringExpandPlaceholders(gStringVar4, gOtherText_CuredParalysis);
- break;
- case 8:
- StringExpandPlaceholders(gStringVar4, gOtherText_SnapConfusion);
- break;
- case 9:
- StringExpandPlaceholders(gStringVar4, gOtherText_GotOverLove);
- break;
- case 11:
- StringExpandPlaceholders(gStringVar4, gOtherText_BecameHealthy);
- break;
- case 13:
- StringCopy(gStringVar2, gOtherText_Hp2);
- StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
- break;
- case 12:
- StringCopy(gStringVar2, gOtherText_Attack);
- StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
- break;
- case 17:
- StringCopy(gStringVar2, gOtherText_Defense);
- StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
- break;
- case 16:
- StringCopy(gStringVar2, gOtherText_Speed);
- StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
- break;
- case 14:
- StringCopy(gStringVar2, gOtherText_SpAtk2);
- StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
- break;
- case 15:
- StringCopy(gStringVar2, gOtherText_SpDef2);
- StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised);
- break;
- case 19:
- case 20:
- StringExpandPlaceholders(gStringVar4, gOtherText_PPIncreased);
- break;
- case 21:
- StringExpandPlaceholders(gStringVar4, gOtherText_PPRestored);
- break;
- default:
- StringExpandPlaceholders(gStringVar4, gOtherText_WontHaveAnyEffect);
- break;
- }
-}
-
-bool8 IsMedicineIneffective(struct Pokemon *pkmn, u16 item)
-{
- if (GetItemEffectType(item) == 13
- && GetMonData(pkmn, MON_DATA_SPECIES) == SPECIES_SHEDINJA)
- return TRUE;
- else
- return FALSE;
-}
-
-bool8 ExecuteTableBasedItemEffect__(u8 a, u16 b, u8 c)
-{
- if (gMain.inBattle)
- return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, sub_8094C20(a), c);
- else
- return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, a, c);
-}
-
-void UseMedicine(u8 taskId, u16 item, TaskFunc func)
-{
- u8 r7;
- bool8 r9 = FALSE;
- bool8 r0;
-
- gTasks[taskId].func = TaskDummy;
- r7 = CreateTask(TaskDummy, 5);
- sub_806E8D0(taskId, item, func);
- if (!IsMedicineIneffective(ewram1C000.pokemon, item))
- {
- r9 = IsHPRecoveryItem(item);
- if (r9 == TRUE)
- {
- gTasks[r7].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
- gTasks[r7].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
- if (gTasks[r7].data[10] == gTasks[r7].data[11])
- {
- r9 = FALSE;
- gTasks[r7].data[10] = 0;
- gTasks[r7].data[11] = 0;
- }
- }
- r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, item, 0);
- }
- else
- {
- r0 = TRUE;
- }
-
- if (r0)
- {
- gUnknown_0202E8F4 = 0;
- PlaySE(SE_SELECT);
- sub_806E834(gOtherText_WontHaveAnyEffect, 1);
- gTasks[r7].func = sub_806FB0C;
- }
- else
- {
- u8 statusAndPkrs;
-
- gUnknown_0202E8F4 = 1;
- if (!IsBlueYellowRedFlute(item))
- PlaySE(SE_KAIFUKU);
- else
- PlaySE(SE_BIDORO);
- statusAndPkrs = GetMonStatusAndPokerus(ewram1C000.pokemon);
- if (statusAndPkrs == 6 || statusAndPkrs == 0)
- PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5);
- if (r9 == TRUE)
- {
- gTasks[r7].data[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - gTasks[r7].data[11];
- ewram1C000.unkC = -32768;
- if (gTasks[r7].data[11] == 0)
- gTasks[r7].data[14] = 1;
- else
- gTasks[r7].data[14] = 0;
- ewram1C000.unk14 = ewram1C000.unk10;
- gTasks[r7].func = sub_806F8AC;
- ewram1B000.unk282 = gTasks[r7].data[11];
- }
- else
- {
- GetMonNickname(ewram1C000.pokemon, gStringVar1);
- if (!IsBlueYellowRedFlute(item))
- RemoveBagItem(item, 1);
- GetMedicineItemEffectMessage(item);
- TryPrintPartyMenuMonNickname(ewram1C000.unk5, ewram1C000.pokemon);
- sub_806E834(gStringVar4, 1);
- gTasks[r7].func = sub_806FB0C;
- }
- }
-}
-
-bool8 IsBlueYellowRedFlute(u16 item)
-{
- if (item == 0x27
- || item == 0x29
- || item == 0x28)
- return TRUE;
- else
- return FALSE;
-}
-
-void sub_8070048(u8 taskId, u16 item, TaskFunc func)
-{
- ewram1C000.unk10 = func;
- ewram1C000.unk4 = taskId;
- ewram1C000.unk6 = item;
- ewram1C000.unk5 = 0;
- ewram1C000.unk14 = sub_80701DC;
- ewram1B000.unk27E = 0;
- ewram1B000.unk280 = 0;
- sub_8070088(taskId);
-}
-
-void sub_8070088(u8 taskId)
-{
- u8 taskId2;
-
- gTasks[taskId].func = TaskDummy;
- if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) == 0)
- {
- gTasks[taskId].func = sub_80701DC;
- }
- else
- {
- s16 *taskData;
-
- taskId2 = CreateTask(TaskDummy, 5);
- taskData = gTasks[taskId2].data;
- ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
- taskData[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
- taskData[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
- if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, 0))
- {
- DestroyTask(taskId2);
- gTasks[taskId].func = sub_80701DC;
- }
- else
- {
- gUnknown_0202E8F4 = 1;
- MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
- PlaySE(SE_KAIFUKU);
- PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5);
- task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 9);
- ewram1B000.unk261 = 2;
- taskData[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - taskData[11];
- taskData[14] = 1;
- ewram1B000.unk27E = 1;
- ewram1B000.unk280 = 1;
- ewram1B000.unk282 = taskData[11];
- ewram1C000.unkC = -32768;
- gTasks[taskId2].func = sub_806F8AC;
- }
- }
-}
-
-void sub_80701DC(u8 taskId)
-{
- if (ewram1B000.unk27E == 1)
- {
- AddBagItem(ewram1C000.unk6, 1);
- if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) != 0)
- {
- task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 3);
- ewram1B000.unk261 = 2;
- }
- ewram1B000.unk27E = 0;
- }
- ewram1C000.unk5++;
- if (ewram1C000.unk5 == 6)
- {
- gUnknown_0202E8F4 = 0;
- if (ewram1B000.unk280 == 0)
- {
- gTasks[taskId].func = TaskDummy;
- sub_806E834(gOtherText_WontHaveAnyEffect, 1);
- CreateTask(sub_806FB0C, 8);
- }
- else
- {
- RemoveBagItem(ewram1C000.unk6, 1);
- gTasks[taskId].func = ewram1C000.unk10;
- }
- gLastFieldPokeMenuOpened = 0;
- }
- else
- {
- sub_8070088(taskId);
- }
-}
-
-void CreateItemUseMoveMenu(u8 partyMonIndex)
-{
- u8 r6;
- u8 i;
-
- r6 = 0;
- MenuDrawTextWindow(19, 10, 29, 19);
- for (i = 0; i < 4; i++)
- {
- u16 move = GetMonData(&gPlayerParty[partyMonIndex], MON_DATA_MOVE1 + i);
-
- MenuPrint(gMoveNames[move], 20, i * 2 + 11);
- if (move != 0)
- r6++;
- }
- InitMenu(0, 20, 11, r6, 0, 9);
-}
-
-void Task_HandleItemUseMoveMenuInput(u8 taskId)
-{
- if (gMain.newKeys & DPAD_UP)
- {
- PlaySE(SE_SELECT);
- MoveMenuCursor(-1);
- }
- else if (gMain.newKeys & DPAD_DOWN)
- {
- PlaySE(SE_SELECT);
- MoveMenuCursor(1);
- }
- else if (gMain.newKeys & A_BUTTON)
- {
- gUnknown_08376B54[0](taskId);
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- gUnknown_08376B54[1](taskId);
- }
-}
-
-void DoPPRecoveryItemEffect(u8 taskId, u16 b, TaskFunc c)
-{
- const u8 *itemEffect;
- u8 taskId2;
-
- if (b == 0xAF)
- itemEffect = gSaveBlock1.enigmaBerry.itemEffect;
- else
- itemEffect = gItemEffectTable[b - 13];
- gTasks[taskId].func = TaskDummy;
- taskId2 = CreateTask(TaskDummy, 5);
- sub_806E8D0(taskId, b, c);
- if (!(itemEffect[4] & 0x10))
- {
- gTasks[taskId2].data[11] = 0;
- DoRecoverPP(taskId2);
- }
- else
- {
- PlaySE(SE_SELECT);
- sub_806D538(10, 3);
- CreateItemUseMoveMenu(ewram1C000.unk5);
- gTasks[taskId2].func = Task_HandleItemUseMoveMenuInput;
- gMain.newKeys = 0;
- }
-}
-
-void ItemUseMoveMenu_HandleMoveSelection(u8 taskId)
-{
- HandleDestroyMenuCursors();
- MenuZeroFillWindowRect(19, 10, 29, 19);
- sub_806D5A4();
- gTasks[taskId].data[11] = GetMenuCursorPos();
- DoRecoverPP(taskId);
-}
-
-void ItemUseMoveMenu_HandleCancel(u8 taskId)
-{
- HandleDestroyMenuCursors();
- MenuZeroFillWindowRect(19, 10, 29, 19);
- if (gMain.inBattle)
- gTasks[ewram1C000.unk4].func = SetUpBattlePokemonMenu;
- else
- gTasks[ewram1C000.unk4].func = sub_808B0C0;
- sub_806D538(3, 0);
- DestroyTask(taskId);
-}
-
-void DoRecoverPP(u8 taskId)
-{
- u16 r5 = 0;
-
- if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, gTasks[taskId].data[11]))
- {
- gUnknown_0202E8F4 = r5;
- PlaySE(SE_SELECT);
- sub_806E834(gOtherText_WontHaveAnyEffect, 1);
- }
- else
- {
- gUnknown_0202E8F4 = 1;
- PlaySE(SE_KAIFUKU);
- RemoveBagItem(ewram1C000.unk6, 1);
- r5 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + gTasks[taskId].data[11]);
- StringCopy(gStringVar1, gMoveNames[r5]);
- GetMedicineItemEffectMessage(ewram1C000.unk6);
- sub_806E834(gStringVar4, 1);
- }
- gTasks[taskId].func = sub_806FB0C;
-}
-
-void DoPPUpItemEffect(u8 taskId, u16 b, TaskFunc c)
-{
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, b, c);
- PlaySE(SE_SELECT);
- sub_806D538(11, 3);
- CreateItemUseMoveMenu(ewram1C000.unk5);
- CreateTask(Task_HandleItemUseMoveMenuInput, 5);
- gMain.newKeys = 0;
-}
-
-void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c)
-{
- u8 i;
- bool8 r0;
-
- gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, b, c);
-
- if (GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL) != 100)
- {
- for (i = 0; i < 6; i++)
- ewram1B000.unk264[i] = GetMonData(ewram1C000.pokemon, gUnknown_08376D1C[i]);
- r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, b, 0);
- }
- else
- r0 = TRUE;
-
- if (r0)
- {
- gUnknown_0202E8F4 = 0;
- PlaySE(SE_SELECT);
- sub_806E834(gOtherText_WontHaveAnyEffect, 1);
- CreateTask(sub_806FB0C, 5);
- }
- else
- {
- u8 level;
-
- gUnknown_0202E8F4 = 1;
- PlayFanfareByFanfareNum(0);
- sub_8070A20(ewram1C000.unk5, ewram1C000.pokemon);
- RemoveBagItem(b, 1);
- GetMonNickname(ewram1C000.pokemon, gStringVar1);
- level = GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL);
- ConvertIntToDecimalStringN(gStringVar2, level, 0, 3);
- StringExpandPlaceholders(gStringVar4, gOtherText_ElevatedTo);
- sub_806E834(gStringVar4, 1);
- CreateTask(Task_RareCandy1, 5);
- }
-}
-
-void Task_RareCandy1(u8 taskId)
-{
- if (WaitFanfare(0) && gUnknown_0202E8F6 == 0)
- {
- if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
- {
- PlaySE(SE_SELECT);
- sub_8070848(taskId);
- gTasks[taskId].func = Task_RareCandy2;
- }
- }
-}
-
-void Task_RareCandy2(u8 taskId)
-{
- if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
- {
- PlaySE(SE_SELECT);
- sub_8070968(taskId);
- gTasks[taskId].func = Task_RareCandy3;
- }
-}
-
-#if ENGLISH
-void sub_8070848(u8 taskId)
-{
- u8 i;
-
- MenuDrawTextWindow(11, 0, 29, 7);
-
- for (i = 0; i < DATA_COUNT; i++)
- {
- u8 x;
- u8 y;
- u32 stat;
-
- stat = GetMonData(ewram1C000.pokemon, gUnknown_08376D1C[i]);
-
- ewram1B000.unk264[i + DATA_COUNT] = stat;
- ewram1B000.unk264[i] = stat - ewram1B000.unk264[i];
-
- x = (i / 3) * 9 + 11;
- y = ((i % 3) << 1) + 1;
-
- MenuPrint_PixelCoords(gUnknown_08376D04[i], (x + 1) * 8, y * 8, 1);
-
- if (i == 2)
- MenuPrint_PixelCoords(gOtherText_TallPlusAndRightArrow, (x + 6) * 8 + 6, y * 8, 0);
- else
- MenuPrint_PixelCoords(gOtherText_TallPlusAndRightArrow, (x + 6) * 8 + 6, y * 8, 1);
-
- gStringVar1[0] = EXT_CTRL_CODE_BEGIN;
- gStringVar1[1] = 0x14;
- gStringVar1[2] = 0x06;
-
- ConvertIntToDecimalStringN(gStringVar1 + 3, ewram1B000.unk264[i], 1, 2);
-
- MenuPrint_PixelCoords(gStringVar1, (x + 6) * 8 + 12, y * 8, 0);
- }
-}
-#elif GERMAN
-__attribute__((naked))
-void sub_8070848(u8 taskId) {
- 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\
- movs r0, 0xB\n\
- movs r1, 0\n\
- movs r2, 0x1D\n\
- movs r3, 0x7\n\
- bl MenuDrawTextWindow\n\
- movs r7, 0\n\
- ldr r0, _0807092C @ =gStringVar1\n\
- mov r10, r0\n\
- movs r1, 0xFC\n\
- mov r9, r1\n\
- movs r2, 0x13\n\
- mov r8, r2\n\
-_0807086C:\n\
- ldr r1, _08070930 @ =0x0201c000\n\
- ldr r0, [r1]\n\
- ldr r1, _08070934 @ =gUnknown_08376D1C\n\
- adds r1, r7, r1\n\
- ldrb r1, [r1]\n\
- bl GetMonData\n\
- adds r1, r7, 0x6\n\
- lsls r1, 1\n\
- ldr r2, _08070938 @ =0x0201b264\n\
- adds r1, r2, r1\n\
- strh r0, [r1]\n\
- lsls r6, r7, 1\n\
- adds r6, r2, r6\n\
- ldrh r1, [r6]\n\
- subs r0, r1\n\
- strh r0, [r6]\n\
- adds r0, r7, 0\n\
- movs r1, 0x3\n\
- bl __udivsi3\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- lsls r4, r0, 3\n\
- adds r4, r0\n\
- adds r4, 0xB\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- adds r0, r7, 0\n\
- movs r1, 0x3\n\
- bl __umodsi3\n\
- adds r5, r0, 0\n\
- lsls r5, 1\n\
- adds r5, 0x1\n\
- lsls r5, 24\n\
- lsrs r5, 24\n\
- ldr r1, _0807093C @ =gUnknown_08376D04\n\
- lsls r0, r7, 2\n\
- adds r0, r1\n\
- ldr r1, [r0]\n\
- mov r0, r10\n\
- bl StringCopy\n\
- adds r2, r0, 0\n\
- mov r0, r9\n\
- strb r0, [r2]\n\
- adds r2, 0x1\n\
- mov r1, r8\n\
- strb r1, [r2]\n\
- adds r2, 0x1\n\
- movs r0, 0x2E\n\
- strb r0, [r2]\n\
- adds r2, 0x1\n\
- adds r0, r2, 0\n\
- ldr r1, _08070940 @ =gOtherText_TallPlusAndRightArrow\n\
- bl StringCopy\n\
- adds r2, r0, 0\n\
- mov r0, r9\n\
- strb r0, [r2]\n\
- adds r2, 0x1\n\
- mov r1, r8\n\
- strb r1, [r2]\n\
- adds r2, 0x1\n\
- movs r0, 0x34\n\
- strb r0, [r2]\n\
- adds r2, 0x1\n\
- movs r0, 0\n\
- ldrsh r1, [r6, r0]\n\
- adds r0, r2, 0\n\
- movs r2, 0x1\n\
- movs r3, 0x2\n\
- bl ConvertIntToDecimalStringN\n\
- adds r4, 0x1\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- mov r0, r10\n\
- adds r1, r4, 0\n\
- adds r2, r5, 0\n\
- bl MenuPrint\n\
- adds r0, r7, 0x1\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- cmp r7, 0x5\n\
- bls _0807086C\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\
- .align 2, 0\n\
-_0807092C: .4byte gStringVar1\n\
-_08070930: .4byte 0x0201c000\n\
-_08070934: .4byte gUnknown_08376D1C\n\
-_08070938: .4byte 0x0201b264\n\
-_0807093C: .4byte gUnknown_08376D04\n\
-_08070940: .4byte gOtherText_TallPlusAndRightArrow\n\
- .syntax divided\n");
-}
-#endif
diff --git a/src/learn_move.c b/src/pokemon/learn_move.c
index 33252c66b..33252c66b 100644
--- a/src/learn_move.c
+++ b/src/pokemon/learn_move.c
diff --git a/src/mail.c b/src/pokemon/mail.c
index c5dd119e3..c5dd119e3 100644
--- a/src/mail.c
+++ b/src/pokemon/mail.c
diff --git a/src/mail_data.c b/src/pokemon/mail_data.c
index ae3f4b3e8..ae3f4b3e8 100644
--- a/src/mail_data.c
+++ b/src/pokemon/mail_data.c
diff --git a/src/mon_markings.c b/src/pokemon/mon_markings.c
index 0cad8db59..0cad8db59 100644
--- a/src/mon_markings.c
+++ b/src/pokemon/mon_markings.c
diff --git a/src/pokeblock_feed.c b/src/pokemon/pokeblock_feed.c
index ccbb391af..5d6b215cd 100644
--- a/src/pokeblock_feed.c
+++ b/src/pokemon/pokeblock_feed.c
@@ -46,7 +46,7 @@ extern const u8 gBattleTerrainPalette_BattleTower[];
extern const struct CompressedSpriteSheet gUnknown_083F7F74;
extern const struct CompressedSpritePalette gUnknown_083F7F7C;
-bool8 sub_8040A3C(u16 species);
+bool8 IsPokeSpriteNotFlipped(u16 species);
// this file's functions
static void sub_8147B04(void);
@@ -626,7 +626,7 @@ static bool8 sub_8147B20(struct Pokemon* mon)
species = GetMonData(mon, MON_DATA_SPECIES2);
PiD = GetMonData(mon, MON_DATA_PERSONALITY);
TiD = GetMonData(mon, MON_DATA_OT_ID);
- palette = sub_80409C8(species, TiD, PiD);
+ palette = GetMonSpritePalStructFromOtIdPersonality(species, TiD, PiD);
LoadCompressedObjectPalette(palette);
GetMonSpriteTemplate_803C56C(palette->tag, 1);
ewram[0x1FFFF]++;
@@ -766,7 +766,7 @@ static u8 PokeblockFeed_CreatePokeSprite(struct Pokemon* mon)
gSprites[spriteID].data2 = species;
gSprites[spriteID].callback = SpriteCallbackDummy;
gPokeblockMonNotFlipped = 1;
- if (!sub_8040A3C(species))
+ if (!IsPokeSpriteNotFlipped(species))
{
gSprites[spriteID].affineAnims = sSpriteAffineAnimTable_84120EC;
gSprites[spriteID].oam.affineMode = 3;
diff --git a/src/pokedex.c b/src/pokemon/pokedex.c
index 603b5ae48..947dfd218 100644
--- a/src/pokedex.c
+++ b/src/pokemon/pokedex.c
@@ -1,4 +1,3 @@
-
#include "global.h"
#include "gba/m4a_internal.h"
#include "pokedex.h"
@@ -150,7 +149,6 @@ extern const u8 gUnknown_08E96738[];
extern const u8 gUnknown_08E96888[];
extern const u8 gUnknown_08E96994[];
extern const u8 gUnknown_08E9C6DC[];
-extern const u8 gUnknown_08D00524[];
extern const u8 gUnknown_08E96BD4[];
extern const u8 gUnknown_08E96ACC[];
extern const u8 gUnknown_08E96B58[];
@@ -186,7 +184,7 @@ static const u8 gUnknown_0839FA7C[] = INCBIN_U8("graphics/pokedex/noball.4bpp.lz
extern const u8 gUnknown_0839FA7C[];
#endif
-#include "data/pokedex_orders.h"
+#include "../data/pokedex_orders.h"
static const struct OamData gOamData_83A0404 =
{
.y = 160,
@@ -515,9 +513,9 @@ static const u8 gUnknown_083A05F1[] = {16, 8, 4, 2, 1};
const u8 gEmptySpacce_83A05F6[] = {0, 0}; // Padding, maybe?
static const u8 gUnknown_083A05F8[] = _("");
#if ENGLISH
-#include "data/pokedex_entries_en.h"
+#include "../data/pokedex_entries_en.h"
#elif GERMAN
-#include "data/pokedex_entries_de.h"
+#include "../data/pokedex_entries_de.h"
#endif
static const u16 gUnknown_083B4EC4[16] = {0};
static const u8 *const sMonFootprintTable[] =
@@ -1320,8 +1318,8 @@ void ResetPokedex(void)
{
gSaveBlock2.pokedex.owned[i] = 0;
gSaveBlock2.pokedex.seen[i] = 0;
- gSaveBlock1.unk938[i] = 0;
- gSaveBlock1.unk3A8C[i] = 0;
+ gSaveBlock1.dexSeen2[i] = 0;
+ gSaveBlock1.dexSeen3[i] = 0;
}
}
@@ -2030,8 +2028,8 @@ static void SortPokedex(u8 dexMode, u8 sortMode)
{
vars[2] = HoennToNationalOrder(i + 1);
gPokedexView->unk0[i].dexNum = vars[2];
- gPokedexView->unk0[i].seen = GetNationalPokedexFlag(vars[2], 0);
- gPokedexView->unk0[i].owned = GetNationalPokedexFlag(vars[2], 1);
+ gPokedexView->unk0[i].seen = GetSetPokedexFlag(vars[2], 0);
+ gPokedexView->unk0[i].owned = GetSetPokedexFlag(vars[2], 1);
if (gPokedexView->unk0[i].seen)
gPokedexView->pokemonListCount = i + 1;
}
@@ -2045,14 +2043,14 @@ static void SortPokedex(u8 dexMode, u8 sortMode)
for (i = 0; i < vars[0]; i++)
{
vars[2] = i + 1;
- if (GetNationalPokedexFlag(vars[2], 0))
+ if (GetSetPokedexFlag(vars[2], 0))
r10 = 1;
if (r10)
{
asm(""); //Needed to match for some reason
gPokedexView->unk0[r5].dexNum = vars[2];
- gPokedexView->unk0[r5].seen = GetNationalPokedexFlag(vars[2], 0);
- gPokedexView->unk0[r5].owned = GetNationalPokedexFlag(vars[2], 1);
+ gPokedexView->unk0[r5].seen = GetSetPokedexFlag(vars[2], 0);
+ gPokedexView->unk0[r5].owned = GetSetPokedexFlag(vars[2], 1);
if (gPokedexView->unk0[r5].seen)
gPokedexView->pokemonListCount = r5 + 1;
r5++;
@@ -2065,11 +2063,11 @@ static void SortPokedex(u8 dexMode, u8 sortMode)
{
vars[2] = gPokedexOrder_Alphabetical[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 0))
+ if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 0))
{
gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2];
gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1;
- gPokedexView->unk0[gPokedexView->pokemonListCount].owned = GetNationalPokedexFlag(vars[2], 1);
+ gPokedexView->unk0[gPokedexView->pokemonListCount].owned = GetSetPokedexFlag(vars[2], 1);
gPokedexView->pokemonListCount++;
}
}
@@ -2079,7 +2077,7 @@ static void SortPokedex(u8 dexMode, u8 sortMode)
{
vars[2] = gPokedexOrder_Weight[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 1))
+ if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
{
gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2];
gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1;
@@ -2093,7 +2091,7 @@ static void SortPokedex(u8 dexMode, u8 sortMode)
{
vars[2] = gPokedexOrder_Weight[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 1))
+ if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
{
gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2];
gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1;
@@ -2107,7 +2105,7 @@ static void SortPokedex(u8 dexMode, u8 sortMode)
{
vars[2] = gPokedexOrder_Height[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 1))
+ if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
{
gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2];
gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1;
@@ -2121,7 +2119,7 @@ static void SortPokedex(u8 dexMode, u8 sortMode)
{
vars[2] = gPokedexOrder_Height[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 1))
+ if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
{
gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2];
gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1;
@@ -3946,7 +3944,7 @@ static void sub_8090B8C(u8 taskId)
otId = ((u16)gTasks[taskId].data[13] << 16) | (u16)gTasks[taskId].data[12];
personality = ((u16)gTasks[taskId].data[15] << 16) | (u16)gTasks[taskId].data[14];
paletteNum = gSprites[gTasks[taskId].data[3]].oam.paletteNum;
- lzPaletteData = species_and_otid_get_pal(species, otId, personality);
+ lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personality);
LoadCompressedPalette(lzPaletteData, 0x100 | paletteNum * 16, 32);
DestroyTask(taskId);
}
@@ -4008,79 +4006,79 @@ u16 GetPokedexHeightWeight(u16 dexNum, u8 data)
}
}
-s8 GetNationalPokedexFlag(u16 a, u8 b)
+s8 GetSetPokedexFlag(u16 nationalDexNo, u8 caseID)
{
u8 index;
u8 bit;
u8 mask;
s8 retVal;
- a--;
- index = a / 8;
- bit = a % 8;
+ nationalDexNo--;
+ index = nationalDexNo / 8;
+ bit = nationalDexNo % 8;
mask = 1 << bit;
retVal = 0;
- switch (b)
+ switch (caseID)
{
- case 0:
+ case FLAG_GET_SEEN:
if (gSaveBlock2.pokedex.seen[index] & mask)
{
- if ((gSaveBlock2.pokedex.seen[index] & mask) == (gSaveBlock1.unk938[index] & mask)
- && (gSaveBlock2.pokedex.seen[index] & mask) == (gSaveBlock1.unk3A8C[index] & mask))
+ if ((gSaveBlock2.pokedex.seen[index] & mask) == (gSaveBlock1.dexSeen2[index] & mask)
+ && (gSaveBlock2.pokedex.seen[index] & mask) == (gSaveBlock1.dexSeen3[index] & mask))
retVal = 1;
else
{
gSaveBlock2.pokedex.seen[index] &= ~mask;
- gSaveBlock1.unk938[index] &= ~mask;
- gSaveBlock1.unk3A8C[index] &= ~mask;
+ gSaveBlock1.dexSeen2[index] &= ~mask;
+ gSaveBlock1.dexSeen3[index] &= ~mask;
retVal = 0;
}
}
break;
- case 1:
+ case FLAG_GET_CAUGHT:
if (gSaveBlock2.pokedex.owned[index] & mask)
{
if ((gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock2.pokedex.seen[index] & mask)
- && (gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock1.unk938[index] & mask)
- && (gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock1.unk3A8C[index] & mask))
+ && (gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock1.dexSeen2[index] & mask)
+ && (gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock1.dexSeen3[index] & mask))
retVal = 1;
else
{
gSaveBlock2.pokedex.owned[index] &= ~mask;
gSaveBlock2.pokedex.seen[index] &= ~mask;
- gSaveBlock1.unk938[index] &= ~mask;
- gSaveBlock1.unk3A8C[index] &= ~mask;
+ gSaveBlock1.dexSeen2[index] &= ~mask;
+ gSaveBlock1.dexSeen3[index] &= ~mask;
retVal = 0;
}
}
break;
- case 2:
+ case FLAG_SET_SEEN:
gSaveBlock2.pokedex.seen[index] |= mask;
- gSaveBlock1.unk938[index] |= mask;
- gSaveBlock1.unk3A8C[index] |= mask;
+ gSaveBlock1.dexSeen2[index] |= mask;
+ gSaveBlock1.dexSeen3[index] |= mask;
break;
- case 3:
+ case FLAG_SET_CAUGHT:
gSaveBlock2.pokedex.owned[index] |= mask;
break;
}
return retVal;
}
-u16 GetNationalPokedexCount(u8 a)
+u16 GetNationalPokedexCount(u8 caseID)
{
u16 count = 0;
u16 i;
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
- switch (a)
+ switch (caseID)
{
- case 0:
- if (GetNationalPokedexFlag(i + 1, 0) != 0)
+ case FLAG_GET_SEEN:
+ if (GetSetPokedexFlag(i + 1, FLAG_GET_SEEN))
count++;
break;
- case 1:
- if (GetNationalPokedexFlag(i + 1, 1) != 0)
+ case FLAG_GET_CAUGHT:
+ if (GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
count++;
break;
}
@@ -4088,21 +4086,21 @@ u16 GetNationalPokedexCount(u8 a)
return count;
}
-u16 GetHoennPokedexCount(u8 a)
+u16 GetHoennPokedexCount(u8 caseID)
{
u16 count = 0;
u16 i;
for (i = 0; i < 202; i++)
{
- switch (a)
+ switch (caseID)
{
- case 0:
- if (GetNationalPokedexFlag(HoennToNationalOrder(i + 1), 0) != 0)
+ case FLAG_GET_SEEN:
+ if (GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_SEEN))
count++;
break;
- case 1:
- if (GetNationalPokedexFlag(HoennToNationalOrder(i + 1), 1) != 0)
+ case FLAG_GET_CAUGHT:
+ if (GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_CAUGHT))
count++;
break;
}
@@ -4116,7 +4114,7 @@ bool8 sub_8090FC0(void)
for (i = 0; i < 200; i++)
{
- if (GetNationalPokedexFlag(HoennToNationalOrder(i + 1), 1) == 0)
+ if (!GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_CAUGHT))
return FALSE;
}
return TRUE;
@@ -4128,17 +4126,17 @@ u16 sub_8090FF4(void)
for (i = 0; i < 150; i++)
{
- if (GetNationalPokedexFlag(i + 1, 1) == 0)
+ if (GetSetPokedexFlag(i + 1, 1) == 0)
return 0;
}
for (i = 152; i < 250; i++)
{
- if (GetNationalPokedexFlag(i + 1, 1) == 0)
+ if (GetSetPokedexFlag(i + 1, 1) == 0)
return 0;
}
for (i = 252; i < 384; i++)
{
- if (GetNationalPokedexFlag(i + 1, 1) == 0)
+ if (GetSetPokedexFlag(i + 1, 1) == 0)
return 0;
}
return 1;
diff --git a/src/pokedex_cry_screen.c b/src/pokemon/pokedex_cry_screen.c
index 92fd832fc..ad7029f59 100644
--- a/src/pokedex_cry_screen.c
+++ b/src/pokemon/pokedex_cry_screen.c
@@ -49,7 +49,7 @@ u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) {
u32 r12;
int x, y;
- vram = (void *) BG_SCREEN_ADDR(cry->unk2);
+ vram = BG_SCREEN_ADDR(cry->unk2);
r12 = (u32) (cry->unk0 << 18) >> 23;
diff --git a/src/pokemon_1.c b/src/pokemon/pokemon_1.c
index fd7916ee6..0c0d14d7a 100644
--- a/src/pokemon_1.c
+++ b/src/pokemon/pokemon_1.c
@@ -39,17 +39,17 @@ void ZeroMonData(struct Pokemon *mon)
u32 arg;
ZeroBoxMonData(&mon->box);
arg = 0;
- SetMonData(mon, MON_DATA_STATUS, (u8 *)&arg);
- SetMonData(mon, MON_DATA_LEVEL, (u8 *)&arg);
- SetMonData(mon, MON_DATA_HP, (u8 *)&arg);
- SetMonData(mon, MON_DATA_MAX_HP, (u8 *)&arg);
- SetMonData(mon, MON_DATA_ATK, (u8 *)&arg);
- SetMonData(mon, MON_DATA_DEF, (u8 *)&arg);
- SetMonData(mon, MON_DATA_SPD, (u8 *)&arg);
- SetMonData(mon, MON_DATA_SPATK, (u8 *)&arg);
- SetMonData(mon, MON_DATA_SPDEF, (u8 *)&arg);
+ SetMonData(mon, MON_DATA_STATUS, &arg);
+ SetMonData(mon, MON_DATA_LEVEL, &arg);
+ SetMonData(mon, MON_DATA_HP, &arg);
+ SetMonData(mon, MON_DATA_MAX_HP, &arg);
+ SetMonData(mon, MON_DATA_ATK, &arg);
+ SetMonData(mon, MON_DATA_DEF, &arg);
+ SetMonData(mon, MON_DATA_SPEED, &arg);
+ SetMonData(mon, MON_DATA_SPATK, &arg);
+ SetMonData(mon, MON_DATA_SPDEF, &arg);
arg = 255;
- SetMonData(mon, MON_DATA_MAIL, (u8 *)&arg);
+ SetMonData(mon, MON_DATA_MAIL, &arg);
}
void ZeroPlayerPartyMons(void)
@@ -74,7 +74,7 @@ void CreateMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFix
CreateBoxMon(&mon->box, species, level, fixedIV, hasFixedPersonality, fixedPersonality, otIdType, fixedOtId);
SetMonData(mon, MON_DATA_LEVEL, &level);
arg = 255;
- SetMonData(mon, MON_DATA_MAIL, (u8 *)&arg);
+ SetMonData(mon, MON_DATA_MAIL, &arg);
CalculateMonStats(mon);
}
@@ -92,7 +92,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
else
personality = Random32();
- SetBoxMonData(boxMon, MON_DATA_PERSONALITY, (u8 *)&personality);
+ SetBoxMonData(boxMon, MON_DATA_PERSONALITY, &personality);
//Determine original trainer ID
if (otIdType == 2) //Pokemon cannot be shiny
@@ -116,24 +116,24 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
| (gSaveBlock2.playerTrainerId[3] << 24);
}
- SetBoxMonData(boxMon, MON_DATA_OT_ID, (u8 *)&value);
+ SetBoxMonData(boxMon, MON_DATA_OT_ID, &value);
checksum = CalculateBoxMonChecksum(boxMon);
- SetBoxMonData(boxMon, MON_DATA_CHECKSUM, (u8 *)&checksum);
+ SetBoxMonData(boxMon, MON_DATA_CHECKSUM, &checksum);
EncryptBoxMon(boxMon);
GetSpeciesName(speciesName, species);
SetBoxMonData(boxMon, MON_DATA_NICKNAME, speciesName);
SetBoxMonData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage);
SetBoxMonData(boxMon, MON_DATA_OT_NAME, gSaveBlock2.playerName);
- SetBoxMonData(boxMon, MON_DATA_SPECIES, (u8 *)&species);
- SetBoxMonData(boxMon, MON_DATA_EXP, (u8 *)&gExperienceTables[gBaseStats[species].growthRate][level]);
+ SetBoxMonData(boxMon, MON_DATA_SPECIES, &species);
+ SetBoxMonData(boxMon, MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][level]);
SetBoxMonData(boxMon, MON_DATA_FRIENDSHIP, &gBaseStats[species].friendship);
value = sav1_map_get_name();
- SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, (u8 *)&value);
+ SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, &value);
SetBoxMonData(boxMon, MON_DATA_MET_LEVEL, &level);
SetBoxMonData(boxMon, MON_DATA_MET_GAME, &gGameVersion);
value = 4;
- SetBoxMonData(boxMon, MON_DATA_POKEBALL, (u8 *)&value);
+ SetBoxMonData(boxMon, MON_DATA_POKEBALL, &value);
SetBoxMonData(boxMon, MON_DATA_OT_GENDER, &gSaveBlock2.playerGender);
if (fixedIV < 32)
@@ -141,7 +141,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
SetBoxMonData(boxMon, MON_DATA_HP_IV, &fixedIV);
SetBoxMonData(boxMon, MON_DATA_ATK_IV, &fixedIV);
SetBoxMonData(boxMon, MON_DATA_DEF_IV, &fixedIV);
- SetBoxMonData(boxMon, MON_DATA_SPD_IV, &fixedIV);
+ SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &fixedIV);
SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &fixedIV);
SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &fixedIV);
}
@@ -151,26 +151,26 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
value = Random();
iv = value & 0x1F;
- SetBoxMonData(boxMon, MON_DATA_HP_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv);
iv = (value & 0x3E0) >> 5;
- SetBoxMonData(boxMon, MON_DATA_ATK_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv);
iv = (value & 0x7C00) >> 10;
- SetBoxMonData(boxMon, MON_DATA_DEF_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv);
value = Random();
iv = value & 0x1F;
- SetBoxMonData(boxMon, MON_DATA_SPD_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv);
iv = (value & 0x3E0) >> 5;
- SetBoxMonData(boxMon, MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv);
iv = (value & 0x7C00) >> 10;
- SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv);
}
if (gBaseStats[species].ability2)
{
value = personality & 1;
- SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, (u8 *)&value);
+ SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, &value);
}
GiveBoxMonInitialMoveset(boxMon);
@@ -237,7 +237,7 @@ void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level)
void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality)
{
CreateMon(mon, species, level, 0, 1, personality, 0, 0);
- SetMonData(mon, MON_DATA_IVS, (u8 *)&ivs);
+ SetMonData(mon, MON_DATA_IVS, &ivs);
CalculateMonStats(mon);
}
@@ -247,7 +247,7 @@ void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u
SetMonData(mon, MON_DATA_HP_IV, &ivs[0]);
SetMonData(mon, MON_DATA_ATK_IV, &ivs[1]);
SetMonData(mon, MON_DATA_DEF_IV, &ivs[2]);
- SetMonData(mon, MON_DATA_SPD_IV, &ivs[3]);
+ SetMonData(mon, MON_DATA_SPEED_IV, &ivs[3]);
SetMonData(mon, MON_DATA_SPATK_IV, &ivs[4]);
SetMonData(mon, MON_DATA_SPDEF_IV, &ivs[5]);
CalculateMonStats(mon);
@@ -278,7 +278,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI
for (i = 0; i < 6; i++)
{
if (evSpread & temp)
- SetMonData(mon, MON_DATA_HP_EV + i, (u8 *)&evAmount);
+ SetMonData(mon, MON_DATA_HP_EV + i, &evAmount);
temp <<= 1;
}
@@ -297,8 +297,8 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src)
for (i = 0; i < 4; i++)
SetMonMoveSlot(mon, src->moves[i], i);
- SetMonData(mon, MON_DATA_PP_BONUSES, (u8 *)&src->ppBonuses);
- SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&src->heldItem);
+ SetMonData(mon, MON_DATA_PP_BONUSES, &src->ppBonuses);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &src->heldItem);
StringCopy(nickname, src->nickname);
@@ -310,13 +310,13 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src)
SetMonData(mon, MON_DATA_LANGUAGE, &language);
StripExtCtrlCodes(nickname);
SetMonData(mon, MON_DATA_NICKNAME, nickname);
- SetMonData(mon, MON_DATA_FRIENDSHIP, (u8 *)&src->friendship);
- SetMonData(mon, MON_DATA_HP_EV, (u8 *)&src->hpEV);
- SetMonData(mon, MON_DATA_ATK_EV, (u8 *)&src->attackEV);
- SetMonData(mon, MON_DATA_DEF_EV, (u8 *)&src->defenseEV);
- SetMonData(mon, MON_DATA_SPD_EV, (u8 *)&src->speedEV);
- SetMonData(mon, MON_DATA_SPATK_EV, (u8 *)&src->spAttackEV);
- SetMonData(mon, MON_DATA_SPDEF_EV, (u8 *)&src->spDefenseEV);
+ SetMonData(mon, MON_DATA_FRIENDSHIP, &src->friendship);
+ SetMonData(mon, MON_DATA_HP_EV, &src->hpEV);
+ SetMonData(mon, MON_DATA_ATK_EV, &src->attackEV);
+ SetMonData(mon, MON_DATA_DEF_EV, &src->defenseEV);
+ SetMonData(mon, MON_DATA_SPEED_EV, &src->speedEV);
+ SetMonData(mon, MON_DATA_SPATK_EV, &src->spAttackEV);
+ SetMonData(mon, MON_DATA_SPDEF_EV, &src->spDefenseEV);
value = src->altAbility;
SetMonData(mon, MON_DATA_ALT_ABILITY, &value);
value = src->hpIV;
@@ -326,7 +326,7 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src)
value = src->defenseIV;
SetMonData(mon, MON_DATA_DEF_IV, &value);
value = src->speedIV;
- SetMonData(mon, MON_DATA_SPD_IV, &value);
+ SetMonData(mon, MON_DATA_SPEED_IV, &value);
value = src->spAttackIV;
SetMonData(mon, MON_DATA_SPATK_IV, &value);
value = src->spDefenseIV;
@@ -356,14 +356,14 @@ void sub_803AF78(struct Pokemon *mon, struct UnknownPokemonStruct *dest)
dest->hpEV = GetMonData(mon, MON_DATA_HP_EV, NULL);
dest->attackEV = GetMonData(mon, MON_DATA_ATK_EV, NULL);
dest->defenseEV = GetMonData(mon, MON_DATA_DEF_EV, NULL);
- dest->speedEV = GetMonData(mon, MON_DATA_SPD_EV, NULL);
+ dest->speedEV = GetMonData(mon, MON_DATA_SPEED_EV, NULL);
dest->spAttackEV = GetMonData(mon, MON_DATA_SPATK_EV, NULL);
dest->spDefenseEV = GetMonData(mon, MON_DATA_SPDEF_EV, NULL);
dest->friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, NULL);
dest->hpIV = GetMonData(mon, MON_DATA_HP_IV, NULL);
dest->attackIV = GetMonData(mon, MON_DATA_ATK_IV, NULL);
dest->defenseIV = GetMonData(mon, MON_DATA_DEF_IV, NULL);
- dest->speedIV = GetMonData(mon, MON_DATA_SPD_IV, NULL);
+ dest->speedIV = GetMonData(mon, MON_DATA_SPEED_IV, NULL);
dest->spAttackIV = GetMonData(mon, MON_DATA_SPATK_IV, NULL);
dest->spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL);
dest->altAbility = GetMonData(mon, MON_DATA_ALT_ABILITY, NULL);
@@ -401,7 +401,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon)
s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \
u8 nature = GetNature(mon); \
n = nature_stat_mod(nature, n, statIndex); \
- SetMonData(mon, field, (u8 *)&n); \
+ SetMonData(mon, field, &n); \
}
void CalculateMonStats(struct Pokemon *mon)
@@ -414,8 +414,8 @@ void CalculateMonStats(struct Pokemon *mon)
s32 attackEV = GetMonData(mon, MON_DATA_ATK_EV, NULL);
s32 defenseIV = GetMonData(mon, MON_DATA_DEF_IV, NULL);
s32 defenseEV = GetMonData(mon, MON_DATA_DEF_EV, NULL);
- s32 speedIV = GetMonData(mon, MON_DATA_SPD_IV, NULL);
- s32 speedEV = GetMonData(mon, MON_DATA_SPD_EV, NULL);
+ s32 speedIV = GetMonData(mon, MON_DATA_SPEED_IV, NULL);
+ s32 speedEV = GetMonData(mon, MON_DATA_SPEED_EV, NULL);
s32 spAttackIV = GetMonData(mon, MON_DATA_SPATK_IV, NULL);
s32 spAttackEV = GetMonData(mon, MON_DATA_SPATK_EV, NULL);
s32 spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL);
@@ -424,7 +424,7 @@ void CalculateMonStats(struct Pokemon *mon)
s32 level = GetLevelFromMonExp(mon);
s32 newMaxHP;
- SetMonData(mon, MON_DATA_LEVEL, (u8 *)&level);
+ SetMonData(mon, MON_DATA_LEVEL, &level);
if (species == SPECIES_SHEDINJA)
{
@@ -440,11 +440,11 @@ void CalculateMonStats(struct Pokemon *mon)
if (unk_2000000[0x160FA] == 0)
unk_2000000[0x160FA] = 1;
- SetMonData(mon, MON_DATA_MAX_HP, (u8 *)&newMaxHP);
+ SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP);
CALC_STAT(baseAttack, attackIV, attackEV, 1, MON_DATA_ATK)
CALC_STAT(baseDefense, defenseIV, defenseEV, 2, MON_DATA_DEF)
- CALC_STAT(baseSpeed, speedIV, speedEV, 3, MON_DATA_SPD)
+ CALC_STAT(baseSpeed, speedIV, speedEV, 3, MON_DATA_SPEED)
CALC_STAT(baseSpAttack, spAttackIV, spAttackEV, 4, MON_DATA_SPATK)
CALC_STAT(baseSpDefense, spDefenseIV, spDefenseEV, 5, MON_DATA_SPDEF)
@@ -465,18 +465,18 @@ void CalculateMonStats(struct Pokemon *mon)
return;
}
- SetMonData(mon, MON_DATA_HP, (u8 *)&currentHP);
+ SetMonData(mon, MON_DATA_HP, &currentHP);
}
-void sub_803B4B4(struct Pokemon *src, struct Pokemon *dest)
+void sub_803B4B4(const struct BoxPokemon *src, struct Pokemon *dest)
{
u32 value = 0;
- memcpy(&dest->box, &src->box, sizeof(struct BoxPokemon));
- SetMonData(dest, MON_DATA_STATUS, (u8 *)&value);
- SetMonData(dest, MON_DATA_HP, (u8 *)&value);
- SetMonData(dest, MON_DATA_MAX_HP, (u8 *)&value);
+ dest->box = *src;
+ SetMonData(dest, MON_DATA_STATUS, &value);
+ SetMonData(dest, MON_DATA_HP, &value);
+ SetMonData(dest, MON_DATA_MAX_HP, &value);
value = 255;
- SetMonData(dest, MON_DATA_MAIL, (u8 *)&value);
+ SetMonData(dest, MON_DATA_MAIL, &value);
CalculateMonStats(dest);
}
@@ -517,7 +517,7 @@ u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
u16 existingMove = GetBoxMonData(boxMon, MON_DATA_MOVE1 + i, NULL);
if (!existingMove)
{
- SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&move);
+ SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &move);
SetBoxMonData(boxMon, MON_DATA_PP1 + i, &gBattleMoves[move].pp);
return move;
}
@@ -546,7 +546,7 @@ u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move)
void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot)
{
- SetMonData(mon, MON_DATA_MOVE1 + slot, (u8 *)&move);
+ SetMonData(mon, MON_DATA_MOVE1 + slot, &move);
SetMonData(mon, MON_DATA_PP1 + slot, &gBattleMoves[move].pp);
}
@@ -636,7 +636,7 @@ void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move)
for (i = 0; i < 4; i++)
{
- SetMonData(mon, MON_DATA_MOVE1 + i, (u8 *)&moves[i]);
+ SetMonData(mon, MON_DATA_MOVE1 + i, &moves[i]);
SetMonData(mon, MON_DATA_PP1 + i, &pp[i]);
}
@@ -663,7 +663,7 @@ void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
for (i = 0; i < 4; i++)
{
- SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&moves[i]);
+ SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &moves[i]);
SetBoxMonData(boxMon, MON_DATA_PP1 + i, &pp[i]);
}
diff --git a/src/pokemon_2.c b/src/pokemon/pokemon_2.c
index f02ce6170..d3bdf3a13 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon/pokemon_2.c
@@ -278,7 +278,7 @@ u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data)
return mon->attack;
case MON_DATA_DEF:
return mon->defense;
- case MON_DATA_SPD:
+ case MON_DATA_SPEED:
return mon->speed;
case MON_DATA_SPATK:
return mon->spAttack;
@@ -422,7 +422,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data)
case MON_DATA_DEF_EV:
retVal = substruct2->defenseEV;
break;
- case MON_DATA_SPD_EV:
+ case MON_DATA_SPEED_EV:
retVal = substruct2->speedEV;
break;
case MON_DATA_SPATK_EV:
@@ -476,7 +476,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data)
case MON_DATA_DEF_IV:
retVal = substruct3->defenseIV;
break;
- case MON_DATA_SPD_IV:
+ case MON_DATA_SPEED_IV:
retVal = substruct3->speedIV;
break;
case MON_DATA_SPATK_IV:
@@ -653,7 +653,7 @@ void SetMonData(struct Pokemon *mon, s32 field, const u8 *data)
case MON_DATA_DEF:
SET16(mon->defense);
break;
- case MON_DATA_SPD:
+ case MON_DATA_SPEED:
SET16(mon->speed);
break;
case MON_DATA_SPATK:
@@ -784,7 +784,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data)
case MON_DATA_DEF_EV:
SET8(substruct2->defenseEV);
break;
- case MON_DATA_SPD_EV:
+ case MON_DATA_SPEED_EV:
SET8(substruct2->speedEV);
break;
case MON_DATA_SPATK_EV:
@@ -844,7 +844,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data)
case MON_DATA_DEF_IV:
SET8(substruct3->defenseIV);
break;
- case MON_DATA_SPD_IV:
+ case MON_DATA_SPEED_IV:
SET8(substruct3->speedIV);
break;
case MON_DATA_SPATK_IV:
@@ -1077,6 +1077,7 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord)
2,
0);
+ // these two SetMonData calls require the (u8 *) cast since SetMonData is declared in this function.
SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&gSecretBaseRecord.partyHeldItems[i]);
for (j = 0; j < 6; j++)
@@ -1185,7 +1186,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex)
gBattleMons[battleIndex].hpIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP_IV, NULL);
gBattleMons[battleIndex].attackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK_IV, NULL);
gBattleMons[battleIndex].defenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF_IV, NULL);
- gBattleMons[battleIndex].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPD_IV, NULL);
+ gBattleMons[battleIndex].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED_IV, NULL);
gBattleMons[battleIndex].spAttackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK_IV, NULL);
gBattleMons[battleIndex].spDefenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF_IV, NULL);
gBattleMons[battleIndex].personality = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PERSONALITY, NULL);
@@ -1195,7 +1196,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex)
gBattleMons[battleIndex].maxHP = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MAX_HP, NULL);
gBattleMons[battleIndex].attack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK, NULL);
gBattleMons[battleIndex].defense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF, NULL);
- gBattleMons[battleIndex].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPD, NULL);
+ gBattleMons[battleIndex].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED, NULL);
gBattleMons[battleIndex].spAttack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK, NULL);
gBattleMons[battleIndex].spDefense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF, NULL);
gBattleMons[battleIndex].isEgg = GetMonData(&gPlayerParty[partyIndex], MON_DATA_IS_EGG, NULL);
diff --git a/src/pokemon_3.c b/src/pokemon/pokemon_3.c
index e51d3187b..9c2cb4730 100644
--- a/src/pokemon_3.c
+++ b/src/pokemon/pokemon_3.c
@@ -68,7 +68,7 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 bat
if (status & healMask)
{
status &= ~healMask;
- SetMonData(mon, MON_DATA_STATUS, (u8 *)&status);
+ SetMonData(mon, MON_DATA_STATUS, &status);
if (gMain.inBattle && battleId != 4)
gBattleMons[battleId].status1 &= ~healMask;
return FALSE;
@@ -203,7 +203,7 @@ void sub_803F324(int stat)
u8 *sub_803F378(u16 itemId)
{
int i;
- u8 *itemEffect;
+ const u8 *itemEffect;
if (itemId == ITEM_ENIGMA_BERRY)
{
@@ -218,7 +218,7 @@ u8 *sub_803F378(u16 itemId)
}
else
{
- itemEffect = (u8 *) gItemEffectTable[itemId - 13];
+ itemEffect = gItemEffectTable[itemId - 13];
}
gStringBank = gBankInMenu;
@@ -278,7 +278,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
else
holdEffect = ItemId_GetHoldEffect(heldItem);
- if (holdEffect == 38 && type != 3)
+ if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE && type != 3)
return 0;
switch (type)
@@ -355,7 +355,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
if (gEvolutionTable[species].evolutions[i].param == heldItem)
{
heldItem = 0;
- SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem);
targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
}
break;
@@ -695,7 +695,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event)
friendship = 0;
if (friendship > 255)
friendship = 255;
- SetMonData(mon, MON_DATA_FRIENDSHIP, (u8 *)&friendship);
+ SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship);
}
}
}
@@ -1096,7 +1096,7 @@ void ClearBattleMonForms(void)
gBattleMonForms[i] = 0;
}
-u16 sub_8040728(void)
+u16 GetBGM_ForBattle(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
return BGM_BATTLE34;
@@ -1137,7 +1137,7 @@ void sub_80408BC(void)
{
ResetMapMusic();
m4aMPlayAllStop();
- PlayBGM(sub_8040728());
+ PlayBGM(GetBGM_ForBattle());
}
void current_map_music_set__default_for_battle(u16 song)
@@ -1147,15 +1147,15 @@ void current_map_music_set__default_for_battle(u16 song)
if (song)
PlayNewMapMusic(song);
else
- PlayNewMapMusic(sub_8040728());
+ PlayNewMapMusic(GetBGM_ForBattle());
}
-const u8 *pokemon_get_pal(struct Pokemon *mon)
+const u8 *GetMonSpritePal(struct Pokemon *mon)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
u32 otId = GetMonData(mon, MON_DATA_OT_ID, 0);
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0);
- return species_and_otid_get_pal(species, otId, personality);
+ return GetMonSpritePalFromOtIdPersonality(species, otId, personality);
}
//Extracts the upper 16 bits of a 32-bit number
@@ -1164,7 +1164,7 @@ const u8 *pokemon_get_pal(struct Pokemon *mon)
//Extracts the lower 16 bits of a 32-bit number
#define LOHALF(n) ((n) & 0xFFFF)
-const u8 *species_and_otid_get_pal(u16 species, u32 otId, u32 personality)
+const u8 *GetMonSpritePalFromOtIdPersonality(u16 species, u32 otId, u32 personality)
{
u32 shinyValue;
@@ -1178,15 +1178,15 @@ const u8 *species_and_otid_get_pal(u16 species, u32 otId, u32 personality)
return gMonPaletteTable[species].data;
}
-const struct CompressedSpritePalette *sub_8040990(struct Pokemon *mon)
+const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
u32 otId = GetMonData(mon, MON_DATA_OT_ID, 0);
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0);
- return sub_80409C8(species, otId, personality);
+ return GetMonSpritePalStructFromOtIdPersonality(species, otId, personality);
}
-const struct CompressedSpritePalette *sub_80409C8(u16 species, u32 otId , u32 personality)
+const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality)
{
u32 shinyValue;
@@ -1208,9 +1208,9 @@ bool32 IsHMMove2(u16 move)
return FALSE;
}
-bool8 sub_8040A3C(u16 species)
+bool8 IsPokeSpriteNotFlipped(u16 species)
{
- return gBaseStats[species].unk19_7;
+ return gBaseStats[species].noFlip;
}
s8 sub_8040A54(struct Pokemon *mon, u8 a2)
@@ -1299,16 +1299,16 @@ void SetWildMonHeldItem(void)
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0);
if (gBaseStats[species].item1 == gBaseStats[species].item2)
{
- SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item1);
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item1);
return;
}
if (rnd > 44)
{
if (rnd <= 94)
- SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item1);
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item1);
else
- SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item2);
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item2);
}
}
}
@@ -1337,7 +1337,7 @@ u8 *sub_8040D08(void)
return gLinkPlayers[sub_803FC34(gLinkPlayers[id].lp_field_18 ^ 2)].name;
}
-bool32 sub_8040D3C(u16 species, u8 *name, u8 language)
+bool32 ShouldHideGenderIconForLanguage(u16 species, u8 *name, u8 language)
{
bool32 retVal = FALSE;
if (species == SPECIES_NIDORAN_M || species == SPECIES_NIDORAN_F)
@@ -1362,12 +1362,12 @@ bool32 sub_8040D3C(u16 species, u8 *name, u8 language)
return retVal;
}
-bool32 sub_8040D8C(u16 species, u8 *name)
+bool32 ShouldHideGenderIcon(u16 species, u8 *name)
{
u8 language = GAME_LANGUAGE;
if (name[0] == 0xFC && name[1] == 21)
language = LANGUAGE_JAPANESE;
- return sub_8040D3C(species, name, language);
+ return ShouldHideGenderIconForLanguage(species, name, language);
}
bool32 unref_sub_8040DAC(struct Pokemon *mon)
@@ -1376,5 +1376,5 @@ bool32 unref_sub_8040DAC(struct Pokemon *mon)
u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
u8 language = GetMonData(mon, MON_DATA_LANGUAGE, 0);
GetMonData(mon, MON_DATA_NICKNAME, name);
- return sub_8040D3C(species, name, language);
+ return ShouldHideGenderIconForLanguage(species, name, language);
}
diff --git a/src/pokemon_data.c b/src/pokemon/pokemon_data.c
index 6414134fb..3d13a3390 100644
--- a/src/pokemon_data.c
+++ b/src/pokemon/pokemon_data.c
@@ -9,18 +9,18 @@
#include "sprite.h"
#include "data2.h"
-#include "data/pokemon/dex_order.h"
-#include "data/pokemon/spinda_spots.h"
-#include "data/pokemon/item_effects.h"
-#include "data/pokemon/nature_stats.h"
-#include "data/pokemon/tmhm_learnsets.h"
-#include "data/pokemon/trainer_class_lookups.h"
-#include "data/pokemon/cry_ids.h"
-#include "data/pokemon/experience_tables.h"
-#include "data/pokemon/base_stats.h"
-#include "data/pokemon/level_up_learnsets.h"
-#include "data/pokemon/evolution.h"
-#include "data/pokemon/level_up_learnset_pointers.h"
+#include "../data/pokemon/dex_order.h"
+#include "../data/pokemon/spinda_spots.h"
+#include "../data/pokemon/item_effects.h"
+#include "../data/pokemon/nature_stats.h"
+#include "../data/pokemon/tmhm_learnsets.h"
+#include "../data/pokemon/trainer_class_lookups.h"
+#include "../data/pokemon/cry_ids.h"
+#include "../data/pokemon/experience_tables.h"
+#include "../data/pokemon/base_stats.h"
+#include "../data/pokemon/level_up_learnsets.h"
+#include "../data/pokemon/evolution.h"
+#include "../data/pokemon/level_up_learnset_pointers.h"
const u8 gUnknown_08208238[] = { // Masks for getting PP Up count, also PP Max values
0x03, 0x0c, 0x30, 0xc0
@@ -93,7 +93,7 @@ const u8 gUnknown_082082F2[] = {
MON_DATA_HP_EV,
MON_DATA_ATK_EV,
MON_DATA_DEF_EV,
- MON_DATA_SPD_EV,
+ MON_DATA_SPEED_EV,
MON_DATA_SPDEF_EV,
MON_DATA_SPATK_EV
};
diff --git a/src/pokemon_icon.c b/src/pokemon/pokemon_icon.c
index 9bb3386e1..e83f912ec 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon/pokemon_icon.c
@@ -1215,8 +1215,11 @@ u8 UpdateMonIconFrame(struct Sprite *sprite)
break;
default:
RequestSpriteCopy(
- (u8 *)sprite->images + sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame,
- (u8 *)OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP,
+ // pointer arithmetic is needed to get the correct pointer to perform the sprite copy on.
+ // because sprite->images is a struct def, it has to be casted to (u8 *) before any
+ // arithmetic can be performed.
+ (u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame),
+ OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP,
sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]);
{
register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration;
diff --git a/src/pokemon_menu.c b/src/pokemon/pokemon_menu.c
index bc5150a16..7d70e7708 100644
--- a/src/pokemon_menu.c
+++ b/src/pokemon/pokemon_menu.c
@@ -57,7 +57,6 @@ void sub_80E62A0(u8 arg0, struct MailStruct* arg1, void* arg2, u8 arg3);
void sub_808A520(void);
void sub_80A61D0(void);
void CB2_InitFlyRegionMap(void);
-u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem);
bool8 SetUpFieldMove_Cut(void);
bool8 SetUpFieldMove_Flash(void);
bool8 SetUpFieldMove_RockSmash(void);
@@ -184,7 +183,7 @@ static const struct PokeMenuFieldMoveFunc sFieldMoveFuncs[] =
void sub_8089A70(void)
{
gPaletteFade.bufferTransferDisabled = 1;
- OpenPartyMenu(0, 0);
+ OpenPartyMenu(PARTY_MENU_TYPE_STANDARD, 0);
}
static void sub_8089A8C(void)
@@ -229,7 +228,7 @@ static void sub_8089A8C(void)
static void sub_8089BDC(u8 arg0, u8 arg1, u8 arg2, u8 noOfOptions, const struct MenuAction2 *menuActions, const u8 *order, u8 arg6)
{
- sub_806D538(5, arg6);
+ PrintPartyMenuPromptText(5, arg6);
MenuDrawTextWindow(arg0, arg1, arg0 + arg2, (noOfOptions * 2) + arg1 + 1);
PrintMenuItemsReordered(arg0 + 1, arg1 + 1, noOfOptions, menuActions, order);
}
@@ -248,13 +247,13 @@ static void sub_8089C7C(u8 arg0)
InitMenu(0, 20, r4, sPokeMenuOptionsNo, arg0, 9);
}
-void sub_8089CD4(u8 taskID)
+void HandleDefaultPartyMenu(u8 taskID)
{
if (!gPaletteFade.active)
{
- switch (sub_806BD80(taskID))
+ switch (HandleDefaultPartyMenuInput(taskID))
{
- case 1:
+ case A_BUTTON:
PlaySE(SE_SELECT);
gLastFieldPokeMenuOpened = sub_806CA38(taskID);
GetMonNickname(&gPlayerParty[gLastFieldPokeMenuOpened], gStringVar1);
@@ -264,7 +263,7 @@ void sub_8089CD4(u8 taskID)
gTasks[taskID].func = sub_8089D94;
sub_808B5B4(taskID);
break;
- case 2:
+ case B_BUTTON:
PlaySE(SE_SELECT);
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
gTasks[taskID].func = sub_8089E4C;
@@ -325,13 +324,13 @@ static void sub_8089EBC(void)
{
do
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0);
- sub_806BF74(EWRAM_1B000.unk260, 0);
+ sub_806C994(EWRAM_1B000.menuHandlerTaskId, gUnknown_020384F0);
+ ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0);
gLastFieldPokeMenuOpened = gUnknown_020384F0;
sub_8089E84();
- SetMainCallback2(sub_806AEDC);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
} while (sub_80F9344() != TRUE);
@@ -340,7 +339,7 @@ static void sub_8089EBC(void)
static void sub_8089F14(void)
{
gPaletteFade.bufferTransferDisabled = 1;
- sub_806AF4C(0, 0xFF, sub_8089D94, 5);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, sub_8089D94, 5);
SetMainCallback2(sub_8089EBC);
}
@@ -361,9 +360,9 @@ static void PokemonMenu_Summary(u8 taskID)
gTasks[taskID].func = sub_8089F44;
}
-void sub_808A004(u8 taskID)
+void DoPokemonMenu_Switch(u8 taskID)
{
- SetTaskFuncWithFollowupFunc(taskID, sub_806CA60, sub_8089CD4);
+ SetTaskFuncWithFollowupFunc(taskID, SetupDefaultPartyMenuSwitchPokemon, HandleDefaultPartyMenu);
MenuZeroFillWindowRect(19, 0, 29, 19);
}
@@ -372,7 +371,7 @@ static void PokemonMenu_Switch(u8 taskID)
HandleDestroyMenuCursors();
ewram01000.unkC = sub_806CD5C;
ewram01000.array[53553] = 1;
- sub_808A004(taskID);
+ DoPokemonMenu_Switch(taskID);
}
static void sub_808A060(u8 taskID)
@@ -390,19 +389,19 @@ static void sub_808A060(u8 taskID)
if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- PartyMenuGetPopupMenuFunc(0, &sUnknown_0839F578, (void *)sPokemonMenuActions, sPokeMenuCursorPos)(taskID);
+ PartyMenuGetPopupMenuFunc(0, &sUnknown_0839F578, sPokemonMenuActions, sPokeMenuCursorPos)(taskID);
}
else if (gMain.newKeys & B_BUTTON)
{
- sub_806E7D0(0, &sUnknown_0839F578);
+ ClosePartyPopupMenu(0, &sUnknown_0839F578);
PokemonMenu_CancelSubmenu(taskID);
}
}
static void sub_808A100(u8 taskID)
{
- sub_806E750(0, &sUnknown_0839F578, (void*)(sPokemonMenuActions), 0);
- sub_806D538(0xD, 2);
+ ShowPartyPopupMenu(0, &sUnknown_0839F578, (void*)(sPokemonMenuActions), 0);
+ PrintPartyMenuPromptText(0xD, 2);
gTasks[taskID].func = sub_808A060;
}
@@ -429,8 +428,8 @@ static void sub_808A1E0(u8 taskID)
if (gUnknown_0202E8F6 != 1)
{
SetHeldItemIconVisibility(taskID, sub_806CA38(taskID));
- sub_806D538(0, 0);
- gTasks[taskID].func = sub_8089CD4;
+ PrintPartyMenuPromptText(0, 0);
+ gTasks[taskID].func = HandleDefaultPartyMenu;
}
}
@@ -444,8 +443,8 @@ static void sub_808A228(u8 taskID)
else
{
MenuZeroFillWindowRect(0, 0, 29, 19);
- sub_806D538(0, 0);
- gTasks[taskID].func = sub_8089CD4;
+ PrintPartyMenuPromptText(0, 0);
+ gTasks[taskID].func = HandleDefaultPartyMenu;
}
}
@@ -476,11 +475,11 @@ static void sub_808A358(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
- sub_806BF74(EWRAM_1B000.unk260, 0);
- SetMainCallback2(sub_806AEDC);
+ sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened);
+ ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == TRUE)
@@ -492,13 +491,13 @@ static void sub_808A3A4(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
- sub_806BF74(EWRAM_1B000.unk260, 0);
+ sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened);
+ ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0);
EWRAM_1B000.unk262 = 3;
sub_8089E84();
- SetMainCallback2(sub_806AEDC);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == TRUE)
@@ -514,7 +513,7 @@ void sub_808A3F8(void)
gPaletteFade.bufferTransferDisabled = 1;
sub_806BD58(taskID, 0);
sub_806C994(taskID, gLastFieldPokeMenuOpened);
- sub_806BF74(taskID, 0);
+ ChangePartyMenuSelection(taskID, 0);
if (!(bool8)(GetMonData(&gPlayerParty[sub_806CA38(taskID)], MON_DATA_HELD_ITEM)))
{
SetMainCallback2(sub_808A34C);
@@ -526,12 +525,12 @@ void sub_808A3F8(void)
gPaletteFade.bufferTransferDisabled = 1;
if (gScriptItemId)
{
- sub_806AF4C(0, 0xFF, sub_808A2AC, 0xFF);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, sub_808A2AC, 0xFF);
SetMainCallback2(sub_808A358);
}
else
{
- sub_806AF4C(0, 0xFF, sub_8089D94, 5);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, sub_8089D94, 5);
SetMainCallback2(sub_808A3A4);
}
}
@@ -540,11 +539,11 @@ static void sub_808A4D4(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
- sub_806BF74(EWRAM_1B000.unk260, 0);
- SetMainCallback2(sub_806AEDC);
+ sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened);
+ ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == TRUE)
@@ -562,10 +561,10 @@ void sub_808A520(void)
AddBagItem(GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_HELD_ITEM), 1);
TakeMailFromMon(&gPlayerParty[gLastFieldPokeMenuOpened]);
SetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_HELD_ITEM, (void*) &gUnknown_0202E8F8);
- sub_806AF4C(0, 0xFF, sub_8089CD4, 0);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, HandleDefaultPartyMenu, 0);
}
else
- sub_806AF4C(0, 0xFF, sub_808A5BC, 0xFF);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, sub_808A5BC, 0xFF);
SetMainCallback2(sub_808A4D4);
}
@@ -620,7 +619,7 @@ static void PokemonMenu_Mail(u8 taskID)
HandleDestroyMenuCursors();
sPokeMenuCursorPos = 0;
MenuZeroFillWindowRect(19, 0, 29, 19);
- sub_806E750(0, &sUnknown_0839F584, (void*) sPokemonMenuActions, 0);
+ ShowPartyPopupMenu(0, &sUnknown_0839F584, (void*) sPokemonMenuActions, 0);
gTasks[taskID].func = sub_808A73C;
}
@@ -630,26 +629,26 @@ static void sub_808A73C(u8 taskID)
{
PlaySE(SE_SELECT);
if (sPokeMenuCursorPos == 0)
- sPokeMenuCursorPos = MoveMenuCursor(sUnknown_0839F584.unk0 - 1);
+ sPokeMenuCursorPos = MoveMenuCursor(sUnknown_0839F584.numChoices - 1);
else
sPokeMenuCursorPos = MoveMenuCursor(-1);
}
if (gMain.newAndRepeatedKeys == DPAD_DOWN)
{
PlaySE(SE_SELECT);
- if (sPokeMenuCursorPos == sUnknown_0839F584.unk0 - 1)
- sPokeMenuCursorPos = MoveMenuCursor(1 - sUnknown_0839F584.unk0);
+ if (sPokeMenuCursorPos == sUnknown_0839F584.numChoices - 1)
+ sPokeMenuCursorPos = MoveMenuCursor(1 - sUnknown_0839F584.numChoices);
else
sPokeMenuCursorPos = MoveMenuCursor(1);
}
if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- PartyMenuGetPopupMenuFunc(0, &sUnknown_0839F584, (void*) sPokemonMenuActions, sPokeMenuCursorPos)(taskID);
+ PartyMenuGetPopupMenuFunc(0, &sUnknown_0839F584, sPokemonMenuActions, sPokeMenuCursorPos)(taskID);
}
else if (gMain.newKeys & B_BUTTON)
{
- sub_806E7D0(0, &sUnknown_0839F584);
+ ClosePartyPopupMenu(0, &sUnknown_0839F584);
PokemonMenu_Cancel(taskID);
}
}
@@ -681,8 +680,8 @@ static void sub_808A8D4(u8 taskID)
{
sPokeMenuCursorPos = 0;
MenuZeroFillWindowRect(19, 0, 29, 19);
- sub_806D538(0, 0);
- gTasks[taskID].func = sub_8089CD4;
+ PrintPartyMenuPromptText(0, 0);
+ gTasks[taskID].func = HandleDefaultPartyMenu;
}
static void PokemonMenu_Cancel(u8 taskID)
@@ -718,9 +717,9 @@ static void PokemonMenu_FieldMove(u8 taskID)
{
MenuZeroFillWindowRect(19, 0, 29, 19);
if (IS_SOFTBOILED_MILKDRINK(tFieldMoveId))
- sub_806D538(9, 0);
+ PrintPartyMenuPromptText(9, 0);
else
- sub_806D538(sFieldMoveFuncs[tFieldMoveId].field_1, 0);
+ PrintPartyMenuPromptText(sFieldMoveFuncs[tFieldMoveId].field_1, 0);
gTasks[taskID].func = sub_808ABF4;
}
else if (tFieldMoveId <= 7 && FlagGet(BADGE01_GET + tFieldMoveId) != TRUE)
@@ -748,9 +747,9 @@ static void PokemonMenu_FieldMove(u8 taskID)
{
MenuZeroFillWindowRect(19, 0, 29, 19);
if (IS_SURF(tFieldMoveId) && TestPlayerAvatarFlags(8))
- sub_806D538(8, 0);
+ PrintPartyMenuPromptText(8, 0);
else
- sub_806D538(sFieldMoveFuncs[tFieldMoveId].field_1, 0);
+ PrintPartyMenuPromptText(sFieldMoveFuncs[tFieldMoveId].field_1, 0);
gTasks[taskID].func = sub_808ABF4;
}
}
@@ -849,11 +848,11 @@ static void sub_808AD0C(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
- sub_806BF74(EWRAM_1B000.unk260, 0);
- SetMainCallback2(sub_806AEDC);
+ sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened);
+ ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == TRUE)
@@ -864,7 +863,7 @@ static void sub_808AD0C(void)
void sub_808AD58(void)
{
gPaletteFade.bufferTransferDisabled = 1;
- sub_806AF4C(0, 0xFF, sub_8089CD4, 0);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, HandleDefaultPartyMenu, 0);
SetMainCallback2(sub_808AD0C);
}
@@ -952,7 +951,7 @@ static void sub_808AF80(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
if (gUnknown_02038561 == 0)
{
@@ -968,9 +967,9 @@ static void sub_808AF80(void)
}
if (gLastFieldPokeMenuOpened > 5 || !GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_SPECIES))
gLastFieldPokeMenuOpened = 0;
- sub_806C994(ewram1B000.unk260, gLastFieldPokeMenuOpened);
- sub_806BF74(ewram1B000.unk260, 0);
- SetMainCallback2(sub_806AEDC);
+ sub_806C994(ewram1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened);
+ ChangePartyMenuSelection(ewram1B000.menuHandlerTaskId, 0);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == TRUE)
@@ -985,16 +984,16 @@ void sub_808B020(void)
{
case 0:
if (CheckIfItemIsTMHMOrEvolutionStone(gScriptItemId) == 1)
- sub_806AF4C(0, 0, sub_808B0C0, 20);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 20);
else
- sub_806AF4C(0, 0, sub_808B0C0, 3);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 3);
break;
case 4:
- sub_806AF4C(0, 0, sub_808B1EC, 0xFF);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B1EC, 0xFF);
break;
case 1:
case 3:
- sub_806AF4C(0, 0, sub_808B0C0, 4);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 4);
break;
}
SetMainCallback2(sub_808AF80);
@@ -1004,9 +1003,9 @@ void sub_808B0C0(u8 taskID)
{
if (!gPaletteFade.active)
{
- switch (sub_806BD80(taskID))
+ switch (HandleDefaultPartyMenuInput(taskID))
{
- case 1:
+ case A_BUTTON:
gLastFieldPokeMenuOpened = sub_806CA38(taskID);
if (GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_IS_EGG))
PlaySE(SE_HAZURE);
@@ -1027,7 +1026,7 @@ void sub_808B0C0(u8 taskID)
}
}
break;
- case 2:
+ case B_BUTTON:
gLastFieldPokeMenuOpened = sub_806CA38(taskID);
PlaySE(SE_SELECT);
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
@@ -1104,11 +1103,11 @@ static void sub_808B3A0(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
- sub_806BF74(EWRAM_1B000.unk260, 0);
- SetMainCallback2(sub_806AEDC);
+ sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened);
+ ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == TRUE)
@@ -1130,11 +1129,11 @@ static void sub_808B3EC(void)
SetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_HELD_ITEM, (void*) &gUnknown_0202E8F8);
CreateTask(sub_808B25C, 5);
gPaletteFade.bufferTransferDisabled = 0;
- callback = sub_806AEDC;
+ callback = CB2_PartyMenuMain;
}
else
{
- sub_806AF4C(0, 0, sub_808B4A4, 0xFF);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B4A4, 0xFF);
callback = sub_808B3A0;
}
SetMainCallback2(callback);
@@ -1164,11 +1163,11 @@ static void sub_808B518(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
- sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0);
- sub_806BF74(EWRAM_1B000.unk260, 0);
- SetMainCallback2(sub_806AEDC);
+ sub_806C994(EWRAM_1B000.menuHandlerTaskId, gUnknown_020384F0);
+ ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0);
+ SetMainCallback2(CB2_PartyMenuMain);
break;
}
if (sub_80F9344() == TRUE)
@@ -1180,9 +1179,9 @@ void sub_808B564(void)
{
gPaletteFade.bufferTransferDisabled = 1;
if (sub_809FA30() != 4)
- sub_806AF4C(0, 0, TaughtMove, 0xFF);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, TaughtMove, 0xFF);
else
- sub_806AF4C(0, 0, StopTryingToTeachMove_806F588, 0xFF);
+ SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, StopTryingToTeachMove_806F588, 0xFF);
SetMainCallback2(sub_808B518);
}
diff --git a/src/pokemon_size_record.c b/src/pokemon/pokemon_size_record.c
index f2222bd3b..a71e6f1fd 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon/pokemon_size_record.c
@@ -46,7 +46,7 @@ static u32 GetMonSizeHash(struct Pokemon *pkmn)
u16 hpIV = GetMonData(pkmn, MON_DATA_HP_IV) & 0xF;
u16 attackIV = GetMonData(pkmn, MON_DATA_ATK_IV) & 0xF;
u16 defenseIV = GetMonData(pkmn, MON_DATA_DEF_IV) & 0xF;
- u16 speedIV = GetMonData(pkmn, MON_DATA_SPD_IV) & 0xF;
+ u16 speedIV = GetMonData(pkmn, MON_DATA_SPEED_IV) & 0xF;
u16 spAtkIV = GetMonData(pkmn, MON_DATA_SPATK_IV) & 0xF;
u16 spDefIV = GetMonData(pkmn, MON_DATA_SPDEF_IV) & 0xF;
u32 hibyte = ((attackIV ^ defenseIV) * hpIV) ^ (personality & 0xFF);
diff --git a/src/pokemon_storage_system.c b/src/pokemon/pokemon_storage_system.c
index 5e97523e2..5e97523e2 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon/pokemon_storage_system.c
diff --git a/src/pokemon_summary_screen.c b/src/pokemon/pokemon_summary_screen.c
index 00a0bea29..00a0bea29 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon/pokemon_summary_screen.c
diff --git a/src/rom3.c b/src/rom3.c
index 3f4860ecc..75dfdf2a2 100644
--- a/src/rom3.c
+++ b/src/rom3.c
@@ -92,7 +92,7 @@ void setup_poochyena_battle(void)
ZeroEnemyPartyMons();
CreateMon(&gEnemyParty[0], SPECIES_POOCHYENA, 2, 32, 0, 0, 0, 0);
i = ITEM_NONE;
- SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&i);
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &i);
}
gUnknown_020239FC = 0;
gUnknown_02024C78 = 0;
@@ -489,7 +489,7 @@ void sub_800C35C(void)
u8 i; //r4
s32 j; //r2
u16 r6; //r6
- u8 *recvBuffer; //r3
+ u16 *recvBuffer; //r3
u8 *dest; //r5
u8 *src; //r4
@@ -500,10 +500,10 @@ void sub_800C35C(void)
if (GetBlockReceivedStatus() & gBitTable[i])
{
ResetBlockReceivedFlag(i);
- recvBuffer = (u8 *)&gBlockRecvBuffer[i];
+ recvBuffer = gBlockRecvBuffer[i];
#ifndef NONMATCHING
asm("");
- recvBuffer = (u8 *)&gBlockRecvBuffer[i];
+ recvBuffer = gBlockRecvBuffer[i];
#endif
r6 = gBlockRecvBuffer[i][2];
if (gTasks[gUnknown_020238C5].data[14] + 9 + r6 > 0x1000)
@@ -513,7 +513,7 @@ void sub_800C35C(void)
}
//_0800C402
dest = EWRAM_15000 + gTasks[gUnknown_020238C5].data[14];
- src = recvBuffer;
+ src = (u8 *)recvBuffer;
for (j = 0; j < r6 + 8; j++)
dest[j] = src[j];
gTasks[gUnknown_020238C5].data[14] = gTasks[gUnknown_020238C5].data[14] + r6 + 8;
@@ -1097,7 +1097,7 @@ void EmitTrainerBallThrow(u8 a)
PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4);
}
-void Emitcmd48(u8 a, u8 *b, u8 c)
+void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c)
{
int i;
@@ -1106,7 +1106,7 @@ void Emitcmd48(u8 a, u8 *b, u8 c)
gBattleBuffersTransferData[2] = (c & 0x80) >> 7;
gBattleBuffersTransferData[3] = 48;
for (i = 0; i < 48; i++)
- gBattleBuffersTransferData[4 + i] = b[i];
+ gBattleBuffersTransferData[4 + i] = *(i + (u8*)(hpAndStatus));
PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 52);
}
diff --git a/src/rom6.c b/src/rom6.c
index 3a5071034..32b5f52a5 100644
--- a/src/rom6.c
+++ b/src/rom6.c
@@ -59,7 +59,7 @@ static void task08_080C9820(u8 taskId)
u8 mapObjId;
ScriptContext2_Enable();
- gPlayerAvatar.unk6 = 1;
+ gPlayerAvatar.preventStep = TRUE;
mapObjId = gPlayerAvatar.mapObjectId;
if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(&gMapObjects[mapObjId])
|| FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[mapObjId]))
@@ -112,7 +112,7 @@ static void sub_810B4CC(u8 taskId)
void (*func)(void) = (void (*)(void))(((u16)gTasks[taskId].data[8] << 16) | (u16)gTasks[taskId].data[9]);
func();
- gPlayerAvatar.unk6 = 0;
+ gPlayerAvatar.preventStep = FALSE;
DestroyTask(taskId);
}
@@ -169,7 +169,7 @@ int SetUpFieldMove_Dig(void)
static void sub_810B5D8(void)
{
- sub_8053014();
+ Overworld_ResetStateAfterDigEscRope();
FieldEffectStart(FLDEFF_USE_DIG);
gFieldEffectArguments[0] = gLastFieldPokeMenuOpened;
}
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index 249146b37..285c992ca 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -102,8 +102,8 @@ extern u32 gTransformPersonalities[NUM_BATTLE_SLOTS];
extern u8 gBattleMonForms[NUM_BATTLE_SLOTS];
extern u16 gUnknown_0202F7CA[];
extern u8 gBattleMonSprites[NUM_BATTLE_SLOTS];
-extern u8 gBattleAnimPlayerMonIndex;
-extern u8 gBattleAnimEnemyMonIndex;
+extern u8 gBattleAnimBankAttacker;
+extern u8 gBattleAnimBankTarget;
extern s16 gBattleAnimArgs[8];
extern u8 gBanksBySide[NUM_BATTLE_SLOTS];
extern u8 gNoOfAllBanks; // gNumBattleMons?
@@ -111,6 +111,8 @@ extern struct OamMatrix gOamMatrices[];
extern struct Struct_2017810 unk_2017810[];
extern u8 gHappinessMoveAnim;
+extern u8 UpdateMonIconFrame(struct Sprite *sprite);
+
EWRAM_DATA union AffineAnimCmd *gUnknown_0202F7D4 = NULL;
EWRAM_DATA u32 filler_0202F7D8[3] = {0};
@@ -185,7 +187,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) {
u16 species;
struct TransformStatus *transform;
- if (IsContest()) {
+ if (NotInBattle()) {
if (a2 == 3 && slot == 3) {
a2 = 1;
}
@@ -201,7 +203,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) {
case 3:
case 4:
default:
- if (IsContest()) {
+ if (NotInBattle()) {
if (unk_2019348.field_4 & 1) {
species = unk_2019348.field_2;
} else {
@@ -241,9 +243,9 @@ u8 sub_8077BFC(u8 slot, u16 species) {
u8 ret;
u16 var;
- if (!GetBankSide(slot) || IsContest()) {
+ if (!GetBankSide(slot) || NotInBattle()) {
if (species == SPECIES_UNOWN) {
- if (IsContest()) {
+ if (NotInBattle()) {
if (unk_2019348.field_4 & 1) {
personality = unk_2019348.field_10;
} else {
@@ -300,7 +302,7 @@ u8 sub_8077BFC(u8 slot, u16 species) {
u8 sub_8077DD8(u8 slot, u16 species) {
u8 ret = 0;
if (GetBankSide(slot) == 1) {
- if (!IsContest()) {
+ if (!NotInBattle()) {
if (species == SPECIES_CASTFORM) {
ret = gCastformElevations[gBattleMonForms[slot]];
} else if (species > NUM_SPECIES) {
@@ -316,7 +318,7 @@ u8 sub_8077DD8(u8 slot, u16 species) {
u8 sub_8077E44(u8 slot, u16 species, u8 a3) {
u16 offset;
u8 y;
- if (GetBankSide(slot) == 0 || IsContest()) {
+ if (GetBankSide(slot) == 0 || NotInBattle()) {
offset = sub_8077BFC(slot, species);
} else {
offset = sub_8077BFC(slot, species);
@@ -336,7 +338,7 @@ u8 sub_8077EE4(u8 slot, u8 a2) {
u16 species;
struct TransformStatus *transform;
if (a2 == 3 || a2 == 4) {
- if (IsContest()) {
+ if (NotInBattle()) {
if (unk_2019348.field_4 & 1) {
species = unk_2019348.field_2;
} else {
@@ -379,7 +381,7 @@ u8 sub_8077FC0(u8 slot) {
u8 r6;
struct TransformStatus *transform;
r6 = sub_8077ABC(slot, 1);
- if (!IsContest()) {
+ if (!NotInBattle()) {
if (GetBankSide(slot)) {
transform = &gTransformStatuses[slot];
if (!transform->species) {
@@ -402,43 +404,43 @@ u8 sub_8077FC0(u8 slot) {
return r6;
}
-u8 obj_id_for_side_relative_to_move(u8 a1) {
+u8 GetAnimBankSpriteId(u8 whichBank) {
u8 *sprites;
- if (a1 == 0) {
- if (sub_8078874(gBattleAnimPlayerMonIndex)) {
+ if (whichBank == ANIM_BANK_ATK) {
+ if (AnimBankSpriteExists(gBattleAnimBankAttacker)) {
sprites = gBattleMonSprites;
- return sprites[gBattleAnimPlayerMonIndex];
+ return sprites[gBattleAnimBankAttacker];
} else {
return 0xff;
}
- } else if (a1 == 1) {
- if (sub_8078874(gBattleAnimEnemyMonIndex)) {
+ } else if (whichBank == ANIM_BANK_DEF) {
+ if (AnimBankSpriteExists(gBattleAnimBankTarget)) {
sprites = gBattleMonSprites;
- return sprites[gBattleAnimEnemyMonIndex];
+ return sprites[gBattleAnimBankTarget];
} else {
return 0xff;
}
- } else if (a1 == 2) {
- if (!b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex ^ 2)) {
+ } else if (whichBank == ANIM_BANK_ATK_PARTNER) {
+ if (!IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2)) {
return 0xff;
} else {
- return gBattleMonSprites[gBattleAnimPlayerMonIndex ^ 2];
+ return gBattleMonSprites[gBattleAnimBankAttacker ^ 2];
}
} else {
- if (b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2)) {
- return gBattleMonSprites[gBattleAnimEnemyMonIndex ^ 2];
+ if (IsAnimBankSpriteVisible(gBattleAnimBankTarget ^ 2)) {
+ return gBattleMonSprites[gBattleAnimBankTarget ^ 2];
} else {
return 0xff;
}
}
}
-void oamt_set_x3A_32(struct Sprite *sprite, void (*callback)(struct Sprite*)) {
+void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite*)) {
sprite->data6 = (u32)(callback) & 0xffff;
sprite->data7 = (u32)(callback) >> 16;
}
-void sub_8078104(struct Sprite *sprite) {
+void SetCallbackToStoredInData6(struct Sprite *sprite) {
u32 callback = (u16)sprite->data6 | (sprite->data7 << 16);
sprite->callback = (void (*)(struct Sprite *))callback;
}
@@ -455,7 +457,7 @@ void sub_8078114(struct Sprite *sprite) {
}
sprite->data3--;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -472,7 +474,7 @@ void sub_8078174(struct Sprite *sprite) {
}
sprite->data3--;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -494,7 +496,7 @@ void unref_sub_80781F0(struct Sprite *sprite) {
}
sprite->data3--;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -510,7 +512,7 @@ void sub_8078278(struct Sprite *sprite) {
}
sprite->data3--;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -518,7 +520,7 @@ void sub_80782D8(struct Sprite *sprite) {
if (sprite->data0 > 0) {
sprite->data0--;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -547,7 +549,7 @@ void sub_8078364(struct Sprite *sprite) {
sprite->pos2.x += sprite->data1;
sprite->pos2.y += sprite->data2;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -559,7 +561,7 @@ void sub_8078394(struct Sprite *sprite) {
sprite->pos2.x = sprite->data3 >> 8;
sprite->pos2.y = sprite->data4 >> 8;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -571,7 +573,7 @@ void sub_80783D0(struct Sprite *sprite) {
sprite->pos2.x = sprite->data3 >> 8;
sprite->pos2.y = sprite->data4 >> 8;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
UpdateMonIconFrame(sprite);
}
@@ -579,8 +581,8 @@ void sub_80783D0(struct Sprite *sprite) {
void unref_sub_8078414(struct Sprite *sprite) {
sprite->data1 = sprite->pos1.x + sprite->pos2.x;
sprite->data3 = sprite->pos1.y + sprite->pos2.y;
- sprite->data2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 2);
- sprite->data4 = sub_8077ABC(gBattleAnimEnemyMonIndex, 3);
+ sprite->data2 = sub_8077ABC(gBattleAnimBankTarget, 2);
+ sprite->data4 = sub_8077ABC(gBattleAnimBankTarget, 3);
sprite->callback = sub_80782F8;
}
@@ -590,7 +592,7 @@ void sub_8078458(struct Sprite *sprite) {
gSprites[sprite->data3].pos2.x += sprite->data1;
gSprites[sprite->data3].pos2.y += sprite->data2;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -602,7 +604,7 @@ void sub_80784A8(struct Sprite *sprite) {
gSprites[sprite->data5].pos2.x = sprite->data3 >> 8;
gSprites[sprite->data5].pos2.y = sprite->data4 >> 8;
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -619,7 +621,7 @@ void sub_8078504(struct Sprite *sprite) {
}
}
} else {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -631,8 +633,8 @@ void move_anim_8074EE0(struct Sprite *sprite) {
void unref_sub_8078588(struct Sprite *sprite) {
sprite->data1 = sprite->pos1.x + sprite->pos2.x;
sprite->data3 = sprite->pos1.y + sprite->pos2.y;
- sprite->data2 = sub_8077ABC(gBattleAnimPlayerMonIndex, 2);
- sprite->data4 = sub_8077ABC(gBattleAnimPlayerMonIndex, 3);
+ sprite->data2 = sub_8077ABC(gBattleAnimBankAttacker, 2);
+ sprite->data4 = sub_8077ABC(gBattleAnimBankAttacker, 3);
sprite->callback = sub_80782F8;
}
@@ -643,13 +645,13 @@ void unref_sub_80785CC(struct Sprite *sprite) {
void sub_80785E4(struct Sprite *sprite) {
if (sprite->affineAnimEnded) {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
void sub_8078600(struct Sprite *sprite) {
if (sprite->animEnded) {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -666,19 +668,19 @@ void sub_8078634(u8 task) {
}
void sub_8078650(struct Sprite *sprite) {
- sprite->pos1.x = sub_8077ABC(gBattleAnimPlayerMonIndex, 2);
- sprite->pos1.y = sub_8077ABC(gBattleAnimPlayerMonIndex, 3);
+ sprite->pos1.x = sub_8077ABC(gBattleAnimBankAttacker, 2);
+ sprite->pos1.y = sub_8077ABC(gBattleAnimBankAttacker, 3);
}
void sub_807867C(struct Sprite *sprite, s16 a2) {
- u16 v1 = sub_8077ABC(gBattleAnimPlayerMonIndex, 0);
- u16 v2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 0);
+ u16 v1 = sub_8077ABC(gBattleAnimBankAttacker, 0);
+ u16 v2 = sub_8077ABC(gBattleAnimBankTarget, 0);
if (v1 > v2) {
sprite->pos1.x -= a2;
} else if (v1 < v2) {
sprite->pos1.x += a2;
} else {
- if (GetBankSide(gBattleAnimPlayerMonIndex)) {
+ if (GetBankSide(gBattleAnimBankAttacker)) {
sprite->pos1.x -= a2;
} else {
sprite->pos1.x += a2;
@@ -712,8 +714,8 @@ void oamt_add_pos2_onto_pos1(struct Sprite *sprite) {
void sub_8078764(struct Sprite *sprite, u8 a2) {
if (!a2) {
- sprite->pos1.x = sub_8077EE4(gBattleAnimEnemyMonIndex, 0);
- sprite->pos1.y = sub_8077EE4(gBattleAnimEnemyMonIndex, 1);
+ sprite->pos1.x = sub_8077EE4(gBattleAnimBankTarget, 0);
+ sprite->pos1.y = sub_8077EE4(gBattleAnimBankTarget, 1);
}
sub_807867C(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
@@ -721,11 +723,11 @@ void sub_8078764(struct Sprite *sprite, u8 a2) {
void sub_80787B0(struct Sprite *sprite, u8 a2) {
if (!a2) {
- sprite->pos1.x = sub_8077EE4(gBattleAnimPlayerMonIndex, 0);
- sprite->pos1.y = sub_8077EE4(gBattleAnimPlayerMonIndex, 1);
+ sprite->pos1.x = sub_8077EE4(gBattleAnimBankAttacker, 0);
+ sprite->pos1.y = sub_8077EE4(gBattleAnimBankAttacker, 1);
} else {
- sprite->pos1.x = sub_8077EE4(gBattleAnimPlayerMonIndex, 2);
- sprite->pos1.y = sub_8077EE4(gBattleAnimPlayerMonIndex, 3);
+ sprite->pos1.x = sub_8077EE4(gBattleAnimBankAttacker, 2);
+ sprite->pos1.y = sub_8077EE4(gBattleAnimBankAttacker, 3);
}
sub_807867C(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
@@ -749,12 +751,12 @@ u8 GetBankByPlayerAI(u8 slot) {
return i;
}
-bool8 sub_8078874(u8 slot) {
- if (IsContest()) {
- if (gBattleAnimPlayerMonIndex == slot) {
+bool8 AnimBankSpriteExists(u8 slot) {
+ if (NotInBattle()) {
+ if (gBattleAnimBankAttacker == slot) {
return TRUE;
}
- if (gBattleAnimEnemyMonIndex == slot) {
+ if (gBattleAnimBankTarget == slot) {
return TRUE;
}
return FALSE;
@@ -780,7 +782,7 @@ bool8 IsDoubleBattle() {
}
void sub_8078914(struct Struct_sub_8078914 *unk) {
- if (IsContest()) {
+ if (NotInBattle()) {
unk->field_0 = (u8 *)0x6008000;
unk->field_4 = (u8 *)0x600f000;
unk->field_8 = 0xe;
@@ -792,11 +794,11 @@ void sub_8078914(struct Struct_sub_8078914 *unk) {
}
void sub_8078954(struct Struct_sub_8078914 *unk) {
- if (IsContest()) {
+ if (NotInBattle()) {
unk->field_0 = (u8 *)0x6008000;
unk->field_4 = (u8 *)0x600f000;
unk->field_8 = 0xe;
- } else if (GetBankIdentity_permutated(gBattleAnimPlayerMonIndex) == 1) {
+ } else if (GetBankIdentity_permutated(gBattleAnimBankAttacker) == 1) {
unk->field_0 = (u8 *)0x6004000;
unk->field_4 = (u8 *)0x600e000;
unk->field_8 = 0x8;
@@ -808,7 +810,7 @@ void sub_8078954(struct Struct_sub_8078914 *unk) {
}
u8 sub_80789BC() {
- if (IsContest()) {
+ if (NotInBattle()) {
return 1;
}
return 2;
@@ -818,7 +820,7 @@ void sub_80789D4(bool8 a1) {
if (!a1) {
BG3CNT.size = 0;
BG3CNT.overflow = 1;
- } else if (IsContest()) {
+ } else if (NotInBattle()) {
BG3CNT.size = 0;
BG3CNT.overflow = 1;
} else {
@@ -906,7 +908,7 @@ bool8 sub_8078B5C(struct Sprite *sprite) {
void sub_8078BB8(struct Sprite *sprite) {
if (sub_8078B5C(sprite)) {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -986,7 +988,7 @@ bool8 sub_8078CE8(struct Sprite *sprite) {
void sub_8078D44(struct Sprite *sprite) {
if (sub_8078CE8(sprite)) {
- sub_8078104(sprite);
+ SetCallbackToStoredInData6(sprite);
}
}
@@ -1023,8 +1025,8 @@ void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) {
}
bool8 sub_8078E38() {
- if (IsContest()) {
- if (gSprites[obj_id_for_side_relative_to_move(0)].data2 == 0xc9 /* XXX SPECIES_UNOWN? */) {
+ if (NotInBattle()) {
+ if (gSprites[GetAnimBankSpriteId(0)].data2 == 0xc9 /* XXX SPECIES_UNOWN? */) {
return FALSE;
}
return TRUE;
@@ -1035,12 +1037,12 @@ bool8 sub_8078E38() {
void sub_8078E70(u8 sprite, u8 a2) {
struct Struct_2017810 *unk;
u8 r7 = gSprites[sprite].data0;
- if (IsContest() || b_side_obj__get_some_boolean(r7)) {
+ if (NotInBattle() || IsAnimBankSpriteVisible(r7)) {
gSprites[sprite].invisible = FALSE;
}
gSprites[sprite].oam.objMode = a2;
gSprites[sprite].affineAnimPaused = TRUE;
- if (!IsContest() && !gSprites[sprite].oam.affineMode) {
+ if (!NotInBattle() && !gSprites[sprite].oam.affineMode) {
unk = &unk_2017810[r7];
gSprites[sprite].oam.matrixNum = unk->field_6;
}
@@ -1096,12 +1098,12 @@ void sub_8079098(struct Sprite *sprite) {
CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
}
-u16 sub_80790D8(s16 a, s16 b) {
+static u16 ArcTan2_(s16 a, s16 b) {
return ArcTan2(a, b);
}
u16 sub_80790F0(s16 a, s16 b) {
- u16 var = sub_80790D8(a, b);
+ u16 var = ArcTan2_(a, b);
return -var;
}
@@ -1133,41 +1135,41 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
u32 var = 0;
u32 shift;
if (a1) {
- if (!IsContest()) {
+ if (!NotInBattle()) {
var = 0xe;
} else {
var = 1 << sub_80789BC();
}
}
if (a2) {
- shift = gBattleAnimPlayerMonIndex + 16;
+ shift = gBattleAnimBankAttacker + 16;
var |= 1 << shift;
}
if (a3) {
- shift = gBattleAnimEnemyMonIndex + 16;
+ shift = gBattleAnimBankTarget + 16;
var |= 1 << shift;
}
if (a4) {
- if (b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex ^ 2)) {
- shift = (gBattleAnimPlayerMonIndex ^ 2) + 16;
+ if (IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2)) {
+ shift = (gBattleAnimBankAttacker ^ 2) + 16;
var |= 1 << shift;
}
}
if (a5) {
- if (b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2)) {
- shift = (gBattleAnimEnemyMonIndex ^ 2) + 16;
+ if (IsAnimBankSpriteVisible(gBattleAnimBankTarget ^ 2)) {
+ shift = (gBattleAnimBankTarget ^ 2) + 16;
var |= 1 << shift;
}
}
if (a6) {
- if (!IsContest()) {
+ if (!NotInBattle()) {
var |= 0x100;
} else {
var |= 0x4000;
}
}
if (a7) {
- if (!IsContest()) {
+ if (!NotInBattle()) {
var |= 0x200;
}
}
@@ -1177,31 +1179,31 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) {
u32 var = 0;
u32 shift;
- if (IsContest()) {
+ if (NotInBattle()) {
if (a1) {
var |= 1 << 18;
return var;
}
} else {
if (a1) {
- if (b_side_obj__get_some_boolean(GetBankByPlayerAI(0))) {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(0))) {
var |= 1 << (GetBankByPlayerAI(0) + 16);
}
}
if (a2) {
- if (b_side_obj__get_some_boolean(GetBankByPlayerAI(2))) {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(2))) {
shift = GetBankByPlayerAI(2) + 16;
var |= 1 << shift;
}
}
if (a3) {
- if (b_side_obj__get_some_boolean(GetBankByPlayerAI(1))) {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(1))) {
shift = GetBankByPlayerAI(1) + 16;
var |= 1 << shift;
}
}
if (a4) {
- if (b_side_obj__get_some_boolean(GetBankByPlayerAI(3))) {
+ if (IsAnimBankSpriteVisible(GetBankByPlayerAI(3))) {
shift = GetBankByPlayerAI(3) + 16;
var |= 1 << shift;
}
@@ -1252,24 +1254,24 @@ void sub_807941C(struct Sprite *sprite) {
v2 = 1;
}
sub_80787B0(sprite, v1);
- if (GetBankSide(gBattleAnimPlayerMonIndex)) {
+ if (GetBankSide(gBattleAnimBankAttacker)) {
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
}
sprite->data0 = gBattleAnimArgs[4];
- sprite->data2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 2) + gBattleAnimArgs[2];
- sprite->data4 = sub_8077ABC(gBattleAnimEnemyMonIndex, v2) + gBattleAnimArgs[3];
+ sprite->data2 = sub_8077ABC(gBattleAnimBankTarget, 2) + gBattleAnimArgs[2];
+ sprite->data4 = sub_8077ABC(gBattleAnimBankTarget, v2) + gBattleAnimArgs[3];
sprite->callback = sub_8078B34;
- oamt_set_x3A_32(sprite, move_anim_8072740);
+ StoreSpriteCallbackInData6(sprite, move_anim_8072740);
}
void sub_80794A8(struct Sprite *sprite) {
sub_80787B0(sprite, 1);
- if (GetBankSide(gBattleAnimPlayerMonIndex)) {
+ if (GetBankSide(gBattleAnimBankAttacker)) {
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
}
sprite->data0 = gBattleAnimArgs[4];
- sprite->data2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 2) + gBattleAnimArgs[2];
- sprite->data4 = sub_8077ABC(gBattleAnimEnemyMonIndex, 3) + gBattleAnimArgs[3];
+ sprite->data2 = sub_8077ABC(gBattleAnimBankTarget, 2) + gBattleAnimArgs[2];
+ sprite->data4 = sub_8077ABC(gBattleAnimBankTarget, 3) + gBattleAnimArgs[3];
sprite->data5 = gBattleAnimArgs[5];
sub_80786EC(sprite);
sprite->callback = sub_8079518;
@@ -1292,12 +1294,12 @@ void sub_8079534(struct Sprite *sprite) {
}
if (!gBattleAnimArgs[5]) {
sub_80787B0(sprite, r4);
- slot = gBattleAnimPlayerMonIndex;
+ slot = gBattleAnimBankAttacker;
} else {
sub_8078764(sprite, r4);
- slot = gBattleAnimEnemyMonIndex;
+ slot = gBattleAnimBankTarget;
}
- if (GetBankSide(gBattleAnimPlayerMonIndex)) {
+ if (GetBankSide(gBattleAnimBankAttacker)) {
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
}
sub_8078764(sprite, r4);
@@ -1305,12 +1307,12 @@ void sub_8079534(struct Sprite *sprite) {
sprite->data2 = sub_8077ABC(slot, 2) + gBattleAnimArgs[2];
sprite->data4 = sub_8077ABC(slot, r7) + gBattleAnimArgs[3];
sprite->callback = sub_8078B34;
- oamt_set_x3A_32(sprite, move_anim_8072740);
+ StoreSpriteCallbackInData6(sprite, move_anim_8072740);
}
s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1) {
u16 i;
- u8 sprite = obj_id_for_side_relative_to_move(a1);
+ u8 sprite = GetAnimBankSpriteId(a1);
if (sprite != 0xff) {
for (i = 0; i < 0x40; i++) {
if (gSprites[i].inUse) {
@@ -1380,7 +1382,7 @@ void sub_80796F8(u8 taskId) {
}
void sub_8079790(u8 task) {
- u8 sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]);
+ u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
if (sprite == 0xff) {
DestroyAnimVisualTask(task);
return;
@@ -1538,7 +1540,7 @@ u16 sub_8079B10(u8 sprite) {
u16 i;
for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) {
if (gBattleMonSprites[i] == sprite) {
- if (IsContest()) {
+ if (NotInBattle()) {
species = unk_2019348.field_0;
return gMonBackPicCoords[species].y_offset;
} else {
@@ -1624,24 +1626,24 @@ void sub_8079CEC(u8 task) {
}
void unref_sub_8079D20(u8 priority) {
- if (b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex)) {
- gSprites[gBattleMonSprites[gBattleAnimEnemyMonIndex]].oam.priority = priority;
+ if (IsAnimBankSpriteVisible(gBattleAnimBankTarget)) {
+ gSprites[gBattleMonSprites[gBattleAnimBankTarget]].oam.priority = priority;
}
- if (b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex)) {
- gSprites[gBattleMonSprites[gBattleAnimPlayerMonIndex]].oam.priority = priority;
+ if (IsAnimBankSpriteVisible(gBattleAnimBankAttacker)) {
+ gSprites[gBattleMonSprites[gBattleAnimBankAttacker]].oam.priority = priority;
}
- if (b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2)) {
- gSprites[gBattleMonSprites[gBattleAnimEnemyMonIndex ^ 2]].oam.priority = priority;
+ if (IsAnimBankSpriteVisible(gBattleAnimBankTarget ^ 2)) {
+ gSprites[gBattleMonSprites[gBattleAnimBankTarget ^ 2]].oam.priority = priority;
}
- if (b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex ^ 2)) {
- gSprites[gBattleMonSprites[gBattleAnimPlayerMonIndex ^ 2]].oam.priority = priority;
+ if (IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2)) {
+ gSprites[gBattleMonSprites[gBattleAnimBankAttacker ^ 2]].oam.priority = priority;
}
}
void sub_8079E24() {
int i;
for (i = 0; i < gNoOfAllBanks; i++) {
- if (b_side_obj__get_some_boolean(i)) {
+ if (IsAnimBankSpriteVisible(i)) {
gSprites[gBattleMonSprites[i]].subpriority = sub_8079E90(i);
gSprites[gBattleMonSprites[i]].oam.priority = 2;
}
@@ -1651,7 +1653,7 @@ void sub_8079E24() {
u8 sub_8079E90(u8 slot) {
u8 status;
u8 ret;
- if (IsContest()) {
+ if (NotInBattle()) {
if (slot == 2) {
return 30;
} else {
@@ -1674,7 +1676,7 @@ u8 sub_8079E90(u8 slot) {
u8 sub_8079ED4(u8 slot) {
u8 status = GetBankIdentity(slot);
- if (IsContest()) {
+ if (NotInBattle()) {
return 2;
}
if (status == 0 || status == 3) {
@@ -1686,7 +1688,7 @@ u8 sub_8079ED4(u8 slot) {
u8 GetBankIdentity_permutated(u8 slot) {
u8 status;
- if (!IsContest()) {
+ if (!NotInBattle()) {
status = GetBankIdentity(slot);
if (status == 0 || status == 3) {
return 2;
@@ -1706,7 +1708,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7,
u16 sheet = LoadSpriteSheet(&gUnknown_0837F5E0[a3]);
u16 palette = AllocSpritePalette(gSpriteTemplate_837F5B0[a3].paletteTag);
if (!isBackpic) {
- LoadCompressedPalette(species_and_otid_get_pal(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
+ LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
LoadSpecialPokePic(
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
@@ -1719,7 +1721,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7,
);
} else {
LoadCompressedPalette(
- species_and_otid_get_pal(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
+ GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20);
LoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -1742,7 +1744,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7,
} else {
sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonBackPicCoords[species].y_offset, a6);
}
- if (IsContest()) {
+ if (NotInBattle()) {
gSprites[sprite].affineAnims = &gSpriteAffineAnimTable_81E7C18;
StartSpriteAffineAnim(&gSprites[sprite], 0);
}
@@ -1761,7 +1763,7 @@ int sub_807A100(u8 slot, u8 a2) {
int ret;
const struct MonCoords *coords;
struct TransformStatus *transform;
- if (IsContest()) {
+ if (NotInBattle()) {
if (unk_2019348.field_4 & 1) {
species = unk_2019348.field_2;
personality = unk_2019348.field_10;
@@ -1868,7 +1870,7 @@ void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) {
}
v3 = sub_8077ABC(slot, v1);
v4 = sub_8077ABC(slot, v2);
- if (IsDoubleBattle() && !IsContest()) {
+ if (IsDoubleBattle() && !NotInBattle()) {
v5 = sub_8077ABC(slot ^ 2, v1);
v6 = sub_8077ABC(slot ^ 2, v2);
} else {
@@ -1892,7 +1894,7 @@ u8 sub_807A4A0(int a1, u8 sprite, int a3) {
void sub_807A544(struct Sprite *sprite) {
sub_8078650(sprite);
- if (GetBankSide(gBattleAnimPlayerMonIndex)) {
+ if (GetBankSide(gBattleAnimBankAttacker)) {
sprite->pos1.x -= gBattleAnimArgs[0];
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
sprite->hFlip = TRUE;
@@ -1904,12 +1906,12 @@ void sub_807A544(struct Sprite *sprite) {
sprite->data1 = gBattleAnimArgs[3];
sprite->data3 = gBattleAnimArgs[4];
sprite->data5 = gBattleAnimArgs[5];
- oamt_set_x3A_32(sprite, move_anim_8074EE0);
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_8078504;
}
void sub_807A5C4(struct Sprite *sprite) {
- if (GetBankSide(gBattleAnimPlayerMonIndex)) {
+ if (GetBankSide(gBattleAnimBankAttacker)) {
sprite->pos1.x -= gBattleAnimArgs[0];
gBattleAnimArgs[3] *= -1;
} else {
@@ -1921,28 +1923,28 @@ void sub_807A5C4(struct Sprite *sprite) {
sprite->data3 = gBattleAnimArgs[4];
sprite->data5 = gBattleAnimArgs[5];
StartSpriteAnim(sprite, gBattleAnimArgs[6]);
- oamt_set_x3A_32(sprite, move_anim_8074EE0);
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_8078504;
}
void sub_807A63C(struct Sprite *sprite) {
sub_8078650(sprite);
- if (GetBankSide(gBattleAnimPlayerMonIndex)) {
+ if (GetBankSide(gBattleAnimBankAttacker)) {
sprite->pos1.x -= gBattleAnimArgs[0];
} else {
sprite->pos1.x += gBattleAnimArgs[0];
}
sprite->pos1.y += gBattleAnimArgs[1];
sprite->callback = sub_8078600;
- oamt_set_x3A_32(sprite, move_anim_8072740);
+ StoreSpriteCallbackInData6(sprite, move_anim_8072740);
}
void sub_807A69C(u8 taskId) {
u16 src;
u16 dest;
struct Task *task = &gTasks[taskId];
- task->data[0] = obj_id_for_side_relative_to_move(0);
- task->data[1] = (GetBankSide(gBattleAnimPlayerMonIndex)) ? -8 : 8;
+ task->data[0] = GetAnimBankSpriteId(0);
+ task->data[1] = (GetBankSide(gBattleAnimBankAttacker)) ? -8 : 8;
task->data[2] = 0;
task->data[3] = 0;
gSprites[task->data[0]].pos2.x -= task->data[0];
@@ -1951,7 +1953,7 @@ void sub_807A69C(u8 taskId) {
dest = (task->data[4] + 0x10) * 0x10;
src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10;
- task->data[6] = sub_8079E90(gBattleAnimPlayerMonIndex);
+ task->data[6] = sub_8079E90(gBattleAnimBankAttacker);
if (task->data[6] == 20 || task->data[6] == 40) {
task->data[6] = 2;
} else {
@@ -2012,9 +2014,9 @@ void sub_807A8D4(struct Sprite *sprite) {
}
void sub_807A908(struct Sprite *sprite) {
- sprite->pos1.x = sub_8077ABC(gBattleAnimPlayerMonIndex, 2);
- sprite->pos1.y = sub_8077ABC(gBattleAnimPlayerMonIndex, 3);
- if (!GetBankSide(gBattleAnimPlayerMonIndex)) {
+ sprite->pos1.x = sub_8077ABC(gBattleAnimBankAttacker, 2);
+ sprite->pos1.y = sub_8077ABC(gBattleAnimBankAttacker, 3);
+ if (!GetBankSide(gBattleAnimBankAttacker)) {
sprite->data0 = 5;
} else {
sprite->data0 = -10;
@@ -2041,7 +2043,7 @@ void sub_807A9BC(struct Sprite *sprite) {
sprite->data0 = gBattleAnimArgs[2];
sprite->data2 = sprite->pos1.x + gBattleAnimArgs[4];
sprite->data4 = sprite->pos1.y + gBattleAnimArgs[5];
- if (!GetBankSide(gBattleAnimEnemyMonIndex)) {
+ if (!GetBankSide(gBattleAnimBankTarget)) {
x = (u16)gBattleAnimArgs[4] + 30;
sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 20;
@@ -2051,5 +2053,5 @@ void sub_807A9BC(struct Sprite *sprite) {
sprite->pos1.y = gBattleAnimArgs[5] - 80;
}
sprite->callback = sub_8078B34;
- oamt_set_x3A_32(sprite, move_anim_8072740);
+ StoreSpriteCallbackInData6(sprite, move_anim_8072740);
}
diff --git a/src/berry_blender.c b/src/scene/berry_blender.c
index 455aabc45..7ffcc5185 100644
--- a/src/berry_blender.c
+++ b/src/scene/berry_blender.c
@@ -828,7 +828,7 @@ static bool8 sub_804E2EC(void)
switch (gBerryBlenderData->field_1)
{
case 0:
- sub_800D238(gUnknown_08E6C100, &ewram[0x10000]);
+ LZDecompressWram(gUnknown_08E6C100, &ewram[0x10000]);
gBerryBlenderData->field_1++;
break;
case 1:
@@ -862,11 +862,11 @@ static bool8 sub_804E2EC(void)
}
break;
case 3:
- sub_800D238(gUnknown_08E6C920, &ewram[0x10000]);
+ LZDecompressWram(gUnknown_08E6C920, &ewram[0x10000]);
gBerryBlenderData->field_1++;
break;
case 4:
- sub_800D238(gUnknown_08E6D354, &ewram[0x13000]);
+ LZDecompressWram(gUnknown_08E6D354, &ewram[0x13000]);
gBerryBlenderData->field_1++;
break;
case 5:
diff --git a/src/contest_painting.c b/src/scene/contest_painting.c
index 391cbdfaa..3662efdec 100644
--- a/src/contest_painting.c
+++ b/src/scene/contest_painting.c
@@ -353,7 +353,7 @@ static void sub_8106AC4(u16 species, u8 arg1)
void *pal;
// Unsure what gUnknown_03005E8C->var0 is supposed to be.
- pal = species_and_otid_get_pal(species, gUnknown_03005E8C->var4, gUnknown_03005E8C->var0);
+ pal = GetMonSpritePalFromOtIdPersonality(species, gUnknown_03005E8C->var4, gUnknown_03005E8C->var0);
LZDecompressVram(pal, gUnknown_03005E90);
if (arg1 == 1)
@@ -402,7 +402,7 @@ static void sub_8106AC4(u16 arg0, u8 arg2)
ldr r1, [r0, 0x4]\n\
ldr r2, [r0]\n\
adds r0, r6, 0\n\
- bl species_and_otid_get_pal\n\
+ bl GetMonSpritePalFromOtIdPersonality\n\
ldr r1, _08106B2C @ =gUnknown_03005E90\n\
mov r8, r1\n\
ldr r1, [r1]\n\
diff --git a/src/credits.c b/src/scene/credits.c
index df70674b6..cf10137c1 100644
--- a/src/credits.c
+++ b/src/scene/credits.c
@@ -1387,7 +1387,7 @@ static u8 sub_81456B4(u16 species, u16 x, u16 y, u16 position)
1
);
- lzPaletteData = species_and_otid_get_pal(species, 0, 0xFFFF);
+ lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, 0, 0xFFFF);
LoadCompressedPalette(lzPaletteData, 0x100 + (position * 16), 0x20);
sub_8143648(position, position);
@@ -1433,7 +1433,7 @@ static void sub_81458DC(void)
for (dexNum = 1, seenTypesCount = 0; dexNum < 386; dexNum++)
{
- if (GetNationalPokedexFlag(dexNum, 1))
+ if (GetSetPokedexFlag(dexNum, 1))
{
unk201C000->unk90[seenTypesCount] = dexNum;
seenTypesCount++;
diff --git a/src/cute_sketch.c b/src/scene/cute_sketch.c
index 5317bc334..5317bc334 100644
--- a/src/cute_sketch.c
+++ b/src/scene/cute_sketch.c
diff --git a/src/egg_hatch.c b/src/scene/egg_hatch.c
index 90d1ee039..032dcd284 100644
--- a/src/egg_hatch.c
+++ b/src/scene/egg_hatch.c
@@ -19,6 +19,7 @@
#include "naming_screen.h"
#include "trig.h"
#include "rng.h"
+#include "trade.h"
extern u8 ewram[];
extern struct SpriteTemplate gUnknown_02024E8C;
@@ -40,18 +41,15 @@ struct EggHatchData* gEggHatchData;
extern const u32 gUnknown_08D00000[];
extern const u32 gUnknown_08D00524[];
-extern const u32 gUnknown_0820CA98[];
-extern const u32 gUnknown_0820F798[];
extern const u16 gUnknown_08D004E0[]; //palette
-extern const u16 gUnknown_0820C9F8[]; //palette
extern const struct SpriteSheet sUnknown_0820A3B0;
extern const struct SpriteSheet sUnknown_0820A3B8;
extern const struct SpritePalette sUnknown_0820A3C0;
-bool8 GetNationalPokedexFlag(u16 nationalNum, u8 caseID);
+bool8 GetSetPokedexFlag(u16 nationalNum, u8 caseID);
u8* GetMonNick(struct Pokemon* mon, u8* dst);
u8 sav1_map_get_name(void);
-const struct CompressedSpritePalette* sub_8040990(struct Pokemon* mon); //gets pokemon palette address
+const struct CompressedSpritePalette* GetMonSpritePalStruct(struct Pokemon* mon); //gets pokemon palette address
void sub_8080990(void);
static void Task_EggHatch(u8 taskID);
@@ -289,8 +287,8 @@ static void AddHatchedMonToParty(u8 id)
SetMonData(mon, MON_DATA_NICKNAME, name);
pokeNum = SpeciesToNationalPokedexNum(pokeNum);
- GetNationalPokedexFlag(pokeNum, 2);
- GetNationalPokedexFlag(pokeNum, 3);
+ GetSetPokedexFlag(pokeNum, 2);
+ GetSetPokedexFlag(pokeNum, 3);
GetMonNick(mon, gStringVar1);
@@ -419,11 +417,11 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID)
u16 species = GetMonData(mon, MON_DATA_SPECIES);
u32 pid = GetMonData(mon, MON_DATA_PERSONALITY);
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset,(u32)(&ewram[0]), gUnknown_081FAF4C[2 * a0 + 1], species, pid);
- LoadCompressedObjectPalette(sub_8040990(mon));
+ LoadCompressedObjectPalette(GetMonSpritePalStruct(mon));
}
break;
case 1:
- GetMonSpriteTemplate_803C56C(sub_8040990(mon)->tag, r5);
+ GetMonSpriteTemplate_803C56C(GetMonSpritePalStruct(mon)->tag, r5);
spriteID = CreateSprite(&gUnknown_02024E8C, 120, 70, 6);
gSprites[spriteID].invisible = 1;
gSprites[spriteID].callback = SpriteCallbackDummy;
@@ -512,7 +510,7 @@ static void CB2_EggHatch_0(void)
u32 size;
REG_BG2CNT = 0x4C06;
- LoadPalette(&gUnknown_0820C9F8, 0x10, 0xA0);
+ LoadPalette(gUnknown_0820C9F8, 0x10, 0xA0);
offsetRead = (u32)(&gUnknown_0820CA98);
offsetWrite = (VRAM + 0x4000);
diff --git a/src/evolution_graphics.c b/src/scene/evolution_graphics.c
index 1fd5bf8fa..1fd5bf8fa 100644
--- a/src/evolution_graphics.c
+++ b/src/scene/evolution_graphics.c
diff --git a/src/evolution_scene.c b/src/scene/evolution_scene.c
index e312b081f..24168dc56 100644
--- a/src/evolution_scene.c
+++ b/src/scene/evolution_scene.c
@@ -236,7 +236,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
gMonFrontPicCoords[currSpecies].y_offset,
(void*)(0x2000000),
gUnknown_081FAF4C[1], currSpecies);
- pokePal = (void*) sub_80409C8(currSpecies, TiD, PiD);
+ pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(currSpecies, TiD, PiD);
LoadCompressedPalette(*pokePal, 0x110, 0x20);
GetMonSpriteTemplate_803C56C(currSpecies, 1);
@@ -253,7 +253,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
gMonFrontPicCoords[speciesToEvolve].y_offset,
(void*)(0x2000000),
gUnknown_081FAF4C[3], speciesToEvolve);
- pokePal = (void*) sub_80409C8(speciesToEvolve, TiD, PiD);
+ pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, TiD, PiD);
LoadCompressedPalette(*pokePal, 0x120, 0x20);
GetMonSpriteTemplate_803C56C(speciesToEvolve, 3);
@@ -333,7 +333,7 @@ static void CB2_EvolutionSceneLoadGraphics(void)
gMonFrontPicCoords[postEvoSpecies].y_offset,
(void*)(0x2000000),
gUnknown_081FAF4C[3], postEvoSpecies);
- pokePal = (void*) sub_80409C8(postEvoSpecies, TiD, PiD);
+ pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, TiD, PiD);
LoadCompressedPalette(*pokePal, 0x120, 0x20);
GetMonSpriteTemplate_803C56C(postEvoSpecies, 3);
@@ -376,13 +376,13 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
break;
case 1:
SetUpWindowConfig(&gWindowConfig_81E6F84);
- InitWindowFromConfig(&gUnknown_03004828->field_4, &gWindowConfig_81E6F84);
+ InitWindowFromConfig(&gUnknown_03004828->window, &gWindowConfig_81E6F84);
gMain.state++;
break;
case 2:
- LoadTextWindowGraphics(&gUnknown_03004828->field_4);
- gUnknown_03004828->field_34 = SetTextWindowBaseTileNum(2);
- LoadTextWindowGraphics(&gUnknown_03004828->field_4);
+ LoadTextWindowGraphics(&gUnknown_03004828->window);
+ gUnknown_03004828->textWindowBaseTileNum = SetTextWindowBaseTileNum(2);
+ LoadTextWindowGraphics(&gUnknown_03004828->window);
MenuZeroFillScreen();
ResetPaletteFade();
gMain.state++;
@@ -403,7 +403,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
gMonFrontPicCoords[postEvoSpecies].y_offset,
(void*)(0x2000000),
gUnknown_081FAF4C[3], postEvoSpecies);
- pokePal = (void*) sub_80409C8(postEvoSpecies, TiD, PiD);
+ pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, TiD, PiD);
LoadCompressedPalette(*pokePal, 0x120, 0x20);
gMain.state++;
}
@@ -453,7 +453,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpri
gMonFrontPicCoords[speciesToEvolve].y_offset,
(void*)(0x2000000),
gUnknown_081FAF4C[1], speciesToEvolve);
- pokePal = (void*) sub_80409C8(speciesToEvolve, TiD, PiD);
+ pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, TiD, PiD);
LoadCompressedPalette(*pokePal, 0x120, 0x20);
GetMonSpriteTemplate_803C56C(speciesToEvolve, 1);
@@ -492,7 +492,7 @@ static void CB2_TradeEvolutionSceneUpdate(void)
{
AnimateSprites();
BuildOamBuffer();
- sub_80035AC(&gUnknown_03004828->field_4);
+ sub_80035AC(&gUnknown_03004828->window);
UpdatePaletteFade();
RunTasks();
}
@@ -527,8 +527,8 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon)
// can't match it otherwise, ehh
EvoTable = gEvolutionTable;
Evos = EvoTable + preEvoSpecies;
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 2);
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 3);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 2);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 3);
if (GetMonData(Shedinja, MON_DATA_SPECIES) == SPECIES_SHEDINJA
&& GetMonData(Shedinja, MON_DATA_LANGUAGE) == LANGUAGE_JAPANESE
@@ -654,8 +654,8 @@ static void Task_EvolutionScene(u8 taskID)
SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskID].tPostEvoSpecies));
CalculateMonStats(mon);
EvolutionRenameMon(mon, gTasks[taskID].tPreEvoSpecies, gTasks[taskID].tPostEvoSpecies);
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 2);
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 3);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 2);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 3);
IncrementGameStat(14);
}
break;
@@ -667,7 +667,7 @@ static void Task_EvolutionScene(u8 taskID)
{
u8 text[20];
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
gTasks[taskID].tBits |= TASK_BIT_LEARN_MOVE;
gTasks[taskID].tLearnsFirstMove = FALSE;
gTasks[taskID].tLearnMoveState = 0;
@@ -691,7 +691,7 @@ static void Task_EvolutionScene(u8 taskID)
if (!gPaletteFade.active)
{
if (!(gTasks[taskID].tBits & TASK_BIT_LEARN_MOVE))
- sub_8053E90();
+ Overworld_PlaySpecialMapMusic();
if (!gTasks[taskID].tEvoWasStopped)
CreateShedinja(gTasks[taskID].tPreEvoSpecies, mon);
DestroyTask(taskID);
@@ -902,11 +902,11 @@ static void Task_TradeEvolutionScene(u8 taskID)
{
case 0:
StringExpandPlaceholders(gStringVar4, gUnknown_08400C4A);
- sub_8002EB0(&gUnknown_03004828->field_4, gStringVar4, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tState++;
break;
case 1:
- if (gUnknown_03004828->field_4.state == 0)
+ if (gUnknown_03004828->window.state == 0)
{
PlayCry1(gTasks[taskID].tPreEvoSpecies, 0);
gTasks[taskID].tState++;
@@ -990,19 +990,19 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (IsCryFinished() && !gPaletteFade.active)
{
StringExpandPlaceholders(gStringVar4, gUnknown_08400C60);
- sub_8002EB0(&gUnknown_03004828->field_4, gStringVar4, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
PlayFanfare(BGM_FANFA5);
gTasks[taskID].tState++;
SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskID].tPostEvoSpecies));
CalculateMonStats(mon);
EvolutionRenameMon(mon, gTasks[taskID].tPreEvoSpecies, gTasks[taskID].tPostEvoSpecies);
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 2);
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 3);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 2);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 3);
IncrementGameStat(14);
}
break;
case 13:
- if (gUnknown_03004828->field_4.state == 0 && IsFanfareTaskInactive() == TRUE)
+ if (gUnknown_03004828->window.state == 0 && IsFanfareTaskInactive() == TRUE)
{
var = MonTryLearningNewMove(mon, gTasks[taskID].tLearnsFirstMove);
if (var != 0 && !gTasks[taskID].tEvoWasStopped)
@@ -1024,71 +1024,71 @@ static void Task_TradeEvolutionScene(u8 taskID)
else
{
PlayBGM(BGM_SHINKA);
- sub_8002EB0(&gUnknown_03004828->field_4, gOtherText_LinkStandby2, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gOtherText_LinkStandby2, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tState++;
}
}
break;
case 14:
- if (gUnknown_03004828->field_4.state == 0)
+ if (gUnknown_03004828->window.state == 0)
{
DestroyTask(taskID);
SetMainCallback2(gCB2_AfterEvolution);
}
break;
case 15:
- if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying())
+ if (gUnknown_03004828->window.state == 0 && !IsSEPlaying())
{
sub_8024CEC();
PlayFanfare(BGM_FANFA1);
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[3]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter
gTasks[taskID].tState++;
}
break;
case 16:
- if (gUnknown_03004828->field_4.state == 0 && IsFanfareTaskInactive() == TRUE && --gTasks[taskID].tLearnsFirstMove == 0)
+ if (gUnknown_03004828->window.state == 0 && IsFanfareTaskInactive() == TRUE && --gTasks[taskID].tLearnsFirstMove == 0)
gTasks[taskID].tState = 13;
break;
case 17:
switch (gTasks[taskID].tLearnMoveState)
{
case 0:
- if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying())
+ if (gUnknown_03004828->window.state == 0 && !IsSEPlaying())
{
sub_8024CEC();
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[4]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tLearnMoveState++;
}
break;
case 1:
- if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying())
+ if (gUnknown_03004828->window.state == 0 && !IsSEPlaying())
{
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[5]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tLearnMoveState++;
}
break;
case 2:
- if (gUnknown_03004828->field_4.state != 0)
+ if (gUnknown_03004828->window.state != 0)
break;
if (!IsSEPlaying())
{
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[6]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tData9 = 5;
gTasks[taskID].tData10 = 9;
gTasks[taskID].tLearnMoveState++;
}
case 3:
- if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying())
+ if (gUnknown_03004828->window.state == 0 && !IsSEPlaying())
{
- DrawTextWindow(&gUnknown_03004828->field_4, 24, 8, 29, 13);
+ DrawTextWindow(&gUnknown_03004828->window, 24, 8, 29, 13);
sEvoCursorPos = 0;
- InitWindow(&gUnknown_03004828->field_4, gOtherText_YesNoAndPlayer, gUnknown_03004828->field_34 + 128, 25, 9);
- sub_8002F44(&gUnknown_03004828->field_4);
+ InitWindow(&gUnknown_03004828->window, gOtherText_YesNoAndPlayer, gUnknown_03004828->textWindowBaseTileNum + 128, 25, 9);
+ sub_8002F44(&gUnknown_03004828->window);
sub_814A5C0(0, 0xFFFF, 0xC, 0x2D9F, 0x20);
sub_81150D8();
gTasks[taskID].tLearnMoveState++;
@@ -1112,10 +1112,10 @@ static void Task_TradeEvolutionScene(u8 taskID)
}
if (gMain.newKeys & A_BUTTON)
{
- ZeroFillWindowRect(&gUnknown_03004828->field_4, 0x18, 8, 0x1D, 0xD);
+ ZeroFillWindowRect(&gUnknown_03004828->window, 0x18, 8, 0x1D, 0xD);
DestroyMenuCursor();
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[292]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
PlaySE(SE_SELECT);
if (sEvoCursorPos != 0)
gTasks[taskID].tLearnMoveState = gTasks[taskID].tData10;
@@ -1128,10 +1128,10 @@ static void Task_TradeEvolutionScene(u8 taskID)
}
if (gMain.newKeys & B_BUTTON)
{
- ZeroFillWindowRect(&gUnknown_03004828->field_4, 0x18, 8, 0x1D, 0xD);
+ ZeroFillWindowRect(&gUnknown_03004828->window, 0x18, 8, 0x1D, 0xD);
DestroyMenuCursor();
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[292]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
PlaySE(SE_SELECT);
gTasks[taskID].tLearnMoveState = gTasks[taskID].tData10;
}
@@ -1157,7 +1157,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (IsHMMove2(move))
{
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[307]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tLearnMoveState = 11;
}
else
@@ -1170,42 +1170,42 @@ static void Task_TradeEvolutionScene(u8 taskID)
RemoveMonPPBonus(mon, var);
SetMonMoveSlot(mon, gMoveToLearn, var);
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[207]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tLearnMoveState++;
}
}
}
break;
case 7:
- if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying())
+ if (gUnknown_03004828->window.state == 0 && !IsSEPlaying())
{
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[7]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tLearnMoveState++;
}
break;
case 8:
- if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying())
+ if (gUnknown_03004828->window.state == 0 && !IsSEPlaying())
{
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[208]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tState = 15;
}
break;
case 9:
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[8]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tData9 = 10;
gTasks[taskID].tData10 = 0;
gTasks[taskID].tLearnMoveState = 3;
break;
case 10:
StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[9]);
- sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15);
+ sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tState = 13;
break;
case 11:
- if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying())
+ if (gUnknown_03004828->window.state == 0 && !IsSEPlaying())
gTasks[taskID].tLearnMoveState = 5;
break;
}
diff --git a/src/hall_of_fame.c b/src/scene/hall_of_fame.c
index 10c999ef3..6f7df576b 100644
--- a/src/hall_of_fame.c
+++ b/src/scene/hall_of_fame.c
@@ -1347,7 +1347,7 @@ static u32 HallOfFame_LoadPokemonPic(u16 species, s16 posX, s16 posY, u16 pokeID
LoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, 0x2000000, gUnknown_0840B5A0[pokeID], species, pid, 1);
- pokePal = species_and_otid_get_pal(species, tid, pid);
+ pokePal = GetMonSpritePalFromOtIdPersonality(species, tid, pid);
LoadCompressedPalette(pokePal, 16 * pokeID + 256, 0x20);
sub_8143648(pokeID, pokeID);
diff --git a/src/intro.c b/src/scene/intro.c
index a43e0356c..a6dd23c92 100644
--- a/src/intro.c
+++ b/src/scene/intro.c
@@ -768,7 +768,7 @@ const struct SpritePalette gIntro3MiscPal_Table[] =
const u32 unusedData = 0x02000000;
static void MainCB2_EndIntro(void);
-static void Task_IntroLoadPart1Graphics(u8);
+void Task_IntroLoadPart1Graphics(u8);
static void Task_IntroFadeIn(u8);
static void Task_IntroWaterDrops(u8);
static void Task_IntroScrollDownAndShowEon(u8);
@@ -938,7 +938,7 @@ void CB2_InitCopyrightScreenAfterTitleScreen(void)
SetUpCopyrightScreen();
}
-static void Task_IntroLoadPart1Graphics(u8 taskId)
+void Task_IntroLoadPart1Graphics(u8 taskId)
{
SetVBlankCallback(NULL);
gUnknown_02039318 = Random() & 1;
@@ -1785,7 +1785,7 @@ static u16 sub_813CE88(u16 species, s16 x, s16 y, u16 d, u8 front)
LoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, 0x2000000, gUnknown_0840B5A0[d], species, 0, 1);
else
LoadSpecialPokePic(&gMonBackPicTable[species], gMonBackPicCoords[species].coords, gMonBackPicCoords[species].y_offset, 0x2000000, gUnknown_0840B5A0[d], species, 0, 0);
- lzPaletteData = species_and_otid_get_pal(species, 0, 0xFFFF);
+ lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, 0, 0xFFFF);
LoadCompressedPalette(lzPaletteData, 0x100 + d * 0x10, 0x20);
sub_8143648(d, d);
spriteId = CreateSprite(&gUnknown_02024E8C, x, y, (d + 1) * 4);
diff --git a/src/intro_credits_graphics.c b/src/scene/intro_credits_graphics.c
index cd0589af8..cd0589af8 100755
--- a/src/intro_credits_graphics.c
+++ b/src/scene/intro_credits_graphics.c
diff --git a/src/new_game.c b/src/scene/new_game.c
index 3f9e9f5a1..b15282960 100644
--- a/src/new_game.c
+++ b/src/scene/new_game.c
@@ -92,14 +92,14 @@ void sub_8052DA8(void)
gSaveBlock1.sbStruct.unkSB1.sb1_2EFC_struct[i] = gUnknown_08216604;
}
-void sub_8052DE4(void)
+void ZeroBattleTowerData(void)
{
- CpuFill32(0, &gSaveBlock2.filler_A8, sizeof(gSaveBlock2.filler_A8));
+ CpuFill32(0, &gSaveBlock2.battleTower, sizeof(gSaveBlock2.battleTower));
}
void WarpToTruck(void)
{
- warp1_set(25, 40, -1, -1, -1); // inside of truck
+ Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck
warp_in();
}
@@ -127,7 +127,7 @@ void NewGameInitData(void)
ZeroPlayerPartyMons();
ZeroEnemyPartyMons();
ResetPokedex();
- sub_8052DE4();
+ ZeroBattleTowerData();
memset(&gSaveBlock1, 0, sizeof(gSaveBlock1));
ClearMailData();
gSaveBlock2.specialSaveWarp = 0;
diff --git a/src/title_screen.c b/src/scene/title_screen.c
index 2503b0654..2503b0654 100644
--- a/src/title_screen.c
+++ b/src/scene/title_screen.c
diff --git a/src/script_pokemon_util_80C4BF0.c b/src/script_pokemon_util_80C4BF0.c
index 323df991a..f98293a90 100644
--- a/src/script_pokemon_util_80C4BF0.c
+++ b/src/script_pokemon_util_80C4BF0.c
@@ -433,7 +433,7 @@ void ShowContestEntryMonPic(void)
gUnknown_081FAF4C[1],
species,
var1);
- palette = sub_80409C8(species, var2, var1);
+ palette = GetMonSpritePalStructFromOtIdPersonality(species, var2, var1);
LoadCompressedObjectPalette(palette);
GetMonSpriteTemplate_803C56C(species, 1);
gUnknown_02024E8C.paletteTag = palette->tag;
@@ -560,8 +560,8 @@ u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 u
{
case 0:
case 1:
- GetNationalPokedexFlag(nationalDexNum, 2);
- GetNationalPokedexFlag(nationalDexNum, 3);
+ GetSetPokedexFlag(nationalDexNum, 2);
+ GetSetPokedexFlag(nationalDexNum, 3);
break;
}
return sentToPc;
diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c
index f930df8e2..e303d5173 100644
--- a/src/script_pokemon_util_80F99CC.c
+++ b/src/script_pokemon_util_80F99CC.c
@@ -31,8 +31,8 @@ void sub_80F99CC(void)
u8 taskId;
ScriptContext2_Enable();
- taskId = CreateTask((void *)sub_80F9A8C, 0xA);
- gTasks[taskId].data[0] = 2;
+ taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA);
+ gTasks[taskId].data[0] = PARTY_MENU_TYPE_CONTEST;
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
}
@@ -41,8 +41,8 @@ void sub_80F9A0C(void)
u8 taskId;
ScriptContext2_Enable();
- taskId = CreateTask((void *)sub_80F9A8C, 0xA);
- gTasks[taskId].data[0] = 3;
+ taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA);
+ gTasks[taskId].data[0] = PARTY_MENU_TYPE_IN_GAME_TRADE;
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
}
@@ -51,12 +51,12 @@ void sub_80F9A4C(void)
u8 taskId;
ScriptContext2_Enable();
- taskId = CreateTask((void *)sub_80F9A8C, 0xA);
- gTasks[taskId].data[0] = 7;
+ taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA);
+ gTasks[taskId].data[0] = PARTY_MENU_TYPE_MOVE_TUTOR;
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
}
-void sub_80F9A8C(u8 taskId)
+void OpenPartyMenuFromScriptContext(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -66,64 +66,64 @@ void sub_80F9A8C(u8 taskId)
}
}
-bool8 sub_80F9ACC(void)
+bool8 SetupContestPartyMenu(void)
{
- switch (EWRAM_1B000.unk264)
+ switch (EWRAM_1B000.setupState)
{
case 0:
- if (EWRAM_1B000.unk266 < gPlayerPartyCount)
+ if (EWRAM_1B000.monIndex < gPlayerPartyCount)
{
- TryCreatePartyMenuMonIcon(EWRAM_1B000.unk260, EWRAM_1B000.unk266, &gPlayerParty[EWRAM_1B000.unk266]);
- EWRAM_1B000.unk266++;
+ TryCreatePartyMenuMonIcon(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex, &gPlayerParty[EWRAM_1B000.monIndex]);
+ EWRAM_1B000.monIndex++;
}
else
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState++;
}
break;
case 1:
LoadHeldItemIconGraphics();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 2:
- CreateHeldItemIcons_806DC34(EWRAM_1B000.unk260);
- EWRAM_1B000.unk264++;
+ CreateHeldItemIcons_806DC34(EWRAM_1B000.menuHandlerTaskId);
+ EWRAM_1B000.setupState++;
break;
case 3:
- if (sub_806BD58(EWRAM_1B000.unk260, EWRAM_1B000.unk266) != 1)
+ if (sub_806BD58(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex) != 1)
{
- EWRAM_1B000.unk266++;
+ EWRAM_1B000.monIndex++;
break;
}
else
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState++;
break;
}
case 4:
PartyMenuPrintMonsLevelOrStatus();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 5:
PrintPartyMenuMonNicknames();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 6:
sub_80F9C00();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 7: // the only case that can return true.
- if (sub_806B58C(EWRAM_1B000.unk266) != 1)
+ if (DrawPartyMonBackground(EWRAM_1B000.monIndex) != 1)
{
- EWRAM_1B000.unk266++;
+ EWRAM_1B000.monIndex++;
break;
}
else
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264 = 0;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState = 0;
return TRUE;
}
}
@@ -151,19 +151,19 @@ void sub_80F9C00(void)
}
}
-void sub_80F9C6C(u8 var)
+void HandleSelectPartyMenu(u8 var)
{
if (!gPaletteFade.active)
{
- switch (sub_806BD80(var))
+ switch (HandleDefaultPartyMenuInput(var))
{
- case 1:
+ case A_BUTTON:
PlaySE(SE_SELECT);
gUnknown_02038694 = sub_806CA38(var);
gSpecialVar_0x8004 = gUnknown_02038694;
sub_8123138(var);
break;
- case 2:
+ case B_BUTTON:
PlaySE(SE_SELECT);
gUnknown_02038694 = 0xFF;
gSpecialVar_0x8004 = 0xFF;
@@ -173,67 +173,66 @@ void sub_80F9C6C(u8 var)
}
}
-bool8 sub_80F9CE8(void) // this is the same function as sub_80F9ACC except case 6 calls a different function. why
+bool8 SetupMoveTutorPartyMenu(void)
{
- switch (EWRAM_1B000.unk264)
+ switch (EWRAM_1B000.setupState)
{
case 0:
- if (EWRAM_1B000.unk266 < gPlayerPartyCount)
+ if (EWRAM_1B000.monIndex < gPlayerPartyCount)
{
- TryCreatePartyMenuMonIcon(EWRAM_1B000.unk260, EWRAM_1B000.unk266, &gPlayerParty[EWRAM_1B000.unk266]);
- EWRAM_1B000.unk266++;
+ TryCreatePartyMenuMonIcon(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex, &gPlayerParty[EWRAM_1B000.monIndex]);
+ EWRAM_1B000.monIndex++;
}
else
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState++;
}
break;
case 1:
LoadHeldItemIconGraphics();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 2:
- CreateHeldItemIcons_806DC34(EWRAM_1B000.unk260);
- EWRAM_1B000.unk264++;
+ CreateHeldItemIcons_806DC34(EWRAM_1B000.menuHandlerTaskId);
+ EWRAM_1B000.setupState++;
break;
case 3:
- if (sub_806BD58(EWRAM_1B000.unk260, EWRAM_1B000.unk266) != 1)
+ if (sub_806BD58(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex) != 1)
{
- EWRAM_1B000.unk266++;
- break;
+ EWRAM_1B000.monIndex++;
}
else
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264++;
- break;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState++;
}
+ break;
case 4:
PartyMenuPrintMonsLevelOrStatus();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 5:
PrintPartyMenuMonNicknames();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 6:
sub_80F9E1C();
- EWRAM_1B000.unk264++;
+ EWRAM_1B000.setupState++;
break;
case 7: // the only case that can return true.
- if (sub_806B58C(EWRAM_1B000.unk266) != 1)
+ if (DrawPartyMonBackground(EWRAM_1B000.monIndex) != 1)
{
- EWRAM_1B000.unk266++;
- break;
+ EWRAM_1B000.monIndex++;
}
else
{
- EWRAM_1B000.unk266 = 0;
- EWRAM_1B000.unk264 = 0;
+ EWRAM_1B000.monIndex = 0;
+ EWRAM_1B000.setupState = 0;
return TRUE;
}
}
+
return FALSE;
}
@@ -250,19 +249,19 @@ void sub_80F9E1C(void)
}
}
-void sub_80F9E64(u8 var)
+void HandleMoveTutorPartyMenu(u8 var)
{
if (!gPaletteFade.active)
{
- switch (sub_806BD80(var))
+ switch (HandleDefaultPartyMenuInput(var))
{
- case 1:
+ case A_BUTTON:
PlaySE(SE_SELECT);
gSpecialVar_0x8004 = sub_806CA38(var);
gSpecialVar_0x8005 = sub_8040574(&gPlayerParty[gSpecialVar_0x8004]);
sub_8123138(var);
break;
- case 2:
+ case B_BUTTON:
PlaySE(SE_SELECT);
gSpecialVar_0x8004 = 0xFF;
sub_8123138(var);
diff --git a/src/secret_base.c b/src/secret_base.c
deleted file mode 100644
index b2cd1f094..000000000
--- a/src/secret_base.c
+++ /dev/null
@@ -1,1075 +0,0 @@
-#include "global.h"
-#include "secret_base.h"
-#include "decoration.h"
-#include "event_data.h"
-#include "field_camera.h"
-#include "field_fadetransition.h"
-#include "field_player_avatar.h"
-#include "field_weather.h"
-#include "fieldmap.h"
-#include "main.h"
-#include "map_constants.h"
-#include "map_name_popup.h"
-#include "menu.h"
-#include "metatile_behavior.h"
-#include "palette.h"
-#include "pokemon.h"
-#include "overworld.h"
-#include "script.h"
-#include "string_util.h"
-#include "strings.h"
-#include "task.h"
-#include "text.h"
-#include "vars.h"
-
-extern u8 gUnknown_020387DC;
-extern u16 gSpecialVar_0x8004;
-extern u16 gSpecialVar_0x8005;
-extern u16 gSpecialVar_0x8006;
-extern u16 gSpecialVar_0x8007;
-extern u16 gScriptResult;
-extern const struct
-{
- u16 unk_083D1358_0;
- u16 unk_083D1358_1;
-} gUnknown_083D1358[7];
-extern const u8 gUnknown_083D1374[4 * 16];
-extern void *gUnknown_0300485C;
-extern const u8 gUnknown_083D13EC[12];
-extern u8 gUnknown_081A2E14[];
-
-
-void sub_80BB4AC(struct SecretBaseRecord *record) // 080bb4ac
-{
- u16 i;
- u16 j;
- record->sbr_field_0 = 0;
- for (i=0; i<7; i++)
- record->sbr_field_2[i] = 0xff;
- for (i=0; i<4; i++)
- record->trainerId[i] = 0x00;
- record->sbr_field_e = 0;
- record->sbr_field_10 = 0;
- record->sbr_field_11 = 0;
- record->sbr_field_1_0 = 0;
- record->gender = 0;
- record->sbr_field_1_5 = 0;
- record->sbr_field_1_6 = 0;
- for (i=0; i<16; i++) {
- record->decorations[i] = 0;
- record->decorationPos[i] = 0;
- }
- for (i=0; i<6; i++) {
- for (j=0; j<4; j++) {
- record->partyMoves[i * 4 + j] = 0;
- }
- record->partyPersonality[i] = 0;
- record->partyEVs[i] = 0;
- record->partySpecies[i] = 0;
- record->partyHeldItems[i] = 0;
- record->partyLevels[i] = 0;
- }
-}
-
-void ResetSecretBase(u8 idx) // 80bb594
-{
- sub_80BB4AC(&(gSaveBlock1.secretBases[idx]));
-}
-
-void ResetSecretBases(void) // 080bb5b4
-{
- u16 i;
- for (i=0; i<20; i++)
- ResetSecretBase(i);
-}
-
-void sub_80BB5D0(void) // 080bb5d0
-{
- gUnknown_020387DC = gSpecialVar_0x8004;
-}
-
-void sub_80BB5E4(void) // 80bb5e4
-{
- u16 idx;
- gScriptResult = 0;
- for (idx=0; idx<20; idx++) {
- if (gUnknown_020387DC != gSaveBlock1.secretBases[idx].sbr_field_0)
- continue;
- gScriptResult = 1;
- VarSet(VAR_0x4054, idx);
- break;
- }
-}
-
-void sub_80BB63C(void) // 80bb63c
-{
- if (gSaveBlock1.secretBases[0].sbr_field_0)
- gScriptResult = 1;
- else
- gScriptResult = 0;
-}
-
-u8 sub_80BB66C(void) // 80bb66c
-{
- s16 x, y;
- s16 v0;
- GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
- v0 = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF;
- if (v0 == 0x90 || v0 == 0x91)
- return 1;
- else if (v0 == 0x92 || v0 == 0x93)
- return 2;
- else if (v0 == 0x9a || v0 == 0x9b)
- return 3;
- else if (v0 == 0x94 || v0 == 0x95)
- return 4;
- else if (v0 == 0x96 || v0 == 0x97 || v0 == 0x9c || v0 == 0x9d)
- return 5;
- else if (v0 == 0x98 || v0 == 0x99)
- return 6;
- return 0;
-}
-
-void sub_80BB70C(void) // 80bb70c
-{
- gSpecialVar_0x8007 = sub_80BB66C();
-}
-
-s16 unref_sub_80BB724(u16 *a0, u8 a1)
-{
- u16 v2;
- for (v2=0; v2<0x200; v2++) {
- if ((a0[v2] & 0xFFF) == a1)
- return (s16)v2;
- }
- return -1;
-}
-
-void sub_80BB764(s16 *arg1, s16 *arg2, u16 arg3)
-{
- s16 x, y;
- for (y=0; y<gMapHeader.mapData->height; y++) {
- for (x=0; x<gMapHeader.mapData->width; x++) {
- if ((gMapHeader.mapData->map[y * gMapHeader.mapData->width + x] & 0x3ff) == arg3) {
- *arg1 = x;
- *arg2 = y;
- return;
- }
- }
- }
-}
-
-void sub_80BB800(void)
-{
- s16 x, y;
- s16 tile_id;
- u16 idx;
- GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
- tile_id = MapGridGetMetatileIdAt(x, y);
- for (idx=0; idx<7; idx++) {
- if (gUnknown_083D1358[idx].unk_083D1358_0 == tile_id) {
- MapGridSetMetatileIdAt(x, y, gUnknown_083D1358[idx].unk_083D1358_1 | 0xc00);
- CurrentMapDrawMetatileAt(x, y);
- return;
- }
- }
- for (idx=0; idx<7; idx++) {
- if (gUnknown_083D1358[idx].unk_083D1358_1 == tile_id) {
- MapGridSetMetatileIdAt(x, y, gUnknown_083D1358[idx].unk_083D1358_0 | 0xc00);
- CurrentMapDrawMetatileAt(x, y);
- return;
- }
- }
-}
-
-u8 sub_80BB8A8(u8 *arg1)
-{
- u8 idx;
- for (idx=0; idx<7; idx++) {
- if (arg1[idx] == EOS)
- return idx;
- }
- return 7;
-}
-
-void sub_80BB8CC(void)
-{
- u8 nameLength;
- u16 idx;
- gSaveBlock1.secretBases[0].sbr_field_0 = gUnknown_020387DC;
- for (idx=0; idx<4; idx++) {
- gSaveBlock1.secretBases[0].trainerId[idx] = gSaveBlock2.playerTrainerId[idx];
- }
- VarSet(VAR_0x4054, 0);
- nameLength = sub_80BB8A8(gSaveBlock2.playerName);
- memset(gSaveBlock1.secretBases[0].sbr_field_2, 0xFF, 7);
- StringCopyN(gSaveBlock1.secretBases[0].sbr_field_2, gSaveBlock2.playerName, nameLength);
- gSaveBlock1.secretBases[0].gender = gSaveBlock2.playerGender;
- VarSet(VAR_SECRET_BASE_MAP, gMapHeader.regionMapSectionId);
-}
-
-void sub_80BB970(struct MapEvents *events)
-{
- u16 bgevidx, idx, jdx;
- s16 tile_id;
- for (bgevidx=0; bgevidx<events->bgEventCount; bgevidx++) {
- if (events->bgEvents[bgevidx].kind == 8) {
- for (jdx=0; jdx<20; jdx++) {
- if (gSaveBlock1.secretBases[jdx].sbr_field_0 == events->bgEvents[bgevidx].bgUnion.secretBaseId) {
- tile_id = MapGridGetMetatileIdAt(events->bgEvents[bgevidx].x + 7, events->bgEvents[bgevidx].y + 7);
- for (idx=0; idx<7; idx++) {
- if (gUnknown_083D1358[idx].unk_083D1358_0 == tile_id) {
- MapGridSetMetatileIdAt(events->bgEvents[bgevidx].x + 7, events->bgEvents[bgevidx].y + 7, gUnknown_083D1358[idx].unk_083D1358_1 | 0xc00);
- break;
- }
- }
- break;
- }
- }
- }
- }
-}
-
-void sub_80BBA14(void)
-{
- s8 idx = 4 * (gUnknown_020387DC / 10);
- warp1_set_2(MAP_GROUP_SECRET_BASE_RED_CAVE1, gUnknown_083D1374[idx], gUnknown_083D1374[idx + 1]);
-}
-
-void sub_80BBA48(u8 taskid)
-{
- u16 curbaseid;
- switch (gTasks[taskid].data[0]) {
- case 0:
- gTasks[taskid].data[0] = 1;
- break;
- case 1:
- if (!gPaletteFade.active) {
- gTasks[taskid].data[0] = 2;
- }
- break;
- case 2:
- curbaseid = VarGet(VAR_0x4054);
- if (gSaveBlock1.secretBases[curbaseid].sbr_field_10 < 0xff)
- gSaveBlock1.secretBases[curbaseid].sbr_field_10 ++;
- sub_80BBA14();
- warp_in();
- gFieldCallback = sub_8080990;
- SetMainCallback2(CB2_LoadMap);
- DestroyTask(taskid);
- break;
- }
-}
-
-void sub_80BBAF0(void)
-{
- CreateTask(sub_80BBA48, 0);
- fade_screen(1, 0);
- saved_warp2_set(0, gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1);
-}
-
-bool8 sub_80BBB24(void)
-{
- if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_0x4097) == 0)
- return FALSE;
- return TRUE;
-}
-
-void sub_80BBB50(u8 taskid)
-{
- FieldObjectTurn(&(gMapObjects[gPlayerAvatar.mapObjectId]), 2);
- if (sub_807D770() == 1) {
- EnableBothScriptContexts();
- DestroyTask(taskid);
- }
-}
-
-void sub_80BBB90(void)
-{
- s16 x, y;
- ScriptContext2_Enable();
- HideMapNamePopup();
- sub_80BB764(&x, &y, 0x220);
- MapGridSetMetatileIdAt(x + 7, y + 7, 0xe20);
- CurrentMapDrawMetatileAt(x + 7, y + 7);
- pal_fill_black();
- CreateTask(sub_80BBB50, 0);
-}
-
-void sub_80BBBEC(u8 taskid)
-{
- s8 idx;
- if (!gPaletteFade.active) {
- idx = 4 * (gUnknown_020387DC / 10);
- warp1_set(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gUnknown_083D1374[idx + 2], gUnknown_083D1374[idx + 3]);
- warp_in();
- gFieldCallback = sub_80BBB90;
- SetMainCallback2(CB2_LoadMap);
- DestroyTask(taskid);
- }
-}
-
-void sub_80BBC78(void)
-{
- u8 taskid = CreateTask(sub_80BBBEC, 0);
- gTasks[taskid].data[0] = 0;
- fade_screen(1, 0);
-}
-
-bool8 CurrentMapIsSecretBase(void)
-{
- if (gSaveBlock1.location.mapGroup == MAP_GROUP_SECRET_BASE_SHRUB4 && (u8)(gSaveBlock1.location.mapNum) <= MAP_ID_SECRET_BASE_SHRUB4)
- return TRUE;
- return FALSE;
-}
-
-#ifdef NONMATCHING
-void sub_80BBCCC(u8 flagIn)
-{
- u16 curBaseId;
- u16 x, y;
- if (CurrentMapIsSecretBase()) {
- curBaseId = VarGet(VAR_0x4054);
- for (x=0; x<16; x++) {
- if ((u8)(gSaveBlock1.secretBases[curBaseId].decorations[x] - 1) <= 0x77 && gDecorations[gSaveBlock1.secretBases[curBaseId].decorations[x]].decor_field_11 != 4) {
- sub_80FF394((gSaveBlock1.secretBases[0].decorationPos[x] >> 4) + 7, (gSaveBlock1.secretBases[0].decorationPos[x] & 0xF) + 7, gSaveBlock1.secretBases[curBaseId].decorations[x]);
- }
- }
- if (curBaseId != 0) {
- sub_80BB764(&x, &y, 0x220);
- MapGridSetMetatileIdAt(x + 7, y + 7, 0xe21);
- } else if (flagIn == 1 && VarGet(VAR_0x4089) == 1) {
- sub_80BB764(&x, &y, 0x220);
- MapGridSetMetatileIdAt(x + 7, y + 7, 0xe0a);
- }
- }
-}
-
-void sub_80BBDD0(void)
-{
- u8 *roomdecor;
- u8 *roomdecorpos;
- u8 ndecor;
- u8 decidx;
- u8 objid = 0;
- u8 metatile;
- u16 curBase = VarGet(VAR_0x4054);
- if (!CurrentMapIsSecretBase()) {
- roomdecor = gSaveBlock1.playerRoomDecor;
- roomdecorpos = gSaveBlock1.playerRoomDecorPos;
- ndecor = 12;
- } else {
- roomdecor = gSaveBlock1.secretBases[curBase].decorations;
- roomdecorpos = gSaveBlock1.secretBases[curBase].decorationPos;
- ndecor = 16;
- }
- for (decidx=0; decidx<ndecor; decidx++) {
- if (roomdecor[decidx] == 0)
- continue;
- if (gDecorations[roomdecor[decidx]].decor_field_11 != 4)
- continue;
- for (objid=0; objid<gMapHeader.events->mapObjectCount; objid++) {
- if (gMapHeader.events->mapObjects[objid].flagId == gSpecialVar_0x8004 + 0xAE)
- break;
- }
- if (objid != gMapHeader.events->mapObjectCount) {
- gSpecialVar_0x8006 = roomdecorpos[decidx] >> 4;
- gSpecialVar_0x8007 = roomdecorpos[decidx] & 0xF;
- metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7);
- if (sub_80572D8(metatile) == 1 || sub_80572EC(metatile) == 1) {
- gScriptResult = gMapHeader.events->mapObjects[objid].graphicsId + 0x3f20;
- VarSet(gScriptResult, gDecorations[roomdecor[decidx]].tiles[0]);
- gScriptResult = gMapHeader.events->mapObjects[objid].localId;
- FlagClear(gSpecialVar_0x8004 + 0xAE);
- show_sprite(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
- sub_805C0F8(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
- sub_805C78C(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
- gSpecialVar_0x8004 ++;
- }
- }
- }
-}
-
-#else
-__attribute__((naked))
-void sub_80BBCCC(u8 flagIn)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- sub sp, 0x4\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r8, r0\n\
- bl CurrentMapIsSecretBase\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080BBDBC\n\
- ldr r0, _080BBD70 @ =0x00004054\n\
- bl VarGet\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- movs r1, 0\n\
- mov r0, sp\n\
- strh r1, [r0]\n\
- ldr r6, _080BBD74 @ =gSaveBlock1\n\
- mov r4, sp\n\
- ldr r0, _080BBD78 @ =0x00001a2a\n\
- adds r7, r6, r0\n\
-_080BBCFC:\n\
- lsls r0, r5, 2\n\
- adds r0, r5\n\
- lsls r0, 5\n\
- ldrh r1, [r4]\n\
- adds r2, r0, r1\n\
- ldr r1, _080BBD7C @ =0x00001a1a\n\
- adds r0, r6, r1\n\
- adds r1, r2, r0\n\
- ldrb r0, [r1]\n\
- subs r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x77\n\
- bhi _080BBD3A\n\
- ldr r0, _080BBD80 @ =gDecorations\n\
- ldrb r3, [r1]\n\
- lsls r1, r3, 5\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x11]\n\
- cmp r0, 0x4\n\
- beq _080BBD3A\n\
- adds r0, r2, r7\n\
- ldrb r2, [r0]\n\
- lsrs r0, r2, 4\n\
- adds r0, 0x7\n\
- movs r1, 0xF\n\
- ands r1, r2\n\
- adds r1, 0x7\n\
- adds r2, r3, 0\n\
- bl sub_80FF394\n\
-_080BBD3A:\n\
- ldrh r0, [r4]\n\
- adds r0, 0x1\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- strh r0, [r4]\n\
- cmp r0, 0xF\n\
- bls _080BBCFC\n\
- cmp r5, 0\n\
- beq _080BBD88\n\
- mov r4, sp\n\
- adds r4, 0x2\n\
- movs r2, 0x88\n\
- lsls r2, 2\n\
- mov r0, sp\n\
- adds r1, r4, 0\n\
- bl sub_80BB764\n\
- mov r0, sp\n\
- ldrh r0, [r0]\n\
- adds r0, 0x7\n\
- ldrh r1, [r4]\n\
- adds r1, 0x7\n\
- ldr r2, _080BBD84 @ =0x00000e21\n\
- bl MapGridSetMetatileIdAt\n\
- b _080BBDBC\n\
- .align 2, 0\n\
-_080BBD70: .4byte 0x00004054\n\
-_080BBD74: .4byte gSaveBlock1\n\
-_080BBD78: .4byte 0x00001a2a\n\
-_080BBD7C: .4byte 0x00001a1a\n\
-_080BBD80: .4byte gDecorations\n\
-_080BBD84: .4byte 0x00000e21\n\
-_080BBD88:\n\
- mov r0, r8\n\
- cmp r0, 0x1\n\
- bne _080BBDBC\n\
- ldr r0, _080BBDC8 @ =0x00004089\n\
- bl VarGet\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x1\n\
- bne _080BBDBC\n\
- mov r4, sp\n\
- adds r4, 0x2\n\
- movs r2, 0x88\n\
- lsls r2, 2\n\
- mov r0, sp\n\
- adds r1, r4, 0\n\
- bl sub_80BB764\n\
- mov r0, sp\n\
- ldrh r0, [r0]\n\
- adds r0, 0x7\n\
- ldrh r1, [r4]\n\
- adds r1, 0x7\n\
- ldr r2, _080BBDCC @ =0x00000e0a\n\
- bl MapGridSetMetatileIdAt\n\
-_080BBDBC:\n\
- add sp, 0x4\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_080BBDC8: .4byte 0x00004089\n\
-_080BBDCC: .4byte 0x00000e0a\n\
-.syntax divided\n");
-}
-
-__attribute__((naked))
-void sub_80BBDD0(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, 0x14\n\
- ldr r0, _080BBE00 @ =0x00004054\n\
- bl VarGet\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- bl CurrentMapIsSecretBase\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080BBE08\n\
- ldr r0, _080BBE04 @ =gSaveBlock1 + 0x2688\n\
- str r0, [sp, 0x4]\n\
- adds r0, 0xC\n\
- str r0, [sp, 0x8]\n\
- movs r1, 0xC\n\
- str r1, [sp, 0xC]\n\
- b _080BBE1E\n\
- .align 2, 0\n\
-_080BBE00: .4byte 0x00004054\n\
-_080BBE04: .4byte gSaveBlock1 + 0x2688\n\
-_080BBE08:\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 5\n\
- ldr r0, _080BBF7C @ =gSaveBlock1 + 0x1A1A\n\
- adds r2, r1, r0\n\
- str r2, [sp, 0x4]\n\
- adds r0, 0x10\n\
- adds r1, r0\n\
- str r1, [sp, 0x8]\n\
- movs r3, 0x10\n\
- str r3, [sp, 0xC]\n\
-_080BBE1E:\n\
- movs r6, 0\n\
- ldr r4, [sp, 0xC]\n\
- cmp r6, r4\n\
- bcc _080BBE28\n\
- b _080BBF6C\n\
-_080BBE28:\n\
- ldr r5, _080BBF80 @ =gSaveBlock1\n\
- mov r10, r5\n\
-_080BBE2C:\n\
- ldr r1, [sp, 0x4]\n\
- adds r0, r1, r6\n\
- ldrb r1, [r0]\n\
- mov r9, r0\n\
- adds r2, r6, 0x1\n\
- str r2, [sp, 0x10]\n\
- cmp r1, 0\n\
- bne _080BBE3E\n\
- b _080BBF5E\n\
-_080BBE3E:\n\
- ldrb r0, [r0]\n\
- lsls r0, 5\n\
- ldr r3, _080BBF84 @ =gDecorations\n\
- adds r0, r3\n\
- ldrb r0, [r0, 0x11]\n\
- cmp r0, 0x4\n\
- beq _080BBE4E\n\
- b _080BBF5E\n\
-_080BBE4E:\n\
- movs r5, 0\n\
- ldr r0, _080BBF88 @ =gMapHeader\n\
- ldr r2, [r0, 0x4]\n\
- ldrb r3, [r2]\n\
- mov r8, r0\n\
- cmp r5, r3\n\
- bcs _080BBE8E\n\
- ldr r0, [r2, 0x4]\n\
- ldrh r1, [r0, 0x14]\n\
- ldr r4, _080BBF8C @ =gSpecialVar_0x8004\n\
- ldrh r0, [r4]\n\
- adds r0, 0xAE\n\
- adds r7, r4, 0\n\
- cmp r1, r0\n\
- beq _080BBE8E\n\
- adds r4, r2, 0\n\
- adds r2, r3, 0\n\
-_080BBE70:\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- cmp r5, r2\n\
- bcs _080BBE8E\n\
- ldr r1, [r4, 0x4]\n\
- lsls r0, r5, 1\n\
- adds r0, r5\n\
- lsls r0, 3\n\
- adds r0, r1\n\
- ldrh r1, [r0, 0x14]\n\
- ldrh r0, [r7]\n\
- adds r0, 0xAE\n\
- cmp r1, r0\n\
- bne _080BBE70\n\
-_080BBE8E:\n\
- mov r1, r8\n\
- ldr r0, [r1, 0x4]\n\
- ldrb r0, [r0]\n\
- cmp r5, r0\n\
- beq _080BBF5E\n\
- ldr r7, _080BBF90 @ =gSpecialVar_0x8006\n\
- ldr r2, [sp, 0x8]\n\
- adds r1, r2, r6\n\
- ldrb r0, [r1]\n\
- lsrs r0, 4\n\
- strh r0, [r7]\n\
- ldr r6, _080BBF94 @ =gSpecialVar_0x8007\n\
- ldrb r1, [r1]\n\
- movs r0, 0xF\n\
- ands r0, r1\n\
- strh r0, [r6]\n\
- ldrh r0, [r7]\n\
- adds r0, 0x7\n\
- ldrh r1, [r6]\n\
- adds r1, 0x7\n\
- bl MapGridGetMetatileBehaviorAt\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- adds r0, r4, 0\n\
- bl sub_80572D8\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- beq _080BBEDA\n\
- adds r0, r4, 0\n\
- bl sub_80572EC\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _080BBF5E\n\
-_080BBEDA:\n\
- mov r3, r8\n\
- ldr r0, [r3, 0x4]\n\
- ldr r1, [r0, 0x4]\n\
- lsls r4, r5, 1\n\
- adds r4, r5\n\
- lsls r4, 3\n\
- adds r1, r4, r1\n\
- ldr r5, _080BBF98 @ =0x00003f20\n\
- adds r0, r5, 0\n\
- ldrb r1, [r1, 0x1]\n\
- adds r0, r1\n\
- ldr r1, _080BBF9C @ =gScriptResult\n\
- strh r0, [r1]\n\
- ldrh r0, [r1]\n\
- mov r2, r9\n\
- ldrb r1, [r2]\n\
- lsls r1, 5\n\
- ldr r3, _080BBFA0 @ =gDecorations + 0x1C\n\
- adds r1, r3\n\
- ldr r1, [r1]\n\
- ldrh r1, [r1]\n\
- bl VarSet\n\
- mov r5, r8\n\
- ldr r0, [r5, 0x4]\n\
- ldr r0, [r0, 0x4]\n\
- adds r4, r0\n\
- ldrb r0, [r4]\n\
- ldr r1, _080BBF9C @ =gScriptResult\n\
- strh r0, [r1]\n\
- ldr r2, _080BBF8C @ =gSpecialVar_0x8004\n\
- ldrh r0, [r2]\n\
- adds r0, 0xAE\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- bl FlagClear\n\
- ldr r3, _080BBF9C @ =gScriptResult\n\
- ldrb r0, [r3]\n\
- mov r4, r10\n\
- ldrb r1, [r4, 0x5]\n\
- ldrb r2, [r4, 0x4]\n\
- bl show_sprite\n\
- ldr r5, _080BBF9C @ =gScriptResult\n\
- ldrb r0, [r5]\n\
- ldrb r1, [r4, 0x5]\n\
- ldrb r2, [r4, 0x4]\n\
- movs r4, 0\n\
- ldrsh r3, [r7, r4]\n\
- movs r5, 0\n\
- ldrsh r4, [r6, r5]\n\
- str r4, [sp]\n\
- bl sub_805C0F8\n\
- ldr r1, _080BBF9C @ =gScriptResult\n\
- ldrb r0, [r1]\n\
- mov r2, r10\n\
- ldrb r1, [r2, 0x5]\n\
- ldrb r2, [r2, 0x4]\n\
- bl sub_805C78C\n\
- ldr r3, _080BBF8C @ =gSpecialVar_0x8004\n\
- ldrh r0, [r3]\n\
- adds r0, 0x1\n\
- strh r0, [r3]\n\
-_080BBF5E:\n\
- ldr r4, [sp, 0x10]\n\
- lsls r0, r4, 24\n\
- lsrs r6, r0, 24\n\
- ldr r5, [sp, 0xC]\n\
- cmp r6, r5\n\
- bcs _080BBF6C\n\
- b _080BBE2C\n\
-_080BBF6C:\n\
- add sp, 0x14\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\
- .align 2, 0\n\
-_080BBF7C: .4byte gSaveBlock1 + 0x1A1A\n\
-_080BBF80: .4byte gSaveBlock1\n\
-_080BBF84: .4byte gDecorations\n\
-_080BBF88: .4byte gMapHeader\n\
-_080BBF8C: .4byte gSpecialVar_0x8004\n\
-_080BBF90: .4byte gSpecialVar_0x8006\n\
-_080BBF94: .4byte gSpecialVar_0x8007\n\
-_080BBF98: .4byte 0x00003f20\n\
-_080BBF9C: .4byte gScriptResult\n\
-_080BBFA0: .4byte gDecorations + 0x1C\n\
-.syntax divided\n");
-}
-#endif
-
-void sub_80BBFA4(void)
-{
- int curBase = VarGet(VAR_0x4054);
- VarSet(VAR_0x401F, gUnknown_083D13EC[sub_80BCCA4(curBase)]);
-}
-
-void sub_80BBFD8(s16 *position, struct MapEvents *events)
-{
- s16 bgevtidx;
- for (bgevtidx=0; bgevtidx<events->bgEventCount; bgevtidx++) {
- if (events->bgEvents[bgevtidx].kind == 8 && position[0] == events->bgEvents[bgevtidx].x + 7 && position[1] == events->bgEvents[bgevtidx].y + 7) {
- gUnknown_020387DC = events->bgEvents[bgevtidx].bgUnion.secretBaseId;
- break;
- }
- }
-}
-
-void sub_80BC038(s16 *position, struct MapEvents *events)
-{
- sub_80BBFD8(position, events);
- sub_80BB5E4();
- ScriptContext1_SetupScript(gUnknown_081A2E14);
-}
-
-bool8 sub_80BC050(void)
-{
- sub_80BB5D0();
- sub_80BB5E4();
- if (gScriptResult == 1)
- return FALSE;
- return TRUE;
-}
-
-void sub_80BC074(u8 taskid)
-{
- switch (gTasks[taskid].data[0]) {
- case 0:
- ScriptContext2_Enable();
- gTasks[taskid].data[0] = 1;
- break;
- case 1:
- if (!gPaletteFade.active) {
- gTasks[taskid].data[0] = 2;
- }
- break;
- case 2:
- copy_saved_warp2_bank_and_enter_x_to_warp1(0x7E);
- warp_in();
- gFieldCallback = mapldr_default;
- SetMainCallback2(CB2_LoadMap);
- ScriptContext2_Disable();
- DestroyTask(taskid);
- break;
- }
-}
-
-void sub_80BC0F8(void) {
- CreateTask(sub_80BC074, 0);
- fade_screen(1, 0);
-}
-
-void sub_80BC114(void) {
- if (gSaveBlock1.secretBases[0].sbr_field_0 != gUnknown_020387DC)
- gScriptResult = 1;
- else
- gScriptResult = 0;
-}
-
-u8 sub_80BC14C(u8 sbid)
-{
- s16 idx;
- for (idx=0; idx<20; idx++) {
- if (gSaveBlock1.secretBases[idx].sbr_field_0 == sbid)
- return idx;
- }
- return 0;
-}
-
-u8 *sub_80BC190(u8 *dest, u8 arg1) { // 80bc190
- u8 local1;
- u8 *str;
-
- local1 = sub_80BB8A8(gSaveBlock1.secretBases[arg1].sbr_field_2);
-
- str = StringCopyN(dest, gSaveBlock1.secretBases[arg1].sbr_field_2, local1);
- str[0] = EOS;
-
-#if ENGLISH
- return StringAppend(dest, gOtherText_PlayersBase);
-#elif GERMAN
- return de_sub_8073174(dest, gOtherText_PlayersBase);
-#endif
-}
-
-u8 *GetSecretBaseMapName(u8 *dest) {
- gUnknown_020387DC = gSaveBlock1.secretBases[VarGet(VAR_0x4054)].sbr_field_0;
- return sub_80BC190(dest, VarGet(VAR_0x4054));
-}
-
-void sub_80BC224(void) {
- u8 *var0 = gSaveBlock1.secretBases[(u8)VarGet(VAR_0x4054)].sbr_field_2;
- u8 *var1 = gStringVar1;
- u8 var2 = sub_80BB8A8(var0);
- u8 *var3 = StringCopyN(var1, var0, var2);
- *var3 = EOS;
-}
-
-u8 sub_80BC268(u8 foo) { // 80bc268
- if (gSaveBlock1.secretBases[foo].sbr_field_1_6)
- return 1;
- return 0;
-}
-
-u8 sub_80BC298(struct Pokemon *mon) { // 80bc298
- u16 evsum = GetMonData(mon, MON_DATA_HP_EV);
- evsum += GetMonData(mon, MON_DATA_ATK_EV);
- evsum += GetMonData(mon, MON_DATA_DEF_EV);
- evsum += GetMonData(mon, MON_DATA_SPD_EV);
- evsum += GetMonData(mon, MON_DATA_SPATK_EV);
- evsum += GetMonData(mon, MON_DATA_SPDEF_EV);
- return (u8)(evsum / 6);
-}
-
-#ifdef NONMATCHING
-void sub_80BC300(void)
-{
- u16 moveidx;
- u16 sbpartyidx = 0;
- int resetVal = 0;
- u16 partyidx = 0;
- while (partyidx < 6) {
- partyidx ++;
- for (moveidx=0; moveidx<4; moveidx++) {
- gSaveBlock1.secretBases[0].partyMoves[(partyidx - 1) * 6 + moveidx] = resetVal;
- }
- gSaveBlock1.secretBases[0].partySpecies[partyidx - 1] = resetVal;
- gSaveBlock1.secretBases[0].partyHeldItems[partyidx - 1] = resetVal;
- gSaveBlock1.secretBases[0].partyLevels[partyidx - 1] = resetVal;
- gSaveBlock1.secretBases[0].partyPersonality[partyidx - 1] = resetVal;
- gSaveBlock1.secretBases[0].partyEVs[partyidx - 1] = resetVal;
- if (GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_SPECIES) != 0 && !GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_IS_EGG)) {
- sbpartyidx ++;
- for (moveidx=0; moveidx<4; moveidx++) {
- gSaveBlock1.secretBases[0].partyMoves[(sbpartyidx - 1) * 6 + moveidx] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_MOVE1 + moveidx);
- }
- gSaveBlock1.secretBases[0].partySpecies[sbpartyidx - 1] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_SPECIES);
- gSaveBlock1.secretBases[0].partyHeldItems[sbpartyidx - 1] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_HELD_ITEM);
- gSaveBlock1.secretBases[0].partyLevels[sbpartyidx - 1] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_LEVEL);
- gSaveBlock1.secretBases[0].partyPersonality[sbpartyidx - 1] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_PERSONALITY);
- gSaveBlock1.secretBases[0].partyEVs[sbpartyidx - 1] = sub_80BC298(&(gPlayerParty[partyidx - 1]));
- }
- }
-}
-#else
-__attribute__((naked))
-void sub_80BC300(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\
- mov r10, r0\n\
- movs r6, 0\n\
- mov r9, r6\n\
-_080BC314:\n\
- movs r4, 0\n\
- lsls r3, r6, 2\n\
- lsls r2, r6, 1\n\
- ldr r7, _080BC424 @ =gPlayerParty\n\
- adds r1, r6, 0x1\n\
- str r1, [sp]\n\
- adds r1, r3, 0\n\
-_080BC322:\n\
- adds r0, r1, r4\n\
- lsls r0, 1\n\
- ldr r5, _080BC428 @ =gSaveBlock1 + 0x1A54\n\
- adds r0, r5, r0\n\
- mov r5, r9\n\
- strh r5, [r0]\n\
- adds r0, r4, 0x1\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- cmp r4, 0x3\n\
- bls _080BC322\n\
- ldr r1, _080BC42C @ =gSaveBlock1 + 0x1A84\n\
- adds r0, r1, r2\n\
- strh r5, [r0]\n\
- ldr r5, _080BC430 @ =gSaveBlock1 + 0x1A90\n\
- adds r0, r5, r2\n\
- mov r1, r9\n\
- strh r1, [r0]\n\
- ldr r2, _080BC434 @ =gSaveBlock1 + 0x1A9C\n\
- adds r0, r2, r6\n\
- mov r5, r9\n\
- strb r5, [r0]\n\
- ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C\n\
- adds r0, r1, r3\n\
- mov r2, r9\n\
- str r2, [r0]\n\
- ldr r3, _080BC43C @ =gSaveBlock1 + 0x1AA2\n\
- adds r0, r3, r6\n\
- strb r2, [r0]\n\
- movs r0, 0x64\n\
- adds r5, r6, 0\n\
- muls r5, r0\n\
- adds r4, r5, r7\n\
- adds r0, r4, 0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _080BC408\n\
- adds r0, r4, 0\n\
- movs r1, 0x2D\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- bne _080BC408\n\
- movs r4, 0\n\
- mov r0, r10\n\
- lsls r0, 2\n\
- mov r8, r0\n\
- mov r1, r10\n\
- lsls r7, r1, 1\n\
- adds r1, 0x1\n\
- str r1, [sp, 0x4]\n\
- ldr r2, _080BC424 @ =gPlayerParty\n\
-_080BC38E:\n\
- adds r1, r4, 0\n\
- adds r1, 0xD\n\
- adds r0, r5, r2\n\
- str r2, [sp, 0x8]\n\
- bl GetMonData\n\
- mov r3, r8\n\
- adds r1, r3, r4\n\
- lsls r1, 1\n\
- ldr r3, _080BC428 @ =gSaveBlock1 + 0x1A54\n\
- adds r1, r3, r1\n\
- strh r0, [r1]\n\
- adds r0, r4, 0x1\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- ldr r2, [sp, 0x8]\n\
- cmp r4, 0x3\n\
- bls _080BC38E\n\
- movs r0, 0x64\n\
- adds r4, r6, 0\n\
- muls r4, r0\n\
- ldr r0, _080BC424 @ =gPlayerParty\n\
- adds r4, r0\n\
- adds r0, r4, 0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- ldr r5, _080BC42C @ =gSaveBlock1 + 0x1A84\n\
- adds r1, r5, r7\n\
- strh r0, [r1]\n\
- adds r0, r4, 0\n\
- movs r1, 0xC\n\
- bl GetMonData\n\
- ldr r2, _080BC430 @ =gSaveBlock1 + 0x1A90\n\
- adds r1, r2, r7\n\
- strh r0, [r1]\n\
- adds r0, r4, 0\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- ldr r1, _080BC434 @ =gSaveBlock1 + 0x1A9C\n\
- add r1, r10\n\
- strb r0, [r1]\n\
- adds r0, r4, 0\n\
- movs r1, 0\n\
- bl GetMonData\n\
- ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C\n\
- add r1, r8\n\
- str r0, [r1]\n\
- adds r0, r4, 0\n\
- bl sub_80BC298\n\
- ldr r1, _080BC43C @ =gSaveBlock1 + 0x1AA2\n\
- add r1, r10\n\
- strb r0, [r1]\n\
- ldr r3, [sp, 0x4]\n\
- lsls r0, r3, 16\n\
- lsrs r0, 16\n\
- mov r10, r0\n\
-_080BC408:\n\
- ldr r5, [sp]\n\
- lsls r0, r5, 16\n\
- lsrs r6, r0, 16\n\
- cmp r6, 0x5\n\
- bls _080BC314\n\
- add sp, 0xC\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_080BC424: .4byte gPlayerParty\n\
-_080BC428: .4byte gSaveBlock1 + 0x1A54\n\
-_080BC42C: .4byte gSaveBlock1 + 0x1A84\n\
-_080BC430: .4byte gSaveBlock1 + 0x1A90\n\
-_080BC434: .4byte gSaveBlock1 + 0x1A9C\n\
-_080BC438: .4byte gSaveBlock1 + 0x1A3C\n\
-_080BC43C: .4byte gSaveBlock1 + 0x1AA2\n\
-.syntax divided\n");
-}
-#endif
-
-void sub_80BC440(void)
-{
- u16 backupValue = gSaveBlock1.secretBases[0].sbr_field_e;
- ResetSecretBase(0);
- gSaveBlock1.secretBases[0].sbr_field_e = backupValue;
- sub_80BC0F8();
-}
-
-void SecretBasePC_PackUp(void)
-{
- IncrementGameStat(20);
- sub_80BC440();
-}
diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c
deleted file mode 100644
index d97ae6d86..000000000
--- a/src/sound_check_menu.c
+++ /dev/null
@@ -1,2199 +0,0 @@
-#include "global.h"
-#include "sprite.h"
-#include "palette.h"
-#include "task.h"
-#include "m4a.h"
-#include "main.h"
-#include "text.h"
-#include "menu.h"
-#include "songs.h"
-#include "title_screen.h"
-#include "sound.h"
-#include "pokedex_cry_screen.h"
-
-// local task defines
-#define WINDOW_SELECTED data[0]
-#define BGM_INDEX data[1]
-#define SE_INDEX data[2]
-#define UNK_DATA3 data[3]
-#define UNK_DATA4 data[4]
-// data 5-7 are not used
-// i dont have a define for data 8 yet because its used in a nonmatching and I can't be sure yet its actually used.
-
-// window selections
-enum
-{
- BGM_WINDOW,
- SE_WINDOW
-};
-
-// driver test cry enums
-enum
-{
- CRY_TEST_UNK0,
- CRY_TEST_VOLUME,
- CRY_TEST_PANPOT,
- CRY_TEST_PITCH,
- CRY_TEST_LENGTH,
- CRY_TEST_RELEASE,
- CRY_TEST_PROGRESS,
- CRY_TEST_CHORUS,
- CRY_TEST_PRIORITY
-};
-
-// minmax range enums
-enum
-{
- MIN,
- MAX
-};
-
-extern struct ToneData voicegroup_84537C0[];
-extern struct ToneData voicegroup_8452590[];
-extern struct ToneData voicegroup_8453DC0[];
-extern struct ToneData voicegroup_8452B90[];
-extern struct ToneData voicegroup_84543C0[];
-extern struct ToneData voicegroup_8453190[];
-extern struct ToneData voicegroup_84549C0[];
-extern struct ToneData voicegroup_8453790[];
-
-static EWRAM_DATA u8 gUnknown_020387B0 = 0;
-static EWRAM_DATA u8 gUnknown_020387B1 = 0;
-static EWRAM_DATA u8 gUnknown_020387B2 = 0;
-static EWRAM_DATA s8 gUnknown_020387B3 = 0;
-static EWRAM_DATA int gUnknown_020387B4[9] = {0};
-static EWRAM_DATA u8 gUnknown_020387D8 = 0;
-static EWRAM_DATA u8 gUnknown_020387D9 = 0;
-
-extern u16 gUnknown_03005D34;
-extern u8 gUnknown_03005E98;
-
-struct MusicPlayerInfo *gUnknown_03005D30;
-
-extern struct MusicPlayerInfo gMPlay_BGM;
-
-void sub_80BA258(u8);
-void sub_80BA384(u8);
-void sub_80BA65C(u8);
-void sub_80BA68C(u8);
-void sub_80BA6B8(u8);
-void sub_80BA700(u16, u16, u16);
-void sub_80BA79C(const u8 *const, u16, u16);
-void sub_80BA800(u8);
-void sub_80BAA48(u8);
-void sub_80BACDC(s8);
-void sub_80BAD5C(void);
-void sub_80BAE10(u8, u8);
-void sub_80BAE78(int, u16, u16, u8);
-void sub_80BAF84(u8);
-void sub_80BB038(u8);
-void sub_80BB1D4(void);
-void sub_80BB25C(u8);
-void sub_80BB3B4(u8);
-void sub_80BB494(void);
-
-static const u8 gDebugText_SoundCheckJap[] = _("サウンドチェック");
-static const u8 gDebugText_BGM[] = _("BGM");
-static const u8 gDebugText_SE[] = _("SE ");
-static const u8 gDebugText_ABDesc[] = _("A‥さいせい B‥おわり");
-static const u8 gDebugText_UpDown[] = _("L‥UP R‥DOWN");
-static const u8 gDebugText_DriverTest[] = _("R‥DRIVER-TEST");
-
-// ideally this should be a multi Coords8 struct, but it wont match when its treated like a struct.
-static const u8 gUnknown_083D0300[] = { 1, 1, 1, 3, 1, 5, 1, 7, 1, 9, 1, 11, 1, 13, 1, 15, 1, 17 };
-
-static const u8 gDebugText_BBack[] = _("Bぼたんで もどる");
-static const u8 gDebugText_APlay[] = _("Aぼたんで さいせい");
-static const u8 gDebugText_Voice[] = _("VOICE‥‥‥‥");
-static const u8 gDebugText_Volume[] = _("VOLUME‥‥‥");
-static const u8 gDebugText_Panpot[] = _("PANPOT‥‥‥");
-static const u8 gDebugText_Pitch[] = _("PITCH‥‥‥‥");
-static const u8 gDebugText_Length[] = _("LENGTH‥‥‥");
-static const u8 gDebugText_Release[] = _("RELEASE‥‥");
-static const u8 gDebugText_Progress[] = _("PROGRESS‥");
-static const u8 gDebugText_Chorus[] = _("CHORUS‥‥‥");
-static const u8 gDebugText_Priority[] = _("PRIORITY‥");
-static const u8 gDebugText_Playing[] = _("さいせいちゆう‥"); // 再生中 (playing)
-static const u8 gDebugText_Reverse[] = _("はんてん‥‥‥‥"); // 反転 (reverse)
-static const u8 gDebugText_Stereo[] = _("すてれお‥‥‥‥"); // stereo
-
-// also ideally should be a MinMax struct, but any attempt to make this into a struct causes it to not match due to the weird multi dim access.
-static const int gUnknown_083D039C[16] =
-{
- 0, 387,
- 0, 127,
- -127, 127,
- -128, 32639,
- 0, 65535,
- 0, 255,
- 0, 65535,
- -64, 63
-};
-
-static const u8 gUnknown_083D03DC[] = _("▶");
-static const u8 gUnknown_083D03DE[] = _(" ");
-
-// why not just use Powers of ten from string_util?
-static const int gUnknown_083D03E0[6] =
-{
- 1,
- 10,
- 100,
- 1000,
- 10000,
- 100000
-};
-
-static const s8 gUnknown_083D03F8[5] = { 0x3F, 0x00, 0xC0, 0x7F, 0x80 };
-
-static const u8 gOtherText_SE[] = _("SE");
-static const u8 gOtherText_Pan[] = _("PAN");
-static const u8 gOtherText_LR[] = _(" LR");
-static const u8 gOtherText_RL[] = _(" RL");
-
-// bgm names
-static const u8 BGMName_STOP[] = _("STOP");
-static const u8 BGMName_TETSUJI[] = _("TETSUJI");
-static const u8 BGMName_FIELD13[] = _("FIELD13");
-static const u8 BGMName_KACHI22[] = _("KACHI22");
-static const u8 BGMName_KACHI2[] = _("KACHI2");
-static const u8 BGMName_KACHI3[] = _("KACHI3");
-static const u8 BGMName_KACHI5[] = _("KACHI5");
-static const u8 BGMName_PCC[] = _("PCC");
-static const u8 BGMName_NIBI[] = _("NIBI");
-static const u8 BGMName_SUIKUN[] = _("SUIKUN");
-static const u8 BGMName_DOORO1[] = _("DOORO1");
-static const u8 BGMName_DOORO_X1[] = _("DOORO-X1");
-static const u8 BGMName_DOORO_X3[] = _("DOORO-X3");
-static const u8 BGMName_MACHI_S2[] = _("MACHI-S2");
-static const u8 BGMName_MACHI_S4[] = _("MACHI-S4");
-static const u8 BGMName_GIM[] = _("GIM");
-static const u8 BGMName_NAMINORI[] = _("NAMINORI");
-static const u8 BGMName_DAN01[] = _("DAN01");
-static const u8 BGMName_FANFA1[] = _("FANFA1");
-static const u8 BGMName_ME_ASA[] = _("ME-ASA");
-static const u8 BGMName_ME_BACHI[] = _("ME-BACHI");
-static const u8 BGMName_FANFA4[] = _("FANFA4");
-static const u8 BGMName_FANFA5[] = _("FANFA5");
-static const u8 BGMName_ME_WAZA[] = _("ME-WAZA");
-static const u8 BGMName_BIJYUTU[] = _("BIJYUTU");
-static const u8 BGMName_DOORO_X4[] = _("DOORO-X4");
-static const u8 BGMName_FUNE_KAN[] = _("FUNE-KAN");
-static const u8 BGMName_ME_SHINKA[] = _("ME-SHINKA");
-static const u8 BGMName_SHINKA[] = _("SHINKA");
-static const u8 BGMName_ME_WASURE[] = _("ME-WASURE");
-static const u8 BGMName_SYOUJOEYE[] = _("SYOUJOEYE");
-static const u8 BGMName_BOYEYE[] = _("BOYEYE");
-static const u8 BGMName_DAN02[] = _("DAN02");
-static const u8 BGMName_MACHI_S3[] = _("MACHI-S3");
-static const u8 BGMName_ODAMAKI[] = _("ODAMAKI");
-static const u8 BGMName_B_TOWER[] = _("B-TOWER");
-static const u8 BGMName_SWIMEYE[] = _("SWIMEYE");
-static const u8 BGMName_DAN03[] = _("DAN03");
-static const u8 BGMName_ME_KINOMI[] = _("ME-KINOMI");
-static const u8 BGMName_ME_TAMA[] = _("ME-TAMA");
-static const u8 BGMName_ME_B_BIG[] = _("ME-B-BIG");
-static const u8 BGMName_ME_B_SMALL[] = _("ME-B-SMALL");
-static const u8 BGMName_ME_ZANNEN[] = _("ME-ZANNEN");
-static const u8 BGMName_BD_TIME[] = _("BD-TIME");
-static const u8 BGMName_TEST1[] = _("TEST1");
-static const u8 BGMName_TEST2[] = _("TEST2");
-static const u8 BGMName_TEST3[] = _("TEST3");
-static const u8 BGMName_TEST4[] = _("TEST4");
-static const u8 BGMName_TEST[] = _("TEST");
-static const u8 BGMName_GOMACHI0[] = _("GOMACHI0");
-static const u8 BGMName_GOTOWN[] = _("GOTOWN");
-static const u8 BGMName_POKECEN[] = _("POKECEN");
-static const u8 BGMName_NEXTROAD[] = _("NEXTROAD");
-static const u8 BGMName_GRANROAD[] = _("GRANROAD");
-static const u8 BGMName_CYCLING[] = _("CYCLING");
-static const u8 BGMName_FRIENDLY[] = _("FRIENDLY");
-static const u8 BGMName_MISHIRO[] = _("MISHIRO");
-static const u8 BGMName_TOZAN[] = _("TOZAN");
-static const u8 BGMName_GIRLEYE[] = _("GIRLEYE");
-static const u8 BGMName_MINAMO[] = _("MINAMO");
-static const u8 BGMName_ASHROAD[] = _("ASHROAD");
-static const u8 BGMName_EVENT0[] = _("EVENT0");
-static const u8 BGMName_DEEPDEEP[] = _("DEEPDEEP");
-static const u8 BGMName_KACHI1[] = _("KACHI1");
-static const u8 BGMName_TITLE3[] = _("TITLE3");
-static const u8 BGMName_DEMO1[] = _("DEMO1");
-static const u8 BGMName_GIRL_SUP[] = _("GIRL-SUP");
-static const u8 BGMName_HAGESHII[] = _("HAGESHII");
-static const u8 BGMName_KAKKOII[] = _("KAKKOII");
-static const u8 BGMName_KAZANBAI[] = _("KAZANBAI");
-static const u8 BGMName_AQA_0[] = _("AQA-0");
-static const u8 BGMName_TSURETEK[] = _("TSURETEK");
-static const u8 BGMName_BOY_SUP[] = _("BOY-SUP");
-static const u8 BGMName_RAINBOW[] = _("RAINBOW");
-static const u8 BGMName_AYASII[] = _("AYASII");
-static const u8 BGMName_KACHI4[] = _("KACHI4");
-static const u8 BGMName_ROPEWAY[] = _("ROPEWAY");
-static const u8 BGMName_CASINO[] = _("CASINO");
-static const u8 BGMName_HIGHTOWN[] = _("HIGHTOWN");
-static const u8 BGMName_SAFARI[] = _("SAFARI");
-static const u8 BGMName_C_ROAD[] = _("C-ROAD");
-static const u8 BGMName_AJITO[] = _("AJITO");
-static const u8 BGMName_M_BOAT[] = _("M-BOAT");
-static const u8 BGMName_M_DUNGON[] = _("M-DUNGON");
-static const u8 BGMName_FINECITY[] = _("FINECITY");
-static const u8 BGMName_MACHUPI[] = _("MACHUPI");
-static const u8 BGMName_P_SCHOOL[] = _("P-SCHOOL");
-static const u8 BGMName_DENDOU[] = _("DENDOU");
-static const u8 BGMName_TONEKUSA[] = _("TONEKUSA");
-static const u8 BGMName_MABOROSI[] = _("MABOROSI");
-static const u8 BGMName_CON_FAN[] = _("CON-FAN");
-static const u8 BGMName_CONTEST0[] = _("CONTEST0");
-static const u8 BGMName_MGM0[] = _("MGM0");
-static const u8 BGMName_T_BATTLE[] = _("T-BATTLE");
-static const u8 BGMName_OOAME[] = _("OOAME");
-static const u8 BGMName_HIDERI[] = _("HIDERI");
-static const u8 BGMName_RUNECITY[] = _("RUNECITY");
-static const u8 BGMName_CON_K[] = _("CON-K");
-static const u8 BGMName_EIKOU_R[] = _("EIKOU-R");
-static const u8 BGMName_KARAKURI[] = _("KARAKURI");
-static const u8 BGMName_HUTAGO[] = _("HUTAGO");
-static const u8 BGMName_SITENNOU[] = _("SITENNOU");
-static const u8 BGMName_YAMA_EYE[] = _("YAMA-EYE");
-static const u8 BGMName_CONLOBBY[] = _("CONLOBBY");
-static const u8 BGMName_INTER_V[] = _("INTER-V");
-static const u8 BGMName_DAIGO[] = _("DAIGO");
-static const u8 BGMName_THANKFOR[] = _("THANKFOR");
-static const u8 BGMName_END[] = _("END");
-static const u8 BGMName_BATTLE27[] = _("BATTLE27");
-static const u8 BGMName_BATTLE31[] = _("BATTLE31");
-static const u8 BGMName_BATTLE20[] = _("BATTLE20");
-static const u8 BGMName_BATTLE32[] = _("BATTLE32");
-static const u8 BGMName_BATTLE33[] = _("BATTLE33");
-static const u8 BGMName_BATTLE36[] = _("BATTLE36");
-static const u8 BGMName_BATTLE34[] = _("BATTLE34");
-static const u8 BGMName_BATTLE35[] = _("BATTLE35");
-static const u8 BGMName_BATTLE38[] = _("BATTLE38");
-static const u8 BGMName_BATTLE30[] = _("BATTLE30");
-
-static const u8 *const gBGMNames[] =
-{
- BGMName_STOP,
- BGMName_TETSUJI,
- BGMName_FIELD13,
- BGMName_KACHI22,
- BGMName_KACHI2,
- BGMName_KACHI3,
- BGMName_KACHI5,
- BGMName_PCC,
- BGMName_NIBI,
- BGMName_SUIKUN,
- BGMName_DOORO1,
- BGMName_DOORO_X1,
- BGMName_DOORO_X3,
- BGMName_MACHI_S2,
- BGMName_MACHI_S4,
- BGMName_GIM,
- BGMName_NAMINORI,
- BGMName_DAN01,
- BGMName_FANFA1,
- BGMName_ME_ASA,
- BGMName_ME_BACHI,
- BGMName_FANFA4,
- BGMName_FANFA5,
- BGMName_ME_WAZA,
- BGMName_BIJYUTU,
- BGMName_DOORO_X4,
- BGMName_FUNE_KAN,
- BGMName_ME_SHINKA,
- BGMName_SHINKA,
- BGMName_ME_WASURE,
- BGMName_SYOUJOEYE,
- BGMName_BOYEYE,
- BGMName_DAN02,
- BGMName_MACHI_S3,
- BGMName_ODAMAKI,
- BGMName_B_TOWER,
- BGMName_SWIMEYE,
- BGMName_DAN03,
- BGMName_ME_KINOMI,
- BGMName_ME_TAMA,
- BGMName_ME_B_BIG,
- BGMName_ME_B_SMALL,
- BGMName_ME_ZANNEN,
- BGMName_BD_TIME,
- BGMName_TEST1,
- BGMName_TEST2,
- BGMName_TEST3,
- BGMName_TEST4,
- BGMName_TEST,
- BGMName_GOMACHI0,
- BGMName_GOTOWN,
- BGMName_POKECEN,
- BGMName_NEXTROAD,
- BGMName_GRANROAD,
- BGMName_CYCLING,
- BGMName_FRIENDLY,
- BGMName_MISHIRO,
- BGMName_TOZAN,
- BGMName_GIRLEYE,
- BGMName_MINAMO,
- BGMName_ASHROAD,
- BGMName_EVENT0,
- BGMName_DEEPDEEP,
- BGMName_KACHI1,
- BGMName_TITLE3,
- BGMName_DEMO1,
- BGMName_GIRL_SUP,
- BGMName_HAGESHII,
- BGMName_KAKKOII,
- BGMName_KAZANBAI,
- BGMName_AQA_0,
- BGMName_TSURETEK,
- BGMName_BOY_SUP,
- BGMName_RAINBOW,
- BGMName_AYASII,
- BGMName_KACHI4,
- BGMName_ROPEWAY,
- BGMName_CASINO,
- BGMName_HIGHTOWN,
- BGMName_SAFARI,
- BGMName_C_ROAD,
- BGMName_AJITO,
- BGMName_M_BOAT,
- BGMName_M_DUNGON,
- BGMName_FINECITY,
- BGMName_MACHUPI,
- BGMName_P_SCHOOL,
- BGMName_DENDOU,
- BGMName_TONEKUSA,
- BGMName_MABOROSI,
- BGMName_CON_FAN,
- BGMName_CONTEST0,
- BGMName_MGM0,
- BGMName_T_BATTLE,
- BGMName_OOAME,
- BGMName_HIDERI,
- BGMName_RUNECITY,
- BGMName_CON_K,
- BGMName_EIKOU_R,
- BGMName_KARAKURI,
- BGMName_HUTAGO,
- BGMName_SITENNOU,
- BGMName_YAMA_EYE,
- BGMName_CONLOBBY,
- BGMName_INTER_V,
- BGMName_DAIGO,
- BGMName_THANKFOR,
- BGMName_END,
- BGMName_BATTLE27,
- BGMName_BATTLE31,
- BGMName_BATTLE20,
- BGMName_BATTLE32,
- BGMName_BATTLE33,
- BGMName_BATTLE36,
- BGMName_BATTLE34,
- BGMName_BATTLE35,
- BGMName_BATTLE38,
- BGMName_BATTLE30
-};
-
-// SE names
-static const u8 SEName_STOP[] = _("STOP");
-static const u8 SEName_KAIFUKU[] = _("KAIFUKU");
-static const u8 SEName_PC_LOGON[] = _("PC-LOGON");
-static const u8 SEName_PC_OFF[] = _("PC-OFF");
-static const u8 SEName_PC_ON[] = _("PC-ON");
-static const u8 SEName_SELECT[] = _("SELECT");
-static const u8 SEName_WIN_OPEN[] = _("WIN-OPEN");
-static const u8 SEName_WALL_HIT[] = _("WALL-HIT");
-static const u8 SEName_DOOR[] = _("DOOR");
-static const u8 SEName_KAIDAN[] = _("KAIDAN");
-static const u8 SEName_DANSA[] = _("DANSA");
-static const u8 SEName_JITENSYA[] = _("JITENSYA");
-static const u8 SEName_KOUKA_L[] = _("KOUKA-L");
-static const u8 SEName_KOUKA_M[] = _("KOUKA-M");
-static const u8 SEName_KOUKA_H[] = _("KOUKA-H");
-static const u8 SEName_BOWA2[] = _("BOWA2");
-static const u8 SEName_POKE_DEAD[] = _("POKE-DEAD");
-static const u8 SEName_NIGERU[] = _("NIGERU");
-static const u8 SEName_JIDO_DOA[] = _("JIDO-DOA");
-static const u8 SEName_NAMINORI[] = _("NAMINORI");
-static const u8 SEName_BAN[] = _("BAN");
-static const u8 SEName_PIN[] = _("PIN");
-static const u8 SEName_BOO[] = _("BOO");
-static const u8 SEName_BOWA[] = _("BOWA");
-static const u8 SEName_JYUNI[] = _("JYUNI");
-static const u8 SEName_A[] = _("A");
-static const u8 SEName_I[] = _("I");
-static const u8 SEName_U[] = _("U");
-static const u8 SEName_E[] = _("E");
-static const u8 SEName_O[] = _("O");
-static const u8 SEName_N[] = _("N");
-static const u8 SEName_SEIKAI[] = _("SEIKAI");
-static const u8 SEName_HAZURE[] = _("HAZURE");
-static const u8 SEName_EXP[] = _("EXP");
-static const u8 SEName_JITE_PYOKO[] = _("JITE-PYOKO");
-static const u8 SEName_MU_PACHI[] = _("MU-PACHI");
-static const u8 SEName_TK_KASYA[] = _("TK-KASYA");
-static const u8 SEName_FU_ZAKU[] = _("FU-ZAKU");
-static const u8 SEName_FU_ZAKU2[] = _("FU-ZAKU2");
-static const u8 SEName_FU_ZUZUZU[] = _("FU-ZUZUZU");
-static const u8 SEName_RU_GASHIN[] = _("RU-GASHIN");
-static const u8 SEName_RU_GASYAN[] = _("RU-GASYAN");
-static const u8 SEName_RU_BARI[] = _("RU-BARI");
-static const u8 SEName_RU_HYUU[] = _("RU-HYUU");
-static const u8 SEName_KI_GASYAN[] = _("KI-GASYAN");
-static const u8 SEName_TK_WARPIN[] = _("TK-WARPIN");
-static const u8 SEName_TK_WARPOUT[] = _("TK-WARPOUT");
-static const u8 SEName_TU_SAA[] = _("TU-SAA");
-static const u8 SEName_HI_TURUN[] = _("HI-TURUN");
-static const u8 SEName_TRACK_MOVE[] = _("TRACK-MOVE");
-static const u8 SEName_TRACK_STOP[] = _("TRACK-STOP");
-static const u8 SEName_TRACK_HAIK[] = _("TRACK-HAIK");
-static const u8 SEName_TRACK_DOOR[] = _("TRACK-DOOR");
-static const u8 SEName_MOTER[] = _("MOTER");
-static const u8 SEName_CARD[] = _("CARD");
-static const u8 SEName_SAVE[] = _("SAVE");
-static const u8 SEName_KON[] = _("KON");
-static const u8 SEName_KON2[] = _("KON2");
-static const u8 SEName_KON3[] = _("KON3");
-static const u8 SEName_KON4[] = _("KON4");
-static const u8 SEName_SUIKOMU[] = _("SUIKOMU");
-static const u8 SEName_NAGERU[] = _("NAGERU");
-static const u8 SEName_TOY_C[] = _("TOY-C");
-static const u8 SEName_TOY_D[] = _("TOY-D");
-static const u8 SEName_TOY_E[] = _("TOY-E");
-static const u8 SEName_TOY_F[] = _("TOY-F");
-static const u8 SEName_TOY_G[] = _("TOY-G");
-static const u8 SEName_TOY_A[] = _("TOY-A");
-static const u8 SEName_TOY_B[] = _("TOY-B");
-static const u8 SEName_TOY_C1[] = _("TOY-C1");
-static const u8 SEName_MIZU[] = _("MIZU");
-static const u8 SEName_HASHI[] = _("HASHI");
-static const u8 SEName_DAUGI[] = _("DAUGI");
-static const u8 SEName_PINPON[] = _("PINPON");
-static const u8 SEName_FUUSEN1[] = _("FUUSEN1");
-static const u8 SEName_FUUSEN2[] = _("FUUSEN2");
-static const u8 SEName_FUUSEN3[] = _("FUUSEN3");
-static const u8 SEName_TOY_KABE[] = _("TOY-KABE");
-static const u8 SEName_TOY_DANGO[] = _("TOY-DANGO");
-static const u8 SEName_DOKU[] = _("DOKU");
-static const u8 SEName_ESUKA[] = _("ESUKA");
-static const u8 SEName_T_AME[] = _("T-AME");
-static const u8 SEName_T_AME_E[] = _("T-AME-E");
-static const u8 SEName_T_OOAME[] = _("T-OOAME");
-static const u8 SEName_T_OOAME_E[] = _("T-OOAME-E");
-static const u8 SEName_T_KOAME[] = _("T-KOAME");
-static const u8 SEName_T_KOAME_E[] = _("T-KOAME-E");
-static const u8 SEName_T_KAMI[] = _("T-KAMI");
-static const u8 SEName_T_KAMI2[] = _("T-KAMI2");
-static const u8 SEName_ELEBETA[] = _("ELEBETA");
-static const u8 SEName_HINSI[] = _("HINSI");
-static const u8 SEName_EXPMAX[] = _("EXPMAX");
-static const u8 SEName_TAMAKORO[] = _("TAMAKORO");
-static const u8 SEName_TAMAKORO_E[] = _("TAMAKORO-E");
-static const u8 SEName_BASABASA[] = _("BASABASA");
-static const u8 SEName_REGI[] = _("REGI");
-static const u8 SEName_C_GAJI[] = _("C-GAJI");
-static const u8 SEName_C_MAKU_U[] = _("C-MAKU-U");
-static const u8 SEName_C_MAKU_D[] = _("C-MAKU-D");
-static const u8 SEName_C_PASI[] = _("C-PASI");
-static const u8 SEName_C_SYU[] = _("C-SYU");
-static const u8 SEName_C_PIKON[] = _("C-PIKON");
-static const u8 SEName_REAPOKE[] = _("REAPOKE");
-static const u8 SEName_OP_BASYU[] = _("OP-BASYU");
-static const u8 SEName_BT_START[] = _("BT-START");
-static const u8 SEName_DENDOU[] = _("DENDOU");
-static const u8 SEName_JIHANKI[] = _("JIHANKI");
-static const u8 SEName_TAMA[] = _("TAMA");
-static const u8 SEName_Z_SCROLL[] = _("Z-SCROLL");
-static const u8 SEName_Z_PAGE[] = _("Z-PAGE");
-static const u8 SEName_PN_ON[] = _("PN-ON");
-static const u8 SEName_PN_OFF[] = _("PN-OFF");
-static const u8 SEName_Z_SEARCH[] = _("Z-SEARCH");
-static const u8 SEName_TAMAGO[] = _("TAMAGO");
-static const u8 SEName_TB_START[] = _("TB-START");
-static const u8 SEName_TB_KON[] = _("TB-KON");
-static const u8 SEName_TB_KARA[] = _("TB-KARA");
-static const u8 SEName_BIDORO[] = _("BIDORO");
-static const u8 SEName_W085[] = _("W085");
-static const u8 SEName_W085B[] = _("W085B");
-static const u8 SEName_W231[] = _("W231");
-static const u8 SEName_W171[] = _("W171");
-static const u8 SEName_W233[] = _("W233");
-static const u8 SEName_W233B[] = _("W233B");
-static const u8 SEName_W145[] = _("W145");
-static const u8 SEName_W145B[] = _("W145B");
-static const u8 SEName_W145C[] = _("W145C");
-static const u8 SEName_W240[] = _("W240");
-static const u8 SEName_W015[] = _("W015");
-static const u8 SEName_W081[] = _("W081");
-static const u8 SEName_W081B[] = _("W081B");
-static const u8 SEName_W088[] = _("W088");
-static const u8 SEName_W016[] = _("W016");
-static const u8 SEName_W016B[] = _("W016B");
-static const u8 SEName_W003[] = _("W003");
-static const u8 SEName_W104[] = _("W104");
-static const u8 SEName_W013[] = _("W013");
-static const u8 SEName_W196[] = _("W196");
-static const u8 SEName_W086[] = _("W086");
-static const u8 SEName_W004[] = _("W004");
-static const u8 SEName_W025[] = _("W025");
-static const u8 SEName_W025B[] = _("W025B");
-static const u8 SEName_W152[] = _("W152");
-static const u8 SEName_W026[] = _("W026");
-static const u8 SEName_W172[] = _("W172");
-static const u8 SEName_W172B[] = _("W172B");
-static const u8 SEName_W053[] = _("W053");
-static const u8 SEName_W007[] = _("W007");
-static const u8 SEName_W092[] = _("W092");
-static const u8 SEName_W221[] = _("W221");
-static const u8 SEName_W221B[] = _("W221B");
-static const u8 SEName_W052[] = _("W052");
-static const u8 SEName_W036[] = _("W036");
-static const u8 SEName_W059[] = _("W059");
-static const u8 SEName_W059B[] = _("W059B");
-static const u8 SEName_W010[] = _("W010");
-static const u8 SEName_W011[] = _("W011");
-static const u8 SEName_W017[] = _("W017");
-static const u8 SEName_W019[] = _("W019");
-static const u8 SEName_W028[] = _("W028");
-static const u8 SEName_W013B[] = _("W013B");
-static const u8 SEName_W044[] = _("W044");
-static const u8 SEName_W029[] = _("W029");
-static const u8 SEName_W057[] = _("W057");
-static const u8 SEName_W056[] = _("W056");
-static const u8 SEName_W250[] = _("W250");
-static const u8 SEName_W030[] = _("W030");
-static const u8 SEName_W039[] = _("W039");
-static const u8 SEName_W054[] = _("W054");
-static const u8 SEName_W077[] = _("W077");
-static const u8 SEName_W020[] = _("W020");
-static const u8 SEName_W082[] = _("W082");
-static const u8 SEName_W047[] = _("W047");
-static const u8 SEName_W195[] = _("W195");
-static const u8 SEName_W006[] = _("W006");
-static const u8 SEName_W091[] = _("W091");
-static const u8 SEName_W146[] = _("W146");
-static const u8 SEName_W120[] = _("W120");
-static const u8 SEName_W153[] = _("W153");
-static const u8 SEName_W071B[] = _("W071B");
-static const u8 SEName_W071[] = _("W071");
-static const u8 SEName_W103[] = _("W103");
-static const u8 SEName_W062[] = _("W062");
-static const u8 SEName_W062B[] = _("W062B");
-static const u8 SEName_W048[] = _("W048");
-static const u8 SEName_W187[] = _("W187");
-static const u8 SEName_W118[] = _("W118");
-static const u8 SEName_W155[] = _("W155");
-static const u8 SEName_W122[] = _("W122");
-static const u8 SEName_W060[] = _("W060");
-static const u8 SEName_W185[] = _("W185");
-static const u8 SEName_W014[] = _("W014");
-static const u8 SEName_W043[] = _("W043");
-static const u8 SEName_W207[] = _("W207");
-static const u8 SEName_W207B[] = _("W207B");
-static const u8 SEName_W215[] = _("W215");
-static const u8 SEName_W109[] = _("W109");
-static const u8 SEName_W173[] = _("W173");
-static const u8 SEName_W280[] = _("W280");
-static const u8 SEName_W202[] = _("W202");
-static const u8 SEName_W060B[] = _("W060B");
-static const u8 SEName_W076[] = _("W076");
-static const u8 SEName_W080[] = _("W080");
-static const u8 SEName_W100[] = _("W100");
-static const u8 SEName_W107[] = _("W107");
-static const u8 SEName_W166[] = _("W166");
-static const u8 SEName_W129[] = _("W129");
-static const u8 SEName_W115[] = _("W115");
-static const u8 SEName_W112[] = _("W112");
-static const u8 SEName_W197[] = _("W197");
-static const u8 SEName_W199[] = _("W199");
-static const u8 SEName_W236[] = _("W236");
-static const u8 SEName_W204[] = _("W204");
-static const u8 SEName_W268[] = _("W268");
-static const u8 SEName_W070[] = _("W070");
-static const u8 SEName_W063[] = _("W063");
-static const u8 SEName_W127[] = _("W127");
-static const u8 SEName_W179[] = _("W179");
-static const u8 SEName_W151[] = _("W151");
-static const u8 SEName_W201[] = _("W201");
-static const u8 SEName_W161[] = _("W161");
-static const u8 SEName_W161B[] = _("W161B");
-static const u8 SEName_W227[] = _("W227");
-static const u8 SEName_W227B[] = _("W227B");
-static const u8 SEName_W226[] = _("W226");
-static const u8 SEName_W208[] = _("W208");
-static const u8 SEName_W213[] = _("W213");
-static const u8 SEName_W213B[] = _("W213B");
-static const u8 SEName_W234[] = _("W234");
-static const u8 SEName_W260[] = _("W260");
-static const u8 SEName_W328[] = _("W328");
-static const u8 SEName_W320[] = _("W320");
-static const u8 SEName_W255[] = _("W255");
-static const u8 SEName_W291[] = _("W291");
-static const u8 SEName_W089[] = _("W089");
-static const u8 SEName_W239[] = _("W239");
-static const u8 SEName_W230[] = _("W230");
-static const u8 SEName_W281[] = _("W281");
-static const u8 SEName_W327[] = _("W327");
-static const u8 SEName_W287[] = _("W287");
-static const u8 SEName_W257[] = _("W257");
-static const u8 SEName_W253[] = _("W253");
-static const u8 SEName_W258[] = _("W258");
-static const u8 SEName_W322[] = _("W322");
-static const u8 SEName_W298[] = _("W298");
-static const u8 SEName_W287B[] = _("W287B");
-static const u8 SEName_W114[] = _("W114");
-static const u8 SEName_W063B[] = _("W063B");
-
-static const u8 *const gSENames[] =
-{
- SEName_STOP,
- SEName_KAIFUKU,
- SEName_PC_LOGON,
- SEName_PC_OFF,
- SEName_PC_ON,
- SEName_SELECT,
- SEName_WIN_OPEN,
- SEName_WALL_HIT,
- SEName_DOOR,
- SEName_KAIDAN,
- SEName_DANSA,
- SEName_JITENSYA,
- SEName_KOUKA_L,
- SEName_KOUKA_M,
- SEName_KOUKA_H,
- SEName_BOWA2,
- SEName_POKE_DEAD,
- SEName_NIGERU,
- SEName_JIDO_DOA,
- SEName_NAMINORI,
- SEName_BAN,
- SEName_PIN,
- SEName_BOO,
- SEName_BOWA,
- SEName_JYUNI,
- SEName_A,
- SEName_I,
- SEName_U,
- SEName_E,
- SEName_O,
- SEName_N,
- SEName_SEIKAI,
- SEName_HAZURE,
- SEName_EXP,
- SEName_JITE_PYOKO,
- SEName_MU_PACHI,
- SEName_TK_KASYA,
- SEName_FU_ZAKU,
- SEName_FU_ZAKU2,
- SEName_FU_ZUZUZU,
- SEName_RU_GASHIN,
- SEName_RU_GASYAN,
- SEName_RU_BARI,
- SEName_RU_HYUU,
- SEName_KI_GASYAN,
- SEName_TK_WARPIN,
- SEName_TK_WARPOUT,
- SEName_TU_SAA,
- SEName_HI_TURUN,
- SEName_TRACK_MOVE,
- SEName_TRACK_STOP,
- SEName_TRACK_HAIK,
- SEName_TRACK_DOOR,
- SEName_MOTER,
- SEName_CARD,
- SEName_SAVE,
- SEName_KON,
- SEName_KON2,
- SEName_KON3,
- SEName_KON4,
- SEName_SUIKOMU,
- SEName_NAGERU,
- SEName_TOY_C,
- SEName_TOY_D,
- SEName_TOY_E,
- SEName_TOY_F,
- SEName_TOY_G,
- SEName_TOY_A,
- SEName_TOY_B,
- SEName_TOY_C1,
- SEName_MIZU,
- SEName_HASHI,
- SEName_DAUGI,
- SEName_PINPON,
- SEName_FUUSEN1,
- SEName_FUUSEN2,
- SEName_FUUSEN3,
- SEName_TOY_KABE,
- SEName_TOY_DANGO,
- SEName_DOKU,
- SEName_ESUKA,
- SEName_T_AME,
- SEName_T_AME_E,
- SEName_T_OOAME,
- SEName_T_OOAME_E,
- SEName_T_KOAME,
- SEName_T_KOAME_E,
- SEName_T_KAMI,
- SEName_T_KAMI2,
- SEName_ELEBETA,
- SEName_HINSI,
- SEName_EXPMAX,
- SEName_TAMAKORO,
- SEName_TAMAKORO_E,
- SEName_BASABASA,
- SEName_REGI,
- SEName_C_GAJI,
- SEName_C_MAKU_U,
- SEName_C_MAKU_D,
- SEName_C_PASI,
- SEName_C_SYU,
- SEName_C_PIKON,
- SEName_REAPOKE,
- SEName_OP_BASYU,
- SEName_BT_START,
- SEName_DENDOU,
- SEName_JIHANKI,
- SEName_TAMA,
- SEName_Z_SCROLL,
- SEName_Z_PAGE,
- SEName_PN_ON,
- SEName_PN_OFF,
- SEName_Z_SEARCH,
- SEName_TAMAGO,
- SEName_TB_START,
- SEName_TB_KON,
- SEName_TB_KARA,
- SEName_BIDORO,
- SEName_W085,
- SEName_W085B,
- SEName_W231,
- SEName_W171,
- SEName_W233,
- SEName_W233B,
- SEName_W145,
- SEName_W145B,
- SEName_W145C,
- SEName_W240,
- SEName_W015,
- SEName_W081,
- SEName_W081B,
- SEName_W088,
- SEName_W016,
- SEName_W016B,
- SEName_W003,
- SEName_W104,
- SEName_W013,
- SEName_W196,
- SEName_W086,
- SEName_W004,
- SEName_W025,
- SEName_W025B,
- SEName_W152,
- SEName_W026,
- SEName_W172,
- SEName_W172B,
- SEName_W053,
- SEName_W007,
- SEName_W092,
- SEName_W221,
- SEName_W221B,
- SEName_W052,
- SEName_W036,
- SEName_W059,
- SEName_W059B,
- SEName_W010,
- SEName_W011,
- SEName_W017,
- SEName_W019,
- SEName_W028,
- SEName_W013B,
- SEName_W044,
- SEName_W029,
- SEName_W057,
- SEName_W056,
- SEName_W250,
- SEName_W030,
- SEName_W039,
- SEName_W054,
- SEName_W077,
- SEName_W020,
- SEName_W082,
- SEName_W047,
- SEName_W195,
- SEName_W006,
- SEName_W091,
- SEName_W146,
- SEName_W120,
- SEName_W153,
- SEName_W071B,
- SEName_W071,
- SEName_W103,
- SEName_W062,
- SEName_W062B,
- SEName_W048,
- SEName_W187,
- SEName_W118,
- SEName_W155,
- SEName_W122,
- SEName_W060,
- SEName_W185,
- SEName_W014,
- SEName_W043,
- SEName_W207,
- SEName_W207B,
- SEName_W215,
- SEName_W109,
- SEName_W173,
- SEName_W280,
- SEName_W202,
- SEName_W060B,
- SEName_W076,
- SEName_W080,
- SEName_W100,
- SEName_W107,
- SEName_W166,
- SEName_W129,
- SEName_W115,
- SEName_W112,
- SEName_W197,
- SEName_W199,
- SEName_W236,
- SEName_W204,
- SEName_W268,
- SEName_W070,
- SEName_W063,
- SEName_W127,
- SEName_W179,
- SEName_W151,
- SEName_W201,
- SEName_W161,
- SEName_W161B,
- SEName_W227,
- SEName_W227B,
- SEName_W226,
- SEName_W208,
- SEName_W213,
- SEName_W213B,
- SEName_W234,
- SEName_W260,
- SEName_W328,
- SEName_W320,
- SEName_W255,
- SEName_W291,
- SEName_W089,
- SEName_W239,
- SEName_W230,
- SEName_W281,
- SEName_W327,
- SEName_W287,
- SEName_W257,
- SEName_W253,
- SEName_W258,
- SEName_W322,
- SEName_W298,
- SEName_W287B,
- SEName_W114,
- SEName_W063B
-};
-
-void sub_80BA0A8(void)
-{
- RunTasks();
- AnimateSprites();
- BuildOamBuffer();
- UpdatePaletteFade();
-}
-
-void sub_80BA0C0(void)
-{
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
-
- if(gUnknown_020387B0 != 0)
- {
- m4aSoundMain();
- m4aSoundMain();
- m4aSoundMain();
- }
-}
-
-// unused
-void CB2_StartSoundCheckMenu(void)
-{
- u8 taskId;
-
- SetVBlankCallback(NULL);
- REG_DISPCNT = 0;
- REG_BG2CNT = 0;
- REG_BG1CNT = 0;
- REG_BG0CNT = 0;
- REG_BG2HOFS = 0;
- REG_BG2VOFS = 0;
- REG_BG1HOFS = 0;
- REG_BG1VOFS = 0;
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0;
- DmaFill16(3, 0, VRAM, VRAM_SIZE);
- DmaFill32(3, 0, OAM, OAM_SIZE);
- DmaFill16(3, 0, PLTT, PLTT_SIZE);
- ResetPaletteFade();
- ResetTasks();
- ResetSpriteData();
- SetUpWindowConfig(&gWindowConfig_81E6C3C);
- InitMenuWindow(&gWindowConfig_81E6CE4);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
- REG_WIN0H = WIN_RANGE(0, 0);
- REG_WIN0V = WIN_RANGE(0, 0);
- REG_WIN1H = WIN_RANGE(0, 0);
- REG_WIN1V = WIN_RANGE(0, 0);
- REG_WININ = 0x1111;
- REG_WINOUT = 0x31;
- REG_BLDCNT = 0xE1;
- REG_BLDALPHA = 0;
- REG_BLDY = 7;
- REG_IE = 1; // could be a typo of REG_IME
- REG_IE |= 1;
- REG_DISPSTAT |= 8;
- SetVBlankCallback(sub_80BA0C0);
- SetMainCallback2(sub_80BA0A8);
- REG_DISPCNT = 0x7140;
- taskId = CreateTask(sub_80BA258, 0);
- TASK.WINDOW_SELECTED = BGM_WINDOW;
- TASK.BGM_INDEX = 0;
- TASK.SE_INDEX = 0;
- TASK.UNK_DATA3 = 0;
- gUnknown_020387B0 = 0;
- TASK.UNK_DATA3 = 0; // why?
- m4aSoundInit();
-}
-
-// Task_InitSoundCheckMenu
-void sub_80BA258(u8 taskId)
-{
- u8 soundcheckStr[sizeof(gDebugText_SoundCheckJap)];
- u8 bgmStr[sizeof(gDebugText_BGM)];
- u8 seStr[sizeof(gDebugText_SE)];
- u8 abDescStr[sizeof(gDebugText_ABDesc)];
- u8 upDownStr[sizeof(gDebugText_UpDown)];
- u8 driverStr[sizeof(gDebugText_DriverTest)];
-
- memcpy(soundcheckStr, gDebugText_SoundCheckJap, sizeof(gDebugText_SoundCheckJap));
- memcpy(bgmStr, gDebugText_BGM, sizeof(gDebugText_BGM));
- memcpy(seStr, gDebugText_SE, sizeof(gDebugText_SE));
- memcpy(abDescStr, gDebugText_ABDesc, sizeof(gDebugText_ABDesc));
- memcpy(upDownStr, gDebugText_UpDown, sizeof(gDebugText_UpDown));
- memcpy(driverStr, gDebugText_DriverTest, sizeof(gDebugText_DriverTest));
-
- if(!gPaletteFade.active)
- {
- MenuDrawTextWindow(0x2, 0, 0x1B, 0x3);
- MenuDrawTextWindow(0x2, 0x5, 0x1B, 0xA);
- MenuDrawTextWindow(0x2, 0xC, 0x1B, 0x11);
- MenuPrint(soundcheckStr, 4, 1);
- MenuPrint(abDescStr, 14, 1);
- MenuPrint(bgmStr, 4, 6);
- MenuPrint(upDownStr, 14, 6);
- MenuPrint(seStr, 4, 13);
- MenuPrint(upDownStr, 14, 13);
- MenuPrint(driverStr, 14, 18);
- TASK.FUNC = sub_80BA384;
- REG_WIN0H = WIN_RANGE(17, 223);
- REG_WIN0V = WIN_RANGE(1, 31);
- }
-}
-
-void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText
-{
- sub_80BA6B8(TASK.WINDOW_SELECTED);
- sub_80BA700(TASK.BGM_INDEX + BGM_STOP, 7, 8); // print by BGM index
- sub_80BA79C(gBGMNames[TASK.BGM_INDEX], 11, 8);
- sub_80BA700(TASK.SE_INDEX, 7, 15);
- sub_80BA79C(gSENames[TASK.SE_INDEX], 11, 15);
- TASK.FUNC = sub_80BA65C;
-}
-
-#ifdef NONMATCHING
-bool8 sub_80BA400(u8 taskId) // Task_ProcessSoundCheckMenuInput
-{
- if(gMain.newKeys & R_BUTTON) // driver test
- {
- TASK.FUNC = sub_80BA800;
- return FALSE;
- }
- if(gMain.newKeys & L_BUTTON)
- {
- TASK.FUNC = sub_80BAF84;
- return FALSE;
- }
- if(gMain.newKeys & START_BUTTON)
- {
- TASK.FUNC = sub_80BB25C;
- return FALSE;
- }
- if(gMain.newKeys & A_BUTTON) // both these cases insist on non reuses of certain data variables and cause the function to not match.
- {
- if(TASK.WINDOW_SELECTED != 0) // is playing?
- {
- if(TASK.UNK_DATA4 != 0)
- {
- if(TASK.SE_INDEX != 0) // why are you insiting on a non signed halfword?
- {
- m4aSongNumStop(TASK.UNK_DATA4);
- }
- else
- {
- m4aSongNumStop(TASK.SE_INDEX);
- TASK.UNK_DATA4 = TASK.SE_INDEX;
- return FALSE;
- }
- }
- else if(TASK.SE_INDEX == 0) // _080BA4BA
- {
- return FALSE;
- }
- // _080BA4C4
- m4aSongNumStart(TASK.SE_INDEX);
- TASK.UNK_DATA4 = TASK.SE_INDEX;
- return FALSE;
- }
- else // _080BA4D0
- {
- if(TASK.UNK_DATA3 != 0)
- {
- if(TASK.BGM_INDEX != 0)
- {
- m4aSongNumStop(TASK.UNK_DATA3 + BGM_STOP);
- }
- else // _080BA500
- {
- m4aSongNumStop(TASK.UNK_DATA3 + BGM_STOP);
- TASK.UNK_DATA3 = TASK.BGM_INDEX;
- return FALSE;
- }
- }
- else if(TASK.BGM_INDEX == 0) // _080BA514
- return FALSE;
-
- m4aSongNumStart(TASK.BGM_INDEX + BGM_STOP);
- TASK.UNK_DATA3 = TASK.BGM_INDEX;
- }
- return FALSE;
- }
- if(gMain.newKeys & B_BUTTON)
- {
- m4aSongNumStart(5);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
- TASK.FUNC = sub_80BA68C;
- return FALSE;
- }
- if(gMain.newAndRepeatedKeys & DPAD_UP)
- {
- TASK.data[8] ^= A_BUTTON; // huh?
- return TRUE;
- }
- if(gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- TASK.data[8] ^= A_BUTTON; // huh?
- return TRUE;
- }
- else
- {
- u16 keys = gMain.newAndRepeatedKeys & DPAD_RIGHT;
- if(keys)
- {
- if(TASK.WINDOW_SELECTED != 0)
- {
- if(TASK.SE_INDEX > 0)
- {
- TASK.SE_INDEX--;
- }
- else
- {
- TASK.SE_INDEX = 0xF7;
- }
- }
- else if(TASK.BGM_INDEX > 0)
- {
- TASK.BGM_INDEX--;
- }
- else
- {
- TASK.BGM_INDEX = 0x75;
- }
- return TRUE;
- }
- if(gMain.newAndRepeatedKeys & DPAD_LEFT)
- {
- if(TASK.WINDOW_SELECTED != 0)
- {
- if(TASK.SE_INDEX < 0xF7)
- {
- TASK.SE_INDEX++;
- }
- else
- {
- TASK.SE_INDEX = keys; // ??
- }
- }
- else if(TASK.BGM_INDEX < 0x75)
- {
- TASK.BGM_INDEX++;
- return TRUE;
- }
- else
- {
- TASK.BGM_INDEX = TASK.SE_INDEX;
- return TRUE;
- }
- return TRUE;
- }
- if(gMain.heldKeys & SELECT_BUTTON)
- {
- gUnknown_020387B0 = A_BUTTON;
- return FALSE;
- }
- else
- {
- gUnknown_020387B0 = (gMain.heldKeys & SELECT_BUTTON);
- return FALSE;
- }
- }
-}
-#else
-__attribute__((naked))
-bool8 sub_80BA400(u8 taskId)
-{
- asm(".syntax unified\n\
- push {r4-r6,lr}\n\
- sub sp, 0x4\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- ldr r2, _080BA428 @ =gMain\n\
- ldrh r1, [r2, 0x2E]\n\
- movs r0, 0x80\n\
- lsls r0, 1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA434\n\
- ldr r0, _080BA42C @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldr r0, _080BA430 @ =sub_80BA800\n\
- str r0, [r1]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA428: .4byte gMain\n\
-_080BA42C: .4byte gTasks\n\
-_080BA430: .4byte sub_80BA800\n\
-_080BA434:\n\
- movs r0, 0x80\n\
- lsls r0, 2\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA458\n\
- ldr r0, _080BA450 @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldr r0, _080BA454 @ =sub_80BAF84\n\
- str r0, [r1]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA450: .4byte gTasks\n\
-_080BA454: .4byte sub_80BAF84\n\
-_080BA458:\n\
- movs r0, 0x8\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA478\n\
- ldr r0, _080BA470 @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldr r0, _080BA474 @ =sub_80BB25C\n\
- str r0, [r1]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA470: .4byte gTasks\n\
-_080BA474: .4byte sub_80BB25C\n\
-_080BA478:\n\
- movs r6, 0x1\n\
- movs r5, 0x1\n\
- ands r5, r1\n\
- cmp r5, 0\n\
- beq _080BA538\n\
- ldr r0, _080BA4AC @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r5, r1, r0\n\
- movs r1, 0x8\n\
- ldrsh r0, [r5, r1]\n\
- cmp r0, 0\n\
- beq _080BA4D0\n\
- movs r2, 0x10\n\
- ldrsh r0, [r5, r2]\n\
- cmp r0, 0\n\
- beq _080BA4BA\n\
- movs r3, 0xC\n\
- ldrsh r4, [r5, r3]\n\
- cmp r4, 0\n\
- beq _080BA4B0\n\
- ldrh r0, [r5, 0x10]\n\
- bl m4aSongNumStop\n\
- b _080BA4C4\n\
- .align 2, 0\n\
-_080BA4AC: .4byte gTasks\n\
-_080BA4B0:\n\
- ldrh r0, [r5, 0x10]\n\
- bl m4aSongNumStop\n\
- strh r4, [r5, 0x10]\n\
- b _080BA64C\n\
-_080BA4BA:\n\
- movs r4, 0xC\n\
- ldrsh r0, [r5, r4]\n\
- cmp r0, 0\n\
- bne _080BA4C4\n\
- b _080BA64C\n\
-_080BA4C4:\n\
- ldrh r0, [r5, 0xC]\n\
- bl m4aSongNumStart\n\
- ldrh r0, [r5, 0xC]\n\
- strh r0, [r5, 0x10]\n\
- b _080BA64C\n\
-_080BA4D0:\n\
- ldrh r1, [r5, 0xE]\n\
- movs r2, 0xE\n\
- ldrsh r0, [r5, r2]\n\
- cmp r0, 0\n\
- beq _080BA514\n\
- movs r3, 0xA\n\
- ldrsh r4, [r5, r3]\n\
- cmp r4, 0\n\
- beq _080BA500\n\
- ldr r0, _080BA4FC @ =0x0000015d\n\
- adds r4, r0, 0\n\
- adds r0, r1, r4\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- bl m4aSongNumStop\n\
- ldrh r1, [r5, 0xA]\n\
- adds r4, r1\n\
- lsls r4, 16\n\
- lsrs r4, 16\n\
- adds r0, r4, 0\n\
- b _080BA528\n\
- .align 2, 0\n\
-_080BA4FC: .4byte 0x0000015d\n\
-_080BA500:\n\
- ldr r2, _080BA510 @ =0x0000015d\n\
- adds r0, r1, r2\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- bl m4aSongNumStop\n\
- strh r4, [r5, 0xE]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA510: .4byte 0x0000015d\n\
-_080BA514:\n\
- ldrh r1, [r5, 0xA]\n\
- movs r3, 0xA\n\
- ldrsh r0, [r5, r3]\n\
- cmp r0, 0\n\
- bne _080BA520\n\
- b _080BA64C\n\
-_080BA520:\n\
- ldr r4, _080BA534 @ =0x0000015d\n\
- adds r0, r1, r4\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
-_080BA528:\n\
- bl m4aSongNumStart\n\
- ldrh r0, [r5, 0xA]\n\
- strh r0, [r5, 0xE]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA534: .4byte 0x0000015d\n\
-_080BA538:\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA570\n\
- movs r0, 0x5\n\
- bl m4aSongNumStart\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- str r5, [sp]\n\
- movs r1, 0\n\
- movs r2, 0\n\
- movs r3, 0x10\n\
- bl BeginNormalPaletteFade\n\
- ldr r1, _080BA568 @ =gTasks\n\
- lsls r0, r4, 2\n\
- adds r0, r4\n\
- lsls r0, 3\n\
- adds r0, r1\n\
- ldr r1, _080BA56C @ =sub_80BA68C\n\
- str r1, [r0]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA568: .4byte gTasks\n\
-_080BA56C: .4byte sub_80BA68C\n\
-_080BA570:\n\
- ldrh r1, [r2, 0x30]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080BA582\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA59C\n\
-_080BA582:\n\
- ldr r0, _080BA598 @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldrh r0, [r1, 0x8]\n\
- eors r0, r6\n\
- strh r0, [r1, 0x8]\n\
-_080BA592:\n\
- movs r0, 0x1\n\
- b _080BA64E\n\
- .align 2, 0\n\
-_080BA598: .4byte gTasks\n\
-_080BA59C:\n\
- movs r0, 0x10\n\
- ands r0, r1\n\
- lsls r0, 16\n\
- lsrs r3, r0, 16\n\
- cmp r3, 0\n\
- beq _080BA5EA\n\
- ldr r0, _080BA5CC @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- movs r2, 0x8\n\
- ldrsh r0, [r1, r2]\n\
- cmp r0, 0\n\
- beq _080BA5D6\n\
- ldrh r2, [r1, 0xC]\n\
- movs r3, 0xC\n\
- ldrsh r0, [r1, r3]\n\
- cmp r0, 0\n\
- ble _080BA5D0\n\
- subs r0, r2, 0x1\n\
- strh r0, [r1, 0xC]\n\
- b _080BA592\n\
- .align 2, 0\n\
-_080BA5CC: .4byte gTasks\n\
-_080BA5D0:\n\
- movs r0, 0xF7\n\
- strh r0, [r1, 0xC]\n\
- b _080BA592\n\
-_080BA5D6:\n\
- ldrh r2, [r1, 0xA]\n\
- movs r4, 0xA\n\
- ldrsh r0, [r1, r4]\n\
- cmp r0, 0\n\
- ble _080BA5E4\n\
- subs r0, r2, 0x1\n\
- b _080BA5E6\n\
-_080BA5E4:\n\
- movs r0, 0x75\n\
-_080BA5E6:\n\
- strh r0, [r1, 0xA]\n\
- b _080BA592\n\
-_080BA5EA:\n\
- movs r0, 0x20\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA630\n\
- ldr r1, _080BA614 @ =gTasks\n\
- lsls r0, r4, 2\n\
- adds r0, r4\n\
- lsls r0, 3\n\
- adds r1, r0, r1\n\
- movs r0, 0x8\n\
- ldrsh r2, [r1, r0]\n\
- cmp r2, 0\n\
- beq _080BA61C\n\
- ldrh r2, [r1, 0xC]\n\
- movs r4, 0xC\n\
- ldrsh r0, [r1, r4]\n\
- cmp r0, 0xF6\n\
- bgt _080BA618\n\
- adds r0, r2, 0x1\n\
- strh r0, [r1, 0xC]\n\
- b _080BA592\n\
- .align 2, 0\n\
-_080BA614: .4byte gTasks\n\
-_080BA618:\n\
- strh r3, [r1, 0xC]\n\
- b _080BA592\n\
-_080BA61C:\n\
- ldrh r3, [r1, 0xA]\n\
- movs r4, 0xA\n\
- ldrsh r0, [r1, r4]\n\
- cmp r0, 0x74\n\
- bgt _080BA62C\n\
- adds r0, r3, 0x1\n\
- strh r0, [r1, 0xA]\n\
- b _080BA592\n\
-_080BA62C:\n\
- strh r2, [r1, 0xA]\n\
- b _080BA592\n\
-_080BA630:\n\
- ldrh r1, [r2, 0x2C]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- lsls r0, 16\n\
- lsrs r1, r0, 16\n\
- cmp r1, 0\n\
- beq _080BA648\n\
- ldr r0, _080BA644 @ =gUnknown_020387B0\n\
- strb r6, [r0]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA644: .4byte gUnknown_020387B0\n\
-_080BA648:\n\
- ldr r0, _080BA658 @ =gUnknown_020387B0\n\
- strb r1, [r0]\n\
-_080BA64C:\n\
- movs r0, 0\n\
-_080BA64E:\n\
- add sp, 0x4\n\
- pop {r4-r6}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_080BA658: .4byte gUnknown_020387B0\n\
- .syntax divided");
-}
-#endif
-
-void sub_80BA65C(u8 taskId)
-{
- if(sub_80BA400(taskId) != FALSE)
- TASK.FUNC = sub_80BA384;
-}
-
-void sub_80BA68C(u8 taskId)
-{
- if(!gPaletteFade.active)
- {
- DestroyTask(taskId);
- SetMainCallback2(CB2_InitTitleScreen);
- }
-}
-
-void sub_80BA6B8(u8 windowType)
-{
- switch(windowType)
- {
- case BGM_WINDOW:
- default:
- REG_WIN1H = WIN_RANGE(17, 223);
- REG_WIN1V = WIN_RANGE(41, 87);
- break;
- case SE_WINDOW:
- REG_WIN1H = WIN_RANGE(17, 223);
- REG_WIN1V = WIN_RANGE(97, 143);
- break;
- }
-}
-
-void sub_80BA700(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ?
-{
- u8 i;
- u8 str[5];
- bool8 someBool;
- u8 divisorValue;
-
- for(i = 0; i < 3; i++)
- str[i] = 0; // initialize array
-
- str[3] = CHAR_ELLIPSIS;
- str[4] = EOS;
- someBool = FALSE;
-
- divisorValue = soundIndex / 100;
- if(divisorValue)
- {
- str[0] = divisorValue + CHAR_0;
- someBool = TRUE;
- }
-
- divisorValue = (soundIndex % 100) / 10;
- if(divisorValue || someBool != FALSE)
- str[1] = divisorValue + CHAR_0;
-
- str[2] = ((soundIndex % 100) % 10) + CHAR_0;
- MenuPrint(str, x, y);
-}
-
-void sub_80BA79C(const u8 *const string, u16 x, u16 y)
-{
- u8 i;
- u8 str[11];
-
- for(i = 0; i < 11; i++)
- str[i] = 0; // format string.
-
- str[10] = EOS; // the above for loop formats the last element of the array unnecessarily.
-
- for(i = 0; string[i] != EOS && i < 10; i++)
- str[i] = string[i];
-
- MenuPrint(str, x, y);
-}
-
-void sub_80BA800(u8 taskId) // Task_DrawDriverTestMenu
-{
- u8 bbackStr[sizeof(gDebugText_BBack)];
- u8 aplayStr[sizeof(gDebugText_APlay)];
- u8 voiceStr[sizeof(gDebugText_Voice)];
- u8 volumeStr[sizeof(gDebugText_Volume)];
- u8 panpotStr[sizeof(gDebugText_Panpot)];
- u8 pitchStr[sizeof(gDebugText_Pitch)];
- u8 lengthStr[sizeof(gDebugText_Length)];
- u8 releaseStr[sizeof(gDebugText_Release)];
- u8 progressStr[sizeof(gDebugText_Progress)];
- u8 chorusStr[sizeof(gDebugText_Chorus)];
- u8 priorityStr[sizeof(gDebugText_Priority)];
- u8 playingStr[sizeof(gDebugText_Playing)];
- u8 reverseStr[sizeof(gDebugText_Reverse)];
- u8 stereoStr[sizeof(gDebugText_Stereo)];
-
- memcpy(bbackStr, gDebugText_BBack, sizeof(gDebugText_BBack));
- memcpy(aplayStr, gDebugText_APlay, sizeof(gDebugText_APlay));
- memcpy(voiceStr, gDebugText_Voice, sizeof(gDebugText_Voice));
- memcpy(volumeStr, gDebugText_Volume, sizeof(gDebugText_Volume));
- memcpy(panpotStr, gDebugText_Panpot, sizeof(gDebugText_Panpot));
- memcpy(pitchStr, gDebugText_Pitch, sizeof(gDebugText_Pitch));
- memcpy(lengthStr, gDebugText_Length, sizeof(gDebugText_Length));
- memcpy(releaseStr, gDebugText_Release, sizeof(gDebugText_Release));
- memcpy(progressStr, gDebugText_Progress, sizeof(gDebugText_Progress));
- memcpy(chorusStr, gDebugText_Chorus, sizeof(gDebugText_Chorus));
- memcpy(priorityStr, gDebugText_Priority, sizeof(gDebugText_Priority));
- memcpy(playingStr, gDebugText_Playing, sizeof(gDebugText_Playing));
- memcpy(reverseStr, gDebugText_Reverse, sizeof(gDebugText_Reverse));
- memcpy(stereoStr, gDebugText_Stereo, sizeof(gDebugText_Stereo));
-
- REG_DISPCNT = 0x3140;
- MenuDrawTextWindow(0, 0, 0x1D, 0x13);
- MenuPrint(bbackStr, 0x13, 0x4);
- MenuPrint(aplayStr, 0x13, 0x2);
- MenuPrint(voiceStr, 0x2, 0x1);
- MenuPrint(volumeStr, 0x2, 0x3);
- MenuPrint(panpotStr, 0x2, 0x5);
- MenuPrint(pitchStr, 0x2, 0x7);
- MenuPrint(lengthStr, 0x2, 0x9);
- MenuPrint(releaseStr, 0x2, 0xB);
- MenuPrint(progressStr, 0x2, 0xD);
- MenuPrint(chorusStr, 0x2, 0xF);
- MenuPrint(priorityStr, 0x2, 0x11);
- MenuPrint(playingStr, 0x13, 0x10);
- MenuPrint(reverseStr, 0x13, 0xE);
- MenuPrint(stereoStr, 0x13, 0xC);
- REG_WIN0H = WIN_RANGE(0, 240);
- REG_WIN0V = WIN_RANGE(0, 160);
- gUnknown_020387B3 = 0;
- gUnknown_020387B1 = 0;
- gUnknown_020387B2 = 0;
- gUnknown_03005D30 = NULL;
- gUnknown_020387D8 = 0;
- gUnknown_020387D9 = 1;
- gUnknown_020387B4[CRY_TEST_UNK0] = 0;
- gUnknown_020387B4[CRY_TEST_VOLUME] = 0x78;
- gUnknown_020387B4[CRY_TEST_PANPOT] = 0;
- gUnknown_020387B4[CRY_TEST_PITCH] = 0x3C00;
- gUnknown_020387B4[CRY_TEST_LENGTH] = 0xB4;
- gUnknown_020387B4[CRY_TEST_PROGRESS] = 0;
- gUnknown_020387B4[CRY_TEST_RELEASE] = 0;
- gUnknown_020387B4[CRY_TEST_CHORUS] = 0;
- gUnknown_020387B4[CRY_TEST_PRIORITY] = 2;
- sub_80BAD5C();
- sub_80BAE10(0, 0);
- TASK.FUNC = sub_80BAA48;
-}
-
-void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput
-{
- if(gMain.newKeys & B_BUTTON)
- {
- REG_DISPCNT = 0x7140;
- REG_WIN0H = WIN_RANGE(17, 223);
- REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
- TASK.FUNC = sub_80BA258;
- return;
- }
- if(gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8
- {
- u8 backupVar = gUnknown_020387B3;
- if(--gUnknown_020387B3 < 0)
- gUnknown_020387B3 = 8;
-
- sub_80BAE10(backupVar, gUnknown_020387B3);
- return;
- }
- if(gMain.newAndRepeatedKeys & DPAD_DOWN) // _080BAAD0
- {
- u8 backupVar = gUnknown_020387B3;
- if(++gUnknown_020387B3 > 8)
- gUnknown_020387B3 = 0;
-
- sub_80BAE10(backupVar, gUnknown_020387B3);
- return;
- }
- if(gMain.newKeys & START_BUTTON) // _080BAAF8
- {
- gUnknown_020387D8 ^= 1;
- sub_80BAD5C();
- return;
- }
- if(gMain.newKeys & SELECT_BUTTON) // _080BAB14
- {
- gUnknown_020387D9 ^= 1;
- sub_80BAD5C();
- SetPokemonCryStereo(gUnknown_020387D9);
- return;
- }
- if(gMain.newAndRepeatedKeys & R_BUTTON) // _080BAB38
- {
- sub_80BACDC(10);
- sub_80BAD5C();
- return;
- }
- if(gMain.newAndRepeatedKeys & L_BUTTON) // _080BAB46
- {
- sub_80BACDC(-10);
- sub_80BAD5C();
- return;
- }
- if(gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BAB56
- {
- sub_80BACDC(-1);
- sub_80BAD5C();
- return;
- }
- if(gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BAB64
- {
- sub_80BACDC(1);
- sub_80BAD5C();
- return;
- }
- if(gMain.newKeys & A_BUTTON) // _080BAB78
- {
- u8 divide, remaining;
-
- SetPokemonCryVolume(gUnknown_020387B4[CRY_TEST_VOLUME]);
- SetPokemonCryPanpot(gUnknown_020387B4[CRY_TEST_PANPOT]);
- SetPokemonCryPitch(gUnknown_020387B4[CRY_TEST_PITCH]);
- SetPokemonCryLength(gUnknown_020387B4[CRY_TEST_LENGTH]);
- SetPokemonCryProgress(gUnknown_020387B4[CRY_TEST_PROGRESS]);
- SetPokemonCryRelease(gUnknown_020387B4[CRY_TEST_RELEASE]);
- SetPokemonCryChorus(gUnknown_020387B4[CRY_TEST_CHORUS]);
- SetPokemonCryPriority(gUnknown_020387B4[CRY_TEST_PRIORITY]);
-
- remaining = gUnknown_020387B4[CRY_TEST_UNK0] % 128;
- divide = gUnknown_020387B4[CRY_TEST_UNK0] / 128;
-
- switch(divide)
- {
- case 0:
- if(gUnknown_020387D8)
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84537C0[remaining]);
- else
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452590[remaining]);
- break;
- case 1:
- if(gUnknown_020387D8)
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453DC0[remaining]);
- else
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452B90[remaining]);
- break;
- case 2:
- if(gUnknown_020387D8)
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84543C0[remaining]);
- else
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453190[remaining]);
- break;
- case 3:
- if(gUnknown_020387D8)
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84549C0[remaining]);
- else
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453790[remaining]);
- break;
- }
- }
-
- // _080BACA2
- if(gUnknown_03005D30 != NULL)
- {
- gUnknown_020387B1 = IsPokemonCryPlaying(gUnknown_03005D30);
-
- if(gUnknown_020387B1 != gUnknown_020387B2)
- sub_80BAD5C();
-
- gUnknown_020387B2 = gUnknown_020387B1;
- }
-}
-
-void sub_80BACDC(s8 var)
-{
- int minMaxArray[ARRAY_COUNT(gUnknown_083D039C)];
-
- memcpy(minMaxArray, gUnknown_083D039C, sizeof(gUnknown_083D039C));
- gUnknown_020387B4[gUnknown_020387B3] += var;
-
- if(gUnknown_020387B4[gUnknown_020387B3] > minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)])
- gUnknown_020387B4[gUnknown_020387B3] = minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)];
-
- if(gUnknown_020387B4[gUnknown_020387B3] < minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)])
- gUnknown_020387B4[gUnknown_020387B3] = minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)];
-}
-
-void sub_80BAD5C(void)
-{
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_UNK0] + 1, 0xB, 0x1, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_VOLUME], 0xB, 0x3, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_PANPOT], 0xB, 0x5, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_PITCH], 0xB, 0x7, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_LENGTH], 0xB, 0x9, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_RELEASE], 0xB, 0xB, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_PROGRESS], 0xB, 0xD, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_CHORUS], 0xB, 0xF, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_PRIORITY], 0xB, 0x11, 0x5);
- sub_80BAE78(gUnknown_020387B1, 0x1B, 0x10, 0x1);
- sub_80BAE78(gUnknown_020387D8, 0x1B, 0xE, 0x1);
- sub_80BAE78(gUnknown_020387D9, 0x1B, 0xC, 0x1);
-}
-
-void sub_80BAE10(u8 var1, u8 var2)
-{
- u8 str1[sizeof(gUnknown_083D03DC)];
- u8 str2[sizeof(gUnknown_083D03DE)];
-
- memcpy(str1, gUnknown_083D03DC, sizeof(gUnknown_083D03DC));
- memcpy(str2, gUnknown_083D03DE, sizeof(gUnknown_083D03DE));
-
- MenuPrint(str2, gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 1)]);
- MenuPrint(str1, gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 1)]);
-}
-
-/*void sub_80BAE78(int var1, u16 var2, u16 var3, u8 var4)
-{
- u32 powers[6];
- u8 str[8];
- u8 i;
- u8 someVar, someVar2;
-
- memcpy(powers, gUnknown_083D03E0, sizeof(powers);
-
- for(i = 0; i < var4; i++)
- str[i] = 0;
-
- str[var4 + 1] = CHAR_0;
- someVar = 0;
-
- if(var1 < 0) // make absolute value? wtf
- {
- var1 = -var1; // just use abs?
- someVar = 1;
- }
-
- // _080BAED6
- someVar2 = 0;
- if(var4 == 1)
- someVar2 = 1;
-
- // _080BAEE2
- for(;;)
- {
-
- }
-}*/
-
-// no.
-__attribute__((naked))
-void sub_80BAE78(int var1, u16 var2, u16 var3, u8 var4)
-{
- 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, 0x2C\n\
- mov r8, r0\n\
- lsls r1, 16\n\
- lsrs r6, r1, 16\n\
- lsls r2, 16\n\
- lsrs r2, 16\n\
- lsls r3, 24\n\
- lsrs r7, r3, 24\n\
- mov r1, sp\n\
- ldr r0, _080BAF80 @ =gUnknown_083D03E0\n\
- ldm r0!, {r3-r5}\n\
- stm r1!, {r3-r5}\n\
- ldm r0!, {r3-r5}\n\
- stm r1!, {r3-r5}\n\
- movs r5, 0\n\
- add r0, sp, 0x18\n\
- mov r9, r0\n\
- cmp r5, r7\n\
- bgt _080BAEC0\n\
- mov r4, r9\n\
- movs r3, 0\n\
-_080BAEAC:\n\
- lsls r0, r5, 24\n\
- asrs r0, 24\n\
- adds r1, r4, r0\n\
- strb r3, [r1]\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- asrs r0, 24\n\
- cmp r0, r7\n\
- ble _080BAEAC\n\
-_080BAEC0:\n\
- adds r0, r7, 0x1\n\
- add r0, r9\n\
- movs r1, 0xFF\n\
- strb r1, [r0]\n\
- movs r1, 0\n\
- mov r3, r8\n\
- cmp r3, 0\n\
- bge _080BAED6\n\
- negs r3, r3\n\
- mov r8, r3\n\
- movs r1, 0x1\n\
-_080BAED6:\n\
- movs r4, 0\n\
- mov r10, r4\n\
- cmp r7, 0x1\n\
- bne _080BAEE2\n\
- movs r5, 0x1\n\
- mov r10, r5\n\
-_080BAEE2:\n\
- subs r0, r7, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- lsls r0, r5, 24\n\
- lsls r6, 24\n\
- str r6, [sp, 0x24]\n\
- lsls r2, 24\n\
- str r2, [sp, 0x28]\n\
- cmp r0, 0\n\
- blt _080BAF62\n\
- str r1, [sp, 0x20]\n\
-_080BAEF8:\n\
- asrs r6, r0, 24\n\
- lsls r0, r6, 2\n\
- add r0, sp\n\
- ldr r1, [r0]\n\
- mov r0, r8\n\
- bl __divsi3\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- cmp r0, 0\n\
- bne _080BAF1A\n\
- mov r0, r10\n\
- cmp r0, 0\n\
- bne _080BAF1A\n\
- lsls r4, r5, 24\n\
- cmp r6, 0\n\
- bne _080BAF46\n\
-_080BAF1A:\n\
- lsls r4, r5, 24\n\
- ldr r3, [sp, 0x20]\n\
- cmp r3, 0\n\
- beq _080BAF34\n\
- mov r5, r10\n\
- cmp r5, 0\n\
- bne _080BAF34\n\
- asrs r0, r4, 24\n\
- subs r0, r7, r0\n\
- subs r0, 0x1\n\
- add r0, r9\n\
- movs r1, 0xAE\n\
- strb r1, [r0]\n\
-_080BAF34:\n\
- asrs r1, r4, 24\n\
- subs r1, r7, r1\n\
- add r1, r9\n\
- lsls r0, r2, 24\n\
- asrs r0, 24\n\
- subs r0, 0x5F\n\
- strb r0, [r1]\n\
- movs r0, 0x1\n\
- mov r10, r0\n\
-_080BAF46:\n\
- asrs r4, 24\n\
- lsls r0, r4, 2\n\
- add r0, sp\n\
- ldr r1, [r0]\n\
- mov r0, r8\n\
- bl __modsi3\n\
- mov r8, r0\n\
- subs r4, 0x1\n\
- lsls r4, 24\n\
- lsrs r5, r4, 24\n\
- lsls r0, r5, 24\n\
- cmp r0, 0\n\
- bge _080BAEF8\n\
-_080BAF62:\n\
- ldr r3, [sp, 0x24]\n\
- lsrs r1, r3, 24\n\
- ldr r4, [sp, 0x28]\n\
- lsrs r2, r4, 24\n\
- mov r0, r9\n\
- bl MenuPrint\n\
- add sp, 0x2C\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_080BAF80: .4byte gUnknown_083D03E0\n\
- .syntax divided");
-}
-
-void sub_80BAF84(u8 taskId)
-{
- u8 seStr[sizeof(gOtherText_SE)];
- u8 panStr[sizeof(gOtherText_Pan)];
- u8 playingStr[sizeof(gDebugText_Playing)];
-
- memcpy(seStr, gOtherText_SE, sizeof(gOtherText_SE));
- memcpy(panStr, gOtherText_Pan, sizeof(gOtherText_Pan));
- memcpy(playingStr, gDebugText_Playing, sizeof(gDebugText_Playing));
-
- REG_DISPCNT = 0x3140;
- MenuDrawTextWindow(0, 0, 0x1D, 0x13);
- MenuPrint(seStr, 3, 2);
- MenuPrint(panStr, 3, 4);
- MenuPrint(playingStr, 3, 8);
- REG_WIN0H = WIN_RANGE(0, 240);
- REG_WIN0V = WIN_RANGE(0, 160);
- gUnknown_020387B4[CRY_TEST_UNK0] = 1;
- gUnknown_020387B4[CRY_TEST_PANPOT] = 0;
- gUnknown_020387B4[CRY_TEST_CHORUS] = 0;
- gUnknown_020387B4[CRY_TEST_PROGRESS] = 0;
- gUnknown_020387B4[CRY_TEST_RELEASE] = 0;
- sub_80BB1D4();
- TASK.FUNC = sub_80BB038;
-}
-
-void sub_80BB038(u8 taskId)
-{
- sub_80BB1D4();
- if(gUnknown_020387B4[CRY_TEST_PROGRESS])
- {
- if(gUnknown_020387B4[CRY_TEST_RELEASE])
- {
- gUnknown_020387B4[CRY_TEST_RELEASE]--;
- }
- else // _080BB05C
- {
- s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]];
- if(panpot != -128)
- {
- if(panpot == 0x7F)
- {
- gUnknown_020387B4[CRY_TEST_CHORUS] += 2;
- if(gUnknown_020387B4[CRY_TEST_CHORUS] < 0x3F)
- SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]);
- }
- }
- else // _080BB08C
- {
- gUnknown_020387B4[CRY_TEST_CHORUS] -= 2;
- if(gUnknown_020387B4[CRY_TEST_CHORUS] > -0x40)
- SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]);
- }
- }
- }
- // _080BB0A2
- if(gMain.newKeys & B_BUTTON)
- {
- REG_DISPCNT = 0x7140;
- REG_WIN0H = WIN_RANGE(17, 223);
- REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
- TASK.FUNC = sub_80BA258;
- return;
- }
- if(gMain.newKeys & A_BUTTON) // _080BB104
- {
- s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]];
- if(panpot != -128)
- {
- if(panpot == 0x7F)
- {
- PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], -0x40);
- gUnknown_020387B4[CRY_TEST_CHORUS] = -0x40;
- gUnknown_020387B4[CRY_TEST_PROGRESS] = 1;
- gUnknown_020387B4[CRY_TEST_RELEASE] = 0x1E;
- return;
- }
- }
- else // _080BB140
- {
- PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], 0x3F);
- gUnknown_020387B4[CRY_TEST_CHORUS] = 0x3F;
- gUnknown_020387B4[CRY_TEST_PROGRESS] = 1;
- gUnknown_020387B4[CRY_TEST_RELEASE] = 0x1E;
- return;
- }
- // _080BB154
- PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], panpot);
- gUnknown_020387B4[CRY_TEST_PROGRESS] = 0;
- return;
- }
- if(gMain.newKeys & L_BUTTON) // _080BB15E
- {
- gUnknown_020387B4[CRY_TEST_PANPOT]++;
- if(gUnknown_020387B4[CRY_TEST_PANPOT] > 4)
- gUnknown_020387B4[CRY_TEST_PANPOT] = 0;
- }
- if(gMain.newKeys & R_BUTTON) // _080BB176
- {
- gUnknown_020387B4[CRY_TEST_PANPOT]--;
- if(gUnknown_020387B4[CRY_TEST_PANPOT] < 0)
- gUnknown_020387B4[CRY_TEST_PANPOT] = 4;
- }
- if(gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BB192
- {
- gUnknown_020387B4[CRY_TEST_UNK0]++;
- if(gUnknown_020387B4[CRY_TEST_UNK0] > 0xF7)
- gUnknown_020387B4[CRY_TEST_UNK0] = 0;
- }
- else if(gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BB1B0
- {
- gUnknown_020387B4[CRY_TEST_UNK0]--;
- if(gUnknown_020387B4[CRY_TEST_UNK0] < 0)
- gUnknown_020387B4[CRY_TEST_UNK0] = 0xF7;
- }
-}
-
-void sub_80BB1D4(void)
-{
- u8 lrStr[sizeof(gOtherText_LR)];
- u8 rlStr[sizeof(gOtherText_RL)];
-
- memcpy(lrStr, gOtherText_LR, sizeof(lrStr));
- memcpy(rlStr, gOtherText_RL, sizeof(rlStr));
-
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_UNK0], 7, 2, 3);
-
- switch(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]])
- {
- case 0x7F:
- MenuPrint(lrStr, 7, 4);
- break;
- case -0x80:
- MenuPrint(rlStr, 7, 4);
- break;
- default:
- sub_80BAE78(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]], 7, 4, 3);
- break;
- }
- sub_80BAE78(IsSEPlaying(), 12, 8, 1);
-}
-
-void sub_80BB25C(u8 taskId)
-{
- struct CryRelatedStruct cryStruct, cryStruct2;
- u8 zero;
-
- SetUpWindowConfig(&gWindowConfig_81E6C3C);
- InitMenuWindow(&gWindowConfig_81E6CE4);
- gUnknown_03005D34 = 1;
- ResetSpriteData();
- FreeAllSpritePalettes();
-
- cryStruct.unk0 = 0x2000;
- cryStruct.unk2 = 29;
- cryStruct.paletteNo = 12;
- cryStruct.yPos = 30;
- cryStruct.xPos = 4;
-
- zero = 0; // wtf?
- gUnknown_03005E98 = 0;
-
- while(sub_8119E3C(&cryStruct, 3) == FALSE);
-
- cryStruct2.unk0 = 0;
- cryStruct2.unk2 = 15;
- cryStruct2.paletteNo = 13;
- cryStruct2.xPos = 12;
- cryStruct2.yPos = 12;
-
- zero = 0; // wtf?
- gUnknown_03005E98 = 0;
-
- while(ShowPokedexCryScreen(&cryStruct2, 2) == FALSE);
-
- MenuDrawTextWindow(0, 16, 5, 19);
- sub_80BB494();
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
- REG_BG2HOFS = 0;
- REG_BG2VOFS = 0;
- REG_BG2CNT = 0xF01;
- REG_BG3CNT = 0x1D03;
- REG_DISPCNT = 0x1d40;
- m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2);
- TASK.FUNC = sub_80BB3B4;
-}
-
-void sub_80BB3B4(u8 taskId)
-{
- sub_8119F88(3);
-
- if(gMain.newKeys & A_BUTTON)
- {
- sub_811A050(gUnknown_03005D34);
- }
- if(gMain.newKeys & R_BUTTON)
- {
- StopCryAndClearCrySongs();
- }
- if(gMain.newAndRepeatedKeys & DPAD_UP)
- {
- if(--gUnknown_03005D34 == 0)
- gUnknown_03005D34 = 384; // total species
- sub_80BB494();
- }
- if(gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- if(++gUnknown_03005D34 > 384)
- gUnknown_03005D34 = 1;
- sub_80BB494();
- }
- if(gMain.newKeys & B_BUTTON)
- {
- REG_DISPCNT = 0x7140;
- REG_WIN0H = WIN_RANGE(17, 223);
- REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
- TASK.FUNC = sub_80BA258;
- DestroyCryMeterNeedleSprite();
- }
-}
-
-void sub_80BB494(void)
-{
- sub_80BAE78(gUnknown_03005D34, 1, 17, 3);
-}
diff --git a/src/trade.c b/src/trade.c
deleted file mode 100644
index cb190d194..000000000
--- a/src/trade.c
+++ /dev/null
@@ -1,88 +0,0 @@
-#include "global.h"
-#include "name_string_util.h"
-#include "string_util.h"
-#include "text.h"
-
-struct InGameTrade {
- /*0x00*/ u8 name[11];
- /*0x0C*/ u16 species;
- /*0x0E*/ u8 ivs[6];
- /*0x14*/ bool8 secondAbility;
- /*0x18*/ u32 otId;
- /*0x1C*/ u8 stats[5];
- /*0x24*/ u32 personality;
- /*0x28*/ u16 heldItem;
- /*0x2A*/ u8 mailNum;
- /*0x2B*/ u8 otName[11];
- /*0x36*/ u8 otGender;
- /*0x37*/ u8 sheen;
- /*0x38*/ u16 playerSpecies;
-};
-
-struct UnkStructC {
- /*0x00*/ u16 words[9];
- /*0x10*/ u8 string[8];
- /*0x1A*/ u8 otId[4];
- /*0x1E*/ u16 species;
- /*0x20*/ u16 heldItem;
-};
-
-struct UnkStructD {
- /*0x00*/ u8 pad00[0x10];
- /*0x10*/ u8 var10;
- /*0x11*/ u8 pad11[1];
- /*0x12*/ u16 var12[1];
-};
-
-extern const struct InGameTrade gIngameTrades[];
-extern const u16 gIngameTradeMail[][10];
-
-
-void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) {
- int y, x;
-
- for (y = 0; y < height; y++)
- {
-
- for (x = 0; x < width; x++)
- {
- arg0->var12[(top * 32 + left) + y * 32 + x] = tilemap[width * y + x] | sp8;
- }
- }
-
-#if ENGLISH
- arg0->var10 = 1;
-#endif
-}
-
-#if GERMAN
-void sub_804A96C_alt(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) {
- sub_804A96C(arg0, left, top, tilemap, width, height, sp8);
-
- arg0->var10 = 1;
-}
-#endif
-
-asm(".section .text.sub_804DAD4");
-
-void sub_804DAD4(struct UnkStructC *arg0, struct InGameTrade *trade) {
- s32 i;
-
- for (i = 0; i < 9; i++)
- {
- arg0->words[i] = gIngameTradeMail[trade->mailNum][i];
- }
-
- StringCopy(arg0->string, trade->otName);
-
-#if GERMAN
- PadNameString(arg0->string, CHAR_SPACE);
-#endif
-
- arg0->otId[0] = trade->otId >> 24;
- arg0->otId[1] = trade->otId >> 16;
- arg0->otId[2] = trade->otId >> 8;
- arg0->otId[3] = trade->otId;
- arg0->species = trade->species;
- arg0->heldItem = trade->heldItem;
-}
diff --git a/src/unused_8124F94.c b/src/unused_8124F94.c
index 93b569058..5f76fa92e 100644
--- a/src/unused_8124F94.c
+++ b/src/unused_8124F94.c
@@ -64,7 +64,7 @@ u8 unref_sub_8124FD8(struct UnknownStruct1 *a, const struct UnknownStruct2 *b)
}
else
{
- sub_800D238(b->src, a->dest + a->unk2 * 64);
+ LZDecompressWram(b->src, a->dest + a->unk2 * 64);
}
a->unk88[a->unk1].unk8 = a->unk2;
temp = r6 + a->unk2;
@@ -95,7 +95,7 @@ u8 unref_sub_81250A4(struct UnknownStruct1 *a, struct UnknownStruct3 *b)
{
u16 palette[16];
- sub_800D238(b->paletteSrc, palette);
+ LZDecompressWram(b->paletteSrc, palette);
LoadPalette(palette, a->paletteNum * 16, 32);
}
a->unk8[a->paletteNum].paletteCount = a->paletteNum;
@@ -111,7 +111,7 @@ u8 unref_sub_8125118(struct UnknownStruct1 *a, struct UnknownStruct3 *b)
u8 r7 = b->paletteCount;
u8 i;
- sub_800D238(b->paletteSrc, palettes);
+ LZDecompressWram(b->paletteSrc, palettes);
for (i = a->paletteNum; i < r7; i++)
{
if (a->paletteNum + i >= 16)
diff --git a/sym_bss.txt b/sym_bss.txt
index ab1d8c280..4f6d9c95b 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -1,98 +1,41 @@
- .include "src/main.o"
- .include "src/sprite.o"
- .include "src/text.o"
- .include "src/string_util.o"
- .include "src/link.o"
- .include "src/rtc.o"
-
-@ daycare
-
- .align 2
-gUnknown_03000470: @ 3000470
- .space 0x68
-
-gUnknown_030004D8: @ 30004D8
- .space 0x8
-
-gUnknown_030004E0: @ 30004E0
- .space 0x8
-
-gUnknown_030004E8: @ 30004E8
- .space 0x18
-
-gUnknown_03000500: @ 3000500
- .space 0x8
-
-@ trade
-
-gUnknown_03000508: @ 3000508
- .space 0x8
-
- .include "src/berry_blender.o"
- .include "src/play_time.o"
- .include "src/overworld.o"
-
- @ unused variable?
- .align 2
- .space 0x4
-
- .include "src/field_camera.o"
- .include "src/field_map_obj.o"
- .include "src/field_message_box.o"
- .include "src/text_window.o"
- .include "src/script.o"
- .include "src/start_menu.o"
- .include "src/menu.o"
- .include "src/tileset_anim.o"
- .include "src/sound.o"
-
-@ field_weather
-
-gUnknown_030006DC: @ 30006DC
- .space 0x4
-
- .include "src/field_effect.o"
- .include "src/item_menu.o"
- .include "src/shop.o"
- .include "src/record_mixing.o"
- .include "src/tv.o"
-
- @ unused variable?
- .align 2
- .space 0x4
-
-@ battle_anim_80CA710
-
-gUnknown_03000728: @ 3000728
- .space 0x8
-
-gUnknown_03000730: @ 3000730
- .space 0x10
-
-@ easy_chat
-
-gUnknown_03000740: @ 3000740
- .space 0x4
-
-@ pokenav
-
-gUnknown_03000744: @ 3000744
- .space 0x4
-
- .include "src/mauville_man.o"
- .include "src/menu_helpers.o"
- .include "src/contest_painting.o"
- .include "src/pokeblock.o"
-
- @ unused variable?
- .align 2
- .space 0x4
-
- .include "src/field_specials.o"
- .include "src/learn_move.o"
- .include "src/player_pc.o"
+ .include "src/engine/main.o"
+ .include "src/engine/sprite.o"
+ .include "src/engine/text.o"
+ .include "src/engine/string_util.o"
+ .include "src/engine/link.o"
+ .include "src/engine/rtc.o"
+ .include "src/field/daycare.o"
+ .include "src/engine/trade.o"
+ .include "src/scene/berry_blender.o"
+ .include "src/engine/play_time.o"
+ .include "src/field/overworld.o"
+ .include "src/field/field_camera.o"
+ .include "src/field/field_map_obj.o"
+ .include "src/field/field_message_box.o"
+ .include "src/engine/text_window.o"
+ .include "src/engine/script.o"
+ .include "src/field/start_menu.o"
+ .include "src/engine/menu.o"
+ .include "src/engine/tileset_anim.o"
+ .include "src/engine/sound.o"
+ .include "src/field/field_weather.o"
+ .include "src/field/field_effect.o"
+ .include "src/field/item_menu.o"
+ .include "src/field/shop.o"
+ .include "src/engine/record_mixing.o"
+ .include "src/field/tv.o"
+ .include "src/battle/battle_anim_80CA710.o"
+ .include "src/field/easy_chat.o"
+ .include "src/field/pokenav.o"
+ .include "src/field/mauville_man.o"
+ .include "src/field/menu_helpers.o"
+ .include "src/scene/contest_painting.o"
+ .include "src/field/pokeblock.o"
+ .include "src/field/field_specials.o"
+ .include "src/pokemon/learn_move.o"
+ .include "src/field/player_pc.o"
.include "asm/m4a_1.o"
- .include "src/agb_flash.o"
- .include "src/siirtc.o"
+ .include "src/libs/agb_flash.o"
+ .include "src/libs/siirtc.o"
.include "tools/agbcc/lib/libgcc.a:dp-bit.o"
.include "tools/agbcc/lib/libgcc.a:fp-bit.o"
diff --git a/sym_common.txt b/sym_common.txt
index d9da3ec3b..b1d99f58b 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -1,8 +1,8 @@
- .include "main.o"
- .include "sprite.o"
- .include "string_util.o"
- .include "link.o"
- .include "rtc.o"
+ .include "engine/main.o"
+ .include "engine/sprite.o"
+ .include "engine/string_util.o"
+ .include "engine/link.o"
+ .include "engine/rtc.o"
.include "rom3.o"
@ battle
@@ -104,10 +104,10 @@ gUnknown_03004348: @ 3004348
gUnknown_0300434C: @ 300434C
.space 0x4
- .include "pokemon_1.o"
- .include "rng.o"
- .include "egg_hatch.o"
- .include "load_save.o"
+ .include "pokemon/pokemon_1.o"
+ .include "engine/rng.o"
+ .include "scene/egg_hatch.o"
+ .include "engine/load_save.o"
@ trade
@@ -117,12 +117,12 @@ gUnknown_03004824: @ 3004824
gUnknown_03004828: @ 3004828
.space 0x8
- .include "berry_blender.o"
- .include "overworld.o"
- .include "fieldmap.o"
- .include "field_camera.o"
- .include "field_map_obj.o"
- .include "field_control_avatar.o"
+ .include "scene/berry_blender.o"
+ .include "field/overworld.o"
+ .include "field/fieldmap.o"
+ .include "field/field_camera.o"
+ .include "field/field_map_obj.o"
+ .include "field/field_control_avatar.o"
@ party_menu?
@@ -130,11 +130,11 @@ gUnknown_03004828: @ 3004828
gUnknown_03004AE4: @ 3004AE4
.space 0x4
- .include "start_menu.o"
- .include "sound.o"
- .include "battle_anim.o"
- .include "task.o"
- .include "mori_debug_menu.o"
+ .include "field/start_menu.o"
+ .include "engine/sound.o"
+ .include "battle/battle_anim.o"
+ .include "engine/task.o"
+ .include "debug/mori_debug_menu.o"
@ unknown_task
@@ -160,8 +160,8 @@ gUnknown_03005560: @ 3005560
gUnknown_030056A0: @ 30056A0
.space 0x640
- .include "pokemon_menu.o"
- .include "pokedex.o"
+ .include "pokemon/pokemon_menu.o"
+ .include "pokemon/pokedex.o"
@ pokemon_summary_screen
@@ -172,7 +172,7 @@ gUnknown_03005CF0: @ 3005CF0
@ item_menu
.align 4
-gUnknown_03005D00: @ 3005D00
+gFieldItemUseCallback: @ 3005D00
.space 0x10
gBagPocketScrollStates: @ 3005D10
@@ -187,14 +187,9 @@ gCurrentBagPocketItemSlots: @ 3005D24
gUnknown_03005D28: @ 3005D28
.space 0x4
- .include "record_mixing.o"
- .include "sound_check_menu.o"
-
- .align 2
-gUnknown_03005D34: @ 3005D34
- .space 0x4
-
- .include "tv.o"
+ .include "engine/record_mixing.o"
+ .include "debug/sound_check_menu.o"
+ .include "field/tv.o"
.space 0x64 @ unused variable?
@@ -236,19 +231,19 @@ gUnknown_03005E08: @ 3005E08
gUnknown_03005E0C: @ 3005E0C
.space 0x4
- .include "contest_painting.o"
- .include "evolution_scene.o"
+ .include "scene/contest_painting.o"
+ .include "scene/evolution_scene.o"
@ pokedex_cry_screen
gUnknown_03005E98: @ 3005E98
.space 0x4
- .include "save.o"
+ .include "engine/save.o"
.space 0x10 @ unused variable?
- .include "intro.o"
+ .include "scene/intro.o"
@ battle_anim_813F0F4
@@ -262,7 +257,6 @@ gUnknown_03005F10: @ 3005F10
gUnknown_03005F14: @ 3005F14
.space 0xC
-
- .include "pokeblock_feed.o"
- .include "m4a_2.o"
- .include "agb_flash.o"
+ .include "pokemon/pokeblock_feed.o"
+ .include "libs/m4a_2.o"
+ .include "libs/agb_flash.o"
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 040173cfd..09351240f 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -1,11 +1,11 @@
- .include "src/main.o"
- .include "src/sprite.o"
- .include "src/text.o"
- .include "src/string_util.o"
+ .include "src/engine/main.o"
+ .include "src/engine/sprite.o"
+ .include "src/engine/text.o"
+ .include "src/engine/string_util.o"
.space 0x2E8
- .include "src/link.o"
+ .include "src/engine/link.o"
.include "src/rom3.o"
@ battle
@@ -293,9 +293,9 @@ gMoveToLearn: @ 2024E82
gBattleMonForms: @ 2024E84
.space 0x4
- .include "src/pokemon_1.o"
- .include "src/pokemon_2.o"
- .include "src/load_save.o"
+ .include "src/pokemon/pokemon_1.o"
+ .include "src/pokemon/pokemon_2.o"
+ .include "src/engine/load_save.o"
@ trade
@@ -308,17 +308,17 @@ gUnknown_02029700: @ 2029700
gUnknown_020297D8: @ 20297D8
.space 0x4
- .include "src/berry_blender.o"
- .include "src/new_game.o"
- .include "src/overworld.o"
- .include "src/fieldmap.o"
- .include "src/field_camera.o"
- .include "src/field_player_avatar.o"
- .include "src/field_message_box.o"
- .include "src/script.o"
- .include "src/scrcmd.o"
- .include "src/field_control_avatar.o"
- .include "src/event_data.o"
+ .include "src/scene/berry_blender.o"
+ .include "src/scene/new_game.o"
+ .include "src/field/overworld.o"
+ .include "src/field/fieldmap.o"
+ .include "src/field/field_camera.o"
+ .include "src/field/field_player_avatar.o"
+ .include "src/field/field_message_box.o"
+ .include "src/engine/script.o"
+ .include "src/field/scrcmd.o"
+ .include "src/field/field_control_avatar.o"
+ .include "src/field/event_data.o"
@ party_menu
@@ -335,17 +335,17 @@ gUnknown_0202E8F6: @ 202E8F6
gUnknown_0202E8F8: @ 202E8F8
.space 0x2
-gUnknown_0202E8FA: @ 202E8FA
+gPartyMenuType: @ 202E8FA
.space 0x2
- .include "src/start_menu.o"
- .include "src/menu.o"
- .include "src/tileset_anim.o"
- .include "src/palette.o"
- .include "src/sound.o"
- .include "src/battle_anim.o"
+ .include "src/field/start_menu.o"
+ .include "src/engine/menu.o"
+ .include "src/engine/tileset_anim.o"
+ .include "src/engine/palette.o"
+ .include "src/engine/sound.o"
+ .include "src/battle/battle_anim.o"
.include "src/rom_8077ABC.o"
- .include "src/title_screen.o"
+ .include "src/scene/title_screen.o"
@ field_weather
@@ -365,20 +365,19 @@ gUnknown_0202FF38: @ 202FF38
gUnknown_0202FF58: @ 202FF58
.space 0x4
- .include "src/battle_setup.o"
- .include "src/wild_encounter.o"
- .include "src/field_effect.o"
+ .include "src/battle/battle_setup.o"
+ .include "src/field/wild_encounter.o"
+ .include "src/field/field_effect.o"
@ unknown_task
gUnknown_0202FFA4: @ 202FFA4
.space 0x4
-
- .include "src/pokemon_menu.o"
- .include "src/pokedex.o"
- .include "src/trainer_card.o"
- .include "src/pokemon_storage_system.o"
+ .include "src/pokemon/pokemon_menu.o"
+ .include "src/pokemon/pokedex.o"
+ .include "src/engine/trainer_card.o"
+ .include "src/pokemon/pokemon_storage_system.o"
@ still pokemon_storage_system
@@ -442,9 +441,9 @@ gUnknown_020384F0: @ 20384F0
gUnknown_020384F4: @ 20384F4
.space 0x4
- .include "src/script_movement.o"
- .include "src/map_name_popup.o"
- .include "src/item_menu.o"
+ .include "src/field/script_movement.o"
+ .include "src/field/map_name_popup.o"
+ .include "src/field/item_menu.o"
@ contest
@@ -501,8 +500,8 @@ gScriptContestCategory: @ 203869C
gScriptContestRank: @ 203869E
.space 0x2
- .include "src/shop.o"
- .include "src/money.o"
+ .include "src/field/shop.o"
+ .include "src/field/money.o"
@ record_mixing
@@ -510,7 +509,7 @@ gScriptContestRank: @ 203869E
gUnknown_02038738: @ 2038738
.space 0x78
- .include "src/sound_check_menu.o"
+ .include "src/debug/sound_check_menu.o"
@ secret_base
@@ -520,7 +519,7 @@ gUnknown_020387DC: @ 20387DC
@ tv
- .include "src/tv.o"
+ .include "src/field/tv.o"
@ fldeff_80C5CD4
@@ -528,8 +527,8 @@ gUnknown_020387DC: @ 20387DC
gUnknown_020387EC: @ 20387EC
.space 0x4
- .include "src/rotating_gate.o"
- .include "src/safari_zone.o"
+ .include "src/field/rotating_gate.o"
+ .include "src/field/safari_zone.o"
@ easy_chat
@@ -544,15 +543,15 @@ gUnknown_020388B0: @ 20388B0
gUnknown_020388B4: @ 20388B4
.space 0x4
- .include "src/mon_markings.o"
- .include "src/mauville_man.o"
- .include "src/menu_helpers.o"
- .include "src/region_map.o"
- .include "src/decoration.o"
- .include "src/battle_ai.o"
+ .include "src/pokemon/mon_markings.o"
+ .include "src/field/mauville_man.o"
+ .include "src/field/menu_helpers.o"
+ .include "src/field/region_map.o"
+ .include "src/field/decoration.o"
+ .include "src/battle/battle_ai.o"
.include "src/rom6.o"
- .include "src/pokeblock.o"
- .include "src/field_specials.o"
+ .include "src/field/pokeblock.o"
+ .include "src/field/field_specials.o"
@ pokedex_area_screen
@@ -580,7 +579,7 @@ gUnknown_0203926A: @ 203926A
gAbilitiesPerBank: @ 203926C
.space 0x4
- .include "src/choose_party.o"
+ .include "src/field/choose_party.o"
@ cable_car
@@ -606,19 +605,19 @@ gUnknown_0203927C: @ 203927C
gUnknown_0203927D: @ 203927D
.space 0x7
- .include "src/save.o"
- .include "src/mystery_event_script.o"
- .include "src/roamer.o"
- .include "src/use_pokeblock.o"
- .include "src/player_pc.o"
- .include "src/intro.o"
- .include "src/hall_of_fame.o"
- .include "src/credits.o"
- .include "src/lottery_corner.o"
- .include "src/berry_tag_screen.o"
- .include "src/mystery_event_menu.o"
- .include "src/save_failed_screen.o"
- .include "src/pokeblock_feed.o"
+ .include "src/engine/save.o"
+ .include "src/engine/mystery_event_script.o"
+ .include "src/field/roamer.o"
+ .include "src/field/use_pokeblock.o"
+ .include "src/field/player_pc.o"
+ .include "src/scene/intro.o"
+ .include "src/scene/hall_of_fame.o"
+ .include "src/scene/credits.o"
+ .include "src/field/lottery_corner.o"
+ .include "src/field/berry_tag_screen.o"
+ .include "src/engine/mystery_event_menu.o"
+ .include "src/engine/save_failed_screen.o"
+ .include "src/pokemon/pokeblock_feed.o"
@ intro_credits_graphics
@@ -645,4 +644,4 @@ gUnknown_02039760: @ 2039760
gUnknown_0203A360: @ 203A360
.space 0x20
- .include "src/menu_cursor.o"
+ .include "src/engine/menu_cursor.o"
diff --git a/tools/gbagfx/convert_png.c b/tools/gbagfx/convert_png.c
index f6a30804a..37904318c 100644
--- a/tools/gbagfx/convert_png.c
+++ b/tools/gbagfx/convert_png.c
@@ -7,163 +7,206 @@
#include "convert_png.h"
#include "gfx.h"
-void ReadPng(char *path, struct Image *image)
+static FILE *PngReadOpen(char *path, png_structp *pngStruct, png_infop *pngInfo)
{
- FILE *fp = fopen(path, "rb");
+ FILE *fp = fopen(path, "rb");
+
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for reading.\n", path);
+
+ unsigned char sig[8];
+
+ if (fread(sig, 8, 1, fp) != 1)
+ FATAL_ERROR("Failed to read PNG signature from \"%s\".\n", path);
+
+ if (png_sig_cmp(sig, 0, 8))
+ FATAL_ERROR("\"%s\" does not have a valid PNG signature.\n", path);
+
+ png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+
+ if (!png_ptr)
+ FATAL_ERROR("Failed to create PNG read struct.\n");
+
+ png_infop info_ptr = png_create_info_struct(png_ptr);
+
+ if (!info_ptr)
+ FATAL_ERROR("Failed to create PNG info struct.\n");
- if (fp == NULL)
- FATAL_ERROR("Failed to open \"%s\" for reading.\n", path);
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Failed to init I/O for reading \"%s\".\n", path);
- unsigned char sig[8];
+ png_init_io(png_ptr, fp);
+ png_set_sig_bytes(png_ptr, 8);
+ png_read_info(png_ptr, info_ptr);
- if (fread(sig, 8, 1, fp) != 1)
- FATAL_ERROR("Failed to read PNG signature from \"%s\".\n", path);
+ *pngStruct = png_ptr;
+ *pngInfo = info_ptr;
- if (png_sig_cmp(sig, 0, 8))
- FATAL_ERROR("\"%s\" does not have a valid PNG signature.\n", path);
+ return fp;
+}
+
+void ReadPng(char *path, struct Image *image)
+{
+ png_structp png_ptr;
+ png_infop info_ptr;
+
+ FILE *fp = PngReadOpen(path, &png_ptr, &info_ptr);
- png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+ int bit_depth = png_get_bit_depth(png_ptr, info_ptr);
- if (!png_ptr)
- FATAL_ERROR("Failed to create PNG read struct.\n");
+ if (bit_depth != image->bitDepth)
+ FATAL_ERROR("\"%s\" has a bit depth of %d, but the expected bit depth is %d.\n", path, bit_depth, image->bitDepth);
- png_infop info_ptr = png_create_info_struct(png_ptr);
+ int color_type = png_get_color_type(png_ptr, info_ptr);
- if (!info_ptr)
- FATAL_ERROR("Failed to create PNG info struct.\n");
+ if (color_type != PNG_COLOR_TYPE_GRAY && color_type != PNG_COLOR_TYPE_PALETTE)
+ FATAL_ERROR("\"%s\" has an unsupported color type.\n", path);
- if (setjmp(png_jmpbuf(png_ptr)))
- FATAL_ERROR("Failed to init I/O for reading \"%s\".\n", path);
+ // Check if the image has a palette so that we can tell if the colors need to be inverted later.
+ // Don't read the palette because it's not needed for now.
+ image->hasPalette = (color_type == PNG_COLOR_TYPE_PALETTE);
- png_init_io(png_ptr, fp);
- png_set_sig_bytes(png_ptr, 8);
- png_read_info(png_ptr, info_ptr);
+ image->width = png_get_image_width(png_ptr, info_ptr);
+ image->height = png_get_image_height(png_ptr, info_ptr);
- int bit_depth = png_get_bit_depth(png_ptr, info_ptr);
+ int rowbytes = png_get_rowbytes(png_ptr, info_ptr);
- if (bit_depth != image->bitDepth)
- FATAL_ERROR("\"%s\" has a bit depth of %d, but the expected bit depth is %d.\n", path, bit_depth, image->bitDepth);
+ image->pixels = malloc(image->height * rowbytes);
- int color_type = png_get_color_type(png_ptr, info_ptr);
+ if (image->pixels == NULL)
+ FATAL_ERROR("Failed to allocate pixel buffer.\n");
- if (color_type != PNG_COLOR_TYPE_GRAY && color_type != PNG_COLOR_TYPE_PALETTE)
- FATAL_ERROR("\"%s\" has an unsupported color type.\n", path);
+ png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep));
- // Check if the image has a palette so that we can tell if the colors need to be inverted later.
- // Don't read the palette because it's not needed for now.
- image->hasPalette = (color_type == PNG_COLOR_TYPE_PALETTE);
+ if (row_pointers == NULL)
+ FATAL_ERROR("Failed to allocate row pointers.\n");
- image->width = png_get_image_width(png_ptr, info_ptr);
- image->height = png_get_image_height(png_ptr, info_ptr);
+ for (int i = 0; i < image->height; i++)
+ row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes));
- int rowbytes = png_get_rowbytes(png_ptr, info_ptr);
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Error reading from \"%s\".\n", path);
- image->pixels = malloc(image->height * rowbytes);
+ png_read_image(png_ptr, row_pointers);
- if (image->pixels == NULL)
- FATAL_ERROR("Failed to allocate pixel buffer.\n");
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+
+ free(row_pointers);
+ fclose(fp);
+}
+
+void ReadPngPalette(char *path, struct Palette *palette)
+{
+ png_structp png_ptr;
+ png_infop info_ptr;
+ png_colorp colors;
+ int numColors;
- png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep));
+ FILE *fp = PngReadOpen(path, &png_ptr, &info_ptr);
- if (row_pointers == NULL)
- FATAL_ERROR("Failed to allocate row pointers.\n");
+ if (png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE)
+ FATAL_ERROR("The image \"%s\" does not contain a palette.\n", path);
- for (int i = 0; i < image->height; i++)
- row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes));
+ if (png_get_PLTE(png_ptr, info_ptr, &colors, &numColors) != PNG_INFO_PLTE)
+ FATAL_ERROR("Failed to retrieve palette from \"%s\".\n", path);
- if (setjmp(png_jmpbuf(png_ptr)))
- FATAL_ERROR("Error reading from \"%s\".\n", path);
+ if (numColors > 256)
+ FATAL_ERROR("Images with more than 256 colors are not supported.\n");
- png_read_image(png_ptr, row_pointers);
+ palette->numColors = numColors;
+ for (int i = 0; i < numColors; i++) {
+ palette->colors[i].red = colors[i].red;
+ palette->colors[i].green = colors[i].green;
+ palette->colors[i].blue = colors[i].blue;
+ }
- png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
- free(row_pointers);
- fclose(fp);
+ fclose(fp);
}
void SetPngPalette(png_structp png_ptr, png_infop info_ptr, struct Palette *palette)
{
- png_colorp colors = malloc(palette->numColors * sizeof(png_color));
+ png_colorp colors = malloc(palette->numColors * sizeof(png_color));
- if (colors == NULL)
- FATAL_ERROR("Failed to allocate PNG palette.\n");
+ if (colors == NULL)
+ FATAL_ERROR("Failed to allocate PNG palette.\n");
- for (int i = 0; i < palette->numColors; i++) {
- colors[i].red = palette->colors[i].red;
- colors[i].green = palette->colors[i].green;
- colors[i].blue = palette->colors[i].blue;
- }
+ for (int i = 0; i < palette->numColors; i++) {
+ colors[i].red = palette->colors[i].red;
+ colors[i].green = palette->colors[i].green;
+ colors[i].blue = palette->colors[i].blue;
+ }
- png_set_PLTE(png_ptr, info_ptr, colors, palette->numColors);
+ png_set_PLTE(png_ptr, info_ptr, colors, palette->numColors);
- free(colors);
+ free(colors);
}
void WritePng(char *path, struct Image *image)
{
- FILE *fp = fopen(path, "wb");
+ FILE *fp = fopen(path, "wb");
- if (fp == NULL)
- FATAL_ERROR("Failed to open \"%s\" for writing.\n", path);
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for writing.\n", path);
- png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+ png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
- if (!png_ptr)
- FATAL_ERROR("Failed to create PNG write struct.\n");
+ if (!png_ptr)
+ FATAL_ERROR("Failed to create PNG write struct.\n");
- png_infop info_ptr = png_create_info_struct(png_ptr);
+ png_infop info_ptr = png_create_info_struct(png_ptr);
- if (!info_ptr)
- FATAL_ERROR("Failed to create PNG info struct.\n");
+ if (!info_ptr)
+ FATAL_ERROR("Failed to create PNG info struct.\n");
- if (setjmp(png_jmpbuf(png_ptr)))
- FATAL_ERROR("Failed to init I/O for writing \"%s\".\n", path);
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Failed to init I/O for writing \"%s\".\n", path);
- png_init_io(png_ptr, fp);
+ png_init_io(png_ptr, fp);
- if (setjmp(png_jmpbuf(png_ptr)))
- FATAL_ERROR("Error writing header for \"%s\".\n", path);
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Error writing header for \"%s\".\n", path);
- int color_type = image->hasPalette ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY;
+ int color_type = image->hasPalette ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY;
- png_set_IHDR(png_ptr, info_ptr, image->width, image->height,
- image->bitDepth, color_type, PNG_INTERLACE_NONE,
- PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
+ png_set_IHDR(png_ptr, info_ptr, image->width, image->height,
+ image->bitDepth, color_type, PNG_INTERLACE_NONE,
+ PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
- if (image->hasPalette) {
- SetPngPalette(png_ptr, info_ptr, &image->palette);
+ if (image->hasPalette) {
+ SetPngPalette(png_ptr, info_ptr, &image->palette);
- if (image->hasTransparency) {
- png_byte trans = 0;
- png_set_tRNS(png_ptr, info_ptr, &trans, 1, 0);
- }
- }
+ if (image->hasTransparency) {
+ png_byte trans = 0;
+ png_set_tRNS(png_ptr, info_ptr, &trans, 1, 0);
+ }
+ }
- png_write_info(png_ptr, info_ptr);
+ png_write_info(png_ptr, info_ptr);
- png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep));
+ png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep));
- if (row_pointers == NULL)
- FATAL_ERROR("Failed to allocate row pointers.\n");
+ if (row_pointers == NULL)
+ FATAL_ERROR("Failed to allocate row pointers.\n");
- int rowbytes = png_get_rowbytes(png_ptr, info_ptr);
+ int rowbytes = png_get_rowbytes(png_ptr, info_ptr);
- for (int i = 0; i < image->height; i++)
- row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes));
+ for (int i = 0; i < image->height; i++)
+ row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes));
- if (setjmp(png_jmpbuf(png_ptr)))
- FATAL_ERROR("Error writing \"%s\".\n", path);
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Error writing \"%s\".\n", path);
- png_write_image(png_ptr, row_pointers);
+ png_write_image(png_ptr, row_pointers);
- if (setjmp(png_jmpbuf(png_ptr)))
- FATAL_ERROR("Error ending write of \"%s\".\n", path);
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Error ending write of \"%s\".\n", path);
- png_write_end(png_ptr, NULL);
+ png_write_end(png_ptr, NULL);
- fclose(fp);
+ fclose(fp);
- png_destroy_write_struct(&png_ptr, &info_ptr);
- free(row_pointers);
+ png_destroy_write_struct(&png_ptr, &info_ptr);
+ free(row_pointers);
}
diff --git a/tools/gbagfx/convert_png.h b/tools/gbagfx/convert_png.h
index 55d3d6942..caf081b73 100644
--- a/tools/gbagfx/convert_png.h
+++ b/tools/gbagfx/convert_png.h
@@ -7,5 +7,6 @@
void ReadPng(char *path, struct Image *image);
void WritePng(char *path, struct Image *image);
+void ReadPngPalette(char *path, struct Palette *palette);
#endif // CONVERT_PNG_H
diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c
index 37d3441fe..97db60e84 100644
--- a/tools/gbagfx/main.c
+++ b/tools/gbagfx/main.c
@@ -134,6 +134,14 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a
ConvertPngToGba(inputPath, outputPath, numTiles, bitDepth);
}
+void HandlePngToGbaPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ struct Palette palette;
+
+ ReadPngPalette(inputPath, &palette);
+ WriteGbaPalette(outputPath, &palette);
+}
+
void HandleGbaToJascPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
{
struct Palette palette;
@@ -353,6 +361,7 @@ int main(int argc, char **argv)
{ "png", "1bpp", HandlePngToGbaCommand },
{ "png", "4bpp", HandlePngToGbaCommand },
{ "png", "8bpp", HandlePngToGbaCommand },
+ { "png", "gbapal", HandlePngToGbaPaletteCommand },
{ "gbapal", "pal", HandleGbaToJascPaletteCommand },
{ "pal", "gbapal", HandleJascToGbaPaletteCommand },
{ "latfont", "png", HandleLatinFontToPngCommand },
diff --git a/tools/scaninc/c_file.cpp b/tools/scaninc/c_file.cpp
index b82276dd6..f7acc833f 100644
--- a/tools/scaninc/c_file.cpp
+++ b/tools/scaninc/c_file.cpp
@@ -45,8 +45,6 @@ CFile::CFile(std::string path)
m_pos = 0;
m_lineNum = 1;
-
- RemoveComments();
}
CFile::~CFile()
@@ -54,71 +52,6 @@ CFile::~CFile()
delete[] m_buffer;
}
-// Removes comments to simplify further processing.
-// It stops upon encountering a null character,
-// which may or may not be the end of file marker.
-// If it's not, the error will be caught later.
-void CFile::RemoveComments()
-{
- long pos = 0;
- char stringChar = 0;
-
- for (;;)
- {
- if (m_buffer[pos] == 0)
- return;
-
- if (stringChar != 0)
- {
- if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == stringChar)
- {
- pos += 2;
- }
- else
- {
- if (m_buffer[pos] == stringChar)
- stringChar = 0;
- pos++;
- }
- }
- else if (m_buffer[pos] == '/' && m_buffer[pos + 1] == '/')
- {
- while (m_buffer[pos] != '\n' && m_buffer[pos] != 0)
- m_buffer[pos++] = ' ';
- }
- else if (m_buffer[pos] == '/' && m_buffer[pos + 1] == '*')
- {
- m_buffer[pos++] = ' ';
- m_buffer[pos++] = ' ';
-
- for (;;)
- {
- if (m_buffer[pos] == 0)
- return;
-
- if (m_buffer[pos] == '*' && m_buffer[pos + 1] == '/')
- {
- m_buffer[pos++] = ' ';
- m_buffer[pos++] = ' ';
- break;
- }
- else
- {
- if (m_buffer[pos] != '\n')
- m_buffer[pos] = ' ';
- pos++;
- }
- }
- }
- else
- {
- if (m_buffer[pos] == '"' || m_buffer[pos] == '\'')
- stringChar = m_buffer[pos];
- pos++;
- }
- }
-}
-
void CFile::FindIncbins()
{
char stringChar = 0;
@@ -145,6 +78,8 @@ void CFile::FindIncbins()
}
else
{
+ SkipWhitespace();
+ CheckInclude();
CheckIncbin();
if (m_pos >= m_size)
@@ -177,6 +112,13 @@ bool CFile::ConsumeHorizontalWhitespace()
bool CFile::ConsumeNewline()
{
+ if (m_buffer[m_pos] == '\n')
+ {
+ m_pos++;
+ m_lineNum++;
+ return true;
+ }
+
if (m_buffer[m_pos] == '\r' && m_buffer[m_pos + 1] == '\n')
{
m_pos += 2;
@@ -184,10 +126,33 @@ bool CFile::ConsumeNewline()
return true;
}
- if (m_buffer[m_pos] == '\n')
+ return false;
+}
+
+bool CFile::ConsumeComment()
+{
+ if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '*')
{
- m_pos++;
- m_lineNum++;
+ m_pos += 2;
+ while (m_buffer[m_pos] != '*' && m_buffer[m_pos + 1] != '/')
+ {
+ if (m_buffer[m_pos] == 0)
+ return false;
+ if (!ConsumeNewline())
+ m_pos++;
+ }
+ m_pos += 2;
+ return true;
+ }
+ else if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '/')
+ {
+ m_pos += 2;
+ while (!ConsumeNewline())
+ {
+ if (m_buffer[m_pos] == 0)
+ return false;
+ m_pos++;
+ }
return true;
}
@@ -196,7 +161,7 @@ bool CFile::ConsumeNewline()
void CFile::SkipWhitespace()
{
- while (ConsumeHorizontalWhitespace() || ConsumeNewline())
+ while (ConsumeHorizontalWhitespace() || ConsumeNewline() || ConsumeComment())
;
}
@@ -211,8 +176,43 @@ bool CFile::CheckIdentifier(const std::string& ident)
return (i == ident.length());
}
+void CFile::CheckInclude()
+{
+ if (m_buffer[m_pos] != '#')
+ return;
+
+ std::string ident = "#include";
+
+ if (!CheckIdentifier(ident))
+ {
+ return;
+ }
+
+ m_pos += ident.length();
+
+ ConsumeHorizontalWhitespace();
+
+ std::string path = ReadPath();
+
+ if (!path.empty()) {
+ m_includes.emplace(path);
+ }
+}
+
void CFile::CheckIncbin()
{
+ // Optimization: assume most lines are not incbins
+ if (!(m_buffer[m_pos+0] == 'I'
+ && m_buffer[m_pos+1] == 'N'
+ && m_buffer[m_pos+2] == 'C'
+ && m_buffer[m_pos+3] == 'B'
+ && m_buffer[m_pos+4] == 'I'
+ && m_buffer[m_pos+5] == 'N'
+ && m_buffer[m_pos+6] == '_'))
+ {
+ return;
+ }
+
std::string idents[6] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32" };
int incbinType = -1;
@@ -246,8 +246,28 @@ void CFile::CheckIncbin()
SkipWhitespace();
+ std::string path = ReadPath();
+
+ SkipWhitespace();
+
+ if (m_buffer[m_pos] != ')')
+ FATAL_INPUT_ERROR("expected ')'");
+
+ m_pos++;
+
+ m_incbins.emplace(path);
+}
+
+std::string CFile::ReadPath()
+{
if (m_buffer[m_pos] != '"')
- FATAL_INPUT_ERROR("expected double quote");
+ {
+ if (m_buffer[m_pos] == '<')
+ {
+ return std::string();
+ }
+ FATAL_INPUT_ERROR("expected '\"' or '<'");
+ }
m_pos++;
@@ -272,16 +292,7 @@ void CFile::CheckIncbin()
m_pos++;
}
- std::string path(&m_buffer[startPos], m_pos - startPos);
-
m_pos++;
- SkipWhitespace();
-
- if (m_buffer[m_pos] != ')')
- FATAL_INPUT_ERROR("expected ')'");
-
- m_pos++;
-
- m_incbins.emplace(path);
+ return std::string(m_buffer + startPos, m_pos - 1 - startPos);
}
diff --git a/tools/scaninc/c_file.h b/tools/scaninc/c_file.h
index 922cb4639..618901b85 100644
--- a/tools/scaninc/c_file.h
+++ b/tools/scaninc/c_file.h
@@ -33,6 +33,7 @@ public:
~CFile();
void FindIncbins();
const std::set<std::string>& GetIncbins() { return m_incbins; }
+ const std::set<std::string>& GetIncludes() { return m_includes; }
private:
char *m_buffer;
@@ -41,13 +42,16 @@ private:
int m_lineNum;
std::string m_path;
std::set<std::string> m_incbins;
+ std::set<std::string> m_includes;
- void RemoveComments();
bool ConsumeHorizontalWhitespace();
bool ConsumeNewline();
+ bool ConsumeComment();
void SkipWhitespace();
bool CheckIdentifier(const std::string& ident);
+ void CheckInclude();
void CheckIncbin();
+ std::string ReadPath();
};
#endif // C_FILE_H
diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp
index b6f7ba767..3dc221479 100644
--- a/tools/scaninc/scaninc.cpp
+++ b/tools/scaninc/scaninc.cpp
@@ -20,7 +20,8 @@
#include <cstdio>
#include <cstdlib>
-#include <stack>
+#include <list>
+#include <queue>
#include <set>
#include <string>
#include "scaninc.h"
@@ -38,15 +39,49 @@ bool CanOpenFile(std::string path)
return true;
}
+const char *const USAGE = "Usage: scaninc [-I INCLUDE_PATH] FILE_PATH\n";
+
int main(int argc, char **argv)
{
- if (argc < 2)
- FATAL_ERROR("Usage: scaninc FILE_PATH\n");
-
- std::stack<std::string> filesToProcess;
+ std::queue<std::string> filesToProcess;
std::set<std::string> dependencies;
- std::string initialPath(argv[1]);
+ std::list<std::string> includeDirs;
+
+ argc--;
+ argv++;
+
+ while (argc > 1)
+ {
+ std::string arg(argv[0]);
+ if (arg.substr(0, 2) == "-I")
+ {
+ std::string includeDir = arg.substr(2);
+ if (includeDir.empty())
+ {
+ argc--;
+ argv++;
+ includeDir = std::string(argv[0]);
+ }
+ if (includeDir.back() != '/')
+ {
+ includeDir += '/';
+ }
+ includeDirs.push_back(includeDir);
+ }
+ else
+ {
+ FATAL_ERROR(USAGE);
+ }
+ argc--;
+ argv++;
+ }
+
+ if (argc != 1) {
+ FATAL_ERROR(USAGE);
+ }
+
+ std::string initialPath(argv[0]);
std::size_t pos = initialPath.find_last_of('.');
@@ -55,20 +90,53 @@ int main(int argc, char **argv)
std::string extension = initialPath.substr(pos + 1);
- if (extension == "c")
+ std::string srcDir("");
+ std::size_t slash = initialPath.rfind('/');
+ if (slash != std::string::npos)
{
- CFile file(initialPath);
+ srcDir = initialPath.substr(0, slash + 1);
+ }
+ includeDirs.push_back(srcDir);
+
+ if (extension == "c" || extension == "h")
+ {
+ filesToProcess.push(initialPath);
+
+ while (!filesToProcess.empty())
+ {
+ CFile file(filesToProcess.front());
+ filesToProcess.pop();
- file.FindIncbins();
- dependencies = file.GetIncbins();
+ file.FindIncbins();
+ for (auto incbin : file.GetIncbins())
+ {
+ dependencies.insert(incbin);
+ }
+ for (auto include : file.GetIncludes())
+ {
+ for (auto includeDir : includeDirs)
+ {
+ std::string path(includeDir + include);
+ if (CanOpenFile(path))
+ {
+ bool inserted = dependencies.insert(path).second;
+ if (inserted)
+ {
+ filesToProcess.push(path);
+ }
+ break;
+ }
+ }
+ }
+ }
}
- else if (extension == "s")
+ else if (extension == "s" || extension == "inc")
{
- filesToProcess.push(std::string(argv[1]));
+ filesToProcess.push(initialPath);
while (!filesToProcess.empty())
{
- AsmFile file(filesToProcess.top());
+ AsmFile file(filesToProcess.front());
filesToProcess.pop();