summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorobskyr <powpowd@gmail.com>2019-08-14 00:54:00 +0200
committerobskyr <powpowd@gmail.com>2019-08-14 00:54:00 +0200
commit79f2589ef86e38e5d0932d25208e3043f3bd6ef5 (patch)
treea182fc2f96c226151174eab5a0a19acabcbeb757
parentb5da19a40473eddbd72ce681a0c904e04026d42e (diff)
Disassemble battle animation scripts.
Based on pokecrystal. Apparently, very few move animations were changed (Transform, Minimize, and Body Slam-likes)!
-rw-r--r--constants/animation_constants.asm199
-rw-r--r--constants/sfx_constants.asm4
-rw-r--r--data/moves/animations.asm4853
-rw-r--r--macros/move_anim.asm26
-rw-r--r--main.asm5
5 files changed, 4970 insertions, 117 deletions
diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm
index 0170d570..2fbbf595 100644
--- a/constants/animation_constants.asm
+++ b/constants/animation_constants.asm
@@ -37,13 +37,13 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const ANIM_OBJ_06
const ANIM_OBJ_07
const ANIM_OBJ_08
- const ANIM_OBJ_09
+ const ANIM_OBJ_FANG
const ANIM_OBJ_0A
- const ANIM_OBJ_0B
- const ANIM_OBJ_0C
- const ANIM_OBJ_0D
- const ANIM_OBJ_0E
- const ANIM_OBJ_0F
+ const ANIM_OBJ_EMBER
+ const ANIM_OBJ_DRAGON_RAGE
+ const ANIM_OBJ_FLAMETHROWER
+ const ANIM_OBJ_FIRE_SPIN
+ const ANIM_OBJ_FIRE_BLAST
const ANIM_OBJ_BURNED
const ANIM_OBJ_BLIZZARD
const ANIM_OBJ_12
@@ -57,32 +57,32 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const ANIM_OBJ_1A
const ANIM_OBJ_1B
const ANIM_OBJ_BALL_POOF
- const ANIM_OBJ_1D
- const ANIM_OBJ_1E
- const ANIM_OBJ_1F
- const ANIM_OBJ_20
+ const ANIM_OBJ_BIG_ROCK
+ const ANIM_OBJ_SMALL_ROCK
+ const ANIM_OBJ_STRENGTH
+ const ANIM_OBJ_SEISMIC_TOSS
const ANIM_OBJ_BUBBLE
- const ANIM_OBJ_22
- const ANIM_OBJ_23
- const ANIM_OBJ_24
- const ANIM_OBJ_25
- const ANIM_OBJ_26
+ const ANIM_OBJ_SURF
+ const ANIM_OBJ_SING
+ const ANIM_OBJ_WATER_GUN
+ const ANIM_OBJ_HYDRO_PUMP
+ const ANIM_OBJ_POWDER
const ANIM_OBJ_27
const ANIM_OBJ_28
const ANIM_OBJ_ICE_BUILDUP
const ANIM_OBJ_FROZEN
const ANIM_OBJ_MASTER_BALL_SPARKLE
- const ANIM_OBJ_2C
+ const ANIM_OBJ_RECOVER
const ANIM_OBJ_2D
const ANIM_OBJ_2E
const ANIM_OBJ_2F
- const ANIM_OBJ_30
+ const ANIM_OBJ_THUNDER_WAVE
const ANIM_OBJ_31
const ANIM_OBJ_LIGHTNING_BOLT
const ANIM_OBJ_33
const ANIM_OBJ_34
- const ANIM_OBJ_35
- const ANIM_OBJ_36
+ const ANIM_OBJ_CLAMP
+ const ANIM_OBJ_BITE
const ANIM_OBJ_37
const ANIM_OBJ_38
const ANIM_OBJ_39
@@ -95,127 +95,127 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const ANIM_OBJ_40
const ANIM_OBJ_41
const ANIM_OBJ_42
- const ANIM_OBJ_43
+ const ANIM_OBJ_SONICBOOM_JP
const ANIM_OBJ_44
const ANIM_OBJ_ABSORB
- const ANIM_OBJ_46
+ const ANIM_OBJ_EGG
const ANIM_OBJ_47
const ANIM_OBJ_48
const ANIM_OBJ_49
const ANIM_OBJ_LEECH_SEED
const ANIM_OBJ_4B
- const ANIM_OBJ_4C
- const ANIM_OBJ_4D
+ const ANIM_OBJ_WAVE
+ const ANIM_OBJ_CONFUSE_RAY
const ANIM_OBJ_4E
const ANIM_OBJ_4F
- const ANIM_OBJ_50
- const ANIM_OBJ_51
+ const ANIM_OBJ_SCREEN
+ const ANIM_OBJ_HARDEN
const ANIM_OBJ_CHICK
- const ANIM_OBJ_53
- const ANIM_OBJ_54
+ const ANIM_OBJ_AMNESIA
+ const ANIM_OBJ_ASLEEP
const ANIM_OBJ_SKULL
const ANIM_OBJ_56
const ANIM_OBJ_57
const ANIM_OBJ_58
const ANIM_OBJ_PARALYZED
- const ANIM_OBJ_5A
+ const ANIM_OBJ_STRING_SHOT
const ANIM_OBJ_HAZE
const ANIM_OBJ_MIST
const ANIM_OBJ_SMOG
const ANIM_OBJ_POISON_GAS
const ANIM_OBJ_HORN
const ANIM_OBJ_60
- const ANIM_OBJ_61
- const ANIM_OBJ_62
- const ANIM_OBJ_63
+ const ANIM_OBJ_PETAL_DANCE
+ const ANIM_OBJ_SLUDGE_BOMB
+ const ANIM_OBJ_PAY_DAY
const ANIM_OBJ_64
- const ANIM_OBJ_65
- const ANIM_OBJ_66
- const ANIM_OBJ_67
- const ANIM_OBJ_68
- const ANIM_OBJ_69
- const ANIM_OBJ_6A
- const ANIM_OBJ_6B
- const ANIM_OBJ_6C
- const ANIM_OBJ_6D
- const ANIM_OBJ_SKY_ATTACK_FEAROW
+ const ANIM_OBJ_MIMIC
+ const ANIM_OBJ_ATTRACT
+ const ANIM_OBJ_BONEMERANG
+ const ANIM_OBJ_BONE_CLUB
+ const ANIM_OBJ_BONE_RUSH
+ const ANIM_OBJ_SWIFT
+ const ANIM_OBJ_KINESIS
+ const ANIM_OBJ_FLASH
+ const ANIM_OBJ_SHINY
+ const ANIM_OBJ_SKY_ATTACK
const ANIM_OBJ_LICK
const ANIM_OBJ_WITHDRAW
const ANIM_OBJ_71
- const ANIM_OBJ_72
- const ANIM_OBJ_73
- const ANIM_OBJ_74
- const ANIM_OBJ_75
- const ANIM_OBJ_76
- const ANIM_OBJ_77
- const ANIM_OBJ_78
- const ANIM_OBJ_79
+ const ANIM_OBJ_GROWTH
+ const ANIM_OBJ_CONVERSION2
+ const ANIM_OBJ_SMOKE
+ const ANIM_OBJ_SMOKESCREEN
+ const ANIM_OBJ_SWORDS_DANCE
+ const ANIM_OBJ_SPEED_LINE
+ const ANIM_OBJ_SHARPEN
+ const ANIM_OBJ_DEFENSE_CURL
const ANIM_OBJ_7A
const ANIM_OBJ_7B
- const ANIM_OBJ_7C
- const ANIM_OBJ_7D
+ const ANIM_OBJ_DISABLE
+ const ANIM_OBJ_AGILITY
const ANIM_OBJ_HEART
- const ANIM_OBJ_7F
- const ANIM_OBJ_80
+ const ANIM_OBJ_FLAME_WHEEL
+ const ANIM_OBJ_SACRED_FIRE
const ANIM_OBJ_COTTON_SPORE
- const ANIM_OBJ_82
- const ANIM_OBJ_83
+ const ANIM_OBJ_MILK_DRINK
+ const ANIM_OBJ_ANGER
const ANIM_OBJ_84
const ANIM_OBJ_85
- const ANIM_OBJ_86
- const ANIM_OBJ_87
- const ANIM_OBJ_88
- const ANIM_OBJ_89
- const ANIM_OBJ_8A
- const ANIM_OBJ_8B
- const ANIM_OBJ_8C
- const ANIM_OBJ_8D
+ const ANIM_OBJ_BATON_PASS
+ const ANIM_OBJ_LOCK_ON
+ const ANIM_OBJ_MIND_READER
+ const ANIM_OBJ_SAFEGUARD
+ const ANIM_OBJ_PROTECT
+ const ANIM_OBJ_THIEF
+ const ANIM_OBJ_OCTAZOOKA
+ const ANIM_OBJ_PRESENT
const ANIM_OBJ_SPIKES
- const ANIM_OBJ_8F
- const ANIM_OBJ_90
- const ANIM_OBJ_91
- const ANIM_OBJ_92
+ const ANIM_OBJ_POWDER_SNOW
+ const ANIM_OBJ_DRAGONBREATH
+ const ANIM_OBJ_CONVERSION
+ const ANIM_OBJ_SPIDER_WEB
const ANIM_OBJ_93
- const ANIM_OBJ_94
- const ANIM_OBJ_95
- const ANIM_OBJ_96
- const ANIM_OBJ_97
- const ANIM_OBJ_98
+ const ANIM_OBJ_NIGHTMARE
+ const ANIM_OBJ_IN_NIGHTMARE
+ const ANIM_OBJ_LOVELY_KISS
+ const ANIM_OBJ_SWEET_KISS
+ const ANIM_OBJ_SKETCH
const ANIM_OBJ_99
const ANIM_OBJ_9A
- const ANIM_OBJ_9B
- const ANIM_OBJ_9C
- const ANIM_OBJ_9D
- const ANIM_OBJ_9E
- const ANIM_OBJ_9F
+ const ANIM_OBJ_DESTINY_BOND
+ const ANIM_OBJ_MORNING_SUN
+ const ANIM_OBJ_GLIMMER
+ const ANIM_OBJ_MOONLIGHT
+ const ANIM_OBJ_HIDDEN_POWER
const ANIM_OBJ_A0
const ANIM_OBJ_A1
- const ANIM_OBJ_A2
- const ANIM_OBJ_A3
- const ANIM_OBJ_A4
- const ANIM_OBJ_A5
+ const ANIM_OBJ_SANDSTORM
+ const ANIM_OBJ_ZAP_CANNON
+ const ANIM_OBJ_SPITE
+ const ANIM_OBJ_CURSE
const ANIM_OBJ_PERISH_SONG
- const ANIM_OBJ_A7
- const ANIM_OBJ_A8
- const ANIM_OBJ_A9
+ const ANIM_OBJ_FORESIGHT
+ const ANIM_OBJ_RAPID_SPIN
+ const ANIM_OBJ_SWAGGER
const ANIM_OBJ_AA
const ANIM_OBJ_AB
- const ANIM_OBJ_AC
+ const ANIM_OBJ_MEAN_LOOK
const ANIM_OBJ_AD
const ANIM_OBJ_AE
- const ANIM_OBJ_AF
+ const ANIM_OBJ_RAIN
const ANIM_OBJ_B0
- const ANIM_OBJ_B1
- const ANIM_OBJ_B2
- const ANIM_OBJ_B3
- const ANIM_OBJ_B4
- const ANIM_OBJ_B5
+ const ANIM_OBJ_PSYCH_UP
+ const ANIM_OBJ_ANCIENTPOWER
+ const ANIM_OBJ_AEROBLAST
+ const ANIM_OBJ_SHADOW_BALL
+ const ANIM_OBJ_ROCK_SMASH
const ANIM_OBJ_FLOWER
const ANIM_OBJ_COTTON
- const ANIM_OBJ_PLAYERFEETFOLLOW
- const ANIM_OBJ_ENEMYFEETFOLLOW
- const ANIM_OBJ_BA
- const ANIM_OBJ_BB
+ const ANIM_OBJ_ENEMYFEET_1ROW
+ const ANIM_OBJ_PLAYERHEAD_1ROW
+ const ANIM_OBJ_ENEMYFEET_2ROW
+ const ANIM_OBJ_PLAYERHEAD_2ROW
; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm)
const_def
@@ -725,8 +725,8 @@ const_value SET 1
const ANIM_BG_WHIRLPOOL
const ANIM_BG_TELEPORT
const ANIM_BG_NIGHT_SHADE
- const ANIM_BG_FEET_FOLLOW
- const ANIM_BG_HEAD_FOLLOW
+ const ANIM_BG_BATTLEROBJ_1ROW
+ const ANIM_BG_BATTLEROBJ_2ROW
const ANIM_BG_DOUBLE_TEAM
const ANIM_BG_ACID_ARMOR
const ANIM_BG_RAPID_FLASH
@@ -747,9 +747,9 @@ const_value SET 1
const ANIM_BG_TACKLE
const ANIM_BG_25
const ANIM_BG_26
- const ANIM_BG_27
const ANIM_BG_WAVE_DEFORM_USER
const ANIM_BG_PSYCHIC
+ const ANIM_BG_29
const ANIM_BG_2A
const ANIM_BG_2B
const ANIM_BG_2C
@@ -758,10 +758,9 @@ const_value SET 1
const ANIM_BG_2F
const ANIM_BG_30
const ANIM_BG_31
- const ANIM_BG_32
const ANIM_BG_VIBRATE_MON
const ANIM_BG_WOBBLE_MON
- const ANIM_BG_35
+ const ANIM_BG_34
; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm)
const_value SET 1
diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm
index 3b88e820..bfd92a7a 100644
--- a/constants/sfx_constants.asm
+++ b/constants/sfx_constants.asm
@@ -127,7 +127,7 @@
const SFX_SWEET_KISS ; 7c
const SFX_SWEET_KISS_2 ; 7d
const SFX_BELLY_DRUM ; 7e
- const SFX_UNKNOWN_7F ; 7f
+ const SFX_TOXIC ; 7f
const SFX_SLUDGE_BOMB ; 80
const SFX_FORESIGHT ; 81
const SFX_SPITE ; 82
@@ -179,7 +179,7 @@
const SFX_ENCORE ; b0
const SFX_BEAT_UP ; b1
const SFX_BATON_PASS ; b2
- const SFX_BALL_WIGGLE ; b3
+ const SFX_BALL_WOBBLE ; b3
const SFX_SWEET_SCENT ; b4
const SFX_SWEET_SCENT_2 ; b5
const SFX_HIT_END_OF_EXP_BAR ; b6
diff --git a/data/moves/animations.asm b/data/moves/animations.asm
new file mode 100644
index 00000000..badbf7ba
--- /dev/null
+++ b/data/moves/animations.asm
@@ -0,0 +1,4853 @@
+BattleAnimations::
+; 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
+
+BattleAnim_0:
+BattleAnim_252:
+BattleAnim_253:
+BattleAnim_254:
+BattleAnim_MirrorMove:
+ anim_ret
+
+BattleAnim_SweetScent2:
+ anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC
+ anim_obj ANIM_OBJ_FLOWER, 64, 96, $2
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLOWER, 64, 80, $2
+ anim_wait 64
+ anim_obj ANIM_OBJ_COTTON, 136, 40, $15
+ anim_obj ANIM_OBJ_COTTON, 136, 40, $2a
+ anim_obj ANIM_OBJ_COTTON, 136, 40, $3f
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_wait 128
+ anim_ret
+
+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, 68, 92, $40
+ anim_wait 36
+ anim_obj ANIM_OBJ_POKE_BALL, 136, 65, $0
+ anim_setobj $2, $7
+ anim_wait 16
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, 136, 64, $10
+ anim_wait 16
+ anim_jump .Shake
+
+.TheTrainerBlockedTheBall:
+ anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL_BLOCKED, 64, 92, $20
+ anim_wait 20
+ anim_obj ANIM_OBJ_01, 112, 40, $0
+ anim_wait 32
+ anim_ret
+
+.UltraBall:
+ anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 68, 92, $40
+ anim_wait 36
+ anim_obj ANIM_OBJ_POKE_BALL, 136, 65, $0
+ anim_setobj $2, $7
+ anim_wait 16
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, 136, 64, $10
+ anim_wait 16
+ anim_jump .Shake
+
+.GreatBall:
+ anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 68, 92, $40
+ anim_wait 36
+ anim_obj ANIM_OBJ_POKE_BALL, 136, 65, $0
+ anim_setobj $2, $7
+ anim_wait 16
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, 136, 64, $10
+ anim_wait 16
+ anim_jump .Shake
+
+.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, 64, 92, $20
+ anim_wait 36
+ anim_obj ANIM_OBJ_POKE_BALL, 136, 65, $0
+ anim_setobj $2, $7
+ anim_wait 16
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, 136, 64, $10
+ anim_wait 24
+ anim_sound 0, 1, SFX_MASTER_BALL
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, 136, 56, $30
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, 136, 56, $31
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, 136, 56, $32
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, 136, 56, $33
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, 136, 56, $34
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, 136, 56, $35
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, 136, 56, $36
+ anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, 136, 56, $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_WOBBLE
+ anim_jump .Loop
+
+.Click:
+ anim_keepsprites
+ anim_ret
+
+.BreakFree:
+ anim_setobj $1, $b
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, 136, 64, $10
+ anim_wait 2
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_SendOutMon:
+ 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_TargetObj_1Row
+ anim_bgeffect ANIM_BG_2A, $0, $1, $0
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1B, 48, 96, $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_TargetObj_1Row
+ anim_bgeffect ANIM_BG_29, $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, 48, 96, $0
+ anim_incbgeffect ANIM_BG_29
+ anim_wait 96
+ anim_incbgeffect ANIM_BG_29
+ 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_SHINY, 48, 96, $0
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $8
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $10
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $18
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $20
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $28
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $30
+ anim_wait 4
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $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, 44, 96, $0
+ anim_wait 4
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_ReturnMon:
+ anim_sound 0, 0, SFX_BALL_POOF
+BattleAnim_BatonPass_branch_c9486:
+ anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Confused:
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 0, SFX_KINESIS
+ anim_obj ANIM_OBJ_CHICK, 44, 56, $15
+ anim_obj ANIM_OBJ_CHICK, 44, 56, $aa
+ anim_obj ANIM_OBJ_CHICK, 44, 56, $bf
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Slp:
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 0, SFX_TAIL_WHIP
+.loop
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
+ anim_wait 40
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Brn:
+ anim_1gfx ANIM_GFX_FIRE
+.loop
+ anim_sound 0, 0, SFX_BURN
+ anim_obj ANIM_OBJ_BURNED, 56, 88, $10
+ anim_wait 4
+ anim_loop 3, .loop
+ anim_wait 6
+ anim_ret
+
+BattleAnim_Psn:
+ anim_1gfx ANIM_GFX_POISON
+ anim_sound 0, 0, SFX_POISON
+ anim_obj ANIM_OBJ_SKULL, 64, 56, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_POISON
+ anim_obj ANIM_OBJ_SKULL, 48, 56, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_Sap:
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 128, 48, $2
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 136, 64, $3
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 136, 32, $4
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Frz:
+ anim_1gfx ANIM_GFX_ICE
+ anim_obj ANIM_OBJ_FROZEN, 44, 110, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_wait 16
+ anim_sound 0, 0, SFX_SHINE
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Par:
+ anim_1gfx ANIM_GFX_STATUS
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_PARALYZED, 20, 88, $42
+ anim_obj ANIM_OBJ_PARALYZED, 76, 88, $c2
+ anim_wait 128
+ anim_ret
+
+BattleAnim_InLove:
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 64, 76, $0
+ anim_wait 32
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 36, 72, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_InSandstorm:
+ anim_1gfx ANIM_GFX_POWDER
+ anim_obj ANIM_OBJ_SANDSTORM, 88, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_SANDSTORM, 72, 0, $1
+ anim_wait 8
+ anim_obj ANIM_OBJ_SANDSTORM, 56, 0, $2
+.loop
+ anim_sound 0, 1, SFX_MENU
+ anim_wait 8
+ anim_loop 6, .loop
+ anim_wait 8
+ anim_ret
+
+BattleAnim_InNightmare:
+ anim_1gfx ANIM_GFX_ANGELS
+ anim_sound 0, 0, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_IN_NIGHTMARE, 68, 80, $0
+ anim_wait 40
+ anim_ret
+
+BattleAnim_InWhirlpool:
+ 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, 132, 72, $0
+ anim_wait 6
+ anim_loop 6, .loop
+ anim_incbgeffect ANIM_BG_WHIRLPOOL
+ anim_wait 1
+ anim_ret
+
+BattleAnim_HitConfusion:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_POUND
+ anim_obj ANIM_OBJ_04, 44, 96, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Miss:
+ anim_ret
+
+BattleAnim_EnemyDamage:
+.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
+
+BattleAnim_EnemyStatDown:
+ anim_call BattleAnim_UserObj_1Row
+ anim_bgeffect ANIM_BG_VIBRATE_MON, $0, $0, $0
+ anim_wait 40
+ anim_call BattleAnim_ShowMon_1
+ anim_wait 1
+ anim_ret
+
+BattleAnim_PlayerStatDown:
+ anim_call BattleAnim_UserObj_1Row
+ anim_bgeffect ANIM_BG_WOBBLE_MON, $0, $0, $0
+ anim_wait 40
+ anim_call BattleAnim_ShowMon_1
+ anim_wait 1
+ anim_ret
+
+BattleAnim_PlayerDamage:
+ anim_bgeffect ANIM_BG_20, $20, $2, $20
+ anim_wait 40
+ anim_ret
+
+BattleAnim_Wobble:
+ anim_bgeffect ANIM_BG_34, $0, $0, $0
+ anim_wait 40
+ anim_ret
+
+BattleAnim_Shake:
+ anim_bgeffect ANIM_BG_1F, $20, $2, $40
+ anim_wait 40
+ anim_ret
+
+BattleAnim_Pound:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_08, 136, 56, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_KarateChop:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, 136, 40, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 40, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, 136, 44, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 44, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, 136, 48, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 48, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Doubleslap:
+ 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, 144, 48, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 144, 48, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_Doubleslap_branch_c961b:
+ anim_sound 0, 1, SFX_DOUBLESLAP
+ anim_obj ANIM_OBJ_08, 120, 48, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 120, 48, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_CometPunch:
+ 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, 144, 48, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 144, 48, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_CometPunch_branch_c9641:
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_06, 120, 64, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 120, 64, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_Bide_branch_c9651:
+BattleAnim_MegaPunch:
+ 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, 136, 56, $0
+ anim_obj ANIM_OBJ_00, 136, 56, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_06, 136, 56, $0
+ anim_wait 6
+ anim_loop 3, .loop
+ anim_ret
+
+BattleAnim_Stomp:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, 136, 40, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 40, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, 136, 44, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 44, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, 136, 48, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 48, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_DoubleKick:
+ 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, 144, 48, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 144, 48, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_DoubleKick_branch_c96bd:
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 120, 64, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 120, 64, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_JumpKick:
+ 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, 112, 72, $0
+ anim_obj ANIM_OBJ_07, 100, 60, $0
+ anim_setobj $1, $2
+ anim_setobj $2, $2
+ anim_wait 24
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, 136, 48, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_JumpKick_branch_c96f1:
+ anim_wait 8
+ anim_sound 0, 0, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, 44, 88, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_HiJumpKick:
+ 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, 112, 72, $0
+ anim_setobj $1, $2
+ anim_wait 16
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, 136, 48, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_HiJumpKick_branch_c971e:
+ anim_wait 16
+ anim_sound 0, 0, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, 44, 88, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_RollingKick:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 112, 56, $0
+ anim_setobj $1, $3
+ anim_wait 12
+ anim_obj ANIM_OBJ_01, 136, 48, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_MegaKick:
+ 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, 136, 56, $0
+ anim_obj ANIM_OBJ_00, 136, 56, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_07, 136, 56, $0
+ anim_wait 6
+ anim_loop 3, .loop
+ anim_ret
+
+BattleAnim_HyperFang:
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $20, $1, $0
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_FANG, 136, 56, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_SuperFang:
+ 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_FANG, 136, 56, $0
+ anim_obj ANIM_OBJ_00, 136, 56, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_FANG, 136, 56, $0
+ anim_wait 6
+ anim_loop 3, .loop
+ anim_ret
+
+BattleAnim_Ember:
+ anim_1gfx ANIM_GFX_FIRE
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_EMBER, 64, 96, $12
+ anim_wait 4
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_EMBER, 64, 100, $14
+ anim_wait 4
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_EMBER, 64, 84, $13
+ anim_wait 16
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_EMBER, 120, 68, $30
+ anim_obj ANIM_OBJ_EMBER, 132, 68, $30
+ anim_obj ANIM_OBJ_EMBER, 144, 68, $30
+ anim_wait 32
+ anim_ret
+
+BattleAnim_FirePunch:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE
+ anim_obj ANIM_OBJ_0A, 136, 56, $43
+ anim_call BattleAnim_FirePunch_branch_cbbcc
+ anim_wait 16
+ anim_ret
+
+BattleAnim_FireSpin:
+ anim_1gfx ANIM_GFX_FIRE
+.loop
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 88, $4
+ anim_wait 2
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 96, $3
+ anim_wait 2
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 88, $3
+ anim_wait 2
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 96, $4
+ anim_wait 2
+ anim_loop 2, .loop
+ anim_wait 96
+ anim_ret
+
+BattleAnim_DragonRage:
+ anim_1gfx ANIM_GFX_FIRE
+.loop
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_DRAGON_RAGE, 64, 92, $0
+ anim_wait 3
+ anim_loop 16, .loop
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Flamethrower:
+ anim_1gfx ANIM_GFX_FIRE
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_FLAMETHROWER, 64, 92, $3
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLAMETHROWER, 75, 86, $5
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLAMETHROWER, 85, 81, $7
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLAMETHROWER, 96, 76, $9
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLAMETHROWER, 106, 71, $b
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLAMETHROWER, 116, 66, $c
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLAMETHROWER, 126, 61, $a
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLAMETHROWER, 136, 56, $8
+ anim_wait 16
+.loop
+ anim_sound 0, 1, SFX_EMBER
+ anim_wait 16
+ anim_loop 6, .loop
+ anim_wait 16
+ anim_ret
+
+BattleAnim_FireBlast:
+ anim_1gfx ANIM_GFX_FIRE
+.loop1
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_FIRE_BLAST, 64, 92, $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_FIRE_BLAST, 136, 56, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $2
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $3
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $5
+ anim_wait 16
+ anim_loop 2, .loop3
+ anim_wait 32
+ anim_ret
+
+BattleAnim_IcePunch:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE
+ anim_obj ANIM_OBJ_0A, 136, 56, $43
+ anim_call BattleAnim_IcePunch_branch_cbbdf
+ anim_wait 32
+ anim_ret
+
+BattleAnim_IceBeam:
+ anim_1gfx ANIM_GFX_ICE
+.loop
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_ICE_BEAM, 64, 92, $4
+ anim_wait 4
+ anim_loop 5, .loop
+ anim_obj ANIM_OBJ_ICE_BUILDUP, 136, 74, $10
+.loop2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_ICE_BEAM, 64, 92, $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
+
+BattleAnim_Blizzard:
+ anim_1gfx ANIM_GFX_ICE
+.loop
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_BLIZZARD, 64, 88, $63
+ anim_wait 2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_BLIZZARD, 64, 80, $64
+ anim_wait 2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_BLIZZARD, 64, 96, $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, 136, 74, $10
+ anim_wait 128
+ anim_sound 0, 1, SFX_SHINE
+ anim_wait 8
+ anim_sound 0, 1, SFX_SHINE
+ anim_wait 24
+ anim_ret
+
+BattleAnim_Bubble:
+ anim_1gfx ANIM_GFX_BUBBLE
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_BUBBLE, 64, 92, $c1
+ anim_wait 6
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_BUBBLE, 64, 92, $e1
+ anim_wait 6
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_BUBBLE, 64, 92, $d1
+ anim_wait 128
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Bubblebeam:
+ anim_1gfx ANIM_GFX_BUBBLE
+.loop
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_BUBBLE, 64, 92, $92
+ anim_wait 6
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_BUBBLE, 64, 92, $b3
+ anim_wait 6
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_BUBBLE, 64, 92, $f4
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_wait 64
+ anim_clearobjs
+ anim_bgeffect ANIM_BG_2F, $0, $0, $0
+ anim_wait 1
+ anim_call BattleAnim_UserObj_2Row
+ anim_bgeffect ANIM_BG_30, $1c, $0, $0
+ anim_wait 19
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_31, $0, $0, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_WaterGun:
+ anim_bgeffect ANIM_BG_2F, $0, $0, $0
+ anim_1gfx ANIM_GFX_WATER
+ anim_call BattleAnim_UserObj_2Row
+ anim_sound 16, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 88, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 76, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 82, $0
+ anim_wait 24
+ anim_bgeffect ANIM_BG_30, $1c, $0, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_30, $8, $0, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_30, $30, $0, $0
+ anim_wait 32
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_31, $0, $0, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_HydroPump:
+ anim_bgeffect ANIM_BG_2F, $0, $0, $0
+ anim_1gfx ANIM_GFX_WATER
+ anim_call BattleAnim_UserObj_2Row
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 108, 72, $0
+ anim_bgeffect ANIM_BG_30, $1c, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 116, 72, $0
+ anim_bgeffect ANIM_BG_30, $8, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 124, 72, $0
+ anim_bgeffect ANIM_BG_30, $30, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 132, 72, $0
+ anim_bgeffect ANIM_BG_30, $1c, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 140, 72, $0
+ anim_bgeffect ANIM_BG_30, $8, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 148, 72, $0
+ anim_bgeffect ANIM_BG_30, $30, $0, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 156, 72, $0
+ anim_bgeffect ANIM_BG_30, $1c, $0, $0
+ anim_wait 32
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_31, $0, $0, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Surf:
+ anim_1gfx ANIM_GFX_BUBBLE
+ anim_bgeffect ANIM_BG_SURF, $0, $0, $0
+ anim_obj ANIM_OBJ_SURF, 88, 104, $8
+.loop
+ anim_sound 0, 1, SFX_SURF
+ anim_wait 32
+ anim_loop 4, .loop
+ anim_incobj 1
+ anim_wait 56
+ anim_ret
+
+BattleAnim_VineWhip:
+ anim_1gfx ANIM_GFX_WHIP
+ anim_sound 0, 1, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_40, 116, 52, $80
+ anim_wait 4
+ anim_sound 0, 1, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_3F, 128, 60, $0
+ anim_wait 4
+ anim_incobj 1
+ anim_wait 4
+ anim_ret
+
+BattleAnim_LeechSeed:
+ anim_1gfx ANIM_GFX_PLANT
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_LEECH_SEED, 48, 80, $20
+ anim_wait 8
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_LEECH_SEED, 48, 80, $30
+ anim_wait 8
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_LEECH_SEED, 48, 80, $28
+ anim_wait 32
+ anim_sound 0, 1, SFX_CHARGE
+ anim_wait 128
+ anim_ret
+
+BattleAnim_RazorLeaf:
+ anim_1gfx ANIM_GFX_PLANT
+ anim_sound 0, 0, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $28
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $5c
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $10
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $e8
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $9c
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $d0
+ anim_wait 6
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $1c
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $50
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $dc
+ anim_obj ANIM_OBJ_RAZOR_LEAF, 48, 80, $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
+
+BattleAnim_Solarbeam:
+ anim_if_param_equal $0, .FireSolarBeam
+ ; charge turn
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_sound 0, 0, SFX_CHARGE
+ anim_obj ANIM_OBJ_3D, 48, 84, $0
+ anim_obj ANIM_OBJ_3C, 48, 84, $0
+ anim_obj ANIM_OBJ_3C, 48, 84, $8
+ anim_obj ANIM_OBJ_3C, 48, 84, $10
+ anim_obj ANIM_OBJ_3C, 48, 84, $18
+ anim_obj ANIM_OBJ_3C, 48, 84, $20
+ anim_obj ANIM_OBJ_3C, 48, 84, $28
+ anim_obj ANIM_OBJ_3C, 48, 84, $30
+ anim_obj ANIM_OBJ_3C, 48, 84, $38
+ anim_wait 104
+ anim_bgeffect ANIM_BG_FLASH_WHITE, $0, $4, $2
+ anim_wait 64
+ anim_ret
+
+.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
+
+BattleAnim_Thunderpunch:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_LIGHTNING
+ anim_obj ANIM_OBJ_0A, 136, 56, $43
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2F, 152, 68, $0
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Thundershock:
+ anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
+ anim_obj ANIM_OBJ_34, 136, 56, $2
+ anim_wait 16
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_33, 136, 56, $0
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Thunderbolt:
+ anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
+ anim_obj ANIM_OBJ_LIGHTNING_BOLT, 136, 56, $2
+ anim_wait 16
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_31, 136, 56, $0
+ anim_wait 64
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_wait 64
+ anim_ret
+
+BattleAnim_ThunderWave:
+ anim_1gfx ANIM_GFX_LIGHTNING
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_THUNDER_WAVE, 136, 56, $0
+ anim_wait 20
+ anim_bgp $1b
+ anim_incobj 1
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Thunder:
+ 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, 120, 68, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2F, 152, 68, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2D, 136, 68, $0
+ anim_wait 48
+ anim_ret
+
+BattleAnim_RazorWind:
+ 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, 152, 40, $3
+ anim_wait 4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_42, 136, 56, $3
+ anim_wait 4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_42, 152, 64, $3
+ anim_wait 4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_41, 120, 40, $83
+ anim_wait 4
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_41, 120, 64, $83
+ anim_wait 4
+ anim_loop 3, .loop
+ anim_wait 24
+ anim_ret
+
+BattleAnim_Sonicboom_JP:
+ anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT
+.loop
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 80, $3
+ anim_wait 8
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 88, $2
+ anim_wait 8
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 96, $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, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Gust:
+BattleAnim_Sonicboom:
+ anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
+.loop
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, 136, 72, $0
+ anim_wait 6
+ anim_loop 9, .loop
+ anim_obj ANIM_OBJ_01, 144, 64, $18
+ anim_wait 8
+ anim_obj ANIM_OBJ_01, 128, 32, $18
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Selfdestruct:
+ 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
+
+.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
+
+BattleAnim_Explosion:
+ 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
+
+.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
+
+BattleAnim_Acid:
+ anim_1gfx ANIM_GFX_POISON
+ anim_call BattleAnim_Acid_branch_cbc35
+ anim_wait 64
+ anim_ret
+
+BattleAnim_RockThrow:
+ anim_1gfx ANIM_GFX_ROCKS
+ anim_bgeffect ANIM_BG_1F, $60, $1, $0
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
+ anim_wait 2
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_BIG_ROCK, 120, 68, $30
+ anim_wait 2
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
+ anim_wait 2
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_BIG_ROCK, 144, 64, $40
+ anim_wait 2
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
+ anim_wait 96
+ anim_ret
+
+BattleAnim_RockSlide:
+ anim_1gfx ANIM_GFX_ROCKS
+ anim_bgeffect ANIM_BG_1F, $c0, $1, $0
+.loop
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
+ anim_wait 4
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_BIG_ROCK, 120, 68, $30
+ anim_wait 4
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
+ anim_wait 4
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_BIG_ROCK, 144, 64, $40
+ anim_wait 4
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
+ anim_wait 16
+ anim_loop 4, .loop
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Sing:
+ anim_1gfx ANIM_GFX_NOISE
+ anim_sound 16, 2, SFX_SING
+.loop
+ anim_obj ANIM_OBJ_SING, 64, 92, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_SING, 64, 92, $1
+ anim_wait 8
+ anim_obj ANIM_OBJ_SING, 64, 92, $2
+ anim_wait 8
+ anim_obj ANIM_OBJ_SING, 64, 92, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_SING, 64, 92, $2
+ anim_wait 8
+ anim_loop 4, .loop
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Poisonpowder:
+BattleAnim_SleepPowder:
+BattleAnim_Spore:
+BattleAnim_StunSpore:
+ anim_1gfx ANIM_GFX_POWDER
+.loop
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_POWDER, 104, 16, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_POWDER, 136, 16, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_POWDER, 112, 16, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_POWDER, 128, 16, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_POWDER, 120, 16, $0
+ anim_wait 4
+ anim_loop 2, .loop
+ anim_wait 96
+ anim_ret
+
+BattleAnim_HyperBeam:
+ 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
+
+BattleAnim_AuroraBeam:
+ 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
+
+BattleAnim_Vicegrip:
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_VICEGRIP
+ anim_obj ANIM_OBJ_37, 152, 40, $0
+ anim_obj ANIM_OBJ_39, 120, 72, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Scratch:
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_37, 144, 48, $0
+ anim_obj ANIM_OBJ_37, 140, 44, $0
+ anim_obj ANIM_OBJ_37, 136, 40, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_FurySwipes:
+ 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, 144, 48, $0
+ anim_obj ANIM_OBJ_37, 140, 44, $0
+ anim_obj ANIM_OBJ_37, 136, 40, $0
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_wait 32
+ anim_ret
+
+BattleAnim_FurySwipes_branch_c9dd9:
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_38, 120, 48, $0
+ anim_obj ANIM_OBJ_38, 124, 44, $0
+ anim_obj ANIM_OBJ_38, 128, 40, $0
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Cut:
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, 152, 40, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Slash:
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, 152, 40, $0
+ anim_obj ANIM_OBJ_3A, 148, 36, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Clamp:
+ anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_CLAMP, 136, 56, $a0
+ anim_obj ANIM_OBJ_CLAMP, 136, 56, $20
+ anim_wait 16
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, 144, 48, $18
+ anim_wait 32
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, 128, 64, $18
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Bite:
+ anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_BITE, 136, 56, $98
+ anim_obj ANIM_OBJ_BITE, 136, 56, $18
+ anim_wait 8
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, 144, 48, $18
+ anim_wait 16
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, 128, 64, $18
+ anim_wait 8
+ anim_ret
+
+BattleAnim_Teleport:
+ anim_1gfx ANIM_GFX_SPEED
+ anim_call BattleAnim_TargetObj_1Row
+ 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
+
+BattleAnim_Fly:
+ 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, 136, 56, $0
+ anim_wait 32
+BattleAnim_Fly_branch_c9e82:
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Fly_branch_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
+
+BattleAnim_DoubleTeam:
+ anim_call BattleAnim_TargetObj_1Row
+ 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
+
+BattleAnim_Recover:
+ anim_1gfx ANIM_GFX_BUBBLE
+ anim_call BattleAnim_TargetObj_1Row
+ anim_sound 0, 0, SFX_FULL_HEAL
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $30
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $31
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $32
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $33
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $34
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $35
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $36
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $37
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Absorb:
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_obj ANIM_OBJ_3D, 44, 88, $0
+.loop
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 128, 48, $2
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 136, 64, $3
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 136, 32, $4
+ anim_wait 6
+ anim_loop 5, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_MegaDrain:
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_1C, $0, $0, $10
+ anim_setvar $0
+.loop
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 128, 48, $2
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 136, 64, $3
+ anim_wait 6
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_ABSORB, 136, 32, $4
+ anim_wait 6
+ anim_incvar
+ anim_if_var_equal $7, .done
+ anim_if_var_equal $2, .spawn
+ anim_jump .loop
+
+.spawn
+ anim_obj ANIM_OBJ_3D, 44, 88, $0
+ anim_jump .loop
+
+.done
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_1C
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_EggBomb:
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
+ anim_sound 0, 0, SFX_SWITCH_POKEMON
+ anim_obj ANIM_OBJ_EGG, 44, 104, $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, 128, 64, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, 144, 68, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, 136, 72, $0
+ anim_wait 24
+ anim_ret
+
+BattleAnim_Softboiled:
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE
+ anim_call BattleAnim_TargetObj_1Row
+ anim_sound 0, 0, SFX_SWITCH_POKEMON
+ anim_obj ANIM_OBJ_EGG, 44, 104, $6
+ anim_wait 128
+ anim_incobj 2
+ anim_obj ANIM_OBJ_EGG, 76, 104, $b
+ anim_wait 16
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_sound 0, 0, SFX_METRONOME
+.loop
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $20
+ anim_wait 8
+ anim_loop 8, .loop
+ anim_wait 128
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_FocusEnergy:
+BattleAnim_RazorWind_branch_c9fb5:
+BattleAnim_SkullBash_branch_c9fb5:
+BattleAnim_SkyAttack_branch_c9fb5:
+ anim_1gfx ANIM_GFX_SPEED
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 44, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 36, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 52, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 28, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 60, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 20, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 68, 108, $8
+ anim_wait 2
+ anim_loop 3, .loop
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_16
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Bide:
+ anim_if_param_equal $0, BattleAnim_Bide_branch_c9651
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ 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
+
+BattleAnim_Bind:
+ anim_1gfx ANIM_GFX_ROPE
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_48, 132, 64, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_49, 132, 56, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, 132, 48, $0
+ anim_wait 64
+ anim_sound 0, 1, SFX_BIND
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Wrap:
+ anim_1gfx ANIM_GFX_ROPE
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_48, 132, 64, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, 132, 56, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, 132, 48, $0
+ anim_wait 64
+ anim_sound 0, 1, SFX_BIND
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Confusion:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_UserObj_2Row
+ 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
+
+BattleAnim_Constrict:
+ anim_1gfx ANIM_GFX_ROPE
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_49, 132, 64, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, 132, 48, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_49, 132, 40, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_48, 132, 56, $0
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Earthquake:
+ anim_bgeffect ANIM_BG_1F, $60, $4, $10
+.loop
+ anim_sound 0, 1, SFX_EMBER
+ anim_wait 24
+ anim_loop 4, .loop
+ anim_ret
+
+BattleAnim_Fissure:
+ 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
+
+BattleAnim_Growl:
+ anim_1gfx ANIM_GFX_NOISE
+ anim_battlergfx_2row
+ 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_BATTLEROBJ_1ROW, $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
+
+BattleAnim_Roar:
+ 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_26, $0, $0, $0
+ anim_wait 64
+.done
+ anim_ret
+
+BattleAnim_Supersonic:
+ anim_1gfx ANIM_GFX_PSYCHIC
+.loop
+ anim_sound 6, 2, SFX_SUPERSONIC
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
+ anim_wait 4
+ anim_loop 10, .loop
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Screech:
+ anim_1gfx ANIM_GFX_PSYCHIC
+ anim_bgeffect ANIM_BG_1F, $8, $1, $20
+ anim_sound 6, 2, SFX_SCREECH
+.loop
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
+ anim_wait 2
+ anim_loop 2, .loop
+ anim_wait 64
+ anim_ret
+
+BattleAnim_ConfuseRay:
+ 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_CONFUSE_RAY, 64, 88, $0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $80
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $88
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $90
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $98
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $a0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $a8
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $b0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $b8
+.loop
+ anim_sound 6, 2, SFX_WHIRLWIND
+ anim_wait 16
+ anim_loop 8, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Leer:
+ anim_1gfx ANIM_GFX_BEAM
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_call BattleAnim_Leer_branch_cbadc
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Reflect:
+ 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_SCREEN, 72, 80, $0
+ anim_wait 24
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
+ anim_wait 64
+ anim_ret
+
+BattleAnim_LightScreen:
+ 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_SCREEN, 72, 80, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $8
+ anim_wait 4
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $10
+ anim_wait 4
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $18
+ anim_wait 4
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $20
+ anim_wait 4
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $28
+ anim_wait 4
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $30
+ anim_wait 4
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $38
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Amnesia:
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_AMNESIA, 64, 80, $2
+ anim_wait 16
+ anim_obj ANIM_OBJ_AMNESIA, 68, 80, $1
+ anim_wait 16
+ anim_obj ANIM_OBJ_AMNESIA, 72, 80, $0
+ anim_wait 64
+ anim_ret
+
+BattleAnim_DizzyPunch:
+ anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, 136, 40, $0
+ anim_obj ANIM_OBJ_02, 136, 64, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_KINESIS
+ anim_obj ANIM_OBJ_CHICK, 136, 24, $15
+ anim_obj ANIM_OBJ_CHICK, 136, 24, $aa
+ anim_obj ANIM_OBJ_CHICK, 136, 24, $bf
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Rest:
+ anim_1gfx ANIM_GFX_STATUS
+ anim_sound 0, 0, SFX_TAIL_WHIP
+.loop
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
+ anim_wait 40
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_AcidArmor:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_2Row
+ 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
+
+BattleAnim_Splash:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_VICEGRIP
+ anim_call BattleAnim_TargetObj_2Row
+ 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
+
+BattleAnim_Dig:
+ anim_2gfx ANIM_GFX_SAND, ANIM_GFX_HIT
+ anim_if_param_equal $0, .hit
+ anim_if_param_equal $2, .fail
+ anim_call BattleAnim_TargetObj_2Row
+ anim_bgeffect ANIM_BG_DIG, $0, $1, $1
+ anim_obj ANIM_OBJ_57, 72, 104, $0
+.loop
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_56, 56, 104, $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, 136, 56, $0
+ anim_wait 32
+.fail
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_SandAttack:
+ anim_1gfx ANIM_GFX_SAND
+ anim_call BattleAnim_SandAttack_branch_cbc5b
+ anim_ret
+
+BattleAnim_StringShot:
+ anim_1gfx ANIM_GFX_WEB
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 80, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 48, $1
+ anim_wait 4
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 88, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 64, $1
+ anim_wait 4
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 84, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 56, $2
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Headbutt:
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_1F, $14, $2, $0
+ anim_wait 32
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_HEADBUTT
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Tackle:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_00, 136, 48, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_BodySlam:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_2Row
+ 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_TACKLE, $0, $1, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_01, 136, 48, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_01, 144, 48, $0
+ anim_wait 3
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_TakeDown:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 128, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_TACKLE
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
+ anim_obj ANIM_OBJ_01, 144, 48, $0
+ anim_wait 3
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_DoubleEdge:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 128, 48, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_00, 144, 48, $0
+ anim_wait 3
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Submission:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_UserObj_1Row
+ anim_bgeffect ANIM_BG_25, $0, $0, $0
+ anim_sound 0, 1, SFX_SUBMISSION
+ anim_wait 32
+ anim_obj ANIM_OBJ_01, 120, 48, $0
+ anim_wait 32
+ anim_obj ANIM_OBJ_01, 152, 56, $0
+ anim_wait 32
+ anim_obj ANIM_OBJ_01, 136, 52, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_25
+ anim_call BattleAnim_ShowMon_1
+ anim_ret
+
+BattleAnim_Whirlwind:
+ anim_1gfx ANIM_GFX_WIND
+.loop
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, 64, 112, $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_26, $0, $0, $0
+ anim_wait 64
+.done
+ anim_ret
+
+BattleAnim_Hypnosis:
+ anim_1gfx ANIM_GFX_PSYCHIC
+.loop
+ anim_sound 6, 2, SFX_SUPERSONIC
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 56, 80, $2
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_wait 56
+ anim_ret
+
+BattleAnim_Haze:
+ anim_1gfx ANIM_GFX_HAZE
+ anim_sound 0, 1, SFX_SURF
+.loop
+ anim_obj ANIM_OBJ_HAZE, 48, 56, $0
+ anim_obj ANIM_OBJ_HAZE, 132, 16, $0
+ anim_wait 12
+ anim_loop 5, .loop
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Mist:
+ anim_obp0 $54
+ anim_1gfx ANIM_GFX_HAZE
+ anim_sound 0, 0, SFX_SURF
+.loop
+ anim_obj ANIM_OBJ_MIST, 48, 56, $0
+ anim_wait 8
+ anim_loop 10, .loop
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Smog:
+ anim_1gfx ANIM_GFX_HAZE
+ anim_sound 0, 1, SFX_BUBBLEBEAM
+.loop
+ anim_obj ANIM_OBJ_SMOG, 132, 16, $0
+ anim_wait 8
+ anim_loop 10, .loop
+ anim_wait 96
+ anim_ret
+
+BattleAnim_PoisonGas:
+ anim_1gfx ANIM_GFX_HAZE
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+.loop
+ anim_obj ANIM_OBJ_POISON_GAS, 44, 80, $2
+ anim_wait 8
+ anim_loop 10, .loop
+ anim_wait 128
+ anim_ret
+
+BattleAnim_HornAttack:
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_HORN, 72, 80, $1
+ anim_wait 16
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_FuryAttack:
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_HORN, 72, 72, $2
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, 128, 40, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_HORN, 80, 88, $2
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, 136, 56, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_HORN, 76, 80, $2
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, 132, 48, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_HornDrill:
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
+ anim_obj ANIM_OBJ_HORN, 72, 80, $3
+ anim_wait 8
+.loop
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, 132, 40, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, 140, 48, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, 132, 56, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, 124, 48, $0
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_ret
+
+BattleAnim_PoisonSting:
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_obj ANIM_OBJ_60, 64, 92, $14
+ anim_wait 16
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Twineedle:
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_60, 64, 92, $14
+ anim_obj ANIM_OBJ_60, 56, 84, $14
+ anim_wait 16
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 136, 56, $0
+ anim_obj ANIM_OBJ_05, 128, 48, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_PinMissile:
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+.loop
+ anim_obj ANIM_OBJ_60, 64, 92, $28
+ anim_wait 8
+ anim_obj ANIM_OBJ_60, 56, 84, $28
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 136, 56, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_60, 52, 88, $28
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 128, 48, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 132, 52, $0
+ anim_loop 3, .loop
+ anim_wait 16
+ anim_ret
+
+BattleAnim_SpikeCannon:
+ anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
+.loop
+ anim_obj ANIM_OBJ_60, 64, 92, $18
+ anim_wait 8
+ anim_obj ANIM_OBJ_60, 56, 84, $18
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 136, 56, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_60, 52, 88, $18
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 128, 48, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 132, 52, $0
+ anim_loop 3, .loop
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Transform:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_2Row
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
+ anim_wait 48
+ anim_transform
+ anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
+ anim_wait 48
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_PetalDance:
+ anim_sound 0, 0, SFX_MENU
+ anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT
+.loop
+ anim_obj ANIM_OBJ_PETAL_DANCE, 48, 56, $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, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Barrage:
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_SLUDGE_BOMB, 64, 92, $10
+ anim_wait 36
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_PayDay:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_STATUS
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_01, 128, 56, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_PAY_DAY
+ anim_obj ANIM_OBJ_PAY_DAY, 120, 76, $1
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Mimic:
+ anim_1gfx ANIM_GFX_SPEED
+ anim_obp0 $fc
+ anim_sound 63, 3, SFX_LICK
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $0
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $8
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $10
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $18
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $20
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $28
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $30
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $38
+ anim_wait 128
+ anim_wait 48
+ anim_ret
+
+BattleAnim_LovelyKiss:
+ anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_LOVELY_KISS, 152, 40, $0
+ anim_wait 32
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 128, 40, $0
+ anim_wait 40
+ anim_ret
+
+BattleAnim_Bonemerang:
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT
+ anim_sound 6, 2, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_BONEMERANG, 88, 56, $1c
+ anim_wait 24
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 24
+ anim_ret
+
+BattleAnim_Swift:
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_sound 6, 2, SFX_METRONOME
+ anim_obj ANIM_OBJ_SWIFT, 64, 88, $4
+ anim_wait 4
+ anim_obj ANIM_OBJ_SWIFT, 64, 72, $4
+ anim_wait 4
+ anim_obj ANIM_OBJ_SWIFT, 64, 76, $4
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Crabhammer:
+ 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, 136, 56, $0
+ anim_wait 12
+ anim_loop 3, .loop
+ anim_ret
+
+BattleAnim_SkullBash:
+ 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_TargetObj_1Row
+ 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, 136, 56, $0
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Kinesis:
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_KINESIS, 80, 76, $0
+ anim_wait 32
+.loop
+ anim_sound 0, 0, SFX_KINESIS
+ anim_obj ANIM_OBJ_4B, 64, 88, $0
+ anim_wait 32
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_sound 0, 0, SFX_KINESIS_2
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Peck:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 128, 48, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_DrillPeck:
+ anim_1gfx ANIM_GFX_HIT
+.loop
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 124, 56, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 132, 48, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 140, 56, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 132, 64, $0
+ anim_wait 4
+ anim_loop 5, .loop
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Guillotine:
+ 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, 156, 44, $0
+ anim_obj ANIM_OBJ_37, 152, 40, $0
+ anim_obj ANIM_OBJ_37, 148, 36, $0
+ anim_obj ANIM_OBJ_39, 124, 76, $0
+ anim_obj ANIM_OBJ_39, 120, 72, $0
+ anim_obj ANIM_OBJ_39, 116, 68, $0
+ anim_obj ANIM_OBJ_39, 120, 72, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Flash:
+ 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_FLASH, 136, 56, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $8
+ anim_wait 4
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $10
+ anim_wait 4
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $18
+ anim_wait 4
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $20
+ anim_wait 4
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $28
+ anim_wait 4
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $30
+ anim_wait 4
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $38
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Substitute:
+ 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_26, $0, $1, $0
+ anim_wait 48
+ anim_raisesub
+ anim_obj ANIM_OBJ_BALL_POOF, 48, 96, $0
+ anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Substitute_branch_ca760:
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
+ anim_wait 48
+ anim_dropsub
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Substitute_branch_ca76e:
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
+ anim_wait 48
+ anim_raisesub
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Substitute_branch_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
+
+BattleAnim_Minimize:
+ anim_sound 0, 0, SFX_SURF
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_2Row
+ anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
+ anim_wait 48
+ anim_minimizeopp
+ anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
+ anim_wait 48
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_SkyAttack:
+ anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5
+ anim_1gfx ANIM_GFX_SKY_ATTACK
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
+ anim_wait 32
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_SKY_ATTACK, 48, 88, $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
+
+BattleAnim_NightShade:
+ anim_1gfx ANIM_GFX_HIT
+ anim_bgp $1b
+ anim_obp1 $1b
+ anim_wait 32
+ anim_call BattleAnim_UserObj_2Row
+ 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
+
+BattleAnim_Lick:
+ anim_1gfx ANIM_GFX_WATER
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_LICK, 136, 56, $0
+ anim_wait 64
+ anim_ret
+
+BattleAnim_TriAttack:
+ 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, 152, 68, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Withdraw:
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_call BattleAnim_TargetObj_2Row
+ anim_bgeffect ANIM_BG_WITHDRAW, $0, $1, $50
+ anim_wait 48
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_WITHDRAW, 48, 88, $0
+ anim_wait 64
+ anim_incobj 2
+ anim_wait 1
+ anim_incbgeffect ANIM_BG_WITHDRAW
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Psybeam:
+ 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_WAVE, 64, 88, $4
+ anim_wait 4
+ anim_loop 10, .loop
+ anim_wait 48
+ anim_ret
+
+BattleAnim_DreamEater:
+ 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
+
+BattleAnim_LeechLife:
+ 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
+
+BattleAnim_Harden:
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_obp0 $0
+ anim_call BattleAnim_TargetObj_1Row
+ anim_call BattleAnim_Harden_branch_cbc43
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Psywave:
+ anim_1gfx ANIM_GFX_PSYCHIC
+ anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
+.loop
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_WAVE, 64, 80, $2
+ anim_wait 8
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $3
+ anim_wait 8
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_WAVE, 64, 96, $4
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_PSYCHIC
+ anim_wait 4
+ anim_ret
+
+BattleAnim_Glare:
+ 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
+
+BattleAnim_Thrash:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_08, 120, 72, $0
+ anim_obj ANIM_OBJ_00, 120, 72, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_06, 136, 56, $0
+ anim_obj ANIM_OBJ_00, 136, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 152, 40, $0
+ anim_obj ANIM_OBJ_00, 152, 40, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Growth:
+ 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_GROWTH, 48, 108, $0
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $8
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $10
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $18
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $20
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $28
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $30
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $38
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Conversion2:
+ anim_1gfx ANIM_GFX_EXPLOSION
+ anim_sound 63, 3, SFX_SHARPEN
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $0
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $8
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $10
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $18
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $20
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $28
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $30
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $38
+ anim_wait 128
+ anim_wait 48
+ anim_ret
+
+BattleAnim_Smokescreen:
+ anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_SMOKESCREEN, 64, 92, $6c
+ anim_wait 24
+ anim_incobj 1
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_BALL_POOF, 108, 70, $10
+ anim_wait 8
+.loop
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_SMOKE, 132, 60, $20
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 128
+ anim_ret
+
+BattleAnim_Strength:
+ 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_STRENGTH, 64, 104, $1
+ anim_wait 128
+ anim_incobj 1
+ anim_wait 20
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, 132, 40, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_SwordsDance:
+ anim_1gfx ANIM_GFX_WHIP
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $0
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $d
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $1a
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $27
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $34
+ anim_wait 56
+ anim_ret
+
+BattleAnim_QuickAttack:
+ 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_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
+ anim_wait 12
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Meditate:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ 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
+
+BattleAnim_Sharpen:
+ anim_1gfx ANIM_GFX_SHAPES
+ anim_obp0 $e4
+ anim_call BattleAnim_TargetObj_1Row
+ anim_sound 0, 0, SFX_SHARPEN
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_SHARPEN, 48, 88, $0
+ anim_wait 96
+ anim_incobj 2
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_DefenseCurl:
+ anim_1gfx ANIM_GFX_SHAPES
+ anim_obp0 $e4
+ anim_call BattleAnim_TargetObj_1Row
+ anim_sound 0, 0, SFX_SHARPEN
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_DEFENSE_CURL, 48, 88, $0
+ anim_wait 96
+ anim_incobj 2
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_SeismicToss:
+ 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_SEISMIC_TOSS, 64, 104, $1
+ anim_wait 128
+ anim_incobj 1
+ anim_wait 20
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, 132, 40, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Rage:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 120, 72, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_00, 136, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, 152, 40, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Agility:
+ anim_1gfx ANIM_GFX_WIND
+ anim_obp0 $fc
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_AGILITY, 8, 24, $10
+ anim_obj ANIM_OBJ_AGILITY, 8, 48, $2
+ anim_obj ANIM_OBJ_AGILITY, 8, 88, $8
+ anim_wait 4
+ anim_obj ANIM_OBJ_AGILITY, 8, 32, $6
+ anim_obj ANIM_OBJ_AGILITY, 8, 56, $c
+ anim_obj ANIM_OBJ_AGILITY, 8, 80, $4
+ anim_obj ANIM_OBJ_AGILITY, 8, 104, $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
+
+BattleAnim_BoneClub:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
+ anim_obj ANIM_OBJ_BONE_CLUB, 64, 88, $2
+ anim_wait 32
+ anim_sound 0, 1, SFX_BONE_CLUB
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Barrier:
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_battlergfx_2row
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
+ anim_wait 32
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Waterfall:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 16
+ anim_call BattleAnim_ShowMon_0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, 136, 48, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, 136, 40, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, 136, 32, $0
+ anim_wait 3
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, 136, 24, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_PsychicM:
+ 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_WAVE, 64, 88, $2
+ anim_wait 8
+ anim_loop 8, .loop
+ anim_wait 96
+ anim_incbgeffect ANIM_BG_PSYCHIC
+ anim_wait 4
+ anim_ret
+
+BattleAnim_Sludge:
+ anim_1gfx ANIM_GFX_POISON
+ anim_call BattleAnim_Sludge_branch_cbc15
+ anim_wait 56
+ anim_ret
+
+BattleAnim_Toxic:
+ 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
+
+BattleAnim_Metronome:
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_SPEED
+ anim_sound 0, 0, SFX_METRONOME
+ anim_obj ANIM_OBJ_7A, 72, 88, $0
+.loop
+ anim_obj ANIM_OBJ_7B, 72, 80, $0
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 48
+ anim_ret
+
+BattleAnim_Counter:
+ 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, 120, 72, $0
+ anim_obj ANIM_OBJ_00, 120, 72, $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, 136, 40, $0
+ anim_obj ANIM_OBJ_00, 136, 40, $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, 152, 56, $0
+ anim_obj ANIM_OBJ_00, 152, 56, $0
+ anim_wait 6
+ anim_loop 3, .loop
+ anim_wait 16
+ anim_ret
+
+BattleAnim_LowKick:
+ 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, 124, 64, $0
+ anim_obj ANIM_OBJ_00, 124, 64, $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, 132, 64, $0
+ anim_obj ANIM_OBJ_00, 132, 64, $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, 140, 64, $0
+ anim_obj ANIM_OBJ_00, 140, 64, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_WingAttack:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, 148, 56, $0
+ anim_obj ANIM_OBJ_01, 116, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, 144, 56, $0
+ anim_obj ANIM_OBJ_01, 120, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, 140, 56, $0
+ anim_obj ANIM_OBJ_01, 124, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Slam:
+ 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, 124, 40, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Disable:
+ anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_DISABLE, 132, 56, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_PARALYZED, 104, 56, $42
+ anim_obj ANIM_OBJ_PARALYZED, 160, 56, $c2
+ anim_wait 96
+ anim_ret
+
+BattleAnim_TailWhip:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ anim_sound 0, 0, SFX_TAIL_WHIP
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_25
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Struggle:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Sketch:
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_SKETCH
+ anim_obj ANIM_OBJ_SKETCH, 72, 80, $0
+ anim_wait 80
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 1
+ anim_ret
+
+BattleAnim_TripleKick:
+ 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, 144, 48, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 144, 48, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_TripleKick_branch_cac95:
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 120, 64, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 120, 64, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_TripleKick_branch_caca5:
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 132, 32, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 132, 32, $0
+ anim_wait 8
+ anim_ret
+
+BattleAnim_Thief:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_THIEF
+ anim_obj ANIM_OBJ_01, 128, 48, $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_THIEF, 120, 76, $1
+ anim_wait 64
+ anim_ret
+
+BattleAnim_SpiderWeb:
+ anim_1gfx ANIM_GFX_WEB
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_SPIDER_WEB, 132, 48, $0
+ anim_sound 6, 2, SFX_SPIDER_WEB
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 80, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 88, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 84, $0
+ anim_wait 64
+ anim_ret
+
+BattleAnim_MindReader:
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 0, 1, SFX_MIND_READER
+.loop
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $3
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $12
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $20
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $31
+ anim_wait 16
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Nightmare:
+ anim_1gfx ANIM_GFX_ANGELS
+ anim_bgp $1b
+ anim_obp0 $f
+ anim_obj ANIM_OBJ_NIGHTMARE, 132, 40, $0
+ anim_obj ANIM_OBJ_NIGHTMARE, 132, 40, $a0
+ anim_sound 0, 1, SFX_NIGHTMARE
+ anim_wait 96
+ anim_ret
+
+BattleAnim_FlameWheel:
+ anim_1gfx ANIM_GFX_FIRE
+.loop
+ anim_sound 0, 0, SFX_EMBER
+ anim_obj ANIM_OBJ_FLAME_WHEEL, 48, 96, $0
+ anim_wait 6
+ anim_loop 8, .loop
+ anim_wait 96
+ anim_call BattleAnim_TargetObj_1Row
+ 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_FIRE_BLAST, 136, 48, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $5
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 4
+ anim_incobj 9
+ anim_wait 8
+ anim_ret
+
+BattleAnim_Snore:
+ anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $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
+
+BattleAnim_Curse:
+ anim_if_param_equal $1, .NotGhost
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
+ anim_obj ANIM_OBJ_CURSE, 68, 72, $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, 44, 96, $0
+ anim_wait 16
+ anim_ret
+
+.NotGhost:
+ anim_1gfx ANIM_GFX_SPEED
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 44, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 36, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 52, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 28, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 60, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 20, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 68, 108, $8
+ anim_wait 2
+ anim_loop 3, .loop
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_16
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Flail:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ anim_sound 0, 0, SFX_SUBMISSION
+ anim_bgeffect ANIM_BG_2B, $0, $1, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_01, 120, 48, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_01, 152, 48, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_01, 136, 48, $0
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_2B
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Conversion:
+ anim_1gfx ANIM_GFX_EXPLOSION
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_sound 63, 3, SFX_SHARPEN
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $0
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $8
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $10
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $18
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $20
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $28
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $30
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $38
+ anim_wait 128
+ anim_ret
+
+BattleAnim_Aeroblast:
+ 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_AEROBLAST, 72, 88, $0
+ anim_wait 32
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 80, 84, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 96, 76, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 112, 68, $0
+ anim_obj ANIM_OBJ_28, 126, 62, $0
+ anim_wait 48
+ anim_ret
+
+BattleAnim_CottonSpore:
+ anim_obp0 $54
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 0, 1, SFX_POWDER
+.loop
+ anim_obj ANIM_OBJ_COTTON_SPORE, 132, 32, $0
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Reversal:
+ 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, 112, 64, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_FORESIGHT, 120, 56, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_04, 128, 56, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_FORESIGHT, 136, 48, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_04, 144, 48, $0
+ anim_wait 2
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_FORESIGHT, 152, 40, $0
+ anim_wait 24
+ anim_ret
+
+BattleAnim_Spite:
+ anim_1gfx ANIM_GFX_ANGELS
+ anim_obj ANIM_OBJ_SPITE, 132, 16, $0
+ anim_sound 0, 1, SFX_SPITE
+ anim_wait 96
+ anim_ret
+
+BattleAnim_PowderSnow:
+ anim_1gfx ANIM_GFX_ICE
+.loop
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 88, $23
+ anim_wait 2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 80, $24
+ anim_wait 2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 96, $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
+
+BattleAnim_Protect:
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $0
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $d
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $1a
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $27
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $34
+ anim_sound 0, 0, SFX_PROTECT
+ anim_wait 96
+ anim_ret
+
+BattleAnim_MachPunch:
+ 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_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
+ anim_wait 12
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_06, 136, 56, $0
+ anim_wait 6
+ anim_obj ANIM_OBJ_01, 136, 56, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_ScaryFace:
+ 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
+
+BattleAnim_FaintAttack:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_CURSE
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_1D, $0, $1, $80
+ anim_wait 96
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, 120, 32, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, 152, 40, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, 136, 48, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_1D
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 4
+ anim_ret
+
+BattleAnim_SweetKiss:
+ anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_SWEET_KISS, 96, 40, $0
+ anim_sound 0, 1, SFX_SWEET_KISS
+ anim_wait 32
+ anim_sound 0, 1, SFX_SWEET_KISS_2
+ anim_obj ANIM_OBJ_HEART, 120, 40, $0
+ anim_wait 40
+ anim_ret
+
+BattleAnim_BellyDrum:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_NOISE
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 24
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 24
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 24
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 12
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 64, 104, $0
+ anim_obj ANIM_OBJ_AB, 64, 92, $f8
+ anim_wait 12
+ anim_ret
+
+BattleAnim_SludgeBomb:
+ 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_SLUDGE_BOMB, 64, 92, $10
+ anim_wait 36
+ anim_call BattleAnim_SludgeBomb_branch_cbc15
+ anim_wait 64
+ anim_ret
+
+BattleAnim_MudSlap:
+ anim_1gfx ANIM_GFX_SAND
+ anim_obp0 $fc
+ anim_call BattleAnim_MudSlap_branch_cbc5b
+ anim_ret
+
+BattleAnim_Octazooka:
+ anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
+ anim_sound 6, 2, SFX_SLUDGE_BOMB
+ anim_obj ANIM_OBJ_OCTAZOOKA, 64, 92, $4
+ anim_wait 16
+ anim_obj ANIM_OBJ_BALL_POOF, 132, 56, $10
+ anim_wait 8
+ anim_if_param_equal $0, .done
+.loop
+ anim_obj ANIM_OBJ_SMOKE, 132, 60, $20
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 128
+.done
+ anim_ret
+
+BattleAnim_Spikes:
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_SPIKES, 48, 88, $20
+ anim_wait 8
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_SPIKES, 48, 88, $30
+ anim_wait 8
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_SPIKES, 48, 88, $28
+ anim_wait 64
+ anim_ret
+
+BattleAnim_ZapCannon:
+ 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_ZAP_CANNON, 64, 92, $2
+ anim_wait 40
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_LIGHTNING_BOLT, 136, 56, $2
+ anim_wait 16
+ anim_obj ANIM_OBJ_31, 136, 56, $0
+ anim_wait 128
+ anim_ret
+
+BattleAnim_Foresight:
+ anim_1gfx ANIM_GFX_SHINE
+ anim_call BattleAnim_UserObj_1Row
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 1, SFX_FORESIGHT
+ anim_obj ANIM_OBJ_FORESIGHT, 132, 40, $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
+
+BattleAnim_DestinyBond:
+ 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_DESTINY_BOND, 44, 120, $2
+ anim_wait 128
+ anim_ret
+
+BattleAnim_DestinyBond_branch_cb104:
+ anim_obj ANIM_OBJ_DESTINY_BOND, 132, 76, $0
+ anim_sound 0, 1, SFX_KINESIS
+ anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_PerishSong:
+ 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, 88, 0, $0
+ anim_obj ANIM_OBJ_PERISH_SONG, 88, 0, $8
+ anim_obj ANIM_OBJ_PERISH_SONG, 88, 0, $10
+ anim_obj ANIM_OBJ_PERISH_SONG, 88, 0, $18
+ anim_obj ANIM_OBJ_PERISH_SONG, 88, 0, $20
+ anim_obj ANIM_OBJ_PERISH_SONG, 88, 0, $28
+ anim_obj ANIM_OBJ_PERISH_SONG, 88, 0, $30
+ anim_obj ANIM_OBJ_PERISH_SONG, 88, 0, $38
+ anim_wait 112
+ anim_ret
+
+BattleAnim_IcyWind:
+ anim_1gfx ANIM_GFX_SPEED
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
+ anim_battlergfx_1row
+ anim_sound 0, 0, SFX_PSYCHIC
+.loop
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 64, 88, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 64, 80, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 64, 96, $4
+ anim_wait 8
+ anim_loop 2, .loop
+ anim_wait 16
+ anim_bgeffect ANIM_BG_BATTLEROBJ_2ROW, $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
+
+BattleAnim_Detect:
+ anim_1gfx ANIM_GFX_SHINE
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 0, SFX_FORESIGHT
+ anim_obj ANIM_OBJ_FORESIGHT, 64, 88, $0
+ anim_wait 24
+ anim_ret
+
+BattleAnim_BoneRush:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
+ anim_sound 0, 1, SFX_BONE_CLUB
+ anim_obj ANIM_OBJ_BONE_RUSH, 132, 56, $2
+ anim_wait 16
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 120, 48, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 144, 64, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_LockOn:
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 0, 1, SFX_MIND_READER
+.loop
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $3
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $12
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $20
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $31
+ anim_wait 16
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Outrage:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 120, 72, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_00, 136, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, 152, 40, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Sandstorm:
+ anim_1gfx ANIM_GFX_POWDER
+ anim_obj ANIM_OBJ_SANDSTORM, 88, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_SANDSTORM, 72, 0, $1
+ anim_wait 8
+ anim_obj ANIM_OBJ_SANDSTORM, 56, 0, $2
+.loop
+ anim_sound 0, 1, SFX_MENU
+ anim_wait 8
+ anim_loop 16, .loop
+ anim_wait 8
+ anim_ret
+
+BattleAnim_GigaDrain:
+ anim_2gfx ANIM_GFX_BUBBLE, ANIM_GFX_CHARGE
+ anim_call BattleAnim_TargetObj_1Row
+ 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_GLIMMER, 24, 64, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 24, 104, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 56, 64, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 40, 84, $0
+ anim_wait 5
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Endure:
+ anim_1gfx ANIM_GFX_SPEED
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 44, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 36, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 52, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 28, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 60, 108, $6
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 20, 108, $8
+ anim_wait 2
+ anim_obj ANIM_OBJ_47, 68, 108, $8
+ anim_wait 2
+ anim_loop 5, .loop
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Charm:
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_sound 0, 0, SFX_ATTRACT
+ anim_obj ANIM_OBJ_HEART, 64, 80, $0
+ anim_wait 32
+ anim_incbgeffect ANIM_BG_25
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 4
+ anim_ret
+
+BattleAnim_Rollout:
+ anim_1gfx ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_SPARK
+ anim_call BattleAnim_TargetObj_2Row
+ anim_bgeffect ANIM_BG_2D, $60, $1, $1
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_03, 136, 40, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_FalseSwipe:
+ 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, 152, 40, $0
+ anim_wait 4
+ anim_obj ANIM_OBJ_GLIMMER, 136, 40, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Swagger:
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND
+.loop
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_SWAGGER, 72, 88, $44
+ anim_wait 32
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_sound 0, 1, SFX_KINESIS_2
+ anim_obj ANIM_OBJ_ANGER, 104, 40, $0
+ anim_wait 40
+ anim_ret
+
+BattleAnim_MilkDrink:
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE
+ anim_call BattleAnim_TargetObj_1Row
+ anim_obj ANIM_OBJ_MILK_DRINK, 74, 104, $0
+ anim_wait 16
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_sound 0, 0, SFX_MILK_DRINK
+.loop
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $20
+ anim_wait 8
+ anim_loop 8, .loop
+ anim_wait 128
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Spark:
+ 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_THUNDER_WAVE, 48, 92, $0
+ anim_wait 24
+ anim_setobj $1, $3
+ anim_wait 1
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 136, 56, $2
+ anim_obj ANIM_OBJ_33, 136, 56, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_FuryCutter:
+ anim_1gfx ANIM_GFX_CUT
+.loop
+ anim_sound 0, 1, SFX_CUT
+ anim_if_param_and %00000001, .obj1
+ anim_obj ANIM_OBJ_3A, 152, 40, $0
+ anim_jump .okay
+
+.obj1
+ anim_obj ANIM_OBJ_3B, 112, 40, $0
+.okay
+ anim_wait 16
+ anim_jumpuntil .loop
+ anim_ret
+
+BattleAnim_SteelWing:
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_obp0 $0
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 148, 56, $0
+ anim_obj ANIM_OBJ_01, 116, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, 144, 56, $0
+ anim_obj ANIM_OBJ_01, 120, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, 140, 56, $0
+ anim_obj ANIM_OBJ_01, 124, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_MeanLook:
+ anim_1gfx ANIM_GFX_PSYCHIC
+ anim_obp0 $e0
+ anim_sound 0, 1, SFX_MEAN_LOOK
+ anim_obj ANIM_OBJ_MEAN_LOOK, 148, 32, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_MEAN_LOOK, 116, 64, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_MEAN_LOOK, 148, 64, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_MEAN_LOOK, 116, 32, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_MEAN_LOOK, 132, 48, $0
+ anim_wait 128
+ anim_ret
+
+BattleAnim_Attract:
+ anim_1gfx ANIM_GFX_OBJECTS
+.loop
+ anim_sound 0, 0, SFX_ATTRACT
+ anim_obj ANIM_OBJ_ATTRACT, 44, 80, $2
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_wait 128
+ anim_wait 64
+ anim_ret
+
+BattleAnim_SleepTalk:
+ anim_1gfx ANIM_GFX_STATUS
+.loop
+ anim_sound 0, 0, SFX_STRENGTH
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
+ anim_wait 40
+ anim_loop 2, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_HealBell:
+ anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
+ anim_obj ANIM_OBJ_84, 72, 56, $0
+ anim_wait 32
+.loop
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 72, 52, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 72, 52, $1
+ anim_wait 8
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 72, 52, $2
+ anim_wait 8
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 72, 52, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 72, 52, $2
+ anim_wait 8
+ anim_loop 4, .loop
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Return:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_2Row
+ 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_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_03, 136, 40, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Present:
+ anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE
+ anim_sound 0, 1, SFX_PRESENT
+ anim_obj ANIM_OBJ_PRESENT, 64, 88, $6c
+ anim_wait 56
+ anim_obj ANIM_OBJ_AMNESIA, 104, 48, $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_RECOVER, 132, 48, $24
+ anim_wait 8
+ anim_loop 8, .loop2
+ anim_wait 128
+ anim_ret
+
+BattleAnim_Frustration:
+ anim_1gfx ANIM_GFX_MISC
+ anim_sound 0, 0, SFX_KINESIS_2
+ anim_obj ANIM_OBJ_ANGER, 72, 80, $0
+ anim_wait 40
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 120, 48, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 152, 48, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 136, 48, $0
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_25
+ anim_wait 1
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_Safeguard:
+ anim_1gfx ANIM_GFX_MISC
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $0
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $d
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $1a
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $27
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $34
+ anim_sound 0, 0, SFX_PROTECT
+ anim_wait 96
+ anim_ret
+
+BattleAnim_PainSplit:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_04, 112, 48, $0
+ anim_obj ANIM_OBJ_04, 76, 96, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 1
+ anim_ret
+
+BattleAnim_SacredFire:
+ 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_SACRED_FIRE, 48, 104, $0
+ anim_wait 8
+ anim_loop 8, .loop
+ anim_wait 96
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $5
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 4
+ anim_incobj 9
+ anim_wait 8
+ anim_ret
+
+BattleAnim_Magnitude:
+ anim_1gfx ANIM_GFX_ROCKS
+.loop
+ anim_bgeffect ANIM_BG_1F, $e, $4, $0
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
+ anim_wait 2
+ anim_obj ANIM_OBJ_SMALL_ROCK, 120, 68, $30
+ anim_wait 2
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
+ anim_wait 2
+ anim_obj ANIM_OBJ_SMALL_ROCK, 144, 64, $40
+ anim_wait 2
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
+ anim_wait 2
+ anim_jumpuntil .loop
+ anim_wait 96
+ anim_ret
+
+BattleAnim_Dynamicpunch:
+ anim_2gfx ANIM_GFX_HIT, ANIM_GFX_EXPLOSION
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_0A, 136, 56, $43
+ anim_wait 16
+ anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
+ anim_call BattleAnim_Dynamicpunch_branch_cbb8f
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Megahorn:
+ 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, 72, 80, $1
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_wait 16
+ anim_obj ANIM_OBJ_00, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Dragonbreath:
+ anim_1gfx ANIM_GFX_FIRE
+ anim_sound 6, 2, SFX_EMBER
+.loop
+ anim_obj ANIM_OBJ_DRAGONBREATH, 64, 92, $4
+ anim_wait 4
+ anim_loop 10, .loop
+ anim_wait 64
+ anim_ret
+
+BattleAnim_BatonPass:
+ anim_1gfx ANIM_GFX_MISC
+ anim_obj ANIM_OBJ_BATON_PASS, 44, 104, $20
+ anim_sound 0, 0, SFX_BATON_PASS
+ anim_call BattleAnim_BatonPass_branch_c9486
+ anim_wait 64
+ anim_ret
+
+BattleAnim_Encore:
+ anim_1gfx ANIM_GFX_OBJECTS
+ anim_obj ANIM_OBJ_99, 64, 80, $90
+ anim_obj ANIM_OBJ_99, 64, 80, $10
+ anim_sound 0, 0, SFX_ENCORE
+ anim_wait 16
+ anim_obj ANIM_OBJ_9A, 64, 72, $2c
+ anim_wait 32
+ anim_obj ANIM_OBJ_9A, 64, 72, $34
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Pursuit:
+ 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, 136, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Pursuit_branch_cb62b:
+ anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0
+ anim_wait 4
+ anim_call BattleAnim_UserObj_1Row
+ anim_obj ANIM_OBJ_AD, 132, 64, $0
+ anim_wait 64
+ anim_obj ANIM_OBJ_AD, 132, 64, $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, 120, 56, $0
+ anim_bgeffect ANIM_BG_2C, $0, $0, $0
+ anim_wait 16
+ anim_call BattleAnim_ShowMon_1
+ anim_wait 1
+ anim_ret
+
+BattleAnim_RapidSpin:
+ anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
+ anim_obp0 $e4
+.loop
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_RAPID_SPIN, 44, 112, $0
+ anim_wait 2
+ anim_loop 5, .loop
+ anim_wait 24
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_resetobp0
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_04, 136, 40, $0
+ anim_wait 8
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 4
+ anim_incobj 6
+ anim_wait 1
+ anim_ret
+
+BattleAnim_SweetScent:
+ anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC
+ anim_sound 0, 0, SFX_SWEET_SCENT
+ anim_obj ANIM_OBJ_FLOWER, 64, 96, $2
+ anim_wait 2
+ anim_obj ANIM_OBJ_FLOWER, 64, 80, $2
+ anim_wait 96
+ anim_obp0 $54
+ anim_sound 0, 1, SFX_SWEET_SCENT_2
+ anim_obj ANIM_OBJ_COTTON, 136, 40, $15
+ anim_obj ANIM_OBJ_COTTON, 136, 40, $2a
+ anim_obj ANIM_OBJ_COTTON, 136, 40, $3f
+ anim_wait 128
+ anim_ret
+
+BattleAnim_IronTail:
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_obp0 $0
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_TargetObj_1Row
+ anim_call BattleAnim_IronTail_branch_cbc43
+ anim_wait 4
+ anim_1gfx ANIM_GFX_HIT
+ anim_resetobp0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
+ anim_wait 16
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_00, 136, 48, $0
+ anim_wait 16
+ anim_incbgeffect ANIM_BG_25
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_MetalClaw:
+ anim_1gfx ANIM_GFX_REFLECT
+ anim_obp0 $0
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_TargetObj_1Row
+ 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, 144, 48, $0
+ anim_obj ANIM_OBJ_37, 140, 44, $0
+ anim_obj ANIM_OBJ_37, 136, 40, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_VitalThrow:
+ anim_1gfx ANIM_GFX_HIT
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_2E, $0, $1, $0
+ anim_wait 16
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 64, 96, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 56, 88, $0
+ anim_wait 8
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 68, 104, $0
+ anim_wait 8
+ anim_incbgeffect ANIM_BG_2E
+ anim_wait 16
+ anim_call BattleAnim_ShowMon_0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_03, 132, 56, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_MorningSun:
+ 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_MORNING_SUN, 16, 48, $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
+
+.zero
+ anim_call BattleAnim_MorningSun_branch_cbc80
+ anim_ret
+
+BattleAnim_Synthesis:
+ anim_1gfx ANIM_GFX_SHINE
+ anim_call BattleAnim_TargetObj_1Row
+ 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
+
+.one
+ anim_call BattleAnim_Synthesis_branch_cbc80
+ anim_ret
+
+BattleAnim_Crunch:
+ 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_BITE, 136, 56, $a8
+ anim_obj ANIM_OBJ_BITE, 136, 56, $28
+ anim_wait 8
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_00, 144, 48, $18
+ anim_wait 16
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_00, 128, 64, $18
+ anim_wait 8
+ anim_ret
+
+BattleAnim_Moonlight:
+ anim_1gfx ANIM_GFX_SHINE
+ anim_bgp $1b
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 0, 40, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 16, 56, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 32, 72, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 48, 88, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 64, 104, $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
+
+BattleAnim_HiddenPower:
+ anim_1gfx ANIM_GFX_CHARGE
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $0
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $8
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $10
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $18
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $20
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $28
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $30
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $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, 136, 56, $0
+ anim_wait 32
+ anim_ret
+
+BattleAnim_CrossChop:
+ anim_1gfx ANIM_GFX_CUT
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_A0, 152, 40, $0
+ anim_obj ANIM_OBJ_A1, 120, 72, $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
+
+BattleAnim_Twister:
+ anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
+.loop1
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, 64, 112, $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, 144, 64, $18
+.loop3
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_wait 8
+ anim_loop 4, .loop3
+ anim_obj ANIM_OBJ_01, 128, 32, $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
+
+BattleAnim_RainDance:
+ anim_1gfx ANIM_GFX_WATER
+ anim_bgp $f8
+ anim_obp0 $7c
+ anim_sound 0, 1, SFX_RAIN_DANCE
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $0
+ anim_wait 8
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $1
+ anim_wait 8
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
+ anim_wait 128
+ anim_ret
+
+BattleAnim_SunnyDay:
+ anim_1gfx ANIM_GFX_WATER
+ anim_bgp $90
+ anim_sound 0, 1, SFX_MORNING_SUN
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
+ anim_wait 8
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
+ anim_wait 8
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
+ anim_wait 128
+ anim_ret
+
+BattleAnim_MirrorCoat:
+ 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_SCREEN, 72, 80, $0
+ anim_obj ANIM_OBJ_AE, 64, 72, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 64, 88, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 64, 80, $4
+ anim_wait 8
+ anim_obj ANIM_OBJ_AE, 64, 96, $4
+ anim_wait 8
+ anim_loop 3, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_PsychUp:
+ anim_1gfx ANIM_GFX_STATUS
+ anim_call BattleAnim_TargetObj_1Row
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $0
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $10
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $20
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $30
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Extremespeed:
+ 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_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
+ anim_wait 12
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, 152, 40, $0
+ anim_wait 32
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 16
+ anim_ret
+
+BattleAnim_Ancientpower:
+ anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 64, 108, $20
+ anim_wait 8
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 75, 102, $20
+ anim_wait 8
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 85, 97, $20
+ anim_wait 8
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 96, 92, $20
+ anim_wait 8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 106, 87, $20
+ anim_wait 8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 116, 82, $20
+ anim_wait 8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 126, 77, $20
+ anim_wait 8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_00, 136, 56, $0
+ anim_wait 6
+ anim_ret
+
+BattleAnim_ShadowBall:
+ anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE
+ anim_bgp $1b
+ anim_sound 6, 2, SFX_SLUDGE_BOMB
+ anim_obj ANIM_OBJ_SHADOW_BALL, 64, 92, $2
+ anim_wait 32
+ anim_obj ANIM_OBJ_BALL_POOF, 132, 56, $10
+ anim_wait 24
+ anim_ret
+
+BattleAnim_FutureSight:
+ 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_AGILITY, 8, 24, $10
+ anim_obj ANIM_OBJ_AGILITY, 8, 48, $2
+ anim_obj ANIM_OBJ_AGILITY, 8, 88, $8
+ anim_wait 4
+ anim_obj ANIM_OBJ_AGILITY, 8, 32, $6
+ anim_obj ANIM_OBJ_AGILITY, 8, 56, $c
+ anim_obj ANIM_OBJ_AGILITY, 8, 80, $4
+ anim_obj ANIM_OBJ_AGILITY, 8, 104, $e
+.loop
+ anim_sound 0, 0, SFX_THROW_BALL
+ anim_wait 16
+ anim_loop 4, .loop
+ anim_incbgeffect ANIM_BG_PSYCHIC
+ anim_ret
+
+BattleAnim_RockSmash:
+ anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_01, 128, 56, $0
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $28
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $5c
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $10
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $e8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $9c
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $d0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $1c
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $50
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $dc
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $90
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Whirlpool:
+ 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, 132, 72, $0
+ anim_wait 6
+ anim_loop 9, .loop
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_WHIRLPOOL
+ anim_wait 1
+ anim_ret
+
+BattleAnim_BeatUp:
+ 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_TargetObj_1Row
+ anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_BEAT_UP
+ anim_obj ANIM_OBJ_00, 136, 48, $0
+ anim_wait 8
+ anim_call BattleAnim_ShowMon_0
+ anim_ret
+
+BattleAnim_DreamEater_branch_cbab3:
+BattleAnim_GigaDrain_branch_cbab3:
+BattleAnim_LeechLife_branch_cbab3:
+ anim_obj ANIM_OBJ_71, 132, 44, $0
+ anim_obj ANIM_OBJ_71, 132, 44, $8
+ anim_obj ANIM_OBJ_71, 132, 44, $10
+ anim_obj ANIM_OBJ_71, 132, 44, $18
+ anim_obj ANIM_OBJ_71, 132, 44, $20
+ anim_obj ANIM_OBJ_71, 132, 44, $28
+ anim_obj ANIM_OBJ_71, 132, 44, $30
+ anim_obj ANIM_OBJ_71, 132, 44, $38
+ anim_ret
+
+BattleAnim_Glare_branch_cbadc:
+BattleAnim_Leer_branch_cbadc:
+BattleAnim_ScaryFace_branch_cbadc:
+ anim_sound 6, 2, SFX_LEER
+ anim_obj ANIM_OBJ_4E, 72, 84, $0
+ anim_obj ANIM_OBJ_4E, 64, 80, $0
+ anim_obj ANIM_OBJ_4E, 88, 76, $0
+ anim_obj ANIM_OBJ_4E, 80, 72, $0
+ anim_obj ANIM_OBJ_4E, 104, 68, $0
+ anim_obj ANIM_OBJ_4E, 96, 64, $0
+ anim_obj ANIM_OBJ_4E, 120, 60, $0
+ anim_obj ANIM_OBJ_4E, 112, 56, $0
+ anim_obj ANIM_OBJ_4F, 130, 54, $0
+ anim_obj ANIM_OBJ_4F, 122, 50, $0
+ anim_ret
+
+BattleAnim_Fly_branch_cbb12:
+BattleAnim_Teleport_branch_cbb12:
+ anim_sound 0, 0, SFX_WARP_TO
+ anim_obj ANIM_OBJ_44, 44, 108, $0
+ anim_obj ANIM_OBJ_44, 44, 100, $0
+ anim_obj ANIM_OBJ_44, 44, 92, $0
+ anim_obj ANIM_OBJ_44, 44, 84, $0
+ anim_obj ANIM_OBJ_44, 44, 76, $0
+ anim_obj ANIM_OBJ_44, 44, 68, $0
+ anim_obj ANIM_OBJ_44, 44, 60, $0
+ anim_ret
+
+BattleAnim_AuroraBeam_branch_cbb39:
+BattleAnim_HyperBeam_branch_cbb39:
+BattleAnim_Solarbeam_branch_cbb39:
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 64, 92, $0
+ anim_wait 4
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 80, 84, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 96, 76, $0
+ anim_wait 4
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 112, 68, $0
+ anim_obj ANIM_OBJ_28, 126, 62, $0
+ anim_ret
+
+BattleAnim_Explosion_branch_cbb62:
+BattleAnim_Selfdestruct_branch_cbb62:
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 24, 64, $0
+ anim_wait 5
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 56, 104, $0
+ anim_wait 5
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 24, 104, $0
+ anim_wait 5
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 56, 64, $0
+ anim_wait 5
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 40, 84, $0
+ anim_ret
+
+BattleAnim_Dynamicpunch_branch_cbb8f:
+BattleAnim_Explosion_branch_cbb8f:
+BattleAnim_Present_branch_cbb8f:
+BattleAnim_Selfdestruct_branch_cbb8f:
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 148, 32, $0
+ anim_wait 5
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 116, 72, $0
+ anim_wait 5
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 148, 72, $0
+ anim_wait 5
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 116, 32, $0
+ anim_wait 5
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 132, 52, $0
+ anim_ret
+
+BattleAnim_Growl_branch_cbbbc:
+BattleAnim_Roar_branch_cbbbc:
+BattleAnim_Snore_branch_cbbbc:
+ anim_obj ANIM_OBJ_4B, 64, 76, $0
+ anim_obj ANIM_OBJ_4B, 64, 88, $1
+ anim_obj ANIM_OBJ_4B, 64, 100, $2
+ anim_ret
+
+BattleAnim_FirePunch_branch_cbbcc:
+BattleAnim_TriAttack_branch_cbbcc:
+ anim_sound 0, 1, SFX_EMBER
+.loop
+ anim_obj ANIM_OBJ_BURNED, 136, 56, $10
+ anim_obj ANIM_OBJ_BURNED, 136, 56, $90
+ anim_wait 4
+ anim_loop 4, .loop
+ anim_ret
+
+BattleAnim_IcePunch_branch_cbbdf:
+BattleAnim_PowderSnow_branch_cbbdf:
+BattleAnim_TriAttack_branch_cbbdf:
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 128, 42, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 144, 70, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 120, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 152, 56, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 144, 42, $0
+ anim_wait 6
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 128, 70, $0
+ anim_ret
+
+BattleAnim_SludgeBomb_branch_cbc15:
+BattleAnim_Sludge_branch_cbc15:
+BattleAnim_Toxic_branch_cbc15:
+.loop
+ anim_sound 0, 1, SFX_TOXIC
+ anim_obj ANIM_OBJ_1A, 132, 72, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_TOXIC
+ anim_obj ANIM_OBJ_1A, 116, 72, $0
+ anim_wait 8
+ anim_sound 0, 1, SFX_TOXIC
+ anim_obj ANIM_OBJ_1A, 148, 72, $0
+ anim_wait 8
+ anim_loop 5, .loop
+ anim_ret
+
+BattleAnim_Acid_branch_cbc35:
+BattleAnim_Toxic_branch_cbc35:
+.loop
+ anim_sound 6, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_19, 64, 92, $10
+ anim_wait 5
+ anim_loop 8, .loop
+ anim_ret
+
+BattleAnim_Harden_branch_cbc43:
+BattleAnim_IronTail_branch_cbc43:
+BattleAnim_MetalClaw_branch_cbc43:
+BattleAnim_SteelWing_branch_cbc43:
+ anim_sound 0, 0, SFX_SHINE
+ anim_bgeffect ANIM_BG_17, $0, $1, $40
+ anim_wait 8
+ anim_obj ANIM_OBJ_HARDEN, 48, 84, $0
+ anim_wait 32
+ anim_obj ANIM_OBJ_HARDEN, 48, 84, $0
+ anim_wait 64
+ anim_incbgeffect ANIM_BG_17
+ anim_ret
+
+BattleAnim_MudSlap_branch_cbc5b:
+BattleAnim_SandAttack_branch_cbc5b:
+.loop
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_58, 64, 92, $4
+ anim_wait 4
+ anim_loop 8, .loop
+ anim_wait 32
+ anim_ret
+
+BattleAnim_Moonlight_branch_cbc6a:
+BattleAnim_MorningSun_branch_cbc6a:
+BattleAnim_Synthesis_branch_cbc6a:
+ anim_sound 0, 0, SFX_METRONOME
+ anim_obj ANIM_OBJ_GLIMMER, 44, 64, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 24, 96, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
+ anim_wait 21
+ anim_ret
+
+BattleAnim_Moonlight_branch_cbc80:
+BattleAnim_MorningSun_branch_cbc80:
+BattleAnim_Synthesis_branch_cbc80:
+ anim_sound 0, 0, SFX_METRONOME
+.loop
+ anim_obj ANIM_OBJ_GLIMMER, 24, 64, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 24, 104, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 56, 64, $0
+ anim_wait 5
+ anim_obj ANIM_OBJ_GLIMMER, 40, 84, $0
+ anim_wait 5
+ anim_loop 2, .loop
+ anim_wait 16
+ anim_ret
+
+BattleAnim_TargetObj_1Row:
+ anim_battlergfx_2row
+ anim_bgeffect ANIM_BG_BATTLEROBJ_1ROW, $0, $0, $0
+ anim_wait 6
+ anim_ret
+
+BattleAnim_TargetObj_2Row:
+ anim_battlergfx_1row
+ anim_bgeffect ANIM_BG_BATTLEROBJ_2ROW, $0, $0, $0
+ anim_wait 6
+ anim_ret
+
+BattleAnim_ShowMon_0:
+ anim_wait 1
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
+ anim_wait 5
+ anim_incobj 1
+ anim_wait 1
+ anim_ret
+
+BattleAnim_UserObj_1Row:
+ anim_battlergfx_2row
+ anim_bgeffect ANIM_BG_BATTLEROBJ_1ROW, $0, $1, $0
+ anim_wait 6
+ anim_ret
+
+BattleAnim_UserObj_2Row:
+ anim_battlergfx_1row
+ anim_bgeffect ANIM_BG_BATTLEROBJ_2ROW, $0, $1, $0
+ anim_wait 4
+ anim_ret
+
+BattleAnim_ShowMon_1:
+ anim_wait 1
+ anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
+ anim_wait 4
+ anim_incobj 1
+ anim_wait 1
+ anim_ret
diff --git a/macros/move_anim.asm b/macros/move_anim.asm
index c795f561..8df511b2 100644
--- a/macros/move_anim.asm
+++ b/macros/move_anim.asm
@@ -10,10 +10,10 @@ endc
enum anim_obj_command ; d0
anim_obj: macro
db anim_obj_command
- db \1 ; obj
- db (\2 << 3) + \3 ; x
- db (\4 << 3) + \5 ; y
- db \6 ; param
+ db \1 ; object
+ db \2 ; x
+ db \3 ; y
+ db \4 ; param
endm
enum anim_1gfx_command ; d1
@@ -75,14 +75,14 @@ anim_incbgeffect: macro
db \1 ; effect
endm
- enum anim_enemyfeetobj_command ; d9
-anim_enemyfeetobj: macro
- db anim_enemyfeetobj_command
+ enum anim_battlergfx_2row_command ; d9
+anim_battlergfx_2row: macro
+ db anim_battlergfx_2row_command
endm
- enum anim_playerheadobj_command ; da
-anim_playerheadobj: macro
- db anim_playerheadobj_command
+ enum anim_battlergfx_1row_command ; da
+anim_battlergfx_1row: macro
+ db anim_battlergfx_1row_command
endm
enum anim_checkpokeball_command ; db
@@ -223,9 +223,9 @@ anim_obp1: macro
db \1 ; colors
endm
- enum anim_clearsprites_command ; f4
-anim_clearsprites: macro
- db anim_clearsprites_command
+ enum anim_keepsprites_command ; f4
+anim_keepsprites: macro
+ db anim_keepsprites_command
endm
enum anim_0xf5_command ; f5
diff --git a/main.asm b/main.asm
index 7ec75c2a..693ef603 100644
--- a/main.asm
+++ b/main.asm
@@ -1357,11 +1357,12 @@ Functionc7cd0:
dr $c7cd0, $c8000
SECTION "bank32", ROMX, BANK[$32]
-BattleAnimations:: ; Not actually where it is, I just needed the label for BANK to work
dr $c8000, $c80d6
Predef2F::
- dr $c80d6, $cbc76
+ dr $c80d6, $c900a
+
+INCLUDE "data/moves/animations.asm"
LoadPoisonBGPals::
dr $cbc76, $cc000