From 7a4d64125176d9bd946682a3f9440de0f71324af Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 27 Dec 2017 01:29:15 -0500 Subject: Remove redundant data/ filename prefixes --- constants/item_constants.asm | 6 +- constants/item_data_constants.asm | 2 +- constants/map_constants.asm | 2 +- constants/map_setup_constants.asm | 2 +- constants/move_constants.asm | 6 +- constants/move_effect_constants.asm | 2 +- constants/pokemon_constants.asm | 20 +- constants/trainer_constants.asm | 12 +- constants/trainer_data_constants.asm | 4 +- data/battle_command_pointers.asm | 180 ++ data/items/attributes.asm | 521 ++++ data/items/descriptions.asm | 1042 +++++++ data/items/item_attributes.asm | 521 ---- data/items/item_descriptions.asm | 1042 ------- data/items/item_names.asm | 257 -- data/items/names.asm | 257 ++ data/maps/map_scenes.asm | 89 - data/maps/map_setup_scripts.asm | 177 -- data/maps/mapgroup_roofs.asm | 38 - data/maps/roofs.asm | 38 + data/maps/scenes.asm | 89 + data/maps/setup_scripts.asm | 177 ++ data/moves/animations.asm | 5176 ++++++++++++++++++++++++++++++++ data/moves/descriptions.asm | 1270 ++++++++ data/moves/effect_command_pointers.asm | 180 -- data/moves/effects.asm | 2075 +++++++++++++ data/moves/effects_pointers.asm | 159 + data/moves/move_anims.asm | 5176 -------------------------------- data/moves/move_descriptions.asm | 1270 -------- data/moves/move_effects.asm | 2075 ------------- data/moves/move_effects_pointers.asm | 159 - data/moves/move_names.asm | 252 -- data/moves/names.asm | 252 ++ data/palettes/pokemon_palettes.asm | 542 ---- data/palettes/trainer_palettes.asm | 76 - data/pokemon/names.asm | 257 ++ data/pokemon/palettes.asm | 542 ++++ data/pokemon/pic_pointers.asm | 2 +- data/pokemon/pokemon_names.asm | 257 -- data/trainers/attributes.asm | 406 +++ data/trainers/class_names.asm | 69 + data/trainers/dvs.asm | 72 + data/trainers/palettes.asm | 76 + data/trainers/trainer_attributes.asm | 406 --- data/trainers/trainer_class_names.asm | 69 - data/trainers/trainer_dvs.asm | 93 - docs/battle_anim_commands.md | 2 +- docs/bugs_and_glitches.md | 4 +- docs/effect_commands.md | 358 --- docs/move_effect_commands.md | 358 +++ engine/battle/read_trainer_dvs.asm | 20 + engine/battle/read_trainer_party.asm | 1 - engine/color.asm | 4 +- engine/map_setup.asm | 2 +- gfx/load_pics.asm | 18 +- gfx/pics.asm | 4 +- macros.asm | 2 +- macros/scripts/battle_commands.asm | 187 ++ macros/scripts/effect_commands.asm | 187 -- main.asm | 29 +- tilesets/roofs.asm | 2 +- 61 files changed, 13287 insertions(+), 13286 deletions(-) create mode 100644 data/battle_command_pointers.asm create mode 100644 data/items/attributes.asm create mode 100644 data/items/descriptions.asm delete mode 100644 data/items/item_attributes.asm delete mode 100644 data/items/item_descriptions.asm delete mode 100644 data/items/item_names.asm create mode 100644 data/items/names.asm delete mode 100644 data/maps/map_scenes.asm delete mode 100644 data/maps/map_setup_scripts.asm delete mode 100644 data/maps/mapgroup_roofs.asm create mode 100644 data/maps/roofs.asm create mode 100644 data/maps/scenes.asm create mode 100644 data/maps/setup_scripts.asm create mode 100644 data/moves/animations.asm create mode 100644 data/moves/descriptions.asm delete mode 100644 data/moves/effect_command_pointers.asm create mode 100644 data/moves/effects.asm create mode 100644 data/moves/effects_pointers.asm delete mode 100644 data/moves/move_anims.asm delete mode 100644 data/moves/move_descriptions.asm delete mode 100644 data/moves/move_effects.asm delete mode 100644 data/moves/move_effects_pointers.asm delete mode 100644 data/moves/move_names.asm create mode 100644 data/moves/names.asm delete mode 100644 data/palettes/pokemon_palettes.asm delete mode 100644 data/palettes/trainer_palettes.asm create mode 100644 data/pokemon/names.asm create mode 100644 data/pokemon/palettes.asm delete mode 100644 data/pokemon/pokemon_names.asm create mode 100644 data/trainers/attributes.asm create mode 100755 data/trainers/class_names.asm create mode 100644 data/trainers/dvs.asm create mode 100644 data/trainers/palettes.asm delete mode 100644 data/trainers/trainer_attributes.asm delete mode 100755 data/trainers/trainer_class_names.asm delete mode 100644 data/trainers/trainer_dvs.asm delete mode 100644 docs/effect_commands.md create mode 100644 docs/move_effect_commands.md create mode 100644 engine/battle/read_trainer_dvs.asm create mode 100644 macros/scripts/battle_commands.asm delete mode 100644 macros/scripts/effect_commands.asm diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 5e5805495..c1079e82d 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,9 +1,9 @@ ; item ids ; indexes for: -; - ItemAttributes (see data/items/item_attributes.asm) -; - ItemDescriptions (see data/items/item_descriptions.asm) +; - ItemNames (see data/items/names.asm) +; - ItemDescriptions (see data/items/descriptions.asm) +; - ItemAttributes (see data/items/attributes.asm) ; - ItemEffects (see engine/item_effects.asm) -; - ItemNames (see data/items/item_names.asm) const_def const NO_ITEM ; $00 const MASTER_BALL ; $01 diff --git a/constants/item_data_constants.asm b/constants/item_data_constants.asm index 2dee5b962..4ef221840 100644 --- a/constants/item_data_constants.asm +++ b/constants/item_data_constants.asm @@ -1,4 +1,4 @@ -; item_attributes struct members (see data/items/item_attributes.asm) +; item_attributes struct members (see data/items/attributes.asm) const_def const ITEMATTR_PRICE const ITEMATTR_PRICE_HI diff --git a/constants/map_constants.asm b/constants/map_constants.asm index be12cca02..7e3a628b1 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -16,8 +16,8 @@ endm ; map group ids ; `newgroup` indexes are for: ; - MapGroupPointers (see maps/map_headers.asm) +; - MapGroupRoofs (see data/maps/roofs.asm) ; - OutdoorSprites (see data/maps/outdoor_sprites.asm) -; - MapGroupRoofs (see data/maps/mapgroup_roofs.asm) ; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm) const_def diff --git a/constants/map_setup_constants.asm b/constants/map_setup_constants.asm index 2505bda55..20448f2fb 100644 --- a/constants/map_setup_constants.asm +++ b/constants/map_setup_constants.asm @@ -1,5 +1,5 @@ ; hMapEntryMethod values -; MapSetupScripts indexes (see data/maps/map_setup_scripts.asm) +; MapSetupScripts indexes (see data/maps/setup_scripts.asm) const_value SET $f1 const MAPSETUP_WARP ; f1 const MAPSETUP_CONTINUE ; f2 diff --git a/constants/move_constants.asm b/constants/move_constants.asm index fb729028c..472ff2d0b 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,9 +1,9 @@ ; move ids ; indexes for: ; - Moves (see data/moves/moves.asm) -; - MoveNames (see data/moves/move_names.asm) -; - MoveDescriptions (see data/moves/move_descriptions.asm) -; - BattleAnimations (see data/moves/move_anims.asm) +; - MoveNames (see data/moves/names.asm) +; - MoveDescriptions (see data/moves/descriptions.asm) +; - BattleAnimations (see data/moves/animations.asm) const_def const NO_MOVE ; 00 const POUND ; 01 diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index dcb69ee38..0ca97f380 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -1,4 +1,4 @@ -; MoveEffectsPointers indexes (see data/moves/move_effects_pointers.asm) +; MoveEffectsPointers indexes (see data/moves/effects_pointers.asm) const_def const EFFECT_NORMAL_HIT const EFFECT_SLEEP diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 559f22fda..b29c310e6 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,21 +1,21 @@ ; pokemon ids ; indexes for: -; - PokemonCries (see data/pokemon/cries.asm) +; - PokemonNames (see data/pokemon/names.asm) ; - BaseData (see data/pokemon/base_stats.asm) -; - EggMovePointers (see data/pokemon/egg_move_pointers.asm) ; - EvosAttacksPointers (see data/pokemon/evos_attacks_pointers.asm) -; - PokemonNames (see data/pokemon/pokemon_names.asm) +; - EggMovePointers (see data/pokemon/egg_move_pointers.asm) +; - PokemonCries (see data/pokemon/cries.asm) +; - MonMenuIcons (see data/pokemon/menu_icons.asm) +; - PokemonPalettes (see data/pokemon/palettes.asm) ; - PokedexDataPointerTable (see data/pokemon/dex_entry_pointers.asm) -; - AnimationPointers (see gfx/pokemon/anim_pointers.asm) -; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm) -; - AnimationExtraPointers (see gfx/pokemon/extra_pointers.asm) -; - FramesPointers (see gfx/pokemon/frame_pointers.asm) -; - PicPointers (see gfx/pokemon/pic_pointers.asm) -; - PokemonPalettes (see data/palettes/pokemon_palettes.asm) ; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm) ; - NewPokedexOrder (see data/pokemon/dex_order_new.asm) -; - MonMenuIcons (see data/pokemon/menu_icons.asm) ; - Pokered_MonIndices (see data/time_capsule/mon_order.asm) +; - PokemonPicPointers (see gfx/pokemon/pic_pointers.asm) +; - AnimationPointers (see gfx/pokemon/anim_pointers.asm) +; - AnimationExtraPointers (see gfx/pokemon/extra_pointers.asm) +; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm) +; - FramesPointers (see gfx/pokemon/frame_pointers.asm) ; - SortedPokemon (see mobile/fixed_words.asm) const_value set 1 const BULBASAUR ; 01 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index f5263e5d4..2590ed34e 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -5,12 +5,14 @@ ENDM ; trainer class ids ; `trainerclass` indexes are for: -; - TrainerClassAttributes (see data/trainers/trainer_attributes.asm) -; - TrainerClassDVs (see data/trainers/trainer_dvs.asm) -; - TrainerClassNames (see data/trainers/trainer_class_names.asm) -; - TrainerEncounterMusic (see data/trainers/encounter_music.asm) +; - TrainerClassNames (see data/trainers/class_names.asm) +; - TrainerClassAttributes (see data/trainers/attributes.asm) +; - TrainerClassDVs (see data/trainers/dvs.asm) ; - TrainerGroups (see data/trainers/party_pointers.asm) -; - BTTrainerClassGenders (see data/trainers/gendered_trainers.asm) +; - TrainerEncounterMusic (see data/trainers/encounter_music.asm) +; - TrainerPicPointers (see data/trainers/pic_pointers.asm) +; - TrainerPalettes (see data/trainers/palettes.asm) +; - BTTrainerClassGenders (see data/trainers/genders.asm) ; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm) enum_start CHRIS EQU __enum__ diff --git a/constants/trainer_data_constants.asm b/constants/trainer_data_constants.asm index 631070e1c..2d87d8764 100644 --- a/constants/trainer_data_constants.asm +++ b/constants/trainer_data_constants.asm @@ -1,4 +1,4 @@ -; TrainerClassAttributes struct members (see data/trainers/trainer_attributes.asm) +; TrainerClassAttributes struct members (see data/trainers/attributes.asm) const_def const TRNATTR_ITEM1 ; 0 const TRNATTR_ITEM2 ; 1 @@ -45,7 +45,7 @@ SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F SWITCH_RARELY EQU 1 << SWITCH_RARELY_F SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F -; TrainerTypes indexes (see trainers/read_party.asm) +; TrainerTypes indexes (see engine/battle/read_trainer_party.asm) const_def const TRAINERTYPE_NORMAL const TRAINERTYPE_MOVES diff --git a/data/battle_command_pointers.asm b/data/battle_command_pointers.asm new file mode 100644 index 000000000..38a3c1eb8 --- /dev/null +++ b/data/battle_command_pointers.asm @@ -0,0 +1,180 @@ + dw 0 ; padding + +BattleCommandPointers: ; 3fd28 +; entries correspond to macros/scripts/battle_commands.asm + dw BattleCommand_CheckTurn ; 34084 + dw BattleCommand_CheckObedience ; 343db + dw BattleCommand_UsedMoveText ; 34541 + dw BattleCommand_DoTurn ; 34555 + dw BattleCommand_Critical ; 34631 + dw BattleCommand_DamageStats ; 352dc + dw BattleCommand_Stab ; 346d2 - 07 + dw BattleCommand_DamageVariation ; 34cfd + dw BattleCommand_CheckHit ; 34d32 + dw BattleCommand_LowerSub ; 34eee + dw BattleCommand_HitTargetNoSub ; 34f60 + dw BattleCommand_RaiseSub ; 35004 + dw BattleCommand_FailureText ; 35023 + dw BattleCommand_CheckFaint ; 3505e + dw BattleCommand_CriticalText ; 35175 + dw BattleCommand_SuperEffectiveText ; 351ad + dw BattleCommand_CheckDestinyBond ; 351c0 + dw BattleCommand_BuildOpponentRage ; 35250 + dw BattleCommand_PoisonTarget ; 35eee + dw BattleCommand_SleepTarget ; 35e5c + dw BattleCommand_DrainTarget ; 35fff + dw BattleCommand_EatDream ; 36008 + dw BattleCommand_BurnTarget ; 3608c + dw BattleCommand_FreezeTarget ; 36102 + dw BattleCommand_ParalyzeTarget ; 36165 + dw BattleCommand_Selfdestruct ; 37380 + dw BattleCommand_MirrorMove ; 373c9 + dw BattleCommand_StatUp ; 361e4 + dw BattleCommand_StatDown ; 362e3 + dw BattleCommand_PayDay ; 3705c + dw BattleCommand_Conversion ; 3707f + dw BattleCommand_ResetStats ; 3710e + dw BattleCommand_StoreEnergy ; 36671 + dw BattleCommand_UnleashEnergy ; 366e5 + dw BattleCommand_ForceSwitch ; 3680f + dw BattleCommand_EndLoop ; 369b6 + dw BattleCommand_FlinchTarget ; 36aa0 + dw BattleCommand_OHKO ; 36af3 + dw BattleCommand_Recoil ; 36cb2 + dw BattleCommand_Mist ; 36c7e + dw BattleCommand_FocusEnergy ; 36c98 + dw BattleCommand_Confuse ; 36d3b + dw BattleCommand_ConfuseTarget ; 36d1d + dw BattleCommand_Heal ; 3713e + dw BattleCommand_Transform ; 371cd + dw BattleCommand_Screen ; 372fc + dw BattleCommand_Poison ; 35f2c + dw BattleCommand_Paralyze ; 36dc7 + dw BattleCommand_Substitute ; 36e7c + dw BattleCommand_RechargeNextTurn ; 36f0b + dw BattleCommand_Mimic ; 36f46 + dw BattleCommand_Metronome ; 37418 + dw BattleCommand_LeechSeed ; 36f9d + dw BattleCommand_Splash ; 36fe1 + dw BattleCommand_Disable ; 36fed + dw BattleCommand_ClearText ; 37e85 + dw BattleCommand_Charge ; 36b4d + dw BattleCommand_CheckCharge ; 36b3a + dw BattleCommand_TrapTarget ; 36c2d + dw BattleCommand3c ; 36c2c + dw BattleCommand_Rampage ; 36751 + dw BattleCommand_CheckRampage ; 3671a + dw BattleCommand_ConstantDamage ; 35726 + dw BattleCommand_Counter ; 35813 + dw BattleCommand_Encore ; 35864 + dw BattleCommand_PainSplit ; 35926 + dw BattleCommand_Snore ; 359d0 + dw BattleCommand_Conversion2 ; 359e6 + dw BattleCommand_LockOn ; 35a53 + dw BattleCommand_Sketch ; 35a74 + dw BattleCommand_DefrostOpponent ; 35b16 + dw BattleCommand_SleepTalk ; 35b33 + dw BattleCommand_DestinyBond ; 35bff + dw BattleCommand_Spite ; 35c0f + dw BattleCommand_FalseSwipe ; 35c94 + dw BattleCommand_HealBell ; 35cc9 + dw BattleCommand_HeldFlinch ; 36ac9 + dw BattleCommand_TripleKick ; 346b2 + dw BattleCommand_KickCounter ; 346cd + dw BattleCommand_Thief ; 37492 + dw BattleCommand_ArenaTrap ; 37517 + dw BattleCommand_Nightmare ; 37536 + dw BattleCommand_Defrost ; 37563 + dw BattleCommand_Curse ; 37588 + dw BattleCommand_Protect ; 37618 + dw BattleCommand_Spikes ; 37683 + dw BattleCommand_Foresight ; 376a0 + dw BattleCommand_PerishSong ; 376c2 + dw BattleCommand_StartSandstorm ; 376f8 + dw BattleCommand_Endure ; 3766f + dw BattleCommand_CheckCurl ; 37718 + dw BattleCommand_RolloutPower ; 37734 + dw BattleCommand5d ; 37791 + dw BattleCommand_FuryCutter ; 37792 + dw BattleCommand_Attract ; 377ce + dw BattleCommand_HappinessPower ; 3784b + dw BattleCommand_Present ; 37874 + dw BattleCommand_DamageCalc ; 35612 - 62 + dw BattleCommand_FrustrationPower ; 3790e + dw BattleCommand_Safeguard ; 37939 + dw BattleCommand_CheckSafeguard ; 37972 + dw BattleCommand_GetMagnitude ; 37991 + dw BattleCommand_BatonPass ; 379c9 + dw BattleCommand_Pursuit ; 37b1d + dw BattleCommand_ClearHazards ; 37b39 + dw BattleCommand_HealMorn ; 37b74 + dw BattleCommand_HealDay ; 37b78 + dw BattleCommand_HealNite ; 37b7c + dw BattleCommand_HiddenPower ; 37be8 + dw BattleCommand_StartRain ; 37bf4 + dw BattleCommand_StartSun ; 37c07 + dw BattleCommand_AttackUp ; 361ac + dw BattleCommand_DefenseUp ; 361b0 + dw BattleCommand_SpeedUp ; 361b4 + dw BattleCommand_SpecialAttackUp ; 361b8 + dw BattleCommand_SpecialDefenseUp ; 361bc + dw BattleCommand_AccuracyUp ; 361c0 + dw BattleCommand_EvasionUp ; 361c4 + dw BattleCommand_AttackUp2 ; 361c8 + dw BattleCommand_DefenseUp2 ; 361cc + dw BattleCommand_SpeedUp2 ; 361d0 + dw BattleCommand_SpecialAttackUp2 ; 361d4 + dw BattleCommand_SpecialDefenseUp2 ; 361d8 + dw BattleCommand_AccuracyUp2 ; 361dc + dw BattleCommand_EvasionUp2 ; 361e0 + dw BattleCommand_AttackDown ; 362ad + dw BattleCommand_DefenseDown ; 362b1 + dw BattleCommand_SpeedDown ; 362b5 + dw BattleCommand_SpecialAttackDown ; 362b9 + dw BattleCommand_SpecialDefenseDown ; 362bd + dw BattleCommand_AccuracyDown ; 362c1 + dw BattleCommand_EvasionDown ; 362c5 + dw BattleCommand_AttackDown2 ; 362c9 + dw BattleCommand_DefenseDown2 ; 362cd + dw BattleCommand_SpeedDown2 ; 362d1 + dw BattleCommand_SpecialAttackDown2 ; 362d5 + dw BattleCommand_SpecialDefenseDown2 ; 362d9 + dw BattleCommand_AccuracyDown2 ; 362dd + dw BattleCommand_EvasionDown2 ; 362e1 + dw BattleCommand_StatUpMessage ; 363b8 + dw BattleCommand_StatDownMessage ; 363e9 + dw BattleCommand_StatUpFailText ; 3644c + dw BattleCommand_StatDownFailText ; 3646a + dw BattleCommand_EffectChance ; 34ecc + dw BattleCommand_StatDownAnim ; 34fdb + dw BattleCommand_StatUpAnim ; 34fd1 + dw BattleCommand_SwitchTurn ; 34ffd - 93 + dw BattleCommand_FakeOut ; 36a82 + dw BattleCommand_BellyDrum ; 37c1a + dw BattleCommand_PsychUp ; 37c55 + dw BattleCommand_Rage ; 36f1d + dw BattleCommand_DoubleFlyingDamage ; 36f25 + dw BattleCommand_DoubleUndergroundDamage ; 36f2f + dw BattleCommand_MirrorCoat ; 37c95 + dw BattleCommand_CheckFutureSight ; 37d0d + dw BattleCommand_FutureSight ; 37d34 + dw BattleCommand_DoubleMinimizeDamage ; 37ce6 + dw BattleCommand_SkipSunCharge ; 37d02 + dw BattleCommand_ThunderAccuracy ; 37d94 + dw BattleCommand_Teleport ; 36778 + dw BattleCommand_BeatUp ; 35461 + dw BattleCommand_RageDamage ; 3527b + dw BattleCommand_ResetTypeMatchup ; 34833 + dw BattleCommand_AllStatsUp ; 36500 + dw BattleCommanda5 ; 35165 + dw BattleCommand_RaiseSubNoAnim ; 365af + dw BattleCommand_LowerSubNoAnim ; 365c3 + dw BattleCommanda8 ; 355b5 + dw BattleCommand_ClearMissDamage ; 355d5 - a9 + dw BattleCommand_MoveDelay ; 37e80 + dw BattleCommand_HitTarget ; 34f57 + dw BattleCommand_TriStatusChance ; 3658f + dw BattleCommand_SuperEffectiveLoopText ; 351a5 + dw BattleCommand_StartLoop ; 35197 + dw BattleCommand_Curl ; 365a7 +; 3fe86 diff --git a/data/items/attributes.asm b/data/items/attributes.asm new file mode 100644 index 000000000..dc2842760 --- /dev/null +++ b/data/items/attributes.asm @@ -0,0 +1,521 @@ +item_attribute: MACRO +; price, held effect, parameter, property, pocket, field menu, battle menu + dw \1 + db \2, \3, \4, \5 + dn \6, \7 +ENDM + +ItemAttributes: ; 67c1 +; entries correspond to constants/item_constants.asm +; MASTER BALL + item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ULTRA BALL + item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; BRIGHTPOWDER + item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; GREAT BALL + item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; # BALL + item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BICYCLE + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; MOON STONE + item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ANTIDOTE + item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; BURN HEAL + item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ICE HEAL + item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; AWAKENING + item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; PARLYZ HEAL + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; FULL RESTORE + item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX POTION + item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HYPER POTION + item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SUPER POTION + item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; POTION + item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ESCAPE ROPE + item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; REPEL + item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MAX ELIXER + item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; FIRE STONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; THUNDERSTONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; WATER STONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; HP UP + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; PROTEIN + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; IRON + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; CARBOS + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; LUCKY PUNCH + item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CALCIUM + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; RARE CANDY + item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; X ACCURACY + item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LEAF STONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; METAL POWDER + item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; NUGGET + item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; # DOLL + item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FULL HEAL + item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; REVIVE + item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX REVIVE + item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GUARD SPEC. + item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; SUPER REPEL + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MAX REPEL + item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; DIRE HIT + item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FRESH WATER + item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SODA POP + item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; LEMONADE + item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; X ATTACK + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; X DEFEND + item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; X SPEED + item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; X SPECIAL + item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; COIN CASE + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; ITEMFINDER + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EXP.SHARE + item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; OLD ROD + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; GOOD ROD + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; SILVER LEAF + item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SUPER ROD + item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; PP UP + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ETHER + item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX ETHER + item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ELIXER + item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; RED SCALE + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SECRETPOTION + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; S.S.TICKET + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTERY EGG + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CLEAR BELL + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SILVER WING + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MOOMOO MILK + item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; QUICK CLAW + item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PSNCUREBERRY + item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GOLD LEAF + item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SOFT SAND + item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SHARP BEAK + item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PRZCUREBERRY + item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; BURNT BERRY + item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ICE BERRY + item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; POISON BARB + item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; KING'S ROCK + item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BITTER BERRY + item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY +; MINT BERRY + item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; RED APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TINYMUSHROOM + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BIG MUSHROOM + item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SILVERPOWDER + item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLU APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; AMULET COIN + item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; YLW APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; GRN APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CLEANSE TAG + item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTIC WATER + item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TWISTEDSPOON + item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; WHT APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLACKBELT + item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLK APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PNK APRICORN + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLACKGLASSES + item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SLOWPOKETAIL + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PINK BOW + item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STICK + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SMOKE BALL + item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; NEVERMELTICE + item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MAGNET + item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRACLEBERRY + item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; PEARL + item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BIG PEARL + item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EVERSTONE + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SPELL TAG + item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; RAGECANDYBAR + item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GS BALL + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLUE CARD + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MIRACLE SEED + item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; THICK CLUB + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FOCUS BAND + item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ENERGYPOWDER + item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ENERGY ROOT + item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HEAL POWDER + item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; REVIVAL HERB + item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HARD STONE + item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LUCKY EGG + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CARD KEY + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; MACHINE PART + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EGG TICKET + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LOST ITEM + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STARDUST + item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STAR PIECE + item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BASEMENT KEY + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; PASS + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CHARCOAL + item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERRY JUICE + item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SCOPE LENS + item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; METAL COAT + item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; DRAGON FANG + item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LEFTOVERS + item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTERYBERRY + item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; DRAGON SCALE + item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERSERK GENE + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SACRED ASH + item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; HEAVY BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FLOWER MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LEVEL BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LURE BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FAST BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LIGHT BALL + item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FRIEND BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; MOON BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LOVE BALL + item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; NORMAL BOX + item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; GORGEOUS BOX + item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; SUN STONE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; POLKADOT BOW + item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; UP-GRADE + item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERRY + item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GOLD BERRY + item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SQUIRTBOTTLE + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PARK BALL + item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; RAINBOW WING + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BRICK PIECE + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SURF MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LITEBLUEMAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PORTRAITMAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LOVELY MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EON MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MORPH MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLUESKY MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MUSIC MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRAGE MAIL + item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM01 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM02 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM03 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM04 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM05 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM06 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM07 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM08 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM09 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM10 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM11 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM12 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM13 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM14 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM15 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM16 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM17 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM18 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM19 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM20 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM21 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM22 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM23 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM24 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM25 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM26 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM27 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM28 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TM29 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM30 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM31 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM32 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM33 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM34 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM35 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM36 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM37 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM38 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM39 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM40 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM41 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM42 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM43 + item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM44 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM45 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM46 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM47 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM48 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM49 + item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TM50 + item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM01 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM02 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM03 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM04 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM05 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM06 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; HM07 + item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; TERU-SAMA + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ? + item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE diff --git a/data/items/descriptions.asm b/data/items/descriptions.asm new file mode 100644 index 000000000..e5b01e8fd --- /dev/null +++ b/data/items/descriptions.asm @@ -0,0 +1,1042 @@ +PrintItemDescription: ; 0x1c8955 +; Print the description for item [CurSpecies] at de. + + ld a, [CurSpecies] + cp TM01 + jr c, .not_a_tm + + ld [CurItem], a + push de + farcall GetTMHMItemMove + pop hl + ld a, [wd265] + ld [CurSpecies], a + predef PrintMoveDesc + ret + +.not_a_tm + push de + ld hl, ItemDescriptions + ld a, [CurSpecies] + dec a + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + pop hl + jp PlaceString +; 0x1c8987 + + +ItemDescriptions: + dw MasterBallDesc + dw UltraBallDesc + dw BrightpowderDesc + dw GreatBallDesc + dw PokeBallDesc + dw TeruSama1Desc + dw BicycleDesc + dw MoonStoneDesc + dw AntidoteDesc + dw BurnHealDesc + dw IceHealDesc + dw AwakeningDesc + dw ParlyzHealDesc + dw FullRestoreDesc + dw MaxPotionDesc + dw HyperPotionDesc + dw SuperPotionDesc + dw PotionDesc + dw EscapeRopeDesc + dw RepelDesc + dw MaxElixerDesc + dw FireStoneDesc + dw ThunderStoneDesc + dw WaterStoneDesc + dw TeruSama2Desc + dw HPUpDesc + dw ProteinDesc + dw IronDesc + dw CarbosDesc + dw LuckyPunchDesc + dw CalciumDesc + dw RareCandyDesc + dw XAccuracyDesc + dw LeafStoneDesc + dw MetalPowderDesc + dw NuggetDesc + dw PokeDollDesc + dw FullHealDesc + dw ReviveDesc + dw MaxReviveDesc + dw GuardSpecDesc + dw SuperRepelDesc + dw MaxRepelDesc + dw DireHitDesc + dw TeruSama3Desc + dw FreshWaterDesc + dw SodaPopDesc + dw LemonadeDesc + dw XAttackDesc + dw TeruSama4Desc + dw XDefendDesc + dw XSpeedDesc + dw XSpecialDesc + dw CoinCaseDesc + dw ItemfinderDesc + dw TeruSama5Desc + dw ExpShareDesc + dw OldRodDesc + dw GoodRodDesc + dw SilverLeafDesc + dw SuperRodDesc + dw PPUpDesc + dw EtherDesc + dw MaxEtherDesc + dw ElixerDesc + dw RedScaleDesc + dw SecretPotionDesc + dw SSTicketDesc + dw MysteryEggDesc + dw ClearBellDesc + dw SilverWingDesc + dw MoomooMilkDesc + dw QuickClawDesc + dw PsnCureBerryDesc + dw GoldLeafDesc + dw SoftSandDesc + dw SharpBeakDesc + dw PrzCureBerryDesc + dw BurntBerryDesc + dw IceBerryDesc + dw PoisonBarbDesc + dw KingsRockDesc + dw BitterBerryDesc + dw MintBerryDesc + dw RedApricornDesc + dw TinyMushroomDesc + dw BigMushroomDesc + dw SilverPowderDesc + dw BluApricornDesc + dw TeruSama6Desc + dw AmuletCoinDesc + dw YlwApricornDesc + dw GrnApricornDesc + dw CleanseTagDesc + dw MysticWaterDesc + dw TwistedSpoonDesc + dw WhtApricornDesc + dw BlackbeltDesc + dw BlkApricornDesc + dw TeruSama7Desc + dw PnkApricornDesc + dw BlackGlassesDesc + dw SlowpokeTailDesc + dw PinkBowDesc + dw StickDesc + dw SmokeBallDesc + dw NeverMeltIceDesc + dw MagnetDesc + dw MiracleBerryDesc + dw PearlDesc + dw BigPearlDesc + dw EverStoneDesc + dw SpellTagDesc + dw RageCandyBarDesc + dw GSBallDesc + dw BlueCardDesc + dw MiracleSeedDesc + dw ThickClubDesc + dw FocusBandDesc + dw TeruSama8Desc + dw EnergyPowderDesc + dw EnergyRootDesc + dw HealPowderDesc + dw RevivalHerbDesc + dw HardStoneDesc + dw LuckyEggDesc + dw CardKeyDesc + dw MachinePartDesc + dw EggTicketDesc + dw LostItemDesc + dw StardustDesc + dw StarPieceDesc + dw BasementKeyDesc + dw PassDesc + dw TeruSama9Desc + dw TeruSama10Desc + dw TeruSama11Desc + dw CharcoalDesc + dw BerryJuiceDesc + dw ScopeLensDesc + dw TeruSama12Desc + dw TeruSama13Desc + dw MetalCoatDesc + dw DragonFangDesc + dw TeruSama14Desc + dw LeftoversDesc + dw TeruSama15Desc + dw TeruSama16Desc + dw TeruSama17Desc + dw MysteryBerryDesc + dw DragonScaleDesc + dw BerserkGeneDesc + dw TeruSama18Desc + dw TeruSama19Desc + dw TeruSama20Desc + dw SacredAshDesc + dw HeavyBallDesc + dw FlowerMailDesc + dw LevelBallDesc + dw LureBallDesc + dw FastBallDesc + dw TeruSama21Desc + dw LightBallDesc + dw FriendBallDesc + dw MoonBallDesc + dw LoveBallDesc + dw NormalBoxDesc + dw GorgeousBoxDesc + dw SunStoneDesc + dw PolkadotBowDesc + dw TeruSama22Desc + dw UpGradeDesc + dw BerryDesc + dw GoldBerryDesc + dw SquirtBottleDesc + dw TeruSama23Desc + dw ParkBallDesc + dw RainbowWingDesc + dw TeruSama24Desc + dw BrickPieceDesc + dw SurfMailDesc + dw LiteBlueMailDesc + dw PortraitMailDesc + dw LovelyMailDesc + dw EonMailDesc + dw MorphMailDesc + dw BlueSkyMailDesc + dw MusicMailDesc + dw MewMailDesc + dw TeruSama25Desc + dw TeruSama26Desc + dw TeruSama26Desc + dw TeruSama26Desc + dw TeruSama26Desc + dw TeruSama26Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama27Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama28Desc + dw TeruSama29Desc + dw TeruSama30Desc + dw TeruSama31Desc + dw TeruSama32Desc + dw TeruSama33Desc + +MasterBallDesc: + db "The best BALL. It" + next "never misses.@" + +UltraBallDesc: + db "A BALL with a high" + next "rate of success.@" + +BrightpowderDesc: + db "Lowers the foe's" + next "accuracy. (HOLD)@" + +GreatBallDesc: + db "A BALL with a de-" + next "cent success rate.@" + +PokeBallDesc: + db "An item for catch-" + next "ing #MON.@" + +TeruSama1Desc: + db "?@" + +BicycleDesc: + db "A collapsible bike" + next "for fast movement.@" + +MoonStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +AntidoteDesc: + db "Cures poisoned" + next "#MON.@" + +BurnHealDesc: + db "Heals burned" + next "#MON.@" + +IceHealDesc: + db "Defrosts frozen" + next "#MON.@" + +AwakeningDesc: + db "Awakens sleeping" + next "#MON.@" + +ParlyzHealDesc: + db "Heals paralyzed" + next "#MON.@" + +FullRestoreDesc: + db "Fully restores HP" + next "& status.@" + +MaxPotionDesc: + db "Fully restores" + next "#MON HP.@" + +HyperPotionDesc: + db "Restores #MON" + next "HP by 200.@" + +SuperPotionDesc: + db "Restores #MON" + next "HP by 50.@" + +PotionDesc: + db "Restores #MON" + next "HP by 20.@" + +EscapeRopeDesc: + db "Use for escaping" + next "from caves, etc.@" + +RepelDesc: + db "Repels weak #-" + next "MON for 100 steps.@" + +MaxElixerDesc: + db "Fully restores the" + next "PP of one #MON.@" + +FireStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +ThunderStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +WaterStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +TeruSama2Desc: + db "?@" + +HPUpDesc: + db "Raises the HP of" + next "one #MON.@" + +ProteinDesc: + db "Raises ATTACK of" + next "one #MON.@" + +IronDesc: + db "Raises DEFENSE of" + next "one #MON.@" + +CarbosDesc: + db "Raises SPEED of" + next "one #MON.@" + +LuckyPunchDesc: + db "Ups critical hit" + next "ratio of CHANSEY.@" + +CalciumDesc: + db "Ups SPECIAL stats" + next "of one #MON.@" + +RareCandyDesc: + db "Raises level of a" + next "#MON by one.@" + +XAccuracyDesc: + db "Raises accuracy." + next "(1 BTL)@" + +LeafStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +MetalPowderDesc: + db "Raises DEFENSE of" + next "DITTO. (HOLD)@" + +NuggetDesc: + db "Made of pure gold." + next "Sell high.@" + +PokeDollDesc: + db "Use to escape from" + next "a wild #MON.@" + +FullHealDesc: + db "Eliminates all" + next "status problems.@" + +ReviveDesc: + db "Restores a fainted" + next "#MON to 1/2 HP.@" + +MaxReviveDesc: + db "Fully restores a" + next "fainted #MON.@" + +GuardSpecDesc: + db "Prevents stats" + next "reduction. (1 BTL)@" + +SuperRepelDesc: + db "Repels weak #-" + next "MON for 200 steps.@" + +MaxRepelDesc: + db "Repels weak #-" + next "MON for 250 steps.@" + +DireHitDesc: + db "Ups critical hit" + next "ratio. (1 BTL)@" + +TeruSama3Desc: + db "?@" + +FreshWaterDesc: + db "Restores #MON" + next "HP by 50.@" + +SodaPopDesc: + db "Restores #MON" + next "HP by 60.@" + +LemonadeDesc: + db "Restores #MON" + next "HP by 80.@" + +XAttackDesc: + db "Raises ATTACK." + next "(1 BTL)@" + +TeruSama4Desc: + db "?@" + +XDefendDesc: + db "Raises DEFENSE." + next "(1 BTL)@" + +XSpeedDesc: + db "Raises SPEED." + next "(1 BTL)@" + +XSpecialDesc: + db "Raises SPECIAL" + next "ATTACK. (1 BTL)@" + +CoinCaseDesc: + db "Holds up to 9,999" + next "game coins.@" + +ItemfinderDesc: + db "Checks for unseen" + next "items in the area.@" + +TeruSama5Desc: + db "?@" + +ExpShareDesc: + db "Shares battle EXP." + next "Points. (HOLD)@" + +OldRodDesc: + db "Use by water to" + next "fish for #MON.@" + +GoodRodDesc: + db "A good ROD for" + next "catching #MON.@" + +SilverLeafDesc: + db "A strange, silver-" + next "colored leaf.@" + +SuperRodDesc: + db "The best ROD for" + next "catching #MON.@" + +PPUpDesc: + db "Raises max PP of" + next "a selected move.@" + +EtherDesc: + db "Restores PP of one" + next "move by 10.@" + +MaxEtherDesc: + db "Fully restores PP" + next "of one move.@" + +ElixerDesc: + db "Restores PP of all" + next "moves by 10.@" + +RedScaleDesc: + db "A scale from the" + next "red GYARADOS.@" + +SecretPotionDesc: + db "Fully heals any" + next "#MON.@" + +SSTicketDesc: + db "A ticket for the" + next "S.S.AQUA.@" + +MysteryEggDesc: + db "An EGG obtained" + next "from MR.#MON.@" + +ClearBellDesc: + db "Makes a gentle" + next "ringing.@" + +SilverWingDesc: + db "A strange, silver-" + next "colored feather.@" + +MoomooMilkDesc: + db "Restores #MON" + next "HP by 100.@" + +QuickClawDesc: + db "Raises 1st strike" + next "ratio. (HOLD)@" + +PsnCureBerryDesc: + db "A self-cure for" + next "poison. (HOLD)@" + +GoldLeafDesc: + db "A strange, gold-" + next "colored leaf.@" + +SoftSandDesc: + db "Powers up ground-" + next "type moves. (HOLD)@" + +SharpBeakDesc: + db "Powers up flying-" + next "type moves. (HOLD)@" + +PrzCureBerryDesc: + db "A self-cure for" + next "paralysis. (HOLD)@" + +BurntBerryDesc: + db "A self-cure for" + next "freezing. (HOLD)@" + +IceBerryDesc: + db "A self-heal for a" + next "burn. (HOLD)@" + +PoisonBarbDesc: + db "Powers up poison-" + next "type moves. (HOLD)@" + +KingsRockDesc: + db "May make the foe" + next "flinch. (HOLD)@" + +BitterBerryDesc: + db "A self-cure for" + next "confusion. (HOLD)@" + +MintBerryDesc: + db "A self-awakening" + next "for sleep. (HOLD)@" + +RedApricornDesc: + db "A red APRICORN.@" + +TinyMushroomDesc: + db "An ordinary mush-" + next "room. Sell low.@" + +BigMushroomDesc: + db "A rare mushroom." + next "Sell high.@" + +SilverPowderDesc: + db "Powers up bug-type" + next "moves. (HOLD)@" + +BluApricornDesc: + db "A blue APRICORN.@" + +TeruSama6Desc: + db "?@" + +AmuletCoinDesc: + db "Doubles monetary" + next "earnings. (HOLD)@" + +YlwApricornDesc: + db "A yellow APRICORN.@" + +GrnApricornDesc: + db "A green APRICORN.@" + +CleanseTagDesc: + db "Helps repel wild" + next "#MON. (HOLD)@" + +MysticWaterDesc: + db "Powers up water-" + next "type moves. (HOLD)@" + +TwistedSpoonDesc: + db "Powers up psychic-" + next "type moves. (HOLD)@" + +WhtApricornDesc: + db "A white APRICORN.@" + +BlackbeltDesc: + db "Boosts fighting-" + next "type moves. (HOLD)@" + +BlkApricornDesc: + db "A black APRICORN." + next "@" + +TeruSama7Desc: + db "?@" + +PnkApricornDesc: + db "A pink APRICORN." + next "@" + +BlackGlassesDesc: + db "Powers up dark-" + next "type moves. (HOLD)@" + +SlowpokeTailDesc: + db "Very tasty. Sell" + next "high.@" + +PinkBowDesc: + db "Powers up normal-" + next "type moves. (HOLD)@" + +StickDesc: + db "An ordinary stick." + next "Sell low.@" + +SmokeBallDesc: + db "Escape from wild" + next "#MON. (HOLD)@" + +NeverMeltIceDesc: + db "Powers up ice-type" + next "moves. (HOLD)@" + +MagnetDesc: + db "Boosts electric-" + next "type moves. (HOLD)@" + +MiracleBerryDesc: + db "Cures all status" + next "problems. (HOLD)@" + +PearlDesc: + db "A beautiful pearl." + next "Sell low.@" + +BigPearlDesc: + db "A big, beautiful" + next "pearl. Sell high.@" + +EverStoneDesc: + db "Stops evolution." + next "(HOLD)@" + +SpellTagDesc: + db "Powers up ghost-" + next "type moves. (HOLD)@" + +RageCandyBarDesc: + db "Restores #MON" + next "HP by 20.@" + +GSBallDesc: + db "The mysterious" + next "BALL.@" + +BlueCardDesc: + db "Card to save" + next "points.@" + +MiracleSeedDesc: + db "Powers up grass-" + next "type moves. (HOLD)@" + +ThickClubDesc: + db "A bone of some" + next "sort. Sell low.@" + +FocusBandDesc: + db "May prevent faint-" + next "ing. (HOLD)@" + +TeruSama8Desc: + db "?@" + +EnergyPowderDesc: + db "Restores #MON" + next "HP by 50. Bitter.@" + +EnergyRootDesc: + db "Restores #MON" + next "HP by 200. Bitter.@" + +HealPowderDesc: + db "Cures all status" + next "problems. Bitter.@" + +RevivalHerbDesc: + db "Revives fainted" + next "#MON. Bitter.@" + +HardStoneDesc: + db "Powers up rock-" + next "type moves. (HOLD)@" + +LuckyEggDesc: + db "Earns extra EXP." + next "points. (HOLD)@" + +CardKeyDesc: + db "Opens shutters in" + next "the RADIO TOWER.@" + +MachinePartDesc: + db "A machine part for" + next "the POWER PLANT.@" + +EggTicketDesc: + db "May use at Golden-" + next "rod trade corner.@" + +LostItemDesc: + db "The # DOLL lost" + next "by the COPYCAT.@" + +StardustDesc: + db "Pretty, red sand." + next "Sell high.@" + +StarPieceDesc: + db "A hunk of red gem." + next "Sell very high.@" + +BasementKeyDesc: + db "Opens doors.@" + +PassDesc: + db "A ticket for the" + next "MAGNET TRAIN.@" + +TeruSama9Desc: + db "?@" + +TeruSama10Desc: + db "?@" + +TeruSama11Desc: + db "?@" + +CharcoalDesc: + db "Powers up fire-" + next "type moves. (HOLD)@" + +BerryJuiceDesc: + db "Restores #MON" + next "HP by 20.@" + +ScopeLensDesc: + db "Raises critical" + next "hit ratio. (HOLD)@" + +TeruSama12Desc: + db "?@" + +TeruSama13Desc: + db "?@" + +MetalCoatDesc: + db "Powers up steel-" + next "type moves. (HOLD)@" + +DragonFangDesc: + db "Powers up dragon-" + next "type moves. (HOLD)@" + +TeruSama14Desc: + db "?@" + +LeftoversDesc: + db "Restores HP during" + next "battle. (HOLD)@" + +TeruSama15Desc: + db "?@" + +TeruSama16Desc: + db "?@" + +TeruSama17Desc: + db "?@" + +MysteryBerryDesc: + db "A self-restore" + next "for PP. (HOLD)@" + +DragonScaleDesc: + db "A rare dragon-type" + next "item.@" + +BerserkGeneDesc: + db "Boosts ATTACK but" + next "causes confusion.@" + +TeruSama18Desc: + db "?@" + +TeruSama19Desc: + db "?@" + +TeruSama20Desc: + db "?@" + +SacredAshDesc: + db "Fully revives all" + next "fainted #MON.@" + +HeavyBallDesc: + db "A BALL for catch-" + next "ing heavy #MON.@" + +FlowerMailDesc: + db "Flower-print MAIL." + next "(HOLD)@" + +LevelBallDesc: + db "A BALL for lower-" + next "level #MON.@" + +LureBallDesc: + db "A BALL for #MON" + next "hooked by a ROD.@" + +FastBallDesc: + db "A BALL for catch-" + next "ing fast #MON.@" + +TeruSama21Desc: + db "?@" + +LightBallDesc: + db "An odd, electrical" + next "orb. (HOLD)@" + +FriendBallDesc: + db "A BALL that makes" + next "#MON friendly.@" + +MoonBallDesc: + db "A BALL for MOON" + next "STONE evolvers.@" + +LoveBallDesc: + db "For catching the" + next "opposite gender.@" + +NormalBoxDesc: + db "Open it and see" + next "what's inside.@" + +GorgeousBoxDesc: + db "Open it and see" + next "what's inside.@" + +SunStoneDesc: + db "Evolves certain" + next "kinds of #MON.@" + +PolkadotBowDesc: + db "Powers up normal-" + next "type moves. (HOLD)@" + +TeruSama22Desc: + db "?@" + +UpGradeDesc: + db "A mysterious box" + next "made by SILPH CO.@" + +BerryDesc: + db "A self-restore" + next "item. (10HP, HOLD)@" + +GoldBerryDesc: + db "A self-restore" + next "item. (30HP, HOLD)@" + +SquirtBottleDesc: + db "A bottle used for" + next "watering plants.@" + +TeruSama23Desc: + db "?@" + +ParkBallDesc: + db "The Bug-Catching" + next "Contest BALL.@" + +RainbowWingDesc: + db "A mystical feather" + next "of rainbow colors.@" + +TeruSama24Desc: + db "?@" + +BrickPieceDesc: + db "A rare chunk of" + next "tile.@" + +SurfMailDesc: + db "LAPRAS-print MAIL." + next "(HOLD)@" + +LiteBlueMailDesc: + db "DRATINI-print" + next "MAIL. (HOLD)@" + +PortraitMailDesc: + db "MAIL featuring the" + next "holder's likeness.@" + +LovelyMailDesc: + db "Heart-print MAIL." + next "(HOLD)@" + +EonMailDesc: + db "EEVEE-print MAIL." + next "(HOLD)@" + +MorphMailDesc: + db "DITTO-print MAIL." + next "(HOLD)@" + +BlueSkyMailDesc: + db "Sky-print MAIL." + next "(HOLD)@" + +MusicMailDesc: + db "NATU-print MAIL." + next "(HOLD)@" + +MewMailDesc: + db "MEW-print MAIL." + next "(HOLD)@" + +TeruSama25Desc: + db "?@" + +TeruSama26Desc: + db "?@" + +TeruSama27Desc: + db "?@" + +TeruSama28Desc: + db "?@" + +TeruSama29Desc: + db "?@" + +TeruSama30Desc: + db "?@" + +TeruSama31Desc: + db "?@" + +TeruSama32Desc: + db "?@" + +TeruSama33Desc: + db "?@" diff --git a/data/items/item_attributes.asm b/data/items/item_attributes.asm deleted file mode 100644 index dc2842760..000000000 --- a/data/items/item_attributes.asm +++ /dev/null @@ -1,521 +0,0 @@ -item_attribute: MACRO -; price, held effect, parameter, property, pocket, field menu, battle menu - dw \1 - db \2, \3, \4, \5 - dn \6, \7 -ENDM - -ItemAttributes: ; 67c1 -; entries correspond to constants/item_constants.asm -; MASTER BALL - item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; ULTRA BALL - item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; BRIGHTPOWDER - item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; GREAT BALL - item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; # BALL - item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BICYCLE - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; MOON STONE - item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; ANTIDOTE - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; BURN HEAL - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ICE HEAL - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; AWAKENING - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; PARLYZ HEAL - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; FULL RESTORE - item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; MAX POTION - item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; HYPER POTION - item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; SUPER POTION - item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; POTION - item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ESCAPE ROPE - item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; REPEL - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; MAX ELIXER - item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; FIRE STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; THUNDERSTONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; WATER STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; HP UP - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; PROTEIN - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; IRON - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; CARBOS - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; LUCKY PUNCH - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CALCIUM - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; RARE CANDY - item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; X ACCURACY - item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; LEAF STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; METAL POWDER - item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; NUGGET - item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; # DOLL - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; FULL HEAL - item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; REVIVE - item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; MAX REVIVE - item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; GUARD SPEC. - item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; SUPER REPEL - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; MAX REPEL - item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; DIRE HIT - item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; FRESH WATER - item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; SODA POP - item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; LEMONADE - item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; X ATTACK - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; X DEFEND - item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; X SPEED - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; X SPECIAL - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; COIN CASE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; ITEMFINDER - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; EXP.SHARE - item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; OLD ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; GOOD ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; SILVER LEAF - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SUPER ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; PP UP - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; ETHER - item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; MAX ETHER - item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ELIXER - item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; RED SCALE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SECRETPOTION - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; S.S.TICKET - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MYSTERY EGG - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CLEAR BELL - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SILVER WING - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MOOMOO MILK - item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; QUICK CLAW - item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PSNCUREBERRY - item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; GOLD LEAF - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SOFT SAND - item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SHARP BEAK - item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PRZCUREBERRY - item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; BURNT BERRY - item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ICE BERRY - item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; POISON BARB - item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; KING'S ROCK - item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BITTER BERRY - item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY -; MINT BERRY - item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; RED APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TINYMUSHROOM - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BIG MUSHROOM - item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SILVERPOWDER - item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLU APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; AMULET COIN - item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; YLW APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; GRN APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CLEANSE TAG - item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MYSTIC WATER - item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TWISTEDSPOON - item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; WHT APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLACKBELT - item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLK APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PNK APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLACKGLASSES - item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SLOWPOKETAIL - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PINK BOW - item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; STICK - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SMOKE BALL - item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; NEVERMELTICE - item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MAGNET - item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MIRACLEBERRY - item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; PEARL - item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BIG PEARL - item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; EVERSTONE - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SPELL TAG - item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; RAGECANDYBAR - item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; GS BALL - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLUE CARD - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; MIRACLE SEED - item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; THICK CLUB - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; FOCUS BAND - item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; ENERGYPOWDER - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; ENERGY ROOT - item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; HEAL POWDER - item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; REVIVAL HERB - item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; HARD STONE - item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LUCKY EGG - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CARD KEY - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; MACHINE PART - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; EGG TICKET - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LOST ITEM - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; STARDUST - item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; STAR PIECE - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BASEMENT KEY - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; PASS - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; CHARCOAL - item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BERRY JUICE - item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; SCOPE LENS - item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; METAL COAT - item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; DRAGON FANG - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LEFTOVERS - item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MYSTERYBERRY - item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; DRAGON SCALE - item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BERSERK GENE - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SACRED ASH - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; HEAVY BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; FLOWER MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LEVEL BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; LURE BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; FAST BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LIGHT BALL - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; FRIEND BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; MOON BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; LOVE BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; NORMAL BOX - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; GORGEOUS BOX - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE -; SUN STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; POLKADOT BOW - item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; UP-GRADE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BERRY - item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; GOLD BERRY - item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY -; SQUIRTBOTTLE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PARK BALL - item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE -; RAINBOW WING - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BRICK PIECE - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; SURF MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LITEBLUEMAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; PORTRAITMAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; LOVELY MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; EON MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MORPH MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; BLUESKY MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MUSIC MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; MIRAGE MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TM01 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM02 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM03 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM04 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TM05 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM06 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM07 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM08 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM09 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM10 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM11 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM12 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM13 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM14 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM15 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM16 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM17 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM18 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM19 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM20 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM21 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM22 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM23 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM24 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM25 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM26 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM27 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM28 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TM29 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM30 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM31 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM32 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM33 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM34 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM35 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM36 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM37 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM38 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM39 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM40 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM41 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM42 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM43 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM44 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM45 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM46 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM47 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM48 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM49 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TM50 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM01 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM02 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM03 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM04 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM05 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM06 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; HM07 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE -; ? - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE diff --git a/data/items/item_descriptions.asm b/data/items/item_descriptions.asm deleted file mode 100644 index e5b01e8fd..000000000 --- a/data/items/item_descriptions.asm +++ /dev/null @@ -1,1042 +0,0 @@ -PrintItemDescription: ; 0x1c8955 -; Print the description for item [CurSpecies] at de. - - ld a, [CurSpecies] - cp TM01 - jr c, .not_a_tm - - ld [CurItem], a - push de - farcall GetTMHMItemMove - pop hl - ld a, [wd265] - ld [CurSpecies], a - predef PrintMoveDesc - ret - -.not_a_tm - push de - ld hl, ItemDescriptions - ld a, [CurSpecies] - dec a - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - pop hl - jp PlaceString -; 0x1c8987 - - -ItemDescriptions: - dw MasterBallDesc - dw UltraBallDesc - dw BrightpowderDesc - dw GreatBallDesc - dw PokeBallDesc - dw TeruSama1Desc - dw BicycleDesc - dw MoonStoneDesc - dw AntidoteDesc - dw BurnHealDesc - dw IceHealDesc - dw AwakeningDesc - dw ParlyzHealDesc - dw FullRestoreDesc - dw MaxPotionDesc - dw HyperPotionDesc - dw SuperPotionDesc - dw PotionDesc - dw EscapeRopeDesc - dw RepelDesc - dw MaxElixerDesc - dw FireStoneDesc - dw ThunderStoneDesc - dw WaterStoneDesc - dw TeruSama2Desc - dw HPUpDesc - dw ProteinDesc - dw IronDesc - dw CarbosDesc - dw LuckyPunchDesc - dw CalciumDesc - dw RareCandyDesc - dw XAccuracyDesc - dw LeafStoneDesc - dw MetalPowderDesc - dw NuggetDesc - dw PokeDollDesc - dw FullHealDesc - dw ReviveDesc - dw MaxReviveDesc - dw GuardSpecDesc - dw SuperRepelDesc - dw MaxRepelDesc - dw DireHitDesc - dw TeruSama3Desc - dw FreshWaterDesc - dw SodaPopDesc - dw LemonadeDesc - dw XAttackDesc - dw TeruSama4Desc - dw XDefendDesc - dw XSpeedDesc - dw XSpecialDesc - dw CoinCaseDesc - dw ItemfinderDesc - dw TeruSama5Desc - dw ExpShareDesc - dw OldRodDesc - dw GoodRodDesc - dw SilverLeafDesc - dw SuperRodDesc - dw PPUpDesc - dw EtherDesc - dw MaxEtherDesc - dw ElixerDesc - dw RedScaleDesc - dw SecretPotionDesc - dw SSTicketDesc - dw MysteryEggDesc - dw ClearBellDesc - dw SilverWingDesc - dw MoomooMilkDesc - dw QuickClawDesc - dw PsnCureBerryDesc - dw GoldLeafDesc - dw SoftSandDesc - dw SharpBeakDesc - dw PrzCureBerryDesc - dw BurntBerryDesc - dw IceBerryDesc - dw PoisonBarbDesc - dw KingsRockDesc - dw BitterBerryDesc - dw MintBerryDesc - dw RedApricornDesc - dw TinyMushroomDesc - dw BigMushroomDesc - dw SilverPowderDesc - dw BluApricornDesc - dw TeruSama6Desc - dw AmuletCoinDesc - dw YlwApricornDesc - dw GrnApricornDesc - dw CleanseTagDesc - dw MysticWaterDesc - dw TwistedSpoonDesc - dw WhtApricornDesc - dw BlackbeltDesc - dw BlkApricornDesc - dw TeruSama7Desc - dw PnkApricornDesc - dw BlackGlassesDesc - dw SlowpokeTailDesc - dw PinkBowDesc - dw StickDesc - dw SmokeBallDesc - dw NeverMeltIceDesc - dw MagnetDesc - dw MiracleBerryDesc - dw PearlDesc - dw BigPearlDesc - dw EverStoneDesc - dw SpellTagDesc - dw RageCandyBarDesc - dw GSBallDesc - dw BlueCardDesc - dw MiracleSeedDesc - dw ThickClubDesc - dw FocusBandDesc - dw TeruSama8Desc - dw EnergyPowderDesc - dw EnergyRootDesc - dw HealPowderDesc - dw RevivalHerbDesc - dw HardStoneDesc - dw LuckyEggDesc - dw CardKeyDesc - dw MachinePartDesc - dw EggTicketDesc - dw LostItemDesc - dw StardustDesc - dw StarPieceDesc - dw BasementKeyDesc - dw PassDesc - dw TeruSama9Desc - dw TeruSama10Desc - dw TeruSama11Desc - dw CharcoalDesc - dw BerryJuiceDesc - dw ScopeLensDesc - dw TeruSama12Desc - dw TeruSama13Desc - dw MetalCoatDesc - dw DragonFangDesc - dw TeruSama14Desc - dw LeftoversDesc - dw TeruSama15Desc - dw TeruSama16Desc - dw TeruSama17Desc - dw MysteryBerryDesc - dw DragonScaleDesc - dw BerserkGeneDesc - dw TeruSama18Desc - dw TeruSama19Desc - dw TeruSama20Desc - dw SacredAshDesc - dw HeavyBallDesc - dw FlowerMailDesc - dw LevelBallDesc - dw LureBallDesc - dw FastBallDesc - dw TeruSama21Desc - dw LightBallDesc - dw FriendBallDesc - dw MoonBallDesc - dw LoveBallDesc - dw NormalBoxDesc - dw GorgeousBoxDesc - dw SunStoneDesc - dw PolkadotBowDesc - dw TeruSama22Desc - dw UpGradeDesc - dw BerryDesc - dw GoldBerryDesc - dw SquirtBottleDesc - dw TeruSama23Desc - dw ParkBallDesc - dw RainbowWingDesc - dw TeruSama24Desc - dw BrickPieceDesc - dw SurfMailDesc - dw LiteBlueMailDesc - dw PortraitMailDesc - dw LovelyMailDesc - dw EonMailDesc - dw MorphMailDesc - dw BlueSkyMailDesc - dw MusicMailDesc - dw MewMailDesc - dw TeruSama25Desc - dw TeruSama26Desc - dw TeruSama26Desc - dw TeruSama26Desc - dw TeruSama26Desc - dw TeruSama26Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama27Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama28Desc - dw TeruSama29Desc - dw TeruSama30Desc - dw TeruSama31Desc - dw TeruSama32Desc - dw TeruSama33Desc - -MasterBallDesc: - db "The best BALL. It" - next "never misses.@" - -UltraBallDesc: - db "A BALL with a high" - next "rate of success.@" - -BrightpowderDesc: - db "Lowers the foe's" - next "accuracy. (HOLD)@" - -GreatBallDesc: - db "A BALL with a de-" - next "cent success rate.@" - -PokeBallDesc: - db "An item for catch-" - next "ing #MON.@" - -TeruSama1Desc: - db "?@" - -BicycleDesc: - db "A collapsible bike" - next "for fast movement.@" - -MoonStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -AntidoteDesc: - db "Cures poisoned" - next "#MON.@" - -BurnHealDesc: - db "Heals burned" - next "#MON.@" - -IceHealDesc: - db "Defrosts frozen" - next "#MON.@" - -AwakeningDesc: - db "Awakens sleeping" - next "#MON.@" - -ParlyzHealDesc: - db "Heals paralyzed" - next "#MON.@" - -FullRestoreDesc: - db "Fully restores HP" - next "& status.@" - -MaxPotionDesc: - db "Fully restores" - next "#MON HP.@" - -HyperPotionDesc: - db "Restores #MON" - next "HP by 200.@" - -SuperPotionDesc: - db "Restores #MON" - next "HP by 50.@" - -PotionDesc: - db "Restores #MON" - next "HP by 20.@" - -EscapeRopeDesc: - db "Use for escaping" - next "from caves, etc.@" - -RepelDesc: - db "Repels weak #-" - next "MON for 100 steps.@" - -MaxElixerDesc: - db "Fully restores the" - next "PP of one #MON.@" - -FireStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -ThunderStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -WaterStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -TeruSama2Desc: - db "?@" - -HPUpDesc: - db "Raises the HP of" - next "one #MON.@" - -ProteinDesc: - db "Raises ATTACK of" - next "one #MON.@" - -IronDesc: - db "Raises DEFENSE of" - next "one #MON.@" - -CarbosDesc: - db "Raises SPEED of" - next "one #MON.@" - -LuckyPunchDesc: - db "Ups critical hit" - next "ratio of CHANSEY.@" - -CalciumDesc: - db "Ups SPECIAL stats" - next "of one #MON.@" - -RareCandyDesc: - db "Raises level of a" - next "#MON by one.@" - -XAccuracyDesc: - db "Raises accuracy." - next "(1 BTL)@" - -LeafStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -MetalPowderDesc: - db "Raises DEFENSE of" - next "DITTO. (HOLD)@" - -NuggetDesc: - db "Made of pure gold." - next "Sell high.@" - -PokeDollDesc: - db "Use to escape from" - next "a wild #MON.@" - -FullHealDesc: - db "Eliminates all" - next "status problems.@" - -ReviveDesc: - db "Restores a fainted" - next "#MON to 1/2 HP.@" - -MaxReviveDesc: - db "Fully restores a" - next "fainted #MON.@" - -GuardSpecDesc: - db "Prevents stats" - next "reduction. (1 BTL)@" - -SuperRepelDesc: - db "Repels weak #-" - next "MON for 200 steps.@" - -MaxRepelDesc: - db "Repels weak #-" - next "MON for 250 steps.@" - -DireHitDesc: - db "Ups critical hit" - next "ratio. (1 BTL)@" - -TeruSama3Desc: - db "?@" - -FreshWaterDesc: - db "Restores #MON" - next "HP by 50.@" - -SodaPopDesc: - db "Restores #MON" - next "HP by 60.@" - -LemonadeDesc: - db "Restores #MON" - next "HP by 80.@" - -XAttackDesc: - db "Raises ATTACK." - next "(1 BTL)@" - -TeruSama4Desc: - db "?@" - -XDefendDesc: - db "Raises DEFENSE." - next "(1 BTL)@" - -XSpeedDesc: - db "Raises SPEED." - next "(1 BTL)@" - -XSpecialDesc: - db "Raises SPECIAL" - next "ATTACK. (1 BTL)@" - -CoinCaseDesc: - db "Holds up to 9,999" - next "game coins.@" - -ItemfinderDesc: - db "Checks for unseen" - next "items in the area.@" - -TeruSama5Desc: - db "?@" - -ExpShareDesc: - db "Shares battle EXP." - next "Points. (HOLD)@" - -OldRodDesc: - db "Use by water to" - next "fish for #MON.@" - -GoodRodDesc: - db "A good ROD for" - next "catching #MON.@" - -SilverLeafDesc: - db "A strange, silver-" - next "colored leaf.@" - -SuperRodDesc: - db "The best ROD for" - next "catching #MON.@" - -PPUpDesc: - db "Raises max PP of" - next "a selected move.@" - -EtherDesc: - db "Restores PP of one" - next "move by 10.@" - -MaxEtherDesc: - db "Fully restores PP" - next "of one move.@" - -ElixerDesc: - db "Restores PP of all" - next "moves by 10.@" - -RedScaleDesc: - db "A scale from the" - next "red GYARADOS.@" - -SecretPotionDesc: - db "Fully heals any" - next "#MON.@" - -SSTicketDesc: - db "A ticket for the" - next "S.S.AQUA.@" - -MysteryEggDesc: - db "An EGG obtained" - next "from MR.#MON.@" - -ClearBellDesc: - db "Makes a gentle" - next "ringing.@" - -SilverWingDesc: - db "A strange, silver-" - next "colored feather.@" - -MoomooMilkDesc: - db "Restores #MON" - next "HP by 100.@" - -QuickClawDesc: - db "Raises 1st strike" - next "ratio. (HOLD)@" - -PsnCureBerryDesc: - db "A self-cure for" - next "poison. (HOLD)@" - -GoldLeafDesc: - db "A strange, gold-" - next "colored leaf.@" - -SoftSandDesc: - db "Powers up ground-" - next "type moves. (HOLD)@" - -SharpBeakDesc: - db "Powers up flying-" - next "type moves. (HOLD)@" - -PrzCureBerryDesc: - db "A self-cure for" - next "paralysis. (HOLD)@" - -BurntBerryDesc: - db "A self-cure for" - next "freezing. (HOLD)@" - -IceBerryDesc: - db "A self-heal for a" - next "burn. (HOLD)@" - -PoisonBarbDesc: - db "Powers up poison-" - next "type moves. (HOLD)@" - -KingsRockDesc: - db "May make the foe" - next "flinch. (HOLD)@" - -BitterBerryDesc: - db "A self-cure for" - next "confusion. (HOLD)@" - -MintBerryDesc: - db "A self-awakening" - next "for sleep. (HOLD)@" - -RedApricornDesc: - db "A red APRICORN.@" - -TinyMushroomDesc: - db "An ordinary mush-" - next "room. Sell low.@" - -BigMushroomDesc: - db "A rare mushroom." - next "Sell high.@" - -SilverPowderDesc: - db "Powers up bug-type" - next "moves. (HOLD)@" - -BluApricornDesc: - db "A blue APRICORN.@" - -TeruSama6Desc: - db "?@" - -AmuletCoinDesc: - db "Doubles monetary" - next "earnings. (HOLD)@" - -YlwApricornDesc: - db "A yellow APRICORN.@" - -GrnApricornDesc: - db "A green APRICORN.@" - -CleanseTagDesc: - db "Helps repel wild" - next "#MON. (HOLD)@" - -MysticWaterDesc: - db "Powers up water-" - next "type moves. (HOLD)@" - -TwistedSpoonDesc: - db "Powers up psychic-" - next "type moves. (HOLD)@" - -WhtApricornDesc: - db "A white APRICORN.@" - -BlackbeltDesc: - db "Boosts fighting-" - next "type moves. (HOLD)@" - -BlkApricornDesc: - db "A black APRICORN." - next "@" - -TeruSama7Desc: - db "?@" - -PnkApricornDesc: - db "A pink APRICORN." - next "@" - -BlackGlassesDesc: - db "Powers up dark-" - next "type moves. (HOLD)@" - -SlowpokeTailDesc: - db "Very tasty. Sell" - next "high.@" - -PinkBowDesc: - db "Powers up normal-" - next "type moves. (HOLD)@" - -StickDesc: - db "An ordinary stick." - next "Sell low.@" - -SmokeBallDesc: - db "Escape from wild" - next "#MON. (HOLD)@" - -NeverMeltIceDesc: - db "Powers up ice-type" - next "moves. (HOLD)@" - -MagnetDesc: - db "Boosts electric-" - next "type moves. (HOLD)@" - -MiracleBerryDesc: - db "Cures all status" - next "problems. (HOLD)@" - -PearlDesc: - db "A beautiful pearl." - next "Sell low.@" - -BigPearlDesc: - db "A big, beautiful" - next "pearl. Sell high.@" - -EverStoneDesc: - db "Stops evolution." - next "(HOLD)@" - -SpellTagDesc: - db "Powers up ghost-" - next "type moves. (HOLD)@" - -RageCandyBarDesc: - db "Restores #MON" - next "HP by 20.@" - -GSBallDesc: - db "The mysterious" - next "BALL.@" - -BlueCardDesc: - db "Card to save" - next "points.@" - -MiracleSeedDesc: - db "Powers up grass-" - next "type moves. (HOLD)@" - -ThickClubDesc: - db "A bone of some" - next "sort. Sell low.@" - -FocusBandDesc: - db "May prevent faint-" - next "ing. (HOLD)@" - -TeruSama8Desc: - db "?@" - -EnergyPowderDesc: - db "Restores #MON" - next "HP by 50. Bitter.@" - -EnergyRootDesc: - db "Restores #MON" - next "HP by 200. Bitter.@" - -HealPowderDesc: - db "Cures all status" - next "problems. Bitter.@" - -RevivalHerbDesc: - db "Revives fainted" - next "#MON. Bitter.@" - -HardStoneDesc: - db "Powers up rock-" - next "type moves. (HOLD)@" - -LuckyEggDesc: - db "Earns extra EXP." - next "points. (HOLD)@" - -CardKeyDesc: - db "Opens shutters in" - next "the RADIO TOWER.@" - -MachinePartDesc: - db "A machine part for" - next "the POWER PLANT.@" - -EggTicketDesc: - db "May use at Golden-" - next "rod trade corner.@" - -LostItemDesc: - db "The # DOLL lost" - next "by the COPYCAT.@" - -StardustDesc: - db "Pretty, red sand." - next "Sell high.@" - -StarPieceDesc: - db "A hunk of red gem." - next "Sell very high.@" - -BasementKeyDesc: - db "Opens doors.@" - -PassDesc: - db "A ticket for the" - next "MAGNET TRAIN.@" - -TeruSama9Desc: - db "?@" - -TeruSama10Desc: - db "?@" - -TeruSama11Desc: - db "?@" - -CharcoalDesc: - db "Powers up fire-" - next "type moves. (HOLD)@" - -BerryJuiceDesc: - db "Restores #MON" - next "HP by 20.@" - -ScopeLensDesc: - db "Raises critical" - next "hit ratio. (HOLD)@" - -TeruSama12Desc: - db "?@" - -TeruSama13Desc: - db "?@" - -MetalCoatDesc: - db "Powers up steel-" - next "type moves. (HOLD)@" - -DragonFangDesc: - db "Powers up dragon-" - next "type moves. (HOLD)@" - -TeruSama14Desc: - db "?@" - -LeftoversDesc: - db "Restores HP during" - next "battle. (HOLD)@" - -TeruSama15Desc: - db "?@" - -TeruSama16Desc: - db "?@" - -TeruSama17Desc: - db "?@" - -MysteryBerryDesc: - db "A self-restore" - next "for PP. (HOLD)@" - -DragonScaleDesc: - db "A rare dragon-type" - next "item.@" - -BerserkGeneDesc: - db "Boosts ATTACK but" - next "causes confusion.@" - -TeruSama18Desc: - db "?@" - -TeruSama19Desc: - db "?@" - -TeruSama20Desc: - db "?@" - -SacredAshDesc: - db "Fully revives all" - next "fainted #MON.@" - -HeavyBallDesc: - db "A BALL for catch-" - next "ing heavy #MON.@" - -FlowerMailDesc: - db "Flower-print MAIL." - next "(HOLD)@" - -LevelBallDesc: - db "A BALL for lower-" - next "level #MON.@" - -LureBallDesc: - db "A BALL for #MON" - next "hooked by a ROD.@" - -FastBallDesc: - db "A BALL for catch-" - next "ing fast #MON.@" - -TeruSama21Desc: - db "?@" - -LightBallDesc: - db "An odd, electrical" - next "orb. (HOLD)@" - -FriendBallDesc: - db "A BALL that makes" - next "#MON friendly.@" - -MoonBallDesc: - db "A BALL for MOON" - next "STONE evolvers.@" - -LoveBallDesc: - db "For catching the" - next "opposite gender.@" - -NormalBoxDesc: - db "Open it and see" - next "what's inside.@" - -GorgeousBoxDesc: - db "Open it and see" - next "what's inside.@" - -SunStoneDesc: - db "Evolves certain" - next "kinds of #MON.@" - -PolkadotBowDesc: - db "Powers up normal-" - next "type moves. (HOLD)@" - -TeruSama22Desc: - db "?@" - -UpGradeDesc: - db "A mysterious box" - next "made by SILPH CO.@" - -BerryDesc: - db "A self-restore" - next "item. (10HP, HOLD)@" - -GoldBerryDesc: - db "A self-restore" - next "item. (30HP, HOLD)@" - -SquirtBottleDesc: - db "A bottle used for" - next "watering plants.@" - -TeruSama23Desc: - db "?@" - -ParkBallDesc: - db "The Bug-Catching" - next "Contest BALL.@" - -RainbowWingDesc: - db "A mystical feather" - next "of rainbow colors.@" - -TeruSama24Desc: - db "?@" - -BrickPieceDesc: - db "A rare chunk of" - next "tile.@" - -SurfMailDesc: - db "LAPRAS-print MAIL." - next "(HOLD)@" - -LiteBlueMailDesc: - db "DRATINI-print" - next "MAIL. (HOLD)@" - -PortraitMailDesc: - db "MAIL featuring the" - next "holder's likeness.@" - -LovelyMailDesc: - db "Heart-print MAIL." - next "(HOLD)@" - -EonMailDesc: - db "EEVEE-print MAIL." - next "(HOLD)@" - -MorphMailDesc: - db "DITTO-print MAIL." - next "(HOLD)@" - -BlueSkyMailDesc: - db "Sky-print MAIL." - next "(HOLD)@" - -MusicMailDesc: - db "NATU-print MAIL." - next "(HOLD)@" - -MewMailDesc: - db "MEW-print MAIL." - next "(HOLD)@" - -TeruSama25Desc: - db "?@" - -TeruSama26Desc: - db "?@" - -TeruSama27Desc: - db "?@" - -TeruSama28Desc: - db "?@" - -TeruSama29Desc: - db "?@" - -TeruSama30Desc: - db "?@" - -TeruSama31Desc: - db "?@" - -TeruSama32Desc: - db "?@" - -TeruSama33Desc: - db "?@" diff --git a/data/items/item_names.asm b/data/items/item_names.asm deleted file mode 100644 index f44100ab3..000000000 --- a/data/items/item_names.asm +++ /dev/null @@ -1,257 +0,0 @@ -ItemNames:: - db "MASTER BALL@" - db "ULTRA BALL@" - db "BRIGHTPOWDER@" - db "GREAT BALL@" - db "# BALL@" - db "TERU-SAMA@" - db "BICYCLE@" - db "MOON STONE@" - db "ANTIDOTE@" - db "BURN HEAL@" - db "ICE HEAL@" - db "AWAKENING@" - db "PARLYZ HEAL@" - db "FULL RESTORE@" - db "MAX POTION@" - db "HYPER POTION@" - db "SUPER POTION@" - db "POTION@" - db "ESCAPE ROPE@" - db "REPEL@" - db "MAX ELIXER@" - db "FIRE STONE@" - db "THUNDERSTONE@" - db "WATER STONE@" - db "TERU-SAMA@" - db "HP UP@" - db "PROTEIN@" - db "IRON@" - db "CARBOS@" - db "LUCKY PUNCH@" - db "CALCIUM@" - db "RARE CANDY@" - db "X ACCURACY@" - db "LEAF STONE@" - db "METAL POWDER@" - db "NUGGET@" - db "# DOLL@" - db "FULL HEAL@" - db "REVIVE@" - db "MAX REVIVE@" - db "GUARD SPEC.@" - db "SUPER REPEL@" - db "MAX REPEL@" - db "DIRE HIT@" - db "TERU-SAMA@" - db "FRESH WATER@" - db "SODA POP@" - db "LEMONADE@" - db "X ATTACK@" - db "TERU-SAMA@" - db "X DEFEND@" - db "X SPEED@" - db "X SPECIAL@" - db "COIN CASE@" - db "ITEMFINDER@" - db "TERU-SAMA@" - db "EXP.SHARE@" - db "OLD ROD@" - db "GOOD ROD@" - db "SILVER LEAF@" - db "SUPER ROD@" - db "PP UP@" - db "ETHER@" - db "MAX ETHER@" - db "ELIXER@" - db "RED SCALE@" - db "SECRETPOTION@" - db "S.S.TICKET@" - db "MYSTERY EGG@" - db "CLEAR BELL@" - db "SILVER WING@" - db "MOOMOO MILK@" - db "QUICK CLAW@" - db "PSNCUREBERRY@" - db "GOLD LEAF@" - db "SOFT SAND@" - db "SHARP BEAK@" - db "PRZCUREBERRY@" - db "BURNT BERRY@" - db "ICE BERRY@" - db "POISON BARB@" - db "KING'S ROCK@" - db "BITTER BERRY@" - db "MINT BERRY@" - db "RED APRICORN@" - db "TINYMUSHROOM@" - db "BIG MUSHROOM@" - db "SILVERPOWDER@" - db "BLU APRICORN@" - db "TERU-SAMA@" - db "AMULET COIN@" - db "YLW APRICORN@" - db "GRN APRICORN@" - db "CLEANSE TAG@" - db "MYSTIC WATER@" - db "TWISTEDSPOON@" - db "WHT APRICORN@" - db "BLACKBELT@" - db "BLK APRICORN@" - db "TERU-SAMA@" - db "PNK APRICORN@" - db "BLACKGLASSES@" - db "SLOWPOKETAIL@" - db "PINK BOW@" - db "STICK@" - db "SMOKE BALL@" - db "NEVERMELTICE@" - db "MAGNET@" - db "MIRACLEBERRY@" - db "PEARL@" - db "BIG PEARL@" - db "EVERSTONE@" - db "SPELL TAG@" - db "RAGECANDYBAR@" - db "GS BALL@" - db "BLUE CARD@" - db "MIRACLE SEED@" - db "THICK CLUB@" - db "FOCUS BAND@" - db "TERU-SAMA@" - db "ENERGYPOWDER@" - db "ENERGY ROOT@" - db "HEAL POWDER@" - db "REVIVAL HERB@" - db "HARD STONE@" - db "LUCKY EGG@" - db "CARD KEY@" - db "MACHINE PART@" - db "EGG TICKET@" - db "LOST ITEM@" - db "STARDUST@" - db "STAR PIECE@" - db "BASEMENT KEY@" - db "PASS@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "CHARCOAL@" - db "BERRY JUICE@" - db "SCOPE LENS@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "METAL COAT@" - db "DRAGON FANG@" - db "TERU-SAMA@" - db "LEFTOVERS@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "MYSTERYBERRY@" - db "DRAGON SCALE@" - db "BERSERK GENE@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "SACRED ASH@" - db "HEAVY BALL@" - db "FLOWER MAIL@" - db "LEVEL BALL@" - db "LURE BALL@" - db "FAST BALL@" - db "TERU-SAMA@" - db "LIGHT BALL@" - db "FRIEND BALL@" - db "MOON BALL@" - db "LOVE BALL@" - db "NORMAL BOX@" - db "GORGEOUS BOX@" - db "SUN STONE@" - db "POLKADOT BOW@" - db "TERU-SAMA@" - db "UP-GRADE@" - db "BERRY@" - db "GOLD BERRY@" - db "SQUIRTBOTTLE@" - db "TERU-SAMA@" - db "PARK BALL@" - db "RAINBOW WING@" - db "TERU-SAMA@" - db "BRICK PIECE@" - db "SURF MAIL@" - db "LITEBLUEMAIL@" - db "PORTRAITMAIL@" - db "LOVELY MAIL@" - db "EON MAIL@" - db "MORPH MAIL@" - db "BLUESKY MAIL@" - db "MUSIC MAIL@" - db "MIRAGE MAIL@" - db "TERU-SAMA@" - db "TM01@" - db "TM02@" - db "TM03@" - db "TM04@" - db "TERU-SAMA@" - db "TM05@" - db "TM06@" - db "TM07@" - db "TM08@" - db "TM09@" - db "TM10@" - db "TM11@" - db "TM12@" - db "TM13@" - db "TM14@" - db "TM15@" - db "TM16@" - db "TM17@" - db "TM18@" - db "TM19@" - db "TM20@" - db "TM21@" - db "TM22@" - db "TM23@" - db "TM24@" - db "TM25@" - db "TM26@" - db "TM27@" - db "TM28@" - db "TERU-SAMA@" - db "TM29@" - db "TM30@" - db "TM31@" - db "TM32@" - db "TM33@" - db "TM34@" - db "TM35@" - db "TM36@" - db "TM37@" - db "TM38@" - db "TM39@" - db "TM40@" - db "TM41@" - db "TM42@" - db "TM43@" - db "TM44@" - db "TM45@" - db "TM46@" - db "TM47@" - db "TM48@" - db "TM49@" - db "TM50@" - db "HM01@" - db "HM02@" - db "HM03@" - db "HM04@" - db "HM05@" - db "HM06@" - db "HM07@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "TERU-SAMA@" - db "?@" diff --git a/data/items/names.asm b/data/items/names.asm new file mode 100644 index 000000000..f44100ab3 --- /dev/null +++ b/data/items/names.asm @@ -0,0 +1,257 @@ +ItemNames:: + db "MASTER BALL@" + db "ULTRA BALL@" + db "BRIGHTPOWDER@" + db "GREAT BALL@" + db "# BALL@" + db "TERU-SAMA@" + db "BICYCLE@" + db "MOON STONE@" + db "ANTIDOTE@" + db "BURN HEAL@" + db "ICE HEAL@" + db "AWAKENING@" + db "PARLYZ HEAL@" + db "FULL RESTORE@" + db "MAX POTION@" + db "HYPER POTION@" + db "SUPER POTION@" + db "POTION@" + db "ESCAPE ROPE@" + db "REPEL@" + db "MAX ELIXER@" + db "FIRE STONE@" + db "THUNDERSTONE@" + db "WATER STONE@" + db "TERU-SAMA@" + db "HP UP@" + db "PROTEIN@" + db "IRON@" + db "CARBOS@" + db "LUCKY PUNCH@" + db "CALCIUM@" + db "RARE CANDY@" + db "X ACCURACY@" + db "LEAF STONE@" + db "METAL POWDER@" + db "NUGGET@" + db "# DOLL@" + db "FULL HEAL@" + db "REVIVE@" + db "MAX REVIVE@" + db "GUARD SPEC.@" + db "SUPER REPEL@" + db "MAX REPEL@" + db "DIRE HIT@" + db "TERU-SAMA@" + db "FRESH WATER@" + db "SODA POP@" + db "LEMONADE@" + db "X ATTACK@" + db "TERU-SAMA@" + db "X DEFEND@" + db "X SPEED@" + db "X SPECIAL@" + db "COIN CASE@" + db "ITEMFINDER@" + db "TERU-SAMA@" + db "EXP.SHARE@" + db "OLD ROD@" + db "GOOD ROD@" + db "SILVER LEAF@" + db "SUPER ROD@" + db "PP UP@" + db "ETHER@" + db "MAX ETHER@" + db "ELIXER@" + db "RED SCALE@" + db "SECRETPOTION@" + db "S.S.TICKET@" + db "MYSTERY EGG@" + db "CLEAR BELL@" + db "SILVER WING@" + db "MOOMOO MILK@" + db "QUICK CLAW@" + db "PSNCUREBERRY@" + db "GOLD LEAF@" + db "SOFT SAND@" + db "SHARP BEAK@" + db "PRZCUREBERRY@" + db "BURNT BERRY@" + db "ICE BERRY@" + db "POISON BARB@" + db "KING'S ROCK@" + db "BITTER BERRY@" + db "MINT BERRY@" + db "RED APRICORN@" + db "TINYMUSHROOM@" + db "BIG MUSHROOM@" + db "SILVERPOWDER@" + db "BLU APRICORN@" + db "TERU-SAMA@" + db "AMULET COIN@" + db "YLW APRICORN@" + db "GRN APRICORN@" + db "CLEANSE TAG@" + db "MYSTIC WATER@" + db "TWISTEDSPOON@" + db "WHT APRICORN@" + db "BLACKBELT@" + db "BLK APRICORN@" + db "TERU-SAMA@" + db "PNK APRICORN@" + db "BLACKGLASSES@" + db "SLOWPOKETAIL@" + db "PINK BOW@" + db "STICK@" + db "SMOKE BALL@" + db "NEVERMELTICE@" + db "MAGNET@" + db "MIRACLEBERRY@" + db "PEARL@" + db "BIG PEARL@" + db "EVERSTONE@" + db "SPELL TAG@" + db "RAGECANDYBAR@" + db "GS BALL@" + db "BLUE CARD@" + db "MIRACLE SEED@" + db "THICK CLUB@" + db "FOCUS BAND@" + db "TERU-SAMA@" + db "ENERGYPOWDER@" + db "ENERGY ROOT@" + db "HEAL POWDER@" + db "REVIVAL HERB@" + db "HARD STONE@" + db "LUCKY EGG@" + db "CARD KEY@" + db "MACHINE PART@" + db "EGG TICKET@" + db "LOST ITEM@" + db "STARDUST@" + db "STAR PIECE@" + db "BASEMENT KEY@" + db "PASS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "CHARCOAL@" + db "BERRY JUICE@" + db "SCOPE LENS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "METAL COAT@" + db "DRAGON FANG@" + db "TERU-SAMA@" + db "LEFTOVERS@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "MYSTERYBERRY@" + db "DRAGON SCALE@" + db "BERSERK GENE@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "SACRED ASH@" + db "HEAVY BALL@" + db "FLOWER MAIL@" + db "LEVEL BALL@" + db "LURE BALL@" + db "FAST BALL@" + db "TERU-SAMA@" + db "LIGHT BALL@" + db "FRIEND BALL@" + db "MOON BALL@" + db "LOVE BALL@" + db "NORMAL BOX@" + db "GORGEOUS BOX@" + db "SUN STONE@" + db "POLKADOT BOW@" + db "TERU-SAMA@" + db "UP-GRADE@" + db "BERRY@" + db "GOLD BERRY@" + db "SQUIRTBOTTLE@" + db "TERU-SAMA@" + db "PARK BALL@" + db "RAINBOW WING@" + db "TERU-SAMA@" + db "BRICK PIECE@" + db "SURF MAIL@" + db "LITEBLUEMAIL@" + db "PORTRAITMAIL@" + db "LOVELY MAIL@" + db "EON MAIL@" + db "MORPH MAIL@" + db "BLUESKY MAIL@" + db "MUSIC MAIL@" + db "MIRAGE MAIL@" + db "TERU-SAMA@" + db "TM01@" + db "TM02@" + db "TM03@" + db "TM04@" + db "TERU-SAMA@" + db "TM05@" + db "TM06@" + db "TM07@" + db "TM08@" + db "TM09@" + db "TM10@" + db "TM11@" + db "TM12@" + db "TM13@" + db "TM14@" + db "TM15@" + db "TM16@" + db "TM17@" + db "TM18@" + db "TM19@" + db "TM20@" + db "TM21@" + db "TM22@" + db "TM23@" + db "TM24@" + db "TM25@" + db "TM26@" + db "TM27@" + db "TM28@" + db "TERU-SAMA@" + db "TM29@" + db "TM30@" + db "TM31@" + db "TM32@" + db "TM33@" + db "TM34@" + db "TM35@" + db "TM36@" + db "TM37@" + db "TM38@" + db "TM39@" + db "TM40@" + db "TM41@" + db "TM42@" + db "TM43@" + db "TM44@" + db "TM45@" + db "TM46@" + db "TM47@" + db "TM48@" + db "TM49@" + db "TM50@" + db "HM01@" + db "HM02@" + db "HM03@" + db "HM04@" + db "HM05@" + db "HM06@" + db "HM07@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "TERU-SAMA@" + db "?@" diff --git a/data/maps/map_scenes.asm b/data/maps/map_scenes.asm deleted file mode 100644 index 3d9600407..000000000 --- a/data/maps/map_scenes.asm +++ /dev/null @@ -1,89 +0,0 @@ -scene_def: MACRO -; db group, map -; dw address - map \1 - dw \2 -ENDM - -MapScenes:: ; 4d01e - scene_def POKECENTER_2F, wPokecenter2FSceneID - scene_def TRADE_CENTER, wTradeCenterSceneID - scene_def COLOSSEUM, wColosseumSceneID - scene_def TIME_CAPSULE, wTimeCapsuleSceneID - scene_def POWER_PLANT, wPowerPlantSceneID - scene_def CERULEAN_GYM, wCeruleanGymSceneID - scene_def ROUTE_25, wRoute25SceneID - scene_def TRAINER_HOUSE_B1F, wTrainerHouseB1FSceneID - scene_def VICTORY_ROAD_GATE, wVictoryRoadGateSceneID - scene_def SAFFRON_TRAIN_STATION, wSaffronTrainStationSceneID - scene_def ROUTE_16_GATE, wRoute16GateSceneID - scene_def ROUTE_17_18_GATE, wRoute1718GateSceneID - scene_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FSceneID - scene_def WILLS_ROOM, wWillsRoomSceneID - scene_def KOGAS_ROOM, wKogasRoomSceneID - scene_def BRUNOS_ROOM, wBrunosRoomSceneID - scene_def KARENS_ROOM, wKarensRoomSceneID - scene_def LANCES_ROOM, wLancesRoomSceneID - scene_def HALL_OF_FAME, wHallOfFameSceneID - scene_def ROUTE_27, wRoute27SceneID - scene_def NEW_BARK_TOWN, wNewBarkTownSceneID - scene_def ELMS_LAB, wElmsLabSceneID - scene_def KRISS_HOUSE_1F, wKrissHouse1FSceneID - scene_def ROUTE_29, wRoute29SceneID - scene_def CHERRYGROVE_CITY, wCherrygroveCitySceneID - scene_def MR_POKEMONS_HOUSE, wMrPokemonsHouseSceneID - scene_def ROUTE_32, wRoute32SceneID - scene_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateSceneID - scene_def ROUTE_36, wRoute36SceneID - scene_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateSceneID - scene_def AZALEA_TOWN, wAzaleaTownSceneID - scene_def GOLDENROD_GYM, wGoldenrodGymSceneID - scene_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationSceneID - scene_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FSceneID - scene_def OLIVINE_CITY, wOlivineCitySceneID - scene_def ROUTE_34, wRoute34SceneID - scene_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateSceneID - scene_def ECRUTEAK_HOUSE, wEcruteakHouseSceneID - scene_def WISE_TRIOS_ROOM, wWiseTriosRoomSceneID - scene_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FSceneID - scene_def ECRUTEAK_GYM, wEcruteakGymSceneID - scene_def MAHOGANY_TOWN, wMahoganyTownSceneID - scene_def ROUTE_42, wRoute42SceneID - scene_def CIANWOOD_CITY, wCianwoodCitySceneID - scene_def BATTLE_TOWER_1F, wBattleTower1FSceneID - scene_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomSceneID - scene_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorSceneID - scene_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwaySceneID - scene_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideSceneID - scene_def ROUTE_43_GATE, wRoute43GateSceneID - scene_def MOUNT_MOON, wMountMoonSceneID - scene_def SPROUT_TOWER_3F, wSproutTower3FSceneID - scene_def TIN_TOWER_1F, wTinTower1FSceneID - scene_def BURNED_TOWER_1F, wBurnedTower1FSceneID - scene_def BURNED_TOWER_B1F, wBurnedTowerB1FSceneID - scene_def RADIO_TOWER_5F, wRadioTower5FSceneID - scene_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideSceneID - scene_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterSceneID - scene_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberSceneID - scene_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberSceneID - scene_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberSceneID - scene_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberSceneID - scene_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberSceneID - scene_def MAHOGANY_MART_1F, wMahoganyMart1FSceneID - scene_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FSceneID - scene_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FSceneID - scene_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FSceneID - scene_def GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, wGoldenrodUndergroundSwitchRoomEntrancesSceneID - scene_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3SceneID - scene_def VICTORY_ROAD, wVictoryRoadSceneID - scene_def DRAGONS_DEN_B1F, wDragonsDenB1FSceneID - scene_def DRAGON_SHRINE, wDragonShrineSceneID - scene_def OLIVINE_PORT, wOlivinePortSceneID - scene_def VERMILION_PORT, wVermilionPortSceneID - scene_def FAST_SHIP_1F, wFastShip1FSceneID - scene_def FAST_SHIP_B1F, wFastShipB1FSceneID - scene_def MOUNT_MOON_SQUARE, wMountMoonSquareSceneID - scene_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileSceneID - scene_def MOBILE_BATTLE_ROOM, wMobileBattleRoomSceneID - db -1 -; 4d15b diff --git a/data/maps/map_setup_scripts.asm b/data/maps/map_setup_scripts.asm deleted file mode 100644 index 47895b609..000000000 --- a/data/maps/map_setup_scripts.asm +++ /dev/null @@ -1,177 +0,0 @@ -MapSetupScripts: ; 15377 -; entries correspond to MAPSETUP_* constants (see constants/map_setup_constants.asm) - dw MapSetupScript_Warp - dw MapSetupScript_Continue - dw MapSetupScript_ReloadMap - dw MapSetupScript_Teleport - dw MapSetupScript_Door - dw MapSetupScript_Fall - dw MapSetupScript_Connection - dw MapSetupScript_LinkReturn - dw MapSetupScript_Train - dw MapSetupScript_Submenu - dw MapSetupScript_BadWarp - dw MapSetupScript_Fly -; 1538f - -MapSetupScript_Teleport: ; 1538f - db map_prolong_sprites -MapSetupScript_Fly: ; 15390 - db map_fade_out_palettes - db map_keep_roam -MapSetupScript_Warp: ; 15392 - db map_lcd_off - db map_sound_off - db map_load_spawn - db map_attributes - db map_change_callback - db map_spawn_coord - db map_player_coord - db map_anchor_screen - db map_load_blocks - db map_buffer_screen - db map_load_graphics - db map_time_of_day - db map_load_objects - db map_lcd_on - db map_palettes - db map_face_down - db map_sprites - db map_bike_music - db map_max_volume - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db map_end - -MapSetupScript_BadWarp: ; 153a9 - db map_load_spawn - db map_attributes - db map_change_callback - db map_spawn_coord - db map_player_coord - db map_anchor_screen - db map_load_blocks - db map_buffer_screen - db map_lcd_off - db map_load_graphics - db map_time_of_day - db map_fade_out_music - db map_lcd_on - db map_load_objects - db map_palettes - db map_face_down - db map_sprites - db map_fade_music - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db map_end - -MapSetupScript_Connection: ; 153bf - db map_animations_off - db map_load_connection - db map_attributes - db map_change_callback - db map_player_coord - db map_load_blocks - db map_load_tileset - db map_save_screen - db map_load_objects - db map_fade_music - db map_palettes - db map_stop_script - db map_keep_palettes - db map_wildmons - db map_update_roam - db map_animations_on - db map_end - -MapSetupScript_Fall: ; 153d0 - db map_prolong_sprites -MapSetupScript_Door: ; 153d1 - db map_fade_out_palettes -MapSetupScript_Train: ; 153d2 - db map_load_warp - db map_attributes - db map_warp_face - db map_change_callback - db map_player_coord - db map_load_blocks - db map_buffer_screen - db map_lcd_off - db map_load_graphics - db map_time_of_day - db map_fade_out_music - db map_lcd_on - db map_load_objects - db map_palettes - db map_sprites - db map_fade_music - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db map_update_roam - db map_end - -MapSetupScript_ReloadMap: ; 153e7 - db map_fade - db map_clear_bg_palettes - db map_lcd_off - db map_sound_off - db map_load_blocks - db map_connection_blocks - db map_load_graphics - db map_time_of_day - db map_lcd_on - db map_palettes - db map_sprites - db map_music_force - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db map_end - -MapSetupScript_LinkReturn: ; 153f7 - db map_fade - db map_lcd_off - db map_sound_off - db map_change_callback - db map_load_blocks - db map_buffer_screen - db map_load_graphics - db map_time_of_day - db map_lcd_on - db map_palettes - db map_sprites - db map_bike_music - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db map_text_scroll_off - db map_end - -MapSetupScript_Continue: ; 15408 - db map_lcd_off - db map_sound_off - db map_attributes_2 - db map_anchor_screen - db map_start_callback - db map_load_blocks - db map_connection_blocks - db map_buffer_screen - db map_load_graphics - db map_time_of_day - db map_lcd_on - db map_palettes - db map_sprites - db map_bike_music - db map_fade_in_palettes - db map_animations_on - db map_wildmons - db map_end - -MapSetupScript_Submenu: ; 1541a - db map_load_blocks - db map_connection_blocks - db map_end diff --git a/data/maps/mapgroup_roofs.asm b/data/maps/mapgroup_roofs.asm deleted file mode 100644 index 8c79e6f82..000000000 --- a/data/maps/mapgroup_roofs.asm +++ /dev/null @@ -1,38 +0,0 @@ -MapGroupRoofs: ; 1c021i -; entries correspond to Roofs (see below) - db -1 ; group 0 (unused) - db 3 ; group 1 (Olivine) - db 2 ; group 2 (Mahogany) - db -1 ; group 3 - db 1 ; group 4 (Ecruteak) - db 2 ; group 5 (Blackthorn) - db -1 ; group 6 - db -1 ; group 7 - db 2 ; group 8 (Azalea) - db 2 ; group 9 (Lake of Rage) - db 1 ; group 10 (Violet) - db 4 ; group 11 (Goldenrod) - db -1 ; group 12 - db -1 ; group 13 - db -1 ; group 14 - db -1 ; group 15 - db -1 ; group 16 - db -1 ; group 17 - db -1 ; group 18 - db 0 ; group 19 (Silver Cave) - db -1 ; group 20 - db -1 ; group 21 - db 3 ; group 22 (Cianwood) - db -1 ; group 23 - db 0 ; group 24 (New Bark) - db -1 ; group 25 - db 0 ; group 26 (Cherrygrove) -; 1c03c - -Roofs: ; 1c03c -INCBIN "gfx/tilesets/roofs/0.2bpp" -INCBIN "gfx/tilesets/roofs/1.2bpp" -INCBIN "gfx/tilesets/roofs/2.2bpp" -INCBIN "gfx/tilesets/roofs/3.2bpp" -INCBIN "gfx/tilesets/roofs/4.2bpp" -; 1c30c diff --git a/data/maps/roofs.asm b/data/maps/roofs.asm new file mode 100644 index 000000000..8c79e6f82 --- /dev/null +++ b/data/maps/roofs.asm @@ -0,0 +1,38 @@ +MapGroupRoofs: ; 1c021i +; entries correspond to Roofs (see below) + db -1 ; group 0 (unused) + db 3 ; group 1 (Olivine) + db 2 ; group 2 (Mahogany) + db -1 ; group 3 + db 1 ; group 4 (Ecruteak) + db 2 ; group 5 (Blackthorn) + db -1 ; group 6 + db -1 ; group 7 + db 2 ; group 8 (Azalea) + db 2 ; group 9 (Lake of Rage) + db 1 ; group 10 (Violet) + db 4 ; group 11 (Goldenrod) + db -1 ; group 12 + db -1 ; group 13 + db -1 ; group 14 + db -1 ; group 15 + db -1 ; group 16 + db -1 ; group 17 + db -1 ; group 18 + db 0 ; group 19 (Silver Cave) + db -1 ; group 20 + db -1 ; group 21 + db 3 ; group 22 (Cianwood) + db -1 ; group 23 + db 0 ; group 24 (New Bark) + db -1 ; group 25 + db 0 ; group 26 (Cherrygrove) +; 1c03c + +Roofs: ; 1c03c +INCBIN "gfx/tilesets/roofs/0.2bpp" +INCBIN "gfx/tilesets/roofs/1.2bpp" +INCBIN "gfx/tilesets/roofs/2.2bpp" +INCBIN "gfx/tilesets/roofs/3.2bpp" +INCBIN "gfx/tilesets/roofs/4.2bpp" +; 1c30c diff --git a/data/maps/scenes.asm b/data/maps/scenes.asm new file mode 100644 index 000000000..3d9600407 --- /dev/null +++ b/data/maps/scenes.asm @@ -0,0 +1,89 @@ +scene_def: MACRO +; db group, map +; dw address + map \1 + dw \2 +ENDM + +MapScenes:: ; 4d01e + scene_def POKECENTER_2F, wPokecenter2FSceneID + scene_def TRADE_CENTER, wTradeCenterSceneID + scene_def COLOSSEUM, wColosseumSceneID + scene_def TIME_CAPSULE, wTimeCapsuleSceneID + scene_def POWER_PLANT, wPowerPlantSceneID + scene_def CERULEAN_GYM, wCeruleanGymSceneID + scene_def ROUTE_25, wRoute25SceneID + scene_def TRAINER_HOUSE_B1F, wTrainerHouseB1FSceneID + scene_def VICTORY_ROAD_GATE, wVictoryRoadGateSceneID + scene_def SAFFRON_TRAIN_STATION, wSaffronTrainStationSceneID + scene_def ROUTE_16_GATE, wRoute16GateSceneID + scene_def ROUTE_17_18_GATE, wRoute1718GateSceneID + scene_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FSceneID + scene_def WILLS_ROOM, wWillsRoomSceneID + scene_def KOGAS_ROOM, wKogasRoomSceneID + scene_def BRUNOS_ROOM, wBrunosRoomSceneID + scene_def KARENS_ROOM, wKarensRoomSceneID + scene_def LANCES_ROOM, wLancesRoomSceneID + scene_def HALL_OF_FAME, wHallOfFameSceneID + scene_def ROUTE_27, wRoute27SceneID + scene_def NEW_BARK_TOWN, wNewBarkTownSceneID + scene_def ELMS_LAB, wElmsLabSceneID + scene_def KRISS_HOUSE_1F, wKrissHouse1FSceneID + scene_def ROUTE_29, wRoute29SceneID + scene_def CHERRYGROVE_CITY, wCherrygroveCitySceneID + scene_def MR_POKEMONS_HOUSE, wMrPokemonsHouseSceneID + scene_def ROUTE_32, wRoute32SceneID + scene_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateSceneID + scene_def ROUTE_36, wRoute36SceneID + scene_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateSceneID + scene_def AZALEA_TOWN, wAzaleaTownSceneID + scene_def GOLDENROD_GYM, wGoldenrodGymSceneID + scene_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationSceneID + scene_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FSceneID + scene_def OLIVINE_CITY, wOlivineCitySceneID + scene_def ROUTE_34, wRoute34SceneID + scene_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateSceneID + scene_def ECRUTEAK_HOUSE, wEcruteakHouseSceneID + scene_def WISE_TRIOS_ROOM, wWiseTriosRoomSceneID + scene_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FSceneID + scene_def ECRUTEAK_GYM, wEcruteakGymSceneID + scene_def MAHOGANY_TOWN, wMahoganyTownSceneID + scene_def ROUTE_42, wRoute42SceneID + scene_def CIANWOOD_CITY, wCianwoodCitySceneID + scene_def BATTLE_TOWER_1F, wBattleTower1FSceneID + scene_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomSceneID + scene_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorSceneID + scene_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwaySceneID + scene_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideSceneID + scene_def ROUTE_43_GATE, wRoute43GateSceneID + scene_def MOUNT_MOON, wMountMoonSceneID + scene_def SPROUT_TOWER_3F, wSproutTower3FSceneID + scene_def TIN_TOWER_1F, wTinTower1FSceneID + scene_def BURNED_TOWER_1F, wBurnedTower1FSceneID + scene_def BURNED_TOWER_B1F, wBurnedTowerB1FSceneID + scene_def RADIO_TOWER_5F, wRadioTower5FSceneID + scene_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideSceneID + scene_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterSceneID + scene_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberSceneID + scene_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberSceneID + scene_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberSceneID + scene_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberSceneID + scene_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberSceneID + scene_def MAHOGANY_MART_1F, wMahoganyMart1FSceneID + scene_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FSceneID + scene_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FSceneID + scene_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FSceneID + scene_def GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, wGoldenrodUndergroundSwitchRoomEntrancesSceneID + scene_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3SceneID + scene_def VICTORY_ROAD, wVictoryRoadSceneID + scene_def DRAGONS_DEN_B1F, wDragonsDenB1FSceneID + scene_def DRAGON_SHRINE, wDragonShrineSceneID + scene_def OLIVINE_PORT, wOlivinePortSceneID + scene_def VERMILION_PORT, wVermilionPortSceneID + scene_def FAST_SHIP_1F, wFastShip1FSceneID + scene_def FAST_SHIP_B1F, wFastShipB1FSceneID + scene_def MOUNT_MOON_SQUARE, wMountMoonSquareSceneID + scene_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileSceneID + scene_def MOBILE_BATTLE_ROOM, wMobileBattleRoomSceneID + db -1 +; 4d15b diff --git a/data/maps/setup_scripts.asm b/data/maps/setup_scripts.asm new file mode 100644 index 000000000..47895b609 --- /dev/null +++ b/data/maps/setup_scripts.asm @@ -0,0 +1,177 @@ +MapSetupScripts: ; 15377 +; entries correspond to MAPSETUP_* constants (see constants/map_setup_constants.asm) + dw MapSetupScript_Warp + dw MapSetupScript_Continue + dw MapSetupScript_ReloadMap + dw MapSetupScript_Teleport + dw MapSetupScript_Door + dw MapSetupScript_Fall + dw MapSetupScript_Connection + dw MapSetupScript_LinkReturn + dw MapSetupScript_Train + dw MapSetupScript_Submenu + dw MapSetupScript_BadWarp + dw MapSetupScript_Fly +; 1538f + +MapSetupScript_Teleport: ; 1538f + db map_prolong_sprites +MapSetupScript_Fly: ; 15390 + db map_fade_out_palettes + db map_keep_roam +MapSetupScript_Warp: ; 15392 + db map_lcd_off + db map_sound_off + db map_load_spawn + db map_attributes + db map_change_callback + db map_spawn_coord + db map_player_coord + db map_anchor_screen + db map_load_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_load_objects + db map_lcd_on + db map_palettes + db map_face_down + db map_sprites + db map_bike_music + db map_max_volume + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_end + +MapSetupScript_BadWarp: ; 153a9 + db map_load_spawn + db map_attributes + db map_change_callback + db map_spawn_coord + db map_player_coord + db map_anchor_screen + db map_load_blocks + db map_buffer_screen + db map_lcd_off + db map_load_graphics + db map_time_of_day + db map_fade_out_music + db map_lcd_on + db map_load_objects + db map_palettes + db map_face_down + db map_sprites + db map_fade_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_end + +MapSetupScript_Connection: ; 153bf + db map_animations_off + db map_load_connection + db map_attributes + db map_change_callback + db map_player_coord + db map_load_blocks + db map_load_tileset + db map_save_screen + db map_load_objects + db map_fade_music + db map_palettes + db map_stop_script + db map_keep_palettes + db map_wildmons + db map_update_roam + db map_animations_on + db map_end + +MapSetupScript_Fall: ; 153d0 + db map_prolong_sprites +MapSetupScript_Door: ; 153d1 + db map_fade_out_palettes +MapSetupScript_Train: ; 153d2 + db map_load_warp + db map_attributes + db map_warp_face + db map_change_callback + db map_player_coord + db map_load_blocks + db map_buffer_screen + db map_lcd_off + db map_load_graphics + db map_time_of_day + db map_fade_out_music + db map_lcd_on + db map_load_objects + db map_palettes + db map_sprites + db map_fade_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_update_roam + db map_end + +MapSetupScript_ReloadMap: ; 153e7 + db map_fade + db map_clear_bg_palettes + db map_lcd_off + db map_sound_off + db map_load_blocks + db map_connection_blocks + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_music_force + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_end + +MapSetupScript_LinkReturn: ; 153f7 + db map_fade + db map_lcd_off + db map_sound_off + db map_change_callback + db map_load_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_bike_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_text_scroll_off + db map_end + +MapSetupScript_Continue: ; 15408 + db map_lcd_off + db map_sound_off + db map_attributes_2 + db map_anchor_screen + db map_start_callback + db map_load_blocks + db map_connection_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_bike_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_end + +MapSetupScript_Submenu: ; 1541a + db map_load_blocks + db map_connection_blocks + db map_end diff --git a/data/moves/animations.asm b/data/moves/animations.asm new file mode 100644 index 000000000..e28a2e62d --- /dev/null +++ b/data/moves/animations.asm @@ -0,0 +1,5176 @@ +BattleAnimations:: ; c906f +; entries correspond to constants/move_constants.asm + dw BattleAnim_0 + dw BattleAnim_Pound + dw BattleAnim_KarateChop + dw BattleAnim_Doubleslap + dw BattleAnim_CometPunch + dw BattleAnim_MegaPunch + dw BattleAnim_PayDay + dw BattleAnim_FirePunch + dw BattleAnim_IcePunch + dw BattleAnim_Thunderpunch + dw BattleAnim_Scratch + dw BattleAnim_Vicegrip + dw BattleAnim_Guillotine + dw BattleAnim_RazorWind + dw BattleAnim_SwordsDance + dw BattleAnim_Cut + dw BattleAnim_Gust + dw BattleAnim_WingAttack + dw BattleAnim_Whirlwind + dw BattleAnim_Fly + dw BattleAnim_Bind + dw BattleAnim_Slam + dw BattleAnim_VineWhip + dw BattleAnim_Stomp + dw BattleAnim_DoubleKick + dw BattleAnim_MegaKick + dw BattleAnim_JumpKick + dw BattleAnim_RollingKick + dw BattleAnim_SandAttack + dw BattleAnim_Headbutt + dw BattleAnim_HornAttack + dw BattleAnim_FuryAttack + dw BattleAnim_HornDrill + dw BattleAnim_Tackle + dw BattleAnim_BodySlam + dw BattleAnim_Wrap + dw BattleAnim_TakeDown + dw BattleAnim_Thrash + dw BattleAnim_DoubleEdge + dw BattleAnim_TailWhip + dw BattleAnim_PoisonSting + dw BattleAnim_Twineedle + dw BattleAnim_PinMissile + dw BattleAnim_Leer + dw BattleAnim_Bite + dw BattleAnim_Growl + dw BattleAnim_Roar + dw BattleAnim_Sing + dw BattleAnim_Supersonic + dw BattleAnim_Sonicboom + dw BattleAnim_Disable + dw BattleAnim_Acid + dw BattleAnim_Ember + dw BattleAnim_Flamethrower + dw BattleAnim_Mist + dw BattleAnim_WaterGun + dw BattleAnim_HydroPump + dw BattleAnim_Surf + dw BattleAnim_IceBeam + dw BattleAnim_Blizzard + dw BattleAnim_Psybeam + dw BattleAnim_Bubblebeam + dw BattleAnim_AuroraBeam + dw BattleAnim_HyperBeam + dw BattleAnim_Peck + dw BattleAnim_DrillPeck + dw BattleAnim_Submission + dw BattleAnim_LowKick + dw BattleAnim_Counter + dw BattleAnim_SeismicToss + dw BattleAnim_Strength + dw BattleAnim_Absorb + dw BattleAnim_MegaDrain + dw BattleAnim_LeechSeed + dw BattleAnim_Growth + dw BattleAnim_RazorLeaf + dw BattleAnim_Solarbeam + dw BattleAnim_Poisonpowder + dw BattleAnim_StunSpore + dw BattleAnim_SleepPowder + dw BattleAnim_PetalDance + dw BattleAnim_StringShot + dw BattleAnim_DragonRage + dw BattleAnim_FireSpin + dw BattleAnim_Thundershock + dw BattleAnim_Thunderbolt + dw BattleAnim_ThunderWave + dw BattleAnim_Thunder + dw BattleAnim_RockThrow + dw BattleAnim_Earthquake + dw BattleAnim_Fissure + dw BattleAnim_Dig + dw BattleAnim_Toxic + dw BattleAnim_Confusion + dw BattleAnim_PsychicM + dw BattleAnim_Hypnosis + dw BattleAnim_Meditate + dw BattleAnim_Agility + dw BattleAnim_QuickAttack + dw BattleAnim_Rage + dw BattleAnim_Teleport + dw BattleAnim_NightShade + dw BattleAnim_Mimic + dw BattleAnim_Screech + dw BattleAnim_DoubleTeam + dw BattleAnim_Recover + dw BattleAnim_Harden + dw BattleAnim_Minimize + dw BattleAnim_Smokescreen + dw BattleAnim_ConfuseRay + dw BattleAnim_Withdraw + dw BattleAnim_DefenseCurl + dw BattleAnim_Barrier + dw BattleAnim_LightScreen + dw BattleAnim_Haze + dw BattleAnim_Reflect + dw BattleAnim_FocusEnergy + dw BattleAnim_Bide + dw BattleAnim_Metronome + dw BattleAnim_MirrorMove + dw BattleAnim_Selfdestruct + dw BattleAnim_EggBomb + dw BattleAnim_Lick + dw BattleAnim_Smog + dw BattleAnim_Sludge + dw BattleAnim_BoneClub + dw BattleAnim_FireBlast + dw BattleAnim_Waterfall + dw BattleAnim_Clamp + dw BattleAnim_Swift + dw BattleAnim_SkullBash + dw BattleAnim_SpikeCannon + dw BattleAnim_Constrict + dw BattleAnim_Amnesia + dw BattleAnim_Kinesis + dw BattleAnim_Softboiled + dw BattleAnim_HiJumpKick + dw BattleAnim_Glare + dw BattleAnim_DreamEater + dw BattleAnim_PoisonGas + dw BattleAnim_Barrage + dw BattleAnim_LeechLife + dw BattleAnim_LovelyKiss + dw BattleAnim_SkyAttack + dw BattleAnim_Transform + dw BattleAnim_Bubble + dw BattleAnim_DizzyPunch + dw BattleAnim_Spore + dw BattleAnim_Flash + dw BattleAnim_Psywave + dw BattleAnim_Splash + dw BattleAnim_AcidArmor + dw BattleAnim_Crabhammer + dw BattleAnim_Explosion + dw BattleAnim_FurySwipes + dw BattleAnim_Bonemerang + dw BattleAnim_Rest + dw BattleAnim_RockSlide + dw BattleAnim_HyperFang + dw BattleAnim_Sharpen + dw BattleAnim_Conversion + dw BattleAnim_TriAttack + dw BattleAnim_SuperFang + dw BattleAnim_Slash + dw BattleAnim_Substitute + dw BattleAnim_Struggle + dw BattleAnim_Sketch + dw BattleAnim_TripleKick + dw BattleAnim_Thief + dw BattleAnim_SpiderWeb + dw BattleAnim_MindReader + dw BattleAnim_Nightmare + dw BattleAnim_FlameWheel + dw BattleAnim_Snore + dw BattleAnim_Curse + dw BattleAnim_Flail + dw BattleAnim_Conversion2 + dw BattleAnim_Aeroblast + dw BattleAnim_CottonSpore + dw BattleAnim_Reversal + dw BattleAnim_Spite + dw BattleAnim_PowderSnow + dw BattleAnim_Protect + dw BattleAnim_MachPunch + dw BattleAnim_ScaryFace + dw BattleAnim_FaintAttack + dw BattleAnim_SweetKiss + dw BattleAnim_BellyDrum + dw BattleAnim_SludgeBomb + dw BattleAnim_MudSlap + dw BattleAnim_Octazooka + dw BattleAnim_Spikes + dw BattleAnim_ZapCannon + dw BattleAnim_Foresight + dw BattleAnim_DestinyBond + dw BattleAnim_PerishSong + dw BattleAnim_IcyWind + dw BattleAnim_Detect + dw BattleAnim_BoneRush + dw BattleAnim_LockOn + dw BattleAnim_Outrage + dw BattleAnim_Sandstorm + dw BattleAnim_GigaDrain + dw BattleAnim_Endure + dw BattleAnim_Charm + dw BattleAnim_Rollout + dw BattleAnim_FalseSwipe + dw BattleAnim_Swagger + dw BattleAnim_MilkDrink + dw BattleAnim_Spark + dw BattleAnim_FuryCutter + dw BattleAnim_SteelWing + dw BattleAnim_MeanLook + dw BattleAnim_Attract + dw BattleAnim_SleepTalk + dw BattleAnim_HealBell + dw BattleAnim_Return + dw BattleAnim_Present + dw BattleAnim_Frustration + dw BattleAnim_Safeguard + dw BattleAnim_PainSplit + dw BattleAnim_SacredFire + dw BattleAnim_Magnitude + dw BattleAnim_Dynamicpunch + dw BattleAnim_Megahorn + dw BattleAnim_Dragonbreath + dw BattleAnim_BatonPass + dw BattleAnim_Encore + dw BattleAnim_Pursuit + dw BattleAnim_RapidSpin + dw BattleAnim_SweetScent + dw BattleAnim_IronTail + dw BattleAnim_MetalClaw + dw BattleAnim_VitalThrow + dw BattleAnim_MorningSun + dw BattleAnim_Synthesis + dw BattleAnim_Moonlight + dw BattleAnim_HiddenPower + dw BattleAnim_CrossChop + dw BattleAnim_Twister + dw BattleAnim_RainDance + dw BattleAnim_SunnyDay + dw BattleAnim_Crunch + dw BattleAnim_MirrorCoat + dw BattleAnim_PsychUp + dw BattleAnim_Extremespeed + dw BattleAnim_Ancientpower + dw BattleAnim_ShadowBall + dw BattleAnim_FutureSight + dw BattleAnim_RockSmash + dw BattleAnim_Whirlpool + dw BattleAnim_BeatUp + dw BattleAnim_252 + dw BattleAnim_253 + dw BattleAnim_254 + dw BattleAnim_SweetScent2 +; $100 + dw BattleAnim_ThrowPokeBall + dw BattleAnim_SendOutMon + dw BattleAnim_ReturnMon + dw BattleAnim_Confused + dw BattleAnim_Slp + dw BattleAnim_Brn + dw BattleAnim_Psn + dw BattleAnim_Sap + dw BattleAnim_Frz + dw BattleAnim_Par + dw BattleAnim_InLove + dw BattleAnim_InSandstorm + dw BattleAnim_InNightmare + dw BattleAnim_InWhirlpool + dw BattleAnim_Miss + dw BattleAnim_EnemyDamage + dw BattleAnim_EnemyStatDown + dw BattleAnim_PlayerStatDown + dw BattleAnim_PlayerDamage + dw BattleAnim_Wobble + dw BattleAnim_Shake + dw BattleAnim_HitConfusion +; c929b + +BattleAnim_0: ; c929b +BattleAnim_252: ; c929b +BattleAnim_253: ; c929b +BattleAnim_254: ; c929b +BattleAnim_MirrorMove: ; c929b + anim_ret +; c929c + +BattleAnim_SweetScent2: ; c929c + anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC + anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2 + anim_wait 2 + anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2 + anim_wait 64 + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15 + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_wait 128 + anim_ret +; c92c1 + +BattleAnim_ThrowPokeBall + anim_if_param_equal NO_ITEM, .TheTrainerBlockedTheBall + anim_if_param_equal MASTER_BALL, .MasterBall + anim_if_param_equal ULTRA_BALL, .UltraBall + anim_if_param_equal GREAT_BALL, .GreatBall + ; any other ball + anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 + anim_wait 36 + anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 + anim_setobj $2, $7 + anim_wait 16 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 16 + anim_jump .Shake +; c92f2 + +.TheTrainerBlockedTheBall: + anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL_BLOCKED, 8, 0, 11, 4, $20 + anim_wait 20 + anim_obj ANIM_OBJ_01, 14, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; c9305 + +.UltraBall: + anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 + anim_wait 36 + anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 + anim_setobj $2, $7 + anim_wait 16 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 16 + anim_jump .Shake +; c9326 + +.GreatBall: + anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 + anim_wait 36 + anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 + anim_setobj $2, $7 + anim_wait 16 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 16 + anim_jump .Shake +; c9347 + +.MasterBall: + anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL, 8, 0, 11, 4, $20 + anim_wait 36 + anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 + anim_setobj $2, $7 + anim_wait 16 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 24 + anim_sound 0, 1, SFX_MASTER_BALL + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $30 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $31 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $32 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $33 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $34 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $35 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $36 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $37 + anim_wait 64 +.Shake: + anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 + anim_wait 8 + anim_incobj 2 + anim_wait 16 + anim_sound 0, 1, SFX_CHANGE_DEX_MODE + anim_incobj 1 + anim_wait 32 + anim_sound 0, 1, SFX_BALL_BOUNCE + anim_wait 32 + anim_wait 32 + anim_wait 32 + anim_wait 8 + anim_setvar $0 +.Loop: + anim_wait 48 + anim_checkpokeball + anim_if_var_equal $1, .Click + anim_if_var_equal $2, .BreakFree + anim_incobj 1 + anim_sound 0, 1, SFX_BALL_WIGGLE + anim_jump .Loop +; c93bc + +.Click: + anim_clearsprites + anim_ret +; c93be + +.BreakFree: + anim_setobj $1, $b + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 2 + anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0 + anim_wait 32 + anim_ret +; c93d1 + +BattleAnim_SendOutMon: ; c93d1 + anim_if_param_equal $0, .Normal + anim_if_param_equal $1, .Shiny + anim_if_param_equal $2, .Unknown + anim_1gfx ANIM_GFX_SMOKE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_2B, $0, $1, $0 + anim_sound 0, 0, SFX_BALL_POOF + anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0 + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 128 + anim_wait 4 + anim_call BattleAnim_ShowMon_0 + anim_ret + +.Unknown: + anim_1gfx ANIM_GFX_SMOKE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_2A, $0, $1, $0 + anim_wait 1 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 4 + anim_sound 0, 0, SFX_BALL_POOF + anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0 + anim_incbgeffect ANIM_BG_2A + anim_wait 96 + anim_incbgeffect ANIM_BG_2A + anim_call BattleAnim_ShowMon_0 + anim_ret + +.Shiny: + anim_1gfx ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $0 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $8 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $10 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $18 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $20 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $28 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $30 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $38 + anim_wait 32 + anim_ret + +.Normal: + anim_1gfx ANIM_GFX_SMOKE + anim_sound 0, 0, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, 5, 4, 12, 0, $0 + anim_wait 4 + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; c9483 + +BattleAnim_ReturnMon: ; c9483 + anim_sound 0, 0, SFX_BALL_POOF +BattleAnim_BatonPass_branch_c9486: ; c9486 + anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; c948d + +BattleAnim_Confused: ; c948d + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 0, SFX_KINESIS + anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $15 + anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $aa + anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $bf + anim_wait 96 + anim_ret +; c94a3 + +BattleAnim_Slp: ; c94a3 + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 0, SFX_TAIL_WHIP +.loop + anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 + anim_wait 40 + anim_loop 3, .loop + anim_wait 32 + anim_ret +; c94b4 + +BattleAnim_Brn: ; c94b4 + anim_1gfx ANIM_GFX_FIRE +.loop + anim_sound 0, 0, SFX_BURN + anim_obj ANIM_OBJ_BURNED, 7, 0, 11, 0, $10 + anim_wait 4 + anim_loop 3, .loop + anim_wait 6 + anim_ret +; c94c5 + +BattleAnim_Psn: ; c94c5 + anim_1gfx ANIM_GFX_POISON + anim_sound 0, 0, SFX_POISON + anim_obj ANIM_OBJ_SKULL, 8, 0, 7, 0, $0 + anim_wait 8 + anim_sound 0, 0, SFX_POISON + anim_obj ANIM_OBJ_SKULL, 6, 0, 7, 0, $0 + anim_wait 8 + anim_ret +; c94da + +BattleAnim_Sap: ; c94da + anim_1gfx ANIM_GFX_CHARGE + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 + anim_wait 16 + anim_ret +; c94f8 + +BattleAnim_Frz: ; c94f8 + anim_1gfx ANIM_GFX_ICE + anim_obj ANIM_OBJ_FROZEN, 5, 4, 13, 6, $0 + anim_sound 0, 0, SFX_SHINE + anim_wait 16 + anim_sound 0, 0, SFX_SHINE + anim_wait 16 + anim_ret +; c9508 + +BattleAnim_Par: ; c9508 + anim_1gfx ANIM_GFX_STATUS + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_sound 0, 0, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_PARALYZED, 2, 4, 11, 0, $42 + anim_obj ANIM_OBJ_PARALYZED, 9, 4, 11, 0, $c2 + anim_wait 128 + anim_ret +; c951e + +BattleAnim_InLove: ; c951e + anim_1gfx ANIM_GFX_OBJECTS + anim_sound 0, 0, SFX_LICK + anim_obj ANIM_OBJ_HEART, 8, 0, 9, 4, $0 + anim_wait 32 + anim_sound 0, 0, SFX_LICK + anim_obj ANIM_OBJ_HEART, 4, 4, 9, 0, $0 + anim_wait 32 + anim_ret +; c9533 + +BattleAnim_InSandstorm: ; c9533 + anim_1gfx ANIM_GFX_POWDER + anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1 + anim_wait 8 + anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2 +.loop + anim_sound 0, 1, SFX_MENU + anim_wait 8 + anim_loop 6, .loop + anim_wait 8 + anim_ret +; c9550 + +BattleAnim_InNightmare: ; c9550 + anim_1gfx ANIM_GFX_ANGELS + anim_sound 0, 0, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_95, 8, 4, 10, 0, $0 + anim_wait 40 + anim_ret +; c955c + +BattleAnim_InWhirlpool: ; c955c + anim_1gfx ANIM_GFX_WIND + anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0 + anim_sound 0, 1, SFX_SURF +.loop + anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0 + anim_wait 6 + anim_loop 6, .loop + anim_incbgeffect ANIM_BG_WHIRLPOOL + anim_wait 1 + anim_ret +; c9574 + +BattleAnim_HitConfusion: ; c9574 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 0, SFX_POUND + anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0 + anim_wait 16 + anim_ret +; c9580 + +BattleAnim_Miss: ; c9580 + anim_ret +; c9581 + +BattleAnim_EnemyDamage: ; c9581 +.loop + anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0 + anim_wait 5 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 5 + anim_loop 3, .loop + anim_ret +; c9592 + +BattleAnim_EnemyStatDown: ; c9592 + anim_call BattleAnim_FollowEnemyFeet_1 + anim_bgeffect ANIM_BG_VIBRATE_MON, $0, $0, $0 + anim_wait 40 + anim_call BattleAnim_ShowMon_1 + anim_wait 1 + anim_ret +; c95a0 + +BattleAnim_PlayerStatDown: ; c95a0 + anim_call BattleAnim_FollowEnemyFeet_1 + anim_bgeffect ANIM_BG_WOBBLE_MON, $0, $0, $0 + anim_wait 40 + anim_call BattleAnim_ShowMon_1 + anim_wait 1 + anim_ret +; c95ae + +BattleAnim_PlayerDamage: ; c95ae + anim_bgeffect ANIM_BG_20, $20, $2, $20 + anim_wait 40 + anim_ret +; c95b5 + +BattleAnim_Wobble: ; c95b5 + anim_bgeffect ANIM_BG_35, $0, $0, $0 + anim_wait 40 + anim_ret +; c95bc + +BattleAnim_Shake: ; c95bc + anim_bgeffect ANIM_BG_1F, $20, $2, $40 + anim_wait 40 + anim_ret +; c95c3 + +BattleAnim_Pound: ; c95c3 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_08, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; c95d5 + +BattleAnim_KarateChop: ; c95d5 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_KARATE_CHOP + anim_obj ANIM_OBJ_08, -15, 0, 5, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_KARATE_CHOP + anim_obj ANIM_OBJ_08, -15, 0, 5, 4, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0 + anim_wait 6 + anim_sound 0, 1, SFX_KARATE_CHOP + anim_obj ANIM_OBJ_08, -15, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c9605 + +BattleAnim_Doubleslap: ; c9605 + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_Doubleslap_branch_c961b + anim_sound 0, 1, SFX_DOUBLESLAP + anim_obj ANIM_OBJ_08, -14, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; c961b + +BattleAnim_Doubleslap_branch_c961b: ; c961b + anim_sound 0, 1, SFX_DOUBLESLAP + anim_obj ANIM_OBJ_08, 15, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; c962b + +BattleAnim_CometPunch: ; c962b + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_CometPunch_branch_c9641 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_06, -14, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; c9641 + +BattleAnim_CometPunch_branch_c9641: ; c9641 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_06, 15, 0, 8, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 + anim_wait 8 + anim_ret +; c9651 + +BattleAnim_Bide_branch_c9651: ; c9651 +BattleAnim_MegaPunch: ; c9651 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 48 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 +.loop + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 + anim_wait 6 + anim_loop 3, .loop + anim_ret +; c9677 + +BattleAnim_Stomp: ; c9677 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_STOMP + anim_obj ANIM_OBJ_07, -15, 0, 5, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_STOMP + anim_obj ANIM_OBJ_07, -15, 0, 5, 4, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0 + anim_wait 6 + anim_sound 0, 1, SFX_STOMP + anim_obj ANIM_OBJ_07, -15, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c96a7 + +BattleAnim_DoubleKick: ; c96a7 + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_DoubleKick_branch_c96bd + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; c96bd + +BattleAnim_DoubleKick_branch_c96bd: ; c96bd + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 + anim_wait 8 + anim_ret +; c96cd + +BattleAnim_JumpKick: ; c96cd + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_JumpKick_branch_c96f1 + anim_sound 0, 1, SFX_JUMP_KICK + anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0 + anim_obj ANIM_OBJ_07, 12, 4, 7, 4, $0 + anim_setobj $1, $2 + anim_setobj $2, $2 + anim_wait 24 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c96f1 + +BattleAnim_JumpKick_branch_c96f1: ; c96f1 + anim_wait 8 + anim_sound 0, 0, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0 + anim_wait 16 + anim_ret +; c96fc + +BattleAnim_HiJumpKick: ; c96fc + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_if_param_equal $1, BattleAnim_HiJumpKick_branch_c971e + anim_wait 32 + anim_sound 0, 1, SFX_JUMP_KICK + anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0 + anim_setobj $1, $2 + anim_wait 16 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c971e + +BattleAnim_HiJumpKick_branch_c971e: ; c971e + anim_wait 16 + anim_sound 0, 0, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0 + anim_wait 16 + anim_ret +; c9729 + +BattleAnim_RollingKick: ; c9729 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, 14, 0, 7, 0, $0 + anim_setobj $1, $3 + anim_wait 12 + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c973e + +BattleAnim_MegaKick: ; c973e + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 67 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 +.loop + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0 + anim_wait 6 + anim_loop 3, .loop + anim_ret +; c9764 + +BattleAnim_HyperFang: ; c9764 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $20, $1, $0 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; c977b + +BattleAnim_SuperFang: ; c977b + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 48 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 +.loop + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 + anim_wait 6 + anim_loop 3, .loop + anim_ret +; c97a1 + +BattleAnim_Ember: ; c97a1 + anim_1gfx ANIM_GFX_FIRE + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0B, 8, 0, 12, 0, $12 + anim_wait 4 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0B, 8, 0, 12, 4, $14 + anim_wait 4 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0B, 8, 0, 10, 4, $13 + anim_wait 16 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_sound 0, 1, SFX_EMBER + anim_obj ANIM_OBJ_0B, 15, 0, 8, 4, $30 + anim_obj ANIM_OBJ_0B, -16, 4, 8, 4, $30 + anim_obj ANIM_OBJ_0B, -14, 0, 8, 4, $30 + anim_wait 32 + anim_ret +; c97d8 + +BattleAnim_FirePunch: ; c97d8 + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE + anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 + anim_call BattleAnim_FirePunch_branch_cbbcc + anim_wait 16 + anim_ret +; c97e5 + +BattleAnim_FireSpin: ; c97e5 + anim_1gfx ANIM_GFX_FIRE +.loop + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $4 + anim_wait 2 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $3 + anim_wait 2 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $3 + anim_wait 2 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $4 + anim_wait 2 + anim_loop 2, .loop + anim_wait 96 + anim_ret +; c9811 + +BattleAnim_DragonRage: ; c9811 + anim_1gfx ANIM_GFX_FIRE +.loop + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0C, 8, 0, 11, 4, $0 + anim_wait 3 + anim_loop 16, .loop + anim_wait 64 + anim_ret +; c9822 + +BattleAnim_Flamethrower: ; c9822 + anim_1gfx ANIM_GFX_FIRE + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0D, 8, 0, 11, 4, $3 + anim_wait 2 + anim_obj ANIM_OBJ_0D, 9, 3, 10, 6, $5 + anim_wait 2 + anim_obj ANIM_OBJ_0D, 10, 5, 10, 1, $7 + anim_wait 2 + anim_obj ANIM_OBJ_0D, 12, 0, 9, 4, $9 + anim_wait 2 + anim_obj ANIM_OBJ_0D, 13, 2, 8, 7, $b + anim_wait 2 + anim_obj ANIM_OBJ_0D, 14, 4, 8, 2, $c + anim_wait 2 + anim_obj ANIM_OBJ_0D, 15, 6, 7, 5, $a + anim_wait 2 + anim_obj ANIM_OBJ_0D, -15, 0, 7, 0, $8 + anim_wait 16 +.loop + anim_sound 0, 1, SFX_EMBER + anim_wait 16 + anim_loop 6, .loop + anim_wait 16 + anim_ret +; c9861 + +BattleAnim_FireBlast: ; c9861 + anim_1gfx ANIM_GFX_FIRE +.loop1 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0F, 8, 0, 11, 4, $7 + anim_wait 6 + anim_loop 10, .loop1 +.loop2 + anim_sound 0, 1, SFX_EMBER + anim_wait 8 + anim_loop 10, .loop2 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_incobj 10 + anim_wait 2 +.loop3 + anim_sound 0, 1, SFX_EMBER + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $1 + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $2 + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $3 + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $4 + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $5 + anim_wait 16 + anim_loop 2, .loop3 + anim_wait 32 + anim_ret +; c98b0 + +BattleAnim_IcePunch: ; c98b0 + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE + anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 + anim_call BattleAnim_IcePunch_branch_cbbdf + anim_wait 32 + anim_ret +; c98bd + +BattleAnim_IceBeam: ; c98bd + anim_1gfx ANIM_GFX_ICE +.loop + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4 + anim_wait 4 + anim_loop 5, .loop + anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10 +.loop2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4 + anim_wait 4 + anim_loop 15, .loop2 + anim_wait 48 + anim_sound 0, 1, SFX_SHINE + anim_wait 8 + anim_sound 0, 1, SFX_SHINE + anim_wait 8 + anim_ret +; c98e8 + +BattleAnim_Blizzard: ; c98e8 + anim_1gfx ANIM_GFX_ICE +.loop + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 11, 0, $63 + anim_wait 2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 10, 0, $64 + anim_wait 2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 12, 0, $63 + anim_wait 2 + anim_loop 3, .loop + anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 + anim_wait 32 + anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10 + anim_wait 128 + anim_sound 0, 1, SFX_SHINE + anim_wait 8 + anim_sound 0, 1, SFX_SHINE + anim_wait 24 + anim_ret +; c991e + +BattleAnim_Bubble: ; c991e + anim_1gfx ANIM_GFX_BUBBLE + anim_sound 32, 2, SFX_WATER_GUN + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $c1 + anim_wait 6 + anim_sound 32, 2, SFX_WATER_GUN + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $e1 + anim_wait 6 + anim_sound 32, 2, SFX_WATER_GUN + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $d1 + anim_wait 128 + anim_wait 32 + anim_ret +; c993d + +BattleAnim_Bubblebeam: ; c993d + anim_1gfx ANIM_GFX_BUBBLE +.loop + anim_sound 16, 2, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $92 + anim_wait 6 + anim_sound 16, 2, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $b3 + anim_wait 6 + anim_sound 16, 2, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $f4 + anim_wait 8 + anim_loop 3, .loop + anim_wait 64 + anim_clearobjs + anim_bgeffect ANIM_BG_30, $0, $0, $0 + anim_wait 1 + anim_call BattleAnim_FollowPlayerHead_1 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 19 + anim_call BattleAnim_ShowMon_1 + anim_bgeffect ANIM_BG_32, $0, $0, $0 + anim_wait 8 + anim_ret +; c9979 + +BattleAnim_WaterGun: ; c9979 + anim_bgeffect ANIM_BG_30, $0, $0, $0 + anim_1gfx ANIM_GFX_WATER + anim_call BattleAnim_FollowPlayerHead_1 + anim_sound 16, 2, SFX_WATER_GUN + anim_obj ANIM_OBJ_24, 8, 0, 11, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_24, 8, 0, 9, 4, $0 + anim_wait 8 + anim_obj ANIM_OBJ_24, 8, 0, 10, 2, $0 + anim_wait 24 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_31, $8, $0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_31, $30, $0, $0 + anim_wait 32 + anim_call BattleAnim_ShowMon_1 + anim_bgeffect ANIM_BG_32, $0, $0, $0 + anim_wait 16 + anim_ret +; c99b4 + +BattleAnim_HydroPump: ; c99b4 + anim_bgeffect ANIM_BG_30, $0, $0, $0 + anim_1gfx ANIM_GFX_WATER + anim_call BattleAnim_FollowPlayerHead_1 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, 13, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, 14, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $8, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, 15, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $30, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, -16, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, -15, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $8, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, -14, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $30, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, -13, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 32 + anim_call BattleAnim_ShowMon_1 + anim_bgeffect ANIM_BG_32, $0, $0, $0 + anim_wait 16 + anim_ret +; c9a2a + +BattleAnim_Surf: ; c9a2a + anim_1gfx ANIM_GFX_BUBBLE + anim_bgeffect ANIM_BG_SURF, $0, $0, $0 + anim_obj ANIM_OBJ_22, 11, 0, 13, 0, $8 +.loop + anim_sound 0, 1, SFX_SURF + anim_wait 32 + anim_loop 4, .loop + anim_incobj 1 + anim_wait 56 + anim_ret +; c9a42 + +BattleAnim_VineWhip: ; c9a42 + anim_1gfx ANIM_GFX_WHIP + anim_sound 0, 1, SFX_VINE_WHIP + anim_obj ANIM_OBJ_40, 14, 4, 6, 4, $80 + anim_wait 4 + anim_sound 0, 1, SFX_VINE_WHIP + anim_obj ANIM_OBJ_3F, 16, 0, 7, 4, $0 + anim_wait 4 + anim_incobj 1 + anim_wait 4 + anim_ret +; c9a5a + +BattleAnim_LeechSeed: ; c9a5a + anim_1gfx ANIM_GFX_PLANT + anim_sound 16, 2, SFX_VINE_WHIP + anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $20 + anim_wait 8 + anim_sound 16, 2, SFX_VINE_WHIP + anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $30 + anim_wait 8 + anim_sound 16, 2, SFX_VINE_WHIP + anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $28 + anim_wait 32 + anim_sound 0, 1, SFX_CHARGE + anim_wait 128 + anim_ret +; c9a7c + +BattleAnim_RazorLeaf: ; c9a7c + anim_1gfx ANIM_GFX_PLANT + anim_sound 0, 0, SFX_VINE_WHIP + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $28 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $5c + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $10 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $e8 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $9c + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $d0 + anim_wait 6 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $1c + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $50 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $dc + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $90 + anim_wait 80 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 3 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 5 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 7 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 9 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 1 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 2 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 4 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 6 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 8 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 10 + anim_wait 64 + anim_ret +; c9af2 + +BattleAnim_Solarbeam: ; c9af2 + anim_if_param_equal $0, .FireSolarBeam + ; charge turn + anim_1gfx ANIM_GFX_CHARGE + anim_sound 0, 0, SFX_CHARGE + anim_obj ANIM_OBJ_3D, 6, 0, 10, 4, $0 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $0 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $8 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $10 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $18 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $20 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $28 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $30 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $38 + anim_wait 104 + anim_bgeffect ANIM_BG_FLASH_WHITE, $0, $4, $2 + anim_wait 64 + anim_ret +; c9b30 + +.FireSolarBeam + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_Solarbeam_branch_cbb39 + anim_wait 48 + anim_ret +; c9b3c + +BattleAnim_Thunderpunch: ; c9b3c + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_LIGHTNING + anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 + anim_wait 64 + anim_ret +; c9b53 + +BattleAnim_Thundershock: ; c9b53 + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION + anim_obj ANIM_OBJ_34, -15, 0, 7, 0, $2 + anim_wait 16 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0 + anim_wait 96 + anim_ret +; c9b66 + +BattleAnim_Thunderbolt: ; c9b66 + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 + anim_wait 16 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0 + anim_wait 64 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_wait 64 + anim_ret +; c9b84 + +BattleAnim_ThunderWave: ; c9b84 + anim_1gfx ANIM_GFX_LIGHTNING + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_30, -15, 0, 7, 0, $0 + anim_wait 20 + anim_bgp $1b + anim_incobj 1 + anim_wait 96 + anim_ret +; c9b9a + +BattleAnim_Thunder: ; c9b9a + anim_1gfx ANIM_GFX_LIGHTNING + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2E, 15, 0, 8, 4, $0 + anim_wait 16 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 + anim_wait 16 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2D, -15, 0, 8, 4, $0 + anim_wait 48 + anim_ret +; c9bbd + +BattleAnim_RazorWind: ; c9bbd + anim_if_param_equal $1, BattleAnim_RazorWind_branch_c9fb5 + anim_1gfx ANIM_GFX_WHIP + anim_bgeffect ANIM_BG_06, $0, $1, $0 +.loop + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_42, -13, 0, 5, 0, $3 + anim_wait 4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_42, -15, 0, 7, 0, $3 + anim_wait 4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_42, -13, 0, 8, 0, $3 + anim_wait 4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_41, 15, 0, 5, 0, $83 + anim_wait 4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_41, 15, 0, 8, 0, $83 + anim_wait 4 + anim_loop 3, .loop + anim_wait 24 + anim_ret +; c9c00 + +BattleAnim_Sonicboom_JP: ; c9c00 + anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT +.loop + anim_sound 3, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_43, 8, 0, 10, 0, $3 + anim_wait 8 + anim_sound 3, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_43, 8, 0, 11, 0, $2 + anim_wait 8 + anim_sound 3, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_43, 8, 0, 12, 0, $4 + anim_wait 8 + anim_loop 2, .loop + anim_wait 32 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; c9c36 + +BattleAnim_Gust: ; c9c36 +BattleAnim_Sonicboom: ; c9c36 + anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT +.loop + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_GUST, -15, 0, 9, 0, $0 + anim_wait 6 + anim_loop 9, .loop + anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18 + anim_wait 8 + anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18 + anim_wait 16 + anim_ret +; c9c53 + +BattleAnim_Selfdestruct: ; c9c53 + anim_1gfx ANIM_GFX_EXPLOSION + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 + anim_if_param_equal $1, .loop + anim_call BattleAnim_Selfdestruct_branch_cbb8f + anim_wait 16 + anim_ret +; c9c63 + +.loop + anim_call BattleAnim_Selfdestruct_branch_cbb62 + anim_wait 5 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_loop 2, .loop + anim_wait 16 + anim_ret +; c9c72 + +BattleAnim_Explosion: ; c9c72 + anim_1gfx ANIM_GFX_EXPLOSION + anim_bgeffect ANIM_BG_1F, $60, $4, $10 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 + anim_if_param_equal $1, .loop + anim_call BattleAnim_Explosion_branch_cbb8f + anim_wait 16 + anim_ret +; c9c87 + +.loop + anim_call BattleAnim_Explosion_branch_cbb62 + anim_wait 5 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_loop 2, .loop + anim_wait 16 + anim_ret +; c9c96 + +BattleAnim_Acid: ; c9c96 + anim_1gfx ANIM_GFX_POISON + anim_call BattleAnim_Acid_branch_cbc35 + anim_wait 64 + anim_ret +; c9c9d + +BattleAnim_RockThrow: ; c9c9d + anim_1gfx ANIM_GFX_ROCKS + anim_bgeffect ANIM_BG_1F, $60, $1, $0 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 + anim_wait 2 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30 + anim_wait 2 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 + anim_wait 2 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40 + anim_wait 2 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 + anim_wait 96 + anim_ret +; c9cd2 + +BattleAnim_RockSlide: ; c9cd2 + anim_1gfx ANIM_GFX_ROCKS + anim_bgeffect ANIM_BG_1F, $c0, $1, $0 +.loop + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 + anim_wait 4 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30 + anim_wait 4 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 + anim_wait 4 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40 + anim_wait 4 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 + anim_wait 16 + anim_loop 4, .loop + anim_wait 96 + anim_ret +; c9d0c + +BattleAnim_Sing: ; c9d0c + anim_1gfx ANIM_GFX_NOISE + anim_sound 16, 2, SFX_SING +.loop + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0 + anim_wait 8 + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $1 + anim_wait 8 + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2 + anim_wait 8 + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0 + anim_wait 8 + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2 + anim_wait 8 + anim_loop 4, .loop + anim_wait 64 + anim_ret +; c9d35 + +BattleAnim_Poisonpowder: ; c9d35 +BattleAnim_SleepPowder: ; c9d35 +BattleAnim_Spore: ; c9d35 +BattleAnim_StunSpore: ; c9d35 + anim_1gfx ANIM_GFX_POWDER +.loop + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, 13, 0, 2, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, -15, 0, 2, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, 14, 0, 2, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, 16, 0, 2, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, 15, 0, 2, 0, $0 + anim_wait 4 + anim_loop 2, .loop + anim_wait 96 + anim_ret +; c9d6a + +BattleAnim_HyperBeam: ; c9d6a + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_1F, $30, $4, $10 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_HyperBeam_branch_cbb39 + anim_wait 48 + anim_ret +; c9d80 + +BattleAnim_AuroraBeam: ; c9d80 + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_wait 64 + anim_call BattleAnim_AuroraBeam_branch_cbb39 + anim_wait 48 + anim_incobj 5 + anim_wait 64 + anim_ret +; c9d95 + +BattleAnim_Vicegrip: ; c9d95 + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_VICEGRIP + anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 + anim_wait 32 + anim_ret +; c9da6 + +BattleAnim_Scratch: ; c9da6 + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_SCRATCH + anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 + anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 + anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; c9dbc + +BattleAnim_FurySwipes: ; c9dbc + anim_1gfx ANIM_GFX_CUT + anim_if_param_equal $1, BattleAnim_FurySwipes_branch_c9dd9 + anim_sound 0, 1, SFX_SCRATCH + anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 + anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 + anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 + anim_sound 0, 1, SFX_SCRATCH + anim_wait 32 + anim_ret +; c9dd9 + +BattleAnim_FurySwipes_branch_c9dd9: ; c9dd9 + anim_sound 0, 1, SFX_SCRATCH + anim_obj ANIM_OBJ_38, 15, 0, 6, 0, $0 + anim_obj ANIM_OBJ_38, 15, 4, 5, 4, $0 + anim_obj ANIM_OBJ_38, 16, 0, 5, 0, $0 + anim_sound 0, 1, SFX_SCRATCH + anim_wait 32 + anim_ret +; c9df0 + +BattleAnim_Cut: ; c9df0 + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; c9dfc + +BattleAnim_Slash: ; c9dfc + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_3A, -14, 4, 4, 4, $0 + anim_wait 32 + anim_ret +; c9e0d + +BattleAnim_Clamp: ; c9e0d + anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT + anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $a0 + anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $20 + anim_wait 16 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18 + anim_wait 32 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18 + anim_wait 16 + anim_ret +; c9e2e + +BattleAnim_Bite: ; c9e2e + anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT + anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $98 + anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $18 + anim_wait 8 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18 + anim_wait 16 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18 + anim_wait 8 + anim_ret +; c9e4f + +BattleAnim_Teleport: ; c9e4f + anim_1gfx ANIM_GFX_SPEED + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TELEPORT, $0, $1, $0 + anim_wait 32 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_wait 3 + anim_incbgeffect ANIM_BG_TELEPORT + anim_call BattleAnim_ShowMon_0 + anim_bgeffect ANIM_BG_06, $0, $1, $0 + anim_call BattleAnim_Teleport_branch_cbb12 + anim_wait 64 + anim_ret +; c9e6f + +BattleAnim_Fly: ; c9e6f + anim_if_param_equal $1, BattleAnim_Fly_branch_c9e89 + anim_if_param_equal $2, BattleAnim_Fly_branch_c9e82 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 32 +BattleAnim_Fly_branch_c9e82: ; c9e82 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; c9e89 + +BattleAnim_Fly_branch_c9e89: ; c9e89 + anim_1gfx ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_06, $0, $1, $0 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_call BattleAnim_Fly_branch_cbb12 + anim_wait 64 + anim_ret +; c9e9a + +BattleAnim_DoubleTeam: ; c9e9a + anim_call BattleAnim_FollowPlayerHead_0 + anim_sound 0, 0, SFX_PSYBEAM + anim_bgeffect ANIM_BG_DOUBLE_TEAM, $0, $1, $0 + anim_wait 96 + anim_incbgeffect ANIM_BG_DOUBLE_TEAM + anim_wait 24 + anim_incbgeffect ANIM_BG_DOUBLE_TEAM + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9eaf + +BattleAnim_Recover: ; c9eaf + anim_1gfx ANIM_GFX_BUBBLE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_FULL_HEAL + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $30 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $31 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $32 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $33 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $34 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $35 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $36 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $37 + anim_wait 64 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9eeb + +BattleAnim_Absorb: ; c9eeb + anim_1gfx ANIM_GFX_CHARGE + anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0 +.loop + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 + anim_wait 6 + anim_loop 5, .loop + anim_wait 32 + anim_ret +; c9f13 + +BattleAnim_MegaDrain: ; c9f13 + anim_1gfx ANIM_GFX_CHARGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1C, $0, $0, $10 + anim_setvar $0 +.loop + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 + anim_wait 6 + anim_incvar + anim_if_var_equal $7, .done + anim_if_var_equal $2, .spawn + anim_jump .loop +; c9f46 + +.spawn + anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0 + anim_jump .loop +; c9f4e + +.done + anim_wait 32 + anim_incbgeffect ANIM_BG_1C + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9f55 + +BattleAnim_EggBomb: ; c9f55 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION + anim_sound 0, 0, SFX_SWITCH_POKEMON + anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $1 + anim_wait 128 + anim_wait 96 + anim_incobj 1 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_18, 16, 0, 8, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_18, -14, 0, 8, 4, $0 + anim_wait 8 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_18, -15, 0, 9, 0, $0 + anim_wait 24 + anim_ret +; c9f85 + +BattleAnim_Softboiled: ; c9f85 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_SWITCH_POKEMON + anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $6 + anim_wait 128 + anim_incobj 2 + anim_obj ANIM_OBJ_46, 9, 4, 13, 0, $b + anim_wait 16 + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_sound 0, 0, SFX_METRONOME +.loop + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20 + anim_wait 8 + anim_loop 8, .loop + anim_wait 128 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9fb5 + +BattleAnim_FocusEnergy: ; c9fb5 +BattleAnim_RazorWind_branch_c9fb5: ; c9fb5 +BattleAnim_SkullBash_branch_c9fb5: ; c9fb5 +BattleAnim_SkyAttack_branch_c9fb5: ; c9fb5 + anim_1gfx ANIM_GFX_SPEED + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_16, $0, $1, $40 + anim_bgeffect ANIM_BG_06, $0, $2, $0 +.loop + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 + anim_wait 2 + anim_loop 3, .loop + anim_wait 8 + anim_incbgeffect ANIM_BG_16 + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9ffc + +BattleAnim_Bide: ; c9ffc + anim_if_param_equal $0, BattleAnim_Bide_branch_c9651 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_ESCAPE_ROPE + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_wait 72 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca014 + +BattleAnim_Bind: ; ca014 + anim_1gfx ANIM_GFX_ROPE + anim_sound 0, 1, SFX_BIND + anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_49, -16, 4, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 + anim_wait 64 + anim_sound 0, 1, SFX_BIND + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_wait 96 + anim_ret +; ca036 + +BattleAnim_Wrap: ; ca036 + anim_1gfx ANIM_GFX_ROPE + anim_sound 0, 1, SFX_BIND + anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 + anim_wait 64 + anim_sound 0, 1, SFX_BIND + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_wait 96 + anim_ret +; ca058 + +BattleAnim_Confusion: ; ca058 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_1 + anim_sound 0, 1, SFX_PSYCHIC + anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 + anim_wait 128 + anim_incbgeffect ANIM_BG_NIGHT_SHADE + anim_call BattleAnim_ShowMon_1 + anim_ret +; ca06c + +BattleAnim_Constrict: ; ca06c + anim_1gfx ANIM_GFX_ROPE + anim_sound 0, 1, SFX_BIND + anim_obj ANIM_OBJ_49, -16, 4, 8, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_49, -16, 4, 5, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0 + anim_wait 64 + anim_ret +; ca08a + +BattleAnim_Earthquake: ; ca08a + anim_bgeffect ANIM_BG_1F, $60, $4, $10 +.loop + anim_sound 0, 1, SFX_EMBER + anim_wait 24 + anim_loop 4, .loop + anim_ret +; ca098 + +BattleAnim_Fissure: ; ca098 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 + anim_bgeffect ANIM_BG_1F, $60, $4, $0 +.loop + anim_sound 0, 1, SFX_EMBER + anim_wait 24 + anim_loop 4, .loop + anim_ret +; ca0ab + +BattleAnim_Growl: ; ca0ab + anim_1gfx ANIM_GFX_NOISE + anim_enemyfeetobj + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_cry $0 +.loop + anim_call BattleAnim_Growl_branch_cbbbc + anim_wait 16 + anim_loop 3, .loop + anim_wait 9 + anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_19, $0, $0, $40 + anim_wait 64 + anim_incbgeffect ANIM_BG_19 + anim_wait 1 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 5 + anim_incobj 10 + anim_wait 8 + anim_ret +; ca0d7 + +BattleAnim_Roar: ; ca0d7 + anim_1gfx ANIM_GFX_NOISE + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_cry $1 +.loop + anim_call BattleAnim_Roar_branch_cbbbc + anim_wait 16 + anim_loop 3, .loop + anim_wait 16 + anim_if_param_equal $0, .done + anim_bgeffect ANIM_BG_27, $0, $0, $0 + anim_wait 64 +.done + anim_ret +; ca0f4 + +BattleAnim_Supersonic: ; ca0f4 + anim_1gfx ANIM_GFX_PSYCHIC +.loop + anim_sound 6, 2, SFX_SUPERSONIC + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 + anim_wait 4 + anim_loop 10, .loop + anim_wait 64 + anim_ret +; ca105 + +BattleAnim_Screech: ; ca105 + anim_1gfx ANIM_GFX_PSYCHIC + anim_bgeffect ANIM_BG_1F, $8, $1, $20 + anim_sound 6, 2, SFX_SCREECH +.loop + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 + anim_wait 2 + anim_loop 2, .loop + anim_wait 64 + anim_ret +; ca11b + +BattleAnim_ConfuseRay: ; ca11b + anim_1gfx ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_08, $0, $4, $0 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $0 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $80 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $88 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $90 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $98 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a0 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a8 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b0 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b8 +.loop + anim_sound 6, 2, SFX_WHIRLWIND + anim_wait 16 + anim_loop 8, .loop + anim_wait 32 + anim_ret +; ca15e + +BattleAnim_Leer: ; ca15e + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_Leer_branch_cbadc + anim_wait 16 + anim_ret +; ca16a + +BattleAnim_Reflect: ; ca16a + anim_1gfx ANIM_GFX_REFLECT + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 24 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 64 + anim_ret +; ca18e + +BattleAnim_LightScreen: ; ca18e + anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_REFLECT + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_sound 0, 0, SFX_FLASH + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $8 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $10 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $18 + anim_wait 4 + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $20 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $28 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $30 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $38 + anim_wait 64 + anim_ret +; ca1d5 + +BattleAnim_Amnesia: ; ca1d5 + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 0, SFX_LICK + anim_obj ANIM_OBJ_53, 8, 0, 10, 0, $2 + anim_wait 16 + anim_obj ANIM_OBJ_53, 8, 4, 10, 0, $1 + anim_wait 16 + anim_obj ANIM_OBJ_53, 9, 0, 10, 0, $0 + anim_wait 64 + anim_ret +; ca1ed + +BattleAnim_DizzyPunch: ; ca1ed + anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_HIT + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0 + anim_obj ANIM_OBJ_02, -15, 0, 8, 0, $0 + anim_wait 16 + anim_sound 0, 1, SFX_KINESIS + anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $15 + anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $aa + anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $bf + anim_wait 96 + anim_ret +; ca212 + +BattleAnim_Rest: ; ca212 + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 0, SFX_TAIL_WHIP +.loop + anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 + anim_wait 40 + anim_loop 3, .loop + anim_wait 32 + anim_ret +; ca223 + +BattleAnim_AcidArmor: ; ca223 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_ACID_ARMOR, $0, $1, $8 + anim_sound 0, 0, SFX_MEGA_PUNCH + anim_wait 64 + anim_incbgeffect ANIM_BG_ACID_ARMOR + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca237 + +BattleAnim_Splash: ; ca237 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 0, SFX_VICEGRIP + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 + anim_wait 96 + anim_incbgeffect ANIM_BG_BOUNCE_DOWN + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca24b + +BattleAnim_Dig: ; ca24b + anim_2gfx ANIM_GFX_SAND, ANIM_GFX_HIT + anim_if_param_equal $0, .hit + anim_if_param_equal $2, .fail + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_DIG, $0, $1, $1 + anim_obj ANIM_OBJ_57, 9, 0, 13, 0, $0 +.loop + anim_sound 0, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_56, 7, 0, 13, 0, $0 + anim_wait 16 + anim_loop 6, .loop + anim_wait 32 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_wait 8 + anim_incbgeffect ANIM_BG_DIG + anim_call BattleAnim_ShowMon_0 + anim_ret + +.hit + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 32 +.fail + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca28d + +BattleAnim_SandAttack: ; ca28d + anim_1gfx ANIM_GFX_SAND + anim_call BattleAnim_SandAttack_branch_cbc5b + anim_ret +; ca293 + +BattleAnim_StringShot: ; ca293 + anim_1gfx ANIM_GFX_WEB + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_MENU + anim_obj ANIM_OBJ_5A, -16, 4, 6, 0, $1 + anim_wait 4 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_MENU + anim_obj ANIM_OBJ_5A, -16, 4, 8, 0, $1 + anim_wait 4 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0 + anim_wait 4 + anim_sound 0, 1, SFX_MENU + anim_obj ANIM_OBJ_5A, -16, 4, 7, 0, $2 + anim_wait 64 + anim_ret +; ca2d1 + +BattleAnim_Headbutt: ; ca2d1 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $14, $2, $0 + anim_wait 32 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_HEADBUTT + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca2ef + +BattleAnim_Tackle: ; ca2ef + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca307 + +BattleAnim_BodySlam: ; ca307 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_BOUNCE_DOWN + anim_wait 4 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 3 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 3 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca331 + +BattleAnim_TakeDown: ; ca331 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 3 + anim_sound 0, 1, SFX_TACKLE + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_TACKLE + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 3 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca35c + +BattleAnim_DoubleEdge: ; ca35c + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $10 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 3 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_00, 16, 0, 6, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $0 + anim_wait 3 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca382 + +BattleAnim_Submission: ; ca382 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_1 + anim_bgeffect ANIM_BG_26, $0, $0, $0 + anim_sound 0, 1, SFX_SUBMISSION + anim_wait 32 + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 32 + anim_obj ANIM_OBJ_01, -13, 0, 7, 0, $0 + anim_wait 32 + anim_obj ANIM_OBJ_01, -15, 0, 6, 4, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_26 + anim_call BattleAnim_ShowMon_1 + anim_ret +; ca3a8 + +BattleAnim_Whirlwind: ; ca3a8 + anim_1gfx ANIM_GFX_WIND +.loop + anim_sound 0, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0 + anim_wait 6 + anim_loop 9, .loop + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_sound 16, 2, SFX_WHIRLWIND + anim_wait 128 + anim_if_param_equal $0, .done + anim_bgeffect ANIM_BG_27, $0, $0, $0 + anim_wait 64 +.done + anim_ret +; ca3d8 + +BattleAnim_Hypnosis: ; ca3d8 + anim_1gfx ANIM_GFX_PSYCHIC +.loop + anim_sound 6, 2, SFX_SUPERSONIC + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 + anim_obj ANIM_OBJ_4C, 7, 0, 10, 0, $2 + anim_wait 8 + anim_loop 3, .loop + anim_wait 56 + anim_ret +; ca3ee + +BattleAnim_Haze: ; ca3ee + anim_1gfx ANIM_GFX_HAZE + anim_sound 0, 1, SFX_SURF +.loop + anim_obj ANIM_OBJ_HAZE, 6, 0, 7, 0, $0 + anim_obj ANIM_OBJ_HAZE, -16, 4, 2, 0, $0 + anim_wait 12 + anim_loop 5, .loop + anim_wait 96 + anim_ret +; ca404 + +BattleAnim_Mist: ; ca404 + anim_obp0 $54 + anim_1gfx ANIM_GFX_HAZE + anim_sound 0, 0, SFX_SURF +.loop + anim_obj ANIM_OBJ_MIST, 6, 0, 7, 0, $0 + anim_wait 8 + anim_loop 10, .loop + anim_wait 96 + anim_ret +; ca417 + +BattleAnim_Smog: ; ca417 + anim_1gfx ANIM_GFX_HAZE + anim_sound 0, 1, SFX_BUBBLEBEAM +.loop + anim_obj ANIM_OBJ_SMOG, -16, 4, 2, 0, $0 + anim_wait 8 + anim_loop 10, .loop + anim_wait 96 + anim_ret +; ca428 + +BattleAnim_PoisonGas: ; ca428 + anim_1gfx ANIM_GFX_HAZE + anim_sound 16, 2, SFX_BUBBLEBEAM +.loop + anim_obj ANIM_OBJ_POISON_GAS, 5, 4, 10, 0, $2 + anim_wait 8 + anim_loop 10, .loop + anim_wait 128 + anim_ret +; ca439 + +BattleAnim_HornAttack: ; ca439 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1 + anim_wait 16 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca44c + +BattleAnim_FuryAttack: ; ca44c + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_obj ANIM_OBJ_HORN, 9, 0, 9, 0, $2 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_04, 16, 0, 5, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_HORN, 10, 0, 11, 0, $2 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_04, -15, 0, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_HORN, 9, 4, 10, 0, $2 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_04, -16, 4, 6, 0, $0 + anim_wait 8 + anim_ret +; ca47d + +BattleAnim_HornDrill: ; ca47d + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 + anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $3 + anim_wait 8 +.loop + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_00, -15, 4, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_00, -16, 4, 7, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_00, 15, 4, 6, 0, $0 + anim_wait 8 + anim_loop 3, .loop + anim_ret +; ca4b4 + +BattleAnim_PoisonSting: ; ca4b4 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14 + anim_wait 16 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca4c7 + +BattleAnim_Twineedle: ; ca4c7 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14 + anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $14 + anim_wait 16 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; ca4e7 + +BattleAnim_PinMissile: ; ca4e7 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT +.loop + anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $28 + anim_wait 8 + anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $28 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $28 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0 + anim_loop 3, .loop + anim_wait 16 + anim_ret +; ca51a + +BattleAnim_SpikeCannon: ; ca51a + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT +.loop + anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $18 + anim_wait 8 + anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $18 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $18 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0 + anim_loop 3, .loop + anim_wait 16 + anim_ret +; ca54d + +BattleAnim_Transform: ; ca54d + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_transform + anim_sound 0, 0, SFX_PSYBEAM + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 + anim_wait 48 + anim_updateactorpic + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER + anim_wait 48 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca564 + +BattleAnim_PetalDance: ; ca564 + anim_sound 0, 0, SFX_MENU + anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT +.loop + anim_obj ANIM_OBJ_61, 6, 0, 7, 0, $0 + anim_wait 11 + anim_loop 8, .loop + anim_wait 128 + anim_wait 64 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca580 + +BattleAnim_Barrage: ; ca580 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10 + anim_wait 36 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_18, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca596 + +BattleAnim_PayDay: ; ca596 + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_STATUS + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 + anim_wait 16 + anim_sound 0, 1, SFX_PAY_DAY + anim_obj ANIM_OBJ_63, 15, 0, 9, 4, $1 + anim_wait 64 + anim_ret +; ca5ac + +BattleAnim_Mimic: ; ca5ac + anim_1gfx ANIM_GFX_SPEED + anim_obp0 $fc + anim_sound 63, 3, SFX_LICK + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $0 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $8 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $10 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $18 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $20 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $28 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $30 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $38 + anim_wait 128 + anim_wait 48 + anim_ret +; ca5de + +BattleAnim_LovelyKiss: ; ca5de + anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_96, -13, 0, 5, 0, $0 + anim_wait 32 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_HEART, 16, 0, 5, 0, $0 + anim_wait 40 + anim_ret +; ca5f6 + +BattleAnim_Bonemerang: ; ca5f6 + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT + anim_sound 6, 2, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_67, 11, 0, 7, 0, $1c + anim_wait 24 + anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 24 + anim_ret +; ca60c + +BattleAnim_Swift: ; ca60c + anim_1gfx ANIM_GFX_OBJECTS + anim_sound 6, 2, SFX_METRONOME + anim_obj ANIM_OBJ_6A, 8, 0, 11, 0, $4 + anim_wait 4 + anim_obj ANIM_OBJ_6A, 8, 0, 9, 0, $4 + anim_wait 4 + anim_obj ANIM_OBJ_6A, 8, 0, 9, 4, $4 + anim_wait 64 + anim_ret +; ca624 + +BattleAnim_Crabhammer: ; ca624 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 48 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 +.loop + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 12 + anim_loop 3, .loop + anim_ret +; ca63f + +BattleAnim_SkullBash: ; ca63f + anim_if_param_equal $1, BattleAnim_SkullBash_branch_c9fb5 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $14, $2, $0 + anim_wait 32 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 +.loop + anim_sound 0, 1, SFX_HEADBUTT + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 8 + anim_loop 3, .loop + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca66a + +BattleAnim_Kinesis: ; ca66a + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_obj ANIM_OBJ_6B, 10, 0, 9, 4, $0 + anim_wait 32 +.loop + anim_sound 0, 0, SFX_KINESIS + anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $0 + anim_wait 32 + anim_loop 3, .loop + anim_wait 32 + anim_sound 0, 0, SFX_KINESIS_2 + anim_wait 32 + anim_ret +; ca68b + +BattleAnim_Peck: ; ca68b + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, 16, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca6a0 + +BattleAnim_DrillPeck: ; ca6a0 + anim_1gfx ANIM_GFX_HIT +.loop + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, 15, 4, 7, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, -16, 4, 6, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, -15, 4, 7, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, -16, 4, 8, 0, $0 + anim_wait 4 + anim_loop 5, .loop + anim_wait 16 + anim_ret +; ca6cc + +BattleAnim_Guillotine: ; ca6cc + anim_1gfx ANIM_GFX_CUT + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10 + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_sound 0, 1, SFX_VICEGRIP + anim_obj ANIM_OBJ_37, -13, 4, 5, 4, $0 + anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_37, -14, 4, 4, 4, $0 + anim_obj ANIM_OBJ_39, 15, 4, 9, 4, $0 + anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 + anim_obj ANIM_OBJ_39, 14, 4, 8, 4, $0 + anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 + anim_wait 32 + anim_ret +; ca700 + +BattleAnim_Flash: ; ca700 + anim_1gfx ANIM_GFX_SPEED + anim_sound 0, 1, SFX_FLASH + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $8 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $10 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $18 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $20 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $28 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $30 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $38 + anim_wait 32 + anim_ret +; ca73c + +BattleAnim_Substitute: ; ca73c + anim_sound 0, 0, SFX_SURF + anim_if_param_equal $3, BattleAnim_Substitute_branch_ca77c + anim_if_param_equal $2, BattleAnim_Substitute_branch_ca76e + anim_if_param_equal $1, BattleAnim_Substitute_branch_ca760 + anim_1gfx ANIM_GFX_SMOKE + anim_bgeffect ANIM_BG_27, $0, $1, $0 + anim_wait 48 + anim_raisesub + anim_obj ANIM_OBJ_BALL_POOF, 6, 0, 12, 0, $0 + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca760 + +BattleAnim_Substitute_branch_ca760: ; ca760 + anim_bgeffect ANIM_BG_27, $0, $1, $0 + anim_wait 48 + anim_dropsub + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca76e + +BattleAnim_Substitute_branch_ca76e: ; ca76e + anim_bgeffect ANIM_BG_27, $0, $1, $0 + anim_wait 48 + anim_raisesub + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca77c + +BattleAnim_Substitute_branch_ca77c: ; ca77c + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_wait 48 + anim_dropsub + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca78a + +BattleAnim_Minimize: ; ca78a + anim_sound 0, 0, SFX_SURF + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_minimize + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 + anim_wait 48 + anim_updateactorpic + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER + anim_wait 48 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca7a1 + +BattleAnim_SkyAttack: ; ca7a1 + anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5 + anim_1gfx ANIM_GFX_SKY_ATTACK + anim_bgeffect ANIM_BG_27, $0, $1, $0 + anim_wait 32 + anim_sound 0, 0, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 6, 0, 11, 0, $40 + anim_wait 64 + anim_incobj 1 + anim_wait 21 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_wait 64 + anim_incobj 1 + anim_wait 32 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 16 + anim_ret +; ca7cc + +BattleAnim_NightShade: ; ca7cc + anim_1gfx ANIM_GFX_HIT + anim_bgp $1b + anim_obp1 $1b + anim_wait 32 + anim_call BattleAnim_FollowPlayerHead_1 + anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 + anim_sound 0, 1, SFX_PSYCHIC + anim_wait 96 + anim_incbgeffect ANIM_BG_NIGHT_SHADE + anim_call BattleAnim_ShowMon_1 + anim_ret +; ca7e5 + +BattleAnim_Lick: ; ca7e5 + anim_1gfx ANIM_GFX_WATER + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_LICK, -15, 0, 7, 0, $0 + anim_wait 64 + anim_ret +; ca7f1 + +BattleAnim_TriAttack: ; ca7f1 + anim_3gfx ANIM_GFX_FIRE, ANIM_GFX_ICE, ANIM_GFX_LIGHTNING + anim_call BattleAnim_TriAttack_branch_cbbcc + anim_wait 16 + anim_call BattleAnim_TriAttack_branch_cbbdf + anim_wait 16 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 + anim_wait 16 + anim_ret +; ca80c + +BattleAnim_Withdraw: ; ca80c + anim_1gfx ANIM_GFX_REFLECT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_WITHDRAW, $0, $1, $50 + anim_wait 48 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_WITHDRAW, 6, 0, 11, 0, $0 + anim_wait 64 + anim_incobj 2 + anim_wait 1 + anim_incbgeffect ANIM_BG_WITHDRAW + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca829 + +BattleAnim_Psybeam: ; ca829 + anim_1gfx ANIM_GFX_PSYCHIC + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_08, $0, $4, $0 +.loop + anim_sound 6, 2, SFX_PSYBEAM + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $4 + anim_wait 4 + anim_loop 10, .loop + anim_wait 48 + anim_ret +; ca844 + +BattleAnim_DreamEater: ; ca844 + anim_1gfx ANIM_GFX_BUBBLE + anim_bgp $1b + anim_obp0 $27 + anim_sound 6, 3, SFX_WATER_GUN + anim_call BattleAnim_DreamEater_branch_cbab3 + anim_wait 128 + anim_wait 48 + anim_ret +; ca853 + +BattleAnim_LeechLife: ; ca853 + anim_1gfx ANIM_GFX_BUBBLE + anim_sound 6, 3, SFX_WATER_GUN + anim_call BattleAnim_LeechLife_branch_cbab3 + anim_wait 128 + anim_wait 48 + anim_ret +; ca85e + +BattleAnim_Harden: ; ca85e + anim_1gfx ANIM_GFX_REFLECT + anim_obp0 $0 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_call BattleAnim_Harden_branch_cbc43 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca86c + +BattleAnim_Psywave: ; ca86c + anim_1gfx ANIM_GFX_PSYCHIC + anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 +.loop + anim_sound 6, 2, SFX_PSYCHIC + anim_obj ANIM_OBJ_4C, 8, 0, 10, 0, $2 + anim_wait 8 + anim_sound 6, 2, SFX_PSYCHIC + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $3 + anim_wait 8 + anim_sound 6, 2, SFX_PSYCHIC + anim_obj ANIM_OBJ_4C, 8, 0, 12, 0, $4 + anim_wait 8 + anim_loop 3, .loop + anim_wait 32 + anim_incbgeffect ANIM_BG_PSYCHIC + anim_wait 4 + anim_ret +; ca897 + +BattleAnim_Glare: ; ca897 + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_Glare_branch_cbadc + anim_wait 16 + anim_ret +; ca8a8 + +BattleAnim_Thrash: ; ca8a8 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0 + anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE + anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 + anim_wait 16 + anim_ret +; ca8d5 + +BattleAnim_Growth: ; ca8d5 + anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 + anim_1gfx ANIM_GFX_CHARGE + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $0 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $8 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $10 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $18 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $20 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $28 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $30 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $38 + anim_wait 64 + anim_ret +; ca909 + +BattleAnim_Conversion2: ; ca909 + anim_1gfx ANIM_GFX_EXPLOSION + anim_sound 63, 3, SFX_SHARPEN + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $0 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $8 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $10 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $18 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $20 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $28 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $30 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $38 + anim_wait 128 + anim_wait 48 + anim_ret +; ca939 + +BattleAnim_Smokescreen: ; ca939 + anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_75, 8, 0, 11, 4, $6c + anim_wait 24 + anim_incobj 1 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, 13, 4, 8, 6, $10 + anim_wait 8 +.loop + anim_sound 0, 1, SFX_MENU + anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20 + anim_wait 8 + anim_loop 5, .loop + anim_wait 128 + anim_ret +; ca960 + +BattleAnim_Strength: ; ca960 + anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_20, $10, $1, $20 + anim_sound 0, 0, SFX_STRENGTH + anim_obj ANIM_OBJ_1F, 8, 0, 13, 0, $1 + anim_wait 128 + anim_incobj 1 + anim_wait 20 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 + anim_wait 16 + anim_ret +; ca97e + +BattleAnim_SwordsDance: ; ca97e + anim_1gfx ANIM_GFX_WHIP + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $0 + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $d + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $1a + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $27 + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $34 + anim_wait 56 + anim_ret +; ca99e + +BattleAnim_QuickAttack: ; ca99e + anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT + anim_sound 0, 0, SFX_MENU + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 + anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 + anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 + anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 + anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 + anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 + anim_wait 12 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 16 + anim_ret +; ca9d8 + +BattleAnim_Meditate: ; ca9d8 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_PSYBEAM + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 + anim_wait 48 + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER + anim_wait 48 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca9ed + +BattleAnim_Sharpen: ; ca9ed + anim_1gfx ANIM_GFX_SHAPES + anim_obp0 $e4 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_SHARPEN + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_obj ANIM_OBJ_78, 6, 0, 11, 0, $0 + anim_wait 96 + anim_incobj 2 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; caa0a + +BattleAnim_DefenseCurl: ; caa0a + anim_1gfx ANIM_GFX_SHAPES + anim_obp0 $e4 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_SHARPEN + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_obj ANIM_OBJ_79, 6, 0, 11, 0, $0 + anim_wait 96 + anim_incobj 2 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; caa27 + +BattleAnim_SeismicToss: ; caa27 + anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_20, $10, $1, $20 + anim_sound 0, 0, SFX_STRENGTH + anim_obj ANIM_OBJ_20, 8, 0, 13, 0, $1 + anim_wait 128 + anim_incobj 1 + anim_wait 20 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 + anim_wait 16 + anim_ret +; caa45 + +BattleAnim_Rage: ; caa45 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_sound 0, 0, SFX_RAGE + anim_wait 72 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE + anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 + anim_wait 16 + anim_ret +; caa74 + +BattleAnim_Agility: ; caa74 + anim_1gfx ANIM_GFX_WIND + anim_obp0 $fc + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10 + anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2 + anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8 + anim_wait 4 + anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6 + anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c + anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4 + anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e +.loop + anim_sound 0, 0, SFX_RAZOR_WIND + anim_wait 4 + anim_loop 18, .loop + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; caab2 + +BattleAnim_BoneClub: ; caab2 + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC + anim_obj ANIM_OBJ_68, 8, 0, 11, 0, $2 + anim_wait 32 + anim_sound 0, 1, SFX_BONE_CLUB + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; caac5 + +BattleAnim_Barrier: ; caac5 + anim_1gfx ANIM_GFX_REFLECT + anim_enemyfeetobj + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_wait 8 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 32 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 32 + anim_ret +; caae1 + +BattleAnim_Waterfall: ; caae1 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 16 + anim_call BattleAnim_ShowMon_0 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 3 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 3 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 + anim_wait 3 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 4, 0, $0 + anim_wait 3 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 3, 0, $0 + anim_wait 8 + anim_ret +; cab1d + +BattleAnim_PsychicM: ; cab1d + anim_1gfx ANIM_GFX_PSYCHIC + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 +.loop + anim_sound 6, 2, SFX_PSYCHIC + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 + anim_wait 8 + anim_loop 8, .loop + anim_wait 96 + anim_incbgeffect ANIM_BG_PSYCHIC + anim_wait 4 + anim_ret +; cab3b + +BattleAnim_Sludge: ; cab3b + anim_1gfx ANIM_GFX_POISON + anim_call BattleAnim_Sludge_branch_cbc15 + anim_wait 56 + anim_ret +; cab42 + +BattleAnim_Toxic: ; cab42 + anim_1gfx ANIM_GFX_POISON + anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0 + anim_call BattleAnim_Toxic_branch_cbc35 + anim_wait 32 + anim_call BattleAnim_Toxic_branch_cbc15 + anim_wait 64 + anim_ret +; cab52 + +BattleAnim_Metronome: ; cab52 + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_SPEED + anim_sound 0, 0, SFX_METRONOME + anim_obj ANIM_OBJ_7A, 9, 0, 11, 0, $0 +.loop + anim_obj ANIM_OBJ_7B, 9, 0, 10, 0, $0 + anim_wait 8 + anim_loop 5, .loop + anim_wait 48 + anim_ret +; cab69 + +BattleAnim_Counter: ; cab69 + anim_1gfx ANIM_GFX_HIT +.loop + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0 + anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_06, -15, 0, 5, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_07, -13, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -13, 0, 7, 0, $0 + anim_wait 6 + anim_loop 3, .loop + anim_wait 16 + anim_ret +; cabaa + +BattleAnim_LowKick: ; cabaa + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, 15, 4, 8, 0, $0 + anim_obj ANIM_OBJ_00, 15, 4, 8, 0, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -16, 4, 8, 0, $0 + anim_obj ANIM_OBJ_00, -16, 4, 8, 0, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -15, 4, 8, 0, $0 + anim_obj ANIM_OBJ_00, -15, 4, 8, 0, $0 + anim_wait 16 + anim_ret +; cabe6 + +BattleAnim_WingAttack: ; cabe6 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0 + anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0 + anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0 + anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0 + anim_wait 16 + anim_ret +; cac13 + +BattleAnim_Slam: ; cac13 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_WING_ATTACK + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2 + anim_obj ANIM_OBJ_01, 15, 4, 5, 0, $0 + anim_wait 16 + anim_ret +; cac24 + +BattleAnim_Disable: ; cac24 + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_obj ANIM_OBJ_7C, -16, 4, 7, 0, $0 + anim_wait 16 + anim_sound 0, 1, SFX_BIND + anim_obj ANIM_OBJ_PARALYZED, 13, 0, 7, 0, $42 + anim_obj ANIM_OBJ_PARALYZED, -12, 0, 7, 0, $c2 + anim_wait 96 + anim_ret +; cac41 + +BattleAnim_TailWhip: ; cac41 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_sound 0, 0, SFX_TAIL_WHIP + anim_bgeffect ANIM_BG_26, $0, $1, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_26 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cac55 + +BattleAnim_Struggle: ; cac55 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; cac61 + +BattleAnim_Sketch: ; cac61 + anim_1gfx ANIM_GFX_OBJECTS + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_sound 0, 0, SFX_SKETCH + anim_obj ANIM_OBJ_98, 9, 0, 10, 0, $0 + anim_wait 80 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_ret +; cac7b + +BattleAnim_TripleKick: ; cac7b + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_TripleKick_branch_cac95 + anim_if_param_equal $2, BattleAnim_TripleKick_branch_caca5 + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; cac95 + +BattleAnim_TripleKick_branch_cac95: ; cac95 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 + anim_wait 8 + anim_ret +; caca5 + +BattleAnim_TripleKick_branch_caca5: ; caca5 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -16, 4, 4, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -16, 4, 4, 0, $0 + anim_wait 8 + anim_ret +; cacb5 + +BattleAnim_Thief: ; cacb5 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 16 + anim_sound 0, 1, SFX_THIEF + anim_obj ANIM_OBJ_01, 16, 0, 6, 0, $0 + anim_wait 16 + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 1, SFX_THIEF_2 + anim_obj ANIM_OBJ_8B, 15, 0, 9, 4, $1 + anim_wait 64 + anim_ret +; cacd9 + +BattleAnim_SpiderWeb: ; cacd9 + anim_1gfx ANIM_GFX_WEB + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_92, -16, 4, 6, 0, $0 + anim_sound 6, 2, SFX_SPIDER_WEB + anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0 + anim_wait 64 + anim_ret +; cacfb + +BattleAnim_MindReader: ; cacfb + anim_1gfx ANIM_GFX_MISC + anim_sound 0, 1, SFX_MIND_READER +.loop + anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $3 + anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $12 + anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $20 + anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $31 + anim_wait 16 + anim_loop 2, .loop + anim_wait 32 + anim_ret +; cad1b + +BattleAnim_Nightmare: ; cad1b + anim_1gfx ANIM_GFX_ANGELS + anim_bgp $1b + anim_obp0 $f + anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $0 + anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $a0 + anim_sound 0, 1, SFX_NIGHTMARE + anim_wait 96 + anim_ret +; cad30 + +BattleAnim_FlameWheel: ; cad30 + anim_1gfx ANIM_GFX_FIRE +.loop + anim_sound 0, 0, SFX_EMBER + anim_obj ANIM_OBJ_7F, 6, 0, 12, 0, $0 + anim_wait 6 + anim_loop 8, .loop + anim_wait 96 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_sound 0, 1, SFX_EMBER + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1 + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4 + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 4 + anim_incobj 9 + anim_wait 8 + anim_ret +; cad6b + +BattleAnim_Snore: ; cad6b + anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE + anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 + anim_wait 32 + anim_bgeffect ANIM_BG_1F, $60, $2, $0 + anim_sound 0, 0, SFX_SNORE +.loop + anim_call BattleAnim_Snore_branch_cbbbc + anim_wait 16 + anim_loop 2, .loop + anim_wait 8 + anim_ret +; cad86 + +BattleAnim_Curse: ; cad86 + anim_if_param_equal $1, .NotGhost + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS + anim_obj ANIM_OBJ_A5, 8, 4, 9, 0, $0 + anim_sound 0, 0, SFX_CURSE + anim_wait 32 + anim_incobj 1 + anim_wait 12 + anim_sound 0, 0, SFX_POISON_STING + anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0 + anim_wait 16 + anim_ret +; cada3 + +.NotGhost: ; cada3 + anim_1gfx ANIM_GFX_SPEED + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_19, $0, $1, $40 + anim_sound 0, 0, SFX_SHARPEN + anim_wait 64 + anim_incbgeffect ANIM_BG_19 + anim_wait 1 + anim_bgeffect ANIM_BG_16, $0, $1, $40 +.loop + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 + anim_wait 2 + anim_loop 3, .loop + anim_wait 8 + anim_incbgeffect ANIM_BG_16 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cadf1 + +BattleAnim_Flail: ; cadf1 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_SUBMISSION + anim_bgeffect ANIM_BG_2C, $0, $1, $0 + anim_wait 8 + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 8 + anim_incbgeffect ANIM_BG_2C + anim_call BattleAnim_ShowMon_0 + anim_ret +; cae17 + +BattleAnim_Conversion: ; cae17 + anim_1gfx ANIM_GFX_EXPLOSION + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_sound 63, 3, SFX_SHARPEN + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $0 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $8 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $10 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $18 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $20 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $28 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $30 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $38 + anim_wait 128 + anim_ret +; cae4b + +BattleAnim_Aeroblast: ; cae4b + anim_2gfx ANIM_GFX_BEAM, ANIM_GFX_AEROBLAST + anim_bgp $1b + anim_bgeffect ANIM_BG_1F, $50, $4, $10 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_sound 0, 0, SFX_AEROBLAST + anim_obj ANIM_OBJ_B3, 9, 0, 11, 0, $0 + anim_wait 32 + anim_sound 0, 0, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0 + anim_wait 2 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0 + anim_wait 2 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0 + anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0 + anim_wait 48 + anim_ret +; cae84 + +BattleAnim_CottonSpore: ; cae84 + anim_obp0 $54 + anim_1gfx ANIM_GFX_MISC + anim_sound 0, 1, SFX_POWDER +.loop ; cae8b + anim_obj ANIM_OBJ_COTTON_SPORE, -16, 4, 4, 0, $0 + anim_wait 8 + anim_loop 5, .loop + anim_wait 96 + anim_ret +; cae97 + +BattleAnim_Reversal: ; cae97 + anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_04, 14, 0, 8, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_A7, 15, 0, 7, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_04, 16, 0, 7, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_A7, -15, 0, 6, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_04, -14, 0, 6, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_A7, -13, 0, 5, 0, $0 + anim_wait 24 + anim_ret +; caed6 + +BattleAnim_Spite: ; caed6 + anim_1gfx ANIM_GFX_ANGELS + anim_obj ANIM_OBJ_A4, -16, 4, 2, 0, $0 + anim_sound 0, 1, SFX_SPITE + anim_wait 96 + anim_ret +; caee2 + +BattleAnim_PowderSnow: ; caee2 + anim_1gfx ANIM_GFX_ICE +.loop ; caee4 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_8F, 8, 0, 11, 0, $23 + anim_wait 2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_8F, 8, 0, 10, 0, $24 + anim_wait 2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_8F, 8, 0, 12, 0, $23 + anim_wait 2 + anim_loop 2, .loop + anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 + anim_wait 40 + anim_call BattleAnim_PowderSnow_branch_cbbdf + anim_wait 32 + anim_ret +; caf0e + +BattleAnim_Protect: ; caf0e + anim_1gfx ANIM_GFX_OBJECTS + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $0 + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $d + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $1a + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $27 + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $34 + anim_sound 0, 0, SFX_PROTECT + anim_wait 96 + anim_ret +; caf33 + +BattleAnim_MachPunch: ; caf33 + anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 + anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 + anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 + anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 + anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 + anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 + anim_wait 12 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 16 + anim_ret +; caf73 + +BattleAnim_ScaryFace: ; caf73 + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_ScaryFace_branch_cbadc + anim_wait 64 + anim_ret +; caf84 + +BattleAnim_FaintAttack: ; caf84 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 0, SFX_CURSE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1D, $0, $1, $80 + anim_wait 96 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_04, 15, 0, 4, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_04, -13, 0, 5, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_1D + anim_call BattleAnim_ShowMon_0 + anim_wait 4 + anim_ret +; cafb4 + +BattleAnim_SweetKiss: ; cafb4 + anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_97, 12, 0, 5, 0, $0 + anim_sound 0, 1, SFX_SWEET_KISS + anim_wait 32 + anim_sound 0, 1, SFX_SWEET_KISS_2 + anim_obj ANIM_OBJ_HEART, 15, 0, 5, 0, $0 + anim_wait 40 + anim_ret +; cafcf + +BattleAnim_BellyDrum: ; cafcf + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_NOISE + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 24 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 24 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 24 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_ret +; cb051 + +BattleAnim_SludgeBomb: ; cb051 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_POISON + anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0 + anim_sound 6, 2, SFX_SLUDGE_BOMB + anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10 + anim_wait 36 + anim_call BattleAnim_SludgeBomb_branch_cbc15 + anim_wait 64 + anim_ret +; cb067 + +BattleAnim_MudSlap: ; cb067 + anim_1gfx ANIM_GFX_SAND + anim_obp0 $fc + anim_call BattleAnim_MudSlap_branch_cbc5b + anim_ret +; cb06f + +BattleAnim_Octazooka: ; cb06f + anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_SLUDGE_BOMB + anim_obj ANIM_OBJ_8C, 8, 0, 11, 4, $4 + anim_wait 16 + anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10 + anim_wait 8 + anim_if_param_equal $0, .done +.loop + anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20 + anim_wait 8 + anim_loop 5, .loop + anim_wait 128 +.done + anim_ret +; cb092 + +BattleAnim_Spikes: ; cb092 + anim_1gfx ANIM_GFX_MISC + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $20 + anim_wait 8 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $30 + anim_wait 8 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $28 + anim_wait 64 + anim_ret +; cb0b0 + +BattleAnim_ZapCannon: ; cb0b0 + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION + anim_bgp $1b + anim_obp0 $30 + anim_sound 6, 2, SFX_ZAP_CANNON + anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2 + anim_wait 40 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 + anim_wait 16 + anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0 + anim_wait 128 + anim_ret +; cb0d0 + +BattleAnim_Foresight: ; cb0d0 + anim_1gfx ANIM_GFX_SHINE + anim_call BattleAnim_FollowEnemyFeet_1 + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 1, SFX_FORESIGHT + anim_obj ANIM_OBJ_A7, -16, 4, 5, 0, $0 + anim_wait 24 + anim_bgeffect ANIM_BG_19, $0, $0, $40 + anim_wait 64 + anim_incbgeffect ANIM_BG_19 + anim_call BattleAnim_ShowMon_1 + anim_wait 8 + anim_ret +; cb0f0 + +BattleAnim_DestinyBond: ; cb0f0 + anim_1gfx ANIM_GFX_ANGELS + anim_bgp $1b + anim_obp0 $0 + anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104 + anim_sound 6, 2, SFX_WHIRLWIND + anim_obj ANIM_OBJ_9B, 5, 4, 15, 0, $2 + anim_wait 128 + anim_ret +; cb104 + +BattleAnim_DestinyBond_branch_cb104: ; cb104 + anim_obj ANIM_OBJ_9B, -16, 4, 9, 4, $0 + anim_sound 0, 1, SFX_KINESIS + anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 + anim_wait 32 + anim_ret +; cb113 + +BattleAnim_PerishSong: ; cb113 + anim_1gfx ANIM_GFX_NOISE + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_sound 0, 2, SFX_PERISH_SONG + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $0 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $8 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $10 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $18 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $20 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $28 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $30 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $38 + anim_wait 112 + anim_ret +; cb14c + +BattleAnim_IcyWind: ; cb14c + anim_1gfx ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_playerheadobj + anim_sound 0, 0, SFX_PSYCHIC +.loop + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4 + anim_wait 8 + anim_loop 2, .loop + anim_wait 16 + anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 + anim_wait 64 + anim_incbgeffect ANIM_BG_NIGHT_SHADE + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 4 + anim_incobj 7 + anim_wait 1 + anim_ret +; cb18c + +BattleAnim_Detect: ; cb18c + anim_1gfx ANIM_GFX_SHINE + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 0, SFX_FORESIGHT + anim_obj ANIM_OBJ_A7, 8, 0, 11, 0, $0 + anim_wait 24 + anim_ret +; cb19d + +BattleAnim_BoneRush: ; cb19d + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC + anim_sound 0, 1, SFX_BONE_CLUB + anim_obj ANIM_OBJ_69, -16, 4, 7, 0, $2 + anim_wait 16 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 16 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $0 + anim_wait 16 + anim_ret +; cb1bc + +BattleAnim_LockOn: ; cb1bc + anim_1gfx ANIM_GFX_MISC + anim_sound 0, 1, SFX_MIND_READER +.loop + anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $3 + anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $12 + anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $20 + anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $31 + anim_wait 16 + anim_loop 2, .loop + anim_wait 32 + anim_ret +; cb1dc + +BattleAnim_Outrage: ; cb1dc + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_sound 0, 0, SFX_OUTRAGE + anim_wait 72 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE + anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 + anim_wait 16 + anim_ret +; cb210 + +BattleAnim_Sandstorm: ; cb210 + anim_1gfx ANIM_GFX_POWDER + anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1 + anim_wait 8 + anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2 +.loop + anim_sound 0, 1, SFX_MENU + anim_wait 8 + anim_loop 16, .loop + anim_wait 8 + anim_ret +; cb22d + +BattleAnim_GigaDrain: ; cb22d + anim_2gfx ANIM_GFX_BUBBLE, ANIM_GFX_CHARGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1C, $0, $0, $10 + anim_sound 6, 3, SFX_GIGA_DRAIN + anim_call BattleAnim_GigaDrain_branch_cbab3 + anim_wait 48 + anim_wait 128 + anim_incbgeffect ANIM_BG_1C + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_1gfx ANIM_GFX_SHINE + anim_bgeffect ANIM_BG_07, $0, $0, $0 +.loop + anim_sound 0, 0, SFX_METRONOME + anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0 + anim_wait 5 + anim_loop 2, .loop + anim_wait 32 + anim_ret +; cb274 + +BattleAnim_Endure: ; cb274 + anim_1gfx ANIM_GFX_SPEED + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_bgeffect ANIM_BG_07, $0, $2, $0 +.loop + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 + anim_wait 2 + anim_loop 5, .loop + anim_wait 8 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb2bb + +BattleAnim_Charm: ; cb2bb + anim_1gfx ANIM_GFX_OBJECTS + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_26, $0, $1, $0 + anim_sound 0, 0, SFX_ATTRACT + anim_obj ANIM_OBJ_HEART, 8, 0, 10, 0, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_26 + anim_call BattleAnim_ShowMon_0 + anim_wait 4 + anim_ret +; cb2d5 + +BattleAnim_Rollout: ; cb2d5 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 0, SFX_SPARK + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_2E, $60, $1, $1 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb2f5 + +BattleAnim_FalseSwipe: ; cb2f5 + anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_CUT + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_9D, -15, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; cb30d + +BattleAnim_Swagger: ; cb30d + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND +.loop + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_A9, 9, 0, 11, 0, $44 + anim_wait 32 + anim_loop 2, .loop + anim_wait 32 + anim_sound 0, 1, SFX_KINESIS_2 + anim_obj ANIM_OBJ_83, 13, 0, 5, 0, $0 + anim_wait 40 + anim_ret +; cb328 + +BattleAnim_MilkDrink: ; cb328 + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_obj ANIM_OBJ_82, 9, 2, 13, 0, $0 + anim_wait 16 + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_sound 0, 0, SFX_MILK_DRINK +.loop + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20 + anim_wait 8 + anim_loop 8, .loop + anim_wait 128 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb34d + +BattleAnim_Spark: ; cb34d + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION + anim_sound 0, 0, SFX_ZAP_CANNON + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_obj ANIM_OBJ_30, 6, 0, 11, 4, $0 + anim_wait 24 + anim_setobj $1, $3 + anim_wait 1 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_sound 0, 0, SFX_SPARK + anim_wait 16 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 4 + anim_incobj 2 + anim_wait 1 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 + anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0 + anim_wait 32 + anim_ret +; cb386 + +BattleAnim_FuryCutter: ; cb386 + anim_1gfx ANIM_GFX_CUT +.loop + anim_sound 0, 1, SFX_CUT + anim_if_param_and %00000001, .obj1 + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_jump .okay + +.obj1 + anim_obj ANIM_OBJ_3B, 14, 0, 5, 0, $0 +.okay + anim_wait 16 + anim_jumpuntil .loop + anim_ret +; cb3a1 + +BattleAnim_SteelWing: ; cb3a1 + anim_1gfx ANIM_GFX_REFLECT + anim_obp0 $0 + anim_sound 0, 0, SFX_RAGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_call BattleAnim_SteelWing_branch_cbc43 + anim_call BattleAnim_ShowMon_0 + anim_1gfx ANIM_GFX_HIT + anim_resetobp0 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0 + anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0 + anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0 + anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0 + anim_wait 16 + anim_ret +; cb3df + +BattleAnim_MeanLook: ; cb3df + anim_1gfx ANIM_GFX_PSYCHIC + anim_obp0 $e0 + anim_sound 0, 1, SFX_MEAN_LOOK + anim_obj ANIM_OBJ_AC, -14, 4, 4, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_AC, 14, 4, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_AC, -14, 4, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_AC, 14, 4, 4, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_AC, -16, 4, 6, 0, $0 + anim_wait 128 + anim_ret +; cb405 + +BattleAnim_Attract: ; cb405 + anim_1gfx ANIM_GFX_OBJECTS +.loop + anim_sound 0, 0, SFX_ATTRACT + anim_obj ANIM_OBJ_66, 5, 4, 10, 0, $2 + anim_wait 8 + anim_loop 5, .loop + anim_wait 128 + anim_wait 64 + anim_ret +; cb417 + +BattleAnim_SleepTalk: ; cb417 + anim_1gfx ANIM_GFX_STATUS +.loop + anim_sound 0, 0, SFX_STRENGTH + anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 + anim_wait 40 + anim_loop 2, .loop + anim_wait 32 + anim_ret +; cb428 + +BattleAnim_HealBell: ; cb428 + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE + anim_obj ANIM_OBJ_84, 9, 0, 7, 0, $0 + anim_wait 32 +.loop + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0 + anim_wait 8 + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $1 + anim_wait 8 + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2 + anim_wait 8 + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0 + anim_wait 8 + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2 + anim_wait 8 + anim_loop 4, .loop + anim_wait 64 + anim_ret +; cb464 + +BattleAnim_Return: ; cb464 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 + anim_sound 0, 0, SFX_RETURN + anim_wait 64 + anim_incbgeffect ANIM_BG_BOUNCE_DOWN + anim_wait 32 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb488 + +BattleAnim_Present: ; cb488 + anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE + anim_sound 0, 1, SFX_PRESENT + anim_obj ANIM_OBJ_8D, 8, 0, 11, 0, $6c + anim_wait 56 + anim_obj ANIM_OBJ_53, 13, 0, 6, 0, $0 + anim_wait 48 + anim_incobj 2 + anim_if_param_equal $3, .heal + anim_incobj 1 + anim_wait 1 + anim_1gfx ANIM_GFX_EXPLOSION + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 +.loop + anim_call BattleAnim_Present_branch_cbb8f + anim_wait 16 + anim_jumpuntil .loop + anim_ret + +.heal + anim_sound 0, 1, SFX_METRONOME +.loop2 + anim_obj ANIM_OBJ_2C, -16, 4, 6, 0, $24 + anim_wait 8 + anim_loop 8, .loop2 + anim_wait 128 + anim_ret +; cb4c1 + +BattleAnim_Frustration: ; cb4c1 + anim_1gfx ANIM_GFX_MISC + anim_sound 0, 0, SFX_KINESIS_2 + anim_obj ANIM_OBJ_83, 9, 0, 10, 0, $0 + anim_wait 40 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_26, $0, $1, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 8 + anim_incbgeffect ANIM_BG_26 + anim_wait 1 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb4f9 + +BattleAnim_Safeguard: ; cb4f9 + anim_1gfx ANIM_GFX_MISC + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $0 + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $d + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $1a + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $27 + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $34 + anim_sound 0, 0, SFX_PROTECT + anim_wait 96 + anim_ret +; cb51e + +BattleAnim_PainSplit: ; cb51e + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_04, 14, 0, 6, 0, $0 + anim_obj ANIM_OBJ_04, 9, 4, 12, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_ret +; cb53d + +BattleAnim_SacredFire: ; cb53d + anim_1gfx ANIM_GFX_FIRE + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 +.loop + anim_sound 0, 0, SFX_EMBER + anim_obj ANIM_OBJ_80, 6, 0, 13, 0, $0 + anim_wait 8 + anim_loop 8, .loop + anim_wait 96 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_EMBER + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1 + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4 + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 4 + anim_incobj 9 + anim_wait 8 + anim_ret +; cb57d + +BattleAnim_Magnitude: ; cb57d + anim_1gfx ANIM_GFX_ROCKS +.loop + anim_bgeffect ANIM_BG_1F, $e, $4, $0 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 + anim_wait 2 + anim_obj ANIM_OBJ_1E, 15, 0, 8, 4, $30 + anim_wait 2 + anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 + anim_wait 2 + anim_obj ANIM_OBJ_1E, -14, 0, 8, 0, $40 + anim_wait 2 + anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 + anim_wait 2 + anim_jumpuntil .loop + anim_wait 96 + anim_ret +; cb5aa + +BattleAnim_Dynamicpunch: ; cb5aa + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_EXPLOSION + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 + anim_wait 16 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 + anim_call BattleAnim_Dynamicpunch_branch_cbb8f + anim_wait 16 + anim_ret +; cb5c0 + +BattleAnim_Megahorn: ; cb5c0 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 48 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 + anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_wait 16 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; cb5de + +BattleAnim_Dragonbreath: ; cb5de + anim_1gfx ANIM_GFX_FIRE + anim_sound 6, 2, SFX_EMBER +.loop + anim_obj ANIM_OBJ_90, 8, 0, 11, 4, $4 + anim_wait 4 + anim_loop 10, .loop + anim_wait 64 + anim_ret +; cb5ef + +BattleAnim_BatonPass: ; cb5ef + anim_1gfx ANIM_GFX_MISC + anim_obj ANIM_OBJ_86, 5, 4, 13, 0, $20 + anim_sound 0, 0, SFX_BATON_PASS + anim_call BattleAnim_BatonPass_branch_c9486 + anim_wait 64 + anim_ret +; cb5fe + +BattleAnim_Encore: ; cb5fe + anim_1gfx ANIM_GFX_OBJECTS + anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $90 + anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $10 + anim_sound 0, 0, SFX_ENCORE + anim_wait 16 + anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $2c + anim_wait 32 + anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $34 + anim_wait 16 + anim_ret +; cb61b + +BattleAnim_Pursuit: ; cb61b + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_Pursuit_branch_cb62b + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; cb62b + +BattleAnim_Pursuit_branch_cb62b: ; cb62b + anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0 + anim_wait 4 + anim_call BattleAnim_FollowEnemyFeet_1 + anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $0 + anim_wait 64 + anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $1 + anim_sound 0, 1, SFX_BALL_POOF + anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0 + anim_wait 64 + anim_incobj 3 + anim_wait 16 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, 15, 0, 7, 0, $0 + anim_bgeffect ANIM_BG_2D, $0, $0, $0 + anim_wait 16 + anim_call BattleAnim_ShowMon_1 + anim_wait 1 + anim_ret +; cb65e + +BattleAnim_RapidSpin: ; cb65e + anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT + anim_obp0 $e4 +.loop + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_A8, 5, 4, 14, 0, $0 + anim_wait 2 + anim_loop 5, .loop + anim_wait 24 + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 4 + anim_resetobp0 + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_04, -15, 0, 5, 0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 4 + anim_incobj 6 + anim_wait 1 + anim_ret +; cb68e + +BattleAnim_SweetScent: ; cb68e + anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC + anim_sound 0, 0, SFX_SWEET_SCENT + anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2 + anim_wait 2 + anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2 + anim_wait 96 + anim_obp0 $54 + anim_sound 0, 1, SFX_SWEET_SCENT_2 + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15 + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f + anim_wait 128 + anim_ret +; cb6b6 + +BattleAnim_IronTail: ; cb6b6 + anim_1gfx ANIM_GFX_REFLECT + anim_obp0 $0 + anim_sound 0, 0, SFX_RAGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_call BattleAnim_IronTail_branch_cbc43 + anim_wait 4 + anim_1gfx ANIM_GFX_HIT + anim_resetobp0 + anim_bgeffect ANIM_BG_26, $0, $1, $0 + anim_wait 16 + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 + anim_wait 16 + anim_incbgeffect ANIM_BG_26 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb6dc + +BattleAnim_MetalClaw: ; cb6dc + anim_1gfx ANIM_GFX_REFLECT + anim_obp0 $0 + anim_sound 0, 0, SFX_RAGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_call BattleAnim_MetalClaw_branch_cbc43 + anim_call BattleAnim_ShowMon_0 + anim_1gfx ANIM_GFX_CUT + anim_resetobp0 + anim_sound 0, 1, SFX_SCRATCH + anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 + anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 + anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; cb703 + +BattleAnim_VitalThrow: ; cb703 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_2F, $0, $1, $0 + anim_wait 16 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_04, 8, 0, 12, 0, $0 + anim_wait 8 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_04, 7, 0, 11, 0, $0 + anim_wait 8 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_04, 8, 4, 13, 0, $0 + anim_wait 8 + anim_incbgeffect ANIM_BG_2F + anim_wait 16 + anim_call BattleAnim_ShowMon_0 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_03, -16, 4, 7, 0, $0 + anim_wait 16 + anim_ret +; cb739 + +BattleAnim_MorningSun: ; cb739 + anim_1gfx ANIM_GFX_SHINE + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 0, SFX_MORNING_SUN +.loop + anim_obj ANIM_OBJ_9C, 2, 0, 6, 0, $88 + anim_wait 6 + anim_loop 5, .loop + anim_wait 32 + anim_if_param_equal 0, .zero + anim_call BattleAnim_MorningSun_branch_cbc6a + anim_ret +; cb756 + +.zero + anim_call BattleAnim_MorningSun_branch_cbc80 + anim_ret +; cb75a + +BattleAnim_Synthesis: ; cb75a + anim_1gfx ANIM_GFX_SHINE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 0, SFX_OUTRAGE + anim_wait 72 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_if_param_equal $1, .one + anim_call BattleAnim_Synthesis_branch_cbc6a + anim_ret +; cb77a + +.one + anim_call BattleAnim_Synthesis_branch_cbc80 + anim_ret +; cb77e + +BattleAnim_Crunch: ; cb77e + anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT + anim_bgp $1b + anim_obp0 $c0 + anim_bgeffect ANIM_BG_1F, $20, $2, $0 + anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $a8 + anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $28 + anim_wait 8 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $18 + anim_wait 16 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_00, 16, 0, 8, 0, $18 + anim_wait 8 + anim_ret +; cb7a8 + +BattleAnim_Moonlight: ; cb7a8 + anim_1gfx ANIM_GFX_SHINE + anim_bgp $1b + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_obj ANIM_OBJ_9E, 0, 0, 5, 0, $0 + anim_obj ANIM_OBJ_9E, 2, 0, 7, 0, $0 + anim_obj ANIM_OBJ_9E, 4, 0, 9, 0, $0 + anim_obj ANIM_OBJ_9E, 6, 0, 11, 0, $0 + anim_obj ANIM_OBJ_9E, 8, 0, 13, 0, $0 + anim_wait 1 + anim_sound 0, 0, SFX_MOONLIGHT + anim_wait 63 + anim_if_param_equal $3, .three + anim_call BattleAnim_Moonlight_branch_cbc6a + anim_ret + +.three + anim_call BattleAnim_Moonlight_branch_cbc80 + anim_ret +; cb7db + +BattleAnim_HiddenPower: ; cb7db + anim_1gfx ANIM_GFX_CHARGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $0 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $8 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $10 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $18 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $20 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $28 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $30 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $38 +.loop + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_wait 8 + anim_loop 12, .loop + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_wait 16 + anim_1gfx ANIM_GFX_HIT + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 32 + anim_ret +; cb83a + +BattleAnim_CrossChop: ; cb83a + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_A0, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_A1, 15, 0, 9, 0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_1F, $58, $2, $0 + anim_wait 92 + anim_sound 0, 1, SFX_VICEGRIP + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10 + anim_wait 16 + anim_ret +; cb85a + +BattleAnim_Twister: ; cb85a + anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT +.loop1 + anim_sound 0, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0 + anim_wait 6 + anim_loop 9, .loop1 +.loop2 + anim_sound 0, 0, SFX_RAZOR_WIND + anim_wait 8 + anim_loop 8, .loop2 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_wait 64 + anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18 +.loop3 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_wait 8 + anim_loop 4, .loop3 + anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18 +.loop4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_wait 8 + anim_loop 4, .loop4 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_wait 32 + anim_ret +; cb8b3 + +BattleAnim_RainDance: ; cb8b3 + anim_1gfx ANIM_GFX_WATER + anim_bgp $f8 + anim_obp0 $7c + anim_sound 0, 1, SFX_RAIN_DANCE + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $1 + anim_wait 8 + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 + anim_wait 128 + anim_ret +; cb8cf + +BattleAnim_SunnyDay: ; cb8cf + anim_1gfx ANIM_GFX_WATER + anim_bgp $90 + anim_sound 0, 1, SFX_MORNING_SUN + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 + anim_wait 8 + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 + anim_wait 8 + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 + anim_wait 128 + anim_ret +; cb8e9 + +BattleAnim_MirrorCoat: ; cb8e9 + anim_2gfx ANIM_GFX_REFLECT, ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_06, $0, $2, $0 +.loop + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_obj ANIM_OBJ_AE, 8, 0, 9, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4 + anim_wait 8 + anim_loop 3, .loop + anim_wait 32 + anim_ret +; cb917 + +BattleAnim_PsychUp: ; cb917 + anim_1gfx ANIM_GFX_STATUS + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_sound 0, 0, SFX_PSYBEAM + anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $0 + anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $10 + anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $20 + anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $30 + anim_wait 64 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_wait 16 + anim_ret +; cb940 + +BattleAnim_Extremespeed: ; cb940 + anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_CUT + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 + anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 + anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 + anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 + anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 + anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 + anim_wait 12 + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_wait 32 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 16 + anim_ret +; cb97a + +BattleAnim_Ancientpower: ; cb97a + anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT + anim_sound 0, 0, SFX_SPARK + anim_obj ANIM_OBJ_B2, 8, 0, 13, 4, $20 + anim_wait 8 + anim_sound 0, 0, SFX_SPARK + anim_obj ANIM_OBJ_B2, 9, 3, 12, 6, $20 + anim_wait 8 + anim_sound 0, 0, SFX_SPARK + anim_obj ANIM_OBJ_B2, 10, 5, 12, 1, $20 + anim_wait 8 + anim_sound 0, 0, SFX_SPARK + anim_obj ANIM_OBJ_B2, 12, 0, 11, 4, $20 + anim_wait 8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B2, 13, 2, 10, 7, $20 + anim_wait 8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B2, 14, 4, 10, 2, $20 + anim_wait 8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B2, 15, 6, 9, 5, $20 + anim_wait 8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_ret +; cb9c6 + +BattleAnim_ShadowBall: ; cb9c6 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE + anim_bgp $1b + anim_sound 6, 2, SFX_SLUDGE_BOMB + anim_obj ANIM_OBJ_B4, 8, 0, 11, 4, $2 + anim_wait 32 + anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10 + anim_wait 24 + anim_ret +; cb9db + +BattleAnim_FutureSight: ; cb9db + anim_1gfx ANIM_GFX_WIND + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 + anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10 + anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2 + anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8 + anim_wait 4 + anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6 + anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c + anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4 + anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e +.loop + anim_sound 0, 0, SFX_THROW_BALL + anim_wait 16 + anim_loop 4, .loop + anim_incbgeffect ANIM_BG_PSYCHIC + anim_ret +; cba1b + +BattleAnim_RockSmash: ; cba1b + anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $28 + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $5c + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $10 + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $e8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $9c + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $d0 + anim_wait 6 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $1c + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $50 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $dc + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $90 + anim_wait 32 + anim_ret +; cba6a + +BattleAnim_Whirlpool: ; cba6a + anim_1gfx ANIM_GFX_WIND + anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0 + anim_sound 0, 1, SFX_SURF + anim_wait 16 +.loop + anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0 + anim_wait 6 + anim_loop 9, .loop + anim_wait 64 + anim_incbgeffect ANIM_BG_WHIRLPOOL + anim_wait 1 + anim_ret +; cba84 + +BattleAnim_BeatUp: ; cba84 + anim_if_param_equal $0, .current_mon + anim_sound 0, 0, SFX_BALL_POOF + anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0 + anim_wait 16 + anim_beatup + anim_sound 0, 0, SFX_BALL_POOF + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 16 +.current_mon + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_BEAT_UP + anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cbab3 + +BattleAnim_DreamEater_branch_cbab3: ; cbab3 +BattleAnim_GigaDrain_branch_cbab3: ; cbab3 +BattleAnim_LeechLife_branch_cbab3: ; cbab3 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $0 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $8 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $10 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $18 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $20 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $28 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $30 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $38 + anim_ret +; cbadc + +BattleAnim_Glare_branch_cbadc: ; cbadc +BattleAnim_Leer_branch_cbadc: ; cbadc +BattleAnim_ScaryFace_branch_cbadc: ; cbadc + anim_sound 6, 2, SFX_LEER + anim_obj ANIM_OBJ_4E, 9, 0, 10, 4, $0 + anim_obj ANIM_OBJ_4E, 8, 0, 10, 0, $0 + anim_obj ANIM_OBJ_4E, 11, 0, 9, 4, $0 + anim_obj ANIM_OBJ_4E, 10, 0, 9, 0, $0 + anim_obj ANIM_OBJ_4E, 13, 0, 8, 4, $0 + anim_obj ANIM_OBJ_4E, 12, 0, 8, 0, $0 + anim_obj ANIM_OBJ_4E, 15, 0, 7, 4, $0 + anim_obj ANIM_OBJ_4E, 14, 0, 7, 0, $0 + anim_obj ANIM_OBJ_4F, -16, 2, 6, 6, $0 + anim_obj ANIM_OBJ_4F, 15, 2, 6, 2, $0 + anim_ret +; cbb12 + +BattleAnim_Fly_branch_cbb12: ; cbb12 +BattleAnim_Teleport_branch_cbb12: ; cbb12 + anim_sound 0, 0, SFX_WARP_TO + anim_obj ANIM_OBJ_44, 5, 4, 13, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 12, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 11, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 10, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 9, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 8, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 7, 4, $0 + anim_ret +; cbb39 + +BattleAnim_AuroraBeam_branch_cbb39: ; cbb39 +BattleAnim_HyperBeam_branch_cbb39: ; cbb39 +BattleAnim_Solarbeam_branch_cbb39: ; cbb39 + anim_sound 0, 0, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 8, 0, 11, 4, $0 + anim_wait 4 + anim_sound 0, 0, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0 + anim_wait 4 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0 + anim_wait 4 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0 + anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0 + anim_ret +; cbb62 + +BattleAnim_Explosion_branch_cbb62: ; cbb62 +BattleAnim_Selfdestruct_branch_cbb62: ; cbb62 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 3, 0, 8, 0, $0 + anim_wait 5 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 7, 0, 13, 0, $0 + anim_wait 5 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 3, 0, 13, 0, $0 + anim_wait 5 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 7, 0, 8, 0, $0 + anim_wait 5 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 5, 0, 10, 4, $0 + anim_ret +; cbb8f + +BattleAnim_Dynamicpunch_branch_cbb8f: ; cbb8f +BattleAnim_Explosion_branch_cbb8f: ; cbb8f +BattleAnim_Present_branch_cbb8f: ; cbb8f +BattleAnim_Selfdestruct_branch_cbb8f: ; cbb8f + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, -14, 4, 4, 0, $0 + anim_wait 5 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 14, 4, 9, 0, $0 + anim_wait 5 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, -14, 4, 9, 0, $0 + anim_wait 5 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 14, 4, 4, 0, $0 + anim_wait 5 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, -16, 4, 6, 4, $0 + anim_ret +; cbbbc + +BattleAnim_Growl_branch_cbbbc: ; cbbbc +BattleAnim_Roar_branch_cbbbc: ; cbbbc +BattleAnim_Snore_branch_cbbbc: ; cbbbc + anim_obj ANIM_OBJ_4B, 8, 0, 9, 4, $0 + anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $1 + anim_obj ANIM_OBJ_4B, 8, 0, 12, 4, $2 + anim_ret +; cbbcc + +BattleAnim_FirePunch_branch_cbbcc: ; cbbcc +BattleAnim_TriAttack_branch_cbbcc: ; cbbcc + anim_sound 0, 1, SFX_EMBER +.loop + anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $10 + anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $90 + anim_wait 4 + anim_loop 4, .loop + anim_ret +; cbbdf + +BattleAnim_IcePunch_branch_cbbdf: ; cbbdf +BattleAnim_PowderSnow_branch_cbbdf: ; cbbdf +BattleAnim_TriAttack_branch_cbbdf: ; cbbdf + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, 16, 0, 5, 2, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, -14, 0, 8, 6, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, 15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, -13, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, -14, 0, 5, 2, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, 16, 0, 8, 6, $0 + anim_ret +; cbc15 + +BattleAnim_SludgeBomb_branch_cbc15: ; cbc15 +BattleAnim_Sludge_branch_cbc15: ; cbc15 +BattleAnim_Toxic_branch_cbc15: ; cbc15 +.loop + anim_sound 0, 1, SFX_UNKNOWN_7F + anim_obj ANIM_OBJ_1A, -16, 4, 9, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_UNKNOWN_7F + anim_obj ANIM_OBJ_1A, 14, 4, 9, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_UNKNOWN_7F + anim_obj ANIM_OBJ_1A, -14, 4, 9, 0, $0 + anim_wait 8 + anim_loop 5, .loop + anim_ret +; cbc35 + +BattleAnim_Acid_branch_cbc35: ; cbc35 +BattleAnim_Toxic_branch_cbc35: ; cbc35 +.loop + anim_sound 6, 2, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_19, 8, 0, 11, 4, $10 + anim_wait 5 + anim_loop 8, .loop + anim_ret +; cbc43 + +BattleAnim_Harden_branch_cbc43: ; cbc43 +BattleAnim_IronTail_branch_cbc43: ; cbc43 +BattleAnim_MetalClaw_branch_cbc43: ; cbc43 +BattleAnim_SteelWing_branch_cbc43: ; cbc43 + anim_sound 0, 0, SFX_SHINE + anim_bgeffect ANIM_BG_17, $0, $1, $40 + anim_wait 8 + anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0 + anim_wait 32 + anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0 + anim_wait 64 + anim_incbgeffect ANIM_BG_17 + anim_ret +; cbc5b + +BattleAnim_MudSlap_branch_cbc5b: ; cbc5b +BattleAnim_SandAttack_branch_cbc5b: ; cbc5b +.loop + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_58, 8, 0, 11, 4, $4 + anim_wait 4 + anim_loop 8, .loop + anim_wait 32 + anim_ret +; cbc6a + +BattleAnim_Moonlight_branch_cbc6a: ; cbc6a +BattleAnim_MorningSun_branch_cbc6a: ; cbc6a +BattleAnim_Synthesis_branch_cbc6a: ; cbc6a + anim_sound 0, 0, SFX_METRONOME + anim_obj ANIM_OBJ_9D, 5, 4, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 3, 0, 12, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 + anim_wait 21 + anim_ret +; cbc80 + +BattleAnim_Moonlight_branch_cbc80: ; cbc80 +BattleAnim_MorningSun_branch_cbc80: ; cbc80 +BattleAnim_Synthesis_branch_cbc80: ; cbc80 + anim_sound 0, 0, SFX_METRONOME +.loop + anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0 + anim_wait 5 + anim_loop 2, .loop + anim_wait 16 + anim_ret +; cbca7 + +BattleAnim_FollowEnemyFeet_0: ; cbca7 + anim_enemyfeetobj + anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $0, $0 + anim_wait 6 + anim_ret +; cbcaf + +BattleAnim_FollowPlayerHead_0: ; cbcaf + anim_playerheadobj + anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $0, $0 + anim_wait 6 + anim_ret +; cbcb7 + +BattleAnim_ShowMon_0: ; cbcb7 + anim_wait 1 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 5 + anim_incobj 1 + anim_wait 1 + anim_ret +; cbcc2 + +BattleAnim_FollowEnemyFeet_1: ; cbcc2 + anim_enemyfeetobj + anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0 + anim_wait 6 + anim_ret +; cbcca + +BattleAnim_FollowPlayerHead_1: ; cbcca + anim_playerheadobj + anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0 + anim_wait 4 + anim_ret +; cbcd2 + +BattleAnim_ShowMon_1: ; cbcd2 + anim_wait 1 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 4 + anim_incobj 1 + anim_wait 1 + anim_ret +; cbcdd diff --git a/data/moves/descriptions.asm b/data/moves/descriptions.asm new file mode 100644 index 000000000..d86ceea37 --- /dev/null +++ b/data/moves/descriptions.asm @@ -0,0 +1,1270 @@ +MoveDescriptions:: ; 2cb52 +; entries correspond to move ids (see constants/move_constants.asm) + dw PoundDescription + dw KarateChopDescription + dw DoubleslapDescription + dw CometPunchDescription + dw MegaPunchDescription + dw PayDayDescription + dw FirePunchDescription + dw IcePunchDescription + dw ThunderpunchDescription + dw ScratchDescription + dw VicegripDescription + dw GuillotineDescription + dw RazorWindDescription + dw SwordsDanceDescription + dw CutDescription + dw GustDescription + dw WingAttackDescription + dw WhirlwindDescription + dw FlyDescription + dw BindDescription + dw SlamDescription + dw VineWhipDescription + dw StompDescription + dw DoubleKickDescription + dw MegaKickDescription + dw JumpKickDescription + dw RollingKickDescription + dw SandAttackDescription + dw HeadbuttDescription + dw HornAttackDescription + dw FuryAttackDescription + dw HornDrillDescription + dw TackleDescription + dw BodySlamDescription + dw WrapDescription + dw TakeDownDescription + dw ThrashDescription + dw DoubleEdgeDescription + dw TailWhipDescription + dw PoisonStingDescription + dw TwineedleDescription + dw PinMissileDescription + dw LeerDescription + dw BiteDescription + dw GrowlDescription + dw RoarDescription + dw SingDescription + dw SupersonicDescription + dw SonicboomDescription + dw DisableDescription + dw AcidDescription + dw EmberDescription + dw FlamethrowerDescription + dw MistDescription + dw WaterGunDescription + dw HydroPumpDescription + dw SurfDescription + dw IceBeamDescription + dw BlizzardDescription + dw PsybeamDescription + dw BubblebeamDescription + dw AuroraBeamDescription + dw HyperBeamDescription + dw PeckDescription + dw DrillPeckDescription + dw SubmissionDescription + dw LowKickDescription + dw CounterDescription + dw SeismicTossDescription + dw StrengthDescription + dw AbsorbDescription + dw MegaDrainDescription + dw LeechSeedDescription + dw GrowthDescription + dw RazorLeafDescription + dw SolarbeamDescription + dw PoisonpowderDescription + dw StunSporeDescription + dw SleepPowderDescription + dw PetalDanceDescription + dw StringShotDescription + dw DragonRageDescription + dw FireSpinDescription + dw ThundershockDescription + dw ThunderboltDescription + dw ThunderWaveDescription + dw ThunderDescription + dw RockThrowDescription + dw EarthquakeDescription + dw FissureDescription + dw DigDescription + dw ToxicDescription + dw ConfusionDescription + dw PsychicMDescription + dw HypnosisDescription + dw MeditateDescription + dw AgilityDescription + dw QuickAttackDescription + dw RageDescription + dw TeleportDescription + dw NightShadeDescription + dw MimicDescription + dw ScreechDescription + dw DoubleTeamDescription + dw RecoverDescription + dw HardenDescription + dw MinimizeDescription + dw SmokescreenDescription + dw ConfuseRayDescription + dw WithdrawDescription + dw DefenseCurlDescription + dw BarrierDescription + dw LightScreenDescription + dw HazeDescription + dw ReflectDescription + dw FocusEnergyDescription + dw BideDescription + dw MetronomeDescription + dw MirrorMoveDescription + dw SelfdestructDescription + dw EggBombDescription + dw LickDescription + dw SmogDescription + dw SludgeDescription + dw BoneClubDescription + dw FireBlastDescription + dw WaterfallDescription + dw ClampDescription + dw SwiftDescription + dw SkullBashDescription + dw SpikeCannonDescription + dw ConstrictDescription + dw AmnesiaDescription + dw KinesisDescription + dw SoftboiledDescription + dw HiJumpKickDescription + dw GlareDescription + dw DreamEaterDescription + dw PoisonGasDescription + dw BarrageDescription + dw LeechLifeDescription + dw LovelyKissDescription + dw SkyAttackDescription + dw TransformDescription + dw BubbleDescription + dw DizzyPunchDescription + dw SporeDescription + dw FlashDescription + dw PsywaveDescription + dw SplashDescription + dw AcidArmorDescription + dw CrabhammerDescription + dw ExplosionDescription + dw FurySwipesDescription + dw BonemerangDescription + dw RestDescription + dw RockSlideDescription + dw HyperFangDescription + dw SharpenDescription + dw ConversionDescription + dw TriAttackDescription + dw SuperFangDescription + dw SlashDescription + dw SubstituteDescription + dw StruggleDescription + dw SketchDescription + dw TripleKickDescription + dw ThiefDescription + dw SpiderWebDescription + dw MindReaderDescription + dw NightmareDescription + dw FlameWheelDescription + dw SnoreDescription + dw CurseDescription + dw FlailDescription + dw Conversion2Description + dw AeroblastDescription + dw CottonSporeDescription + dw ReversalDescription + dw SpiteDescription + dw PowderSnowDescription + dw ProtectDescription + dw MachPunchDescription + dw ScaryFaceDescription + dw FaintAttackDescription + dw SweetKissDescription + dw BellyDrumDescription + dw SludgeBombDescription + dw MudSlapDescription + dw OctazookaDescription + dw SpikesDescription + dw ZapCannonDescription + dw ForesightDescription + dw DestinyBondDescription + dw PerishSongDescription + dw IcyWindDescription + dw DetectDescription + dw BoneRushDescription + dw LockOnDescription + dw OutrageDescription + dw SandstormDescription + dw GigaDrainDescription + dw EndureDescription + dw CharmDescription + dw RolloutDescription + dw FalseSwipeDescription + dw SwaggerDescription + dw MilkDrinkDescription + dw SparkDescription + dw FuryCutterDescription + dw SteelWingDescription + dw MeanLookDescription + dw AttractDescription + dw SleepTalkDescription + dw HealBellDescription + dw ReturnDescription + dw PresentDescription + dw FrustrationDescription + dw SafeguardDescription + dw PainSplitDescription + dw SacredFireDescription + dw MagnitudeDescription + dw DynamicpunchDescription + dw MegahornDescription + dw DragonbreathDescription + dw BatonPassDescription + dw EncoreDescription + dw PursuitDescription + dw RapidSpinDescription + dw SweetScentDescription + dw IronTailDescription + dw MetalClawDescription + dw VitalThrowDescription + dw MorningSunDescription + dw SynthesisDescription + dw MoonlightDescription + dw HiddenPowerDescription + dw CrossChopDescription + dw TwisterDescription + dw RainDanceDescription + dw SunnyDayDescription + dw CrunchDescription + dw MirrorCoatDescription + dw PsychUpDescription + dw ExtremespeedDescription + dw AncientpowerDescription + dw ShadowBallDescription + dw FutureSightDescription + dw RockSmashDescription + dw WhirlpoolDescription + dw BeatUpDescription + dw MoveFCDescription + dw MoveFDDescription + dw MoveFEDescription + dw MoveFFDescription + dw Move00Description +; 2cd52 + +MoveFCDescription: +MoveFDDescription: +MoveFEDescription: +MoveFFDescription: +Move00Description: + db "?@" + +PoundDescription: + db "Pounds with fore-" + next "legs or tail.@" + +KarateChopDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +DoubleslapDescription: + db "Repeatedly slaps" + next "2-5 times.@" + +CometPunchDescription: + db "Repeatedly punches" + next "2-5 times.@" + +MegaPunchDescription: + db "A powerful punch" + next "thrown very hard.@" + +PayDayDescription: + db "Throws coins. Gets" + next "them back later.@" + +FirePunchDescription: + db "A fiery punch. May" + next "cause a burn.@" + +IcePunchDescription: + db "An icy punch. May" + next "cause freezing.@" + +ThunderpunchDescription: + db "An electric punch." + next "It may paralyze.@" + +ScratchDescription: + db "Scratches with" + next "sharp claws.@" + +VicegripDescription: + db "Grips with power-" + next "ful pincers.@" + +GuillotineDescription: + db "A one-hit KO," + next "pincer attack.@" + +RazorWindDescription: + db "1st turn: Prepare" + next "2nd turn: Attack@" + +SwordsDanceDescription: + db "A dance that in-" + next "creases ATTACK.@" + +CutDescription: + db "Cuts using claws," + next "scythes, etc.@" + +GustDescription: + db "Whips up a strong" + next "gust of wind.@" + +WingAttackDescription: + db "Strikes the target" + next "with wings.@" + +WhirlwindDescription: + db "Blows away the foe" + next "& ends battle.@" + +FlyDescription: + db "1st turn: Fly" + next "2nd turn: Attack@" + +BindDescription: + db "Binds the target" + next "for 2-5 turns.@" + +SlamDescription: + db "Slams the foe with" + next "a tail, vine, etc.@" + +VineWhipDescription: + db "Whips the foe with" + next "slender vines.@" + +StompDescription: + db "An attack that may" + next "cause flinching.@" + +DoubleKickDescription: + db "A double kicking" + next "attack.@" + +MegaKickDescription: + db "A powerful kicking" + next "attack.@" + +JumpKickDescription: + db "May miss, damaging" + next "the user.@" + +RollingKickDescription: + db "A fast, spinning" + next "kick.@" + +SandAttackDescription: + db "Reduces accuracy" + next "by throwing sand.@" + +HeadbuttDescription: + db "An attack that may" + next "make foe flinch.@" + +HornAttackDescription: + db "An attack using a" + next "horn to jab.@" + +FuryAttackDescription: + db "Jabs the target" + next "2-5 times.@" + +HornDrillDescription: + db "A one-hit KO," + next "drill attack.@" + +TackleDescription: + db "A full-body charge" + next "attack.@" + +BodySlamDescription: + db "An attack that may" + next "cause paralysis.@" + +WrapDescription: + db "Squeezes the foe" + next "for 2-5 turns.@" + +TakeDownDescription: + db "A tackle that also" + next "hurts the user.@" + +ThrashDescription: + db "Works 2-3 turns" + next "and confuses user.@" + +DoubleEdgeDescription: + db "A tackle that also" + next "hurts the user.@" + +TailWhipDescription: + db "Lowers the foe's" + next "DEFENSE.@" + +PoisonStingDescription: + db "An attack that may" + next "poison the target.@" + +TwineedleDescription: + db "Jabs the foe twice" + next "using stingers.@" + +PinMissileDescription: + db "Fires pins that" + next "strike 2-5 times.@" + +LeerDescription: + db "Reduces the foe's" + next "DEFENSE.@" + +BiteDescription: + db "An attack that may" + next "cause flinching.@" + +GrowlDescription: + db "Reduces the foe's" + next "ATTACK.@" + +RoarDescription: + db "Scares wild foes" + next "to end battle.@" + +SingDescription: + db "May cause the foe" + next "to fall asleep.@" + +SupersonicDescription: + db "Sound waves that" + next "cause confusion.@" + +SonicboomDescription: + db "Always inflicts" + next "20HP damage.@" + +DisableDescription: + db "Disables the foe's" + next "most recent move.@" + +AcidDescription: + db "An attack that may" + next "lower DEFENSE.@" + +EmberDescription: + db "An attack that may" + next "inflict a burn.@" + +FlamethrowerDescription: + db "An attack that may" + next "inflict a burn.@" + +MistDescription: + db "Prevents stat" + next "reduction.@" + +WaterGunDescription: + db "Squirts water to" + next "attack.@" + +HydroPumpDescription: + db "A powerful water-" + next "type attack.@" + +SurfDescription: + db "A strong water-" + next "type attack.@" + +IceBeamDescription: + db "An attack that may" + next "freeze the foe.@" + +BlizzardDescription: + db "An attack that may" + next "freeze the foe.@" + +PsybeamDescription: + db "An attack that may" + next "confuse the foe.@" + +BubblebeamDescription: + db "An attack that may" + next "lower SPEED.@" + +AuroraBeamDescription: + db "An attack that may" + next "lower ATTACK.@" + +HyperBeamDescription: + db "1st turn: Attack" + next "2nd turn: Rest@" + +PeckDescription: + db "Jabs the foe with" + next "a beak, etc.@" + +DrillPeckDescription: + db "A strong, spin-" + next "ning-peck attack.@" + +SubmissionDescription: + db "An attack that al-" + next "so hurts the user.@" + +LowKickDescription: + db "An attack that may" + next "cause flinching.@" + +CounterDescription: + db "Returns a physical" + next "blow double.@" + +SeismicTossDescription: + db "The user's level" + next "equals damage HP.@" + +StrengthDescription: + db "A powerful physi-" + next "cal attack.@" + +AbsorbDescription: + db "Steals 1/2 of the" + next "damage inflicted.@" + +MegaDrainDescription: + db "Steals 1/2 of the" + next "damage inflicted.@" + +LeechSeedDescription: + db "Steals HP from the" + next "foe on every turn.@" + +GrowthDescription: + db "Raises the SPCL." + next "ATK rating.@" + +RazorLeafDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +SolarbeamDescription: + db "1st turn: Prepare" + next "2nd turn: Attack@" + +PoisonpowderDescription: + db "A move that may" + next "poison the foe.@" + +StunSporeDescription: + db "A move that may" + next "paralyze the foe.@" + +SleepPowderDescription: + db "May cause the foe" + next "to fall asleep.@" + +PetalDanceDescription: + db "Works 2-3 turns" + next "and confuses user.@" + +StringShotDescription: + db "A move that lowers" + next "the foe's SPEED.@" + +DragonRageDescription: + db "Always inflicts" + next "40HP damage.@" + +FireSpinDescription: + db "Traps foe in fire" + next "for 2-5 turns.@" + +ThundershockDescription: + db "An attack that may" + next "cause paralysis.@" + +ThunderboltDescription: + db "An attack that may" + next "cause paralysis.@" + +ThunderWaveDescription: + db "A move that may" + next "cause paralysis.@" + +ThunderDescription: + db "An attack that may" + next "cause paralysis.@" + +RockThrowDescription: + db "Drops rocks on the" + next "enemy.@" + +EarthquakeDescription: + db "Tough but useless" + next "vs. flying foes.@" + +FissureDescription: + db "A ground-type," + next "one-hit KO attack.@" + +DigDescription: + db "1st turn: Burrow" + next "2nd turn: Attack@" + +ToxicDescription: + db "A poison move with" + next "increasing damage.@" + +ConfusionDescription: + db "An attack that may" + next "cause confusion.@" + +PsychicMDescription: + db "An attack that may" + next "lower SPCL.DEF.@" + +HypnosisDescription: + db "May put the foe to" + next "sleep.@" + +MeditateDescription: + db "Raises the user's" + next "ATTACK.@" + +AgilityDescription: + db "Sharply increases" + next "the user's SPEED.@" + +QuickAttackDescription: + db "Lets the user get" + next "in the first hit.@" + +RageDescription: + db "Raises ATTACK if" + next "the user is hit.@" + +TeleportDescription: + db "A move for fleeing" + next "from battle.@" + +NightShadeDescription: + db "The user's level" + next "equals damage HP.@" + +MimicDescription: + db "Copies a move used" + next "by the foe.@" + +ScreechDescription: + db "Sharply reduces" + next "the foe's DEFENSE.@" + +DoubleTeamDescription: + db "Heightens evasive-" + next "ness.@" + +RecoverDescription: + db "Restores HP by 1/2" + next "the max HP.@" + +HardenDescription: + db "Raises the user's" + next "DEFENSE.@" + +MinimizeDescription: + db "Heightens evasive-" + next "ness.@" + +SmokescreenDescription: + db "Lowers the foe's" + next "accuracy.@" + +ConfuseRayDescription: + db "A move that causes" + next "confusion.@" + +WithdrawDescription: + db "Heightens the" + next "user's DEFENSE.@" + +DefenseCurlDescription: + db "Heightens the" + next "user's DEFENSE.@" + +BarrierDescription: + db "Sharply increases" + next "user's DEFENSE.@" + +LightScreenDescription: + db "Ups SPCL.DEF with" + next "a wall of light.@" + +HazeDescription: + db "Eliminates all" + next "stat changes.@" + +ReflectDescription: + db "Raises DEFENSE" + next "with a barrier.@" + +FocusEnergyDescription: + db "Raises the criti-" + next "cal hit ratio.@" + +BideDescription: + db "Waits 2-3 turns &" + next "hits back double.@" + +MetronomeDescription: + db "Randomly uses any" + next "#MON move.@" + +MirrorMoveDescription: + db "Counters with the" + next "same move.@" + +SelfdestructDescription: + db "Powerful but makes" + next "the user faint.@" + +EggBombDescription: + db "Eggs are hurled at" + next "the foe.@" + +LickDescription: + db "An attack that may" + next "cause paralysis.@" + +SmogDescription: + db "An attack that may" + next "poison the foe.@" + +SludgeDescription: + db "An attack that may" + next "poison the foe.@" + +BoneClubDescription: + db "An attack that may" + next "cause flinching.@" + +FireBlastDescription: + db "An attack that" + next "may cause a burn.@" + +WaterfallDescription: + db "An aquatic charge" + next "attack.@" + +ClampDescription: + db "Traps the foe for" + next "2-5 turns.@" + +SwiftDescription: + db "An attack that" + next "never misses.@" + +SkullBashDescription: + db "1st turn: Prepare" + next "2nd turn: Attack@" + +SpikeCannonDescription: + db "Fires spikes to" + next "hit 2-5 times.@" + +ConstrictDescription: + db "An attack that may" + next "lower SPEED.@" + +AmnesiaDescription: + db "Sharply raises the" + next "user's SPCL.DEF.@" + +KinesisDescription: + db "Reduces the foe's" + next "accuracy.@" + +SoftboiledDescription: + db "Restores HP by 1/2" + next "the user's max HP.@" + +HiJumpKickDescription: + db "May miss and hurt" + next "the user.@" + +GlareDescription: + db "A move that may" + next "cause paralysis.@" + +DreamEaterDescription: + db "Steals HP from a" + next "sleeping victim.@" + +PoisonGasDescription: + db "A move that may" + next "poison the foe.@" + +BarrageDescription: + db "Throws orbs to hit" + next "2-5 times.@" + +LeechLifeDescription: + db "Steals 1/2 of the" + next "damage inflicted.@" + +LovelyKissDescription: + db "May cause the foe" + next "to fall asleep.@" + +SkyAttackDescription: + db "1st turn: Prepare" + next "2nd turn: Attack@" +TransformDescription: + db "The user assumes" + next "the foe's guise.@" + +BubbleDescription: + db "An attack that may" + next "reduce SPEED.@" + +DizzyPunchDescription: + db "An attack that may" + next "cause confusion.@" + +SporeDescription: + db "A move that" + next "induces sleep.@" + +FlashDescription: + db "Blinds the foe to" + next "reduce accuracy.@" + +PsywaveDescription: + db "An attack with" + next "variable power.@" + +SplashDescription: + db "Has no effect" + next "whatsoever.@" + +AcidArmorDescription: + db "Sharply raises the" + next "user's DEFENSE.@" + +CrabhammerDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +ExplosionDescription: + db "Very powerful but" + next "makes user faint.@" + +FurySwipesDescription: + db "Quickly scratches" + next "2-5 times.@" + +BonemerangDescription: + db "An attack that" + next "strikes twice.@" + +RestDescription: + db "Sleep for 2 turns" + next "to fully recover.@" + +RockSlideDescription: + db "An attack that may" + next "cause flinching.@" + +HyperFangDescription: + db "An attack that may" + next "cause flinching.@" + +SharpenDescription: + db "A move that raises" + next "the user's ATTACK.@" + +ConversionDescription: + db "Change user's type" + next "to a move's type.@" + +TriAttackDescription: + db "Fires three kinds" + next "of beams at once.@" + +SuperFangDescription: + db "Cuts the foe's HP" + next "by 1/2.@" + +SlashDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +SubstituteDescription: + db "Makes a decoy with" + next "1/4 user's max HP.@" + +StruggleDescription: + db "Used only if all" + next "PP are exhausted.@" + +SketchDescription: + db "Copies the foe's" + next "move permanently.@" + +TripleKickDescription: + db "Hits three times" + next "with rising power.@" + +ThiefDescription: + db "An attack that may" + next "steal a held item.@" + +SpiderWebDescription: + db "Prevents fleeing" + next "or switching.@" + +MindReaderDescription: + db "Ensures the next" + next "attack will hit.@" + +NightmareDescription: + db "A sleeper loses" + next "1/4 HP every turn.@" + +FlameWheelDescription: + db "An attack that may" + next "cause a burn.@" + +SnoreDescription: + db "An attack useable" + next "only while asleep.@" + +CurseDescription: + db "Works differently" + next "for ghost-types.@" + +FlailDescription: + db "Stronger if the" + next "user's HP is low.@" + +Conversion2Description: + db "The user's type is" + next "made resistant.@" + +AeroblastDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +CottonSporeDescription: + db "Sharply reduces" + next "the foe's SPEED.@" + +ReversalDescription: + db "Stronger if the" + next "user's HP is low.@" + +SpiteDescription: + db "Cuts the PP of the" + next "foe's last move.@" + +PowderSnowDescription: + db "An attack that may" + next "cause freezing.@" + +ProtectDescription: + db "Foils attack that" + next "turn. It may fail.@" + +MachPunchDescription: + db "A fast punch that" + next "lands first.@" + +ScaryFaceDescription: + db "Sharply reduces" + next "the foe's SPEED.@" + +FaintAttackDescription: + db "An attack that" + next "never misses.@" + +SweetKissDescription: + db "A move that causes" + next "confusion.@" + +BellyDrumDescription: + db "Reduces own HP to" + next "maximize ATTACK.@" + +SludgeBombDescription: + db "An attack that may" + next "poison the foe.@" + +MudSlapDescription: + db "Reduces the foe's" + next "accuracy.@" + +OctazookaDescription: + db "An attack that may" + next "reduce accuracy.@" + +SpikesDescription: + db "Hurts foes when" + next "they switch out.@" + +ZapCannonDescription: + db "An attack that" + next "always paralyzes.@" + +ForesightDescription: + db "Negates accuracy" + next "reduction moves.@" + +DestinyBondDescription: + db "The foe faints if" + next "the user does.@" + +PerishSongDescription: + db "Both user and foe" + next "faint in 3 turns.@" + +IcyWindDescription: + db "An icy attack that" + next "lowers SPEED.@" + +DetectDescription: + db "Evades attack that" + next "turn. It may fail.@" + +BoneRushDescription: + db "An attack that" + next "hits 2-5 times.@" + +LockOnDescription: + db "Ensures the next" + next "attack will hit.@" + +OutrageDescription: + db "Works 2-3 turns" + next "and confuses user.@" + +SandstormDescription: + db "Inflicts damage" + next "every turn.@" + +GigaDrainDescription: + db "Steals 1/2 of the" + next "damage inflicted.@" + +EndureDescription: + db "Always leaves at" + next "least 1HP.@" + +CharmDescription: + db "Sharply lowers the" + next "foe's ATTACK.@" + +RolloutDescription: + db "Attacks 5 turns" + next "with rising power.@" + +FalseSwipeDescription: + db "Leaves the foe" + next "with at least 1HP.@" + +SwaggerDescription: + db "Causes confusion" + next "and raises ATTACK.@" + +MilkDrinkDescription: + db "Restores HP by 1/2" + next "the max HP.@" + +SparkDescription: + db "An attack that may" + next "cause paralysis.@" + +FuryCutterDescription: + db "Successive hits" + next "raise power.@" + +SteelWingDescription: + db "Stiff wings strike" + next "the foe.@" + +MeanLookDescription: + db "Prevents fleeing" + next "or switching.@" + +AttractDescription: + db "Makes the opposite" + next "gender infatuated.@" + +SleepTalkDescription: + db "Randomly attacks" + next "while asleep.@" + +HealBellDescription: + db "Eliminates all" + next "status problems.@" + +ReturnDescription: + db "An attack that is" + next "based on loyalty.@" + +PresentDescription: + db "A bomb that may" + next "restore HP.@" + +FrustrationDescription: + db "An attack based on" + next "lack of loyalty.@" + +SafeguardDescription: + db "Prevents all" + next "status problems.@" + +PainSplitDescription: + db "Adds user & foe's" + next "HPs. Shares total.@" + +SacredFireDescription: + db "An attack that may" + next "inflict a burn.@" + +MagnitudeDescription: + db "A ground attack" + next "with random power.@" + +DynamicpunchDescription: + db "An attack that" + next "always confuses.@" + +MegahornDescription: + db "A powerful charge" + next "attack.@" + +DragonbreathDescription: + db "A strong breath" + next "attack.@" + +BatonPassDescription: + db "Switches while" + next "keeping effects.@" + +EncoreDescription: + db "Makes the foe re-" + next "peat 2-6 times.@" + +PursuitDescription: + db "Heavily strikes" + next "switching #MON.@" + +RapidSpinDescription: + db "A high-speed" + next "spinning attack.@" + +SweetScentDescription: + db "Reduces the foe's" + next "evasiveness.@" + +IronTailDescription: + db "An attack that may" + next "reduce DEFENSE.@" + +MetalClawDescription: + db "An attack that may" + next "up user's ATTACK.@" + +VitalThrowDescription: + db "A 2nd-strike move" + next "that never misses.@" + +MorningSunDescription: + db "Restores HP" + next "(varies by time).@" + +SynthesisDescription: + db "Restores HP" + next "(varies by time).@" + +MoonlightDescription: + db "Restores HP" + next "(varies by time).@" + +HiddenPowerDescription: + db "The power varies" + next "with the #MON.@" + +CrossChopDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +TwisterDescription: + db "Whips up a tornado" + next "to attack.@" + +RainDanceDescription: + db "Boosts water-type" + next "moves for 5 turns.@" + +SunnyDayDescription: + db "Boosts fire-type" + next "moves for 5 turns.@" + +CrunchDescription: + db "An attack that may" + next "lower SPCL.DEF.@" + +MirrorCoatDescription: + db "Counters a SPCL." + next "ATK move double.@" + +PsychUpDescription: + db "Copies the foe's" + next "stat changes.@" + +ExtremespeedDescription: + db "A powerful first-" + next "strike move.@" + +AncientpowerDescription: + db "An attack that may" + next "raise all stats.@" + +ShadowBallDescription: + db "An attack that may" + next "lower SPCL.DEF.@" + +FutureSightDescription: + db "An attack that" + next "hits on 3rd turn.@" + +RockSmashDescription: + db "An attack that may" + next "lower DEFENSE.@" + +WhirlpoolDescription: + db "Traps the foe for" + next "2-5 turns.@" + +BeatUpDescription: + db "Party #MON join" + next "in the attack.@" +; 2ed44 diff --git a/data/moves/effect_command_pointers.asm b/data/moves/effect_command_pointers.asm deleted file mode 100644 index 5dd6be786..000000000 --- a/data/moves/effect_command_pointers.asm +++ /dev/null @@ -1,180 +0,0 @@ - dw 0 ; padding - -BattleCommandPointers: ; 3fd28 -; entries correspond to macros/scripts/effect_commands.asm - dw BattleCommand_CheckTurn ; 34084 - dw BattleCommand_CheckObedience ; 343db - dw BattleCommand_UsedMoveText ; 34541 - dw BattleCommand_DoTurn ; 34555 - dw BattleCommand_Critical ; 34631 - dw BattleCommand_DamageStats ; 352dc - dw BattleCommand_Stab ; 346d2 - 07 - dw BattleCommand_DamageVariation ; 34cfd - dw BattleCommand_CheckHit ; 34d32 - dw BattleCommand_LowerSub ; 34eee - dw BattleCommand_HitTargetNoSub ; 34f60 - dw BattleCommand_RaiseSub ; 35004 - dw BattleCommand_FailureText ; 35023 - dw BattleCommand_CheckFaint ; 3505e - dw BattleCommand_CriticalText ; 35175 - dw BattleCommand_SuperEffectiveText ; 351ad - dw BattleCommand_CheckDestinyBond ; 351c0 - dw BattleCommand_BuildOpponentRage ; 35250 - dw BattleCommand_PoisonTarget ; 35eee - dw BattleCommand_SleepTarget ; 35e5c - dw BattleCommand_DrainTarget ; 35fff - dw BattleCommand_EatDream ; 36008 - dw BattleCommand_BurnTarget ; 3608c - dw BattleCommand_FreezeTarget ; 36102 - dw BattleCommand_ParalyzeTarget ; 36165 - dw BattleCommand_Selfdestruct ; 37380 - dw BattleCommand_MirrorMove ; 373c9 - dw BattleCommand_StatUp ; 361e4 - dw BattleCommand_StatDown ; 362e3 - dw BattleCommand_PayDay ; 3705c - dw BattleCommand_Conversion ; 3707f - dw BattleCommand_ResetStats ; 3710e - dw BattleCommand_StoreEnergy ; 36671 - dw BattleCommand_UnleashEnergy ; 366e5 - dw BattleCommand_ForceSwitch ; 3680f - dw BattleCommand_EndLoop ; 369b6 - dw BattleCommand_FlinchTarget ; 36aa0 - dw BattleCommand_OHKO ; 36af3 - dw BattleCommand_Recoil ; 36cb2 - dw BattleCommand_Mist ; 36c7e - dw BattleCommand_FocusEnergy ; 36c98 - dw BattleCommand_Confuse ; 36d3b - dw BattleCommand_ConfuseTarget ; 36d1d - dw BattleCommand_Heal ; 3713e - dw BattleCommand_Transform ; 371cd - dw BattleCommand_Screen ; 372fc - dw BattleCommand_Poison ; 35f2c - dw BattleCommand_Paralyze ; 36dc7 - dw BattleCommand_Substitute ; 36e7c - dw BattleCommand_RechargeNextTurn ; 36f0b - dw BattleCommand_Mimic ; 36f46 - dw BattleCommand_Metronome ; 37418 - dw BattleCommand_LeechSeed ; 36f9d - dw BattleCommand_Splash ; 36fe1 - dw BattleCommand_Disable ; 36fed - dw BattleCommand_ClearText ; 37e85 - dw BattleCommand_Charge ; 36b4d - dw BattleCommand_CheckCharge ; 36b3a - dw BattleCommand_TrapTarget ; 36c2d - dw BattleCommand3c ; 36c2c - dw BattleCommand_Rampage ; 36751 - dw BattleCommand_CheckRampage ; 3671a - dw BattleCommand_ConstantDamage ; 35726 - dw BattleCommand_Counter ; 35813 - dw BattleCommand_Encore ; 35864 - dw BattleCommand_PainSplit ; 35926 - dw BattleCommand_Snore ; 359d0 - dw BattleCommand_Conversion2 ; 359e6 - dw BattleCommand_LockOn ; 35a53 - dw BattleCommand_Sketch ; 35a74 - dw BattleCommand_DefrostOpponent ; 35b16 - dw BattleCommand_SleepTalk ; 35b33 - dw BattleCommand_DestinyBond ; 35bff - dw BattleCommand_Spite ; 35c0f - dw BattleCommand_FalseSwipe ; 35c94 - dw BattleCommand_HealBell ; 35cc9 - dw BattleCommand_HeldFlinch ; 36ac9 - dw BattleCommand_TripleKick ; 346b2 - dw BattleCommand_KickCounter ; 346cd - dw BattleCommand_Thief ; 37492 - dw BattleCommand_ArenaTrap ; 37517 - dw BattleCommand_Nightmare ; 37536 - dw BattleCommand_Defrost ; 37563 - dw BattleCommand_Curse ; 37588 - dw BattleCommand_Protect ; 37618 - dw BattleCommand_Spikes ; 37683 - dw BattleCommand_Foresight ; 376a0 - dw BattleCommand_PerishSong ; 376c2 - dw BattleCommand_StartSandstorm ; 376f8 - dw BattleCommand_Endure ; 3766f - dw BattleCommand_CheckCurl ; 37718 - dw BattleCommand_RolloutPower ; 37734 - dw BattleCommand5d ; 37791 - dw BattleCommand_FuryCutter ; 37792 - dw BattleCommand_Attract ; 377ce - dw BattleCommand_HappinessPower ; 3784b - dw BattleCommand_Present ; 37874 - dw BattleCommand_DamageCalc ; 35612 - 62 - dw BattleCommand_FrustrationPower ; 3790e - dw BattleCommand_Safeguard ; 37939 - dw BattleCommand_CheckSafeguard ; 37972 - dw BattleCommand_GetMagnitude ; 37991 - dw BattleCommand_BatonPass ; 379c9 - dw BattleCommand_Pursuit ; 37b1d - dw BattleCommand_ClearHazards ; 37b39 - dw BattleCommand_HealMorn ; 37b74 - dw BattleCommand_HealDay ; 37b78 - dw BattleCommand_HealNite ; 37b7c - dw BattleCommand_HiddenPower ; 37be8 - dw BattleCommand_StartRain ; 37bf4 - dw BattleCommand_StartSun ; 37c07 - dw BattleCommand_AttackUp ; 361ac - dw BattleCommand_DefenseUp ; 361b0 - dw BattleCommand_SpeedUp ; 361b4 - dw BattleCommand_SpecialAttackUp ; 361b8 - dw BattleCommand_SpecialDefenseUp ; 361bc - dw BattleCommand_AccuracyUp ; 361c0 - dw BattleCommand_EvasionUp ; 361c4 - dw BattleCommand_AttackUp2 ; 361c8 - dw BattleCommand_DefenseUp2 ; 361cc - dw BattleCommand_SpeedUp2 ; 361d0 - dw BattleCommand_SpecialAttackUp2 ; 361d4 - dw BattleCommand_SpecialDefenseUp2 ; 361d8 - dw BattleCommand_AccuracyUp2 ; 361dc - dw BattleCommand_EvasionUp2 ; 361e0 - dw BattleCommand_AttackDown ; 362ad - dw BattleCommand_DefenseDown ; 362b1 - dw BattleCommand_SpeedDown ; 362b5 - dw BattleCommand_SpecialAttackDown ; 362b9 - dw BattleCommand_SpecialDefenseDown ; 362bd - dw BattleCommand_AccuracyDown ; 362c1 - dw BattleCommand_EvasionDown ; 362c5 - dw BattleCommand_AttackDown2 ; 362c9 - dw BattleCommand_DefenseDown2 ; 362cd - dw BattleCommand_SpeedDown2 ; 362d1 - dw BattleCommand_SpecialAttackDown2 ; 362d5 - dw BattleCommand_SpecialDefenseDown2 ; 362d9 - dw BattleCommand_AccuracyDown2 ; 362dd - dw BattleCommand_EvasionDown2 ; 362e1 - dw BattleCommand_StatUpMessage ; 363b8 - dw BattleCommand_StatDownMessage ; 363e9 - dw BattleCommand_StatUpFailText ; 3644c - dw BattleCommand_StatDownFailText ; 3646a - dw BattleCommand_EffectChance ; 34ecc - dw BattleCommand_StatDownAnim ; 34fdb - dw BattleCommand_StatUpAnim ; 34fd1 - dw BattleCommand_SwitchTurn ; 34ffd - 93 - dw BattleCommand_FakeOut ; 36a82 - dw BattleCommand_BellyDrum ; 37c1a - dw BattleCommand_PsychUp ; 37c55 - dw BattleCommand_Rage ; 36f1d - dw BattleCommand_DoubleFlyingDamage ; 36f25 - dw BattleCommand_DoubleUndergroundDamage ; 36f2f - dw BattleCommand_MirrorCoat ; 37c95 - dw BattleCommand_CheckFutureSight ; 37d0d - dw BattleCommand_FutureSight ; 37d34 - dw BattleCommand_DoubleMinimizeDamage ; 37ce6 - dw BattleCommand_SkipSunCharge ; 37d02 - dw BattleCommand_ThunderAccuracy ; 37d94 - dw BattleCommand_Teleport ; 36778 - dw BattleCommand_BeatUp ; 35461 - dw BattleCommand_RageDamage ; 3527b - dw BattleCommand_ResetTypeMatchup ; 34833 - dw BattleCommand_AllStatsUp ; 36500 - dw BattleCommanda5 ; 35165 - dw BattleCommand_RaiseSubNoAnim ; 365af - dw BattleCommand_LowerSubNoAnim ; 365c3 - dw BattleCommanda8 ; 355b5 - dw BattleCommand_ClearMissDamage ; 355d5 - a9 - dw BattleCommand_MoveDelay ; 37e80 - dw BattleCommand_HitTarget ; 34f57 - dw BattleCommand_TriStatusChance ; 3658f - dw BattleCommand_SuperEffectiveLoopText ; 351a5 - dw BattleCommand_StartLoop ; 35197 - dw BattleCommand_Curl ; 365a7 -; 3fe86 diff --git a/data/moves/effects.asm b/data/moves/effects.asm new file mode 100644 index 000000000..c56ff2560 --- /dev/null +++ b/data/moves/effects.asm @@ -0,0 +1,2075 @@ +MoveEffects: ; 2732e + +NormalHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +DoSleep: + checkobedience + usedmovetext + doturn + checkhit + checksafeguard + sleeptarget + endmove + +PoisonHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + poisontarget + endmove + +LeechHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + draintarget + checkdestinybond + buildopponentrage + kingsrock + endmove + +BurnHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + burntarget + endmove + +FreezeHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + freezetarget + endmove + +ParalyzeHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + paralyzetarget + endmove + +Selfdestruct: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + selfdestruct + hittargetnosub + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +DreamEater: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + eatdream + checkdestinybond + buildopponentrage + endmove + +MirrorMove: + checkobedience + usedmovetext + doturn + mirrormove + endmove + +AttackUp: + checkobedience + usedmovetext + doturn + attackup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +DefenseUp: + checkobedience + usedmovetext + doturn + defenseup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpeedUp: + checkobedience + usedmovetext + doturn + speedup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialAttackUp: + checkobedience + usedmovetext + doturn + specialattackup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialDefenseUp: + checkobedience + usedmovetext + doturn + specialdefenseup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AccuracyUp: + checkobedience + usedmovetext + doturn + accuracyup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +EvasionUp: + checkobedience + usedmovetext + doturn + lowersub + evasionup + statupanim + lowersubnoanim + raisesub + statupmessage + statupfailtext + endmove + +AttackUp2: + checkobedience + usedmovetext + doturn + attackup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +DefenseUp2: + checkobedience + usedmovetext + doturn + defenseup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpeedUp2: + checkobedience + usedmovetext + doturn + speedup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialAttackUp2: + checkobedience + usedmovetext + doturn + specialattackup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialDefenseUp2: + checkobedience + usedmovetext + doturn + specialdefenseup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AccuracyUp2: + checkobedience + usedmovetext + doturn + accuracyup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +EvasionUp2: + checkobedience + usedmovetext + doturn + evasionup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AttackDown: + checkobedience + usedmovetext + doturn + checkhit + attackdown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +DefenseDown: + checkobedience + usedmovetext + doturn + checkhit + defensedown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpeedDown: + checkobedience + usedmovetext + doturn + checkhit + speeddown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialAttackDown: + checkobedience + usedmovetext + doturn + checkhit + specialattackdown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialDefenseDown: + checkobedience + usedmovetext + doturn + checkhit + specialdefensedown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AccuracyDown: + checkobedience + usedmovetext + doturn + checkhit + accuracydown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +EvasionDown: + checkobedience + usedmovetext + doturn + checkhit + evasiondown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AttackDown2: + checkobedience + usedmovetext + doturn + checkhit + attackdown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +DefenseDown2: + checkobedience + usedmovetext + doturn + checkhit + defensedown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpeedDown2: + checkobedience + usedmovetext + doturn + checkhit + speeddown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialAttackDown2: + checkobedience + usedmovetext + doturn + checkhit + specialattackdown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialDefenseDown2: + checkobedience + usedmovetext + doturn + checkhit + specialdefensedown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AccuracyDown2: + checkobedience + usedmovetext + doturn + checkhit + accuracydown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +EvasionDown2: + checkobedience + usedmovetext + doturn + checkhit + evasiondown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AttackDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + attackdown + statdownmessage + endmove + +DefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + effectchance ; bug: duplicate effectchance shouldn't be here + defensedown + statdownmessage + endmove + +SpeedDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + speeddown + statdownmessage + endmove + +SpecialAttackDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + specialattackdown + statdownmessage + endmove + +SpecialDefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + specialdefensedown + statdownmessage + endmove + +AccuracyDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + accuracydown + statdownmessage + endmove + +EvasionDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + evasiondown + statdownmessage + endmove + +DefenseUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + defenseup + statupmessage + endmove + +AttackUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + attackup + statupmessage + endmove + +AllUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + allstatsup + endmove + +PayDay: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + payday + checkdestinybond + buildopponentrage + kingsrock + endmove + +Conversion: + checkobedience + usedmovetext + doturn + conversion + endmove + +ResetStats: + checkobedience + usedmovetext + doturn + resetstats + endmove + +Bide: + storeenergy + checkobedience + doturn + usedmovetext + unleashenergy + resettypematchup + checkhit + hittarget + effect0xa5 + checkfaint + checkdestinybond + buildopponentrage + kingsrock + endmove + +Rampage: + checkrampage + checkobedience + doturn + rampage + usedmovetext + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +ForceSwitch: + checkobedience + usedmovetext + doturn + checkhit + forceswitch + endmove + +MultiHit: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + hittargetnosub + failuretext + checkfaint + criticaltext + cleartext + supereffectivelooptext + checkdestinybond + buildopponentrage + endloop + raisesub + kingsrock + endmove + +PoisonMultiHit: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + effectchance + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + hittargetnosub + failuretext + checkfaint + criticaltext + cleartext + supereffectivelooptext + checkdestinybond + buildopponentrage + endloop + raisesub + kingsrock + poisontarget + endmove + +FlinchHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + endmove + +OHKOHit: + checkobedience + usedmovetext + doturn + stab + ohko + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + endmove + +RecoilHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + recoil + checkdestinybond + buildopponentrage + kingsrock + endmove + +Mist: + checkobedience + usedmovetext + doturn + mist + endmove + +FocusEnergy: + checkobedience + usedmovetext + doturn + focusenergy + endmove + +DoConfuse: + checkobedience + usedmovetext + doturn + checkhit + checksafeguard + confuse + endmove + +ConfuseHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + confusetarget + endmove + +Heal: + checkobedience + usedmovetext + doturn + heal + endmove + +Transform: + checkobedience + usedmovetext + doturn + transform + endmove + +LightScreen: +Reflect: + checkobedience + usedmovetext + doturn + screen + endmove + +TriAttack: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + tristatuschance + endmove + +Toxic: +DoPoison: + checkobedience + usedmovetext + doturn + checkhit + stab + checksafeguard + poison + endmove + +DoParalyze: + checkobedience + usedmovetext + doturn + stab + checkhit + checksafeguard + paralyze + endmove + +SkyAttack: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + kingsrock + endmove + +Substitute: + checkobedience + usedmovetext + doturn + substitute + endmove + +HyperBeam: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + rechargenextturn + checkdestinybond + buildopponentrage + endmove + +Rage: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + checkhit + ragedamage + damagevariation + hittarget + failuretext + rage + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Mimic: + checkobedience + usedmovetext + doturn + checkhit + mimic + endmove + +Metronome: + checkobedience + usedmovetext + doturn + metronome + endmove + +LeechSeed: + checkobedience + usedmovetext + doturn + checkhit + leechseed + endmove + +Splash: + checkobedience + usedmovetext + doturn + splash + endmove + +Disable: + checkobedience + usedmovetext + doturn + checkhit + disable + endmove + +RazorWind: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Fly: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittargetnosub + raisesub + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +TrapTarget: + checkobedience + usedmovetext + doturn + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + traptarget + endmove + +SuperFang: +Psywave: +StaticDamage: + checkobedience + usedmovetext + doturn + constantdamage + checkhit + resettypematchup + hittarget + failuretext + checkfaint + checkdestinybond + buildopponentrage + kingsrock + endmove + +Reversal: + checkobedience + usedmovetext + doturn + constantdamage + stab + checkhit + hittarget + failuretext + checkfaint + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Counter: + checkobedience + usedmovetext + doturn + counter + hittarget + failuretext + checkfaint + checkdestinybond + buildopponentrage + kingsrock + endmove + +Encore: + checkobedience + usedmovetext + doturn + checkhit + encore + endmove + +PainSplit: + checkobedience + usedmovetext + doturn + checkhit + painsplit + endmove + +Snore: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + snore + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + kingsrock + endmove + +Conversion2: + checkobedience + usedmovetext + doturn + checkhit + conversion2 + endmove + +LockOn: + checkobedience + usedmovetext + doturn + checkhit + lockon + endmove + +Sketch: + checkobedience + usedmovetext + doturn + sketch + endmove + +DefrostOpponent: + checkobedience + usedmovetext + doturn + defrostopponent + endmove + +SleepTalk: + checkobedience + usedmovetext + doturn + sleeptalk + endmove + +DestinyBond: + checkobedience + usedmovetext + doturn + destinybond + endmove + +Spite: + checkobedience + usedmovetext + doturn + checkhit + spite + endmove + +FalseSwipe: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + falseswipe + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +HealBell: + checkobedience + usedmovetext + doturn + healbell + endmove + +TripleKick: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + critical + damagestats + damagecalc + triplekick + stab + damagevariation + clearmissdamage + hittargetnosub + failuretext + checkfaint + criticaltext + cleartext + supereffectivelooptext + checkdestinybond + buildopponentrage + kickcounter + endloop + raisesub + kingsrock + endmove + +Thief: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + thief + checkdestinybond + buildopponentrage + kingsrock + endmove + +MeanLook: + checkobedience + usedmovetext + doturn + arenatrap + endmove + +Nightmare: + checkobedience + usedmovetext + doturn + nightmare + endmove + +FlameWheel: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + defrost + checkdestinybond + buildopponentrage + burntarget + endmove + +Curse: + checkobedience + usedmovetext + doturn + curse + endmove + +Protect: + checkobedience + usedmovetext + doturn + protect + endmove + +Spikes: + checkobedience + usedmovetext + doturn + spikes + endmove + +Foresight: + checkobedience + usedmovetext + doturn + checkhit + foresight + endmove + +PerishSong: + checkobedience + usedmovetext + doturn + perishsong + endmove + +Sandstorm: + checkobedience + usedmovetext + doturn + startsandstorm + endmove + +Endure: + checkobedience + usedmovetext + doturn + endure + endmove + +Rollout: + checkcurl + checkobedience + doturn + usedmovetext + critical + damagestats + damagecalc + stab + checkhit + rolloutpower + damagevariation + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Swagger: + checkobedience + usedmovetext + doturn + checkhit + switchturn + attackup2 + switchturn + lowersub + statupanim + raisesub + failuretext + switchturn + statupmessage + switchturn + confusetarget + endmove + +FuryCutter: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + checkhit + furycutter + damagevariation + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Attract: + checkobedience + usedmovetext + doturn + checkhit + attract + endmove + +Return: + checkobedience + usedmovetext + doturn + critical + damagestats + happinesspower + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Present: + checkobedience + usedmovetext + doturn + checkhit + critical + damagestats + present + damagecalc + stab + damagevariation + clearmissdamage + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Frustration: + checkobedience + usedmovetext + doturn + critical + damagestats + frustrationpower + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Safeguard: + checkobedience + usedmovetext + doturn + safeguard + endmove + +SacredFire: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + defrost + checkdestinybond + buildopponentrage + burntarget + endmove + +Magnitude: + checkobedience + usedmovetext + doturn + critical + damagestats + getmagnitude + damagecalc + stab + damagevariation + checkhit + doubleundergrounddamage + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +BatonPass: + checkobedience + usedmovetext + doturn + batonpass + endmove + +Pursuit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + pursuit + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +RapidSpin: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + clearhazards + checkdestinybond + buildopponentrage + kingsrock + endmove + +MorningSun: + checkobedience + usedmovetext + doturn + healmorn + endmove + +Synthesis: + checkobedience + usedmovetext + doturn + healday + endmove + +Moonlight: + checkobedience + usedmovetext + doturn + healnite + endmove + +HiddenPower: + checkobedience + usedmovetext + doturn + critical + hiddenpower + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +RainDance: + checkobedience + usedmovetext + doturn + startrain + endmove + +SunnyDay: + checkobedience + usedmovetext + doturn + startsun + endmove + +FakeOut: + checkobedience + usedmovetext + doturn + checkhit + fakeout + hittarget + failuretext + endmove + +BellyDrum: + checkobedience + usedmovetext + doturn + bellydrum + endmove + +PsychUp: + checkobedience + usedmovetext + doturn + psychup + endmove + +MirrorCoat: + checkobedience + usedmovetext + doturn + mirrorcoat + hittarget + failuretext + checkfaint + checkdestinybond + buildopponentrage + kingsrock + endmove + +SkullBash: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endturn + defenseup + statupmessage + endmove + +Twister: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleflyingdamage + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + endmove + +Earthquake: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleundergrounddamage + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + endmove + +FutureSight: + checkfuturesight + checkobedience + usedmovetext + doturn + damagestats + damagecalc + futuresight + damagevariation ; skip here if last turn + checkhit + hittargetnosub + failuretext + checkfaint + checkdestinybond + buildopponentrage + endmove + +Gust: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleflyingdamage + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + endmove + +Stomp: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleminimizedamage + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + endmove + +Solarbeam: + checkcharge + checkobedience + doturn + skipsuncharge + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Thunder: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + thunderaccuracy + checkhit + effectchance + stab + damagevariation + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + paralyzetarget + endmove + +Teleport: + checkobedience + usedmovetext + doturn + teleport + endmove + +BeatUp: + checkobedience + usedmovetext + movedelay + doturn + startloop + lowersub + checkhit + critical + beatup + damagecalc + damagevariation + clearmissdamage + hittargetnosub + failuretext + checkfaint + criticaltext + cleartext + supereffectivetext + checkdestinybond + buildopponentrage + endloop + effect0xa8 + raisesub + kingsrock + endmove + +DefenseCurl: + checkobedience + usedmovetext + doturn + defenseup + curl + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm new file mode 100644 index 000000000..a12092881 --- /dev/null +++ b/data/moves/effects_pointers.asm @@ -0,0 +1,159 @@ +MoveEffectsPointers: ; 271f4 +; entries correspond to EFFECT_* constants + dw NormalHit + dw DoSleep + dw PoisonHit + dw LeechHit + dw BurnHit + dw FreezeHit + dw ParalyzeHit + dw Selfdestruct + dw DreamEater + dw MirrorMove + dw AttackUp + dw DefenseUp + dw SpeedUp + dw SpecialAttackUp + dw SpecialDefenseUp + dw AccuracyUp + dw EvasionUp + dw NormalHit + dw AttackDown + dw DefenseDown + dw SpeedDown + dw SpecialAttackDown + dw SpecialDefenseDown + dw AccuracyDown + dw EvasionDown + dw ResetStats + dw Bide + dw Rampage + dw ForceSwitch + dw MultiHit + dw Conversion + dw FlinchHit + dw Heal + dw Toxic + dw PayDay + dw LightScreen + dw TriAttack + dw NormalHit + dw OHKOHit + dw RazorWind + dw SuperFang + dw StaticDamage + dw TrapTarget + dw NormalHit + dw MultiHit + dw NormalHit + dw Mist + dw FocusEnergy + dw RecoilHit + dw DoConfuse + dw AttackUp2 + dw DefenseUp2 + dw SpeedUp2 + dw SpecialAttackUp2 + dw SpecialDefenseUp2 + dw AccuracyUp2 + dw EvasionUp2 + dw Transform + dw AttackDown2 + dw DefenseDown2 + dw SpeedDown2 + dw SpecialAttackDown2 + dw SpecialDefenseDown2 + dw AccuracyDown2 + dw EvasionDown2 + dw Reflect + dw DoPoison + dw DoParalyze + dw AttackDownHit + dw DefenseDownHit + dw SpeedDownHit + dw SpecialAttackDownHit + dw SpecialDefenseDownHit + dw AccuracyDownHit + dw EvasionDownHit + dw SkyAttack + dw ConfuseHit + dw PoisonMultiHit + dw NormalHit + dw Substitute + dw HyperBeam + dw Rage + dw Mimic + dw Metronome + dw LeechSeed + dw Splash + dw Disable + dw StaticDamage + dw Psywave + dw Counter + dw Encore + dw PainSplit + dw Snore + dw Conversion2 + dw LockOn + dw Sketch + dw DefrostOpponent + dw SleepTalk + dw DestinyBond + dw Reversal + dw Spite + dw FalseSwipe + dw HealBell + dw NormalHit + dw TripleKick + dw Thief + dw MeanLook + dw Nightmare + dw FlameWheel + dw Curse + dw NormalHit + dw Protect + dw Spikes + dw Foresight + dw PerishSong + dw Sandstorm + dw Endure + dw Rollout + dw Swagger + dw FuryCutter + dw Attract + dw Return + dw Present + dw Frustration + dw Safeguard + dw SacredFire + dw Magnitude + dw BatonPass + dw Pursuit + dw RapidSpin + dw NormalHit + dw NormalHit + dw MorningSun + dw Synthesis + dw Moonlight + dw HiddenPower + dw RainDance + dw SunnyDay + dw DefenseUpHit + dw AttackUpHit + dw AllUpHit + dw FakeOut + dw BellyDrum + dw PsychUp + dw MirrorCoat + dw SkullBash + dw Twister + dw Earthquake + dw FutureSight + dw Gust + dw Stomp + dw Solarbeam + dw Thunder + dw Teleport + dw BeatUp + dw Fly + dw DefenseCurl diff --git a/data/moves/move_anims.asm b/data/moves/move_anims.asm deleted file mode 100644 index e28a2e62d..000000000 --- a/data/moves/move_anims.asm +++ /dev/null @@ -1,5176 +0,0 @@ -BattleAnimations:: ; c906f -; entries correspond to constants/move_constants.asm - dw BattleAnim_0 - dw BattleAnim_Pound - dw BattleAnim_KarateChop - dw BattleAnim_Doubleslap - dw BattleAnim_CometPunch - dw BattleAnim_MegaPunch - dw BattleAnim_PayDay - dw BattleAnim_FirePunch - dw BattleAnim_IcePunch - dw BattleAnim_Thunderpunch - dw BattleAnim_Scratch - dw BattleAnim_Vicegrip - dw BattleAnim_Guillotine - dw BattleAnim_RazorWind - dw BattleAnim_SwordsDance - dw BattleAnim_Cut - dw BattleAnim_Gust - dw BattleAnim_WingAttack - dw BattleAnim_Whirlwind - dw BattleAnim_Fly - dw BattleAnim_Bind - dw BattleAnim_Slam - dw BattleAnim_VineWhip - dw BattleAnim_Stomp - dw BattleAnim_DoubleKick - dw BattleAnim_MegaKick - dw BattleAnim_JumpKick - dw BattleAnim_RollingKick - dw BattleAnim_SandAttack - dw BattleAnim_Headbutt - dw BattleAnim_HornAttack - dw BattleAnim_FuryAttack - dw BattleAnim_HornDrill - dw BattleAnim_Tackle - dw BattleAnim_BodySlam - dw BattleAnim_Wrap - dw BattleAnim_TakeDown - dw BattleAnim_Thrash - dw BattleAnim_DoubleEdge - dw BattleAnim_TailWhip - dw BattleAnim_PoisonSting - dw BattleAnim_Twineedle - dw BattleAnim_PinMissile - dw BattleAnim_Leer - dw BattleAnim_Bite - dw BattleAnim_Growl - dw BattleAnim_Roar - dw BattleAnim_Sing - dw BattleAnim_Supersonic - dw BattleAnim_Sonicboom - dw BattleAnim_Disable - dw BattleAnim_Acid - dw BattleAnim_Ember - dw BattleAnim_Flamethrower - dw BattleAnim_Mist - dw BattleAnim_WaterGun - dw BattleAnim_HydroPump - dw BattleAnim_Surf - dw BattleAnim_IceBeam - dw BattleAnim_Blizzard - dw BattleAnim_Psybeam - dw BattleAnim_Bubblebeam - dw BattleAnim_AuroraBeam - dw BattleAnim_HyperBeam - dw BattleAnim_Peck - dw BattleAnim_DrillPeck - dw BattleAnim_Submission - dw BattleAnim_LowKick - dw BattleAnim_Counter - dw BattleAnim_SeismicToss - dw BattleAnim_Strength - dw BattleAnim_Absorb - dw BattleAnim_MegaDrain - dw BattleAnim_LeechSeed - dw BattleAnim_Growth - dw BattleAnim_RazorLeaf - dw BattleAnim_Solarbeam - dw BattleAnim_Poisonpowder - dw BattleAnim_StunSpore - dw BattleAnim_SleepPowder - dw BattleAnim_PetalDance - dw BattleAnim_StringShot - dw BattleAnim_DragonRage - dw BattleAnim_FireSpin - dw BattleAnim_Thundershock - dw BattleAnim_Thunderbolt - dw BattleAnim_ThunderWave - dw BattleAnim_Thunder - dw BattleAnim_RockThrow - dw BattleAnim_Earthquake - dw BattleAnim_Fissure - dw BattleAnim_Dig - dw BattleAnim_Toxic - dw BattleAnim_Confusion - dw BattleAnim_PsychicM - dw BattleAnim_Hypnosis - dw BattleAnim_Meditate - dw BattleAnim_Agility - dw BattleAnim_QuickAttack - dw BattleAnim_Rage - dw BattleAnim_Teleport - dw BattleAnim_NightShade - dw BattleAnim_Mimic - dw BattleAnim_Screech - dw BattleAnim_DoubleTeam - dw BattleAnim_Recover - dw BattleAnim_Harden - dw BattleAnim_Minimize - dw BattleAnim_Smokescreen - dw BattleAnim_ConfuseRay - dw BattleAnim_Withdraw - dw BattleAnim_DefenseCurl - dw BattleAnim_Barrier - dw BattleAnim_LightScreen - dw BattleAnim_Haze - dw BattleAnim_Reflect - dw BattleAnim_FocusEnergy - dw BattleAnim_Bide - dw BattleAnim_Metronome - dw BattleAnim_MirrorMove - dw BattleAnim_Selfdestruct - dw BattleAnim_EggBomb - dw BattleAnim_Lick - dw BattleAnim_Smog - dw BattleAnim_Sludge - dw BattleAnim_BoneClub - dw BattleAnim_FireBlast - dw BattleAnim_Waterfall - dw BattleAnim_Clamp - dw BattleAnim_Swift - dw BattleAnim_SkullBash - dw BattleAnim_SpikeCannon - dw BattleAnim_Constrict - dw BattleAnim_Amnesia - dw BattleAnim_Kinesis - dw BattleAnim_Softboiled - dw BattleAnim_HiJumpKick - dw BattleAnim_Glare - dw BattleAnim_DreamEater - dw BattleAnim_PoisonGas - dw BattleAnim_Barrage - dw BattleAnim_LeechLife - dw BattleAnim_LovelyKiss - dw BattleAnim_SkyAttack - dw BattleAnim_Transform - dw BattleAnim_Bubble - dw BattleAnim_DizzyPunch - dw BattleAnim_Spore - dw BattleAnim_Flash - dw BattleAnim_Psywave - dw BattleAnim_Splash - dw BattleAnim_AcidArmor - dw BattleAnim_Crabhammer - dw BattleAnim_Explosion - dw BattleAnim_FurySwipes - dw BattleAnim_Bonemerang - dw BattleAnim_Rest - dw BattleAnim_RockSlide - dw BattleAnim_HyperFang - dw BattleAnim_Sharpen - dw BattleAnim_Conversion - dw BattleAnim_TriAttack - dw BattleAnim_SuperFang - dw BattleAnim_Slash - dw BattleAnim_Substitute - dw BattleAnim_Struggle - dw BattleAnim_Sketch - dw BattleAnim_TripleKick - dw BattleAnim_Thief - dw BattleAnim_SpiderWeb - dw BattleAnim_MindReader - dw BattleAnim_Nightmare - dw BattleAnim_FlameWheel - dw BattleAnim_Snore - dw BattleAnim_Curse - dw BattleAnim_Flail - dw BattleAnim_Conversion2 - dw BattleAnim_Aeroblast - dw BattleAnim_CottonSpore - dw BattleAnim_Reversal - dw BattleAnim_Spite - dw BattleAnim_PowderSnow - dw BattleAnim_Protect - dw BattleAnim_MachPunch - dw BattleAnim_ScaryFace - dw BattleAnim_FaintAttack - dw BattleAnim_SweetKiss - dw BattleAnim_BellyDrum - dw BattleAnim_SludgeBomb - dw BattleAnim_MudSlap - dw BattleAnim_Octazooka - dw BattleAnim_Spikes - dw BattleAnim_ZapCannon - dw BattleAnim_Foresight - dw BattleAnim_DestinyBond - dw BattleAnim_PerishSong - dw BattleAnim_IcyWind - dw BattleAnim_Detect - dw BattleAnim_BoneRush - dw BattleAnim_LockOn - dw BattleAnim_Outrage - dw BattleAnim_Sandstorm - dw BattleAnim_GigaDrain - dw BattleAnim_Endure - dw BattleAnim_Charm - dw BattleAnim_Rollout - dw BattleAnim_FalseSwipe - dw BattleAnim_Swagger - dw BattleAnim_MilkDrink - dw BattleAnim_Spark - dw BattleAnim_FuryCutter - dw BattleAnim_SteelWing - dw BattleAnim_MeanLook - dw BattleAnim_Attract - dw BattleAnim_SleepTalk - dw BattleAnim_HealBell - dw BattleAnim_Return - dw BattleAnim_Present - dw BattleAnim_Frustration - dw BattleAnim_Safeguard - dw BattleAnim_PainSplit - dw BattleAnim_SacredFire - dw BattleAnim_Magnitude - dw BattleAnim_Dynamicpunch - dw BattleAnim_Megahorn - dw BattleAnim_Dragonbreath - dw BattleAnim_BatonPass - dw BattleAnim_Encore - dw BattleAnim_Pursuit - dw BattleAnim_RapidSpin - dw BattleAnim_SweetScent - dw BattleAnim_IronTail - dw BattleAnim_MetalClaw - dw BattleAnim_VitalThrow - dw BattleAnim_MorningSun - dw BattleAnim_Synthesis - dw BattleAnim_Moonlight - dw BattleAnim_HiddenPower - dw BattleAnim_CrossChop - dw BattleAnim_Twister - dw BattleAnim_RainDance - dw BattleAnim_SunnyDay - dw BattleAnim_Crunch - dw BattleAnim_MirrorCoat - dw BattleAnim_PsychUp - dw BattleAnim_Extremespeed - dw BattleAnim_Ancientpower - dw BattleAnim_ShadowBall - dw BattleAnim_FutureSight - dw BattleAnim_RockSmash - dw BattleAnim_Whirlpool - dw BattleAnim_BeatUp - dw BattleAnim_252 - dw BattleAnim_253 - dw BattleAnim_254 - dw BattleAnim_SweetScent2 -; $100 - dw BattleAnim_ThrowPokeBall - dw BattleAnim_SendOutMon - dw BattleAnim_ReturnMon - dw BattleAnim_Confused - dw BattleAnim_Slp - dw BattleAnim_Brn - dw BattleAnim_Psn - dw BattleAnim_Sap - dw BattleAnim_Frz - dw BattleAnim_Par - dw BattleAnim_InLove - dw BattleAnim_InSandstorm - dw BattleAnim_InNightmare - dw BattleAnim_InWhirlpool - dw BattleAnim_Miss - dw BattleAnim_EnemyDamage - dw BattleAnim_EnemyStatDown - dw BattleAnim_PlayerStatDown - dw BattleAnim_PlayerDamage - dw BattleAnim_Wobble - dw BattleAnim_Shake - dw BattleAnim_HitConfusion -; c929b - -BattleAnim_0: ; c929b -BattleAnim_252: ; c929b -BattleAnim_253: ; c929b -BattleAnim_254: ; c929b -BattleAnim_MirrorMove: ; c929b - anim_ret -; c929c - -BattleAnim_SweetScent2: ; c929c - anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC - anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2 - anim_wait 2 - anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2 - anim_wait 64 - anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15 - anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a - anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_wait 128 - anim_ret -; c92c1 - -BattleAnim_ThrowPokeBall - anim_if_param_equal NO_ITEM, .TheTrainerBlockedTheBall - anim_if_param_equal MASTER_BALL, .MasterBall - anim_if_param_equal ULTRA_BALL, .UltraBall - anim_if_param_equal GREAT_BALL, .GreatBall - ; any other ball - anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE - anim_sound 6, 2, SFX_THROW_BALL - anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 - anim_wait 36 - anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 - anim_setobj $2, $7 - anim_wait 16 - anim_sound 0, 1, SFX_BALL_POOF - anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 - anim_wait 16 - anim_jump .Shake -; c92f2 - -.TheTrainerBlockedTheBall: - anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT - anim_sound 6, 2, SFX_THROW_BALL - anim_obj ANIM_OBJ_POKE_BALL_BLOCKED, 8, 0, 11, 4, $20 - anim_wait 20 - anim_obj ANIM_OBJ_01, 14, 0, 5, 0, $0 - anim_wait 32 - anim_ret -; c9305 - -.UltraBall: - anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE - anim_sound 6, 2, SFX_THROW_BALL - anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 - anim_wait 36 - anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 - anim_setobj $2, $7 - anim_wait 16 - anim_sound 0, 1, SFX_BALL_POOF - anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 - anim_wait 16 - anim_jump .Shake -; c9326 - -.GreatBall: - anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE - anim_sound 6, 2, SFX_THROW_BALL - anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 - anim_wait 36 - anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 - anim_setobj $2, $7 - anim_wait 16 - anim_sound 0, 1, SFX_BALL_POOF - anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 - anim_wait 16 - anim_jump .Shake -; c9347 - -.MasterBall: - anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED - anim_sound 6, 2, SFX_THROW_BALL - anim_obj ANIM_OBJ_POKE_BALL, 8, 0, 11, 4, $20 - anim_wait 36 - anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 - anim_setobj $2, $7 - anim_wait 16 - anim_sound 0, 1, SFX_BALL_POOF - anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 - anim_wait 24 - anim_sound 0, 1, SFX_MASTER_BALL - anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $30 - anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $31 - anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $32 - anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $33 - anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $34 - anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $35 - anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $36 - anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $37 - anim_wait 64 -.Shake: - anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 - anim_wait 8 - anim_incobj 2 - anim_wait 16 - anim_sound 0, 1, SFX_CHANGE_DEX_MODE - anim_incobj 1 - anim_wait 32 - anim_sound 0, 1, SFX_BALL_BOUNCE - anim_wait 32 - anim_wait 32 - anim_wait 32 - anim_wait 8 - anim_setvar $0 -.Loop: - anim_wait 48 - anim_checkpokeball - anim_if_var_equal $1, .Click - anim_if_var_equal $2, .BreakFree - anim_incobj 1 - anim_sound 0, 1, SFX_BALL_WIGGLE - anim_jump .Loop -; c93bc - -.Click: - anim_clearsprites - anim_ret -; c93be - -.BreakFree: - anim_setobj $1, $b - anim_sound 0, 1, SFX_BALL_POOF - anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 - anim_wait 2 - anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0 - anim_wait 32 - anim_ret -; c93d1 - -BattleAnim_SendOutMon: ; c93d1 - anim_if_param_equal $0, .Normal - anim_if_param_equal $1, .Shiny - anim_if_param_equal $2, .Unknown - anim_1gfx ANIM_GFX_SMOKE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_2B, $0, $1, $0 - anim_sound 0, 0, SFX_BALL_POOF - anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0 - anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 - anim_wait 128 - anim_wait 4 - anim_call BattleAnim_ShowMon_0 - anim_ret - -.Unknown: - anim_1gfx ANIM_GFX_SMOKE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_2A, $0, $1, $0 - anim_wait 1 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 4 - anim_sound 0, 0, SFX_BALL_POOF - anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0 - anim_incbgeffect ANIM_BG_2A - anim_wait 96 - anim_incbgeffect ANIM_BG_2A - anim_call BattleAnim_ShowMon_0 - anim_ret - -.Shiny: - anim_1gfx ANIM_GFX_SPEED - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $0 - anim_wait 4 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $8 - anim_wait 4 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $10 - anim_wait 4 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $18 - anim_wait 4 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $20 - anim_wait 4 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $28 - anim_wait 4 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $30 - anim_wait 4 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $38 - anim_wait 32 - anim_ret - -.Normal: - anim_1gfx ANIM_GFX_SMOKE - anim_sound 0, 0, SFX_BALL_POOF - anim_obj ANIM_OBJ_BALL_POOF, 5, 4, 12, 0, $0 - anim_wait 4 - anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 - anim_wait 32 - anim_ret -; c9483 - -BattleAnim_ReturnMon: ; c9483 - anim_sound 0, 0, SFX_BALL_POOF -BattleAnim_BatonPass_branch_c9486: ; c9486 - anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0 - anim_wait 32 - anim_ret -; c948d - -BattleAnim_Confused: ; c948d - anim_1gfx ANIM_GFX_STATUS - anim_sound 0, 0, SFX_KINESIS - anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $15 - anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $aa - anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $bf - anim_wait 96 - anim_ret -; c94a3 - -BattleAnim_Slp: ; c94a3 - anim_1gfx ANIM_GFX_STATUS - anim_sound 0, 0, SFX_TAIL_WHIP -.loop - anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 - anim_wait 40 - anim_loop 3, .loop - anim_wait 32 - anim_ret -; c94b4 - -BattleAnim_Brn: ; c94b4 - anim_1gfx ANIM_GFX_FIRE -.loop - anim_sound 0, 0, SFX_BURN - anim_obj ANIM_OBJ_BURNED, 7, 0, 11, 0, $10 - anim_wait 4 - anim_loop 3, .loop - anim_wait 6 - anim_ret -; c94c5 - -BattleAnim_Psn: ; c94c5 - anim_1gfx ANIM_GFX_POISON - anim_sound 0, 0, SFX_POISON - anim_obj ANIM_OBJ_SKULL, 8, 0, 7, 0, $0 - anim_wait 8 - anim_sound 0, 0, SFX_POISON - anim_obj ANIM_OBJ_SKULL, 6, 0, 7, 0, $0 - anim_wait 8 - anim_ret -; c94da - -BattleAnim_Sap: ; c94da - anim_1gfx ANIM_GFX_CHARGE - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 - anim_wait 6 - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 - anim_wait 6 - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 - anim_wait 16 - anim_ret -; c94f8 - -BattleAnim_Frz: ; c94f8 - anim_1gfx ANIM_GFX_ICE - anim_obj ANIM_OBJ_FROZEN, 5, 4, 13, 6, $0 - anim_sound 0, 0, SFX_SHINE - anim_wait 16 - anim_sound 0, 0, SFX_SHINE - anim_wait 16 - anim_ret -; c9508 - -BattleAnim_Par: ; c9508 - anim_1gfx ANIM_GFX_STATUS - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_sound 0, 0, SFX_THUNDERSHOCK - anim_obj ANIM_OBJ_PARALYZED, 2, 4, 11, 0, $42 - anim_obj ANIM_OBJ_PARALYZED, 9, 4, 11, 0, $c2 - anim_wait 128 - anim_ret -; c951e - -BattleAnim_InLove: ; c951e - anim_1gfx ANIM_GFX_OBJECTS - anim_sound 0, 0, SFX_LICK - anim_obj ANIM_OBJ_HEART, 8, 0, 9, 4, $0 - anim_wait 32 - anim_sound 0, 0, SFX_LICK - anim_obj ANIM_OBJ_HEART, 4, 4, 9, 0, $0 - anim_wait 32 - anim_ret -; c9533 - -BattleAnim_InSandstorm: ; c9533 - anim_1gfx ANIM_GFX_POWDER - anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1 - anim_wait 8 - anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2 -.loop - anim_sound 0, 1, SFX_MENU - anim_wait 8 - anim_loop 6, .loop - anim_wait 8 - anim_ret -; c9550 - -BattleAnim_InNightmare: ; c9550 - anim_1gfx ANIM_GFX_ANGELS - anim_sound 0, 0, SFX_BUBBLEBEAM - anim_obj ANIM_OBJ_95, 8, 4, 10, 0, $0 - anim_wait 40 - anim_ret -; c955c - -BattleAnim_InWhirlpool: ; c955c - anim_1gfx ANIM_GFX_WIND - anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0 - anim_sound 0, 1, SFX_SURF -.loop - anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0 - anim_wait 6 - anim_loop 6, .loop - anim_incbgeffect ANIM_BG_WHIRLPOOL - anim_wait 1 - anim_ret -; c9574 - -BattleAnim_HitConfusion: ; c9574 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 0, SFX_POUND - anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0 - anim_wait 16 - anim_ret -; c9580 - -BattleAnim_Miss: ; c9580 - anim_ret -; c9581 - -BattleAnim_EnemyDamage: ; c9581 -.loop - anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0 - anim_wait 5 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 - anim_wait 5 - anim_loop 3, .loop - anim_ret -; c9592 - -BattleAnim_EnemyStatDown: ; c9592 - anim_call BattleAnim_FollowEnemyFeet_1 - anim_bgeffect ANIM_BG_VIBRATE_MON, $0, $0, $0 - anim_wait 40 - anim_call BattleAnim_ShowMon_1 - anim_wait 1 - anim_ret -; c95a0 - -BattleAnim_PlayerStatDown: ; c95a0 - anim_call BattleAnim_FollowEnemyFeet_1 - anim_bgeffect ANIM_BG_WOBBLE_MON, $0, $0, $0 - anim_wait 40 - anim_call BattleAnim_ShowMon_1 - anim_wait 1 - anim_ret -; c95ae - -BattleAnim_PlayerDamage: ; c95ae - anim_bgeffect ANIM_BG_20, $20, $2, $20 - anim_wait 40 - anim_ret -; c95b5 - -BattleAnim_Wobble: ; c95b5 - anim_bgeffect ANIM_BG_35, $0, $0, $0 - anim_wait 40 - anim_ret -; c95bc - -BattleAnim_Shake: ; c95bc - anim_bgeffect ANIM_BG_1F, $20, $2, $40 - anim_wait 40 - anim_ret -; c95c3 - -BattleAnim_Pound: ; c95c3 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_POUND - anim_obj ANIM_OBJ_08, -15, 0, 7, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; c95d5 - -BattleAnim_KarateChop: ; c95d5 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_KARATE_CHOP - anim_obj ANIM_OBJ_08, -15, 0, 5, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_KARATE_CHOP - anim_obj ANIM_OBJ_08, -15, 0, 5, 4, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0 - anim_wait 6 - anim_sound 0, 1, SFX_KARATE_CHOP - anim_obj ANIM_OBJ_08, -15, 0, 6, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 - anim_wait 16 - anim_ret -; c9605 - -BattleAnim_Doubleslap: ; c9605 - anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_Doubleslap_branch_c961b - anim_sound 0, 1, SFX_DOUBLESLAP - anim_obj ANIM_OBJ_08, -14, 0, 6, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 - anim_wait 8 - anim_ret -; c961b - -BattleAnim_Doubleslap_branch_c961b: ; c961b - anim_sound 0, 1, SFX_DOUBLESLAP - anim_obj ANIM_OBJ_08, 15, 0, 6, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 - anim_wait 8 - anim_ret -; c962b - -BattleAnim_CometPunch: ; c962b - anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_CometPunch_branch_c9641 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_06, -14, 0, 6, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 - anim_wait 8 - anim_ret -; c9641 - -BattleAnim_CometPunch_branch_c9641: ; c9641 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_06, 15, 0, 8, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 - anim_wait 8 - anim_ret -; c9651 - -BattleAnim_Bide_branch_c9651: ; c9651 -BattleAnim_MegaPunch: ; c9651 - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_wait 48 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 -.loop - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 - anim_wait 6 - anim_loop 3, .loop - anim_ret -; c9677 - -BattleAnim_Stomp: ; c9677 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_STOMP - anim_obj ANIM_OBJ_07, -15, 0, 5, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_STOMP - anim_obj ANIM_OBJ_07, -15, 0, 5, 4, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0 - anim_wait 6 - anim_sound 0, 1, SFX_STOMP - anim_obj ANIM_OBJ_07, -15, 0, 6, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 - anim_wait 16 - anim_ret -; c96a7 - -BattleAnim_DoubleKick: ; c96a7 - anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_DoubleKick_branch_c96bd - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 - anim_wait 8 - anim_ret -; c96bd - -BattleAnim_DoubleKick_branch_c96bd: ; c96bd - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 - anim_wait 8 - anim_ret -; c96cd - -BattleAnim_JumpKick: ; c96cd - anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_JumpKick_branch_c96f1 - anim_sound 0, 1, SFX_JUMP_KICK - anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0 - anim_obj ANIM_OBJ_07, 12, 4, 7, 4, $0 - anim_setobj $1, $2 - anim_setobj $2, $2 - anim_wait 24 - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 - anim_wait 16 - anim_ret -; c96f1 - -BattleAnim_JumpKick_branch_c96f1: ; c96f1 - anim_wait 8 - anim_sound 0, 0, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0 - anim_wait 16 - anim_ret -; c96fc - -BattleAnim_HiJumpKick: ; c96fc - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_if_param_equal $1, BattleAnim_HiJumpKick_branch_c971e - anim_wait 32 - anim_sound 0, 1, SFX_JUMP_KICK - anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0 - anim_setobj $1, $2 - anim_wait 16 - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 - anim_wait 16 - anim_ret -; c971e - -BattleAnim_HiJumpKick_branch_c971e: ; c971e - anim_wait 16 - anim_sound 0, 0, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0 - anim_wait 16 - anim_ret -; c9729 - -BattleAnim_RollingKick: ; c9729 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, 14, 0, 7, 0, $0 - anim_setobj $1, $3 - anim_wait 12 - anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 - anim_wait 16 - anim_ret -; c973e - -BattleAnim_MegaKick: ; c973e - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_wait 67 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 -.loop - anim_sound 0, 1, SFX_MEGA_KICK - anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0 - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0 - anim_wait 6 - anim_loop 3, .loop - anim_ret -; c9764 - -BattleAnim_HyperFang: ; c9764 - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $20, $1, $0 - anim_sound 0, 1, SFX_BITE - anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; c977b - -BattleAnim_SuperFang: ; c977b - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_wait 48 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 -.loop - anim_sound 0, 1, SFX_BITE - anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 - anim_wait 6 - anim_loop 3, .loop - anim_ret -; c97a1 - -BattleAnim_Ember: ; c97a1 - anim_1gfx ANIM_GFX_FIRE - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0B, 8, 0, 12, 0, $12 - anim_wait 4 - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0B, 8, 0, 12, 4, $14 - anim_wait 4 - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0B, 8, 0, 10, 4, $13 - anim_wait 16 - anim_incobj 1 - anim_incobj 2 - anim_incobj 3 - anim_sound 0, 1, SFX_EMBER - anim_obj ANIM_OBJ_0B, 15, 0, 8, 4, $30 - anim_obj ANIM_OBJ_0B, -16, 4, 8, 4, $30 - anim_obj ANIM_OBJ_0B, -14, 0, 8, 4, $30 - anim_wait 32 - anim_ret -; c97d8 - -BattleAnim_FirePunch: ; c97d8 - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE - anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 - anim_call BattleAnim_FirePunch_branch_cbbcc - anim_wait 16 - anim_ret -; c97e5 - -BattleAnim_FireSpin: ; c97e5 - anim_1gfx ANIM_GFX_FIRE -.loop - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $4 - anim_wait 2 - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $3 - anim_wait 2 - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $3 - anim_wait 2 - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $4 - anim_wait 2 - anim_loop 2, .loop - anim_wait 96 - anim_ret -; c9811 - -BattleAnim_DragonRage: ; c9811 - anim_1gfx ANIM_GFX_FIRE -.loop - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0C, 8, 0, 11, 4, $0 - anim_wait 3 - anim_loop 16, .loop - anim_wait 64 - anim_ret -; c9822 - -BattleAnim_Flamethrower: ; c9822 - anim_1gfx ANIM_GFX_FIRE - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0D, 8, 0, 11, 4, $3 - anim_wait 2 - anim_obj ANIM_OBJ_0D, 9, 3, 10, 6, $5 - anim_wait 2 - anim_obj ANIM_OBJ_0D, 10, 5, 10, 1, $7 - anim_wait 2 - anim_obj ANIM_OBJ_0D, 12, 0, 9, 4, $9 - anim_wait 2 - anim_obj ANIM_OBJ_0D, 13, 2, 8, 7, $b - anim_wait 2 - anim_obj ANIM_OBJ_0D, 14, 4, 8, 2, $c - anim_wait 2 - anim_obj ANIM_OBJ_0D, 15, 6, 7, 5, $a - anim_wait 2 - anim_obj ANIM_OBJ_0D, -15, 0, 7, 0, $8 - anim_wait 16 -.loop - anim_sound 0, 1, SFX_EMBER - anim_wait 16 - anim_loop 6, .loop - anim_wait 16 - anim_ret -; c9861 - -BattleAnim_FireBlast: ; c9861 - anim_1gfx ANIM_GFX_FIRE -.loop1 - anim_sound 6, 2, SFX_EMBER - anim_obj ANIM_OBJ_0F, 8, 0, 11, 4, $7 - anim_wait 6 - anim_loop 10, .loop1 -.loop2 - anim_sound 0, 1, SFX_EMBER - anim_wait 8 - anim_loop 10, .loop2 - anim_incobj 1 - anim_incobj 2 - anim_incobj 3 - anim_incobj 4 - anim_incobj 5 - anim_incobj 6 - anim_incobj 7 - anim_incobj 8 - anim_incobj 9 - anim_incobj 10 - anim_wait 2 -.loop3 - anim_sound 0, 1, SFX_EMBER - anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $1 - anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $2 - anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $3 - anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $4 - anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $5 - anim_wait 16 - anim_loop 2, .loop3 - anim_wait 32 - anim_ret -; c98b0 - -BattleAnim_IcePunch: ; c98b0 - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE - anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 - anim_call BattleAnim_IcePunch_branch_cbbdf - anim_wait 32 - anim_ret -; c98bd - -BattleAnim_IceBeam: ; c98bd - anim_1gfx ANIM_GFX_ICE -.loop - anim_sound 6, 2, SFX_SHINE - anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4 - anim_wait 4 - anim_loop 5, .loop - anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10 -.loop2 - anim_sound 6, 2, SFX_SHINE - anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4 - anim_wait 4 - anim_loop 15, .loop2 - anim_wait 48 - anim_sound 0, 1, SFX_SHINE - anim_wait 8 - anim_sound 0, 1, SFX_SHINE - anim_wait 8 - anim_ret -; c98e8 - -BattleAnim_Blizzard: ; c98e8 - anim_1gfx ANIM_GFX_ICE -.loop - anim_sound 6, 2, SFX_SHINE - anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 11, 0, $63 - anim_wait 2 - anim_sound 6, 2, SFX_SHINE - anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 10, 0, $64 - anim_wait 2 - anim_sound 6, 2, SFX_SHINE - anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 12, 0, $63 - anim_wait 2 - anim_loop 3, .loop - anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 - anim_wait 32 - anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10 - anim_wait 128 - anim_sound 0, 1, SFX_SHINE - anim_wait 8 - anim_sound 0, 1, SFX_SHINE - anim_wait 24 - anim_ret -; c991e - -BattleAnim_Bubble: ; c991e - anim_1gfx ANIM_GFX_BUBBLE - anim_sound 32, 2, SFX_WATER_GUN - anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $c1 - anim_wait 6 - anim_sound 32, 2, SFX_WATER_GUN - anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $e1 - anim_wait 6 - anim_sound 32, 2, SFX_WATER_GUN - anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $d1 - anim_wait 128 - anim_wait 32 - anim_ret -; c993d - -BattleAnim_Bubblebeam: ; c993d - anim_1gfx ANIM_GFX_BUBBLE -.loop - anim_sound 16, 2, SFX_BUBBLEBEAM - anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $92 - anim_wait 6 - anim_sound 16, 2, SFX_BUBBLEBEAM - anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $b3 - anim_wait 6 - anim_sound 16, 2, SFX_BUBBLEBEAM - anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $f4 - anim_wait 8 - anim_loop 3, .loop - anim_wait 64 - anim_clearobjs - anim_bgeffect ANIM_BG_30, $0, $0, $0 - anim_wait 1 - anim_call BattleAnim_FollowPlayerHead_1 - anim_bgeffect ANIM_BG_31, $1c, $0, $0 - anim_wait 19 - anim_call BattleAnim_ShowMon_1 - anim_bgeffect ANIM_BG_32, $0, $0, $0 - anim_wait 8 - anim_ret -; c9979 - -BattleAnim_WaterGun: ; c9979 - anim_bgeffect ANIM_BG_30, $0, $0, $0 - anim_1gfx ANIM_GFX_WATER - anim_call BattleAnim_FollowPlayerHead_1 - anim_sound 16, 2, SFX_WATER_GUN - anim_obj ANIM_OBJ_24, 8, 0, 11, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_24, 8, 0, 9, 4, $0 - anim_wait 8 - anim_obj ANIM_OBJ_24, 8, 0, 10, 2, $0 - anim_wait 24 - anim_bgeffect ANIM_BG_31, $1c, $0, $0 - anim_wait 8 - anim_bgeffect ANIM_BG_31, $8, $0, $0 - anim_wait 8 - anim_bgeffect ANIM_BG_31, $30, $0, $0 - anim_wait 32 - anim_call BattleAnim_ShowMon_1 - anim_bgeffect ANIM_BG_32, $0, $0, $0 - anim_wait 16 - anim_ret -; c99b4 - -BattleAnim_HydroPump: ; c99b4 - anim_bgeffect ANIM_BG_30, $0, $0, $0 - anim_1gfx ANIM_GFX_WATER - anim_call BattleAnim_FollowPlayerHead_1 - anim_sound 0, 1, SFX_HYDRO_PUMP - anim_obj ANIM_OBJ_25, 13, 4, 9, 0, $0 - anim_bgeffect ANIM_BG_31, $1c, $0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HYDRO_PUMP - anim_obj ANIM_OBJ_25, 14, 4, 9, 0, $0 - anim_bgeffect ANIM_BG_31, $8, $0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HYDRO_PUMP - anim_obj ANIM_OBJ_25, 15, 4, 9, 0, $0 - anim_bgeffect ANIM_BG_31, $30, $0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HYDRO_PUMP - anim_obj ANIM_OBJ_25, -16, 4, 9, 0, $0 - anim_bgeffect ANIM_BG_31, $1c, $0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HYDRO_PUMP - anim_obj ANIM_OBJ_25, -15, 4, 9, 0, $0 - anim_bgeffect ANIM_BG_31, $8, $0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HYDRO_PUMP - anim_obj ANIM_OBJ_25, -14, 4, 9, 0, $0 - anim_bgeffect ANIM_BG_31, $30, $0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HYDRO_PUMP - anim_obj ANIM_OBJ_25, -13, 4, 9, 0, $0 - anim_bgeffect ANIM_BG_31, $1c, $0, $0 - anim_wait 32 - anim_call BattleAnim_ShowMon_1 - anim_bgeffect ANIM_BG_32, $0, $0, $0 - anim_wait 16 - anim_ret -; c9a2a - -BattleAnim_Surf: ; c9a2a - anim_1gfx ANIM_GFX_BUBBLE - anim_bgeffect ANIM_BG_SURF, $0, $0, $0 - anim_obj ANIM_OBJ_22, 11, 0, 13, 0, $8 -.loop - anim_sound 0, 1, SFX_SURF - anim_wait 32 - anim_loop 4, .loop - anim_incobj 1 - anim_wait 56 - anim_ret -; c9a42 - -BattleAnim_VineWhip: ; c9a42 - anim_1gfx ANIM_GFX_WHIP - anim_sound 0, 1, SFX_VINE_WHIP - anim_obj ANIM_OBJ_40, 14, 4, 6, 4, $80 - anim_wait 4 - anim_sound 0, 1, SFX_VINE_WHIP - anim_obj ANIM_OBJ_3F, 16, 0, 7, 4, $0 - anim_wait 4 - anim_incobj 1 - anim_wait 4 - anim_ret -; c9a5a - -BattleAnim_LeechSeed: ; c9a5a - anim_1gfx ANIM_GFX_PLANT - anim_sound 16, 2, SFX_VINE_WHIP - anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $20 - anim_wait 8 - anim_sound 16, 2, SFX_VINE_WHIP - anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $30 - anim_wait 8 - anim_sound 16, 2, SFX_VINE_WHIP - anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $28 - anim_wait 32 - anim_sound 0, 1, SFX_CHARGE - anim_wait 128 - anim_ret -; c9a7c - -BattleAnim_RazorLeaf: ; c9a7c - anim_1gfx ANIM_GFX_PLANT - anim_sound 0, 0, SFX_VINE_WHIP - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $28 - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $5c - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $10 - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $e8 - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $9c - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $d0 - anim_wait 6 - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $1c - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $50 - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $dc - anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $90 - anim_wait 80 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 3 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 5 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 7 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 9 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 1 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 2 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 4 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 6 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 8 - anim_wait 2 - anim_sound 16, 2, SFX_VINE_WHIP - anim_incobj 10 - anim_wait 64 - anim_ret -; c9af2 - -BattleAnim_Solarbeam: ; c9af2 - anim_if_param_equal $0, .FireSolarBeam - ; charge turn - anim_1gfx ANIM_GFX_CHARGE - anim_sound 0, 0, SFX_CHARGE - anim_obj ANIM_OBJ_3D, 6, 0, 10, 4, $0 - anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $0 - anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $8 - anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $10 - anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $18 - anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $20 - anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $28 - anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $30 - anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $38 - anim_wait 104 - anim_bgeffect ANIM_BG_FLASH_WHITE, $0, $4, $2 - anim_wait 64 - anim_ret -; c9b30 - -.FireSolarBeam - anim_1gfx ANIM_GFX_BEAM - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Solarbeam_branch_cbb39 - anim_wait 48 - anim_ret -; c9b3c - -BattleAnim_Thunderpunch: ; c9b3c - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_LIGHTNING - anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2 - anim_sound 0, 1, SFX_THUNDER - anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 - anim_wait 64 - anim_ret -; c9b53 - -BattleAnim_Thundershock: ; c9b53 - anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION - anim_obj ANIM_OBJ_34, -15, 0, 7, 0, $2 - anim_wait 16 - anim_sound 0, 1, SFX_THUNDERSHOCK - anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0 - anim_wait 96 - anim_ret -; c9b66 - -BattleAnim_Thunderbolt: ; c9b66 - anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION - anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 - anim_wait 16 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_sound 0, 1, SFX_THUNDERSHOCK - anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0 - anim_wait 64 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_wait 64 - anim_ret -; c9b84 - -BattleAnim_ThunderWave: ; c9b84 - anim_1gfx ANIM_GFX_LIGHTNING - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 - anim_sound 0, 1, SFX_THUNDERSHOCK - anim_obj ANIM_OBJ_30, -15, 0, 7, 0, $0 - anim_wait 20 - anim_bgp $1b - anim_incobj 1 - anim_wait 96 - anim_ret -; c9b9a - -BattleAnim_Thunder: ; c9b9a - anim_1gfx ANIM_GFX_LIGHTNING - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20 - anim_sound 0, 1, SFX_THUNDER - anim_obj ANIM_OBJ_2E, 15, 0, 8, 4, $0 - anim_wait 16 - anim_sound 0, 1, SFX_THUNDER - anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 - anim_wait 16 - anim_sound 0, 1, SFX_THUNDER - anim_obj ANIM_OBJ_2D, -15, 0, 8, 4, $0 - anim_wait 48 - anim_ret -; c9bbd - -BattleAnim_RazorWind: ; c9bbd - anim_if_param_equal $1, BattleAnim_RazorWind_branch_c9fb5 - anim_1gfx ANIM_GFX_WHIP - anim_bgeffect ANIM_BG_06, $0, $1, $0 -.loop - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_sound 0, 1, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_42, -13, 0, 5, 0, $3 - anim_wait 4 - anim_sound 0, 1, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_42, -15, 0, 7, 0, $3 - anim_wait 4 - anim_sound 0, 1, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_42, -13, 0, 8, 0, $3 - anim_wait 4 - anim_sound 0, 1, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_41, 15, 0, 5, 0, $83 - anim_wait 4 - anim_sound 0, 1, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_41, 15, 0, 8, 0, $83 - anim_wait 4 - anim_loop 3, .loop - anim_wait 24 - anim_ret -; c9c00 - -BattleAnim_Sonicboom_JP: ; c9c00 - anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT -.loop - anim_sound 3, 0, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_43, 8, 0, 10, 0, $3 - anim_wait 8 - anim_sound 3, 0, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_43, 8, 0, 11, 0, $2 - anim_wait 8 - anim_sound 3, 0, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_43, 8, 0, 12, 0, $4 - anim_wait 8 - anim_loop 2, .loop - anim_wait 32 - anim_incobj 1 - anim_incobj 2 - anim_incobj 3 - anim_incobj 4 - anim_incobj 5 - anim_incobj 6 - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; c9c36 - -BattleAnim_Gust: ; c9c36 -BattleAnim_Sonicboom: ; c9c36 - anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT -.loop - anim_sound 0, 1, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_GUST, -15, 0, 9, 0, $0 - anim_wait 6 - anim_loop 9, .loop - anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18 - anim_wait 8 - anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18 - anim_wait 16 - anim_ret -; c9c53 - -BattleAnim_Selfdestruct: ; c9c53 - anim_1gfx ANIM_GFX_EXPLOSION - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 - anim_if_param_equal $1, .loop - anim_call BattleAnim_Selfdestruct_branch_cbb8f - anim_wait 16 - anim_ret -; c9c63 - -.loop - anim_call BattleAnim_Selfdestruct_branch_cbb62 - anim_wait 5 - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_loop 2, .loop - anim_wait 16 - anim_ret -; c9c72 - -BattleAnim_Explosion: ; c9c72 - anim_1gfx ANIM_GFX_EXPLOSION - anim_bgeffect ANIM_BG_1F, $60, $4, $10 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 - anim_if_param_equal $1, .loop - anim_call BattleAnim_Explosion_branch_cbb8f - anim_wait 16 - anim_ret -; c9c87 - -.loop - anim_call BattleAnim_Explosion_branch_cbb62 - anim_wait 5 - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_loop 2, .loop - anim_wait 16 - anim_ret -; c9c96 - -BattleAnim_Acid: ; c9c96 - anim_1gfx ANIM_GFX_POISON - anim_call BattleAnim_Acid_branch_cbc35 - anim_wait 64 - anim_ret -; c9c9d - -BattleAnim_RockThrow: ; c9c9d - anim_1gfx ANIM_GFX_ROCKS - anim_bgeffect ANIM_BG_1F, $60, $1, $0 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 - anim_wait 2 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30 - anim_wait 2 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 - anim_wait 2 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40 - anim_wait 2 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 - anim_wait 96 - anim_ret -; c9cd2 - -BattleAnim_RockSlide: ; c9cd2 - anim_1gfx ANIM_GFX_ROCKS - anim_bgeffect ANIM_BG_1F, $c0, $1, $0 -.loop - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 - anim_wait 4 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30 - anim_wait 4 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 - anim_wait 4 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40 - anim_wait 4 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 - anim_wait 16 - anim_loop 4, .loop - anim_wait 96 - anim_ret -; c9d0c - -BattleAnim_Sing: ; c9d0c - anim_1gfx ANIM_GFX_NOISE - anim_sound 16, 2, SFX_SING -.loop - anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0 - anim_wait 8 - anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $1 - anim_wait 8 - anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2 - anim_wait 8 - anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0 - anim_wait 8 - anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2 - anim_wait 8 - anim_loop 4, .loop - anim_wait 64 - anim_ret -; c9d35 - -BattleAnim_Poisonpowder: ; c9d35 -BattleAnim_SleepPowder: ; c9d35 -BattleAnim_Spore: ; c9d35 -BattleAnim_StunSpore: ; c9d35 - anim_1gfx ANIM_GFX_POWDER -.loop - anim_sound 0, 1, SFX_POWDER - anim_obj ANIM_OBJ_26, 13, 0, 2, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_POWDER - anim_obj ANIM_OBJ_26, -15, 0, 2, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_POWDER - anim_obj ANIM_OBJ_26, 14, 0, 2, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_POWDER - anim_obj ANIM_OBJ_26, 16, 0, 2, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_POWDER - anim_obj ANIM_OBJ_26, 15, 0, 2, 0, $0 - anim_wait 4 - anim_loop 2, .loop - anim_wait 96 - anim_ret -; c9d6a - -BattleAnim_HyperBeam: ; c9d6a - anim_1gfx ANIM_GFX_BEAM - anim_bgeffect ANIM_BG_1F, $30, $4, $10 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_HyperBeam_branch_cbb39 - anim_wait 48 - anim_ret -; c9d80 - -BattleAnim_AuroraBeam: ; c9d80 - anim_1gfx ANIM_GFX_BEAM - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 - anim_wait 64 - anim_call BattleAnim_AuroraBeam_branch_cbb39 - anim_wait 48 - anim_incobj 5 - anim_wait 64 - anim_ret -; c9d95 - -BattleAnim_Vicegrip: ; c9d95 - anim_1gfx ANIM_GFX_CUT - anim_sound 0, 1, SFX_VICEGRIP - anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0 - anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 - anim_wait 32 - anim_ret -; c9da6 - -BattleAnim_Scratch: ; c9da6 - anim_1gfx ANIM_GFX_CUT - anim_sound 0, 1, SFX_SCRATCH - anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 - anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 - anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 - anim_wait 32 - anim_ret -; c9dbc - -BattleAnim_FurySwipes: ; c9dbc - anim_1gfx ANIM_GFX_CUT - anim_if_param_equal $1, BattleAnim_FurySwipes_branch_c9dd9 - anim_sound 0, 1, SFX_SCRATCH - anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 - anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 - anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 - anim_sound 0, 1, SFX_SCRATCH - anim_wait 32 - anim_ret -; c9dd9 - -BattleAnim_FurySwipes_branch_c9dd9: ; c9dd9 - anim_sound 0, 1, SFX_SCRATCH - anim_obj ANIM_OBJ_38, 15, 0, 6, 0, $0 - anim_obj ANIM_OBJ_38, 15, 4, 5, 4, $0 - anim_obj ANIM_OBJ_38, 16, 0, 5, 0, $0 - anim_sound 0, 1, SFX_SCRATCH - anim_wait 32 - anim_ret -; c9df0 - -BattleAnim_Cut: ; c9df0 - anim_1gfx ANIM_GFX_CUT - anim_sound 0, 1, SFX_CUT - anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 - anim_wait 32 - anim_ret -; c9dfc - -BattleAnim_Slash: ; c9dfc - anim_1gfx ANIM_GFX_CUT - anim_sound 0, 1, SFX_CUT - anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 - anim_obj ANIM_OBJ_3A, -14, 4, 4, 4, $0 - anim_wait 32 - anim_ret -; c9e0d - -BattleAnim_Clamp: ; c9e0d - anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT - anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $a0 - anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $20 - anim_wait 16 - anim_sound 0, 1, SFX_BITE - anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18 - anim_wait 32 - anim_sound 0, 1, SFX_BITE - anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18 - anim_wait 16 - anim_ret -; c9e2e - -BattleAnim_Bite: ; c9e2e - anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT - anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $98 - anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $18 - anim_wait 8 - anim_sound 0, 1, SFX_BITE - anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18 - anim_wait 16 - anim_sound 0, 1, SFX_BITE - anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18 - anim_wait 8 - anim_ret -; c9e4f - -BattleAnim_Teleport: ; c9e4f - anim_1gfx ANIM_GFX_SPEED - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_TELEPORT, $0, $1, $0 - anim_wait 32 - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_wait 3 - anim_incbgeffect ANIM_BG_TELEPORT - anim_call BattleAnim_ShowMon_0 - anim_bgeffect ANIM_BG_06, $0, $1, $0 - anim_call BattleAnim_Teleport_branch_cbb12 - anim_wait 64 - anim_ret -; c9e6f - -BattleAnim_Fly: ; c9e6f - anim_if_param_equal $1, BattleAnim_Fly_branch_c9e89 - anim_if_param_equal $2, BattleAnim_Fly_branch_c9e82 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_WING_ATTACK - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 32 -BattleAnim_Fly_branch_c9e82: ; c9e82 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 32 - anim_ret -; c9e89 - -BattleAnim_Fly_branch_c9e89: ; c9e89 - anim_1gfx ANIM_GFX_SPEED - anim_bgeffect ANIM_BG_06, $0, $1, $0 - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_call BattleAnim_Fly_branch_cbb12 - anim_wait 64 - anim_ret -; c9e9a - -BattleAnim_DoubleTeam: ; c9e9a - anim_call BattleAnim_FollowPlayerHead_0 - anim_sound 0, 0, SFX_PSYBEAM - anim_bgeffect ANIM_BG_DOUBLE_TEAM, $0, $1, $0 - anim_wait 96 - anim_incbgeffect ANIM_BG_DOUBLE_TEAM - anim_wait 24 - anim_incbgeffect ANIM_BG_DOUBLE_TEAM - anim_call BattleAnim_ShowMon_0 - anim_ret -; c9eaf - -BattleAnim_Recover: ; c9eaf - anim_1gfx ANIM_GFX_BUBBLE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_sound 0, 0, SFX_FULL_HEAL - anim_bgeffect ANIM_BG_18, $0, $1, $40 - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $30 - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $31 - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $32 - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $33 - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $34 - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $35 - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $36 - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $37 - anim_wait 64 - anim_incbgeffect ANIM_BG_18 - anim_call BattleAnim_ShowMon_0 - anim_ret -; c9eeb - -BattleAnim_Absorb: ; c9eeb - anim_1gfx ANIM_GFX_CHARGE - anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0 -.loop - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 - anim_wait 6 - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 - anim_wait 6 - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 - anim_wait 6 - anim_loop 5, .loop - anim_wait 32 - anim_ret -; c9f13 - -BattleAnim_MegaDrain: ; c9f13 - anim_1gfx ANIM_GFX_CHARGE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1C, $0, $0, $10 - anim_setvar $0 -.loop - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 - anim_wait 6 - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 - anim_wait 6 - anim_sound 6, 3, SFX_WATER_GUN - anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 - anim_wait 6 - anim_incvar - anim_if_var_equal $7, .done - anim_if_var_equal $2, .spawn - anim_jump .loop -; c9f46 - -.spawn - anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0 - anim_jump .loop -; c9f4e - -.done - anim_wait 32 - anim_incbgeffect ANIM_BG_1C - anim_call BattleAnim_ShowMon_0 - anim_ret -; c9f55 - -BattleAnim_EggBomb: ; c9f55 - anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION - anim_sound 0, 0, SFX_SWITCH_POKEMON - anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $1 - anim_wait 128 - anim_wait 96 - anim_incobj 1 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_18, 16, 0, 8, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_18, -14, 0, 8, 4, $0 - anim_wait 8 - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_18, -15, 0, 9, 0, $0 - anim_wait 24 - anim_ret -; c9f85 - -BattleAnim_Softboiled: ; c9f85 - anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_sound 0, 0, SFX_SWITCH_POKEMON - anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $6 - anim_wait 128 - anim_incobj 2 - anim_obj ANIM_OBJ_46, 9, 4, 13, 0, $b - anim_wait 16 - anim_bgeffect ANIM_BG_18, $0, $1, $40 - anim_sound 0, 0, SFX_METRONOME -.loop - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20 - anim_wait 8 - anim_loop 8, .loop - anim_wait 128 - anim_incbgeffect ANIM_BG_18 - anim_call BattleAnim_ShowMon_0 - anim_ret -; c9fb5 - -BattleAnim_FocusEnergy: ; c9fb5 -BattleAnim_RazorWind_branch_c9fb5: ; c9fb5 -BattleAnim_SkullBash_branch_c9fb5: ; c9fb5 -BattleAnim_SkyAttack_branch_c9fb5: ; c9fb5 - anim_1gfx ANIM_GFX_SPEED - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_16, $0, $1, $40 - anim_bgeffect ANIM_BG_06, $0, $2, $0 -.loop - anim_sound 0, 0, SFX_SWORDS_DANCE - anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 - anim_wait 2 - anim_loop 3, .loop - anim_wait 8 - anim_incbgeffect ANIM_BG_16 - anim_call BattleAnim_ShowMon_0 - anim_ret -; c9ffc - -BattleAnim_Bide: ; c9ffc - anim_if_param_equal $0, BattleAnim_Bide_branch_c9651 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_sound 0, 0, SFX_ESCAPE_ROPE - anim_bgeffect ANIM_BG_1A, $0, $1, $20 - anim_wait 72 - anim_incbgeffect ANIM_BG_1A - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca014 - -BattleAnim_Bind: ; ca014 - anim_1gfx ANIM_GFX_ROPE - anim_sound 0, 1, SFX_BIND - anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_49, -16, 4, 7, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 - anim_wait 64 - anim_sound 0, 1, SFX_BIND - anim_incobj 1 - anim_incobj 2 - anim_incobj 3 - anim_wait 96 - anim_ret -; ca036 - -BattleAnim_Wrap: ; ca036 - anim_1gfx ANIM_GFX_ROPE - anim_sound 0, 1, SFX_BIND - anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 - anim_wait 64 - anim_sound 0, 1, SFX_BIND - anim_incobj 1 - anim_incobj 2 - anim_incobj 3 - anim_wait 96 - anim_ret -; ca058 - -BattleAnim_Confusion: ; ca058 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_1 - anim_sound 0, 1, SFX_PSYCHIC - anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 - anim_wait 128 - anim_incbgeffect ANIM_BG_NIGHT_SHADE - anim_call BattleAnim_ShowMon_1 - anim_ret -; ca06c - -BattleAnim_Constrict: ; ca06c - anim_1gfx ANIM_GFX_ROPE - anim_sound 0, 1, SFX_BIND - anim_obj ANIM_OBJ_49, -16, 4, 8, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_49, -16, 4, 5, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0 - anim_wait 64 - anim_ret -; ca08a - -BattleAnim_Earthquake: ; ca08a - anim_bgeffect ANIM_BG_1F, $60, $4, $10 -.loop - anim_sound 0, 1, SFX_EMBER - anim_wait 24 - anim_loop 4, .loop - anim_ret -; ca098 - -BattleAnim_Fissure: ; ca098 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 - anim_bgeffect ANIM_BG_1F, $60, $4, $0 -.loop - anim_sound 0, 1, SFX_EMBER - anim_wait 24 - anim_loop 4, .loop - anim_ret -; ca0ab - -BattleAnim_Growl: ; ca0ab - anim_1gfx ANIM_GFX_NOISE - anim_enemyfeetobj - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_cry $0 -.loop - anim_call BattleAnim_Growl_branch_cbbbc - anim_wait 16 - anim_loop 3, .loop - anim_wait 9 - anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0 - anim_wait 8 - anim_bgeffect ANIM_BG_19, $0, $0, $40 - anim_wait 64 - anim_incbgeffect ANIM_BG_19 - anim_wait 1 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 5 - anim_incobj 10 - anim_wait 8 - anim_ret -; ca0d7 - -BattleAnim_Roar: ; ca0d7 - anim_1gfx ANIM_GFX_NOISE - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_cry $1 -.loop - anim_call BattleAnim_Roar_branch_cbbbc - anim_wait 16 - anim_loop 3, .loop - anim_wait 16 - anim_if_param_equal $0, .done - anim_bgeffect ANIM_BG_27, $0, $0, $0 - anim_wait 64 -.done - anim_ret -; ca0f4 - -BattleAnim_Supersonic: ; ca0f4 - anim_1gfx ANIM_GFX_PSYCHIC -.loop - anim_sound 6, 2, SFX_SUPERSONIC - anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 - anim_wait 4 - anim_loop 10, .loop - anim_wait 64 - anim_ret -; ca105 - -BattleAnim_Screech: ; ca105 - anim_1gfx ANIM_GFX_PSYCHIC - anim_bgeffect ANIM_BG_1F, $8, $1, $20 - anim_sound 6, 2, SFX_SCREECH -.loop - anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 - anim_wait 2 - anim_loop 2, .loop - anim_wait 64 - anim_ret -; ca11b - -BattleAnim_ConfuseRay: ; ca11b - anim_1gfx ANIM_GFX_SPEED - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_bgeffect ANIM_BG_08, $0, $4, $0 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $0 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $80 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $88 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $90 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $98 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a0 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a8 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b0 - anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b8 -.loop - anim_sound 6, 2, SFX_WHIRLWIND - anim_wait 16 - anim_loop 8, .loop - anim_wait 32 - anim_ret -; ca15e - -BattleAnim_Leer: ; ca15e - anim_1gfx ANIM_GFX_BEAM - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Leer_branch_cbadc - anim_wait 16 - anim_ret -; ca16a - -BattleAnim_Reflect: ; ca16a - anim_1gfx ANIM_GFX_REFLECT - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 - anim_wait 24 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 - anim_wait 64 - anim_ret -; ca18e - -BattleAnim_LightScreen: ; ca18e - anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_REFLECT - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_sound 0, 0, SFX_FLASH - anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 - anim_wait 4 - anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $0 - anim_wait 4 - anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $8 - anim_wait 4 - anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $10 - anim_wait 4 - anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $18 - anim_wait 4 - anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 - anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $20 - anim_wait 4 - anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $28 - anim_wait 4 - anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $30 - anim_wait 4 - anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $38 - anim_wait 64 - anim_ret -; ca1d5 - -BattleAnim_Amnesia: ; ca1d5 - anim_1gfx ANIM_GFX_STATUS - anim_sound 0, 0, SFX_LICK - anim_obj ANIM_OBJ_53, 8, 0, 10, 0, $2 - anim_wait 16 - anim_obj ANIM_OBJ_53, 8, 4, 10, 0, $1 - anim_wait 16 - anim_obj ANIM_OBJ_53, 9, 0, 10, 0, $0 - anim_wait 64 - anim_ret -; ca1ed - -BattleAnim_DizzyPunch: ; ca1ed - anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_HIT - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0 - anim_obj ANIM_OBJ_02, -15, 0, 8, 0, $0 - anim_wait 16 - anim_sound 0, 1, SFX_KINESIS - anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $15 - anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $aa - anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $bf - anim_wait 96 - anim_ret -; ca212 - -BattleAnim_Rest: ; ca212 - anim_1gfx ANIM_GFX_STATUS - anim_sound 0, 0, SFX_TAIL_WHIP -.loop - anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 - anim_wait 40 - anim_loop 3, .loop - anim_wait 32 - anim_ret -; ca223 - -BattleAnim_AcidArmor: ; ca223 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_ACID_ARMOR, $0, $1, $8 - anim_sound 0, 0, SFX_MEGA_PUNCH - anim_wait 64 - anim_incbgeffect ANIM_BG_ACID_ARMOR - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca237 - -BattleAnim_Splash: ; ca237 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 0, SFX_VICEGRIP - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 - anim_wait 96 - anim_incbgeffect ANIM_BG_BOUNCE_DOWN - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca24b - -BattleAnim_Dig: ; ca24b - anim_2gfx ANIM_GFX_SAND, ANIM_GFX_HIT - anim_if_param_equal $0, .hit - anim_if_param_equal $2, .fail - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_DIG, $0, $1, $1 - anim_obj ANIM_OBJ_57, 9, 0, 13, 0, $0 -.loop - anim_sound 0, 0, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_56, 7, 0, 13, 0, $0 - anim_wait 16 - anim_loop 6, .loop - anim_wait 32 - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_wait 8 - anim_incbgeffect ANIM_BG_DIG - anim_call BattleAnim_ShowMon_0 - anim_ret - -.hit - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 32 -.fail - anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 - anim_wait 32 - anim_ret -; ca28d - -BattleAnim_SandAttack: ; ca28d - anim_1gfx ANIM_GFX_SAND - anim_call BattleAnim_SandAttack_branch_cbc5b - anim_ret -; ca293 - -BattleAnim_StringShot: ; ca293 - anim_1gfx ANIM_GFX_WEB - anim_bgeffect ANIM_BG_07, $0, $2, $0 - anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_MENU - anim_obj ANIM_OBJ_5A, -16, 4, 6, 0, $1 - anim_wait 4 - anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_MENU - anim_obj ANIM_OBJ_5A, -16, 4, 8, 0, $1 - anim_wait 4 - anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0 - anim_wait 4 - anim_sound 0, 1, SFX_MENU - anim_obj ANIM_OBJ_5A, -16, 4, 7, 0, $2 - anim_wait 64 - anim_ret -; ca2d1 - -BattleAnim_Headbutt: ; ca2d1 - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $14, $2, $0 - anim_wait 32 - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 4 - anim_sound 0, 1, SFX_HEADBUTT - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 8 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca2ef - -BattleAnim_Tackle: ; ca2ef - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 4 - anim_sound 0, 1, SFX_TACKLE - anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 - anim_wait 8 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca307 - -BattleAnim_BodySlam: ; ca307 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 - anim_wait 32 - anim_incbgeffect ANIM_BG_BOUNCE_DOWN - anim_wait 4 - anim_bgeffect ANIM_BG_25, $0, $1, $0 - anim_wait 3 - anim_sound 0, 1, SFX_TACKLE - anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_TACKLE - anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 - anim_wait 3 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca331 - -BattleAnim_TakeDown: ; ca331 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 3 - anim_sound 0, 1, SFX_TACKLE - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_TACKLE - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 - anim_wait 3 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca35c - -BattleAnim_DoubleEdge: ; ca35c - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $10 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 3 - anim_sound 0, 1, SFX_TACKLE - anim_obj ANIM_OBJ_00, 16, 0, 6, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_TACKLE - anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $0 - anim_wait 3 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca382 - -BattleAnim_Submission: ; ca382 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_1 - anim_bgeffect ANIM_BG_26, $0, $0, $0 - anim_sound 0, 1, SFX_SUBMISSION - anim_wait 32 - anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 - anim_wait 32 - anim_obj ANIM_OBJ_01, -13, 0, 7, 0, $0 - anim_wait 32 - anim_obj ANIM_OBJ_01, -15, 0, 6, 4, $0 - anim_wait 32 - anim_incbgeffect ANIM_BG_26 - anim_call BattleAnim_ShowMon_1 - anim_ret -; ca3a8 - -BattleAnim_Whirlwind: ; ca3a8 - anim_1gfx ANIM_GFX_WIND -.loop - anim_sound 0, 0, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0 - anim_wait 6 - anim_loop 9, .loop - anim_incobj 1 - anim_incobj 2 - anim_incobj 3 - anim_incobj 4 - anim_incobj 5 - anim_incobj 6 - anim_incobj 7 - anim_incobj 8 - anim_incobj 9 - anim_sound 16, 2, SFX_WHIRLWIND - anim_wait 128 - anim_if_param_equal $0, .done - anim_bgeffect ANIM_BG_27, $0, $0, $0 - anim_wait 64 -.done - anim_ret -; ca3d8 - -BattleAnim_Hypnosis: ; ca3d8 - anim_1gfx ANIM_GFX_PSYCHIC -.loop - anim_sound 6, 2, SFX_SUPERSONIC - anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 - anim_obj ANIM_OBJ_4C, 7, 0, 10, 0, $2 - anim_wait 8 - anim_loop 3, .loop - anim_wait 56 - anim_ret -; ca3ee - -BattleAnim_Haze: ; ca3ee - anim_1gfx ANIM_GFX_HAZE - anim_sound 0, 1, SFX_SURF -.loop - anim_obj ANIM_OBJ_HAZE, 6, 0, 7, 0, $0 - anim_obj ANIM_OBJ_HAZE, -16, 4, 2, 0, $0 - anim_wait 12 - anim_loop 5, .loop - anim_wait 96 - anim_ret -; ca404 - -BattleAnim_Mist: ; ca404 - anim_obp0 $54 - anim_1gfx ANIM_GFX_HAZE - anim_sound 0, 0, SFX_SURF -.loop - anim_obj ANIM_OBJ_MIST, 6, 0, 7, 0, $0 - anim_wait 8 - anim_loop 10, .loop - anim_wait 96 - anim_ret -; ca417 - -BattleAnim_Smog: ; ca417 - anim_1gfx ANIM_GFX_HAZE - anim_sound 0, 1, SFX_BUBBLEBEAM -.loop - anim_obj ANIM_OBJ_SMOG, -16, 4, 2, 0, $0 - anim_wait 8 - anim_loop 10, .loop - anim_wait 96 - anim_ret -; ca428 - -BattleAnim_PoisonGas: ; ca428 - anim_1gfx ANIM_GFX_HAZE - anim_sound 16, 2, SFX_BUBBLEBEAM -.loop - anim_obj ANIM_OBJ_POISON_GAS, 5, 4, 10, 0, $2 - anim_wait 8 - anim_loop 10, .loop - anim_wait 128 - anim_ret -; ca439 - -BattleAnim_HornAttack: ; ca439 - anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT - anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1 - anim_wait 16 - anim_sound 0, 1, SFX_HORN_ATTACK - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; ca44c - -BattleAnim_FuryAttack: ; ca44c - anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT - anim_obj ANIM_OBJ_HORN, 9, 0, 9, 0, $2 - anim_wait 8 - anim_sound 0, 1, SFX_HORN_ATTACK - anim_obj ANIM_OBJ_04, 16, 0, 5, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_HORN, 10, 0, 11, 0, $2 - anim_wait 8 - anim_sound 0, 1, SFX_HORN_ATTACK - anim_obj ANIM_OBJ_04, -15, 0, 7, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_HORN, 9, 4, 10, 0, $2 - anim_wait 8 - anim_sound 0, 1, SFX_HORN_ATTACK - anim_obj ANIM_OBJ_04, -16, 4, 6, 0, $0 - anim_wait 8 - anim_ret -; ca47d - -BattleAnim_HornDrill: ; ca47d - anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 - anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $3 - anim_wait 8 -.loop - anim_sound 0, 1, SFX_HORN_ATTACK - anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HORN_ATTACK - anim_obj ANIM_OBJ_00, -15, 4, 6, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HORN_ATTACK - anim_obj ANIM_OBJ_00, -16, 4, 7, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_HORN_ATTACK - anim_obj ANIM_OBJ_00, 15, 4, 6, 0, $0 - anim_wait 8 - anim_loop 3, .loop - anim_ret -; ca4b4 - -BattleAnim_PoisonSting: ; ca4b4 - anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT - anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14 - anim_wait 16 - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; ca4c7 - -BattleAnim_Twineedle: ; ca4c7 - anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14 - anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $14 - anim_wait 16 - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 - anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 - anim_wait 16 - anim_ret -; ca4e7 - -BattleAnim_PinMissile: ; ca4e7 - anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT -.loop - anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $28 - anim_wait 8 - anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $28 - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $28 - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0 - anim_loop 3, .loop - anim_wait 16 - anim_ret -; ca51a - -BattleAnim_SpikeCannon: ; ca51a - anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT -.loop - anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $18 - anim_wait 8 - anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $18 - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $18 - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_POISON_STING - anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0 - anim_loop 3, .loop - anim_wait 16 - anim_ret -; ca54d - -BattleAnim_Transform: ; ca54d - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_0 - anim_transform - anim_sound 0, 0, SFX_PSYBEAM - anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 - anim_wait 48 - anim_updateactorpic - anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER - anim_wait 48 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca564 - -BattleAnim_PetalDance: ; ca564 - anim_sound 0, 0, SFX_MENU - anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT -.loop - anim_obj ANIM_OBJ_61, 6, 0, 7, 0, $0 - anim_wait 11 - anim_loop 8, .loop - anim_wait 128 - anim_wait 64 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; ca580 - -BattleAnim_Barrage: ; ca580 - anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION - anim_sound 6, 2, SFX_THROW_BALL - anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10 - anim_wait 36 - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_18, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; ca596 - -BattleAnim_PayDay: ; ca596 - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_STATUS - anim_sound 0, 1, SFX_POUND - anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 - anim_wait 16 - anim_sound 0, 1, SFX_PAY_DAY - anim_obj ANIM_OBJ_63, 15, 0, 9, 4, $1 - anim_wait 64 - anim_ret -; ca5ac - -BattleAnim_Mimic: ; ca5ac - anim_1gfx ANIM_GFX_SPEED - anim_obp0 $fc - anim_sound 63, 3, SFX_LICK - anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $0 - anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $8 - anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $10 - anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $18 - anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $20 - anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $28 - anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $30 - anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $38 - anim_wait 128 - anim_wait 48 - anim_ret -; ca5de - -BattleAnim_LovelyKiss: ; ca5de - anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS - anim_bgeffect ANIM_BG_07, $0, $2, $0 - anim_obj ANIM_OBJ_96, -13, 0, 5, 0, $0 - anim_wait 32 - anim_sound 0, 1, SFX_LICK - anim_obj ANIM_OBJ_HEART, 16, 0, 5, 0, $0 - anim_wait 40 - anim_ret -; ca5f6 - -BattleAnim_Bonemerang: ; ca5f6 - anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT - anim_sound 6, 2, SFX_HYDRO_PUMP - anim_obj ANIM_OBJ_67, 11, 0, 7, 0, $1c - anim_wait 24 - anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 24 - anim_ret -; ca60c - -BattleAnim_Swift: ; ca60c - anim_1gfx ANIM_GFX_OBJECTS - anim_sound 6, 2, SFX_METRONOME - anim_obj ANIM_OBJ_6A, 8, 0, 11, 0, $4 - anim_wait 4 - anim_obj ANIM_OBJ_6A, 8, 0, 9, 0, $4 - anim_wait 4 - anim_obj ANIM_OBJ_6A, 8, 0, 9, 4, $4 - anim_wait 64 - anim_ret -; ca624 - -BattleAnim_Crabhammer: ; ca624 - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_wait 48 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 -.loop - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 12 - anim_loop 3, .loop - anim_ret -; ca63f - -BattleAnim_SkullBash: ; ca63f - anim_if_param_equal $1, BattleAnim_SkullBash_branch_c9fb5 - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $14, $2, $0 - anim_wait 32 - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 4 -.loop - anim_sound 0, 1, SFX_HEADBUTT - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 8 - anim_loop 3, .loop - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca66a - -BattleAnim_Kinesis: ; ca66a - anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_obj ANIM_OBJ_6B, 10, 0, 9, 4, $0 - anim_wait 32 -.loop - anim_sound 0, 0, SFX_KINESIS - anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $0 - anim_wait 32 - anim_loop 3, .loop - anim_wait 32 - anim_sound 0, 0, SFX_KINESIS_2 - anim_wait 32 - anim_ret -; ca68b - -BattleAnim_Peck: ; ca68b - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_PECK - anim_obj ANIM_OBJ_02, 16, 0, 6, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_PECK - anim_obj ANIM_OBJ_02, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; ca6a0 - -BattleAnim_DrillPeck: ; ca6a0 - anim_1gfx ANIM_GFX_HIT -.loop - anim_sound 0, 1, SFX_PECK - anim_obj ANIM_OBJ_02, 15, 4, 7, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_PECK - anim_obj ANIM_OBJ_02, -16, 4, 6, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_PECK - anim_obj ANIM_OBJ_02, -15, 4, 7, 0, $0 - anim_wait 4 - anim_sound 0, 1, SFX_PECK - anim_obj ANIM_OBJ_02, -16, 4, 8, 0, $0 - anim_wait 4 - anim_loop 5, .loop - anim_wait 16 - anim_ret -; ca6cc - -BattleAnim_Guillotine: ; ca6cc - anim_1gfx ANIM_GFX_CUT - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10 - anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_sound 0, 1, SFX_VICEGRIP - anim_obj ANIM_OBJ_37, -13, 4, 5, 4, $0 - anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0 - anim_obj ANIM_OBJ_37, -14, 4, 4, 4, $0 - anim_obj ANIM_OBJ_39, 15, 4, 9, 4, $0 - anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 - anim_obj ANIM_OBJ_39, 14, 4, 8, 4, $0 - anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 - anim_wait 32 - anim_ret -; ca700 - -BattleAnim_Flash: ; ca700 - anim_1gfx ANIM_GFX_SPEED - anim_sound 0, 1, SFX_FLASH - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20 - anim_wait 4 - anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $0 - anim_wait 4 - anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $8 - anim_wait 4 - anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $10 - anim_wait 4 - anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $18 - anim_wait 4 - anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $20 - anim_wait 4 - anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $28 - anim_wait 4 - anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $30 - anim_wait 4 - anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $38 - anim_wait 32 - anim_ret -; ca73c - -BattleAnim_Substitute: ; ca73c - anim_sound 0, 0, SFX_SURF - anim_if_param_equal $3, BattleAnim_Substitute_branch_ca77c - anim_if_param_equal $2, BattleAnim_Substitute_branch_ca76e - anim_if_param_equal $1, BattleAnim_Substitute_branch_ca760 - anim_1gfx ANIM_GFX_SMOKE - anim_bgeffect ANIM_BG_27, $0, $1, $0 - anim_wait 48 - anim_raisesub - anim_obj ANIM_OBJ_BALL_POOF, 6, 0, 12, 0, $0 - anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 - anim_wait 32 - anim_ret -; ca760 - -BattleAnim_Substitute_branch_ca760: ; ca760 - anim_bgeffect ANIM_BG_27, $0, $1, $0 - anim_wait 48 - anim_dropsub - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 32 - anim_ret -; ca76e - -BattleAnim_Substitute_branch_ca76e: ; ca76e - anim_bgeffect ANIM_BG_27, $0, $1, $0 - anim_wait 48 - anim_raisesub - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 32 - anim_ret -; ca77c - -BattleAnim_Substitute_branch_ca77c: ; ca77c - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_wait 48 - anim_dropsub - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 32 - anim_ret -; ca78a - -BattleAnim_Minimize: ; ca78a - anim_sound 0, 0, SFX_SURF - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_0 - anim_minimize - anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 - anim_wait 48 - anim_updateactorpic - anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER - anim_wait 48 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca7a1 - -BattleAnim_SkyAttack: ; ca7a1 - anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5 - anim_1gfx ANIM_GFX_SKY_ATTACK - anim_bgeffect ANIM_BG_27, $0, $1, $0 - anim_wait 32 - anim_sound 0, 0, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 6, 0, 11, 0, $40 - anim_wait 64 - anim_incobj 1 - anim_wait 21 - anim_sound 0, 1, SFX_HYPER_BEAM - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 - anim_wait 64 - anim_incobj 1 - anim_wait 32 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 16 - anim_ret -; ca7cc - -BattleAnim_NightShade: ; ca7cc - anim_1gfx ANIM_GFX_HIT - anim_bgp $1b - anim_obp1 $1b - anim_wait 32 - anim_call BattleAnim_FollowPlayerHead_1 - anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 - anim_sound 0, 1, SFX_PSYCHIC - anim_wait 96 - anim_incbgeffect ANIM_BG_NIGHT_SHADE - anim_call BattleAnim_ShowMon_1 - anim_ret -; ca7e5 - -BattleAnim_Lick: ; ca7e5 - anim_1gfx ANIM_GFX_WATER - anim_sound 0, 1, SFX_LICK - anim_obj ANIM_OBJ_LICK, -15, 0, 7, 0, $0 - anim_wait 64 - anim_ret -; ca7f1 - -BattleAnim_TriAttack: ; ca7f1 - anim_3gfx ANIM_GFX_FIRE, ANIM_GFX_ICE, ANIM_GFX_LIGHTNING - anim_call BattleAnim_TriAttack_branch_cbbcc - anim_wait 16 - anim_call BattleAnim_TriAttack_branch_cbbdf - anim_wait 16 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4 - anim_sound 0, 1, SFX_THUNDER - anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 - anim_wait 16 - anim_ret -; ca80c - -BattleAnim_Withdraw: ; ca80c - anim_1gfx ANIM_GFX_REFLECT - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_WITHDRAW, $0, $1, $50 - anim_wait 48 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_WITHDRAW, 6, 0, 11, 0, $0 - anim_wait 64 - anim_incobj 2 - anim_wait 1 - anim_incbgeffect ANIM_BG_WITHDRAW - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca829 - -BattleAnim_Psybeam: ; ca829 - anim_1gfx ANIM_GFX_PSYCHIC - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_bgeffect ANIM_BG_08, $0, $4, $0 -.loop - anim_sound 6, 2, SFX_PSYBEAM - anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $4 - anim_wait 4 - anim_loop 10, .loop - anim_wait 48 - anim_ret -; ca844 - -BattleAnim_DreamEater: ; ca844 - anim_1gfx ANIM_GFX_BUBBLE - anim_bgp $1b - anim_obp0 $27 - anim_sound 6, 3, SFX_WATER_GUN - anim_call BattleAnim_DreamEater_branch_cbab3 - anim_wait 128 - anim_wait 48 - anim_ret -; ca853 - -BattleAnim_LeechLife: ; ca853 - anim_1gfx ANIM_GFX_BUBBLE - anim_sound 6, 3, SFX_WATER_GUN - anim_call BattleAnim_LeechLife_branch_cbab3 - anim_wait 128 - anim_wait 48 - anim_ret -; ca85e - -BattleAnim_Harden: ; ca85e - anim_1gfx ANIM_GFX_REFLECT - anim_obp0 $0 - anim_call BattleAnim_FollowEnemyFeet_0 - anim_call BattleAnim_Harden_branch_cbc43 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca86c - -BattleAnim_Psywave: ; ca86c - anim_1gfx ANIM_GFX_PSYCHIC - anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 -.loop - anim_sound 6, 2, SFX_PSYCHIC - anim_obj ANIM_OBJ_4C, 8, 0, 10, 0, $2 - anim_wait 8 - anim_sound 6, 2, SFX_PSYCHIC - anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $3 - anim_wait 8 - anim_sound 6, 2, SFX_PSYCHIC - anim_obj ANIM_OBJ_4C, 8, 0, 12, 0, $4 - anim_wait 8 - anim_loop 3, .loop - anim_wait 32 - anim_incbgeffect ANIM_BG_PSYCHIC - anim_wait 4 - anim_ret -; ca897 - -BattleAnim_Glare: ; ca897 - anim_1gfx ANIM_GFX_BEAM - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20 - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_Glare_branch_cbadc - anim_wait 16 - anim_ret -; ca8a8 - -BattleAnim_Thrash: ; ca8a8 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_POUND - anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0 - anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE - anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, -13, 0, 5, 0, $0 - anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 - anim_wait 16 - anim_ret -; ca8d5 - -BattleAnim_Growth: ; ca8d5 - anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 - anim_1gfx ANIM_GFX_CHARGE - anim_sound 0, 0, SFX_SWORDS_DANCE - anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $0 - anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $8 - anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $10 - anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $18 - anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $20 - anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $28 - anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $30 - anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $38 - anim_wait 64 - anim_ret -; ca909 - -BattleAnim_Conversion2: ; ca909 - anim_1gfx ANIM_GFX_EXPLOSION - anim_sound 63, 3, SFX_SHARPEN - anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $0 - anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $8 - anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $10 - anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $18 - anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $20 - anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $28 - anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $30 - anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $38 - anim_wait 128 - anim_wait 48 - anim_ret -; ca939 - -BattleAnim_Smokescreen: ; ca939 - anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE - anim_sound 6, 2, SFX_THROW_BALL - anim_obj ANIM_OBJ_75, 8, 0, 11, 4, $6c - anim_wait 24 - anim_incobj 1 - anim_sound 0, 1, SFX_BALL_POOF - anim_obj ANIM_OBJ_BALL_POOF, 13, 4, 8, 6, $10 - anim_wait 8 -.loop - anim_sound 0, 1, SFX_MENU - anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20 - anim_wait 8 - anim_loop 5, .loop - anim_wait 128 - anim_ret -; ca960 - -BattleAnim_Strength: ; ca960 - anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT - anim_bgeffect ANIM_BG_20, $10, $1, $20 - anim_sound 0, 0, SFX_STRENGTH - anim_obj ANIM_OBJ_1F, 8, 0, 13, 0, $1 - anim_wait 128 - anim_incobj 1 - anim_wait 20 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 - anim_wait 16 - anim_ret -; ca97e - -BattleAnim_SwordsDance: ; ca97e - anim_1gfx ANIM_GFX_WHIP - anim_sound 0, 0, SFX_SWORDS_DANCE - anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $0 - anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $d - anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $1a - anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $27 - anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $34 - anim_wait 56 - anim_ret -; ca99e - -BattleAnim_QuickAttack: ; ca99e - anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT - anim_sound 0, 0, SFX_MENU - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 - anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 - anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 - anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 - anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 - anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 - anim_wait 12 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 8 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 16 - anim_ret -; ca9d8 - -BattleAnim_Meditate: ; ca9d8 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_sound 0, 0, SFX_PSYBEAM - anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 - anim_wait 48 - anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER - anim_wait 48 - anim_call BattleAnim_ShowMon_0 - anim_ret -; ca9ed - -BattleAnim_Sharpen: ; ca9ed - anim_1gfx ANIM_GFX_SHAPES - anim_obp0 $e4 - anim_call BattleAnim_FollowEnemyFeet_0 - anim_sound 0, 0, SFX_SHARPEN - anim_bgeffect ANIM_BG_18, $0, $1, $40 - anim_obj ANIM_OBJ_78, 6, 0, 11, 0, $0 - anim_wait 96 - anim_incobj 2 - anim_incbgeffect ANIM_BG_18 - anim_call BattleAnim_ShowMon_0 - anim_ret -; caa0a - -BattleAnim_DefenseCurl: ; caa0a - anim_1gfx ANIM_GFX_SHAPES - anim_obp0 $e4 - anim_call BattleAnim_FollowEnemyFeet_0 - anim_sound 0, 0, SFX_SHARPEN - anim_bgeffect ANIM_BG_18, $0, $1, $40 - anim_obj ANIM_OBJ_79, 6, 0, 11, 0, $0 - anim_wait 96 - anim_incobj 2 - anim_incbgeffect ANIM_BG_18 - anim_call BattleAnim_ShowMon_0 - anim_ret -; caa27 - -BattleAnim_SeismicToss: ; caa27 - anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT - anim_bgeffect ANIM_BG_20, $10, $1, $20 - anim_sound 0, 0, SFX_STRENGTH - anim_obj ANIM_OBJ_20, 8, 0, 13, 0, $1 - anim_wait 128 - anim_incobj 1 - anim_wait 20 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 - anim_wait 16 - anim_ret -; caa45 - -BattleAnim_Rage: ; caa45 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1A, $0, $1, $20 - anim_sound 0, 0, SFX_RAGE - anim_wait 72 - anim_incbgeffect ANIM_BG_1A - anim_call BattleAnim_ShowMon_0 - anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE - anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 - anim_wait 16 - anim_ret -; caa74 - -BattleAnim_Agility: ; caa74 - anim_1gfx ANIM_GFX_WIND - anim_obp0 $fc - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_18, $0, $1, $40 - anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10 - anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2 - anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8 - anim_wait 4 - anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6 - anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c - anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4 - anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e -.loop - anim_sound 0, 0, SFX_RAZOR_WIND - anim_wait 4 - anim_loop 18, .loop - anim_incbgeffect ANIM_BG_18 - anim_call BattleAnim_ShowMon_0 - anim_ret -; caab2 - -BattleAnim_BoneClub: ; caab2 - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC - anim_obj ANIM_OBJ_68, 8, 0, 11, 0, $2 - anim_wait 32 - anim_sound 0, 1, SFX_BONE_CLUB - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; caac5 - -BattleAnim_Barrier: ; caac5 - anim_1gfx ANIM_GFX_REFLECT - anim_enemyfeetobj - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_wait 8 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 - anim_wait 32 - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 - anim_wait 32 - anim_ret -; caae1 - -BattleAnim_Waterfall: ; caae1 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_25, $0, $1, $0 - anim_wait 16 - anim_call BattleAnim_ShowMon_0 - anim_sound 0, 1, SFX_LICK - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 3 - anim_sound 0, 1, SFX_LICK - anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 - anim_wait 3 - anim_sound 0, 1, SFX_LICK - anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 - anim_wait 3 - anim_sound 0, 1, SFX_LICK - anim_obj ANIM_OBJ_01, -15, 0, 4, 0, $0 - anim_wait 3 - anim_sound 0, 1, SFX_LICK - anim_obj ANIM_OBJ_01, -15, 0, 3, 0, $0 - anim_wait 8 - anim_ret -; cab1d - -BattleAnim_PsychicM: ; cab1d - anim_1gfx ANIM_GFX_PSYCHIC - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 - anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 -.loop - anim_sound 6, 2, SFX_PSYCHIC - anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 - anim_wait 8 - anim_loop 8, .loop - anim_wait 96 - anim_incbgeffect ANIM_BG_PSYCHIC - anim_wait 4 - anim_ret -; cab3b - -BattleAnim_Sludge: ; cab3b - anim_1gfx ANIM_GFX_POISON - anim_call BattleAnim_Sludge_branch_cbc15 - anim_wait 56 - anim_ret -; cab42 - -BattleAnim_Toxic: ; cab42 - anim_1gfx ANIM_GFX_POISON - anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0 - anim_call BattleAnim_Toxic_branch_cbc35 - anim_wait 32 - anim_call BattleAnim_Toxic_branch_cbc15 - anim_wait 64 - anim_ret -; cab52 - -BattleAnim_Metronome: ; cab52 - anim_2gfx ANIM_GFX_MISC, ANIM_GFX_SPEED - anim_sound 0, 0, SFX_METRONOME - anim_obj ANIM_OBJ_7A, 9, 0, 11, 0, $0 -.loop - anim_obj ANIM_OBJ_7B, 9, 0, 10, 0, $0 - anim_wait 8 - anim_loop 5, .loop - anim_wait 48 - anim_ret -; cab69 - -BattleAnim_Counter: ; cab69 - anim_1gfx ANIM_GFX_HIT -.loop - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 - anim_sound 0, 1, SFX_POUND - anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0 - anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 - anim_wait 6 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_06, -15, 0, 5, 0, $0 - anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0 - anim_wait 6 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 - anim_sound 0, 1, SFX_MEGA_KICK - anim_obj ANIM_OBJ_07, -13, 0, 7, 0, $0 - anim_obj ANIM_OBJ_00, -13, 0, 7, 0, $0 - anim_wait 6 - anim_loop 3, .loop - anim_wait 16 - anim_ret -; cabaa - -BattleAnim_LowKick: ; cabaa - anim_1gfx ANIM_GFX_HIT - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, 15, 4, 8, 0, $0 - anim_obj ANIM_OBJ_00, 15, 4, 8, 0, $0 - anim_wait 6 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, -16, 4, 8, 0, $0 - anim_obj ANIM_OBJ_00, -16, 4, 8, 0, $0 - anim_wait 6 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, -15, 4, 8, 0, $0 - anim_obj ANIM_OBJ_00, -15, 4, 8, 0, $0 - anim_wait 16 - anim_ret -; cabe6 - -BattleAnim_WingAttack: ; cabe6 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_WING_ATTACK - anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0 - anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_WING_ATTACK - anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0 - anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_WING_ATTACK - anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0 - anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0 - anim_wait 16 - anim_ret -; cac13 - -BattleAnim_Slam: ; cac13 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_WING_ATTACK - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2 - anim_obj ANIM_OBJ_01, 15, 4, 5, 0, $0 - anim_wait 16 - anim_ret -; cac24 - -BattleAnim_Disable: ; cac24 - anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_obj ANIM_OBJ_7C, -16, 4, 7, 0, $0 - anim_wait 16 - anim_sound 0, 1, SFX_BIND - anim_obj ANIM_OBJ_PARALYZED, 13, 0, 7, 0, $42 - anim_obj ANIM_OBJ_PARALYZED, -12, 0, 7, 0, $c2 - anim_wait 96 - anim_ret -; cac41 - -BattleAnim_TailWhip: ; cac41 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_0 - anim_sound 0, 0, SFX_TAIL_WHIP - anim_bgeffect ANIM_BG_26, $0, $1, $0 - anim_wait 32 - anim_incbgeffect ANIM_BG_26 - anim_call BattleAnim_ShowMon_0 - anim_ret -; cac55 - -BattleAnim_Struggle: ; cac55 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 1, SFX_POUND - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; cac61 - -BattleAnim_Sketch: ; cac61 - anim_1gfx ANIM_GFX_OBJECTS - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1A, $0, $1, $20 - anim_sound 0, 0, SFX_SKETCH - anim_obj ANIM_OBJ_98, 9, 0, 10, 0, $0 - anim_wait 80 - anim_incbgeffect ANIM_BG_1A - anim_call BattleAnim_ShowMon_0 - anim_wait 1 - anim_ret -; cac7b - -BattleAnim_TripleKick: ; cac7b - anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_TripleKick_branch_cac95 - anim_if_param_equal $2, BattleAnim_TripleKick_branch_caca5 - anim_sound 0, 1, SFX_MEGA_KICK - anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 - anim_wait 8 - anim_ret -; cac95 - -BattleAnim_TripleKick_branch_cac95: ; cac95 - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 - anim_wait 8 - anim_ret -; caca5 - -BattleAnim_TripleKick_branch_caca5: ; caca5 - anim_sound 0, 1, SFX_DOUBLE_KICK - anim_obj ANIM_OBJ_07, -16, 4, 4, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -16, 4, 4, 0, $0 - anim_wait 8 - anim_ret -; cacb5 - -BattleAnim_Thief: ; cacb5 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 16 - anim_sound 0, 1, SFX_THIEF - anim_obj ANIM_OBJ_01, 16, 0, 6, 0, $0 - anim_wait 16 - anim_call BattleAnim_ShowMon_0 - anim_wait 1 - anim_1gfx ANIM_GFX_STATUS - anim_sound 0, 1, SFX_THIEF_2 - anim_obj ANIM_OBJ_8B, 15, 0, 9, 4, $1 - anim_wait 64 - anim_ret -; cacd9 - -BattleAnim_SpiderWeb: ; cacd9 - anim_1gfx ANIM_GFX_WEB - anim_bgeffect ANIM_BG_07, $0, $2, $0 - anim_obj ANIM_OBJ_92, -16, 4, 6, 0, $0 - anim_sound 6, 2, SFX_SPIDER_WEB - anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0 - anim_wait 4 - anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0 - anim_wait 4 - anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0 - anim_wait 64 - anim_ret -; cacfb - -BattleAnim_MindReader: ; cacfb - anim_1gfx ANIM_GFX_MISC - anim_sound 0, 1, SFX_MIND_READER -.loop - anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $3 - anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $12 - anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $20 - anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $31 - anim_wait 16 - anim_loop 2, .loop - anim_wait 32 - anim_ret -; cad1b - -BattleAnim_Nightmare: ; cad1b - anim_1gfx ANIM_GFX_ANGELS - anim_bgp $1b - anim_obp0 $f - anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $0 - anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $a0 - anim_sound 0, 1, SFX_NIGHTMARE - anim_wait 96 - anim_ret -; cad30 - -BattleAnim_FlameWheel: ; cad30 - anim_1gfx ANIM_GFX_FIRE -.loop - anim_sound 0, 0, SFX_EMBER - anim_obj ANIM_OBJ_7F, 6, 0, 12, 0, $0 - anim_wait 6 - anim_loop 8, .loop - anim_wait 96 - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 4 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 - anim_sound 0, 1, SFX_EMBER - anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1 - anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4 - anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5 - anim_wait 8 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 - anim_wait 4 - anim_incobj 9 - anim_wait 8 - anim_ret -; cad6b - -BattleAnim_Snore: ; cad6b - anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE - anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 - anim_wait 32 - anim_bgeffect ANIM_BG_1F, $60, $2, $0 - anim_sound 0, 0, SFX_SNORE -.loop - anim_call BattleAnim_Snore_branch_cbbbc - anim_wait 16 - anim_loop 2, .loop - anim_wait 8 - anim_ret -; cad86 - -BattleAnim_Curse: ; cad86 - anim_if_param_equal $1, .NotGhost - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS - anim_obj ANIM_OBJ_A5, 8, 4, 9, 0, $0 - anim_sound 0, 0, SFX_CURSE - anim_wait 32 - anim_incobj 1 - anim_wait 12 - anim_sound 0, 0, SFX_POISON_STING - anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0 - anim_wait 16 - anim_ret -; cada3 - -.NotGhost: ; cada3 - anim_1gfx ANIM_GFX_SPEED - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_19, $0, $1, $40 - anim_sound 0, 0, SFX_SHARPEN - anim_wait 64 - anim_incbgeffect ANIM_BG_19 - anim_wait 1 - anim_bgeffect ANIM_BG_16, $0, $1, $40 -.loop - anim_sound 0, 0, SFX_SWORDS_DANCE - anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 - anim_wait 2 - anim_loop 3, .loop - anim_wait 8 - anim_incbgeffect ANIM_BG_16 - anim_call BattleAnim_ShowMon_0 - anim_ret -; cadf1 - -BattleAnim_Flail: ; cadf1 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_sound 0, 0, SFX_SUBMISSION - anim_bgeffect ANIM_BG_2C, $0, $1, $0 - anim_wait 8 - anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 - anim_wait 8 - anim_incbgeffect ANIM_BG_2C - anim_call BattleAnim_ShowMon_0 - anim_ret -; cae17 - -BattleAnim_Conversion: ; cae17 - anim_1gfx ANIM_GFX_EXPLOSION - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 - anim_sound 63, 3, SFX_SHARPEN - anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $0 - anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $8 - anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $10 - anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $18 - anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $20 - anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $28 - anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $30 - anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $38 - anim_wait 128 - anim_ret -; cae4b - -BattleAnim_Aeroblast: ; cae4b - anim_2gfx ANIM_GFX_BEAM, ANIM_GFX_AEROBLAST - anim_bgp $1b - anim_bgeffect ANIM_BG_1F, $50, $4, $10 - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_sound 0, 0, SFX_AEROBLAST - anim_obj ANIM_OBJ_B3, 9, 0, 11, 0, $0 - anim_wait 32 - anim_sound 0, 0, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0 - anim_wait 2 - anim_sound 0, 1, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0 - anim_wait 2 - anim_sound 0, 1, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0 - anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0 - anim_wait 48 - anim_ret -; cae84 - -BattleAnim_CottonSpore: ; cae84 - anim_obp0 $54 - anim_1gfx ANIM_GFX_MISC - anim_sound 0, 1, SFX_POWDER -.loop ; cae8b - anim_obj ANIM_OBJ_COTTON_SPORE, -16, 4, 4, 0, $0 - anim_wait 8 - anim_loop 5, .loop - anim_wait 96 - anim_ret -; cae97 - -BattleAnim_Reversal: ; cae97 - anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_HIT - anim_bgeffect ANIM_BG_07, $0, $0, $0 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_04, 14, 0, 8, 0, $0 - anim_wait 2 - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_A7, 15, 0, 7, 0, $0 - anim_wait 2 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_04, 16, 0, 7, 0, $0 - anim_wait 2 - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_A7, -15, 0, 6, 0, $0 - anim_wait 2 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_04, -14, 0, 6, 0, $0 - anim_wait 2 - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_A7, -13, 0, 5, 0, $0 - anim_wait 24 - anim_ret -; caed6 - -BattleAnim_Spite: ; caed6 - anim_1gfx ANIM_GFX_ANGELS - anim_obj ANIM_OBJ_A4, -16, 4, 2, 0, $0 - anim_sound 0, 1, SFX_SPITE - anim_wait 96 - anim_ret -; caee2 - -BattleAnim_PowderSnow: ; caee2 - anim_1gfx ANIM_GFX_ICE -.loop ; caee4 - anim_sound 6, 2, SFX_SHINE - anim_obj ANIM_OBJ_8F, 8, 0, 11, 0, $23 - anim_wait 2 - anim_sound 6, 2, SFX_SHINE - anim_obj ANIM_OBJ_8F, 8, 0, 10, 0, $24 - anim_wait 2 - anim_sound 6, 2, SFX_SHINE - anim_obj ANIM_OBJ_8F, 8, 0, 12, 0, $23 - anim_wait 2 - anim_loop 2, .loop - anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 - anim_wait 40 - anim_call BattleAnim_PowderSnow_branch_cbbdf - anim_wait 32 - anim_ret -; caf0e - -BattleAnim_Protect: ; caf0e - anim_1gfx ANIM_GFX_OBJECTS - anim_bgeffect ANIM_BG_07, $0, $2, $0 - anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $0 - anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $d - anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $1a - anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $27 - anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $34 - anim_sound 0, 0, SFX_PROTECT - anim_wait 96 - anim_ret -; caf33 - -BattleAnim_MachPunch: ; caf33 - anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_sound 0, 0, SFX_MENU - anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 - anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 - anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 - anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 - anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 - anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 - anim_wait 12 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 - anim_wait 6 - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 8 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 16 - anim_ret -; caf73 - -BattleAnim_ScaryFace: ; caf73 - anim_1gfx ANIM_GFX_BEAM - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_call BattleAnim_ScaryFace_branch_cbadc - anim_wait 64 - anim_ret -; caf84 - -BattleAnim_FaintAttack: ; caf84 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 0, SFX_CURSE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1D, $0, $1, $80 - anim_wait 96 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_04, 15, 0, 4, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_04, -13, 0, 5, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 - anim_wait 32 - anim_incbgeffect ANIM_BG_1D - anim_call BattleAnim_ShowMon_0 - anim_wait 4 - anim_ret -; cafb4 - -BattleAnim_SweetKiss: ; cafb4 - anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS - anim_bgeffect ANIM_BG_07, $0, $2, $0 - anim_obj ANIM_OBJ_97, 12, 0, 5, 0, $0 - anim_sound 0, 1, SFX_SWEET_KISS - anim_wait 32 - anim_sound 0, 1, SFX_SWEET_KISS_2 - anim_obj ANIM_OBJ_HEART, 15, 0, 5, 0, $0 - anim_wait 40 - anim_ret -; cafcf - -BattleAnim_BellyDrum: ; cafcf - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_NOISE - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 24 - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 24 - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 12 - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 12 - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 24 - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 12 - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 12 - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 12 - anim_sound 0, 0, SFX_BELLY_DRUM - anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 - anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 - anim_wait 12 - anim_ret -; cb051 - -BattleAnim_SludgeBomb: ; cb051 - anim_2gfx ANIM_GFX_EGG, ANIM_GFX_POISON - anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0 - anim_sound 6, 2, SFX_SLUDGE_BOMB - anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10 - anim_wait 36 - anim_call BattleAnim_SludgeBomb_branch_cbc15 - anim_wait 64 - anim_ret -; cb067 - -BattleAnim_MudSlap: ; cb067 - anim_1gfx ANIM_GFX_SAND - anim_obp0 $fc - anim_call BattleAnim_MudSlap_branch_cbc5b - anim_ret -; cb06f - -BattleAnim_Octazooka: ; cb06f - anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE - anim_sound 6, 2, SFX_SLUDGE_BOMB - anim_obj ANIM_OBJ_8C, 8, 0, 11, 4, $4 - anim_wait 16 - anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10 - anim_wait 8 - anim_if_param_equal $0, .done -.loop - anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20 - anim_wait 8 - anim_loop 5, .loop - anim_wait 128 -.done - anim_ret -; cb092 - -BattleAnim_Spikes: ; cb092 - anim_1gfx ANIM_GFX_MISC - anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $20 - anim_wait 8 - anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $30 - anim_wait 8 - anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $28 - anim_wait 64 - anim_ret -; cb0b0 - -BattleAnim_ZapCannon: ; cb0b0 - anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION - anim_bgp $1b - anim_obp0 $30 - anim_sound 6, 2, SFX_ZAP_CANNON - anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2 - anim_wait 40 - anim_sound 0, 1, SFX_THUNDERSHOCK - anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 - anim_wait 16 - anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0 - anim_wait 128 - anim_ret -; cb0d0 - -BattleAnim_Foresight: ; cb0d0 - anim_1gfx ANIM_GFX_SHINE - anim_call BattleAnim_FollowEnemyFeet_1 - anim_bgeffect ANIM_BG_07, $0, $0, $0 - anim_sound 0, 1, SFX_FORESIGHT - anim_obj ANIM_OBJ_A7, -16, 4, 5, 0, $0 - anim_wait 24 - anim_bgeffect ANIM_BG_19, $0, $0, $40 - anim_wait 64 - anim_incbgeffect ANIM_BG_19 - anim_call BattleAnim_ShowMon_1 - anim_wait 8 - anim_ret -; cb0f0 - -BattleAnim_DestinyBond: ; cb0f0 - anim_1gfx ANIM_GFX_ANGELS - anim_bgp $1b - anim_obp0 $0 - anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104 - anim_sound 6, 2, SFX_WHIRLWIND - anim_obj ANIM_OBJ_9B, 5, 4, 15, 0, $2 - anim_wait 128 - anim_ret -; cb104 - -BattleAnim_DestinyBond_branch_cb104: ; cb104 - anim_obj ANIM_OBJ_9B, -16, 4, 9, 4, $0 - anim_sound 0, 1, SFX_KINESIS - anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 - anim_wait 32 - anim_ret -; cb113 - -BattleAnim_PerishSong: ; cb113 - anim_1gfx ANIM_GFX_NOISE - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 - anim_sound 0, 2, SFX_PERISH_SONG - anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $0 - anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $8 - anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $10 - anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $18 - anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $20 - anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $28 - anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $30 - anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $38 - anim_wait 112 - anim_ret -; cb14c - -BattleAnim_IcyWind: ; cb14c - anim_1gfx ANIM_GFX_SPEED - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 - anim_playerheadobj - anim_sound 0, 0, SFX_PSYCHIC -.loop - anim_wait 8 - anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4 - anim_wait 8 - anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4 - anim_wait 8 - anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4 - anim_wait 8 - anim_loop 2, .loop - anim_wait 16 - anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0 - anim_wait 6 - anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 - anim_wait 64 - anim_incbgeffect ANIM_BG_NIGHT_SHADE - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 4 - anim_incobj 7 - anim_wait 1 - anim_ret -; cb18c - -BattleAnim_Detect: ; cb18c - anim_1gfx ANIM_GFX_SHINE - anim_bgeffect ANIM_BG_07, $0, $0, $0 - anim_sound 0, 0, SFX_FORESIGHT - anim_obj ANIM_OBJ_A7, 8, 0, 11, 0, $0 - anim_wait 24 - anim_ret -; cb19d - -BattleAnim_BoneRush: ; cb19d - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC - anim_sound 0, 1, SFX_BONE_CLUB - anim_obj ANIM_OBJ_69, -16, 4, 7, 0, $2 - anim_wait 16 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 - anim_wait 16 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $0 - anim_wait 16 - anim_ret -; cb1bc - -BattleAnim_LockOn: ; cb1bc - anim_1gfx ANIM_GFX_MISC - anim_sound 0, 1, SFX_MIND_READER -.loop - anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $3 - anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $12 - anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $20 - anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $31 - anim_wait 16 - anim_loop 2, .loop - anim_wait 32 - anim_ret -; cb1dc - -BattleAnim_Outrage: ; cb1dc - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1A, $0, $1, $20 - anim_sound 0, 0, SFX_OUTRAGE - anim_wait 72 - anim_incbgeffect ANIM_BG_1A - anim_call BattleAnim_ShowMon_0 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 - anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE - anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 - anim_wait 16 - anim_ret -; cb210 - -BattleAnim_Sandstorm: ; cb210 - anim_1gfx ANIM_GFX_POWDER - anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1 - anim_wait 8 - anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2 -.loop - anim_sound 0, 1, SFX_MENU - anim_wait 8 - anim_loop 16, .loop - anim_wait 8 - anim_ret -; cb22d - -BattleAnim_GigaDrain: ; cb22d - anim_2gfx ANIM_GFX_BUBBLE, ANIM_GFX_CHARGE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1C, $0, $0, $10 - anim_sound 6, 3, SFX_GIGA_DRAIN - anim_call BattleAnim_GigaDrain_branch_cbab3 - anim_wait 48 - anim_wait 128 - anim_incbgeffect ANIM_BG_1C - anim_call BattleAnim_ShowMon_0 - anim_wait 1 - anim_1gfx ANIM_GFX_SHINE - anim_bgeffect ANIM_BG_07, $0, $0, $0 -.loop - anim_sound 0, 0, SFX_METRONOME - anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0 - anim_wait 5 - anim_loop 2, .loop - anim_wait 32 - anim_ret -; cb274 - -BattleAnim_Endure: ; cb274 - anim_1gfx ANIM_GFX_SPEED - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1A, $0, $1, $20 - anim_bgeffect ANIM_BG_07, $0, $2, $0 -.loop - anim_sound 0, 0, SFX_SWORDS_DANCE - anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 - anim_wait 2 - anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 - anim_wait 2 - anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 - anim_wait 2 - anim_loop 5, .loop - anim_wait 8 - anim_incbgeffect ANIM_BG_1A - anim_call BattleAnim_ShowMon_0 - anim_ret -; cb2bb - -BattleAnim_Charm: ; cb2bb - anim_1gfx ANIM_GFX_OBJECTS - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_26, $0, $1, $0 - anim_sound 0, 0, SFX_ATTRACT - anim_obj ANIM_OBJ_HEART, 8, 0, 10, 0, $0 - anim_wait 32 - anim_incbgeffect ANIM_BG_26 - anim_call BattleAnim_ShowMon_0 - anim_wait 4 - anim_ret -; cb2d5 - -BattleAnim_Rollout: ; cb2d5 - anim_1gfx ANIM_GFX_HIT - anim_sound 0, 0, SFX_SPARK - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_2E, $60, $1, $1 - anim_bgeffect ANIM_BG_25, $0, $1, $0 - anim_wait 4 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0 - anim_wait 8 - anim_call BattleAnim_ShowMon_0 - anim_ret -; cb2f5 - -BattleAnim_FalseSwipe: ; cb2f5 - anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_CUT - anim_bgeffect ANIM_BG_07, $0, $0, $0 - anim_sound 0, 1, SFX_CUT - anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 - anim_wait 4 - anim_obj ANIM_OBJ_9D, -15, 0, 5, 0, $0 - anim_wait 32 - anim_ret -; cb30d - -BattleAnim_Swagger: ; cb30d - anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND -.loop - anim_sound 0, 0, SFX_MENU - anim_obj ANIM_OBJ_A9, 9, 0, 11, 0, $44 - anim_wait 32 - anim_loop 2, .loop - anim_wait 32 - anim_sound 0, 1, SFX_KINESIS_2 - anim_obj ANIM_OBJ_83, 13, 0, 5, 0, $0 - anim_wait 40 - anim_ret -; cb328 - -BattleAnim_MilkDrink: ; cb328 - anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_obj ANIM_OBJ_82, 9, 2, 13, 0, $0 - anim_wait 16 - anim_bgeffect ANIM_BG_18, $0, $1, $40 - anim_sound 0, 0, SFX_MILK_DRINK -.loop - anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20 - anim_wait 8 - anim_loop 8, .loop - anim_wait 128 - anim_incbgeffect ANIM_BG_18 - anim_call BattleAnim_ShowMon_0 - anim_ret -; cb34d - -BattleAnim_Spark: ; cb34d - anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION - anim_sound 0, 0, SFX_ZAP_CANNON - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 - anim_obj ANIM_OBJ_30, 6, 0, 11, 4, $0 - anim_wait 24 - anim_setobj $1, $3 - anim_wait 1 - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_sound 0, 0, SFX_SPARK - anim_wait 16 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 - anim_wait 4 - anim_incobj 2 - anim_wait 1 - anim_sound 0, 1, SFX_THUNDERSHOCK - anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 - anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0 - anim_wait 32 - anim_ret -; cb386 - -BattleAnim_FuryCutter: ; cb386 - anim_1gfx ANIM_GFX_CUT -.loop - anim_sound 0, 1, SFX_CUT - anim_if_param_and %00000001, .obj1 - anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 - anim_jump .okay - -.obj1 - anim_obj ANIM_OBJ_3B, 14, 0, 5, 0, $0 -.okay - anim_wait 16 - anim_jumpuntil .loop - anim_ret -; cb3a1 - -BattleAnim_SteelWing: ; cb3a1 - anim_1gfx ANIM_GFX_REFLECT - anim_obp0 $0 - anim_sound 0, 0, SFX_RAGE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_call BattleAnim_SteelWing_branch_cbc43 - anim_call BattleAnim_ShowMon_0 - anim_1gfx ANIM_GFX_HIT - anim_resetobp0 - anim_sound 0, 1, SFX_WING_ATTACK - anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0 - anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_WING_ATTACK - anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0 - anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_WING_ATTACK - anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0 - anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0 - anim_wait 16 - anim_ret -; cb3df - -BattleAnim_MeanLook: ; cb3df - anim_1gfx ANIM_GFX_PSYCHIC - anim_obp0 $e0 - anim_sound 0, 1, SFX_MEAN_LOOK - anim_obj ANIM_OBJ_AC, -14, 4, 4, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_AC, 14, 4, 8, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_AC, -14, 4, 8, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_AC, 14, 4, 4, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_AC, -16, 4, 6, 0, $0 - anim_wait 128 - anim_ret -; cb405 - -BattleAnim_Attract: ; cb405 - anim_1gfx ANIM_GFX_OBJECTS -.loop - anim_sound 0, 0, SFX_ATTRACT - anim_obj ANIM_OBJ_66, 5, 4, 10, 0, $2 - anim_wait 8 - anim_loop 5, .loop - anim_wait 128 - anim_wait 64 - anim_ret -; cb417 - -BattleAnim_SleepTalk: ; cb417 - anim_1gfx ANIM_GFX_STATUS -.loop - anim_sound 0, 0, SFX_STRENGTH - anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 - anim_wait 40 - anim_loop 2, .loop - anim_wait 32 - anim_ret -; cb428 - -BattleAnim_HealBell: ; cb428 - anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE - anim_obj ANIM_OBJ_84, 9, 0, 7, 0, $0 - anim_wait 32 -.loop - anim_sound 0, 0, SFX_HEAL_BELL - anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0 - anim_wait 8 - anim_sound 0, 0, SFX_HEAL_BELL - anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $1 - anim_wait 8 - anim_sound 0, 0, SFX_HEAL_BELL - anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2 - anim_wait 8 - anim_sound 0, 0, SFX_HEAL_BELL - anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0 - anim_wait 8 - anim_sound 0, 0, SFX_HEAL_BELL - anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2 - anim_wait 8 - anim_loop 4, .loop - anim_wait 64 - anim_ret -; cb464 - -BattleAnim_Return: ; cb464 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 - anim_sound 0, 0, SFX_RETURN - anim_wait 64 - anim_incbgeffect ANIM_BG_BOUNCE_DOWN - anim_wait 32 - anim_bgeffect ANIM_BG_25, $0, $1, $0 - anim_wait 4 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0 - anim_wait 8 - anim_call BattleAnim_ShowMon_0 - anim_ret -; cb488 - -BattleAnim_Present: ; cb488 - anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE - anim_sound 0, 1, SFX_PRESENT - anim_obj ANIM_OBJ_8D, 8, 0, 11, 0, $6c - anim_wait 56 - anim_obj ANIM_OBJ_53, 13, 0, 6, 0, $0 - anim_wait 48 - anim_incobj 2 - anim_if_param_equal $3, .heal - anim_incobj 1 - anim_wait 1 - anim_1gfx ANIM_GFX_EXPLOSION - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 -.loop - anim_call BattleAnim_Present_branch_cbb8f - anim_wait 16 - anim_jumpuntil .loop - anim_ret - -.heal - anim_sound 0, 1, SFX_METRONOME -.loop2 - anim_obj ANIM_OBJ_2C, -16, 4, 6, 0, $24 - anim_wait 8 - anim_loop 8, .loop2 - anim_wait 128 - anim_ret -; cb4c1 - -BattleAnim_Frustration: ; cb4c1 - anim_1gfx ANIM_GFX_MISC - anim_sound 0, 0, SFX_KINESIS_2 - anim_obj ANIM_OBJ_83, 9, 0, 10, 0, $0 - anim_wait 40 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_26, $0, $1, $0 - anim_wait 8 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 - anim_wait 8 - anim_incbgeffect ANIM_BG_26 - anim_wait 1 - anim_call BattleAnim_ShowMon_0 - anim_ret -; cb4f9 - -BattleAnim_Safeguard: ; cb4f9 - anim_1gfx ANIM_GFX_MISC - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $0 - anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $d - anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $1a - anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $27 - anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $34 - anim_sound 0, 0, SFX_PROTECT - anim_wait 96 - anim_ret -; cb51e - -BattleAnim_PainSplit: ; cb51e - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_25, $0, $1, $0 - anim_wait 4 - anim_sound 0, 1, SFX_TACKLE - anim_obj ANIM_OBJ_04, 14, 0, 6, 0, $0 - anim_obj ANIM_OBJ_04, 9, 4, 12, 0, $0 - anim_wait 8 - anim_call BattleAnim_ShowMon_0 - anim_wait 1 - anim_ret -; cb53d - -BattleAnim_SacredFire: ; cb53d - anim_1gfx ANIM_GFX_FIRE - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 -.loop - anim_sound 0, 0, SFX_EMBER - anim_obj ANIM_OBJ_80, 6, 0, 13, 0, $0 - anim_wait 8 - anim_loop 8, .loop - anim_wait 96 - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 4 - anim_sound 0, 1, SFX_EMBER - anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1 - anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4 - anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5 - anim_wait 8 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 - anim_wait 4 - anim_incobj 9 - anim_wait 8 - anim_ret -; cb57d - -BattleAnim_Magnitude: ; cb57d - anim_1gfx ANIM_GFX_ROCKS -.loop - anim_bgeffect ANIM_BG_1F, $e, $4, $0 - anim_sound 0, 1, SFX_STRENGTH - anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 - anim_wait 2 - anim_obj ANIM_OBJ_1E, 15, 0, 8, 4, $30 - anim_wait 2 - anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 - anim_wait 2 - anim_obj ANIM_OBJ_1E, -14, 0, 8, 0, $40 - anim_wait 2 - anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 - anim_wait 2 - anim_jumpuntil .loop - anim_wait 96 - anim_ret -; cb5aa - -BattleAnim_Dynamicpunch: ; cb5aa - anim_2gfx ANIM_GFX_HIT, ANIM_GFX_EXPLOSION - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 - anim_wait 16 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 - anim_call BattleAnim_Dynamicpunch_branch_cbb8f - anim_wait 16 - anim_ret -; cb5c0 - -BattleAnim_Megahorn: ; cb5c0 - anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT - anim_bgeffect ANIM_BG_1F, $40, $2, $0 - anim_wait 48 - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 - anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1 - anim_sound 0, 1, SFX_HORN_ATTACK - anim_wait 16 - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; cb5de - -BattleAnim_Dragonbreath: ; cb5de - anim_1gfx ANIM_GFX_FIRE - anim_sound 6, 2, SFX_EMBER -.loop - anim_obj ANIM_OBJ_90, 8, 0, 11, 4, $4 - anim_wait 4 - anim_loop 10, .loop - anim_wait 64 - anim_ret -; cb5ef - -BattleAnim_BatonPass: ; cb5ef - anim_1gfx ANIM_GFX_MISC - anim_obj ANIM_OBJ_86, 5, 4, 13, 0, $20 - anim_sound 0, 0, SFX_BATON_PASS - anim_call BattleAnim_BatonPass_branch_c9486 - anim_wait 64 - anim_ret -; cb5fe - -BattleAnim_Encore: ; cb5fe - anim_1gfx ANIM_GFX_OBJECTS - anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $90 - anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $10 - anim_sound 0, 0, SFX_ENCORE - anim_wait 16 - anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $2c - anim_wait 32 - anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $34 - anim_wait 16 - anim_ret -; cb61b - -BattleAnim_Pursuit: ; cb61b - anim_1gfx ANIM_GFX_HIT - anim_if_param_equal $1, BattleAnim_Pursuit_branch_cb62b - anim_sound 0, 1, SFX_COMET_PUNCH - anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 - anim_wait 16 - anim_ret -; cb62b - -BattleAnim_Pursuit_branch_cb62b: ; cb62b - anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0 - anim_wait 4 - anim_call BattleAnim_FollowEnemyFeet_1 - anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $0 - anim_wait 64 - anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $1 - anim_sound 0, 1, SFX_BALL_POOF - anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0 - anim_wait 64 - anim_incobj 3 - anim_wait 16 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_00, 15, 0, 7, 0, $0 - anim_bgeffect ANIM_BG_2D, $0, $0, $0 - anim_wait 16 - anim_call BattleAnim_ShowMon_1 - anim_wait 1 - anim_ret -; cb65e - -BattleAnim_RapidSpin: ; cb65e - anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT - anim_obp0 $e4 -.loop - anim_sound 0, 0, SFX_MENU - anim_obj ANIM_OBJ_A8, 5, 4, 14, 0, $0 - anim_wait 2 - anim_loop 5, .loop - anim_wait 24 - anim_call BattleAnim_FollowPlayerHead_0 - anim_bgeffect ANIM_BG_25, $0, $1, $0 - anim_wait 4 - anim_resetobp0 - anim_sound 0, 1, SFX_MEGA_KICK - anim_obj ANIM_OBJ_04, -15, 0, 5, 0, $0 - anim_wait 8 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 - anim_wait 4 - anim_incobj 6 - anim_wait 1 - anim_ret -; cb68e - -BattleAnim_SweetScent: ; cb68e - anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC - anim_sound 0, 0, SFX_SWEET_SCENT - anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2 - anim_wait 2 - anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2 - anim_wait 96 - anim_obp0 $54 - anim_sound 0, 1, SFX_SWEET_SCENT_2 - anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15 - anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a - anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f - anim_wait 128 - anim_ret -; cb6b6 - -BattleAnim_IronTail: ; cb6b6 - anim_1gfx ANIM_GFX_REFLECT - anim_obp0 $0 - anim_sound 0, 0, SFX_RAGE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_call BattleAnim_IronTail_branch_cbc43 - anim_wait 4 - anim_1gfx ANIM_GFX_HIT - anim_resetobp0 - anim_bgeffect ANIM_BG_26, $0, $1, $0 - anim_wait 16 - anim_sound 0, 1, SFX_MEGA_KICK - anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 - anim_wait 16 - anim_incbgeffect ANIM_BG_26 - anim_call BattleAnim_ShowMon_0 - anim_ret -; cb6dc - -BattleAnim_MetalClaw: ; cb6dc - anim_1gfx ANIM_GFX_REFLECT - anim_obp0 $0 - anim_sound 0, 0, SFX_RAGE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_call BattleAnim_MetalClaw_branch_cbc43 - anim_call BattleAnim_ShowMon_0 - anim_1gfx ANIM_GFX_CUT - anim_resetobp0 - anim_sound 0, 1, SFX_SCRATCH - anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 - anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 - anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 - anim_wait 32 - anim_ret -; cb703 - -BattleAnim_VitalThrow: ; cb703 - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_2F, $0, $1, $0 - anim_wait 16 - anim_sound 0, 0, SFX_MENU - anim_obj ANIM_OBJ_04, 8, 0, 12, 0, $0 - anim_wait 8 - anim_sound 0, 0, SFX_MENU - anim_obj ANIM_OBJ_04, 7, 0, 11, 0, $0 - anim_wait 8 - anim_sound 0, 0, SFX_MENU - anim_obj ANIM_OBJ_04, 8, 4, 13, 0, $0 - anim_wait 8 - anim_incbgeffect ANIM_BG_2F - anim_wait 16 - anim_call BattleAnim_ShowMon_0 - anim_sound 0, 1, SFX_MEGA_PUNCH - anim_obj ANIM_OBJ_03, -16, 4, 7, 0, $0 - anim_wait 16 - anim_ret -; cb739 - -BattleAnim_MorningSun: ; cb739 - anim_1gfx ANIM_GFX_SHINE - anim_bgeffect ANIM_BG_07, $0, $0, $0 - anim_sound 0, 0, SFX_MORNING_SUN -.loop - anim_obj ANIM_OBJ_9C, 2, 0, 6, 0, $88 - anim_wait 6 - anim_loop 5, .loop - anim_wait 32 - anim_if_param_equal 0, .zero - anim_call BattleAnim_MorningSun_branch_cbc6a - anim_ret -; cb756 - -.zero - anim_call BattleAnim_MorningSun_branch_cbc80 - anim_ret -; cb75a - -BattleAnim_Synthesis: ; cb75a - anim_1gfx ANIM_GFX_SHINE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_18, $0, $1, $40 - anim_bgeffect ANIM_BG_07, $0, $0, $0 - anim_sound 0, 0, SFX_OUTRAGE - anim_wait 72 - anim_incbgeffect ANIM_BG_18 - anim_call BattleAnim_ShowMon_0 - anim_if_param_equal $1, .one - anim_call BattleAnim_Synthesis_branch_cbc6a - anim_ret -; cb77a - -.one - anim_call BattleAnim_Synthesis_branch_cbc80 - anim_ret -; cb77e - -BattleAnim_Crunch: ; cb77e - anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT - anim_bgp $1b - anim_obp0 $c0 - anim_bgeffect ANIM_BG_1F, $20, $2, $0 - anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $a8 - anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $28 - anim_wait 8 - anim_sound 0, 1, SFX_BITE - anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $18 - anim_wait 16 - anim_sound 0, 1, SFX_BITE - anim_obj ANIM_OBJ_00, 16, 0, 8, 0, $18 - anim_wait 8 - anim_ret -; cb7a8 - -BattleAnim_Moonlight: ; cb7a8 - anim_1gfx ANIM_GFX_SHINE - anim_bgp $1b - anim_bgeffect ANIM_BG_07, $0, $0, $0 - anim_obj ANIM_OBJ_9E, 0, 0, 5, 0, $0 - anim_obj ANIM_OBJ_9E, 2, 0, 7, 0, $0 - anim_obj ANIM_OBJ_9E, 4, 0, 9, 0, $0 - anim_obj ANIM_OBJ_9E, 6, 0, 11, 0, $0 - anim_obj ANIM_OBJ_9E, 8, 0, 13, 0, $0 - anim_wait 1 - anim_sound 0, 0, SFX_MOONLIGHT - anim_wait 63 - anim_if_param_equal $3, .three - anim_call BattleAnim_Moonlight_branch_cbc6a - anim_ret - -.three - anim_call BattleAnim_Moonlight_branch_cbc80 - anim_ret -; cb7db - -BattleAnim_HiddenPower: ; cb7db - anim_1gfx ANIM_GFX_CHARGE - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1A, $0, $1, $20 - anim_bgeffect ANIM_BG_07, $0, $2, $0 - anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $0 - anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $8 - anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $10 - anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $18 - anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $20 - anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $28 - anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $30 - anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $38 -.loop - anim_sound 0, 0, SFX_SWORDS_DANCE - anim_wait 8 - anim_loop 12, .loop - anim_incbgeffect ANIM_BG_1A - anim_call BattleAnim_ShowMon_0 - anim_wait 1 - anim_incobj 2 - anim_incobj 3 - anim_incobj 4 - anim_incobj 5 - anim_incobj 6 - anim_incobj 7 - anim_incobj 8 - anim_incobj 9 - anim_wait 16 - anim_1gfx ANIM_GFX_HIT - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 32 - anim_ret -; cb83a - -BattleAnim_CrossChop: ; cb83a - anim_1gfx ANIM_GFX_CUT - anim_sound 0, 1, SFX_CUT - anim_obj ANIM_OBJ_A0, -13, 0, 5, 0, $0 - anim_obj ANIM_OBJ_A1, 15, 0, 9, 0, $0 - anim_wait 8 - anim_bgeffect ANIM_BG_1F, $58, $2, $0 - anim_wait 92 - anim_sound 0, 1, SFX_VICEGRIP - anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10 - anim_wait 16 - anim_ret -; cb85a - -BattleAnim_Twister: ; cb85a - anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT -.loop1 - anim_sound 0, 0, SFX_RAZOR_WIND - anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0 - anim_wait 6 - anim_loop 9, .loop1 -.loop2 - anim_sound 0, 0, SFX_RAZOR_WIND - anim_wait 8 - anim_loop 8, .loop2 - anim_incobj 1 - anim_incobj 2 - anim_incobj 3 - anim_incobj 4 - anim_incobj 5 - anim_incobj 6 - anim_incobj 7 - anim_incobj 8 - anim_incobj 9 - anim_wait 64 - anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18 -.loop3 - anim_sound 0, 1, SFX_RAZOR_WIND - anim_wait 8 - anim_loop 4, .loop3 - anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18 -.loop4 - anim_sound 0, 1, SFX_RAZOR_WIND - anim_wait 8 - anim_loop 4, .loop4 - anim_incobj 1 - anim_incobj 2 - anim_incobj 3 - anim_incobj 4 - anim_incobj 5 - anim_incobj 6 - anim_incobj 7 - anim_incobj 8 - anim_incobj 9 - anim_wait 32 - anim_ret -; cb8b3 - -BattleAnim_RainDance: ; cb8b3 - anim_1gfx ANIM_GFX_WATER - anim_bgp $f8 - anim_obp0 $7c - anim_sound 0, 1, SFX_RAIN_DANCE - anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $0 - anim_wait 8 - anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $1 - anim_wait 8 - anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 - anim_wait 128 - anim_ret -; cb8cf - -BattleAnim_SunnyDay: ; cb8cf - anim_1gfx ANIM_GFX_WATER - anim_bgp $90 - anim_sound 0, 1, SFX_MORNING_SUN - anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 - anim_wait 8 - anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 - anim_wait 8 - anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 - anim_wait 128 - anim_ret -; cb8e9 - -BattleAnim_MirrorCoat: ; cb8e9 - anim_2gfx ANIM_GFX_REFLECT, ANIM_GFX_SPEED - anim_bgeffect ANIM_BG_06, $0, $2, $0 -.loop - anim_sound 0, 0, SFX_SHINE - anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 - anim_obj ANIM_OBJ_AE, 8, 0, 9, 0, $4 - anim_wait 8 - anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4 - anim_wait 8 - anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4 - anim_wait 8 - anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4 - anim_wait 8 - anim_loop 3, .loop - anim_wait 32 - anim_ret -; cb917 - -BattleAnim_PsychUp: ; cb917 - anim_1gfx ANIM_GFX_STATUS - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_1A, $0, $1, $20 - anim_sound 0, 0, SFX_PSYBEAM - anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $0 - anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $10 - anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $20 - anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $30 - anim_wait 64 - anim_incbgeffect ANIM_BG_1A - anim_call BattleAnim_ShowMon_0 - anim_wait 16 - anim_ret -; cb940 - -BattleAnim_Extremespeed: ; cb940 - anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_CUT - anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 - anim_sound 0, 0, SFX_MENU - anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 - anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 - anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 - anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 - anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 - anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 - anim_wait 12 - anim_sound 0, 1, SFX_CUT - anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 - anim_wait 32 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 16 - anim_ret -; cb97a - -BattleAnim_Ancientpower: ; cb97a - anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT - anim_sound 0, 0, SFX_SPARK - anim_obj ANIM_OBJ_B2, 8, 0, 13, 4, $20 - anim_wait 8 - anim_sound 0, 0, SFX_SPARK - anim_obj ANIM_OBJ_B2, 9, 3, 12, 6, $20 - anim_wait 8 - anim_sound 0, 0, SFX_SPARK - anim_obj ANIM_OBJ_B2, 10, 5, 12, 1, $20 - anim_wait 8 - anim_sound 0, 0, SFX_SPARK - anim_obj ANIM_OBJ_B2, 12, 0, 11, 4, $20 - anim_wait 8 - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_B2, 13, 2, 10, 7, $20 - anim_wait 8 - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_B2, 14, 4, 10, 2, $20 - anim_wait 8 - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_B2, 15, 6, 9, 5, $20 - anim_wait 8 - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 - anim_wait 6 - anim_ret -; cb9c6 - -BattleAnim_ShadowBall: ; cb9c6 - anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE - anim_bgp $1b - anim_sound 6, 2, SFX_SLUDGE_BOMB - anim_obj ANIM_OBJ_B4, 8, 0, 11, 4, $2 - anim_wait 32 - anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10 - anim_wait 24 - anim_ret -; cb9db - -BattleAnim_FutureSight: ; cb9db - anim_1gfx ANIM_GFX_WIND - anim_bgeffect ANIM_BG_06, $0, $2, $0 - anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 - anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 - anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10 - anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2 - anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8 - anim_wait 4 - anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6 - anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c - anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4 - anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e -.loop - anim_sound 0, 0, SFX_THROW_BALL - anim_wait 16 - anim_loop 4, .loop - anim_incbgeffect ANIM_BG_PSYCHIC - anim_ret -; cba1b - -BattleAnim_RockSmash: ; cba1b - anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $28 - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $5c - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $10 - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $e8 - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $9c - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $d0 - anim_wait 6 - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $1c - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $50 - anim_sound 0, 1, SFX_SPARK - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $dc - anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $90 - anim_wait 32 - anim_ret -; cba6a - -BattleAnim_Whirlpool: ; cba6a - anim_1gfx ANIM_GFX_WIND - anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0 - anim_sound 0, 1, SFX_SURF - anim_wait 16 -.loop - anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0 - anim_wait 6 - anim_loop 9, .loop - anim_wait 64 - anim_incbgeffect ANIM_BG_WHIRLPOOL - anim_wait 1 - anim_ret -; cba84 - -BattleAnim_BeatUp: ; cba84 - anim_if_param_equal $0, .current_mon - anim_sound 0, 0, SFX_BALL_POOF - anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0 - anim_wait 16 - anim_beatup - anim_sound 0, 0, SFX_BALL_POOF - anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 - anim_wait 16 -.current_mon - anim_1gfx ANIM_GFX_HIT - anim_call BattleAnim_FollowEnemyFeet_0 - anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 - anim_wait 4 - anim_sound 0, 1, SFX_BEAT_UP - anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 - anim_wait 8 - anim_call BattleAnim_ShowMon_0 - anim_ret -; cbab3 - -BattleAnim_DreamEater_branch_cbab3: ; cbab3 -BattleAnim_GigaDrain_branch_cbab3: ; cbab3 -BattleAnim_LeechLife_branch_cbab3: ; cbab3 - anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $0 - anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $8 - anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $10 - anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $18 - anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $20 - anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $28 - anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $30 - anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $38 - anim_ret -; cbadc - -BattleAnim_Glare_branch_cbadc: ; cbadc -BattleAnim_Leer_branch_cbadc: ; cbadc -BattleAnim_ScaryFace_branch_cbadc: ; cbadc - anim_sound 6, 2, SFX_LEER - anim_obj ANIM_OBJ_4E, 9, 0, 10, 4, $0 - anim_obj ANIM_OBJ_4E, 8, 0, 10, 0, $0 - anim_obj ANIM_OBJ_4E, 11, 0, 9, 4, $0 - anim_obj ANIM_OBJ_4E, 10, 0, 9, 0, $0 - anim_obj ANIM_OBJ_4E, 13, 0, 8, 4, $0 - anim_obj ANIM_OBJ_4E, 12, 0, 8, 0, $0 - anim_obj ANIM_OBJ_4E, 15, 0, 7, 4, $0 - anim_obj ANIM_OBJ_4E, 14, 0, 7, 0, $0 - anim_obj ANIM_OBJ_4F, -16, 2, 6, 6, $0 - anim_obj ANIM_OBJ_4F, 15, 2, 6, 2, $0 - anim_ret -; cbb12 - -BattleAnim_Fly_branch_cbb12: ; cbb12 -BattleAnim_Teleport_branch_cbb12: ; cbb12 - anim_sound 0, 0, SFX_WARP_TO - anim_obj ANIM_OBJ_44, 5, 4, 13, 4, $0 - anim_obj ANIM_OBJ_44, 5, 4, 12, 4, $0 - anim_obj ANIM_OBJ_44, 5, 4, 11, 4, $0 - anim_obj ANIM_OBJ_44, 5, 4, 10, 4, $0 - anim_obj ANIM_OBJ_44, 5, 4, 9, 4, $0 - anim_obj ANIM_OBJ_44, 5, 4, 8, 4, $0 - anim_obj ANIM_OBJ_44, 5, 4, 7, 4, $0 - anim_ret -; cbb39 - -BattleAnim_AuroraBeam_branch_cbb39: ; cbb39 -BattleAnim_HyperBeam_branch_cbb39: ; cbb39 -BattleAnim_Solarbeam_branch_cbb39: ; cbb39 - anim_sound 0, 0, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_27, 8, 0, 11, 4, $0 - anim_wait 4 - anim_sound 0, 0, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0 - anim_wait 4 - anim_sound 0, 1, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0 - anim_wait 4 - anim_sound 0, 1, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0 - anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0 - anim_ret -; cbb62 - -BattleAnim_Explosion_branch_cbb62: ; cbb62 -BattleAnim_Selfdestruct_branch_cbb62: ; cbb62 - anim_sound 0, 0, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, 3, 0, 8, 0, $0 - anim_wait 5 - anim_sound 0, 0, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, 7, 0, 13, 0, $0 - anim_wait 5 - anim_sound 0, 0, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, 3, 0, 13, 0, $0 - anim_wait 5 - anim_sound 0, 0, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, 7, 0, 8, 0, $0 - anim_wait 5 - anim_sound 0, 0, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, 5, 0, 10, 4, $0 - anim_ret -; cbb8f - -BattleAnim_Dynamicpunch_branch_cbb8f: ; cbb8f -BattleAnim_Explosion_branch_cbb8f: ; cbb8f -BattleAnim_Present_branch_cbb8f: ; cbb8f -BattleAnim_Selfdestruct_branch_cbb8f: ; cbb8f - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, -14, 4, 4, 0, $0 - anim_wait 5 - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, 14, 4, 9, 0, $0 - anim_wait 5 - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, -14, 4, 9, 0, $0 - anim_wait 5 - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, 14, 4, 4, 0, $0 - anim_wait 5 - anim_sound 0, 1, SFX_EGG_BOMB - anim_obj ANIM_OBJ_17, -16, 4, 6, 4, $0 - anim_ret -; cbbbc - -BattleAnim_Growl_branch_cbbbc: ; cbbbc -BattleAnim_Roar_branch_cbbbc: ; cbbbc -BattleAnim_Snore_branch_cbbbc: ; cbbbc - anim_obj ANIM_OBJ_4B, 8, 0, 9, 4, $0 - anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $1 - anim_obj ANIM_OBJ_4B, 8, 0, 12, 4, $2 - anim_ret -; cbbcc - -BattleAnim_FirePunch_branch_cbbcc: ; cbbcc -BattleAnim_TriAttack_branch_cbbcc: ; cbbcc - anim_sound 0, 1, SFX_EMBER -.loop - anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $10 - anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $90 - anim_wait 4 - anim_loop 4, .loop - anim_ret -; cbbdf - -BattleAnim_IcePunch_branch_cbbdf: ; cbbdf -BattleAnim_PowderSnow_branch_cbbdf: ; cbbdf -BattleAnim_TriAttack_branch_cbbdf: ; cbbdf - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_12, 16, 0, 5, 2, $0 - anim_wait 6 - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_12, -14, 0, 8, 6, $0 - anim_wait 6 - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_12, 15, 0, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_12, -13, 0, 7, 0, $0 - anim_wait 6 - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_12, -14, 0, 5, 2, $0 - anim_wait 6 - anim_sound 0, 1, SFX_SHINE - anim_obj ANIM_OBJ_12, 16, 0, 8, 6, $0 - anim_ret -; cbc15 - -BattleAnim_SludgeBomb_branch_cbc15: ; cbc15 -BattleAnim_Sludge_branch_cbc15: ; cbc15 -BattleAnim_Toxic_branch_cbc15: ; cbc15 -.loop - anim_sound 0, 1, SFX_UNKNOWN_7F - anim_obj ANIM_OBJ_1A, -16, 4, 9, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_UNKNOWN_7F - anim_obj ANIM_OBJ_1A, 14, 4, 9, 0, $0 - anim_wait 8 - anim_sound 0, 1, SFX_UNKNOWN_7F - anim_obj ANIM_OBJ_1A, -14, 4, 9, 0, $0 - anim_wait 8 - anim_loop 5, .loop - anim_ret -; cbc35 - -BattleAnim_Acid_branch_cbc35: ; cbc35 -BattleAnim_Toxic_branch_cbc35: ; cbc35 -.loop - anim_sound 6, 2, SFX_BUBBLEBEAM - anim_obj ANIM_OBJ_19, 8, 0, 11, 4, $10 - anim_wait 5 - anim_loop 8, .loop - anim_ret -; cbc43 - -BattleAnim_Harden_branch_cbc43: ; cbc43 -BattleAnim_IronTail_branch_cbc43: ; cbc43 -BattleAnim_MetalClaw_branch_cbc43: ; cbc43 -BattleAnim_SteelWing_branch_cbc43: ; cbc43 - anim_sound 0, 0, SFX_SHINE - anim_bgeffect ANIM_BG_17, $0, $1, $40 - anim_wait 8 - anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0 - anim_wait 32 - anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0 - anim_wait 64 - anim_incbgeffect ANIM_BG_17 - anim_ret -; cbc5b - -BattleAnim_MudSlap_branch_cbc5b: ; cbc5b -BattleAnim_SandAttack_branch_cbc5b: ; cbc5b -.loop - anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_58, 8, 0, 11, 4, $4 - anim_wait 4 - anim_loop 8, .loop - anim_wait 32 - anim_ret -; cbc6a - -BattleAnim_Moonlight_branch_cbc6a: ; cbc6a -BattleAnim_MorningSun_branch_cbc6a: ; cbc6a -BattleAnim_Synthesis_branch_cbc6a: ; cbc6a - anim_sound 0, 0, SFX_METRONOME - anim_obj ANIM_OBJ_9D, 5, 4, 8, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 3, 0, 12, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 - anim_wait 21 - anim_ret -; cbc80 - -BattleAnim_Moonlight_branch_cbc80: ; cbc80 -BattleAnim_MorningSun_branch_cbc80: ; cbc80 -BattleAnim_Synthesis_branch_cbc80: ; cbc80 - anim_sound 0, 0, SFX_METRONOME -.loop - anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0 - anim_wait 5 - anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0 - anim_wait 5 - anim_loop 2, .loop - anim_wait 16 - anim_ret -; cbca7 - -BattleAnim_FollowEnemyFeet_0: ; cbca7 - anim_enemyfeetobj - anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $0, $0 - anim_wait 6 - anim_ret -; cbcaf - -BattleAnim_FollowPlayerHead_0: ; cbcaf - anim_playerheadobj - anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $0, $0 - anim_wait 6 - anim_ret -; cbcb7 - -BattleAnim_ShowMon_0: ; cbcb7 - anim_wait 1 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 - anim_wait 5 - anim_incobj 1 - anim_wait 1 - anim_ret -; cbcc2 - -BattleAnim_FollowEnemyFeet_1: ; cbcc2 - anim_enemyfeetobj - anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0 - anim_wait 6 - anim_ret -; cbcca - -BattleAnim_FollowPlayerHead_1: ; cbcca - anim_playerheadobj - anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0 - anim_wait 4 - anim_ret -; cbcd2 - -BattleAnim_ShowMon_1: ; cbcd2 - anim_wait 1 - anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 - anim_wait 4 - anim_incobj 1 - anim_wait 1 - anim_ret -; cbcdd diff --git a/data/moves/move_descriptions.asm b/data/moves/move_descriptions.asm deleted file mode 100644 index d86ceea37..000000000 --- a/data/moves/move_descriptions.asm +++ /dev/null @@ -1,1270 +0,0 @@ -MoveDescriptions:: ; 2cb52 -; entries correspond to move ids (see constants/move_constants.asm) - dw PoundDescription - dw KarateChopDescription - dw DoubleslapDescription - dw CometPunchDescription - dw MegaPunchDescription - dw PayDayDescription - dw FirePunchDescription - dw IcePunchDescription - dw ThunderpunchDescription - dw ScratchDescription - dw VicegripDescription - dw GuillotineDescription - dw RazorWindDescription - dw SwordsDanceDescription - dw CutDescription - dw GustDescription - dw WingAttackDescription - dw WhirlwindDescription - dw FlyDescription - dw BindDescription - dw SlamDescription - dw VineWhipDescription - dw StompDescription - dw DoubleKickDescription - dw MegaKickDescription - dw JumpKickDescription - dw RollingKickDescription - dw SandAttackDescription - dw HeadbuttDescription - dw HornAttackDescription - dw FuryAttackDescription - dw HornDrillDescription - dw TackleDescription - dw BodySlamDescription - dw WrapDescription - dw TakeDownDescription - dw ThrashDescription - dw DoubleEdgeDescription - dw TailWhipDescription - dw PoisonStingDescription - dw TwineedleDescription - dw PinMissileDescription - dw LeerDescription - dw BiteDescription - dw GrowlDescription - dw RoarDescription - dw SingDescription - dw SupersonicDescription - dw SonicboomDescription - dw DisableDescription - dw AcidDescription - dw EmberDescription - dw FlamethrowerDescription - dw MistDescription - dw WaterGunDescription - dw HydroPumpDescription - dw SurfDescription - dw IceBeamDescription - dw BlizzardDescription - dw PsybeamDescription - dw BubblebeamDescription - dw AuroraBeamDescription - dw HyperBeamDescription - dw PeckDescription - dw DrillPeckDescription - dw SubmissionDescription - dw LowKickDescription - dw CounterDescription - dw SeismicTossDescription - dw StrengthDescription - dw AbsorbDescription - dw MegaDrainDescription - dw LeechSeedDescription - dw GrowthDescription - dw RazorLeafDescription - dw SolarbeamDescription - dw PoisonpowderDescription - dw StunSporeDescription - dw SleepPowderDescription - dw PetalDanceDescription - dw StringShotDescription - dw DragonRageDescription - dw FireSpinDescription - dw ThundershockDescription - dw ThunderboltDescription - dw ThunderWaveDescription - dw ThunderDescription - dw RockThrowDescription - dw EarthquakeDescription - dw FissureDescription - dw DigDescription - dw ToxicDescription - dw ConfusionDescription - dw PsychicMDescription - dw HypnosisDescription - dw MeditateDescription - dw AgilityDescription - dw QuickAttackDescription - dw RageDescription - dw TeleportDescription - dw NightShadeDescription - dw MimicDescription - dw ScreechDescription - dw DoubleTeamDescription - dw RecoverDescription - dw HardenDescription - dw MinimizeDescription - dw SmokescreenDescription - dw ConfuseRayDescription - dw WithdrawDescription - dw DefenseCurlDescription - dw BarrierDescription - dw LightScreenDescription - dw HazeDescription - dw ReflectDescription - dw FocusEnergyDescription - dw BideDescription - dw MetronomeDescription - dw MirrorMoveDescription - dw SelfdestructDescription - dw EggBombDescription - dw LickDescription - dw SmogDescription - dw SludgeDescription - dw BoneClubDescription - dw FireBlastDescription - dw WaterfallDescription - dw ClampDescription - dw SwiftDescription - dw SkullBashDescription - dw SpikeCannonDescription - dw ConstrictDescription - dw AmnesiaDescription - dw KinesisDescription - dw SoftboiledDescription - dw HiJumpKickDescription - dw GlareDescription - dw DreamEaterDescription - dw PoisonGasDescription - dw BarrageDescription - dw LeechLifeDescription - dw LovelyKissDescription - dw SkyAttackDescription - dw TransformDescription - dw BubbleDescription - dw DizzyPunchDescription - dw SporeDescription - dw FlashDescription - dw PsywaveDescription - dw SplashDescription - dw AcidArmorDescription - dw CrabhammerDescription - dw ExplosionDescription - dw FurySwipesDescription - dw BonemerangDescription - dw RestDescription - dw RockSlideDescription - dw HyperFangDescription - dw SharpenDescription - dw ConversionDescription - dw TriAttackDescription - dw SuperFangDescription - dw SlashDescription - dw SubstituteDescription - dw StruggleDescription - dw SketchDescription - dw TripleKickDescription - dw ThiefDescription - dw SpiderWebDescription - dw MindReaderDescription - dw NightmareDescription - dw FlameWheelDescription - dw SnoreDescription - dw CurseDescription - dw FlailDescription - dw Conversion2Description - dw AeroblastDescription - dw CottonSporeDescription - dw ReversalDescription - dw SpiteDescription - dw PowderSnowDescription - dw ProtectDescription - dw MachPunchDescription - dw ScaryFaceDescription - dw FaintAttackDescription - dw SweetKissDescription - dw BellyDrumDescription - dw SludgeBombDescription - dw MudSlapDescription - dw OctazookaDescription - dw SpikesDescription - dw ZapCannonDescription - dw ForesightDescription - dw DestinyBondDescription - dw PerishSongDescription - dw IcyWindDescription - dw DetectDescription - dw BoneRushDescription - dw LockOnDescription - dw OutrageDescription - dw SandstormDescription - dw GigaDrainDescription - dw EndureDescription - dw CharmDescription - dw RolloutDescription - dw FalseSwipeDescription - dw SwaggerDescription - dw MilkDrinkDescription - dw SparkDescription - dw FuryCutterDescription - dw SteelWingDescription - dw MeanLookDescription - dw AttractDescription - dw SleepTalkDescription - dw HealBellDescription - dw ReturnDescription - dw PresentDescription - dw FrustrationDescription - dw SafeguardDescription - dw PainSplitDescription - dw SacredFireDescription - dw MagnitudeDescription - dw DynamicpunchDescription - dw MegahornDescription - dw DragonbreathDescription - dw BatonPassDescription - dw EncoreDescription - dw PursuitDescription - dw RapidSpinDescription - dw SweetScentDescription - dw IronTailDescription - dw MetalClawDescription - dw VitalThrowDescription - dw MorningSunDescription - dw SynthesisDescription - dw MoonlightDescription - dw HiddenPowerDescription - dw CrossChopDescription - dw TwisterDescription - dw RainDanceDescription - dw SunnyDayDescription - dw CrunchDescription - dw MirrorCoatDescription - dw PsychUpDescription - dw ExtremespeedDescription - dw AncientpowerDescription - dw ShadowBallDescription - dw FutureSightDescription - dw RockSmashDescription - dw WhirlpoolDescription - dw BeatUpDescription - dw MoveFCDescription - dw MoveFDDescription - dw MoveFEDescription - dw MoveFFDescription - dw Move00Description -; 2cd52 - -MoveFCDescription: -MoveFDDescription: -MoveFEDescription: -MoveFFDescription: -Move00Description: - db "?@" - -PoundDescription: - db "Pounds with fore-" - next "legs or tail.@" - -KarateChopDescription: - db "Has a high criti-" - next "cal hit ratio.@" - -DoubleslapDescription: - db "Repeatedly slaps" - next "2-5 times.@" - -CometPunchDescription: - db "Repeatedly punches" - next "2-5 times.@" - -MegaPunchDescription: - db "A powerful punch" - next "thrown very hard.@" - -PayDayDescription: - db "Throws coins. Gets" - next "them back later.@" - -FirePunchDescription: - db "A fiery punch. May" - next "cause a burn.@" - -IcePunchDescription: - db "An icy punch. May" - next "cause freezing.@" - -ThunderpunchDescription: - db "An electric punch." - next "It may paralyze.@" - -ScratchDescription: - db "Scratches with" - next "sharp claws.@" - -VicegripDescription: - db "Grips with power-" - next "ful pincers.@" - -GuillotineDescription: - db "A one-hit KO," - next "pincer attack.@" - -RazorWindDescription: - db "1st turn: Prepare" - next "2nd turn: Attack@" - -SwordsDanceDescription: - db "A dance that in-" - next "creases ATTACK.@" - -CutDescription: - db "Cuts using claws," - next "scythes, etc.@" - -GustDescription: - db "Whips up a strong" - next "gust of wind.@" - -WingAttackDescription: - db "Strikes the target" - next "with wings.@" - -WhirlwindDescription: - db "Blows away the foe" - next "& ends battle.@" - -FlyDescription: - db "1st turn: Fly" - next "2nd turn: Attack@" - -BindDescription: - db "Binds the target" - next "for 2-5 turns.@" - -SlamDescription: - db "Slams the foe with" - next "a tail, vine, etc.@" - -VineWhipDescription: - db "Whips the foe with" - next "slender vines.@" - -StompDescription: - db "An attack that may" - next "cause flinching.@" - -DoubleKickDescription: - db "A double kicking" - next "attack.@" - -MegaKickDescription: - db "A powerful kicking" - next "attack.@" - -JumpKickDescription: - db "May miss, damaging" - next "the user.@" - -RollingKickDescription: - db "A fast, spinning" - next "kick.@" - -SandAttackDescription: - db "Reduces accuracy" - next "by throwing sand.@" - -HeadbuttDescription: - db "An attack that may" - next "make foe flinch.@" - -HornAttackDescription: - db "An attack using a" - next "horn to jab.@" - -FuryAttackDescription: - db "Jabs the target" - next "2-5 times.@" - -HornDrillDescription: - db "A one-hit KO," - next "drill attack.@" - -TackleDescription: - db "A full-body charge" - next "attack.@" - -BodySlamDescription: - db "An attack that may" - next "cause paralysis.@" - -WrapDescription: - db "Squeezes the foe" - next "for 2-5 turns.@" - -TakeDownDescription: - db "A tackle that also" - next "hurts the user.@" - -ThrashDescription: - db "Works 2-3 turns" - next "and confuses user.@" - -DoubleEdgeDescription: - db "A tackle that also" - next "hurts the user.@" - -TailWhipDescription: - db "Lowers the foe's" - next "DEFENSE.@" - -PoisonStingDescription: - db "An attack that may" - next "poison the target.@" - -TwineedleDescription: - db "Jabs the foe twice" - next "using stingers.@" - -PinMissileDescription: - db "Fires pins that" - next "strike 2-5 times.@" - -LeerDescription: - db "Reduces the foe's" - next "DEFENSE.@" - -BiteDescription: - db "An attack that may" - next "cause flinching.@" - -GrowlDescription: - db "Reduces the foe's" - next "ATTACK.@" - -RoarDescription: - db "Scares wild foes" - next "to end battle.@" - -SingDescription: - db "May cause the foe" - next "to fall asleep.@" - -SupersonicDescription: - db "Sound waves that" - next "cause confusion.@" - -SonicboomDescription: - db "Always inflicts" - next "20HP damage.@" - -DisableDescription: - db "Disables the foe's" - next "most recent move.@" - -AcidDescription: - db "An attack that may" - next "lower DEFENSE.@" - -EmberDescription: - db "An attack that may" - next "inflict a burn.@" - -FlamethrowerDescription: - db "An attack that may" - next "inflict a burn.@" - -MistDescription: - db "Prevents stat" - next "reduction.@" - -WaterGunDescription: - db "Squirts water to" - next "attack.@" - -HydroPumpDescription: - db "A powerful water-" - next "type attack.@" - -SurfDescription: - db "A strong water-" - next "type attack.@" - -IceBeamDescription: - db "An attack that may" - next "freeze the foe.@" - -BlizzardDescription: - db "An attack that may" - next "freeze the foe.@" - -PsybeamDescription: - db "An attack that may" - next "confuse the foe.@" - -BubblebeamDescription: - db "An attack that may" - next "lower SPEED.@" - -AuroraBeamDescription: - db "An attack that may" - next "lower ATTACK.@" - -HyperBeamDescription: - db "1st turn: Attack" - next "2nd turn: Rest@" - -PeckDescription: - db "Jabs the foe with" - next "a beak, etc.@" - -DrillPeckDescription: - db "A strong, spin-" - next "ning-peck attack.@" - -SubmissionDescription: - db "An attack that al-" - next "so hurts the user.@" - -LowKickDescription: - db "An attack that may" - next "cause flinching.@" - -CounterDescription: - db "Returns a physical" - next "blow double.@" - -SeismicTossDescription: - db "The user's level" - next "equals damage HP.@" - -StrengthDescription: - db "A powerful physi-" - next "cal attack.@" - -AbsorbDescription: - db "Steals 1/2 of the" - next "damage inflicted.@" - -MegaDrainDescription: - db "Steals 1/2 of the" - next "damage inflicted.@" - -LeechSeedDescription: - db "Steals HP from the" - next "foe on every turn.@" - -GrowthDescription: - db "Raises the SPCL." - next "ATK rating.@" - -RazorLeafDescription: - db "Has a high criti-" - next "cal hit ratio.@" - -SolarbeamDescription: - db "1st turn: Prepare" - next "2nd turn: Attack@" - -PoisonpowderDescription: - db "A move that may" - next "poison the foe.@" - -StunSporeDescription: - db "A move that may" - next "paralyze the foe.@" - -SleepPowderDescription: - db "May cause the foe" - next "to fall asleep.@" - -PetalDanceDescription: - db "Works 2-3 turns" - next "and confuses user.@" - -StringShotDescription: - db "A move that lowers" - next "the foe's SPEED.@" - -DragonRageDescription: - db "Always inflicts" - next "40HP damage.@" - -FireSpinDescription: - db "Traps foe in fire" - next "for 2-5 turns.@" - -ThundershockDescription: - db "An attack that may" - next "cause paralysis.@" - -ThunderboltDescription: - db "An attack that may" - next "cause paralysis.@" - -ThunderWaveDescription: - db "A move that may" - next "cause paralysis.@" - -ThunderDescription: - db "An attack that may" - next "cause paralysis.@" - -RockThrowDescription: - db "Drops rocks on the" - next "enemy.@" - -EarthquakeDescription: - db "Tough but useless" - next "vs. flying foes.@" - -FissureDescription: - db "A ground-type," - next "one-hit KO attack.@" - -DigDescription: - db "1st turn: Burrow" - next "2nd turn: Attack@" - -ToxicDescription: - db "A poison move with" - next "increasing damage.@" - -ConfusionDescription: - db "An attack that may" - next "cause confusion.@" - -PsychicMDescription: - db "An attack that may" - next "lower SPCL.DEF.@" - -HypnosisDescription: - db "May put the foe to" - next "sleep.@" - -MeditateDescription: - db "Raises the user's" - next "ATTACK.@" - -AgilityDescription: - db "Sharply increases" - next "the user's SPEED.@" - -QuickAttackDescription: - db "Lets the user get" - next "in the first hit.@" - -RageDescription: - db "Raises ATTACK if" - next "the user is hit.@" - -TeleportDescription: - db "A move for fleeing" - next "from battle.@" - -NightShadeDescription: - db "The user's level" - next "equals damage HP.@" - -MimicDescription: - db "Copies a move used" - next "by the foe.@" - -ScreechDescription: - db "Sharply reduces" - next "the foe's DEFENSE.@" - -DoubleTeamDescription: - db "Heightens evasive-" - next "ness.@" - -RecoverDescription: - db "Restores HP by 1/2" - next "the max HP.@" - -HardenDescription: - db "Raises the user's" - next "DEFENSE.@" - -MinimizeDescription: - db "Heightens evasive-" - next "ness.@" - -SmokescreenDescription: - db "Lowers the foe's" - next "accuracy.@" - -ConfuseRayDescription: - db "A move that causes" - next "confusion.@" - -WithdrawDescription: - db "Heightens the" - next "user's DEFENSE.@" - -DefenseCurlDescription: - db "Heightens the" - next "user's DEFENSE.@" - -BarrierDescription: - db "Sharply increases" - next "user's DEFENSE.@" - -LightScreenDescription: - db "Ups SPCL.DEF with" - next "a wall of light.@" - -HazeDescription: - db "Eliminates all" - next "stat changes.@" - -ReflectDescription: - db "Raises DEFENSE" - next "with a barrier.@" - -FocusEnergyDescription: - db "Raises the criti-" - next "cal hit ratio.@" - -BideDescription: - db "Waits 2-3 turns &" - next "hits back double.@" - -MetronomeDescription: - db "Randomly uses any" - next "#MON move.@" - -MirrorMoveDescription: - db "Counters with the" - next "same move.@" - -SelfdestructDescription: - db "Powerful but makes" - next "the user faint.@" - -EggBombDescription: - db "Eggs are hurled at" - next "the foe.@" - -LickDescription: - db "An attack that may" - next "cause paralysis.@" - -SmogDescription: - db "An attack that may" - next "poison the foe.@" - -SludgeDescription: - db "An attack that may" - next "poison the foe.@" - -BoneClubDescription: - db "An attack that may" - next "cause flinching.@" - -FireBlastDescription: - db "An attack that" - next "may cause a burn.@" - -WaterfallDescription: - db "An aquatic charge" - next "attack.@" - -ClampDescription: - db "Traps the foe for" - next "2-5 turns.@" - -SwiftDescription: - db "An attack that" - next "never misses.@" - -SkullBashDescription: - db "1st turn: Prepare" - next "2nd turn: Attack@" - -SpikeCannonDescription: - db "Fires spikes to" - next "hit 2-5 times.@" - -ConstrictDescription: - db "An attack that may" - next "lower SPEED.@" - -AmnesiaDescription: - db "Sharply raises the" - next "user's SPCL.DEF.@" - -KinesisDescription: - db "Reduces the foe's" - next "accuracy.@" - -SoftboiledDescription: - db "Restores HP by 1/2" - next "the user's max HP.@" - -HiJumpKickDescription: - db "May miss and hurt" - next "the user.@" - -GlareDescription: - db "A move that may" - next "cause paralysis.@" - -DreamEaterDescription: - db "Steals HP from a" - next "sleeping victim.@" - -PoisonGasDescription: - db "A move that may" - next "poison the foe.@" - -BarrageDescription: - db "Throws orbs to hit" - next "2-5 times.@" - -LeechLifeDescription: - db "Steals 1/2 of the" - next "damage inflicted.@" - -LovelyKissDescription: - db "May cause the foe" - next "to fall asleep.@" - -SkyAttackDescription: - db "1st turn: Prepare" - next "2nd turn: Attack@" -TransformDescription: - db "The user assumes" - next "the foe's guise.@" - -BubbleDescription: - db "An attack that may" - next "reduce SPEED.@" - -DizzyPunchDescription: - db "An attack that may" - next "cause confusion.@" - -SporeDescription: - db "A move that" - next "induces sleep.@" - -FlashDescription: - db "Blinds the foe to" - next "reduce accuracy.@" - -PsywaveDescription: - db "An attack with" - next "variable power.@" - -SplashDescription: - db "Has no effect" - next "whatsoever.@" - -AcidArmorDescription: - db "Sharply raises the" - next "user's DEFENSE.@" - -CrabhammerDescription: - db "Has a high criti-" - next "cal hit ratio.@" - -ExplosionDescription: - db "Very powerful but" - next "makes user faint.@" - -FurySwipesDescription: - db "Quickly scratches" - next "2-5 times.@" - -BonemerangDescription: - db "An attack that" - next "strikes twice.@" - -RestDescription: - db "Sleep for 2 turns" - next "to fully recover.@" - -RockSlideDescription: - db "An attack that may" - next "cause flinching.@" - -HyperFangDescription: - db "An attack that may" - next "cause flinching.@" - -SharpenDescription: - db "A move that raises" - next "the user's ATTACK.@" - -ConversionDescription: - db "Change user's type" - next "to a move's type.@" - -TriAttackDescription: - db "Fires three kinds" - next "of beams at once.@" - -SuperFangDescription: - db "Cuts the foe's HP" - next "by 1/2.@" - -SlashDescription: - db "Has a high criti-" - next "cal hit ratio.@" - -SubstituteDescription: - db "Makes a decoy with" - next "1/4 user's max HP.@" - -StruggleDescription: - db "Used only if all" - next "PP are exhausted.@" - -SketchDescription: - db "Copies the foe's" - next "move permanently.@" - -TripleKickDescription: - db "Hits three times" - next "with rising power.@" - -ThiefDescription: - db "An attack that may" - next "steal a held item.@" - -SpiderWebDescription: - db "Prevents fleeing" - next "or switching.@" - -MindReaderDescription: - db "Ensures the next" - next "attack will hit.@" - -NightmareDescription: - db "A sleeper loses" - next "1/4 HP every turn.@" - -FlameWheelDescription: - db "An attack that may" - next "cause a burn.@" - -SnoreDescription: - db "An attack useable" - next "only while asleep.@" - -CurseDescription: - db "Works differently" - next "for ghost-types.@" - -FlailDescription: - db "Stronger if the" - next "user's HP is low.@" - -Conversion2Description: - db "The user's type is" - next "made resistant.@" - -AeroblastDescription: - db "Has a high criti-" - next "cal hit ratio.@" - -CottonSporeDescription: - db "Sharply reduces" - next "the foe's SPEED.@" - -ReversalDescription: - db "Stronger if the" - next "user's HP is low.@" - -SpiteDescription: - db "Cuts the PP of the" - next "foe's last move.@" - -PowderSnowDescription: - db "An attack that may" - next "cause freezing.@" - -ProtectDescription: - db "Foils attack that" - next "turn. It may fail.@" - -MachPunchDescription: - db "A fast punch that" - next "lands first.@" - -ScaryFaceDescription: - db "Sharply reduces" - next "the foe's SPEED.@" - -FaintAttackDescription: - db "An attack that" - next "never misses.@" - -SweetKissDescription: - db "A move that causes" - next "confusion.@" - -BellyDrumDescription: - db "Reduces own HP to" - next "maximize ATTACK.@" - -SludgeBombDescription: - db "An attack that may" - next "poison the foe.@" - -MudSlapDescription: - db "Reduces the foe's" - next "accuracy.@" - -OctazookaDescription: - db "An attack that may" - next "reduce accuracy.@" - -SpikesDescription: - db "Hurts foes when" - next "they switch out.@" - -ZapCannonDescription: - db "An attack that" - next "always paralyzes.@" - -ForesightDescription: - db "Negates accuracy" - next "reduction moves.@" - -DestinyBondDescription: - db "The foe faints if" - next "the user does.@" - -PerishSongDescription: - db "Both user and foe" - next "faint in 3 turns.@" - -IcyWindDescription: - db "An icy attack that" - next "lowers SPEED.@" - -DetectDescription: - db "Evades attack that" - next "turn. It may fail.@" - -BoneRushDescription: - db "An attack that" - next "hits 2-5 times.@" - -LockOnDescription: - db "Ensures the next" - next "attack will hit.@" - -OutrageDescription: - db "Works 2-3 turns" - next "and confuses user.@" - -SandstormDescription: - db "Inflicts damage" - next "every turn.@" - -GigaDrainDescription: - db "Steals 1/2 of the" - next "damage inflicted.@" - -EndureDescription: - db "Always leaves at" - next "least 1HP.@" - -CharmDescription: - db "Sharply lowers the" - next "foe's ATTACK.@" - -RolloutDescription: - db "Attacks 5 turns" - next "with rising power.@" - -FalseSwipeDescription: - db "Leaves the foe" - next "with at least 1HP.@" - -SwaggerDescription: - db "Causes confusion" - next "and raises ATTACK.@" - -MilkDrinkDescription: - db "Restores HP by 1/2" - next "the max HP.@" - -SparkDescription: - db "An attack that may" - next "cause paralysis.@" - -FuryCutterDescription: - db "Successive hits" - next "raise power.@" - -SteelWingDescription: - db "Stiff wings strike" - next "the foe.@" - -MeanLookDescription: - db "Prevents fleeing" - next "or switching.@" - -AttractDescription: - db "Makes the opposite" - next "gender infatuated.@" - -SleepTalkDescription: - db "Randomly attacks" - next "while asleep.@" - -HealBellDescription: - db "Eliminates all" - next "status problems.@" - -ReturnDescription: - db "An attack that is" - next "based on loyalty.@" - -PresentDescription: - db "A bomb that may" - next "restore HP.@" - -FrustrationDescription: - db "An attack based on" - next "lack of loyalty.@" - -SafeguardDescription: - db "Prevents all" - next "status problems.@" - -PainSplitDescription: - db "Adds user & foe's" - next "HPs. Shares total.@" - -SacredFireDescription: - db "An attack that may" - next "inflict a burn.@" - -MagnitudeDescription: - db "A ground attack" - next "with random power.@" - -DynamicpunchDescription: - db "An attack that" - next "always confuses.@" - -MegahornDescription: - db "A powerful charge" - next "attack.@" - -DragonbreathDescription: - db "A strong breath" - next "attack.@" - -BatonPassDescription: - db "Switches while" - next "keeping effects.@" - -EncoreDescription: - db "Makes the foe re-" - next "peat 2-6 times.@" - -PursuitDescription: - db "Heavily strikes" - next "switching #MON.@" - -RapidSpinDescription: - db "A high-speed" - next "spinning attack.@" - -SweetScentDescription: - db "Reduces the foe's" - next "evasiveness.@" - -IronTailDescription: - db "An attack that may" - next "reduce DEFENSE.@" - -MetalClawDescription: - db "An attack that may" - next "up user's ATTACK.@" - -VitalThrowDescription: - db "A 2nd-strike move" - next "that never misses.@" - -MorningSunDescription: - db "Restores HP" - next "(varies by time).@" - -SynthesisDescription: - db "Restores HP" - next "(varies by time).@" - -MoonlightDescription: - db "Restores HP" - next "(varies by time).@" - -HiddenPowerDescription: - db "The power varies" - next "with the #MON.@" - -CrossChopDescription: - db "Has a high criti-" - next "cal hit ratio.@" - -TwisterDescription: - db "Whips up a tornado" - next "to attack.@" - -RainDanceDescription: - db "Boosts water-type" - next "moves for 5 turns.@" - -SunnyDayDescription: - db "Boosts fire-type" - next "moves for 5 turns.@" - -CrunchDescription: - db "An attack that may" - next "lower SPCL.DEF.@" - -MirrorCoatDescription: - db "Counters a SPCL." - next "ATK move double.@" - -PsychUpDescription: - db "Copies the foe's" - next "stat changes.@" - -ExtremespeedDescription: - db "A powerful first-" - next "strike move.@" - -AncientpowerDescription: - db "An attack that may" - next "raise all stats.@" - -ShadowBallDescription: - db "An attack that may" - next "lower SPCL.DEF.@" - -FutureSightDescription: - db "An attack that" - next "hits on 3rd turn.@" - -RockSmashDescription: - db "An attack that may" - next "lower DEFENSE.@" - -WhirlpoolDescription: - db "Traps the foe for" - next "2-5 turns.@" - -BeatUpDescription: - db "Party #MON join" - next "in the attack.@" -; 2ed44 diff --git a/data/moves/move_effects.asm b/data/moves/move_effects.asm deleted file mode 100644 index c56ff2560..000000000 --- a/data/moves/move_effects.asm +++ /dev/null @@ -1,2075 +0,0 @@ -MoveEffects: ; 2732e - -NormalHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -DoSleep: - checkobedience - usedmovetext - doturn - checkhit - checksafeguard - sleeptarget - endmove - -PoisonHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - poisontarget - endmove - -LeechHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - draintarget - checkdestinybond - buildopponentrage - kingsrock - endmove - -BurnHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - burntarget - endmove - -FreezeHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - freezetarget - endmove - -ParalyzeHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - paralyzetarget - endmove - -Selfdestruct: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - selfdestruct - hittargetnosub - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -DreamEater: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - eatdream - checkdestinybond - buildopponentrage - endmove - -MirrorMove: - checkobedience - usedmovetext - doturn - mirrormove - endmove - -AttackUp: - checkobedience - usedmovetext - doturn - attackup - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -DefenseUp: - checkobedience - usedmovetext - doturn - defenseup - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -SpeedUp: - checkobedience - usedmovetext - doturn - speedup - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -SpecialAttackUp: - checkobedience - usedmovetext - doturn - specialattackup - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -SpecialDefenseUp: - checkobedience - usedmovetext - doturn - specialdefenseup - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -AccuracyUp: - checkobedience - usedmovetext - doturn - accuracyup - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -EvasionUp: - checkobedience - usedmovetext - doturn - lowersub - evasionup - statupanim - lowersubnoanim - raisesub - statupmessage - statupfailtext - endmove - -AttackUp2: - checkobedience - usedmovetext - doturn - attackup2 - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -DefenseUp2: - checkobedience - usedmovetext - doturn - defenseup2 - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -SpeedUp2: - checkobedience - usedmovetext - doturn - speedup2 - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -SpecialAttackUp2: - checkobedience - usedmovetext - doturn - specialattackup2 - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -SpecialDefenseUp2: - checkobedience - usedmovetext - doturn - specialdefenseup2 - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -AccuracyUp2: - checkobedience - usedmovetext - doturn - accuracyup2 - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -EvasionUp2: - checkobedience - usedmovetext - doturn - evasionup2 - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove - -AttackDown: - checkobedience - usedmovetext - doturn - checkhit - attackdown - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -DefenseDown: - checkobedience - usedmovetext - doturn - checkhit - defensedown - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -SpeedDown: - checkobedience - usedmovetext - doturn - checkhit - speeddown - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -SpecialAttackDown: - checkobedience - usedmovetext - doturn - checkhit - specialattackdown - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -SpecialDefenseDown: - checkobedience - usedmovetext - doturn - checkhit - specialdefensedown - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -AccuracyDown: - checkobedience - usedmovetext - doturn - checkhit - accuracydown - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -EvasionDown: - checkobedience - usedmovetext - doturn - checkhit - evasiondown - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -AttackDown2: - checkobedience - usedmovetext - doturn - checkhit - attackdown2 - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -DefenseDown2: - checkobedience - usedmovetext - doturn - checkhit - defensedown2 - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -SpeedDown2: - checkobedience - usedmovetext - doturn - checkhit - speeddown2 - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -SpecialAttackDown2: - checkobedience - usedmovetext - doturn - checkhit - specialattackdown2 - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -SpecialDefenseDown2: - checkobedience - usedmovetext - doturn - checkhit - specialdefensedown2 - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -AccuracyDown2: - checkobedience - usedmovetext - doturn - checkhit - accuracydown2 - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -EvasionDown2: - checkobedience - usedmovetext - doturn - checkhit - evasiondown2 - lowersub - statdownanim - raisesub - statdownmessage - statdownfailtext - endmove - -AttackDownHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - attackdown - statdownmessage - endmove - -DefenseDownHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - effectchance ; bug: duplicate effectchance shouldn't be here - defensedown - statdownmessage - endmove - -SpeedDownHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - speeddown - statdownmessage - endmove - -SpecialAttackDownHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - specialattackdown - statdownmessage - endmove - -SpecialDefenseDownHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - specialdefensedown - statdownmessage - endmove - -AccuracyDownHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - accuracydown - statdownmessage - endmove - -EvasionDownHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - evasiondown - statdownmessage - endmove - -DefenseUpHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - defenseup - statupmessage - endmove - -AttackUpHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - attackup - statupmessage - endmove - -AllUpHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - allstatsup - endmove - -PayDay: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - payday - checkdestinybond - buildopponentrage - kingsrock - endmove - -Conversion: - checkobedience - usedmovetext - doturn - conversion - endmove - -ResetStats: - checkobedience - usedmovetext - doturn - resetstats - endmove - -Bide: - storeenergy - checkobedience - doturn - usedmovetext - unleashenergy - resettypematchup - checkhit - hittarget - effect0xa5 - checkfaint - checkdestinybond - buildopponentrage - kingsrock - endmove - -Rampage: - checkrampage - checkobedience - doturn - rampage - usedmovetext - checkhit - critical - damagestats - damagecalc - stab - damagevariation - clearmissdamage - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -ForceSwitch: - checkobedience - usedmovetext - doturn - checkhit - forceswitch - endmove - -MultiHit: - checkobedience - usedmovetext - doturn - startloop - lowersub - checkhit - critical - damagestats - damagecalc - stab - damagevariation - clearmissdamage - hittargetnosub - failuretext - checkfaint - criticaltext - cleartext - supereffectivelooptext - checkdestinybond - buildopponentrage - endloop - raisesub - kingsrock - endmove - -PoisonMultiHit: - checkobedience - usedmovetext - doturn - startloop - lowersub - checkhit - effectchance - critical - damagestats - damagecalc - stab - damagevariation - clearmissdamage - hittargetnosub - failuretext - checkfaint - criticaltext - cleartext - supereffectivelooptext - checkdestinybond - buildopponentrage - endloop - raisesub - kingsrock - poisontarget - endmove - -FlinchHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - flinchtarget - endmove - -OHKOHit: - checkobedience - usedmovetext - doturn - stab - ohko - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - endmove - -RecoilHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - recoil - checkdestinybond - buildopponentrage - kingsrock - endmove - -Mist: - checkobedience - usedmovetext - doturn - mist - endmove - -FocusEnergy: - checkobedience - usedmovetext - doturn - focusenergy - endmove - -DoConfuse: - checkobedience - usedmovetext - doturn - checkhit - checksafeguard - confuse - endmove - -ConfuseHit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - confusetarget - endmove - -Heal: - checkobedience - usedmovetext - doturn - heal - endmove - -Transform: - checkobedience - usedmovetext - doturn - transform - endmove - -LightScreen: -Reflect: - checkobedience - usedmovetext - doturn - screen - endmove - -TriAttack: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - tristatuschance - endmove - -Toxic: -DoPoison: - checkobedience - usedmovetext - doturn - checkhit - stab - checksafeguard - poison - endmove - -DoParalyze: - checkobedience - usedmovetext - doturn - stab - checkhit - checksafeguard - paralyze - endmove - -SkyAttack: - checkcharge - checkobedience - doturn - charge - usedmovetext - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - flinchtarget - kingsrock - endmove - -Substitute: - checkobedience - usedmovetext - doturn - substitute - endmove - -HyperBeam: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - rechargenextturn - checkdestinybond - buildopponentrage - endmove - -Rage: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - checkhit - ragedamage - damagevariation - hittarget - failuretext - rage - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Mimic: - checkobedience - usedmovetext - doturn - checkhit - mimic - endmove - -Metronome: - checkobedience - usedmovetext - doturn - metronome - endmove - -LeechSeed: - checkobedience - usedmovetext - doturn - checkhit - leechseed - endmove - -Splash: - checkobedience - usedmovetext - doturn - splash - endmove - -Disable: - checkobedience - usedmovetext - doturn - checkhit - disable - endmove - -RazorWind: - checkcharge - checkobedience - doturn - charge - usedmovetext - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Fly: - checkcharge - checkobedience - doturn - charge - usedmovetext - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittargetnosub - raisesub - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -TrapTarget: - checkobedience - usedmovetext - doturn - checkhit - critical - damagestats - damagecalc - stab - damagevariation - clearmissdamage - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - traptarget - endmove - -SuperFang: -Psywave: -StaticDamage: - checkobedience - usedmovetext - doturn - constantdamage - checkhit - resettypematchup - hittarget - failuretext - checkfaint - checkdestinybond - buildopponentrage - kingsrock - endmove - -Reversal: - checkobedience - usedmovetext - doturn - constantdamage - stab - checkhit - hittarget - failuretext - checkfaint - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Counter: - checkobedience - usedmovetext - doturn - counter - hittarget - failuretext - checkfaint - checkdestinybond - buildopponentrage - kingsrock - endmove - -Encore: - checkobedience - usedmovetext - doturn - checkhit - encore - endmove - -PainSplit: - checkobedience - usedmovetext - doturn - checkhit - painsplit - endmove - -Snore: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - snore - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - flinchtarget - kingsrock - endmove - -Conversion2: - checkobedience - usedmovetext - doturn - checkhit - conversion2 - endmove - -LockOn: - checkobedience - usedmovetext - doturn - checkhit - lockon - endmove - -Sketch: - checkobedience - usedmovetext - doturn - sketch - endmove - -DefrostOpponent: - checkobedience - usedmovetext - doturn - defrostopponent - endmove - -SleepTalk: - checkobedience - usedmovetext - doturn - sleeptalk - endmove - -DestinyBond: - checkobedience - usedmovetext - doturn - destinybond - endmove - -Spite: - checkobedience - usedmovetext - doturn - checkhit - spite - endmove - -FalseSwipe: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - falseswipe - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -HealBell: - checkobedience - usedmovetext - doturn - healbell - endmove - -TripleKick: - checkobedience - usedmovetext - doturn - startloop - lowersub - checkhit - critical - damagestats - damagecalc - triplekick - stab - damagevariation - clearmissdamage - hittargetnosub - failuretext - checkfaint - criticaltext - cleartext - supereffectivelooptext - checkdestinybond - buildopponentrage - kickcounter - endloop - raisesub - kingsrock - endmove - -Thief: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - thief - checkdestinybond - buildopponentrage - kingsrock - endmove - -MeanLook: - checkobedience - usedmovetext - doturn - arenatrap - endmove - -Nightmare: - checkobedience - usedmovetext - doturn - nightmare - endmove - -FlameWheel: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - defrost - checkdestinybond - buildopponentrage - burntarget - endmove - -Curse: - checkobedience - usedmovetext - doturn - curse - endmove - -Protect: - checkobedience - usedmovetext - doturn - protect - endmove - -Spikes: - checkobedience - usedmovetext - doturn - spikes - endmove - -Foresight: - checkobedience - usedmovetext - doturn - checkhit - foresight - endmove - -PerishSong: - checkobedience - usedmovetext - doturn - perishsong - endmove - -Sandstorm: - checkobedience - usedmovetext - doturn - startsandstorm - endmove - -Endure: - checkobedience - usedmovetext - doturn - endure - endmove - -Rollout: - checkcurl - checkobedience - doturn - usedmovetext - critical - damagestats - damagecalc - stab - checkhit - rolloutpower - damagevariation - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Swagger: - checkobedience - usedmovetext - doturn - checkhit - switchturn - attackup2 - switchturn - lowersub - statupanim - raisesub - failuretext - switchturn - statupmessage - switchturn - confusetarget - endmove - -FuryCutter: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - checkhit - furycutter - damagevariation - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Attract: - checkobedience - usedmovetext - doturn - checkhit - attract - endmove - -Return: - checkobedience - usedmovetext - doturn - critical - damagestats - happinesspower - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Present: - checkobedience - usedmovetext - doturn - checkhit - critical - damagestats - present - damagecalc - stab - damagevariation - clearmissdamage - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Frustration: - checkobedience - usedmovetext - doturn - critical - damagestats - frustrationpower - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Safeguard: - checkobedience - usedmovetext - doturn - safeguard - endmove - -SacredFire: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - defrost - checkdestinybond - buildopponentrage - burntarget - endmove - -Magnitude: - checkobedience - usedmovetext - doturn - critical - damagestats - getmagnitude - damagecalc - stab - damagevariation - checkhit - doubleundergrounddamage - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -BatonPass: - checkobedience - usedmovetext - doturn - batonpass - endmove - -Pursuit: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - pursuit - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -RapidSpin: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - clearhazards - checkdestinybond - buildopponentrage - kingsrock - endmove - -MorningSun: - checkobedience - usedmovetext - doturn - healmorn - endmove - -Synthesis: - checkobedience - usedmovetext - doturn - healday - endmove - -Moonlight: - checkobedience - usedmovetext - doturn - healnite - endmove - -HiddenPower: - checkobedience - usedmovetext - doturn - critical - hiddenpower - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -RainDance: - checkobedience - usedmovetext - doturn - startrain - endmove - -SunnyDay: - checkobedience - usedmovetext - doturn - startsun - endmove - -FakeOut: - checkobedience - usedmovetext - doturn - checkhit - fakeout - hittarget - failuretext - endmove - -BellyDrum: - checkobedience - usedmovetext - doturn - bellydrum - endmove - -PsychUp: - checkobedience - usedmovetext - doturn - psychup - endmove - -MirrorCoat: - checkobedience - usedmovetext - doturn - mirrorcoat - hittarget - failuretext - checkfaint - checkdestinybond - buildopponentrage - kingsrock - endmove - -SkullBash: - checkcharge - checkobedience - doturn - charge - usedmovetext - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endturn - defenseup - statupmessage - endmove - -Twister: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - doubleflyingdamage - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - flinchtarget - endmove - -Earthquake: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - doubleundergrounddamage - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - endmove - -FutureSight: - checkfuturesight - checkobedience - usedmovetext - doturn - damagestats - damagecalc - futuresight - damagevariation ; skip here if last turn - checkhit - hittargetnosub - failuretext - checkfaint - checkdestinybond - buildopponentrage - endmove - -Gust: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - doubleflyingdamage - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - endmove - -Stomp: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - stab - damagevariation - doubleminimizedamage - checkhit - effectchance - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - flinchtarget - endmove - -Solarbeam: - checkcharge - checkobedience - doturn - skipsuncharge - charge - usedmovetext - critical - damagestats - damagecalc - stab - damagevariation - checkhit - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - kingsrock - endmove - -Thunder: - checkobedience - usedmovetext - doturn - critical - damagestats - damagecalc - thunderaccuracy - checkhit - effectchance - stab - damagevariation - hittarget - failuretext - checkfaint - criticaltext - supereffectivetext - checkdestinybond - buildopponentrage - paralyzetarget - endmove - -Teleport: - checkobedience - usedmovetext - doturn - teleport - endmove - -BeatUp: - checkobedience - usedmovetext - movedelay - doturn - startloop - lowersub - checkhit - critical - beatup - damagecalc - damagevariation - clearmissdamage - hittargetnosub - failuretext - checkfaint - criticaltext - cleartext - supereffectivetext - checkdestinybond - buildopponentrage - endloop - effect0xa8 - raisesub - kingsrock - endmove - -DefenseCurl: - checkobedience - usedmovetext - doturn - defenseup - curl - lowersub - statupanim - raisesub - statupmessage - statupfailtext - endmove diff --git a/data/moves/move_effects_pointers.asm b/data/moves/move_effects_pointers.asm deleted file mode 100644 index a12092881..000000000 --- a/data/moves/move_effects_pointers.asm +++ /dev/null @@ -1,159 +0,0 @@ -MoveEffectsPointers: ; 271f4 -; entries correspond to EFFECT_* constants - dw NormalHit - dw DoSleep - dw PoisonHit - dw LeechHit - dw BurnHit - dw FreezeHit - dw ParalyzeHit - dw Selfdestruct - dw DreamEater - dw MirrorMove - dw AttackUp - dw DefenseUp - dw SpeedUp - dw SpecialAttackUp - dw SpecialDefenseUp - dw AccuracyUp - dw EvasionUp - dw NormalHit - dw AttackDown - dw DefenseDown - dw SpeedDown - dw SpecialAttackDown - dw SpecialDefenseDown - dw AccuracyDown - dw EvasionDown - dw ResetStats - dw Bide - dw Rampage - dw ForceSwitch - dw MultiHit - dw Conversion - dw FlinchHit - dw Heal - dw Toxic - dw PayDay - dw LightScreen - dw TriAttack - dw NormalHit - dw OHKOHit - dw RazorWind - dw SuperFang - dw StaticDamage - dw TrapTarget - dw NormalHit - dw MultiHit - dw NormalHit - dw Mist - dw FocusEnergy - dw RecoilHit - dw DoConfuse - dw AttackUp2 - dw DefenseUp2 - dw SpeedUp2 - dw SpecialAttackUp2 - dw SpecialDefenseUp2 - dw AccuracyUp2 - dw EvasionUp2 - dw Transform - dw AttackDown2 - dw DefenseDown2 - dw SpeedDown2 - dw SpecialAttackDown2 - dw SpecialDefenseDown2 - dw AccuracyDown2 - dw EvasionDown2 - dw Reflect - dw DoPoison - dw DoParalyze - dw AttackDownHit - dw DefenseDownHit - dw SpeedDownHit - dw SpecialAttackDownHit - dw SpecialDefenseDownHit - dw AccuracyDownHit - dw EvasionDownHit - dw SkyAttack - dw ConfuseHit - dw PoisonMultiHit - dw NormalHit - dw Substitute - dw HyperBeam - dw Rage - dw Mimic - dw Metronome - dw LeechSeed - dw Splash - dw Disable - dw StaticDamage - dw Psywave - dw Counter - dw Encore - dw PainSplit - dw Snore - dw Conversion2 - dw LockOn - dw Sketch - dw DefrostOpponent - dw SleepTalk - dw DestinyBond - dw Reversal - dw Spite - dw FalseSwipe - dw HealBell - dw NormalHit - dw TripleKick - dw Thief - dw MeanLook - dw Nightmare - dw FlameWheel - dw Curse - dw NormalHit - dw Protect - dw Spikes - dw Foresight - dw PerishSong - dw Sandstorm - dw Endure - dw Rollout - dw Swagger - dw FuryCutter - dw Attract - dw Return - dw Present - dw Frustration - dw Safeguard - dw SacredFire - dw Magnitude - dw BatonPass - dw Pursuit - dw RapidSpin - dw NormalHit - dw NormalHit - dw MorningSun - dw Synthesis - dw Moonlight - dw HiddenPower - dw RainDance - dw SunnyDay - dw DefenseUpHit - dw AttackUpHit - dw AllUpHit - dw FakeOut - dw BellyDrum - dw PsychUp - dw MirrorCoat - dw SkullBash - dw Twister - dw Earthquake - dw FutureSight - dw Gust - dw Stomp - dw Solarbeam - dw Thunder - dw Teleport - dw BeatUp - dw Fly - dw DefenseCurl diff --git a/data/moves/move_names.asm b/data/moves/move_names.asm deleted file mode 100644 index cfc7ac54f..000000000 --- a/data/moves/move_names.asm +++ /dev/null @@ -1,252 +0,0 @@ -MoveNames:: - db "POUND@" - db "KARATE CHOP@" - db "DOUBLESLAP@" - db "COMET PUNCH@" - db "MEGA PUNCH@" - db "PAY DAY@" - db "FIRE PUNCH@" - db "ICE PUNCH@" - db "THUNDERPUNCH@" - db "SCRATCH@" - db "VICEGRIP@" - db "GUILLOTINE@" - db "RAZOR WIND@" - db "SWORDS DANCE@" - db "CUT@" - db "GUST@" - db "WING ATTACK@" - db "WHIRLWIND@" - db "FLY@" - db "BIND@" - db "SLAM@" - db "VINE WHIP@" - db "STOMP@" - db "DOUBLE KICK@" - db "MEGA KICK@" - db "JUMP KICK@" - db "ROLLING KICK@" - db "SAND-ATTACK@" - db "HEADBUTT@" - db "HORN ATTACK@" - db "FURY ATTACK@" - db "HORN DRILL@" - db "TACKLE@" - db "BODY SLAM@" - db "WRAP@" - db "TAKE DOWN@" - db "THRASH@" - db "DOUBLE-EDGE@" - db "TAIL WHIP@" - db "POISON STING@" - db "TWINEEDLE@" - db "PIN MISSILE@" - db "LEER@" - db "BITE@" - db "GROWL@" - db "ROAR@" - db "SING@" - db "SUPERSONIC@" - db "SONICBOOM@" - db "DISABLE@" - db "ACID@" - db "EMBER@" - db "FLAMETHROWER@" - db "MIST@" - db "WATER GUN@" - db "HYDRO PUMP@" - db "SURF@" - db "ICE BEAM@" - db "BLIZZARD@" - db "PSYBEAM@" - db "BUBBLEBEAM@" - db "AURORA BEAM@" - db "HYPER BEAM@" - db "PECK@" - db "DRILL PECK@" - db "SUBMISSION@" - db "LOW KICK@" - db "COUNTER@" - db "SEISMIC TOSS@" - db "STRENGTH@" - db "ABSORB@" - db "MEGA DRAIN@" - db "LEECH SEED@" - db "GROWTH@" - db "RAZOR LEAF@" - db "SOLARBEAM@" - db "POISONPOWDER@" - db "STUN SPORE@" - db "SLEEP POWDER@" - db "PETAL DANCE@" - db "STRING SHOT@" - db "DRAGON RAGE@" - db "FIRE SPIN@" - db "THUNDERSHOCK@" - db "THUNDERBOLT@" - db "THUNDER WAVE@" - db "THUNDER@" - db "ROCK THROW@" - db "EARTHQUAKE@" - db "FISSURE@" - db "DIG@" - db "TOXIC@" - db "CONFUSION@" - db "PSYCHIC@" - db "HYPNOSIS@" - db "MEDITATE@" - db "AGILITY@" - db "QUICK ATTACK@" - db "RAGE@" - db "TELEPORT@" - db "NIGHT SHADE@" - db "MIMIC@" - db "SCREECH@" - db "DOUBLE TEAM@" - db "RECOVER@" - db "HARDEN@" - db "MINIMIZE@" - db "SMOKESCREEN@" - db "CONFUSE RAY@" - db "WITHDRAW@" - db "DEFENSE CURL@" - db "BARRIER@" - db "LIGHT SCREEN@" - db "HAZE@" - db "REFLECT@" - db "FOCUS ENERGY@" - db "BIDE@" - db "METRONOME@" - db "MIRROR MOVE@" - db "SELFDESTRUCT@" - db "EGG BOMB@" - db "LICK@" - db "SMOG@" - db "SLUDGE@" - db "BONE CLUB@" - db "FIRE BLAST@" - db "WATERFALL@" - db "CLAMP@" - db "SWIFT@" - db "SKULL BASH@" - db "SPIKE CANNON@" - db "CONSTRICT@" - db "AMNESIA@" - db "KINESIS@" - db "SOFTBOILED@" - db "HI JUMP KICK@" - db "GLARE@" - db "DREAM EATER@" - db "POISON GAS@" - db "BARRAGE@" - db "LEECH LIFE@" - db "LOVELY KISS@" - db "SKY ATTACK@" - db "TRANSFORM@" - db "BUBBLE@" - db "DIZZY PUNCH@" - db "SPORE@" - db "FLASH@" - db "PSYWAVE@" - db "SPLASH@" - db "ACID ARMOR@" - db "CRABHAMMER@" - db "EXPLOSION@" - db "FURY SWIPES@" - db "BONEMERANG@" - db "REST@" - db "ROCK SLIDE@" - db "HYPER FANG@" - db "SHARPEN@" - db "CONVERSION@" - db "TRI ATTACK@" - db "SUPER FANG@" - db "SLASH@" - db "SUBSTITUTE@" - db "STRUGGLE@" - db "SKETCH@" - db "TRIPLE KICK@" - db "THIEF@" - db "SPIDER WEB@" - db "MIND READER@" - db "NIGHTMARE@" - db "FLAME WHEEL@" - db "SNORE@" - db "CURSE@" - db "FLAIL@" - db "CONVERSION2@" - db "AEROBLAST@" - db "COTTON SPORE@" - db "REVERSAL@" - db "SPITE@" - db "POWDER SNOW@" - db "PROTECT@" - db "MACH PUNCH@" - db "SCARY FACE@" - db "FAINT ATTACK@" - db "SWEET KISS@" - db "BELLY DRUM@" - db "SLUDGE BOMB@" - db "MUD-SLAP@" - db "OCTAZOOKA@" - db "SPIKES@" - db "ZAP CANNON@" - db "FORESIGHT@" - db "DESTINY BOND@" - db "PERISH SONG@" - db "ICY WIND@" - db "DETECT@" - db "BONE RUSH@" - db "LOCK-ON@" - db "OUTRAGE@" - db "SANDSTORM@" - db "GIGA DRAIN@" - db "ENDURE@" - db "CHARM@" - db "ROLLOUT@" - db "FALSE SWIPE@" - db "SWAGGER@" - db "MILK DRINK@" - db "SPARK@" - db "FURY CUTTER@" - db "STEEL WING@" - db "MEAN LOOK@" - db "ATTRACT@" - db "SLEEP TALK@" - db "HEAL BELL@" - db "RETURN@" - db "PRESENT@" - db "FRUSTRATION@" - db "SAFEGUARD@" - db "PAIN SPLIT@" - db "SACRED FIRE@" - db "MAGNITUDE@" - db "DYNAMICPUNCH@" - db "MEGAHORN@" - db "DRAGONBREATH@" - db "BATON PASS@" - db "ENCORE@" - db "PURSUIT@" - db "RAPID SPIN@" - db "SWEET SCENT@" - db "IRON TAIL@" - db "METAL CLAW@" - db "VITAL THROW@" - db "MORNING SUN@" - db "SYNTHESIS@" - db "MOONLIGHT@" - db "HIDDEN POWER@" - db "CROSS CHOP@" - db "TWISTER@" - db "RAIN DANCE@" - db "SUNNY DAY@" - db "CRUNCH@" - db "MIRROR COAT@" - db "PSYCH UP@" - db "EXTREMESPEED@" - db "ANCIENTPOWER@" - db "SHADOW BALL@" - db "FUTURE SIGHT@" - db "ROCK SMASH@" - db "WHIRLPOOL@" - db "BEAT UP@" diff --git a/data/moves/names.asm b/data/moves/names.asm new file mode 100644 index 000000000..cfc7ac54f --- /dev/null +++ b/data/moves/names.asm @@ -0,0 +1,252 @@ +MoveNames:: + db "POUND@" + db "KARATE CHOP@" + db "DOUBLESLAP@" + db "COMET PUNCH@" + db "MEGA PUNCH@" + db "PAY DAY@" + db "FIRE PUNCH@" + db "ICE PUNCH@" + db "THUNDERPUNCH@" + db "SCRATCH@" + db "VICEGRIP@" + db "GUILLOTINE@" + db "RAZOR WIND@" + db "SWORDS DANCE@" + db "CUT@" + db "GUST@" + db "WING ATTACK@" + db "WHIRLWIND@" + db "FLY@" + db "BIND@" + db "SLAM@" + db "VINE WHIP@" + db "STOMP@" + db "DOUBLE KICK@" + db "MEGA KICK@" + db "JUMP KICK@" + db "ROLLING KICK@" + db "SAND-ATTACK@" + db "HEADBUTT@" + db "HORN ATTACK@" + db "FURY ATTACK@" + db "HORN DRILL@" + db "TACKLE@" + db "BODY SLAM@" + db "WRAP@" + db "TAKE DOWN@" + db "THRASH@" + db "DOUBLE-EDGE@" + db "TAIL WHIP@" + db "POISON STING@" + db "TWINEEDLE@" + db "PIN MISSILE@" + db "LEER@" + db "BITE@" + db "GROWL@" + db "ROAR@" + db "SING@" + db "SUPERSONIC@" + db "SONICBOOM@" + db "DISABLE@" + db "ACID@" + db "EMBER@" + db "FLAMETHROWER@" + db "MIST@" + db "WATER GUN@" + db "HYDRO PUMP@" + db "SURF@" + db "ICE BEAM@" + db "BLIZZARD@" + db "PSYBEAM@" + db "BUBBLEBEAM@" + db "AURORA BEAM@" + db "HYPER BEAM@" + db "PECK@" + db "DRILL PECK@" + db "SUBMISSION@" + db "LOW KICK@" + db "COUNTER@" + db "SEISMIC TOSS@" + db "STRENGTH@" + db "ABSORB@" + db "MEGA DRAIN@" + db "LEECH SEED@" + db "GROWTH@" + db "RAZOR LEAF@" + db "SOLARBEAM@" + db "POISONPOWDER@" + db "STUN SPORE@" + db "SLEEP POWDER@" + db "PETAL DANCE@" + db "STRING SHOT@" + db "DRAGON RAGE@" + db "FIRE SPIN@" + db "THUNDERSHOCK@" + db "THUNDERBOLT@" + db "THUNDER WAVE@" + db "THUNDER@" + db "ROCK THROW@" + db "EARTHQUAKE@" + db "FISSURE@" + db "DIG@" + db "TOXIC@" + db "CONFUSION@" + db "PSYCHIC@" + db "HYPNOSIS@" + db "MEDITATE@" + db "AGILITY@" + db "QUICK ATTACK@" + db "RAGE@" + db "TELEPORT@" + db "NIGHT SHADE@" + db "MIMIC@" + db "SCREECH@" + db "DOUBLE TEAM@" + db "RECOVER@" + db "HARDEN@" + db "MINIMIZE@" + db "SMOKESCREEN@" + db "CONFUSE RAY@" + db "WITHDRAW@" + db "DEFENSE CURL@" + db "BARRIER@" + db "LIGHT SCREEN@" + db "HAZE@" + db "REFLECT@" + db "FOCUS ENERGY@" + db "BIDE@" + db "METRONOME@" + db "MIRROR MOVE@" + db "SELFDESTRUCT@" + db "EGG BOMB@" + db "LICK@" + db "SMOG@" + db "SLUDGE@" + db "BONE CLUB@" + db "FIRE BLAST@" + db "WATERFALL@" + db "CLAMP@" + db "SWIFT@" + db "SKULL BASH@" + db "SPIKE CANNON@" + db "CONSTRICT@" + db "AMNESIA@" + db "KINESIS@" + db "SOFTBOILED@" + db "HI JUMP KICK@" + db "GLARE@" + db "DREAM EATER@" + db "POISON GAS@" + db "BARRAGE@" + db "LEECH LIFE@" + db "LOVELY KISS@" + db "SKY ATTACK@" + db "TRANSFORM@" + db "BUBBLE@" + db "DIZZY PUNCH@" + db "SPORE@" + db "FLASH@" + db "PSYWAVE@" + db "SPLASH@" + db "ACID ARMOR@" + db "CRABHAMMER@" + db "EXPLOSION@" + db "FURY SWIPES@" + db "BONEMERANG@" + db "REST@" + db "ROCK SLIDE@" + db "HYPER FANG@" + db "SHARPEN@" + db "CONVERSION@" + db "TRI ATTACK@" + db "SUPER FANG@" + db "SLASH@" + db "SUBSTITUTE@" + db "STRUGGLE@" + db "SKETCH@" + db "TRIPLE KICK@" + db "THIEF@" + db "SPIDER WEB@" + db "MIND READER@" + db "NIGHTMARE@" + db "FLAME WHEEL@" + db "SNORE@" + db "CURSE@" + db "FLAIL@" + db "CONVERSION2@" + db "AEROBLAST@" + db "COTTON SPORE@" + db "REVERSAL@" + db "SPITE@" + db "POWDER SNOW@" + db "PROTECT@" + db "MACH PUNCH@" + db "SCARY FACE@" + db "FAINT ATTACK@" + db "SWEET KISS@" + db "BELLY DRUM@" + db "SLUDGE BOMB@" + db "MUD-SLAP@" + db "OCTAZOOKA@" + db "SPIKES@" + db "ZAP CANNON@" + db "FORESIGHT@" + db "DESTINY BOND@" + db "PERISH SONG@" + db "ICY WIND@" + db "DETECT@" + db "BONE RUSH@" + db "LOCK-ON@" + db "OUTRAGE@" + db "SANDSTORM@" + db "GIGA DRAIN@" + db "ENDURE@" + db "CHARM@" + db "ROLLOUT@" + db "FALSE SWIPE@" + db "SWAGGER@" + db "MILK DRINK@" + db "SPARK@" + db "FURY CUTTER@" + db "STEEL WING@" + db "MEAN LOOK@" + db "ATTRACT@" + db "SLEEP TALK@" + db "HEAL BELL@" + db "RETURN@" + db "PRESENT@" + db "FRUSTRATION@" + db "SAFEGUARD@" + db "PAIN SPLIT@" + db "SACRED FIRE@" + db "MAGNITUDE@" + db "DYNAMICPUNCH@" + db "MEGAHORN@" + db "DRAGONBREATH@" + db "BATON PASS@" + db "ENCORE@" + db "PURSUIT@" + db "RAPID SPIN@" + db "SWEET SCENT@" + db "IRON TAIL@" + db "METAL CLAW@" + db "VITAL THROW@" + db "MORNING SUN@" + db "SYNTHESIS@" + db "MOONLIGHT@" + db "HIDDEN POWER@" + db "CROSS CHOP@" + db "TWISTER@" + db "RAIN DANCE@" + db "SUNNY DAY@" + db "CRUNCH@" + db "MIRROR COAT@" + db "PSYCH UP@" + db "EXTREMESPEED@" + db "ANCIENTPOWER@" + db "SHADOW BALL@" + db "FUTURE SIGHT@" + db "ROCK SMASH@" + db "WHIRLPOOL@" + db "BEAT UP@" diff --git a/data/palettes/pokemon_palettes.asm b/data/palettes/pokemon_palettes.asm deleted file mode 100644 index 2e47bbdaf..000000000 --- a/data/palettes/pokemon_palettes.asm +++ /dev/null @@ -1,542 +0,0 @@ -PokemonPalettes: ; a8ce -; entries correspond to Pokémon species, two apiece - -; 000 - RGB 30, 22, 17 - RGB 16, 14, 19 -; 000 shiny - RGB 30, 22, 17 - RGB 16, 14, 19 - -INCLUDE "gfx/pokemon/bulbasaur/normal.pal" -INCLUDE "gfx/pokemon/bulbasaur/shiny.pal" -INCLUDE "gfx/pokemon/ivysaur/normal.pal" -INCLUDE "gfx/pokemon/ivysaur/shiny.pal" -INCLUDE "gfx/pokemon/venusaur/normal.pal" -INCLUDE "gfx/pokemon/venusaur/shiny.pal" -INCLUDE "gfx/pokemon/charmander/normal.pal" -INCLUDE "gfx/pokemon/charmander/shiny.pal" -INCLUDE "gfx/pokemon/charmeleon/normal.pal" -INCLUDE "gfx/pokemon/charmeleon/shiny.pal" -INCLUDE "gfx/pokemon/charizard/normal.pal" -INCLUDE "gfx/pokemon/charizard/shiny.pal" -INCLUDE "gfx/pokemon/squirtle/normal.pal" -INCLUDE "gfx/pokemon/squirtle/shiny.pal" -INCLUDE "gfx/pokemon/wartortle/normal.pal" -INCLUDE "gfx/pokemon/wartortle/shiny.pal" -INCLUDE "gfx/pokemon/blastoise/normal.pal" -INCLUDE "gfx/pokemon/blastoise/shiny.pal" -INCLUDE "gfx/pokemon/caterpie/normal.pal" -INCLUDE "gfx/pokemon/caterpie/shiny.pal" -INCLUDE "gfx/pokemon/metapod/normal.pal" -INCLUDE "gfx/pokemon/metapod/shiny.pal" -INCLUDE "gfx/pokemon/butterfree/normal.pal" -INCLUDE "gfx/pokemon/butterfree/shiny.pal" -INCLUDE "gfx/pokemon/weedle/normal.pal" -INCLUDE "gfx/pokemon/weedle/shiny.pal" -INCLUDE "gfx/pokemon/kakuna/normal.pal" -INCLUDE "gfx/pokemon/kakuna/shiny.pal" -INCLUDE "gfx/pokemon/beedrill/normal.pal" -INCLUDE "gfx/pokemon/beedrill/shiny.pal" -INCLUDE "gfx/pokemon/pidgey/normal.pal" -INCLUDE "gfx/pokemon/pidgey/shiny.pal" -INCLUDE "gfx/pokemon/pidgeotto/normal.pal" -INCLUDE "gfx/pokemon/pidgeotto/shiny.pal" -INCLUDE "gfx/pokemon/pidgeot/normal.pal" -INCLUDE "gfx/pokemon/pidgeot/shiny.pal" -INCLUDE "gfx/pokemon/rattata/normal.pal" -INCLUDE "gfx/pokemon/rattata/shiny.pal" -INCLUDE "gfx/pokemon/raticate/normal.pal" -INCLUDE "gfx/pokemon/raticate/shiny.pal" -INCLUDE "gfx/pokemon/spearow/normal.pal" -INCLUDE "gfx/pokemon/spearow/shiny.pal" -INCLUDE "gfx/pokemon/fearow/normal.pal" -INCLUDE "gfx/pokemon/fearow/shiny.pal" -INCLUDE "gfx/pokemon/ekans/normal.pal" -INCLUDE "gfx/pokemon/ekans/shiny.pal" -INCLUDE "gfx/pokemon/arbok/normal.pal" -INCLUDE "gfx/pokemon/arbok/shiny.pal" -INCLUDE "gfx/pokemon/pikachu/normal.pal" -INCLUDE "gfx/pokemon/pikachu/shiny.pal" -INCLUDE "gfx/pokemon/raichu/normal.pal" -INCLUDE "gfx/pokemon/raichu/shiny.pal" -INCLUDE "gfx/pokemon/sandshrew/normal.pal" -INCLUDE "gfx/pokemon/sandshrew/shiny.pal" -INCLUDE "gfx/pokemon/sandslash/normal.pal" -INCLUDE "gfx/pokemon/sandslash/shiny.pal" -INCLUDE "gfx/pokemon/nidoran_f/normal.pal" -INCLUDE "gfx/pokemon/nidoran_f/shiny.pal" -INCLUDE "gfx/pokemon/nidorina/normal.pal" -INCLUDE "gfx/pokemon/nidorina/shiny.pal" -INCLUDE "gfx/pokemon/nidoqueen/normal.pal" -INCLUDE "gfx/pokemon/nidoqueen/shiny.pal" -INCLUDE "gfx/pokemon/nidoran_m/normal.pal" -INCLUDE "gfx/pokemon/nidoran_m/shiny.pal" -INCLUDE "gfx/pokemon/nidorino/normal.pal" -INCLUDE "gfx/pokemon/nidorino/shiny.pal" -INCLUDE "gfx/pokemon/nidoking/normal.pal" -INCLUDE "gfx/pokemon/nidoking/shiny.pal" -INCLUDE "gfx/pokemon/clefairy/normal.pal" -INCLUDE "gfx/pokemon/clefairy/shiny.pal" -INCLUDE "gfx/pokemon/clefable/normal.pal" -INCLUDE "gfx/pokemon/clefable/shiny.pal" -INCLUDE "gfx/pokemon/vulpix/normal.pal" -INCLUDE "gfx/pokemon/vulpix/shiny.pal" -INCLUDE "gfx/pokemon/ninetales/normal.pal" -INCLUDE "gfx/pokemon/ninetales/shiny.pal" -INCLUDE "gfx/pokemon/jigglypuff/normal.pal" -INCLUDE "gfx/pokemon/jigglypuff/shiny.pal" -INCLUDE "gfx/pokemon/wigglytuff/normal.pal" -INCLUDE "gfx/pokemon/wigglytuff/shiny.pal" -INCLUDE "gfx/pokemon/zubat/normal.pal" -INCLUDE "gfx/pokemon/zubat/shiny.pal" -INCLUDE "gfx/pokemon/golbat/normal.pal" -INCLUDE "gfx/pokemon/golbat/shiny.pal" -INCLUDE "gfx/pokemon/oddish/normal.pal" -INCLUDE "gfx/pokemon/oddish/shiny.pal" -INCLUDE "gfx/pokemon/gloom/normal.pal" -INCLUDE "gfx/pokemon/gloom/shiny.pal" -INCLUDE "gfx/pokemon/vileplume/normal.pal" -INCLUDE "gfx/pokemon/vileplume/shiny.pal" -INCLUDE "gfx/pokemon/paras/normal.pal" -INCLUDE "gfx/pokemon/paras/shiny.pal" -INCLUDE "gfx/pokemon/parasect/normal.pal" -INCLUDE "gfx/pokemon/parasect/shiny.pal" -INCLUDE "gfx/pokemon/venonat/normal.pal" -INCLUDE "gfx/pokemon/venonat/shiny.pal" -INCLUDE "gfx/pokemon/venomoth/normal.pal" -INCLUDE "gfx/pokemon/venomoth/shiny.pal" -INCLUDE "gfx/pokemon/diglett/normal.pal" -INCLUDE "gfx/pokemon/diglett/shiny.pal" -INCLUDE "gfx/pokemon/dugtrio/normal.pal" -INCLUDE "gfx/pokemon/dugtrio/shiny.pal" -INCLUDE "gfx/pokemon/meowth/normal.pal" -INCLUDE "gfx/pokemon/meowth/shiny.pal" -INCLUDE "gfx/pokemon/persian/normal.pal" -INCLUDE "gfx/pokemon/persian/shiny.pal" -INCLUDE "gfx/pokemon/psyduck/normal.pal" -INCLUDE "gfx/pokemon/psyduck/shiny.pal" -INCLUDE "gfx/pokemon/golduck/normal.pal" -INCLUDE "gfx/pokemon/golduck/shiny.pal" -INCLUDE "gfx/pokemon/mankey/normal.pal" -INCLUDE "gfx/pokemon/mankey/shiny.pal" -INCLUDE "gfx/pokemon/primeape/normal.pal" -INCLUDE "gfx/pokemon/primeape/shiny.pal" -INCLUDE "gfx/pokemon/growlithe/normal.pal" -INCLUDE "gfx/pokemon/growlithe/shiny.pal" -INCLUDE "gfx/pokemon/arcanine/normal.pal" -INCLUDE "gfx/pokemon/arcanine/shiny.pal" -INCLUDE "gfx/pokemon/poliwag/normal.pal" -INCLUDE "gfx/pokemon/poliwag/shiny.pal" -INCLUDE "gfx/pokemon/poliwhirl/normal.pal" -INCLUDE "gfx/pokemon/poliwhirl/shiny.pal" -INCLUDE "gfx/pokemon/poliwrath/normal.pal" -INCLUDE "gfx/pokemon/poliwrath/shiny.pal" -INCLUDE "gfx/pokemon/abra/normal.pal" -INCLUDE "gfx/pokemon/abra/shiny.pal" -INCLUDE "gfx/pokemon/kadabra/normal.pal" -INCLUDE "gfx/pokemon/kadabra/shiny.pal" -INCLUDE "gfx/pokemon/alakazam/normal.pal" -INCLUDE "gfx/pokemon/alakazam/shiny.pal" -INCLUDE "gfx/pokemon/machop/normal.pal" -INCLUDE "gfx/pokemon/machop/shiny.pal" -INCLUDE "gfx/pokemon/machoke/normal.pal" -INCLUDE "gfx/pokemon/machoke/shiny.pal" -INCLUDE "gfx/pokemon/machamp/normal.pal" -INCLUDE "gfx/pokemon/machamp/shiny.pal" -INCLUDE "gfx/pokemon/bellsprout/normal.pal" -INCLUDE "gfx/pokemon/bellsprout/shiny.pal" -INCLUDE "gfx/pokemon/weepinbell/normal.pal" -INCLUDE "gfx/pokemon/weepinbell/shiny.pal" -INCLUDE "gfx/pokemon/victreebel/normal.pal" -INCLUDE "gfx/pokemon/victreebel/shiny.pal" -INCLUDE "gfx/pokemon/tentacool/normal.pal" -INCLUDE "gfx/pokemon/tentacool/shiny.pal" -INCLUDE "gfx/pokemon/tentacruel/normal.pal" -INCLUDE "gfx/pokemon/tentacruel/shiny.pal" -INCLUDE "gfx/pokemon/geodude/normal.pal" -INCLUDE "gfx/pokemon/geodude/shiny.pal" -INCLUDE "gfx/pokemon/graveler/normal.pal" -INCLUDE "gfx/pokemon/graveler/shiny.pal" -INCLUDE "gfx/pokemon/golem/normal.pal" -INCLUDE "gfx/pokemon/golem/shiny.pal" -INCLUDE "gfx/pokemon/ponyta/normal.pal" -INCLUDE "gfx/pokemon/ponyta/shiny.pal" -INCLUDE "gfx/pokemon/rapidash/normal.pal" -INCLUDE "gfx/pokemon/rapidash/shiny.pal" -INCLUDE "gfx/pokemon/slowpoke/normal.pal" -INCLUDE "gfx/pokemon/slowpoke/shiny.pal" -INCLUDE "gfx/pokemon/slowbro/normal.pal" -INCLUDE "gfx/pokemon/slowbro/shiny.pal" -INCLUDE "gfx/pokemon/magnemite/normal.pal" -INCLUDE "gfx/pokemon/magnemite/shiny.pal" -INCLUDE "gfx/pokemon/magneton/normal.pal" -INCLUDE "gfx/pokemon/magneton/shiny.pal" -INCLUDE "gfx/pokemon/farfetch_d/normal.pal" -INCLUDE "gfx/pokemon/farfetch_d/shiny.pal" -INCLUDE "gfx/pokemon/doduo/normal.pal" -INCLUDE "gfx/pokemon/doduo/shiny.pal" -INCLUDE "gfx/pokemon/dodrio/normal.pal" -INCLUDE "gfx/pokemon/dodrio/shiny.pal" -INCLUDE "gfx/pokemon/seel/normal.pal" -INCLUDE "gfx/pokemon/seel/shiny.pal" -INCLUDE "gfx/pokemon/dewgong/normal.pal" -INCLUDE "gfx/pokemon/dewgong/shiny.pal" -INCLUDE "gfx/pokemon/grimer/normal.pal" -INCLUDE "gfx/pokemon/grimer/shiny.pal" -INCLUDE "gfx/pokemon/muk/normal.pal" -INCLUDE "gfx/pokemon/muk/shiny.pal" -INCLUDE "gfx/pokemon/shellder/normal.pal" -INCLUDE "gfx/pokemon/shellder/shiny.pal" -INCLUDE "gfx/pokemon/cloyster/normal.pal" -INCLUDE "gfx/pokemon/cloyster/shiny.pal" -INCLUDE "gfx/pokemon/gastly/normal.pal" -INCLUDE "gfx/pokemon/gastly/shiny.pal" -INCLUDE "gfx/pokemon/haunter/normal.pal" -INCLUDE "gfx/pokemon/haunter/shiny.pal" -INCLUDE "gfx/pokemon/gengar/normal.pal" -INCLUDE "gfx/pokemon/gengar/shiny.pal" -INCLUDE "gfx/pokemon/onix/normal.pal" -INCLUDE "gfx/pokemon/onix/shiny.pal" -INCLUDE "gfx/pokemon/drowzee/normal.pal" -INCLUDE "gfx/pokemon/drowzee/shiny.pal" -INCLUDE "gfx/pokemon/hypno/normal.pal" -INCLUDE "gfx/pokemon/hypno/shiny.pal" -INCLUDE "gfx/pokemon/krabby/normal.pal" -INCLUDE "gfx/pokemon/krabby/shiny.pal" -INCLUDE "gfx/pokemon/kingler/normal.pal" -INCLUDE "gfx/pokemon/kingler/shiny.pal" -INCLUDE "gfx/pokemon/voltorb/normal.pal" -INCLUDE "gfx/pokemon/voltorb/shiny.pal" -INCLUDE "gfx/pokemon/electrode/normal.pal" -INCLUDE "gfx/pokemon/electrode/shiny.pal" -INCLUDE "gfx/pokemon/exeggcute/normal.pal" -INCLUDE "gfx/pokemon/exeggcute/shiny.pal" -INCLUDE "gfx/pokemon/exeggutor/normal.pal" -INCLUDE "gfx/pokemon/exeggutor/shiny.pal" -INCLUDE "gfx/pokemon/cubone/normal.pal" -INCLUDE "gfx/pokemon/cubone/shiny.pal" -INCLUDE "gfx/pokemon/marowak/normal.pal" -INCLUDE "gfx/pokemon/marowak/shiny.pal" -INCLUDE "gfx/pokemon/hitmonlee/normal.pal" -INCLUDE "gfx/pokemon/hitmonlee/shiny.pal" -INCLUDE "gfx/pokemon/hitmonchan/normal.pal" -INCLUDE "gfx/pokemon/hitmonchan/shiny.pal" -INCLUDE "gfx/pokemon/lickitung/normal.pal" -INCLUDE "gfx/pokemon/lickitung/shiny.pal" -INCLUDE "gfx/pokemon/koffing/normal.pal" -INCLUDE "gfx/pokemon/koffing/shiny.pal" -INCLUDE "gfx/pokemon/weezing/normal.pal" -INCLUDE "gfx/pokemon/weezing/shiny.pal" -INCLUDE "gfx/pokemon/rhyhorn/normal.pal" -INCLUDE "gfx/pokemon/rhyhorn/shiny.pal" -INCLUDE "gfx/pokemon/rhydon/normal.pal" -INCLUDE "gfx/pokemon/rhydon/shiny.pal" -INCLUDE "gfx/pokemon/chansey/normal.pal" -INCLUDE "gfx/pokemon/chansey/shiny.pal" -INCLUDE "gfx/pokemon/tangela/normal.pal" -INCLUDE "gfx/pokemon/tangela/shiny.pal" -INCLUDE "gfx/pokemon/kangaskhan/normal.pal" -INCLUDE "gfx/pokemon/kangaskhan/shiny.pal" -INCLUDE "gfx/pokemon/horsea/normal.pal" -INCLUDE "gfx/pokemon/horsea/shiny.pal" -INCLUDE "gfx/pokemon/seadra/normal.pal" -INCLUDE "gfx/pokemon/seadra/shiny.pal" -INCLUDE "gfx/pokemon/goldeen/normal.pal" -INCLUDE "gfx/pokemon/goldeen/shiny.pal" -INCLUDE "gfx/pokemon/seaking/normal.pal" -INCLUDE "gfx/pokemon/seaking/shiny.pal" -INCLUDE "gfx/pokemon/staryu/normal.pal" -INCLUDE "gfx/pokemon/staryu/shiny.pal" -INCLUDE "gfx/pokemon/starmie/normal.pal" -INCLUDE "gfx/pokemon/starmie/shiny.pal" -INCLUDE "gfx/pokemon/mr__mime/normal.pal" -INCLUDE "gfx/pokemon/mr__mime/shiny.pal" -INCLUDE "gfx/pokemon/scyther/normal.pal" -INCLUDE "gfx/pokemon/scyther/shiny.pal" -INCLUDE "gfx/pokemon/jynx/normal.pal" -INCLUDE "gfx/pokemon/jynx/shiny.pal" -INCLUDE "gfx/pokemon/electabuzz/normal.pal" -INCLUDE "gfx/pokemon/electabuzz/shiny.pal" -INCLUDE "gfx/pokemon/magmar/normal.pal" -INCLUDE "gfx/pokemon/magmar/shiny.pal" -INCLUDE "gfx/pokemon/pinsir/normal.pal" -INCLUDE "gfx/pokemon/pinsir/shiny.pal" -INCLUDE "gfx/pokemon/tauros/normal.pal" -INCLUDE "gfx/pokemon/tauros/shiny.pal" -INCLUDE "gfx/pokemon/magikarp/normal.pal" -INCLUDE "gfx/pokemon/magikarp/shiny.pal" -INCLUDE "gfx/pokemon/gyarados/normal.pal" -INCLUDE "gfx/pokemon/gyarados/shiny.pal" -INCLUDE "gfx/pokemon/lapras/normal.pal" -INCLUDE "gfx/pokemon/lapras/shiny.pal" -INCLUDE "gfx/pokemon/ditto/normal.pal" -INCLUDE "gfx/pokemon/ditto/shiny.pal" -INCLUDE "gfx/pokemon/eevee/normal.pal" -INCLUDE "gfx/pokemon/eevee/shiny.pal" -INCLUDE "gfx/pokemon/vaporeon/normal.pal" -INCLUDE "gfx/pokemon/vaporeon/shiny.pal" -INCLUDE "gfx/pokemon/jolteon/normal.pal" -INCLUDE "gfx/pokemon/jolteon/shiny.pal" -INCLUDE "gfx/pokemon/flareon/normal.pal" -INCLUDE "gfx/pokemon/flareon/shiny.pal" -INCLUDE "gfx/pokemon/porygon/normal.pal" -INCLUDE "gfx/pokemon/porygon/shiny.pal" -INCLUDE "gfx/pokemon/omanyte/normal.pal" -INCLUDE "gfx/pokemon/omanyte/shiny.pal" -INCLUDE "gfx/pokemon/omastar/normal.pal" -INCLUDE "gfx/pokemon/omastar/shiny.pal" -INCLUDE "gfx/pokemon/kabuto/normal.pal" -INCLUDE "gfx/pokemon/kabuto/shiny.pal" -INCLUDE "gfx/pokemon/kabutops/normal.pal" -INCLUDE "gfx/pokemon/kabutops/shiny.pal" -INCLUDE "gfx/pokemon/aerodactyl/normal.pal" -INCLUDE "gfx/pokemon/aerodactyl/shiny.pal" -INCLUDE "gfx/pokemon/snorlax/normal.pal" -INCLUDE "gfx/pokemon/snorlax/shiny.pal" -INCLUDE "gfx/pokemon/articuno/normal.pal" -INCLUDE "gfx/pokemon/articuno/shiny.pal" -INCLUDE "gfx/pokemon/zapdos/normal.pal" -INCLUDE "gfx/pokemon/zapdos/shiny.pal" -INCLUDE "gfx/pokemon/moltres/normal.pal" -INCLUDE "gfx/pokemon/moltres/shiny.pal" -INCLUDE "gfx/pokemon/dratini/normal.pal" -INCLUDE "gfx/pokemon/dratini/shiny.pal" -INCLUDE "gfx/pokemon/dragonair/normal.pal" -INCLUDE "gfx/pokemon/dragonair/shiny.pal" -INCLUDE "gfx/pokemon/dragonite/normal.pal" -INCLUDE "gfx/pokemon/dragonite/shiny.pal" -INCLUDE "gfx/pokemon/mewtwo/normal.pal" -INCLUDE "gfx/pokemon/mewtwo/shiny.pal" -INCLUDE "gfx/pokemon/mew/normal.pal" -INCLUDE "gfx/pokemon/mew/shiny.pal" -INCLUDE "gfx/pokemon/chikorita/normal.pal" -INCLUDE "gfx/pokemon/chikorita/shiny.pal" -INCLUDE "gfx/pokemon/bayleef/normal.pal" -INCLUDE "gfx/pokemon/bayleef/shiny.pal" -INCLUDE "gfx/pokemon/meganium/normal.pal" -INCLUDE "gfx/pokemon/meganium/shiny.pal" -INCLUDE "gfx/pokemon/cyndaquil/normal.pal" -INCLUDE "gfx/pokemon/cyndaquil/shiny.pal" -INCLUDE "gfx/pokemon/quilava/normal.pal" -INCLUDE "gfx/pokemon/quilava/shiny.pal" -INCLUDE "gfx/pokemon/typhlosion/normal.pal" -INCLUDE "gfx/pokemon/typhlosion/shiny.pal" -INCLUDE "gfx/pokemon/totodile/normal.pal" -INCLUDE "gfx/pokemon/totodile/shiny.pal" -INCLUDE "gfx/pokemon/croconaw/normal.pal" -INCLUDE "gfx/pokemon/croconaw/shiny.pal" -INCLUDE "gfx/pokemon/feraligatr/normal.pal" -INCLUDE "gfx/pokemon/feraligatr/shiny.pal" -INCLUDE "gfx/pokemon/sentret/normal.pal" -INCLUDE "gfx/pokemon/sentret/shiny.pal" -INCLUDE "gfx/pokemon/furret/normal.pal" -INCLUDE "gfx/pokemon/furret/shiny.pal" -INCLUDE "gfx/pokemon/hoothoot/normal.pal" -INCLUDE "gfx/pokemon/hoothoot/shiny.pal" -INCLUDE "gfx/pokemon/noctowl/normal.pal" -INCLUDE "gfx/pokemon/noctowl/shiny.pal" -INCLUDE "gfx/pokemon/ledyba/normal.pal" -INCLUDE "gfx/pokemon/ledyba/shiny.pal" -INCLUDE "gfx/pokemon/ledian/normal.pal" -INCLUDE "gfx/pokemon/ledian/shiny.pal" -INCLUDE "gfx/pokemon/spinarak/normal.pal" -INCLUDE "gfx/pokemon/spinarak/shiny.pal" -INCLUDE "gfx/pokemon/ariados/normal.pal" -INCLUDE "gfx/pokemon/ariados/shiny.pal" -INCLUDE "gfx/pokemon/crobat/normal.pal" -INCLUDE "gfx/pokemon/crobat/shiny.pal" -INCLUDE "gfx/pokemon/chinchou/normal.pal" -INCLUDE "gfx/pokemon/chinchou/shiny.pal" -INCLUDE "gfx/pokemon/lanturn/normal.pal" -INCLUDE "gfx/pokemon/lanturn/shiny.pal" -INCLUDE "gfx/pokemon/pichu/normal.pal" -INCLUDE "gfx/pokemon/pichu/shiny.pal" -INCLUDE "gfx/pokemon/cleffa/normal.pal" -INCLUDE "gfx/pokemon/cleffa/shiny.pal" -INCLUDE "gfx/pokemon/igglybuff/normal.pal" -INCLUDE "gfx/pokemon/igglybuff/shiny.pal" -INCLUDE "gfx/pokemon/togepi/normal.pal" -INCLUDE "gfx/pokemon/togepi/shiny.pal" -INCLUDE "gfx/pokemon/togetic/normal.pal" -INCLUDE "gfx/pokemon/togetic/shiny.pal" -INCLUDE "gfx/pokemon/natu/normal.pal" -INCLUDE "gfx/pokemon/natu/shiny.pal" -INCLUDE "gfx/pokemon/xatu/normal.pal" -INCLUDE "gfx/pokemon/xatu/shiny.pal" -INCLUDE "gfx/pokemon/mareep/normal.pal" -INCLUDE "gfx/pokemon/mareep/shiny.pal" -INCLUDE "gfx/pokemon/flaaffy/normal.pal" -INCLUDE "gfx/pokemon/flaaffy/shiny.pal" -INCLUDE "gfx/pokemon/ampharos/normal.pal" -INCLUDE "gfx/pokemon/ampharos/shiny.pal" -INCLUDE "gfx/pokemon/bellossom/normal.pal" -INCLUDE "gfx/pokemon/bellossom/shiny.pal" -INCLUDE "gfx/pokemon/marill/normal.pal" -INCLUDE "gfx/pokemon/marill/shiny.pal" -INCLUDE "gfx/pokemon/azumarill/normal.pal" -INCLUDE "gfx/pokemon/azumarill/shiny.pal" -INCLUDE "gfx/pokemon/sudowoodo/normal.pal" -INCLUDE "gfx/pokemon/sudowoodo/shiny.pal" -INCLUDE "gfx/pokemon/politoed/normal.pal" -INCLUDE "gfx/pokemon/politoed/shiny.pal" -INCLUDE "gfx/pokemon/hoppip/normal.pal" -INCLUDE "gfx/pokemon/hoppip/shiny.pal" -INCLUDE "gfx/pokemon/skiploom/normal.pal" -INCLUDE "gfx/pokemon/skiploom/shiny.pal" -INCLUDE "gfx/pokemon/jumpluff/normal.pal" -INCLUDE "gfx/pokemon/jumpluff/shiny.pal" -INCLUDE "gfx/pokemon/aipom/normal.pal" -INCLUDE "gfx/pokemon/aipom/shiny.pal" -INCLUDE "gfx/pokemon/sunkern/normal.pal" -INCLUDE "gfx/pokemon/sunkern/shiny.pal" -INCLUDE "gfx/pokemon/sunflora/normal.pal" -INCLUDE "gfx/pokemon/sunflora/shiny.pal" -INCLUDE "gfx/pokemon/yanma/normal.pal" -INCLUDE "gfx/pokemon/yanma/shiny.pal" -INCLUDE "gfx/pokemon/wooper/normal.pal" -INCLUDE "gfx/pokemon/wooper/shiny.pal" -INCLUDE "gfx/pokemon/quagsire/normal.pal" -INCLUDE "gfx/pokemon/quagsire/shiny.pal" -INCLUDE "gfx/pokemon/espeon/normal.pal" -INCLUDE "gfx/pokemon/espeon/shiny.pal" -INCLUDE "gfx/pokemon/umbreon/normal.pal" -INCLUDE "gfx/pokemon/umbreon/shiny.pal" -INCLUDE "gfx/pokemon/murkrow/normal.pal" -INCLUDE "gfx/pokemon/murkrow/shiny.pal" -INCLUDE "gfx/pokemon/slowking/normal.pal" -INCLUDE "gfx/pokemon/slowking/shiny.pal" -INCLUDE "gfx/pokemon/misdreavus/normal.pal" -INCLUDE "gfx/pokemon/misdreavus/shiny.pal" -INCLUDE "gfx/pokemon/unown/normal.pal" -INCLUDE "gfx/pokemon/unown/shiny.pal" -INCLUDE "gfx/pokemon/wobbuffet/normal.pal" -INCLUDE "gfx/pokemon/wobbuffet/shiny.pal" -INCLUDE "gfx/pokemon/girafarig/normal.pal" -INCLUDE "gfx/pokemon/girafarig/shiny.pal" -INCLUDE "gfx/pokemon/pineco/normal.pal" -INCLUDE "gfx/pokemon/pineco/shiny.pal" -INCLUDE "gfx/pokemon/forretress/normal.pal" -INCLUDE "gfx/pokemon/forretress/shiny.pal" -INCLUDE "gfx/pokemon/dunsparce/normal.pal" -INCLUDE "gfx/pokemon/dunsparce/shiny.pal" -INCLUDE "gfx/pokemon/gligar/normal.pal" -INCLUDE "gfx/pokemon/gligar/shiny.pal" -INCLUDE "gfx/pokemon/steelix/normal.pal" -INCLUDE "gfx/pokemon/steelix/shiny.pal" -INCLUDE "gfx/pokemon/snubbull/normal.pal" -INCLUDE "gfx/pokemon/snubbull/shiny.pal" -INCLUDE "gfx/pokemon/granbull/normal.pal" -INCLUDE "gfx/pokemon/granbull/shiny.pal" -INCLUDE "gfx/pokemon/qwilfish/normal.pal" -INCLUDE "gfx/pokemon/qwilfish/shiny.pal" -INCLUDE "gfx/pokemon/scizor/normal.pal" -INCLUDE "gfx/pokemon/scizor/shiny.pal" -INCLUDE "gfx/pokemon/shuckle/normal.pal" -INCLUDE "gfx/pokemon/shuckle/shiny.pal" -INCLUDE "gfx/pokemon/heracross/normal.pal" -INCLUDE "gfx/pokemon/heracross/shiny.pal" -INCLUDE "gfx/pokemon/sneasel/normal.pal" -INCLUDE "gfx/pokemon/sneasel/shiny.pal" -INCLUDE "gfx/pokemon/teddiursa/normal.pal" -INCLUDE "gfx/pokemon/teddiursa/shiny.pal" -INCLUDE "gfx/pokemon/ursaring/normal.pal" -INCLUDE "gfx/pokemon/ursaring/shiny.pal" -INCLUDE "gfx/pokemon/slugma/normal.pal" -INCLUDE "gfx/pokemon/slugma/shiny.pal" -INCLUDE "gfx/pokemon/magcargo/normal.pal" -INCLUDE "gfx/pokemon/magcargo/shiny.pal" -INCLUDE "gfx/pokemon/swinub/normal.pal" -INCLUDE "gfx/pokemon/swinub/shiny.pal" -INCLUDE "gfx/pokemon/piloswine/normal.pal" -INCLUDE "gfx/pokemon/piloswine/shiny.pal" -INCLUDE "gfx/pokemon/corsola/normal.pal" -INCLUDE "gfx/pokemon/corsola/shiny.pal" -INCLUDE "gfx/pokemon/remoraid/normal.pal" -INCLUDE "gfx/pokemon/remoraid/shiny.pal" -INCLUDE "gfx/pokemon/octillery/normal.pal" -INCLUDE "gfx/pokemon/octillery/shiny.pal" -INCLUDE "gfx/pokemon/delibird/normal.pal" -INCLUDE "gfx/pokemon/delibird/shiny.pal" -INCLUDE "gfx/pokemon/mantine/normal.pal" -INCLUDE "gfx/pokemon/mantine/shiny.pal" -INCLUDE "gfx/pokemon/skarmory/normal.pal" -INCLUDE "gfx/pokemon/skarmory/shiny.pal" -INCLUDE "gfx/pokemon/houndour/normal.pal" -INCLUDE "gfx/pokemon/houndour/shiny.pal" -INCLUDE "gfx/pokemon/houndoom/normal.pal" -INCLUDE "gfx/pokemon/houndoom/shiny.pal" -INCLUDE "gfx/pokemon/kingdra/normal.pal" -INCLUDE "gfx/pokemon/kingdra/shiny.pal" -INCLUDE "gfx/pokemon/phanpy/normal.pal" -INCLUDE "gfx/pokemon/phanpy/shiny.pal" -INCLUDE "gfx/pokemon/donphan/normal.pal" -INCLUDE "gfx/pokemon/donphan/shiny.pal" -INCLUDE "gfx/pokemon/porygon2/normal.pal" -INCLUDE "gfx/pokemon/porygon2/shiny.pal" -INCLUDE "gfx/pokemon/stantler/normal.pal" -INCLUDE "gfx/pokemon/stantler/shiny.pal" -INCLUDE "gfx/pokemon/smeargle/normal.pal" -INCLUDE "gfx/pokemon/smeargle/shiny.pal" -INCLUDE "gfx/pokemon/tyrogue/normal.pal" -INCLUDE "gfx/pokemon/tyrogue/shiny.pal" -INCLUDE "gfx/pokemon/hitmontop/normal.pal" -INCLUDE "gfx/pokemon/hitmontop/shiny.pal" -INCLUDE "gfx/pokemon/smoochum/normal.pal" -INCLUDE "gfx/pokemon/smoochum/shiny.pal" -INCLUDE "gfx/pokemon/elekid/normal.pal" -INCLUDE "gfx/pokemon/elekid/shiny.pal" -INCLUDE "gfx/pokemon/magby/normal.pal" -INCLUDE "gfx/pokemon/magby/shiny.pal" -INCLUDE "gfx/pokemon/miltank/normal.pal" -INCLUDE "gfx/pokemon/miltank/shiny.pal" -INCLUDE "gfx/pokemon/blissey/normal.pal" -INCLUDE "gfx/pokemon/blissey/shiny.pal" -INCLUDE "gfx/pokemon/raikou/normal.pal" -INCLUDE "gfx/pokemon/raikou/shiny.pal" -INCLUDE "gfx/pokemon/entei/normal.pal" -INCLUDE "gfx/pokemon/entei/shiny.pal" -INCLUDE "gfx/pokemon/suicune/normal.pal" -INCLUDE "gfx/pokemon/suicune/shiny.pal" -INCLUDE "gfx/pokemon/larvitar/normal.pal" -INCLUDE "gfx/pokemon/larvitar/shiny.pal" -INCLUDE "gfx/pokemon/pupitar/normal.pal" -INCLUDE "gfx/pokemon/pupitar/shiny.pal" -INCLUDE "gfx/pokemon/tyranitar/normal.pal" -INCLUDE "gfx/pokemon/tyranitar/shiny.pal" -INCLUDE "gfx/pokemon/lugia/normal.pal" -INCLUDE "gfx/pokemon/lugia/shiny.pal" -INCLUDE "gfx/pokemon/ho_oh/normal.pal" -INCLUDE "gfx/pokemon/ho_oh/shiny.pal" -INCLUDE "gfx/pokemon/celebi/normal.pal" -INCLUDE "gfx/pokemon/celebi/shiny.pal" - -; 252 - RGB 30, 26, 11 - RGB 23, 16, 00 -; 252 shiny - RGB 30, 26, 11 - RGB 23, 16, 00 - -; Egg - RGB 30, 26, 11 - RGB 23, 16, 00 -; Egg shiny - RGB 30, 26, 11 - RGB 23, 16, 00 - -; 254 - RGB 30, 26, 11 - RGB 23, 16, 00 -; 254 shiny - RGB 30, 26, 11 - RGB 23, 16, 00 - -; 255 - RGB 23, 23, 23 - RGB 17, 17, 17 -; 255 shiny - RGB 23, 23, 23 - RGB 17, 17, 17 - -; b0ce diff --git a/data/palettes/trainer_palettes.asm b/data/palettes/trainer_palettes.asm deleted file mode 100644 index c943e49d7..000000000 --- a/data/palettes/trainer_palettes.asm +++ /dev/null @@ -1,76 +0,0 @@ -TrainerPalettes: ; b0ce -; entries correspond to trainer classes - -PlayerPalette: ; b0ce -; Chris uses the same colors as Cal -INCLUDE "gfx/trainers/cal.pal" -KrisPalette: ; b0d0 -; Kris shares Falkner's palette -INCLUDE "gfx/trainers/falkner.pal" -INCLUDE "gfx/trainers/whitney.pal" -INCLUDE "gfx/trainers/bugsy.pal" -INCLUDE "gfx/trainers/morty.pal" -INCLUDE "gfx/trainers/pryce.pal" -INCLUDE "gfx/trainers/jasmine.pal" -INCLUDE "gfx/trainers/chuck.pal" -INCLUDE "gfx/trainers/clair.pal" -INCLUDE "gfx/trainers/rival1.pal" -INCLUDE "gfx/trainers/oak.pal" -INCLUDE "gfx/trainers/will.pal" -INCLUDE "gfx/trainers/cal.pal" -INCLUDE "gfx/trainers/bruno.pal" -INCLUDE "gfx/trainers/karen.pal" -INCLUDE "gfx/trainers/koga.pal" -INCLUDE "gfx/trainers/champion.pal" -INCLUDE "gfx/trainers/brock.pal" -INCLUDE "gfx/trainers/misty.pal" -INCLUDE "gfx/trainers/lt_surge.pal" -INCLUDE "gfx/trainers/scientist.pal" -INCLUDE "gfx/trainers/erika.pal" -INCLUDE "gfx/trainers/youngster.pal" -INCLUDE "gfx/trainers/schoolboy.pal" -INCLUDE "gfx/trainers/bird_keeper.pal" -INCLUDE "gfx/trainers/lass.pal" -INCLUDE "gfx/trainers/janine.pal" -INCLUDE "gfx/trainers/cooltrainer_m.pal" -INCLUDE "gfx/trainers/cooltrainer_f.pal" -INCLUDE "gfx/trainers/beauty.pal" -INCLUDE "gfx/trainers/pokemaniac.pal" -INCLUDE "gfx/trainers/grunt_m.pal" -INCLUDE "gfx/trainers/gentleman.pal" -INCLUDE "gfx/trainers/skier.pal" -INCLUDE "gfx/trainers/teacher.pal" -INCLUDE "gfx/trainers/sabrina.pal" -INCLUDE "gfx/trainers/bug_catcher.pal" -INCLUDE "gfx/trainers/fisher.pal" -INCLUDE "gfx/trainers/swimmer_m.pal" -INCLUDE "gfx/trainers/swimmer_f.pal" -INCLUDE "gfx/trainers/sailor.pal" -INCLUDE "gfx/trainers/super_nerd.pal" -INCLUDE "gfx/trainers/rival2.pal" -INCLUDE "gfx/trainers/guitarist.pal" -INCLUDE "gfx/trainers/hiker.pal" -INCLUDE "gfx/trainers/biker.pal" -INCLUDE "gfx/trainers/blaine.pal" -INCLUDE "gfx/trainers/burglar.pal" -INCLUDE "gfx/trainers/firebreather.pal" -INCLUDE "gfx/trainers/juggler.pal" -INCLUDE "gfx/trainers/blackbelt_t.pal" -INCLUDE "gfx/trainers/executive_m.pal" -INCLUDE "gfx/trainers/psychic_t.pal" -INCLUDE "gfx/trainers/picnicker.pal" -INCLUDE "gfx/trainers/camper.pal" -INCLUDE "gfx/trainers/executive_f.pal" -INCLUDE "gfx/trainers/sage.pal" -INCLUDE "gfx/trainers/medium.pal" -INCLUDE "gfx/trainers/boarder.pal" -INCLUDE "gfx/trainers/pokefan_m.pal" -INCLUDE "gfx/trainers/kimono_girl.pal" -INCLUDE "gfx/trainers/twins.pal" -INCLUDE "gfx/trainers/pokefan_f.pal" -INCLUDE "gfx/trainers/red.pal" -INCLUDE "gfx/trainers/blue.pal" -INCLUDE "gfx/trainers/officer.pal" -INCLUDE "gfx/trainers/grunt_f.pal" -INCLUDE "gfx/trainers/mysticalman.pal" -; b1de diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm new file mode 100644 index 000000000..266b0c020 --- /dev/null +++ b/data/pokemon/names.asm @@ -0,0 +1,257 @@ +PokemonNames:: + db "BULBASAUR@" + db "IVYSAUR@@@" + db "VENUSAUR@@" + db "CHARMANDER" + db "CHARMELEON" + db "CHARIZARD@" + db "SQUIRTLE@@" + db "WARTORTLE@" + db "BLASTOISE@" + db "CATERPIE@@" + db "METAPOD@@@" + db "BUTTERFREE" + db "WEEDLE@@@@" + db "KAKUNA@@@@" + db "BEEDRILL@@" + db "PIDGEY@@@@" + db "PIDGEOTTO@" + db "PIDGEOT@@@" + db "RATTATA@@@" + db "RATICATE@@" + db "SPEAROW@@@" + db "FEAROW@@@@" + db "EKANS@@@@@" + db "ARBOK@@@@@" + db "PIKACHU@@@" + db "RAICHU@@@@" + db "SANDSHREW@" + db "SANDSLASH@" + db "NIDORAN♀@@" + db "NIDORINA@@" + db "NIDOQUEEN@" + db "NIDORAN♂@@" + db "NIDORINO@@" + db "NIDOKING@@" + db "CLEFAIRY@@" + db "CLEFABLE@@" + db "VULPIX@@@@" + db "NINETALES@" + db "JIGGLYPUFF" + db "WIGGLYTUFF" + db "ZUBAT@@@@@" + db "GOLBAT@@@@" + db "ODDISH@@@@" + db "GLOOM@@@@@" + db "VILEPLUME@" + db "PARAS@@@@@" + db "PARASECT@@" + db "VENONAT@@@" + db "VENOMOTH@@" + db "DIGLETT@@@" + db "DUGTRIO@@@" + db "MEOWTH@@@@" + db "PERSIAN@@@" + db "PSYDUCK@@@" + db "GOLDUCK@@@" + db "MANKEY@@@@" + db "PRIMEAPE@@" + db "GROWLITHE@" + db "ARCANINE@@" + db "POLIWAG@@@" + db "POLIWHIRL@" + db "POLIWRATH@" + db "ABRA@@@@@@" + db "KADABRA@@@" + db "ALAKAZAM@@" + db "MACHOP@@@@" + db "MACHOKE@@@" + db "MACHAMP@@@" + db "BELLSPROUT" + db "WEEPINBELL" + db "VICTREEBEL" + db "TENTACOOL@" + db "TENTACRUEL" + db "GEODUDE@@@" + db "GRAVELER@@" + db "GOLEM@@@@@" + db "PONYTA@@@@" + db "RAPIDASH@@" + db "SLOWPOKE@@" + db "SLOWBRO@@@" + db "MAGNEMITE@" + db "MAGNETON@@" + db "FARFETCH'D" + db "DODUO@@@@@" + db "DODRIO@@@@" + db "SEEL@@@@@@" + db "DEWGONG@@@" + db "GRIMER@@@@" + db "MUK@@@@@@@" + db "SHELLDER@@" + db "CLOYSTER@@" + db "GASTLY@@@@" + db "HAUNTER@@@" + db "GENGAR@@@@" + db "ONIX@@@@@@" + db "DROWZEE@@@" + db "HYPNO@@@@@" + db "KRABBY@@@@" + db "KINGLER@@@" + db "VOLTORB@@@" + db "ELECTRODE@" + db "EXEGGCUTE@" + db "EXEGGUTOR@" + db "CUBONE@@@@" + db "MAROWAK@@@" + db "HITMONLEE@" + db "HITMONCHAN" + db "LICKITUNG@" + db "KOFFING@@@" + db "WEEZING@@@" + db "RHYHORN@@@" + db "RHYDON@@@@" + db "CHANSEY@@@" + db "TANGELA@@@" + db "KANGASKHAN" + db "HORSEA@@@@" + db "SEADRA@@@@" + db "GOLDEEN@@@" + db "SEAKING@@@" + db "STARYU@@@@" + db "STARMIE@@@" + db "MR.MIME@@@" + db "SCYTHER@@@" + db "JYNX@@@@@@" + db "ELECTABUZZ" + db "MAGMAR@@@@" + db "PINSIR@@@@" + db "TAUROS@@@@" + db "MAGIKARP@@" + db "GYARADOS@@" + db "LAPRAS@@@@" + db "DITTO@@@@@" + db "EEVEE@@@@@" + db "VAPOREON@@" + db "JOLTEON@@@" + db "FLAREON@@@" + db "PORYGON@@@" + db "OMANYTE@@@" + db "OMASTAR@@@" + db "KABUTO@@@@" + db "KABUTOPS@@" + db "AERODACTYL" + db "SNORLAX@@@" + db "ARTICUNO@@" + db "ZAPDOS@@@@" + db "MOLTRES@@@" + db "DRATINI@@@" + db "DRAGONAIR@" + db "DRAGONITE@" + db "MEWTWO@@@@" + db "MEW@@@@@@@" + db "CHIKORITA@" + db "BAYLEEF@@@" + db "MEGANIUM@@" + db "CYNDAQUIL@" + db "QUILAVA@@@" + db "TYPHLOSION" + db "TOTODILE@@" + db "CROCONAW@@" + db "FERALIGATR" + db "SENTRET@@@" + db "FURRET@@@@" + db "HOOTHOOT@@" + db "NOCTOWL@@@" + db "LEDYBA@@@@" + db "LEDIAN@@@@" + db "SPINARAK@@" + db "ARIADOS@@@" + db "CROBAT@@@@" + db "CHINCHOU@@" + db "LANTURN@@@" + db "PICHU@@@@@" + db "CLEFFA@@@@" + db "IGGLYBUFF@" + db "TOGEPI@@@@" + db "TOGETIC@@@" + db "NATU@@@@@@" + db "XATU@@@@@@" + db "MAREEP@@@@" + db "FLAAFFY@@@" + db "AMPHAROS@@" + db "BELLOSSOM@" + db "MARILL@@@@" + db "AZUMARILL@" + db "SUDOWOODO@" + db "POLITOED@@" + db "HOPPIP@@@@" + db "SKIPLOOM@@" + db "JUMPLUFF@@" + db "AIPOM@@@@@" + db "SUNKERN@@@" + db "SUNFLORA@@" + db "YANMA@@@@@" + db "WOOPER@@@@" + db "QUAGSIRE@@" + db "ESPEON@@@@" + db "UMBREON@@@" + db "MURKROW@@@" + db "SLOWKING@@" + db "MISDREAVUS" + db "UNOWN@@@@@" + db "WOBBUFFET@" + db "GIRAFARIG@" + db "PINECO@@@@" + db "FORRETRESS" + db "DUNSPARCE@" + db "GLIGAR@@@@" + db "STEELIX@@@" + db "SNUBBULL@@" + db "GRANBULL@@" + db "QWILFISH@@" + db "SCIZOR@@@@" + db "SHUCKLE@@@" + db "HERACROSS@" + db "SNEASEL@@@" + db "TEDDIURSA@" + db "URSARING@@" + db "SLUGMA@@@@" + db "MAGCARGO@@" + db "SWINUB@@@@" + db "PILOSWINE@" + db "CORSOLA@@@" + db "REMORAID@@" + db "OCTILLERY@" + db "DELIBIRD@@" + db "MANTINE@@@" + db "SKARMORY@@" + db "HOUNDOUR@@" + db "HOUNDOOM@@" + db "KINGDRA@@@" + db "PHANPY@@@@" + db "DONPHAN@@@" + db "PORYGON2@@" + db "STANTLER@@" + db "SMEARGLE@@" + db "TYROGUE@@@" + db "HITMONTOP@" + db "SMOOCHUM@@" + db "ELEKID@@@@" + db "MAGBY@@@@@" + db "MILTANK@@@" + db "BLISSEY@@@" + db "RAIKOU@@@@" + db "ENTEI@@@@@" + db "SUICUNE@@@" + db "LARVITAR@@" + db "PUPITAR@@@" + db "TYRANITAR@" + db "LUGIA@@@@@" + db "HO-OH@@@@@" + db "CELEBI@@@@" + db "?????@@@@@" + db "EGG@@@@@@@" + db "?????@@@@@" + db "?????@@@@@" + db "?????@@@@@" diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm new file mode 100644 index 000000000..2e47bbdaf --- /dev/null +++ b/data/pokemon/palettes.asm @@ -0,0 +1,542 @@ +PokemonPalettes: ; a8ce +; entries correspond to Pokémon species, two apiece + +; 000 + RGB 30, 22, 17 + RGB 16, 14, 19 +; 000 shiny + RGB 30, 22, 17 + RGB 16, 14, 19 + +INCLUDE "gfx/pokemon/bulbasaur/normal.pal" +INCLUDE "gfx/pokemon/bulbasaur/shiny.pal" +INCLUDE "gfx/pokemon/ivysaur/normal.pal" +INCLUDE "gfx/pokemon/ivysaur/shiny.pal" +INCLUDE "gfx/pokemon/venusaur/normal.pal" +INCLUDE "gfx/pokemon/venusaur/shiny.pal" +INCLUDE "gfx/pokemon/charmander/normal.pal" +INCLUDE "gfx/pokemon/charmander/shiny.pal" +INCLUDE "gfx/pokemon/charmeleon/normal.pal" +INCLUDE "gfx/pokemon/charmeleon/shiny.pal" +INCLUDE "gfx/pokemon/charizard/normal.pal" +INCLUDE "gfx/pokemon/charizard/shiny.pal" +INCLUDE "gfx/pokemon/squirtle/normal.pal" +INCLUDE "gfx/pokemon/squirtle/shiny.pal" +INCLUDE "gfx/pokemon/wartortle/normal.pal" +INCLUDE "gfx/pokemon/wartortle/shiny.pal" +INCLUDE "gfx/pokemon/blastoise/normal.pal" +INCLUDE "gfx/pokemon/blastoise/shiny.pal" +INCLUDE "gfx/pokemon/caterpie/normal.pal" +INCLUDE "gfx/pokemon/caterpie/shiny.pal" +INCLUDE "gfx/pokemon/metapod/normal.pal" +INCLUDE "gfx/pokemon/metapod/shiny.pal" +INCLUDE "gfx/pokemon/butterfree/normal.pal" +INCLUDE "gfx/pokemon/butterfree/shiny.pal" +INCLUDE "gfx/pokemon/weedle/normal.pal" +INCLUDE "gfx/pokemon/weedle/shiny.pal" +INCLUDE "gfx/pokemon/kakuna/normal.pal" +INCLUDE "gfx/pokemon/kakuna/shiny.pal" +INCLUDE "gfx/pokemon/beedrill/normal.pal" +INCLUDE "gfx/pokemon/beedrill/shiny.pal" +INCLUDE "gfx/pokemon/pidgey/normal.pal" +INCLUDE "gfx/pokemon/pidgey/shiny.pal" +INCLUDE "gfx/pokemon/pidgeotto/normal.pal" +INCLUDE "gfx/pokemon/pidgeotto/shiny.pal" +INCLUDE "gfx/pokemon/pidgeot/normal.pal" +INCLUDE "gfx/pokemon/pidgeot/shiny.pal" +INCLUDE "gfx/pokemon/rattata/normal.pal" +INCLUDE "gfx/pokemon/rattata/shiny.pal" +INCLUDE "gfx/pokemon/raticate/normal.pal" +INCLUDE "gfx/pokemon/raticate/shiny.pal" +INCLUDE "gfx/pokemon/spearow/normal.pal" +INCLUDE "gfx/pokemon/spearow/shiny.pal" +INCLUDE "gfx/pokemon/fearow/normal.pal" +INCLUDE "gfx/pokemon/fearow/shiny.pal" +INCLUDE "gfx/pokemon/ekans/normal.pal" +INCLUDE "gfx/pokemon/ekans/shiny.pal" +INCLUDE "gfx/pokemon/arbok/normal.pal" +INCLUDE "gfx/pokemon/arbok/shiny.pal" +INCLUDE "gfx/pokemon/pikachu/normal.pal" +INCLUDE "gfx/pokemon/pikachu/shiny.pal" +INCLUDE "gfx/pokemon/raichu/normal.pal" +INCLUDE "gfx/pokemon/raichu/shiny.pal" +INCLUDE "gfx/pokemon/sandshrew/normal.pal" +INCLUDE "gfx/pokemon/sandshrew/shiny.pal" +INCLUDE "gfx/pokemon/sandslash/normal.pal" +INCLUDE "gfx/pokemon/sandslash/shiny.pal" +INCLUDE "gfx/pokemon/nidoran_f/normal.pal" +INCLUDE "gfx/pokemon/nidoran_f/shiny.pal" +INCLUDE "gfx/pokemon/nidorina/normal.pal" +INCLUDE "gfx/pokemon/nidorina/shiny.pal" +INCLUDE "gfx/pokemon/nidoqueen/normal.pal" +INCLUDE "gfx/pokemon/nidoqueen/shiny.pal" +INCLUDE "gfx/pokemon/nidoran_m/normal.pal" +INCLUDE "gfx/pokemon/nidoran_m/shiny.pal" +INCLUDE "gfx/pokemon/nidorino/normal.pal" +INCLUDE "gfx/pokemon/nidorino/shiny.pal" +INCLUDE "gfx/pokemon/nidoking/normal.pal" +INCLUDE "gfx/pokemon/nidoking/shiny.pal" +INCLUDE "gfx/pokemon/clefairy/normal.pal" +INCLUDE "gfx/pokemon/clefairy/shiny.pal" +INCLUDE "gfx/pokemon/clefable/normal.pal" +INCLUDE "gfx/pokemon/clefable/shiny.pal" +INCLUDE "gfx/pokemon/vulpix/normal.pal" +INCLUDE "gfx/pokemon/vulpix/shiny.pal" +INCLUDE "gfx/pokemon/ninetales/normal.pal" +INCLUDE "gfx/pokemon/ninetales/shiny.pal" +INCLUDE "gfx/pokemon/jigglypuff/normal.pal" +INCLUDE "gfx/pokemon/jigglypuff/shiny.pal" +INCLUDE "gfx/pokemon/wigglytuff/normal.pal" +INCLUDE "gfx/pokemon/wigglytuff/shiny.pal" +INCLUDE "gfx/pokemon/zubat/normal.pal" +INCLUDE "gfx/pokemon/zubat/shiny.pal" +INCLUDE "gfx/pokemon/golbat/normal.pal" +INCLUDE "gfx/pokemon/golbat/shiny.pal" +INCLUDE "gfx/pokemon/oddish/normal.pal" +INCLUDE "gfx/pokemon/oddish/shiny.pal" +INCLUDE "gfx/pokemon/gloom/normal.pal" +INCLUDE "gfx/pokemon/gloom/shiny.pal" +INCLUDE "gfx/pokemon/vileplume/normal.pal" +INCLUDE "gfx/pokemon/vileplume/shiny.pal" +INCLUDE "gfx/pokemon/paras/normal.pal" +INCLUDE "gfx/pokemon/paras/shiny.pal" +INCLUDE "gfx/pokemon/parasect/normal.pal" +INCLUDE "gfx/pokemon/parasect/shiny.pal" +INCLUDE "gfx/pokemon/venonat/normal.pal" +INCLUDE "gfx/pokemon/venonat/shiny.pal" +INCLUDE "gfx/pokemon/venomoth/normal.pal" +INCLUDE "gfx/pokemon/venomoth/shiny.pal" +INCLUDE "gfx/pokemon/diglett/normal.pal" +INCLUDE "gfx/pokemon/diglett/shiny.pal" +INCLUDE "gfx/pokemon/dugtrio/normal.pal" +INCLUDE "gfx/pokemon/dugtrio/shiny.pal" +INCLUDE "gfx/pokemon/meowth/normal.pal" +INCLUDE "gfx/pokemon/meowth/shiny.pal" +INCLUDE "gfx/pokemon/persian/normal.pal" +INCLUDE "gfx/pokemon/persian/shiny.pal" +INCLUDE "gfx/pokemon/psyduck/normal.pal" +INCLUDE "gfx/pokemon/psyduck/shiny.pal" +INCLUDE "gfx/pokemon/golduck/normal.pal" +INCLUDE "gfx/pokemon/golduck/shiny.pal" +INCLUDE "gfx/pokemon/mankey/normal.pal" +INCLUDE "gfx/pokemon/mankey/shiny.pal" +INCLUDE "gfx/pokemon/primeape/normal.pal" +INCLUDE "gfx/pokemon/primeape/shiny.pal" +INCLUDE "gfx/pokemon/growlithe/normal.pal" +INCLUDE "gfx/pokemon/growlithe/shiny.pal" +INCLUDE "gfx/pokemon/arcanine/normal.pal" +INCLUDE "gfx/pokemon/arcanine/shiny.pal" +INCLUDE "gfx/pokemon/poliwag/normal.pal" +INCLUDE "gfx/pokemon/poliwag/shiny.pal" +INCLUDE "gfx/pokemon/poliwhirl/normal.pal" +INCLUDE "gfx/pokemon/poliwhirl/shiny.pal" +INCLUDE "gfx/pokemon/poliwrath/normal.pal" +INCLUDE "gfx/pokemon/poliwrath/shiny.pal" +INCLUDE "gfx/pokemon/abra/normal.pal" +INCLUDE "gfx/pokemon/abra/shiny.pal" +INCLUDE "gfx/pokemon/kadabra/normal.pal" +INCLUDE "gfx/pokemon/kadabra/shiny.pal" +INCLUDE "gfx/pokemon/alakazam/normal.pal" +INCLUDE "gfx/pokemon/alakazam/shiny.pal" +INCLUDE "gfx/pokemon/machop/normal.pal" +INCLUDE "gfx/pokemon/machop/shiny.pal" +INCLUDE "gfx/pokemon/machoke/normal.pal" +INCLUDE "gfx/pokemon/machoke/shiny.pal" +INCLUDE "gfx/pokemon/machamp/normal.pal" +INCLUDE "gfx/pokemon/machamp/shiny.pal" +INCLUDE "gfx/pokemon/bellsprout/normal.pal" +INCLUDE "gfx/pokemon/bellsprout/shiny.pal" +INCLUDE "gfx/pokemon/weepinbell/normal.pal" +INCLUDE "gfx/pokemon/weepinbell/shiny.pal" +INCLUDE "gfx/pokemon/victreebel/normal.pal" +INCLUDE "gfx/pokemon/victreebel/shiny.pal" +INCLUDE "gfx/pokemon/tentacool/normal.pal" +INCLUDE "gfx/pokemon/tentacool/shiny.pal" +INCLUDE "gfx/pokemon/tentacruel/normal.pal" +INCLUDE "gfx/pokemon/tentacruel/shiny.pal" +INCLUDE "gfx/pokemon/geodude/normal.pal" +INCLUDE "gfx/pokemon/geodude/shiny.pal" +INCLUDE "gfx/pokemon/graveler/normal.pal" +INCLUDE "gfx/pokemon/graveler/shiny.pal" +INCLUDE "gfx/pokemon/golem/normal.pal" +INCLUDE "gfx/pokemon/golem/shiny.pal" +INCLUDE "gfx/pokemon/ponyta/normal.pal" +INCLUDE "gfx/pokemon/ponyta/shiny.pal" +INCLUDE "gfx/pokemon/rapidash/normal.pal" +INCLUDE "gfx/pokemon/rapidash/shiny.pal" +INCLUDE "gfx/pokemon/slowpoke/normal.pal" +INCLUDE "gfx/pokemon/slowpoke/shiny.pal" +INCLUDE "gfx/pokemon/slowbro/normal.pal" +INCLUDE "gfx/pokemon/slowbro/shiny.pal" +INCLUDE "gfx/pokemon/magnemite/normal.pal" +INCLUDE "gfx/pokemon/magnemite/shiny.pal" +INCLUDE "gfx/pokemon/magneton/normal.pal" +INCLUDE "gfx/pokemon/magneton/shiny.pal" +INCLUDE "gfx/pokemon/farfetch_d/normal.pal" +INCLUDE "gfx/pokemon/farfetch_d/shiny.pal" +INCLUDE "gfx/pokemon/doduo/normal.pal" +INCLUDE "gfx/pokemon/doduo/shiny.pal" +INCLUDE "gfx/pokemon/dodrio/normal.pal" +INCLUDE "gfx/pokemon/dodrio/shiny.pal" +INCLUDE "gfx/pokemon/seel/normal.pal" +INCLUDE "gfx/pokemon/seel/shiny.pal" +INCLUDE "gfx/pokemon/dewgong/normal.pal" +INCLUDE "gfx/pokemon/dewgong/shiny.pal" +INCLUDE "gfx/pokemon/grimer/normal.pal" +INCLUDE "gfx/pokemon/grimer/shiny.pal" +INCLUDE "gfx/pokemon/muk/normal.pal" +INCLUDE "gfx/pokemon/muk/shiny.pal" +INCLUDE "gfx/pokemon/shellder/normal.pal" +INCLUDE "gfx/pokemon/shellder/shiny.pal" +INCLUDE "gfx/pokemon/cloyster/normal.pal" +INCLUDE "gfx/pokemon/cloyster/shiny.pal" +INCLUDE "gfx/pokemon/gastly/normal.pal" +INCLUDE "gfx/pokemon/gastly/shiny.pal" +INCLUDE "gfx/pokemon/haunter/normal.pal" +INCLUDE "gfx/pokemon/haunter/shiny.pal" +INCLUDE "gfx/pokemon/gengar/normal.pal" +INCLUDE "gfx/pokemon/gengar/shiny.pal" +INCLUDE "gfx/pokemon/onix/normal.pal" +INCLUDE "gfx/pokemon/onix/shiny.pal" +INCLUDE "gfx/pokemon/drowzee/normal.pal" +INCLUDE "gfx/pokemon/drowzee/shiny.pal" +INCLUDE "gfx/pokemon/hypno/normal.pal" +INCLUDE "gfx/pokemon/hypno/shiny.pal" +INCLUDE "gfx/pokemon/krabby/normal.pal" +INCLUDE "gfx/pokemon/krabby/shiny.pal" +INCLUDE "gfx/pokemon/kingler/normal.pal" +INCLUDE "gfx/pokemon/kingler/shiny.pal" +INCLUDE "gfx/pokemon/voltorb/normal.pal" +INCLUDE "gfx/pokemon/voltorb/shiny.pal" +INCLUDE "gfx/pokemon/electrode/normal.pal" +INCLUDE "gfx/pokemon/electrode/shiny.pal" +INCLUDE "gfx/pokemon/exeggcute/normal.pal" +INCLUDE "gfx/pokemon/exeggcute/shiny.pal" +INCLUDE "gfx/pokemon/exeggutor/normal.pal" +INCLUDE "gfx/pokemon/exeggutor/shiny.pal" +INCLUDE "gfx/pokemon/cubone/normal.pal" +INCLUDE "gfx/pokemon/cubone/shiny.pal" +INCLUDE "gfx/pokemon/marowak/normal.pal" +INCLUDE "gfx/pokemon/marowak/shiny.pal" +INCLUDE "gfx/pokemon/hitmonlee/normal.pal" +INCLUDE "gfx/pokemon/hitmonlee/shiny.pal" +INCLUDE "gfx/pokemon/hitmonchan/normal.pal" +INCLUDE "gfx/pokemon/hitmonchan/shiny.pal" +INCLUDE "gfx/pokemon/lickitung/normal.pal" +INCLUDE "gfx/pokemon/lickitung/shiny.pal" +INCLUDE "gfx/pokemon/koffing/normal.pal" +INCLUDE "gfx/pokemon/koffing/shiny.pal" +INCLUDE "gfx/pokemon/weezing/normal.pal" +INCLUDE "gfx/pokemon/weezing/shiny.pal" +INCLUDE "gfx/pokemon/rhyhorn/normal.pal" +INCLUDE "gfx/pokemon/rhyhorn/shiny.pal" +INCLUDE "gfx/pokemon/rhydon/normal.pal" +INCLUDE "gfx/pokemon/rhydon/shiny.pal" +INCLUDE "gfx/pokemon/chansey/normal.pal" +INCLUDE "gfx/pokemon/chansey/shiny.pal" +INCLUDE "gfx/pokemon/tangela/normal.pal" +INCLUDE "gfx/pokemon/tangela/shiny.pal" +INCLUDE "gfx/pokemon/kangaskhan/normal.pal" +INCLUDE "gfx/pokemon/kangaskhan/shiny.pal" +INCLUDE "gfx/pokemon/horsea/normal.pal" +INCLUDE "gfx/pokemon/horsea/shiny.pal" +INCLUDE "gfx/pokemon/seadra/normal.pal" +INCLUDE "gfx/pokemon/seadra/shiny.pal" +INCLUDE "gfx/pokemon/goldeen/normal.pal" +INCLUDE "gfx/pokemon/goldeen/shiny.pal" +INCLUDE "gfx/pokemon/seaking/normal.pal" +INCLUDE "gfx/pokemon/seaking/shiny.pal" +INCLUDE "gfx/pokemon/staryu/normal.pal" +INCLUDE "gfx/pokemon/staryu/shiny.pal" +INCLUDE "gfx/pokemon/starmie/normal.pal" +INCLUDE "gfx/pokemon/starmie/shiny.pal" +INCLUDE "gfx/pokemon/mr__mime/normal.pal" +INCLUDE "gfx/pokemon/mr__mime/shiny.pal" +INCLUDE "gfx/pokemon/scyther/normal.pal" +INCLUDE "gfx/pokemon/scyther/shiny.pal" +INCLUDE "gfx/pokemon/jynx/normal.pal" +INCLUDE "gfx/pokemon/jynx/shiny.pal" +INCLUDE "gfx/pokemon/electabuzz/normal.pal" +INCLUDE "gfx/pokemon/electabuzz/shiny.pal" +INCLUDE "gfx/pokemon/magmar/normal.pal" +INCLUDE "gfx/pokemon/magmar/shiny.pal" +INCLUDE "gfx/pokemon/pinsir/normal.pal" +INCLUDE "gfx/pokemon/pinsir/shiny.pal" +INCLUDE "gfx/pokemon/tauros/normal.pal" +INCLUDE "gfx/pokemon/tauros/shiny.pal" +INCLUDE "gfx/pokemon/magikarp/normal.pal" +INCLUDE "gfx/pokemon/magikarp/shiny.pal" +INCLUDE "gfx/pokemon/gyarados/normal.pal" +INCLUDE "gfx/pokemon/gyarados/shiny.pal" +INCLUDE "gfx/pokemon/lapras/normal.pal" +INCLUDE "gfx/pokemon/lapras/shiny.pal" +INCLUDE "gfx/pokemon/ditto/normal.pal" +INCLUDE "gfx/pokemon/ditto/shiny.pal" +INCLUDE "gfx/pokemon/eevee/normal.pal" +INCLUDE "gfx/pokemon/eevee/shiny.pal" +INCLUDE "gfx/pokemon/vaporeon/normal.pal" +INCLUDE "gfx/pokemon/vaporeon/shiny.pal" +INCLUDE "gfx/pokemon/jolteon/normal.pal" +INCLUDE "gfx/pokemon/jolteon/shiny.pal" +INCLUDE "gfx/pokemon/flareon/normal.pal" +INCLUDE "gfx/pokemon/flareon/shiny.pal" +INCLUDE "gfx/pokemon/porygon/normal.pal" +INCLUDE "gfx/pokemon/porygon/shiny.pal" +INCLUDE "gfx/pokemon/omanyte/normal.pal" +INCLUDE "gfx/pokemon/omanyte/shiny.pal" +INCLUDE "gfx/pokemon/omastar/normal.pal" +INCLUDE "gfx/pokemon/omastar/shiny.pal" +INCLUDE "gfx/pokemon/kabuto/normal.pal" +INCLUDE "gfx/pokemon/kabuto/shiny.pal" +INCLUDE "gfx/pokemon/kabutops/normal.pal" +INCLUDE "gfx/pokemon/kabutops/shiny.pal" +INCLUDE "gfx/pokemon/aerodactyl/normal.pal" +INCLUDE "gfx/pokemon/aerodactyl/shiny.pal" +INCLUDE "gfx/pokemon/snorlax/normal.pal" +INCLUDE "gfx/pokemon/snorlax/shiny.pal" +INCLUDE "gfx/pokemon/articuno/normal.pal" +INCLUDE "gfx/pokemon/articuno/shiny.pal" +INCLUDE "gfx/pokemon/zapdos/normal.pal" +INCLUDE "gfx/pokemon/zapdos/shiny.pal" +INCLUDE "gfx/pokemon/moltres/normal.pal" +INCLUDE "gfx/pokemon/moltres/shiny.pal" +INCLUDE "gfx/pokemon/dratini/normal.pal" +INCLUDE "gfx/pokemon/dratini/shiny.pal" +INCLUDE "gfx/pokemon/dragonair/normal.pal" +INCLUDE "gfx/pokemon/dragonair/shiny.pal" +INCLUDE "gfx/pokemon/dragonite/normal.pal" +INCLUDE "gfx/pokemon/dragonite/shiny.pal" +INCLUDE "gfx/pokemon/mewtwo/normal.pal" +INCLUDE "gfx/pokemon/mewtwo/shiny.pal" +INCLUDE "gfx/pokemon/mew/normal.pal" +INCLUDE "gfx/pokemon/mew/shiny.pal" +INCLUDE "gfx/pokemon/chikorita/normal.pal" +INCLUDE "gfx/pokemon/chikorita/shiny.pal" +INCLUDE "gfx/pokemon/bayleef/normal.pal" +INCLUDE "gfx/pokemon/bayleef/shiny.pal" +INCLUDE "gfx/pokemon/meganium/normal.pal" +INCLUDE "gfx/pokemon/meganium/shiny.pal" +INCLUDE "gfx/pokemon/cyndaquil/normal.pal" +INCLUDE "gfx/pokemon/cyndaquil/shiny.pal" +INCLUDE "gfx/pokemon/quilava/normal.pal" +INCLUDE "gfx/pokemon/quilava/shiny.pal" +INCLUDE "gfx/pokemon/typhlosion/normal.pal" +INCLUDE "gfx/pokemon/typhlosion/shiny.pal" +INCLUDE "gfx/pokemon/totodile/normal.pal" +INCLUDE "gfx/pokemon/totodile/shiny.pal" +INCLUDE "gfx/pokemon/croconaw/normal.pal" +INCLUDE "gfx/pokemon/croconaw/shiny.pal" +INCLUDE "gfx/pokemon/feraligatr/normal.pal" +INCLUDE "gfx/pokemon/feraligatr/shiny.pal" +INCLUDE "gfx/pokemon/sentret/normal.pal" +INCLUDE "gfx/pokemon/sentret/shiny.pal" +INCLUDE "gfx/pokemon/furret/normal.pal" +INCLUDE "gfx/pokemon/furret/shiny.pal" +INCLUDE "gfx/pokemon/hoothoot/normal.pal" +INCLUDE "gfx/pokemon/hoothoot/shiny.pal" +INCLUDE "gfx/pokemon/noctowl/normal.pal" +INCLUDE "gfx/pokemon/noctowl/shiny.pal" +INCLUDE "gfx/pokemon/ledyba/normal.pal" +INCLUDE "gfx/pokemon/ledyba/shiny.pal" +INCLUDE "gfx/pokemon/ledian/normal.pal" +INCLUDE "gfx/pokemon/ledian/shiny.pal" +INCLUDE "gfx/pokemon/spinarak/normal.pal" +INCLUDE "gfx/pokemon/spinarak/shiny.pal" +INCLUDE "gfx/pokemon/ariados/normal.pal" +INCLUDE "gfx/pokemon/ariados/shiny.pal" +INCLUDE "gfx/pokemon/crobat/normal.pal" +INCLUDE "gfx/pokemon/crobat/shiny.pal" +INCLUDE "gfx/pokemon/chinchou/normal.pal" +INCLUDE "gfx/pokemon/chinchou/shiny.pal" +INCLUDE "gfx/pokemon/lanturn/normal.pal" +INCLUDE "gfx/pokemon/lanturn/shiny.pal" +INCLUDE "gfx/pokemon/pichu/normal.pal" +INCLUDE "gfx/pokemon/pichu/shiny.pal" +INCLUDE "gfx/pokemon/cleffa/normal.pal" +INCLUDE "gfx/pokemon/cleffa/shiny.pal" +INCLUDE "gfx/pokemon/igglybuff/normal.pal" +INCLUDE "gfx/pokemon/igglybuff/shiny.pal" +INCLUDE "gfx/pokemon/togepi/normal.pal" +INCLUDE "gfx/pokemon/togepi/shiny.pal" +INCLUDE "gfx/pokemon/togetic/normal.pal" +INCLUDE "gfx/pokemon/togetic/shiny.pal" +INCLUDE "gfx/pokemon/natu/normal.pal" +INCLUDE "gfx/pokemon/natu/shiny.pal" +INCLUDE "gfx/pokemon/xatu/normal.pal" +INCLUDE "gfx/pokemon/xatu/shiny.pal" +INCLUDE "gfx/pokemon/mareep/normal.pal" +INCLUDE "gfx/pokemon/mareep/shiny.pal" +INCLUDE "gfx/pokemon/flaaffy/normal.pal" +INCLUDE "gfx/pokemon/flaaffy/shiny.pal" +INCLUDE "gfx/pokemon/ampharos/normal.pal" +INCLUDE "gfx/pokemon/ampharos/shiny.pal" +INCLUDE "gfx/pokemon/bellossom/normal.pal" +INCLUDE "gfx/pokemon/bellossom/shiny.pal" +INCLUDE "gfx/pokemon/marill/normal.pal" +INCLUDE "gfx/pokemon/marill/shiny.pal" +INCLUDE "gfx/pokemon/azumarill/normal.pal" +INCLUDE "gfx/pokemon/azumarill/shiny.pal" +INCLUDE "gfx/pokemon/sudowoodo/normal.pal" +INCLUDE "gfx/pokemon/sudowoodo/shiny.pal" +INCLUDE "gfx/pokemon/politoed/normal.pal" +INCLUDE "gfx/pokemon/politoed/shiny.pal" +INCLUDE "gfx/pokemon/hoppip/normal.pal" +INCLUDE "gfx/pokemon/hoppip/shiny.pal" +INCLUDE "gfx/pokemon/skiploom/normal.pal" +INCLUDE "gfx/pokemon/skiploom/shiny.pal" +INCLUDE "gfx/pokemon/jumpluff/normal.pal" +INCLUDE "gfx/pokemon/jumpluff/shiny.pal" +INCLUDE "gfx/pokemon/aipom/normal.pal" +INCLUDE "gfx/pokemon/aipom/shiny.pal" +INCLUDE "gfx/pokemon/sunkern/normal.pal" +INCLUDE "gfx/pokemon/sunkern/shiny.pal" +INCLUDE "gfx/pokemon/sunflora/normal.pal" +INCLUDE "gfx/pokemon/sunflora/shiny.pal" +INCLUDE "gfx/pokemon/yanma/normal.pal" +INCLUDE "gfx/pokemon/yanma/shiny.pal" +INCLUDE "gfx/pokemon/wooper/normal.pal" +INCLUDE "gfx/pokemon/wooper/shiny.pal" +INCLUDE "gfx/pokemon/quagsire/normal.pal" +INCLUDE "gfx/pokemon/quagsire/shiny.pal" +INCLUDE "gfx/pokemon/espeon/normal.pal" +INCLUDE "gfx/pokemon/espeon/shiny.pal" +INCLUDE "gfx/pokemon/umbreon/normal.pal" +INCLUDE "gfx/pokemon/umbreon/shiny.pal" +INCLUDE "gfx/pokemon/murkrow/normal.pal" +INCLUDE "gfx/pokemon/murkrow/shiny.pal" +INCLUDE "gfx/pokemon/slowking/normal.pal" +INCLUDE "gfx/pokemon/slowking/shiny.pal" +INCLUDE "gfx/pokemon/misdreavus/normal.pal" +INCLUDE "gfx/pokemon/misdreavus/shiny.pal" +INCLUDE "gfx/pokemon/unown/normal.pal" +INCLUDE "gfx/pokemon/unown/shiny.pal" +INCLUDE "gfx/pokemon/wobbuffet/normal.pal" +INCLUDE "gfx/pokemon/wobbuffet/shiny.pal" +INCLUDE "gfx/pokemon/girafarig/normal.pal" +INCLUDE "gfx/pokemon/girafarig/shiny.pal" +INCLUDE "gfx/pokemon/pineco/normal.pal" +INCLUDE "gfx/pokemon/pineco/shiny.pal" +INCLUDE "gfx/pokemon/forretress/normal.pal" +INCLUDE "gfx/pokemon/forretress/shiny.pal" +INCLUDE "gfx/pokemon/dunsparce/normal.pal" +INCLUDE "gfx/pokemon/dunsparce/shiny.pal" +INCLUDE "gfx/pokemon/gligar/normal.pal" +INCLUDE "gfx/pokemon/gligar/shiny.pal" +INCLUDE "gfx/pokemon/steelix/normal.pal" +INCLUDE "gfx/pokemon/steelix/shiny.pal" +INCLUDE "gfx/pokemon/snubbull/normal.pal" +INCLUDE "gfx/pokemon/snubbull/shiny.pal" +INCLUDE "gfx/pokemon/granbull/normal.pal" +INCLUDE "gfx/pokemon/granbull/shiny.pal" +INCLUDE "gfx/pokemon/qwilfish/normal.pal" +INCLUDE "gfx/pokemon/qwilfish/shiny.pal" +INCLUDE "gfx/pokemon/scizor/normal.pal" +INCLUDE "gfx/pokemon/scizor/shiny.pal" +INCLUDE "gfx/pokemon/shuckle/normal.pal" +INCLUDE "gfx/pokemon/shuckle/shiny.pal" +INCLUDE "gfx/pokemon/heracross/normal.pal" +INCLUDE "gfx/pokemon/heracross/shiny.pal" +INCLUDE "gfx/pokemon/sneasel/normal.pal" +INCLUDE "gfx/pokemon/sneasel/shiny.pal" +INCLUDE "gfx/pokemon/teddiursa/normal.pal" +INCLUDE "gfx/pokemon/teddiursa/shiny.pal" +INCLUDE "gfx/pokemon/ursaring/normal.pal" +INCLUDE "gfx/pokemon/ursaring/shiny.pal" +INCLUDE "gfx/pokemon/slugma/normal.pal" +INCLUDE "gfx/pokemon/slugma/shiny.pal" +INCLUDE "gfx/pokemon/magcargo/normal.pal" +INCLUDE "gfx/pokemon/magcargo/shiny.pal" +INCLUDE "gfx/pokemon/swinub/normal.pal" +INCLUDE "gfx/pokemon/swinub/shiny.pal" +INCLUDE "gfx/pokemon/piloswine/normal.pal" +INCLUDE "gfx/pokemon/piloswine/shiny.pal" +INCLUDE "gfx/pokemon/corsola/normal.pal" +INCLUDE "gfx/pokemon/corsola/shiny.pal" +INCLUDE "gfx/pokemon/remoraid/normal.pal" +INCLUDE "gfx/pokemon/remoraid/shiny.pal" +INCLUDE "gfx/pokemon/octillery/normal.pal" +INCLUDE "gfx/pokemon/octillery/shiny.pal" +INCLUDE "gfx/pokemon/delibird/normal.pal" +INCLUDE "gfx/pokemon/delibird/shiny.pal" +INCLUDE "gfx/pokemon/mantine/normal.pal" +INCLUDE "gfx/pokemon/mantine/shiny.pal" +INCLUDE "gfx/pokemon/skarmory/normal.pal" +INCLUDE "gfx/pokemon/skarmory/shiny.pal" +INCLUDE "gfx/pokemon/houndour/normal.pal" +INCLUDE "gfx/pokemon/houndour/shiny.pal" +INCLUDE "gfx/pokemon/houndoom/normal.pal" +INCLUDE "gfx/pokemon/houndoom/shiny.pal" +INCLUDE "gfx/pokemon/kingdra/normal.pal" +INCLUDE "gfx/pokemon/kingdra/shiny.pal" +INCLUDE "gfx/pokemon/phanpy/normal.pal" +INCLUDE "gfx/pokemon/phanpy/shiny.pal" +INCLUDE "gfx/pokemon/donphan/normal.pal" +INCLUDE "gfx/pokemon/donphan/shiny.pal" +INCLUDE "gfx/pokemon/porygon2/normal.pal" +INCLUDE "gfx/pokemon/porygon2/shiny.pal" +INCLUDE "gfx/pokemon/stantler/normal.pal" +INCLUDE "gfx/pokemon/stantler/shiny.pal" +INCLUDE "gfx/pokemon/smeargle/normal.pal" +INCLUDE "gfx/pokemon/smeargle/shiny.pal" +INCLUDE "gfx/pokemon/tyrogue/normal.pal" +INCLUDE "gfx/pokemon/tyrogue/shiny.pal" +INCLUDE "gfx/pokemon/hitmontop/normal.pal" +INCLUDE "gfx/pokemon/hitmontop/shiny.pal" +INCLUDE "gfx/pokemon/smoochum/normal.pal" +INCLUDE "gfx/pokemon/smoochum/shiny.pal" +INCLUDE "gfx/pokemon/elekid/normal.pal" +INCLUDE "gfx/pokemon/elekid/shiny.pal" +INCLUDE "gfx/pokemon/magby/normal.pal" +INCLUDE "gfx/pokemon/magby/shiny.pal" +INCLUDE "gfx/pokemon/miltank/normal.pal" +INCLUDE "gfx/pokemon/miltank/shiny.pal" +INCLUDE "gfx/pokemon/blissey/normal.pal" +INCLUDE "gfx/pokemon/blissey/shiny.pal" +INCLUDE "gfx/pokemon/raikou/normal.pal" +INCLUDE "gfx/pokemon/raikou/shiny.pal" +INCLUDE "gfx/pokemon/entei/normal.pal" +INCLUDE "gfx/pokemon/entei/shiny.pal" +INCLUDE "gfx/pokemon/suicune/normal.pal" +INCLUDE "gfx/pokemon/suicune/shiny.pal" +INCLUDE "gfx/pokemon/larvitar/normal.pal" +INCLUDE "gfx/pokemon/larvitar/shiny.pal" +INCLUDE "gfx/pokemon/pupitar/normal.pal" +INCLUDE "gfx/pokemon/pupitar/shiny.pal" +INCLUDE "gfx/pokemon/tyranitar/normal.pal" +INCLUDE "gfx/pokemon/tyranitar/shiny.pal" +INCLUDE "gfx/pokemon/lugia/normal.pal" +INCLUDE "gfx/pokemon/lugia/shiny.pal" +INCLUDE "gfx/pokemon/ho_oh/normal.pal" +INCLUDE "gfx/pokemon/ho_oh/shiny.pal" +INCLUDE "gfx/pokemon/celebi/normal.pal" +INCLUDE "gfx/pokemon/celebi/shiny.pal" + +; 252 + RGB 30, 26, 11 + RGB 23, 16, 00 +; 252 shiny + RGB 30, 26, 11 + RGB 23, 16, 00 + +; Egg + RGB 30, 26, 11 + RGB 23, 16, 00 +; Egg shiny + RGB 30, 26, 11 + RGB 23, 16, 00 + +; 254 + RGB 30, 26, 11 + RGB 23, 16, 00 +; 254 shiny + RGB 30, 26, 11 + RGB 23, 16, 00 + +; 255 + RGB 23, 23, 23 + RGB 17, 17, 17 +; 255 shiny + RGB 23, 23, 23 + RGB 17, 17, 17 + +; b0ce diff --git a/data/pokemon/pic_pointers.asm b/data/pokemon/pic_pointers.asm index 27f1f949f..cca5c3b9c 100644 --- a/data/pokemon/pic_pointers.asm +++ b/data/pokemon/pic_pointers.asm @@ -1,4 +1,4 @@ -PicPointers:: +PokemonPicPointers:: ; entries correspond to Pokémon species, two apiece dba_pic BulbasaurFrontpic dba_pic BulbasaurBackpic diff --git a/data/pokemon/pokemon_names.asm b/data/pokemon/pokemon_names.asm deleted file mode 100644 index 266b0c020..000000000 --- a/data/pokemon/pokemon_names.asm +++ /dev/null @@ -1,257 +0,0 @@ -PokemonNames:: - db "BULBASAUR@" - db "IVYSAUR@@@" - db "VENUSAUR@@" - db "CHARMANDER" - db "CHARMELEON" - db "CHARIZARD@" - db "SQUIRTLE@@" - db "WARTORTLE@" - db "BLASTOISE@" - db "CATERPIE@@" - db "METAPOD@@@" - db "BUTTERFREE" - db "WEEDLE@@@@" - db "KAKUNA@@@@" - db "BEEDRILL@@" - db "PIDGEY@@@@" - db "PIDGEOTTO@" - db "PIDGEOT@@@" - db "RATTATA@@@" - db "RATICATE@@" - db "SPEAROW@@@" - db "FEAROW@@@@" - db "EKANS@@@@@" - db "ARBOK@@@@@" - db "PIKACHU@@@" - db "RAICHU@@@@" - db "SANDSHREW@" - db "SANDSLASH@" - db "NIDORAN♀@@" - db "NIDORINA@@" - db "NIDOQUEEN@" - db "NIDORAN♂@@" - db "NIDORINO@@" - db "NIDOKING@@" - db "CLEFAIRY@@" - db "CLEFABLE@@" - db "VULPIX@@@@" - db "NINETALES@" - db "JIGGLYPUFF" - db "WIGGLYTUFF" - db "ZUBAT@@@@@" - db "GOLBAT@@@@" - db "ODDISH@@@@" - db "GLOOM@@@@@" - db "VILEPLUME@" - db "PARAS@@@@@" - db "PARASECT@@" - db "VENONAT@@@" - db "VENOMOTH@@" - db "DIGLETT@@@" - db "DUGTRIO@@@" - db "MEOWTH@@@@" - db "PERSIAN@@@" - db "PSYDUCK@@@" - db "GOLDUCK@@@" - db "MANKEY@@@@" - db "PRIMEAPE@@" - db "GROWLITHE@" - db "ARCANINE@@" - db "POLIWAG@@@" - db "POLIWHIRL@" - db "POLIWRATH@" - db "ABRA@@@@@@" - db "KADABRA@@@" - db "ALAKAZAM@@" - db "MACHOP@@@@" - db "MACHOKE@@@" - db "MACHAMP@@@" - db "BELLSPROUT" - db "WEEPINBELL" - db "VICTREEBEL" - db "TENTACOOL@" - db "TENTACRUEL" - db "GEODUDE@@@" - db "GRAVELER@@" - db "GOLEM@@@@@" - db "PONYTA@@@@" - db "RAPIDASH@@" - db "SLOWPOKE@@" - db "SLOWBRO@@@" - db "MAGNEMITE@" - db "MAGNETON@@" - db "FARFETCH'D" - db "DODUO@@@@@" - db "DODRIO@@@@" - db "SEEL@@@@@@" - db "DEWGONG@@@" - db "GRIMER@@@@" - db "MUK@@@@@@@" - db "SHELLDER@@" - db "CLOYSTER@@" - db "GASTLY@@@@" - db "HAUNTER@@@" - db "GENGAR@@@@" - db "ONIX@@@@@@" - db "DROWZEE@@@" - db "HYPNO@@@@@" - db "KRABBY@@@@" - db "KINGLER@@@" - db "VOLTORB@@@" - db "ELECTRODE@" - db "EXEGGCUTE@" - db "EXEGGUTOR@" - db "CUBONE@@@@" - db "MAROWAK@@@" - db "HITMONLEE@" - db "HITMONCHAN" - db "LICKITUNG@" - db "KOFFING@@@" - db "WEEZING@@@" - db "RHYHORN@@@" - db "RHYDON@@@@" - db "CHANSEY@@@" - db "TANGELA@@@" - db "KANGASKHAN" - db "HORSEA@@@@" - db "SEADRA@@@@" - db "GOLDEEN@@@" - db "SEAKING@@@" - db "STARYU@@@@" - db "STARMIE@@@" - db "MR.MIME@@@" - db "SCYTHER@@@" - db "JYNX@@@@@@" - db "ELECTABUZZ" - db "MAGMAR@@@@" - db "PINSIR@@@@" - db "TAUROS@@@@" - db "MAGIKARP@@" - db "GYARADOS@@" - db "LAPRAS@@@@" - db "DITTO@@@@@" - db "EEVEE@@@@@" - db "VAPOREON@@" - db "JOLTEON@@@" - db "FLAREON@@@" - db "PORYGON@@@" - db "OMANYTE@@@" - db "OMASTAR@@@" - db "KABUTO@@@@" - db "KABUTOPS@@" - db "AERODACTYL" - db "SNORLAX@@@" - db "ARTICUNO@@" - db "ZAPDOS@@@@" - db "MOLTRES@@@" - db "DRATINI@@@" - db "DRAGONAIR@" - db "DRAGONITE@" - db "MEWTWO@@@@" - db "MEW@@@@@@@" - db "CHIKORITA@" - db "BAYLEEF@@@" - db "MEGANIUM@@" - db "CYNDAQUIL@" - db "QUILAVA@@@" - db "TYPHLOSION" - db "TOTODILE@@" - db "CROCONAW@@" - db "FERALIGATR" - db "SENTRET@@@" - db "FURRET@@@@" - db "HOOTHOOT@@" - db "NOCTOWL@@@" - db "LEDYBA@@@@" - db "LEDIAN@@@@" - db "SPINARAK@@" - db "ARIADOS@@@" - db "CROBAT@@@@" - db "CHINCHOU@@" - db "LANTURN@@@" - db "PICHU@@@@@" - db "CLEFFA@@@@" - db "IGGLYBUFF@" - db "TOGEPI@@@@" - db "TOGETIC@@@" - db "NATU@@@@@@" - db "XATU@@@@@@" - db "MAREEP@@@@" - db "FLAAFFY@@@" - db "AMPHAROS@@" - db "BELLOSSOM@" - db "MARILL@@@@" - db "AZUMARILL@" - db "SUDOWOODO@" - db "POLITOED@@" - db "HOPPIP@@@@" - db "SKIPLOOM@@" - db "JUMPLUFF@@" - db "AIPOM@@@@@" - db "SUNKERN@@@" - db "SUNFLORA@@" - db "YANMA@@@@@" - db "WOOPER@@@@" - db "QUAGSIRE@@" - db "ESPEON@@@@" - db "UMBREON@@@" - db "MURKROW@@@" - db "SLOWKING@@" - db "MISDREAVUS" - db "UNOWN@@@@@" - db "WOBBUFFET@" - db "GIRAFARIG@" - db "PINECO@@@@" - db "FORRETRESS" - db "DUNSPARCE@" - db "GLIGAR@@@@" - db "STEELIX@@@" - db "SNUBBULL@@" - db "GRANBULL@@" - db "QWILFISH@@" - db "SCIZOR@@@@" - db "SHUCKLE@@@" - db "HERACROSS@" - db "SNEASEL@@@" - db "TEDDIURSA@" - db "URSARING@@" - db "SLUGMA@@@@" - db "MAGCARGO@@" - db "SWINUB@@@@" - db "PILOSWINE@" - db "CORSOLA@@@" - db "REMORAID@@" - db "OCTILLERY@" - db "DELIBIRD@@" - db "MANTINE@@@" - db "SKARMORY@@" - db "HOUNDOUR@@" - db "HOUNDOOM@@" - db "KINGDRA@@@" - db "PHANPY@@@@" - db "DONPHAN@@@" - db "PORYGON2@@" - db "STANTLER@@" - db "SMEARGLE@@" - db "TYROGUE@@@" - db "HITMONTOP@" - db "SMOOCHUM@@" - db "ELEKID@@@@" - db "MAGBY@@@@@" - db "MILTANK@@@" - db "BLISSEY@@@" - db "RAIKOU@@@@" - db "ENTEI@@@@@" - db "SUICUNE@@@" - db "LARVITAR@@" - db "PUPITAR@@@" - db "TYRANITAR@" - db "LUGIA@@@@@" - db "HO-OH@@@@@" - db "CELEBI@@@@" - db "?????@@@@@" - db "EGG@@@@@@@" - db "?????@@@@@" - db "?????@@@@@" - db "?????@@@@@" diff --git a/data/trainers/attributes.asm b/data/trainers/attributes.asm new file mode 100644 index 000000000..224e460c9 --- /dev/null +++ b/data/trainers/attributes.asm @@ -0,0 +1,406 @@ +TrainerClassAttributes: ; 3959c +; entries correspond to trainer classes (see constants/trainer_constants.asm) + +; Falkner + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Whitney + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Bugsy + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Morty + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Pryce + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Jasmine + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Chuck + db FULL_HEAL, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Clair + db FULL_HEAL, HYPER_POTION ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Rival1 + db 0, 0 ; items + db 15 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Pokemon Prof + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Will + db MAX_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Cal + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Bruno + db MAX_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Karen + db FULL_HEAL, MAX_POTION ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Koga + db FULL_HEAL, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Champion + db FULL_HEAL, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Brock + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Misty + db FULL_HEAL, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Lt Surge + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Scientist + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Erika + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Youngster + db 0, 0 ; items + db 4 ; base reward + dw AI_BASIC + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Schoolboy + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_OFTEN + +; Bird Keeper + db 0, 0 ; items + db 6 ; base reward + dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Lass + db 0, 0 ; items + db 6 ; base reward + dw AI_BASIC + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_OFTEN + +; Janine + db DIRE_HIT, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Cooltrainerm + db 0, 0 ; items + db 12 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Cooltrainerf + db 0, 0 ; items + db 12 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Beauty + db 0, 0 ; items + db 22 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Pokemaniac + db 0, 0 ; items + db 15 ; base reward + dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Gruntm + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Gentleman + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Skier + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Teacher + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Sabrina + db HYPER_POTION, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Bug Catcher + db 0, 0 ; items + db 4 ; base reward + dw AI_BASIC + AI_SETUP + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Fisher + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_OFTEN + +; Swimmerm + db 0, 0 ; items + db 2 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Swimmerf + db 0, 0 ; items + db 5 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Sailor + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Super Nerd + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Rival2 + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Guitarist + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Hiker + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Biker + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Blaine + db MAX_POTION, FULL_HEAL ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Burglar + db 0, 0 ; items + db 22 ; base reward + dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Firebreather + db 0, 0 ; items + db 12 ; base reward + dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Juggler + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Blackbelt T + db 0, 0 ; items + db 6 ; base reward + dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Executivem + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Psychic T + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Picnicker + db 0, 0 ; items + db 5 ; base reward + dw AI_BASIC + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Camper + db 0, 0 ; items + db 5 ; base reward + dw AI_BASIC + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Executivef + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Sage + db 0, 0 ; items + db 8 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Medium + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Boarder + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Pokefanm + db 0, 0 ; items + db 20 ; base reward + dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Kimono Girl + db 0, 0 ; items + db 18 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Twins + db 0, 0 ; items + db 5 ; base reward + dw NO_AI + dw CONTEXT_USE + SWITCH_OFTEN + +; Pokefanf + db 0, 0 ; items + db 20 ; base reward + dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Red + db FULL_RESTORE, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Blue + db FULL_RESTORE, FULL_RESTORE ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Officer + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Gruntf + db 0, 0 ; items + db 10 ; base reward + dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; Mysticalman + db 0, 0 ; items + db 25 ; base reward + dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY + dw CONTEXT_USE + SWITCH_SOMETIMES + +; 39771 diff --git a/data/trainers/class_names.asm b/data/trainers/class_names.asm new file mode 100755 index 000000000..48d81f910 --- /dev/null +++ b/data/trainers/class_names.asm @@ -0,0 +1,69 @@ +TrainerClassNames:: ; 2c1ef +; entries correspond to trainer classes (see constants/trainer_constants.asm) + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "RIVAL@" + db "#MON PROF.@" + db "ELITE FOUR@" + db " TRAINER@" + db "ELITE FOUR@" + db "ELITE FOUR@" + db "ELITE FOUR@" + db "CHAMPION@" + db "LEADER@" + db "LEADER@" + db "LEADER@" + db "SCIENTIST@" + db "LEADER@" + db "YOUNGSTER@" + db "SCHOOLBOY@" + db "BIRD KEEPER@" + db "LASS@" + db "LEADER@" + db "COOLTRAINER@" + db "COOLTRAINER@" + db "BEAUTY@" + db "#MANIAC@" + db "ROCKET@" + db "GENTLEMAN@" + db "SKIER@" + db "TEACHER@" + db "LEADER@" + db "BUG CATCHER@" + db "FISHER@" + db "SWIMMER♂@" + db "SWIMMER♀@" + db "SAILOR@" + db "SUPER NERD@" + db "RIVAL@" + db "GUITARIST@" + db "HIKER@" + db "BIKER@" + db "LEADER@" + db "BURGLAR@" + db "FIREBREATHER@" + db "JUGGLER@" + db "BLACKBELT@" + db "ROCKET@" + db "PSYCHIC@" + db "PICNICKER@" + db "CAMPER@" + db "ROCKET@" + db "SAGE@" + db "MEDIUM@" + db "BOARDER@" + db "#FAN@" + db "KIMONO GIRL@" + db "TWINS@" + db "#FAN@" + db " TRAINER@" + db "LEADER@" + db "OFFICER@" + db "ROCKET@" + db "MYSTICALMAN@" diff --git a/data/trainers/dvs.asm b/data/trainers/dvs.asm new file mode 100644 index 000000000..06f486774 --- /dev/null +++ b/data/trainers/dvs.asm @@ -0,0 +1,72 @@ +TrainerClassDVs: ; 270d6 +; entries correspond to trainer classes (see constants/trainer_constants.asm) + ; Atk Spd + ; Def Spc + db $9A, $77 ; falkner + db $88, $88 ; bugsy + db $98, $88 ; whitney + db $98, $88 ; morty + db $98, $88 ; pryce + db $98, $88 ; jasmine + db $98, $88 ; chuck + db $7C, $DD ; clair + db $DD, $DD ; rival1 + db $98, $88 ; pokemon prof + db $DC, $DD ; will + db $DC, $DD ; cal + db $DC, $DD ; bruno + db $7F, $DF ; karen + db $DC, $DD ; koga + db $DC, $DD ; champion + db $98, $88 ; brock + db $78, $88 ; misty + db $98, $88 ; lt surge + db $98, $88 ; scientist + db $78, $88 ; erika + db $98, $88 ; youngster + db $98, $88 ; schoolboy + db $98, $88 ; bird keeper + db $58, $88 ; lass + db $98, $88 ; janine + db $D8, $C8 ; cooltrainerm + db $7C, $C8 ; cooltrainerf + db $69, $C8 ; beauty + db $98, $88 ; pokemaniac + db $D8, $A8 ; gruntm + db $98, $88 ; gentleman + db $98, $88 ; skier + db $68, $88 ; teacher + db $7D, $87 ; sabrina + db $98, $88 ; bug catcher + db $98, $88 ; fisher + db $98, $88 ; swimmerm + db $78, $88 ; swimmerf + db $98, $88 ; sailor + db $98, $88 ; super nerd + db $98, $88 ; rival2 + db $98, $88 ; guitarist + db $A8, $88 ; hiker + db $98, $88 ; biker + db $98, $88 ; blaine + db $98, $88 ; burglar + db $98, $88 ; firebreather + db $98, $88 ; juggler + db $98, $88 ; blackbelt + db $D8, $A8 ; executivem + db $98, $88 ; psychic + db $6A, $A8 ; picnicker + db $98, $88 ; camper + db $7E, $A8 ; executivef + db $98, $88 ; sage + db $78, $88 ; medium + db $98, $88 ; boarder + db $98, $88 ; pokefanm + db $68, $8A ; kimono girl + db $68, $A8 ; twins + db $6D, $88 ; pokefanf + db $FD, $DE ; red + db $9D, $DD ; blue + db $98, $88 ; officer + db $7E, $A8 ; gruntf + db $98, $88 ; mysticalman +; 2715c diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm new file mode 100644 index 000000000..c943e49d7 --- /dev/null +++ b/data/trainers/palettes.asm @@ -0,0 +1,76 @@ +TrainerPalettes: ; b0ce +; entries correspond to trainer classes + +PlayerPalette: ; b0ce +; Chris uses the same colors as Cal +INCLUDE "gfx/trainers/cal.pal" +KrisPalette: ; b0d0 +; Kris shares Falkner's palette +INCLUDE "gfx/trainers/falkner.pal" +INCLUDE "gfx/trainers/whitney.pal" +INCLUDE "gfx/trainers/bugsy.pal" +INCLUDE "gfx/trainers/morty.pal" +INCLUDE "gfx/trainers/pryce.pal" +INCLUDE "gfx/trainers/jasmine.pal" +INCLUDE "gfx/trainers/chuck.pal" +INCLUDE "gfx/trainers/clair.pal" +INCLUDE "gfx/trainers/rival1.pal" +INCLUDE "gfx/trainers/oak.pal" +INCLUDE "gfx/trainers/will.pal" +INCLUDE "gfx/trainers/cal.pal" +INCLUDE "gfx/trainers/bruno.pal" +INCLUDE "gfx/trainers/karen.pal" +INCLUDE "gfx/trainers/koga.pal" +INCLUDE "gfx/trainers/champion.pal" +INCLUDE "gfx/trainers/brock.pal" +INCLUDE "gfx/trainers/misty.pal" +INCLUDE "gfx/trainers/lt_surge.pal" +INCLUDE "gfx/trainers/scientist.pal" +INCLUDE "gfx/trainers/erika.pal" +INCLUDE "gfx/trainers/youngster.pal" +INCLUDE "gfx/trainers/schoolboy.pal" +INCLUDE "gfx/trainers/bird_keeper.pal" +INCLUDE "gfx/trainers/lass.pal" +INCLUDE "gfx/trainers/janine.pal" +INCLUDE "gfx/trainers/cooltrainer_m.pal" +INCLUDE "gfx/trainers/cooltrainer_f.pal" +INCLUDE "gfx/trainers/beauty.pal" +INCLUDE "gfx/trainers/pokemaniac.pal" +INCLUDE "gfx/trainers/grunt_m.pal" +INCLUDE "gfx/trainers/gentleman.pal" +INCLUDE "gfx/trainers/skier.pal" +INCLUDE "gfx/trainers/teacher.pal" +INCLUDE "gfx/trainers/sabrina.pal" +INCLUDE "gfx/trainers/bug_catcher.pal" +INCLUDE "gfx/trainers/fisher.pal" +INCLUDE "gfx/trainers/swimmer_m.pal" +INCLUDE "gfx/trainers/swimmer_f.pal" +INCLUDE "gfx/trainers/sailor.pal" +INCLUDE "gfx/trainers/super_nerd.pal" +INCLUDE "gfx/trainers/rival2.pal" +INCLUDE "gfx/trainers/guitarist.pal" +INCLUDE "gfx/trainers/hiker.pal" +INCLUDE "gfx/trainers/biker.pal" +INCLUDE "gfx/trainers/blaine.pal" +INCLUDE "gfx/trainers/burglar.pal" +INCLUDE "gfx/trainers/firebreather.pal" +INCLUDE "gfx/trainers/juggler.pal" +INCLUDE "gfx/trainers/blackbelt_t.pal" +INCLUDE "gfx/trainers/executive_m.pal" +INCLUDE "gfx/trainers/psychic_t.pal" +INCLUDE "gfx/trainers/picnicker.pal" +INCLUDE "gfx/trainers/camper.pal" +INCLUDE "gfx/trainers/executive_f.pal" +INCLUDE "gfx/trainers/sage.pal" +INCLUDE "gfx/trainers/medium.pal" +INCLUDE "gfx/trainers/boarder.pal" +INCLUDE "gfx/trainers/pokefan_m.pal" +INCLUDE "gfx/trainers/kimono_girl.pal" +INCLUDE "gfx/trainers/twins.pal" +INCLUDE "gfx/trainers/pokefan_f.pal" +INCLUDE "gfx/trainers/red.pal" +INCLUDE "gfx/trainers/blue.pal" +INCLUDE "gfx/trainers/officer.pal" +INCLUDE "gfx/trainers/grunt_f.pal" +INCLUDE "gfx/trainers/mysticalman.pal" +; b1de diff --git a/data/trainers/trainer_attributes.asm b/data/trainers/trainer_attributes.asm deleted file mode 100644 index 224e460c9..000000000 --- a/data/trainers/trainer_attributes.asm +++ /dev/null @@ -1,406 +0,0 @@ -TrainerClassAttributes: ; 3959c -; entries correspond to trainer classes (see constants/trainer_constants.asm) - -; Falkner - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Whitney - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Bugsy - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Morty - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Pryce - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Jasmine - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Chuck - db FULL_HEAL, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Clair - db FULL_HEAL, HYPER_POTION ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Rival1 - db 0, 0 ; items - db 15 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Pokemon Prof - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Will - db MAX_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Cal - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Bruno - db MAX_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Karen - db FULL_HEAL, MAX_POTION ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Koga - db FULL_HEAL, FULL_RESTORE ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Champion - db FULL_HEAL, FULL_RESTORE ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Brock - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Misty - db FULL_HEAL, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Lt Surge - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Scientist - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Erika - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Youngster - db 0, 0 ; items - db 4 ; base reward - dw AI_BASIC + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Schoolboy - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_OFTEN - -; Bird Keeper - db 0, 0 ; items - db 6 ; base reward - dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Lass - db 0, 0 ; items - db 6 ; base reward - dw AI_BASIC + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_OFTEN - -; Janine - db DIRE_HIT, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Cooltrainerm - db 0, 0 ; items - db 12 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Cooltrainerf - db 0, 0 ; items - db 12 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Beauty - db 0, 0 ; items - db 22 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Pokemaniac - db 0, 0 ; items - db 15 ; base reward - dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Gruntm - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Gentleman - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Skier - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Teacher - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Sabrina - db HYPER_POTION, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Bug Catcher - db 0, 0 ; items - db 4 ; base reward - dw AI_BASIC + AI_SETUP + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Fisher - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_OFTEN - -; Swimmerm - db 0, 0 ; items - db 2 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Swimmerf - db 0, 0 ; items - db 5 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Sailor - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Super Nerd - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Rival2 - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Guitarist - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Hiker - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_OFFENSIVE + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Biker - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Blaine - db MAX_POTION, FULL_HEAL ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Burglar - db 0, 0 ; items - db 22 ; base reward - dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Firebreather - db 0, 0 ; items - db 12 ; base reward - dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Juggler - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Blackbelt T - db 0, 0 ; items - db 6 ; base reward - dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Executivem - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Psychic T - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Picnicker - db 0, 0 ; items - db 5 ; base reward - dw AI_BASIC + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Camper - db 0, 0 ; items - db 5 ; base reward - dw AI_BASIC + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Executivef - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Sage - db 0, 0 ; items - db 8 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Medium - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Boarder - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Pokefanm - db 0, 0 ; items - db 20 ; base reward - dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Kimono Girl - db 0, 0 ; items - db 18 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Twins - db 0, 0 ; items - db 5 ; base reward - dw NO_AI - dw CONTEXT_USE + SWITCH_OFTEN - -; Pokefanf - db 0, 0 ; items - db 20 ; base reward - dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Red - db FULL_RESTORE, FULL_RESTORE ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Blue - db FULL_RESTORE, FULL_RESTORE ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Officer - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Gruntf - db 0, 0 ; items - db 10 ; base reward - dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; Mysticalman - db 0, 0 ; items - db 25 ; base reward - dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY - dw CONTEXT_USE + SWITCH_SOMETIMES - -; 39771 diff --git a/data/trainers/trainer_class_names.asm b/data/trainers/trainer_class_names.asm deleted file mode 100755 index 48d81f910..000000000 --- a/data/trainers/trainer_class_names.asm +++ /dev/null @@ -1,69 +0,0 @@ -TrainerClassNames:: ; 2c1ef -; entries correspond to trainer classes (see constants/trainer_constants.asm) - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "RIVAL@" - db "#MON PROF.@" - db "ELITE FOUR@" - db " TRAINER@" - db "ELITE FOUR@" - db "ELITE FOUR@" - db "ELITE FOUR@" - db "CHAMPION@" - db "LEADER@" - db "LEADER@" - db "LEADER@" - db "SCIENTIST@" - db "LEADER@" - db "YOUNGSTER@" - db "SCHOOLBOY@" - db "BIRD KEEPER@" - db "LASS@" - db "LEADER@" - db "COOLTRAINER@" - db "COOLTRAINER@" - db "BEAUTY@" - db "#MANIAC@" - db "ROCKET@" - db "GENTLEMAN@" - db "SKIER@" - db "TEACHER@" - db "LEADER@" - db "BUG CATCHER@" - db "FISHER@" - db "SWIMMER♂@" - db "SWIMMER♀@" - db "SAILOR@" - db "SUPER NERD@" - db "RIVAL@" - db "GUITARIST@" - db "HIKER@" - db "BIKER@" - db "LEADER@" - db "BURGLAR@" - db "FIREBREATHER@" - db "JUGGLER@" - db "BLACKBELT@" - db "ROCKET@" - db "PSYCHIC@" - db "PICNICKER@" - db "CAMPER@" - db "ROCKET@" - db "SAGE@" - db "MEDIUM@" - db "BOARDER@" - db "#FAN@" - db "KIMONO GIRL@" - db "TWINS@" - db "#FAN@" - db " TRAINER@" - db "LEADER@" - db "OFFICER@" - db "ROCKET@" - db "MYSTICALMAN@" diff --git a/data/trainers/trainer_dvs.asm b/data/trainers/trainer_dvs.asm deleted file mode 100644 index 503c468d3..000000000 --- a/data/trainers/trainer_dvs.asm +++ /dev/null @@ -1,93 +0,0 @@ -GetTrainerDVs: ; 270c4 -; Return the DVs of OtherTrainerClass in bc - - push hl - ld a, [OtherTrainerClass] - dec a - ld c, a - ld b, 0 - - ld hl, TrainerClassDVs - add hl, bc - add hl, bc - - ld a, [hli] - ld b, a - ld c, [hl] - - pop hl - ret -; 270d6 - -TrainerClassDVs: ; 270d6 -; entries correspond to trainer classes (see constants/trainer_constants.asm) - ; Atk Spd - ; Def Spc - db $9A, $77 ; falkner - db $88, $88 ; bugsy - db $98, $88 ; whitney - db $98, $88 ; morty - db $98, $88 ; pryce - db $98, $88 ; jasmine - db $98, $88 ; chuck - db $7C, $DD ; clair - db $DD, $DD ; rival1 - db $98, $88 ; pokemon prof - db $DC, $DD ; will - db $DC, $DD ; cal - db $DC, $DD ; bruno - db $7F, $DF ; karen - db $DC, $DD ; koga - db $DC, $DD ; champion - db $98, $88 ; brock - db $78, $88 ; misty - db $98, $88 ; lt surge - db $98, $88 ; scientist - db $78, $88 ; erika - db $98, $88 ; youngster - db $98, $88 ; schoolboy - db $98, $88 ; bird keeper - db $58, $88 ; lass - db $98, $88 ; janine - db $D8, $C8 ; cooltrainerm - db $7C, $C8 ; cooltrainerf - db $69, $C8 ; beauty - db $98, $88 ; pokemaniac - db $D8, $A8 ; gruntm - db $98, $88 ; gentleman - db $98, $88 ; skier - db $68, $88 ; teacher - db $7D, $87 ; sabrina - db $98, $88 ; bug catcher - db $98, $88 ; fisher - db $98, $88 ; swimmerm - db $78, $88 ; swimmerf - db $98, $88 ; sailor - db $98, $88 ; super nerd - db $98, $88 ; rival2 - db $98, $88 ; guitarist - db $A8, $88 ; hiker - db $98, $88 ; biker - db $98, $88 ; blaine - db $98, $88 ; burglar - db $98, $88 ; firebreather - db $98, $88 ; juggler - db $98, $88 ; blackbelt - db $D8, $A8 ; executivem - db $98, $88 ; psychic - db $6A, $A8 ; picnicker - db $98, $88 ; camper - db $7E, $A8 ; executivef - db $98, $88 ; sage - db $78, $88 ; medium - db $98, $88 ; boarder - db $98, $88 ; pokefanm - db $68, $8A ; kimono girl - db $68, $A8 ; twins - db $6D, $88 ; pokefanf - db $FD, $DE ; red - db $9D, $DD ; blue - db $98, $88 ; officer - db $7E, $A8 ; gruntf - db $98, $88 ; mysticalman -; 2715c diff --git a/docs/battle_anim_commands.md b/docs/battle_anim_commands.md index 4a11391db..5b457bf69 100644 --- a/docs/battle_anim_commands.md +++ b/docs/battle_anim_commands.md @@ -1,6 +1,6 @@ # Battle Animation Commands -Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [data/moves/move_anims.asm:BattleAnimations](/data/moves/move_anims.asm). +Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [data/moves/animations.asm:BattleAnimations](/data/moves/animations.asm). ## `$00`−`$EF`: `anim_wait` *length* diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index c80eec94c..69f902eb0 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -186,7 +186,7 @@ BattleCommand_BellyDrum: ; 37c1a This bug affects Acid, Iron Tail, and Rock Smash. -This is a bug with `DefenseDownHit` in [data/moves/move_effects.asm](/data/moves/move_effects.asm): +This is a bug with `DefenseDownHit` in [data/moves/effects.asm](/data/moves/effects.asm): ```asm DefenseDownHit: @@ -661,7 +661,7 @@ FastBallMultiplier: ## Dragon Scale, not Dragon Fang, boosts Dragon-type moves -This is a bug with `ItemAttributes` in [items/item_attributes.asm](/items/item_attributes.asm): +This is a bug with `ItemAttributes` in [items/attributes.asm](/items/attributes.asm): ```asm ; DRAGON FANG diff --git a/docs/effect_commands.md b/docs/effect_commands.md deleted file mode 100644 index bd982a51d..000000000 --- a/docs/effect_commands.md +++ /dev/null @@ -1,358 +0,0 @@ -# Effect Commands - -Defined in [macros/scripts/effect_commands.asm](/macros/scripts/effect_commands.asm) and [data/moves/effect_command_pointers.asm:BattleCommandPointers](/data/moves/effect_command_pointers.asm). - - -## `$01`: `checkturn` - -## `$02`: `checkobedience` - -## `$03`: `usedmovetext` - -## `$04`: `doturn` - -## `$05`: `critical` - -## `$06`: `damagestats` - -## `$07`: `stab` - -## `$08`: `damagevariation` - -## `$09`: `checkhit` - -## `$0A`: `lowersub` - -## `$0B`: `hittargetnosub` - -## `$0C`: `raisesub` - -## `$0D`: `failuretext` - -## `$0E`: `checkfaint` - -## `$0F`: `criticaltext` - -## `$10`: `supereffectivetext` - -## `$11`: `checkdestinybond` - -## `$12`: `buildopponentrage` - -## `$13`: `poisontarget` - -## `$14`: `sleeptarget` - -## `$15`: `draintarget` - -## `$16`: `eatdream` - -## `$17`: `burntarget` - -## `$18`: `freezetarget` - -## `$19`: `paralyzetarget` - -## `$1A`: `selfdestruct` - -## `$1B`: `mirrormove` - -## `$1C`: `statup` - -## `$1D`: `statdown` - -## `$1E`: `payday` - -## `$1F`: `conversion` - -## `$20`: `resetstats` - -## `$21`: `storeenergy` - -## `$22`: `unleashenergy` - -## `$23`: `forceswitch` - -## `$24`: `endloop` - -## `$25`: `flinchtarget` - -## `$26`: `ohko` - -## `$27`: `recoil` - -## `$28`: `mist` - -## `$29`: `focusenergy` - -## `$2A`: `confuse` - -## `$2B`: `confusetarget` - -## `$2C`: `heal` - -## `$2D`: `transform` - -## `$2E`: `screen` - -## `$2F`: `poison` - -## `$30`: `paralyze` - -## `$31`: `substitute` - -## `$32`: `rechargenextturn` - -## `$33`: `mimic` - -## `$34`: `metronome` - -## `$35`: `leechseed` - -## `$36`: `splash` - -## `$37`: `disable` - -## `$38`: `cleartext` - -## `$39`: `charge` - -## `$3A`: `checkcharge` - -## `$3B`: `traptarget` - -## `$3C`: `effect0x3c` - -## `$3D`: `rampage` - -## `$3E`: `checkrampage` - -## `$3F`: `constantdamage` - -## `$40`: `counter` - -## `$41`: `encore` - -## `$42`: `painsplit` - -## `$43`: `snore` - -## `$44`: `conversion2` - -## `$45`: `lockon` - -## `$46`: `sketch` - -## `$47`: `defrostopponent` - -## `$48`: `sleeptalk` - -## `$49`: `destinybond` - -## `$4A`: `spite` - -## `$4B`: `falseswipe` - -## `$4C`: `healbell` - -## `$4D`: `kingsrock` - -## `$4E`: `triplekick` - -## `$4F`: `kickcounter` - -## `$50`: `thief` - -## `$51`: `arenatrap` - -## `$52`: `nightmare` - -## `$53`: `defrost` - -## `$54`: `curse` - -## `$55`: `protect` - -## `$56`: `spikes` - -## `$57`: `foresight` - -## `$58`: `perishsong` - -## `$59`: `startsandstorm` - -## `$5A`: `endure` - -## `$5B`: `checkcurl` - -## `$5C`: `rolloutpower` - -## `$5D`: `effect0x5d` - -## `$5E`: `furycutter` - -## `$5F`: `attract` - -## `$60`: `happinesspower` - -## `$61`: `present` - -## `$62`: `damagecalc` - -## `$63`: `frustrationpower` - -## `$64`: `safeguard` - -## `$65`: `checksafeguard` - -## `$66`: `getmagnitude` - -## `$67`: `batonpass` - -## `$68`: `pursuit` - -## `$69`: `clearhazards` - -## `$6A`: `healmorn` - -## `$6B`: `healday` - -## `$6C`: `healnite` - -## `$6D`: `hiddenpower` - -## `$6E`: `startrain` - -## `$6F`: `startsun` - -## `$70`: `attackup` - -## `$71`: `defenseup` - -## `$72`: `speedup` - -## `$73`: `specialattackup` - -## `$74`: `specialdefenseup` - -## `$75`: `accuracyup` - -## `$76`: `evasionup` - -## `$77`: `attackup2` - -## `$78`: `defenseup2` - -## `$79`: `speedup2` - -## `$7A`: `specialattackup2` - -## `$7B`: `specialdefenseup2` - -## `$7C`: `accuracyup2` - -## `$7D`: `evasionup2` - -## `$7E`: `attackdown` - -## `$7F`: `defensedown` - -## `$80`: `speeddown` - -## `$81`: `specialattackdown` - -## `$82`: `specialdefensedown` - -## `$83`: `accuracydown` - -## `$84`: `evasiondown` - -## `$85`: `attackdown2` - -## `$86`: `defensedown2` - -## `$87`: `speeddown2` - -## `$88`: `specialattackdown2` - -## `$89`: `specialdefensedown2` - -## `$8A`: `accuracydown2` - -## `$8B`: `evasiondown2` - -## `$8C`: `statupmessage` - -## `$8D`: `statdownmessage` - -## `$8E`: `statupfailtext` - -## `$8F`: `statdownfailtext` - -## `$90`: `effectchance` - -## `$91`: `statdownanim` - -## `$92`: `statupanim` - -## `$93`: `switchturn` - -## `$94`: `fakeout` - -## `$95`: `bellydrum` - -## `$96`: `psychup` - -## `$97`: `rage` - -## `$98`: `doubleflyingdamage` - -## `$99`: `doubleundergrounddamage` - -## `$9A`: `mirrorcoat` - -## `$9B`: `checkfuturesight` - -## `$9C`: `futuresight` - -## `$9D`: `doubleminimizedamage` - -## `$9E`: `skipsuncharge` - -## `$9F`: `thunderaccuracy` - -## `$A0`: `teleport` - -## `$A1`: `beatup` - -## `$A2`: `ragedamage` - -## `$A3`: `resettypematchup` - -## `$A4`: `allstatsup` - -## `$A5`: `effect0xa5` - -## `$A6`: `raisesubnoanim` - -## `$A7`: `lowersubnoanim` - -## `$A8`: `effect0xa8` - -## `$A9`: `clearmissdamage` - -## `$AA`: `movedelay` - -## `$AB`: `hittarget` - -## `$AC`: `tristatuschance` - -## `$AD`: `supereffectivelooptext` - -## `$AE`: `startloop` - -## `$AF`: `curl` - -## `$FE`: `endturn` - -## `$FF`: `endmove` diff --git a/docs/move_effect_commands.md b/docs/move_effect_commands.md new file mode 100644 index 000000000..b8b09c5c2 --- /dev/null +++ b/docs/move_effect_commands.md @@ -0,0 +1,358 @@ +# Move Effect Commands + +Defined in [macros/scripts/battle_commands.asm](/macros/scripts/battle_commands.asm) and [data/battle_command_pointers.asm:BattleCommandPointers](/data/battle_command_pointers.asm). + + +## `$01`: `checkturn` + +## `$02`: `checkobedience` + +## `$03`: `usedmovetext` + +## `$04`: `doturn` + +## `$05`: `critical` + +## `$06`: `damagestats` + +## `$07`: `stab` + +## `$08`: `damagevariation` + +## `$09`: `checkhit` + +## `$0A`: `lowersub` + +## `$0B`: `hittargetnosub` + +## `$0C`: `raisesub` + +## `$0D`: `failuretext` + +## `$0E`: `checkfaint` + +## `$0F`: `criticaltext` + +## `$10`: `supereffectivetext` + +## `$11`: `checkdestinybond` + +## `$12`: `buildopponentrage` + +## `$13`: `poisontarget` + +## `$14`: `sleeptarget` + +## `$15`: `draintarget` + +## `$16`: `eatdream` + +## `$17`: `burntarget` + +## `$18`: `freezetarget` + +## `$19`: `paralyzetarget` + +## `$1A`: `selfdestruct` + +## `$1B`: `mirrormove` + +## `$1C`: `statup` + +## `$1D`: `statdown` + +## `$1E`: `payday` + +## `$1F`: `conversion` + +## `$20`: `resetstats` + +## `$21`: `storeenergy` + +## `$22`: `unleashenergy` + +## `$23`: `forceswitch` + +## `$24`: `endloop` + +## `$25`: `flinchtarget` + +## `$26`: `ohko` + +## `$27`: `recoil` + +## `$28`: `mist` + +## `$29`: `focusenergy` + +## `$2A`: `confuse` + +## `$2B`: `confusetarget` + +## `$2C`: `heal` + +## `$2D`: `transform` + +## `$2E`: `screen` + +## `$2F`: `poison` + +## `$30`: `paralyze` + +## `$31`: `substitute` + +## `$32`: `rechargenextturn` + +## `$33`: `mimic` + +## `$34`: `metronome` + +## `$35`: `leechseed` + +## `$36`: `splash` + +## `$37`: `disable` + +## `$38`: `cleartext` + +## `$39`: `charge` + +## `$3A`: `checkcharge` + +## `$3B`: `traptarget` + +## `$3C`: `effect0x3c` + +## `$3D`: `rampage` + +## `$3E`: `checkrampage` + +## `$3F`: `constantdamage` + +## `$40`: `counter` + +## `$41`: `encore` + +## `$42`: `painsplit` + +## `$43`: `snore` + +## `$44`: `conversion2` + +## `$45`: `lockon` + +## `$46`: `sketch` + +## `$47`: `defrostopponent` + +## `$48`: `sleeptalk` + +## `$49`: `destinybond` + +## `$4A`: `spite` + +## `$4B`: `falseswipe` + +## `$4C`: `healbell` + +## `$4D`: `kingsrock` + +## `$4E`: `triplekick` + +## `$4F`: `kickcounter` + +## `$50`: `thief` + +## `$51`: `arenatrap` + +## `$52`: `nightmare` + +## `$53`: `defrost` + +## `$54`: `curse` + +## `$55`: `protect` + +## `$56`: `spikes` + +## `$57`: `foresight` + +## `$58`: `perishsong` + +## `$59`: `startsandstorm` + +## `$5A`: `endure` + +## `$5B`: `checkcurl` + +## `$5C`: `rolloutpower` + +## `$5D`: `effect0x5d` + +## `$5E`: `furycutter` + +## `$5F`: `attract` + +## `$60`: `happinesspower` + +## `$61`: `present` + +## `$62`: `damagecalc` + +## `$63`: `frustrationpower` + +## `$64`: `safeguard` + +## `$65`: `checksafeguard` + +## `$66`: `getmagnitude` + +## `$67`: `batonpass` + +## `$68`: `pursuit` + +## `$69`: `clearhazards` + +## `$6A`: `healmorn` + +## `$6B`: `healday` + +## `$6C`: `healnite` + +## `$6D`: `hiddenpower` + +## `$6E`: `startrain` + +## `$6F`: `startsun` + +## `$70`: `attackup` + +## `$71`: `defenseup` + +## `$72`: `speedup` + +## `$73`: `specialattackup` + +## `$74`: `specialdefenseup` + +## `$75`: `accuracyup` + +## `$76`: `evasionup` + +## `$77`: `attackup2` + +## `$78`: `defenseup2` + +## `$79`: `speedup2` + +## `$7A`: `specialattackup2` + +## `$7B`: `specialdefenseup2` + +## `$7C`: `accuracyup2` + +## `$7D`: `evasionup2` + +## `$7E`: `attackdown` + +## `$7F`: `defensedown` + +## `$80`: `speeddown` + +## `$81`: `specialattackdown` + +## `$82`: `specialdefensedown` + +## `$83`: `accuracydown` + +## `$84`: `evasiondown` + +## `$85`: `attackdown2` + +## `$86`: `defensedown2` + +## `$87`: `speeddown2` + +## `$88`: `specialattackdown2` + +## `$89`: `specialdefensedown2` + +## `$8A`: `accuracydown2` + +## `$8B`: `evasiondown2` + +## `$8C`: `statupmessage` + +## `$8D`: `statdownmessage` + +## `$8E`: `statupfailtext` + +## `$8F`: `statdownfailtext` + +## `$90`: `effectchance` + +## `$91`: `statdownanim` + +## `$92`: `statupanim` + +## `$93`: `switchturn` + +## `$94`: `fakeout` + +## `$95`: `bellydrum` + +## `$96`: `psychup` + +## `$97`: `rage` + +## `$98`: `doubleflyingdamage` + +## `$99`: `doubleundergrounddamage` + +## `$9A`: `mirrorcoat` + +## `$9B`: `checkfuturesight` + +## `$9C`: `futuresight` + +## `$9D`: `doubleminimizedamage` + +## `$9E`: `skipsuncharge` + +## `$9F`: `thunderaccuracy` + +## `$A0`: `teleport` + +## `$A1`: `beatup` + +## `$A2`: `ragedamage` + +## `$A3`: `resettypematchup` + +## `$A4`: `allstatsup` + +## `$A5`: `effect0xa5` + +## `$A6`: `raisesubnoanim` + +## `$A7`: `lowersubnoanim` + +## `$A8`: `effect0xa8` + +## `$A9`: `clearmissdamage` + +## `$AA`: `movedelay` + +## `$AB`: `hittarget` + +## `$AC`: `tristatuschance` + +## `$AD`: `supereffectivelooptext` + +## `$AE`: `startloop` + +## `$AF`: `curl` + +## `$FE`: `endturn` + +## `$FF`: `endmove` diff --git a/engine/battle/read_trainer_dvs.asm b/engine/battle/read_trainer_dvs.asm new file mode 100644 index 000000000..d7c0ff50b --- /dev/null +++ b/engine/battle/read_trainer_dvs.asm @@ -0,0 +1,20 @@ +GetTrainerDVs: ; 270c4 +; Return the DVs of OtherTrainerClass in bc + + push hl + ld a, [OtherTrainerClass] + dec a + ld c, a + ld b, 0 + + ld hl, TrainerClassDVs + add hl, bc + add hl, bc + + ld a, [hli] + ld b, a + ld c, [hl] + + pop hl + ret +; 270d6 diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index 9b7727a84..a09c6dd08 100755 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -1,4 +1,3 @@ - ReadTrainerParty: ; 39771 ld a, [InBattleTowerBattle] bit 0, a diff --git a/engine/color.asm b/engine/color.asm index e000476c3..3eafbad70 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -1218,9 +1218,9 @@ INCLUDE "data/palettes/hp_bar.pal" ExpBarPalette: INCLUDE "data/palettes/exp_bar.pal" -INCLUDE "data/palettes/pokemon_palettes.asm" +INCLUDE "data/pokemon/palettes.asm" -INCLUDE "data/palettes/trainer_palettes.asm" +INCLUDE "data/trainers/palettes.asm" LoadMapPals: farcall LoadSpecialMapPalette diff --git a/engine/map_setup.asm b/engine/map_setup.asm index 472532739..562916442 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -14,7 +14,7 @@ RunMapSetupScript:: ; 15363 ret ; 15377 -INCLUDE "data/maps/map_setup_scripts.asm" +INCLUDE "data/maps/setup_scripts.asm" ReadMapSetupScript: ; 1541d .loop diff --git a/gfx/load_pics.asm b/gfx/load_pics.asm index 838fc5656..b8ddde182 100755 --- a/gfx/load_pics.asm +++ b/gfx/load_pics.asm @@ -103,13 +103,13 @@ _GetFrontpic: ; 510a5 ret GetFrontpicPointer: ; 510d7 -GLOBAL PicPointers, UnownPicPointers +GLOBAL PokemonPicPointers, UnownPicPointers ld a, [CurPartySpecies] cp UNOWN jr z, .unown ld a, [CurPartySpecies] - ld d, BANK(PicPointers) + ld d, BANK(PokemonPicPointers) jr .ok .unown @@ -117,7 +117,7 @@ GLOBAL PicPointers, UnownPicPointers ld d, BANK(UnownPicPointers) .ok - ld hl, PicPointers ; UnownPicPointers + ld hl, PokemonPicPointers ; UnownPicPointers dec a ld bc, 6 call AddNTimes @@ -212,10 +212,10 @@ GetMonBackpic: ; 5116c ; These are assumed to be at the same ; address in their respective banks. - GLOBAL PicPointers, UnownPicPointers - ld hl, PicPointers ; UnownPicPointers + GLOBAL PokemonPicPointers, UnownPicPointers + ld hl, PokemonPicPointers ; UnownPicPointers ld a, b - ld d, BANK(PicPointers) + ld d, BANK(PokemonPicPointers) cp UNOWN jr nz, .ok ld a, c @@ -295,16 +295,16 @@ GLOBAL PICS_FIX Function511ec: ; 511ec ld a, c push de - ld hl, PicPointers + ld hl, PokemonPicPointers dec a ld bc, 6 call AddNTimes - ld a, BANK(PicPointers) + ld a, BANK(PokemonPicPointers) call GetFarByte call FixPicBank push af inc hl - ld a, BANK(PicPointers) + ld a, BANK(PokemonPicPointers) call GetFarHalfword pop af pop de diff --git a/gfx/pics.asm b/gfx/pics.asm index 37aac234e..fc2d46a77 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -1,8 +1,8 @@ INCLUDE "includes.asm" -; PicPointers and UnownPicPointers are assumed to start at the same address, -; but in different banks. This is enforced in pokecrystal.link. +; PokemonPicPointers and UnownPicPointers are assumed to start at the same +; address, but in different banks. This is enforced in pokecrystal.link. SECTION "Pic Pointers", ROMX diff --git a/macros.asm b/macros.asm index f24d2f5a7..b6598c933 100644 --- a/macros.asm +++ b/macros.asm @@ -14,7 +14,7 @@ INCLUDE "macros/scripts/maps.asm" INCLUDE "macros/scripts/events.asm" INCLUDE "macros/scripts/text.asm" INCLUDE "macros/scripts/movement.asm" -INCLUDE "macros/scripts/effect_commands.asm" +INCLUDE "macros/scripts/battle_commands.asm" INCLUDE "macros/scripts/battle_anims.asm" INCLUDE "macros/scripts/trade_anims.asm" INCLUDE "macros/scripts/gfx_anims.asm" diff --git a/macros/scripts/battle_commands.asm b/macros/scripts/battle_commands.asm new file mode 100644 index 000000000..5ac9009ff --- /dev/null +++ b/macros/scripts/battle_commands.asm @@ -0,0 +1,187 @@ +command: macro + enum \1_command +\1 equs "db \1_command" +endm + +; BattleCommandPointers indexes (see data/battle_command_pointers.asm) + enum_start 1 + command checkturn ; 01 + command checkobedience ; 02 + command usedmovetext ; 03 + command doturn ; 04 + command critical ; 05 + command damagestats ; 06 + command stab ; 07 + command damagevariation ; 08 + command checkhit ; 09 + command lowersub ; 0a + command hittargetnosub ; 0b + command raisesub ; 0c + command failuretext ; 0d + command checkfaint ; 0e + command criticaltext ; 0f + command supereffectivetext ; 10 + command checkdestinybond ; 11 + command buildopponentrage ; 12 + command poisontarget ; 13 + command sleeptarget ; 14 + command draintarget ; 15 + command eatdream ; 16 + command burntarget ; 17 + command freezetarget ; 18 + command paralyzetarget ; 19 + command selfdestruct ; 1a + command mirrormove ; 1b + command statup ; 1c + command statdown ; 1d + command payday ; 1e + command conversion ; 1f + command resetstats ; 20 + command storeenergy ; 21 + command unleashenergy ; 22 + command forceswitch ; 23 + command endloop ; 24 + command flinchtarget ; 25 + command ohko ; 26 + command recoil ; 27 + command mist ; 28 + command focusenergy ; 29 + command confuse ; 2a + command confusetarget ; 2b + command heal ; 2c + command transform ; 2d + command screen ; 2e + command poison ; 2f + command paralyze ; 30 + command substitute ; 31 + command rechargenextturn ; 32 + command mimic ; 33 + command metronome ; 34 + command leechseed ; 35 + command splash ; 36 + command disable ; 37 + command cleartext ; 38 + command charge ; 39 + command checkcharge ; 3a + command traptarget ; 3b + command effect0x3c ; 3c + command rampage ; 3d + command checkrampage ; 3e + command constantdamage ; 3f + command counter ; 40 + command encore ; 41 + command painsplit ; 42 + command snore ; 43 + command conversion2 ; 44 + command lockon ; 45 + command sketch ; 46 + command defrostopponent ; 47 + command sleeptalk ; 48 + command destinybond ; 49 + command spite ; 4a + command falseswipe ; 4b + command healbell ; 4c + command kingsrock ; 4d + command triplekick ; 4e + command kickcounter ; 4f + command thief ; 50 + command arenatrap ; 51 + command nightmare ; 52 + command defrost ; 53 + command curse ; 54 + command protect ; 55 + command spikes ; 56 + command foresight ; 57 + command perishsong ; 58 + command startsandstorm ; 59 + command endure ; 5a + command checkcurl ; 5b + command rolloutpower ; 5c + command effect0x5d ; 5d + command furycutter ; 5e + command attract ; 5f + command happinesspower ; 60 + command present ; 61 + command damagecalc ; 62 + command frustrationpower ; 63 + command safeguard ; 64 + command checksafeguard ; 65 + command getmagnitude ; 66 + command batonpass ; 67 + command pursuit ; 68 + command clearhazards ; 69 + command healmorn ; 6a + command healday ; 6b + command healnite ; 6c + command hiddenpower ; 6d + command startrain ; 6e + command startsun ; 6f + command attackup ; 70 + command defenseup ; 71 + command speedup ; 72 + command specialattackup ; 73 + command specialdefenseup ; 74 + command accuracyup ; 75 + command evasionup ; 76 + command attackup2 ; 77 + command defenseup2 ; 78 + command speedup2 ; 79 + command specialattackup2 ; 7a + command specialdefenseup2 ; 7b + command accuracyup2 ; 7c + command evasionup2 ; 7d + command attackdown ; 7e + command defensedown ; 7f + command speeddown ; 80 + command specialattackdown ; 81 + command specialdefensedown ; 82 + command accuracydown ; 83 + command evasiondown ; 84 + command attackdown2 ; 85 + command defensedown2 ; 86 + command speeddown2 ; 87 + command specialattackdown2 ; 88 + command specialdefensedown2 ; 89 + command accuracydown2 ; 8a + command evasiondown2 ; 8b + command statupmessage ; 8c + command statdownmessage ; 8d + command statupfailtext ; 8e + command statdownfailtext ; 8f + command effectchance ; 90 + command statdownanim ; 91 + command statupanim ; 92 + command switchturn ; 93 + command fakeout ; 94 + command bellydrum ; 95 + command psychup ; 96 + command rage ; 97 + command doubleflyingdamage ; 98 + command doubleundergrounddamage ; 99 + command mirrorcoat ; 9a + command checkfuturesight ; 9b + command futuresight ; 9c + command doubleminimizedamage ; 9d + command skipsuncharge ; 9e + command thunderaccuracy ; 9f + command teleport ; a0 + command beatup ; a1 + command ragedamage ; a2 + command resettypematchup ; a3 + command allstatsup ; a4 + command effect0xa5 ; a5 + command raisesubnoanim ; a6 + command lowersubnoanim ; a7 + command effect0xa8 ; a8 + command clearmissdamage ; a9 + command movedelay ; aa + command hittarget ; ab + command tristatuschance ; ac + command supereffectivelooptext ; ad + command startloop ; ae + command curl ; af + +__enum__ set $fe + + command endturn ; fe + command endmove ; ff diff --git a/macros/scripts/effect_commands.asm b/macros/scripts/effect_commands.asm deleted file mode 100644 index 550deac6a..000000000 --- a/macros/scripts/effect_commands.asm +++ /dev/null @@ -1,187 +0,0 @@ -command: macro - enum \1_command -\1 equs "db \1_command" -endm - -; BattleCommandPointers indexes (see data/moves/effect_command_pointers.asm) - enum_start 1 - command checkturn ; 01 - command checkobedience ; 02 - command usedmovetext ; 03 - command doturn ; 04 - command critical ; 05 - command damagestats ; 06 - command stab ; 07 - command damagevariation ; 08 - command checkhit ; 09 - command lowersub ; 0a - command hittargetnosub ; 0b - command raisesub ; 0c - command failuretext ; 0d - command checkfaint ; 0e - command criticaltext ; 0f - command supereffectivetext ; 10 - command checkdestinybond ; 11 - command buildopponentrage ; 12 - command poisontarget ; 13 - command sleeptarget ; 14 - command draintarget ; 15 - command eatdream ; 16 - command burntarget ; 17 - command freezetarget ; 18 - command paralyzetarget ; 19 - command selfdestruct ; 1a - command mirrormove ; 1b - command statup ; 1c - command statdown ; 1d - command payday ; 1e - command conversion ; 1f - command resetstats ; 20 - command storeenergy ; 21 - command unleashenergy ; 22 - command forceswitch ; 23 - command endloop ; 24 - command flinchtarget ; 25 - command ohko ; 26 - command recoil ; 27 - command mist ; 28 - command focusenergy ; 29 - command confuse ; 2a - command confusetarget ; 2b - command heal ; 2c - command transform ; 2d - command screen ; 2e - command poison ; 2f - command paralyze ; 30 - command substitute ; 31 - command rechargenextturn ; 32 - command mimic ; 33 - command metronome ; 34 - command leechseed ; 35 - command splash ; 36 - command disable ; 37 - command cleartext ; 38 - command charge ; 39 - command checkcharge ; 3a - command traptarget ; 3b - command effect0x3c ; 3c - command rampage ; 3d - command checkrampage ; 3e - command constantdamage ; 3f - command counter ; 40 - command encore ; 41 - command painsplit ; 42 - command snore ; 43 - command conversion2 ; 44 - command lockon ; 45 - command sketch ; 46 - command defrostopponent ; 47 - command sleeptalk ; 48 - command destinybond ; 49 - command spite ; 4a - command falseswipe ; 4b - command healbell ; 4c - command kingsrock ; 4d - command triplekick ; 4e - command kickcounter ; 4f - command thief ; 50 - command arenatrap ; 51 - command nightmare ; 52 - command defrost ; 53 - command curse ; 54 - command protect ; 55 - command spikes ; 56 - command foresight ; 57 - command perishsong ; 58 - command startsandstorm ; 59 - command endure ; 5a - command checkcurl ; 5b - command rolloutpower ; 5c - command effect0x5d ; 5d - command furycutter ; 5e - command attract ; 5f - command happinesspower ; 60 - command present ; 61 - command damagecalc ; 62 - command frustrationpower ; 63 - command safeguard ; 64 - command checksafeguard ; 65 - command getmagnitude ; 66 - command batonpass ; 67 - command pursuit ; 68 - command clearhazards ; 69 - command healmorn ; 6a - command healday ; 6b - command healnite ; 6c - command hiddenpower ; 6d - command startrain ; 6e - command startsun ; 6f - command attackup ; 70 - command defenseup ; 71 - command speedup ; 72 - command specialattackup ; 73 - command specialdefenseup ; 74 - command accuracyup ; 75 - command evasionup ; 76 - command attackup2 ; 77 - command defenseup2 ; 78 - command speedup2 ; 79 - command specialattackup2 ; 7a - command specialdefenseup2 ; 7b - command accuracyup2 ; 7c - command evasionup2 ; 7d - command attackdown ; 7e - command defensedown ; 7f - command speeddown ; 80 - command specialattackdown ; 81 - command specialdefensedown ; 82 - command accuracydown ; 83 - command evasiondown ; 84 - command attackdown2 ; 85 - command defensedown2 ; 86 - command speeddown2 ; 87 - command specialattackdown2 ; 88 - command specialdefensedown2 ; 89 - command accuracydown2 ; 8a - command evasiondown2 ; 8b - command statupmessage ; 8c - command statdownmessage ; 8d - command statupfailtext ; 8e - command statdownfailtext ; 8f - command effectchance ; 90 - command statdownanim ; 91 - command statupanim ; 92 - command switchturn ; 93 - command fakeout ; 94 - command bellydrum ; 95 - command psychup ; 96 - command rage ; 97 - command doubleflyingdamage ; 98 - command doubleundergrounddamage ; 99 - command mirrorcoat ; 9a - command checkfuturesight ; 9b - command futuresight ; 9c - command doubleminimizedamage ; 9d - command skipsuncharge ; 9e - command thunderaccuracy ; 9f - command teleport ; a0 - command beatup ; a1 - command ragedamage ; a2 - command resettypematchup ; a3 - command allstatsup ; a4 - command effect0xa5 ; a5 - command raisesubnoanim ; a6 - command lowersubnoanim ; a7 - command effect0xa8 ; a8 - command clearmissdamage ; a9 - command movedelay ; aa - command hittarget ; ab - command tristatuschance ; ac - command supereffectivelooptext ; ad - command startloop ; ae - command curl ; af - -__enum__ set $fe - - command endturn ; fe - command endmove ; ff diff --git a/main.asm b/main.asm index d3d0b5460..098edb7d1 100644 --- a/main.asm +++ b/main.asm @@ -11,7 +11,7 @@ INCLUDE "engine/init_map.asm" INCLUDE "engine/learn.asm" INCLUDE "engine/routines/checknickerrors.asm" INCLUDE "engine/math.asm" -INCLUDE "data/items/item_attributes.asm" +INCLUDE "data/items/attributes.asm" INCLUDE "engine/npc_movement.asm" INCLUDE "engine/events/happiness_egg.asm" INCLUDE "engine/events/special.asm" @@ -117,11 +117,12 @@ INCLUDE "engine/trainer_card.asm" INCLUDE "engine/events/prof_oaks_pc.asm" INCLUDE "engine/decorations.asm" INCLUDE "engine/routines/leveluphappinessmod.asm" -INCLUDE "data/trainers/trainer_dvs.asm" +INCLUDE "engine/battle/read_trainer_dvs.asm" +INCLUDE "data/trainers/dvs.asm" INCLUDE "engine/battle/returntobattle_useball.asm" INCLUDE "engine/battle/consumehelditem.asm" -INCLUDE "data/moves/move_effects_pointers.asm" -INCLUDE "data/moves/move_effects.asm" +INCLUDE "data/moves/effects_pointers.asm" +INCLUDE "data/moves/effects.asm" INCLUDE "engine/events/kurt_selectquantity_interpretjoypad.asm" @@ -141,12 +142,12 @@ INCBIN "gfx/battle/dude.2bpp.lz" SECTION "bankB", ROMX INCLUDE "engine/battle/trainer_huds.asm" -INCLUDE "data/trainers/trainer_class_names.asm" +INCLUDE "data/trainers/class_names.asm" INCLUDE "engine/battle/ai/redundant.asm" INCLUDE "engine/events/move_deleter.asm" INCLUDE "engine/mystery_gift_2.asm" INCLUDE "engine/tmhm2.asm" -INCLUDE "data/moves/move_descriptions.asm" +INCLUDE "data/moves/descriptions.asm" INCLUDE "engine/events/pokerus/pokerus.asm" INCLUDE "engine/battle/start_battle.asm" INCLUDE "engine/routines/placegraphic.asm" @@ -162,7 +163,7 @@ SECTION "Enemy Trainers", ROMX INCLUDE "engine/battle/ai/items.asm" INCLUDE "engine/battle/ai/scoring.asm" INCLUDE "engine/battle/read_trainer_attributes.asm" -INCLUDE "data/trainers/trainer_attributes.asm" +INCLUDE "data/trainers/attributes.asm" INCLUDE "engine/battle/read_trainer_party.asm" INCLUDE "data/trainers/party_pointers.asm" INCLUDE "data/trainers/parties.asm" @@ -171,7 +172,7 @@ INCLUDE "data/trainers/parties.asm" SECTION "Battle Core", ROMX INCLUDE "engine/battle/core.asm" -INCLUDE "data/moves/effect_command_pointers.asm" +INCLUDE "data/battle_command_pointers.asm" SECTION "bank10", ROMX @@ -220,7 +221,7 @@ INCLUDE "data/collision_permissions.asm" INCLUDE "engine/routines/emptyallsrambanks.asm" INCLUDE "engine/routines/savemenu_copytilemapatonce.asm" INCLUDE "engine/routines/checksave.asm" -INCLUDE "data/maps/map_scenes.asm" +INCLUDE "data/maps/scenes.asm" INCLUDE "engine/routines/loadmappart.asm" INCLUDE "engine/routines/phonering_copytilemapatonce.asm" @@ -270,7 +271,7 @@ INCLUDE "engine/routines/switchpartymons.asm" INCLUDE "gfx/load_pics.asm" INCLUDE "engine/move_mon_wo_mail.asm" INCLUDE "data/pokemon/base_stats.asm" -INCLUDE "data/pokemon/pokemon_names.asm" +INCLUDE "data/pokemon/names.asm" Unknown_53d84: ; unreferenced db $1a, $15 @@ -390,7 +391,7 @@ INCLUDE "engine/events/trainer_scripts.asm" SECTION "bank32", ROMX INCLUDE "engine/battle_anims/bg_effects.asm" -INCLUDE "data/moves/move_anims.asm" +INCLUDE "data/moves/animations.asm" INCLUDE "engine/events/poisonstep_pals.asm" TheEndGFX:: ; cbd2e @@ -593,9 +594,9 @@ INCLUDE "text/phone/trainers1.asm" SECTION "Miscellaneous Text", ROMX -INCLUDE "data/items/item_names.asm" -INCLUDE "data/items/item_descriptions.asm" -INCLUDE "data/moves/move_names.asm" +INCLUDE "data/items/names.asm" +INCLUDE "data/items/descriptions.asm" +INCLUDE "data/moves/names.asm" INCLUDE "engine/landmarks.asm" diff --git a/tilesets/roofs.asm b/tilesets/roofs.asm index a9fd8a654..2a4b0a1b4 100644 --- a/tilesets/roofs.asm +++ b/tilesets/roofs.asm @@ -17,4 +17,4 @@ LoadMapGroupRoof:: ; 1c000 ; 1c021 -INCLUDE "data/maps/mapgroup_roofs.asm" +INCLUDE "data/maps/roofs.asm" -- cgit v1.2.3