jep-hack/data/moves/animations.asm
Llinos Evans caa6d9ceb3 New moves
This adds the SW97 and Fairy moves to the game. I have yet to do the effects for Coin Hurl, Synchronize, and Water Sport, but they seem relatively simple.

This also adds all the Fairy moves, including Moonblast, Strange Steam, and Play Rough, which become JEP-eligible under the game's criteria.

Animations not included. Sour Crystal may have what we're looking for, though.
2024-08-26 08:50:21 +01:00

4940 lines
123 KiB
NASM

; entries correspond to constants/move_constants.asm
:
table_width 2, :-
; negative entries first (see the constants file for details)
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
assert_table_length NUM_BATTLE_ANIMS
BattleAnimations::
table_width 2, BattleAnimations
dw BattleAnim_Dummy
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_RockHead
dw BattleAnim_RockSlash
dw BattleAnim_CrossCutter
dw BattleAnim_Megaphone
dw BattleAnim_Wind_Ride ; Mystic Ice - to be changed, all new anims here are temp
dw BattleAnim_Splash ; Bounce
dw BattleAnim_Flash ; Bright Moss
dw BattleAnim_PayDay ; Coin Hurl
dw BattleAnim_RockSmash ; Uproot
dw BattleAnim_Psybeam ; Synchronize
dw BattleAnim_Rollout ; Strong Arm (I want it to look like Arm Thrust in ADV!)
dw BattleAnim_MegaPunch ; Uppercut (replicate the KEP one!!)
dw BattleAnim_WaterGun ; uhhh
dw BattleAnim_Wind_Ride ; Wind Ride but real
dw BattleAnim_Flash ; Dazzling Gleam
dw BattleAnim_Sing ; Disarming Voice
dw BattleAnim_SweetKiss ; Draining Kiss
dw BattleAnim_SweetScent ; Fairy Wind
dw BattleAnim_Psywave ; Moonblast
dw BattleAnim_Rollout ; Play Rough
dw BattleAnim_ConfuseRay ; Strange Steam
assert_table_length NUM_ATTACKS + 1
dw BattleAnim_SweetScent2
BattleAnim_Dummy:
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_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_HIT_YFIX, 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, BG_EFFECT_TARGET, $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, BG_EFFECT_TARGET, $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_BETA_SEND_OUT_MON2, $0, BG_EFFECT_USER, $0
anim_sound 0, 0, SFX_BALL_POOF
anim_obj ANIM_OBJ_BETA_BALL_POOF, 48, 96, $0
anim_bgeffect ANIM_BG_ENTER_MON, $0, BG_EFFECT_USER, $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_BETA_SEND_OUT_MON1, $0, BG_EFFECT_USER, $0
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 0, SFX_BALL_POOF
anim_obj ANIM_OBJ_BETA_BALL_POOF, 48, 96, $0
anim_incbgeffect ANIM_BG_BETA_SEND_OUT_MON1
anim_wait 96
anim_incbgeffect ANIM_BG_BETA_SEND_OUT_MON1
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_CYCLE_OBPALS_GRAY_AND_YELLOW, $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, BG_EFFECT_USER, $0
anim_wait 32
anim_ret
BattleAnim_ReturnMon:
anim_sound 0, 0, SFX_BALL_POOF
BattleAnimSub_Return:
anim_bgeffect ANIM_BG_RETURN_MON, $0, BG_EFFECT_USER, $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_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_HIT, 44, 96, $0
anim_wait 16
anim_ret
BattleAnim_Miss:
anim_ret
BattleAnim_EnemyDamage:
.loop
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_TARGET, $0
anim_wait 5
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_TARGET, $0
anim_wait 5
anim_loop 3, .loop
anim_ret
BattleAnim_EnemyStatDown:
anim_call BattleAnim_UserObj_1Row
anim_bgeffect ANIM_BG_VIBRATE_MON, $0, BG_EFFECT_TARGET, $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_PLAYER, $0, $0, $0
anim_wait 40
anim_call BattleAnim_ShowMon_1
anim_wait 1
anim_ret
BattleAnim_PlayerDamage:
anim_bgeffect ANIM_BG_SHAKE_SCREEN_Y, $20, $2, $20
anim_wait 40
anim_ret
BattleAnim_Wobble:
anim_bgeffect ANIM_BG_WOBBLE_SCREEN, $0, $0, $0
anim_wait 40
anim_ret
BattleAnim_Shake:
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_PALM, 136, 56, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 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_PALM, 136, 40, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 136, 40, $0
anim_wait 6
anim_sound 0, 1, SFX_KARATE_CHOP
anim_obj ANIM_OBJ_PALM, 136, 44, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 136, 44, $0
anim_wait 6
anim_sound 0, 1, SFX_KARATE_CHOP
anim_obj ANIM_OBJ_PALM, 136, 48, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 136, 48, $0
anim_wait 16
anim_ret
BattleAnim_Doubleslap:
anim_1gfx ANIM_GFX_HIT
anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_DOUBLESLAP
anim_obj ANIM_OBJ_PALM, 144, 48, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 144, 48, $0
anim_wait 8
anim_ret
.alternate:
anim_sound 0, 1, SFX_DOUBLESLAP
anim_obj ANIM_OBJ_PALM, 120, 48, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 120, 48, $0
anim_wait 8
anim_ret
BattleAnim_CometPunch:
anim_1gfx ANIM_GFX_HIT
anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_PUNCH, 144, 48, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 144, 48, $0
anim_wait 8
anim_ret
.alternate:
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_PUNCH, 120, 64, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 120, 64, $0
anim_wait 8
anim_ret
BattleAnim_MegaPunch:
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_PUNCH, 136, 56, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 56, $0
anim_wait 6
anim_obj ANIM_OBJ_PUNCH, 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_KICK, 136, 40, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 136, 40, $0
anim_wait 6
anim_sound 0, 1, SFX_STOMP
anim_obj ANIM_OBJ_KICK, 136, 44, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 136, 44, $0
anim_wait 6
anim_sound 0, 1, SFX_STOMP
anim_obj ANIM_OBJ_KICK, 136, 48, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 136, 48, $0
anim_wait 16
anim_ret
BattleAnim_DoubleKick:
anim_1gfx ANIM_GFX_HIT
anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_KICK, 144, 48, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 144, 48, $0
anim_wait 8
anim_ret
.alternate:
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_KICK, 120, 64, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 120, 64, $0
anim_wait 8
anim_ret
BattleAnim_JumpKick:
anim_1gfx ANIM_GFX_HIT
anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_JUMP_KICK
anim_obj ANIM_OBJ_KICK, 112, 72, $0
anim_obj ANIM_OBJ_KICK, 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_HIT, 136, 48, $0
anim_wait 16
anim_ret
.alternate:
anim_wait 8
anim_sound 0, 0, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_HIT, 44, 88, $0
anim_wait 16
anim_ret
BattleAnim_HiJumpKick:
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $40, $2, $0
anim_if_param_equal $1, .alternate
anim_wait 32
anim_sound 0, 1, SFX_JUMP_KICK
anim_obj ANIM_OBJ_KICK, 112, 72, $0
anim_setobj $1, $2
anim_wait 16
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_HIT, 136, 48, $0
anim_wait 16
anim_ret
.alternate:
anim_wait 16
anim_sound 0, 0, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_HIT, 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_KICK, 112, 56, $0
anim_setobj $1, $3
anim_wait 12
anim_obj ANIM_OBJ_HIT_YFIX, 136, 48, $0
anim_wait 16
anim_ret
BattleAnim_MegaKick:
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_KICK, 136, 56, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 56, $0
anim_wait 6
anim_obj ANIM_OBJ_KICK, 136, 56, $0
anim_wait 6
anim_loop 3, .loop
anim_ret
BattleAnim_HyperFang:
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $20, $1, $0
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_FANG, 136, 56, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 136, 56, $0
anim_wait 16
anim_ret
BattleAnim_SuperFang:
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_HIT_BIG_YFIX, 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_PUNCH_SHAKE, 136, 56, $43
anim_call BattleAnimSub_Fire
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_PUNCH_SHAKE, 136, 56, $43
anim_call BattleAnimSub_Ice
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_START_WATER, $0, BG_EFFECT_TARGET, $0
anim_wait 1
anim_call BattleAnim_UserObj_2Row
anim_bgeffect ANIM_BG_WATER, $1c, $0, $0
anim_wait 19
anim_call BattleAnim_ShowMon_1
anim_bgeffect ANIM_BG_END_WATER, $0, $0, $0
anim_wait 8
anim_ret
BattleAnim_WaterGun:
anim_bgeffect ANIM_BG_START_WATER, $0, BG_EFFECT_TARGET, $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_WATER, $1c, $0, $0
anim_wait 8
anim_bgeffect ANIM_BG_WATER, $8, $0, $0
anim_wait 8
anim_bgeffect ANIM_BG_WATER, $30, $0, $0
anim_wait 32
anim_call BattleAnim_ShowMon_1
anim_bgeffect ANIM_BG_END_WATER, $0, $0, $0
anim_wait 16
anim_ret
BattleAnim_HydroPump:
anim_bgeffect ANIM_BG_START_WATER, $0, BG_EFFECT_TARGET, $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_WATER, $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_WATER, $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_WATER, $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_WATER, $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_WATER, $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_WATER, $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_WATER, $1c, $0, $0
anim_wait 32
anim_call BattleAnim_ShowMon_1
anim_bgeffect ANIM_BG_END_WATER, $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_VINE_WHIP2, 116, 52, $80
anim_wait 4
anim_sound 0, 1, SFX_VINE_WHIP
anim_obj ANIM_OBJ_VINE_WHIP1, 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_ABSORB_CENTER, 48, 84, $0
anim_obj ANIM_OBJ_SOLAR_BEAM_CHARGE, 48, 84, $0
anim_obj ANIM_OBJ_SOLAR_BEAM_CHARGE, 48, 84, $8
anim_obj ANIM_OBJ_SOLAR_BEAM_CHARGE, 48, 84, $10
anim_obj ANIM_OBJ_SOLAR_BEAM_CHARGE, 48, 84, $18
anim_obj ANIM_OBJ_SOLAR_BEAM_CHARGE, 48, 84, $20
anim_obj ANIM_OBJ_SOLAR_BEAM_CHARGE, 48, 84, $28
anim_obj ANIM_OBJ_SOLAR_BEAM_CHARGE, 48, 84, $30
anim_obj ANIM_OBJ_SOLAR_BEAM_CHARGE, 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_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_call BattleAnimSub_Beam
anim_wait 48
anim_ret
BattleAnim_Thunderpunch:
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_LIGHTNING
anim_obj ANIM_OBJ_PUNCH_SHAKE, 136, 56, $43
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2
anim_sound 0, 1, SFX_THUNDER
anim_obj ANIM_OBJ_THUNDER3, 152, 68, $0
anim_wait 64
anim_ret
BattleAnim_Thundershock:
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
anim_obj ANIM_OBJ_THUNDERSHOCK_BALL, 136, 56, $2
anim_wait 16
anim_sound 0, 1, SFX_THUNDERSHOCK
anim_obj ANIM_OBJ_SPARKS_CIRCLE, 136, 56, $0
anim_wait 96
anim_ret
BattleAnim_Thunderbolt:
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
anim_obj ANIM_OBJ_THUNDERBOLT_BALL, 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_SPARKS_CIRCLE_BIG, 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_THUNDER2, 120, 68, $0
anim_wait 16
anim_sound 0, 1, SFX_THUNDER
anim_obj ANIM_OBJ_THUNDER3, 152, 68, $0
anim_wait 16
anim_sound 0, 1, SFX_THUNDER
anim_obj ANIM_OBJ_THUNDER1, 136, 68, $0
anim_wait 48
anim_ret
BattleAnim_RazorWind:
anim_if_param_equal $1, BattleAnim_FocusEnergy
anim_1gfx ANIM_GFX_WHIP
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $1, $0
.loop
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
anim_sound 0, 1, SFX_RAZOR_WIND
anim_obj ANIM_OBJ_RAZOR_WIND2, 152, 40, $3
anim_wait 4
anim_sound 0, 1, SFX_RAZOR_WIND
anim_obj ANIM_OBJ_RAZOR_WIND2, 136, 56, $3
anim_wait 4
anim_sound 0, 1, SFX_RAZOR_WIND
anim_obj ANIM_OBJ_RAZOR_WIND2, 152, 64, $3
anim_wait 4
anim_sound 0, 1, SFX_RAZOR_WIND
anim_obj ANIM_OBJ_RAZOR_WIND1, 120, 40, $83
anim_wait 4
anim_sound 0, 1, SFX_RAZOR_WIND
anim_obj ANIM_OBJ_RAZOR_WIND1, 120, 64, $83
anim_wait 4
anim_loop 3, .loop
anim_wait 24
anim_ret
BattleAnim_Sonicboom_JP: ; unreferenced
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_HIT_YFIX, 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_HIT_YFIX, 144, 64, $18
anim_wait 8
anim_obj ANIM_OBJ_HIT_YFIX, 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 BattleAnimSub_Explosion2
anim_wait 16
anim_ret
.loop
anim_call BattleAnimSub_Explosion1
anim_wait 5
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_USER, $0
anim_loop 2, .loop
anim_wait 16
anim_ret
BattleAnim_Explosion:
anim_1gfx ANIM_GFX_EXPLOSION
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $60, $4, $10
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
anim_if_param_equal $1, .loop
anim_call BattleAnimSub_Explosion2
anim_wait 16
anim_ret
.loop
anim_call BattleAnimSub_Explosion1
anim_wait 5
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_USER, $0
anim_loop 2, .loop
anim_wait 16
anim_ret
BattleAnim_Acid:
anim_1gfx ANIM_GFX_POISON
anim_call BattleAnimSub_Acid
anim_wait 64
anim_ret
BattleAnim_RockThrow:
anim_1gfx ANIM_GFX_ROCKS
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_SHAKE_SCREEN_X, $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_SHAKE_SCREEN_X, $30, $4, $10
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_call BattleAnimSub_Beam
anim_wait 48
anim_ret
BattleAnim_AuroraBeam:
anim_1gfx ANIM_GFX_BEAM
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_wait 64
anim_call BattleAnimSub_Beam
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_CUT_DOWN_LEFT, 152, 40, $0
anim_obj ANIM_OBJ_CUT_UP_RIGHT, 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_CUT_DOWN_LEFT, 144, 48, $0
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 140, 44, $0
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 136, 40, $0
anim_wait 32
anim_ret
BattleAnim_FurySwipes:
anim_1gfx ANIM_GFX_CUT
anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_SCRATCH
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 144, 48, $0
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 140, 44, $0
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 136, 40, $0
anim_sound 0, 1, SFX_SCRATCH
anim_wait 32
anim_ret
.alternate:
anim_sound 0, 1, SFX_SCRATCH
anim_obj ANIM_OBJ_CUT_DOWN_RIGHT, 120, 48, $0
anim_obj ANIM_OBJ_CUT_DOWN_RIGHT, 124, 44, $0
anim_obj ANIM_OBJ_CUT_DOWN_RIGHT, 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_CUT_LONG_DOWN_LEFT, 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_CUT_LONG_DOWN_LEFT, 152, 40, $0
anim_obj ANIM_OBJ_CUT_LONG_DOWN_LEFT, 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_HIT_YFIX, 144, 48, $18
anim_wait 32
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_HIT_YFIX, 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_HIT_YFIX, 144, 48, $18
anim_wait 16
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_HIT_YFIX, 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, BG_EFFECT_USER, $0
anim_wait 32
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_USER, $0
anim_wait 3
anim_incbgeffect ANIM_BG_TELEPORT
anim_call BattleAnim_ShowMon_0
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $1, $0
anim_call BattleAnimSub_WarpAway
anim_wait 64
anim_ret
BattleAnim_Fly:
anim_if_param_equal $1, .turn1
anim_if_param_equal $2, .miss
anim_1gfx ANIM_GFX_HIT
anim_sound 0, 1, SFX_WING_ATTACK
anim_obj ANIM_OBJ_HIT_YFIX, 136, 56, $0
anim_wait 32
.miss:
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 32
anim_ret
.turn1:
anim_1gfx ANIM_GFX_SPEED
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $1, $0
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_USER, $0
anim_call BattleAnimSub_WarpAway
anim_wait 64
anim_ret
BattleAnim_DoubleTeam:
anim_call BattleAnim_TargetObj_2Row
anim_sound 0, 0, SFX_PSYBEAM
anim_bgeffect ANIM_BG_DOUBLE_TEAM, $0, BG_EFFECT_USER, $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_FADE_MON_TO_LIGHT_REPEATING, $0, BG_EFFECT_USER, $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_FADE_MON_TO_LIGHT_REPEATING
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_Absorb:
anim_1gfx ANIM_GFX_CHARGE
anim_obj ANIM_OBJ_ABSORB_CENTER, 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_FADE_MONS_TO_BLACK_REPEATING, $0, BG_EFFECT_TARGET, $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_ABSORB_CENTER, 44, 88, $0
anim_jump .loop
.done
anim_wait 32
anim_incbgeffect ANIM_BG_FADE_MONS_TO_BLACK_REPEATING
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_EXPLOSION2, 128, 64, $0
anim_wait 8
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION2, 144, 68, $0
anim_wait 8
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION2, 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_FADE_MON_TO_LIGHT_REPEATING, $0, BG_EFFECT_USER, $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_FADE_MON_TO_LIGHT_REPEATING
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_FocusEnergy:
anim_1gfx ANIM_GFX_SPEED
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_FADE_MON_TO_LIGHT, $0, BG_EFFECT_USER, $40
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
.loop
anim_sound 0, 0, SFX_SWORDS_DANCE
anim_obj ANIM_OBJ_FOCUS, 44, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 36, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 52, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 28, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 60, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 20, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 68, 108, $8
anim_wait 2
anim_loop 3, .loop
anim_wait 8
anim_incbgeffect ANIM_BG_FADE_MON_TO_LIGHT
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_Bide:
anim_if_param_equal $0, BattleAnim_MegaPunch
anim_1gfx ANIM_GFX_HIT
anim_call BattleAnim_TargetObj_1Row
anim_sound 0, 0, SFX_ESCAPE_ROPE
anim_bgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING, $0, BG_EFFECT_USER, $20
anim_wait 72
anim_incbgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_Bind:
anim_1gfx ANIM_GFX_ROPE
anim_sound 0, 1, SFX_BIND
anim_obj ANIM_OBJ_BIND1, 132, 64, $0
anim_wait 8
anim_obj ANIM_OBJ_BIND2, 132, 56, $0
anim_wait 8
anim_obj ANIM_OBJ_BIND1, 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_BIND1, 132, 64, $0
anim_wait 8
anim_obj ANIM_OBJ_BIND1, 132, 56, $0
anim_wait 8
anim_obj ANIM_OBJ_BIND1, 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, BG_EFFECT_TARGET, $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_BIND2, 132, 64, $0
anim_wait 8
anim_obj ANIM_OBJ_BIND1, 132, 48, $0
anim_wait 8
anim_obj ANIM_OBJ_BIND2, 132, 40, $0
anim_wait 8
anim_obj ANIM_OBJ_BIND1, 132, 56, $0
anim_wait 64
anim_ret
BattleAnim_Earthquake:
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_SHAKE_SCREEN_X, $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_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_cry $0
.loop
anim_call BattleAnimSub_Sound
anim_wait 16
anim_loop 3, .loop
anim_wait 9
anim_bgeffect ANIM_BG_BATTLEROBJ_1ROW, $0, BG_EFFECT_USER, $0
anim_wait 8
anim_bgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING, $0, BG_EFFECT_TARGET, $40
anim_wait 64
anim_incbgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 5
anim_incobj 10
anim_wait 8
anim_ret
BattleAnim_Roar:
anim_1gfx ANIM_GFX_NOISE
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_cry $1
.loop
anim_call BattleAnimSub_Sound
anim_wait 16
anim_loop 3, .loop
anim_wait 16
anim_if_param_equal $0, .done
anim_bgeffect ANIM_BG_REMOVE_MON, $0, BG_EFFECT_TARGET, $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_SHAKE_SCREEN_X, $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_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_bgeffect ANIM_BG_CYCLE_BGPALS_INVERTED, $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_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_call BattleAnimSub_EyeBeams
anim_wait 16
anim_ret
BattleAnim_Reflect:
anim_1gfx ANIM_GFX_REFLECT
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_HIT_BIG_YFIX, 136, 40, $0
anim_obj ANIM_OBJ_HIT_SMALL_YFIX, 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, BG_EFFECT_USER, $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, BG_EFFECT_USER, $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, BG_EFFECT_USER, $1
anim_obj ANIM_OBJ_DIG_PILE, 72, 104, $0
.loop
anim_sound 0, 0, SFX_RAZOR_WIND
anim_obj ANIM_OBJ_DIG_SAND, 56, 104, $0
anim_wait 16
anim_loop 6, .loop
anim_wait 32
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_USER, $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_HIT_YFIX, 136, 56, $0
anim_wait 32
.fail
anim_bgeffect ANIM_BG_ENTER_MON, $0, BG_EFFECT_USER, $0
anim_wait 32
anim_ret
BattleAnim_SandAttack:
anim_1gfx ANIM_GFX_SAND
anim_call BattleAnimSub_SandOrMud
anim_ret
BattleAnim_StringShot:
anim_1gfx ANIM_GFX_WEB
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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_SHAKE_SCREEN_X, $14, $2, $0
anim_wait 32
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_TACKLE, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 1, SFX_HEADBUTT
anim_obj ANIM_OBJ_HIT_YFIX, 136, 56, $0
anim_wait 8
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_Tackle:
anim_1gfx ANIM_GFX_HIT
anim_call BattleAnim_TargetObj_2Row
anim_bgeffect ANIM_BG_TACKLE, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 1, SFX_TACKLE
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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, BG_EFFECT_USER, $0
anim_wait 32
anim_incbgeffect ANIM_BG_BOUNCE_DOWN
anim_wait 4
anim_bgeffect ANIM_BG_BODY_SLAM, $0, BG_EFFECT_USER, $0
anim_wait 3
anim_sound 0, 1, SFX_TACKLE
anim_obj ANIM_OBJ_HIT_YFIX, 136, 48, $0
anim_wait 6
anim_sound 0, 1, SFX_TACKLE
anim_obj ANIM_OBJ_HIT_YFIX, 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, BG_EFFECT_USER, $0
anim_wait 3
anim_sound 0, 1, SFX_TACKLE
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
anim_obj ANIM_OBJ_HIT_YFIX, 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_HIT_YFIX, 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, BG_EFFECT_USER, $0
anim_wait 3
anim_sound 0, 1, SFX_TACKLE
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 128, 48, $0
anim_wait 6
anim_sound 0, 1, SFX_TACKLE
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_WOBBLE_MON, $0, BG_EFFECT_TARGET, $0
anim_sound 0, 1, SFX_SUBMISSION
anim_wait 32
anim_obj ANIM_OBJ_HIT_YFIX, 120, 48, $0
anim_wait 32
anim_obj ANIM_OBJ_HIT_YFIX, 152, 56, $0
anim_wait 32
anim_obj ANIM_OBJ_HIT_YFIX, 136, 52, $0
anim_wait 32
anim_incbgeffect ANIM_BG_WOBBLE_MON
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_REMOVE_MON, $0, BG_EFFECT_TARGET, $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_HIT_YFIX, 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_HIT, 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_HIT, 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_HIT, 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_HIT_BIG_YFIX, 132, 40, $0
anim_wait 8
anim_sound 0, 1, SFX_HORN_ATTACK
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 140, 48, $0
anim_wait 8
anim_sound 0, 1, SFX_HORN_ATTACK
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 132, 56, $0
anim_wait 8
anim_sound 0, 1, SFX_HORN_ATTACK
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_NEEDLE, 64, 92, $14
anim_wait 16
anim_sound 0, 1, SFX_POISON_STING
anim_obj ANIM_OBJ_HIT_SMALL, 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_NEEDLE, 64, 92, $14
anim_obj ANIM_OBJ_NEEDLE, 56, 84, $14
anim_wait 16
anim_sound 0, 1, SFX_POISON_STING
anim_obj ANIM_OBJ_HIT_SMALL, 136, 56, $0
anim_obj ANIM_OBJ_HIT_SMALL, 128, 48, $0
anim_wait 16
anim_ret
BattleAnim_PinMissile:
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
.loop
anim_obj ANIM_OBJ_NEEDLE, 64, 92, $28
anim_wait 8
anim_obj ANIM_OBJ_NEEDLE, 56, 84, $28
anim_sound 0, 1, SFX_POISON_STING
anim_obj ANIM_OBJ_HIT_SMALL, 136, 56, $0
anim_wait 8
anim_obj ANIM_OBJ_NEEDLE, 52, 88, $28
anim_sound 0, 1, SFX_POISON_STING
anim_obj ANIM_OBJ_HIT_SMALL, 128, 48, $0
anim_wait 8
anim_sound 0, 1, SFX_POISON_STING
anim_obj ANIM_OBJ_HIT_SMALL, 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_NEEDLE, 64, 92, $18
anim_wait 8
anim_obj ANIM_OBJ_NEEDLE, 56, 84, $18
anim_sound 0, 1, SFX_POISON_STING
anim_obj ANIM_OBJ_HIT_SMALL, 136, 56, $0
anim_wait 8
anim_obj ANIM_OBJ_NEEDLE, 52, 88, $18
anim_sound 0, 1, SFX_POISON_STING
anim_obj ANIM_OBJ_HIT_SMALL, 128, 48, $0
anim_wait 8
anim_sound 0, 1, SFX_POISON_STING
anim_obj ANIM_OBJ_HIT_SMALL, 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_transform
anim_sound 0, 0, SFX_PSYBEAM
anim_bgeffect ANIM_BG_WAVE_DEFORM_MON, $0, BG_EFFECT_USER, $0
anim_wait 48
anim_updateactorpic
anim_incbgeffect ANIM_BG_WAVE_DEFORM_MON
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_HIT_BIG_YFIX, 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_EXPLOSION2, 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_HIT_YFIX, 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_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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_HIT_YFIX, 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_SHAKE_SCREEN_X, $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_HIT_BIG_YFIX, 136, 56, $0
anim_wait 12
anim_loop 3, .loop
anim_ret
BattleAnim_SkullBash:
anim_if_param_equal $1, BattleAnim_FocusEnergy
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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, BG_EFFECT_USER, $0
anim_wait 4
.loop
anim_sound 0, 1, SFX_HEADBUTT
anim_obj ANIM_OBJ_HIT_YFIX, 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_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_SOUND, 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_HIT_SMALL_YFIX, 128, 48, $0
anim_wait 8
anim_sound 0, 1, SFX_PECK
anim_obj ANIM_OBJ_HIT_SMALL_YFIX, 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_HIT_SMALL_YFIX, 124, 56, $0
anim_wait 4
anim_sound 0, 1, SFX_PECK
anim_obj ANIM_OBJ_HIT_SMALL_YFIX, 132, 48, $0
anim_wait 4
anim_sound 0, 1, SFX_PECK
anim_obj ANIM_OBJ_HIT_SMALL_YFIX, 140, 56, $0
anim_wait 4
anim_sound 0, 1, SFX_PECK
anim_obj ANIM_OBJ_HIT_SMALL_YFIX, 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_SHAKE_SCREEN_X, $40, $2, $0
anim_sound 0, 1, SFX_VICEGRIP
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 156, 44, $0
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 152, 40, $0
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 148, 36, $0
anim_obj ANIM_OBJ_CUT_UP_RIGHT, 124, 76, $0
anim_obj ANIM_OBJ_CUT_UP_RIGHT, 120, 72, $0
anim_obj ANIM_OBJ_CUT_UP_RIGHT, 116, 68, $0
anim_obj ANIM_OBJ_CUT_UP_RIGHT, 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, .dropsub2
anim_if_param_equal $2, .raisesub
anim_if_param_equal $1, .dropsub
anim_1gfx ANIM_GFX_SMOKE
anim_bgeffect ANIM_BG_REMOVE_MON, $0, BG_EFFECT_USER, $0
anim_wait 48
anim_raisesub
anim_obj ANIM_OBJ_BALL_POOF, 48, 96, $0
anim_bgeffect ANIM_BG_ENTER_MON, $0, BG_EFFECT_USER, $0
anim_wait 32
anim_ret
.dropsub:
anim_bgeffect ANIM_BG_REMOVE_MON, $0, BG_EFFECT_USER, $0
anim_wait 48
anim_dropsub
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 32
anim_ret
.raisesub:
anim_bgeffect ANIM_BG_REMOVE_MON, $0, BG_EFFECT_USER, $0
anim_wait 48
anim_raisesub
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 32
anim_ret
.dropsub2:
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_USER, $0
anim_wait 48
anim_dropsub
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $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_minimize
anim_bgeffect ANIM_BG_WAVE_DEFORM_MON, $0, BG_EFFECT_USER, $0
anim_wait 48
anim_updateactorpic
anim_incbgeffect ANIM_BG_WAVE_DEFORM_MON
anim_wait 48
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_SkyAttack:
anim_if_param_equal $1, BattleAnim_FocusEnergy
anim_1gfx ANIM_GFX_SKY_ATTACK
anim_bgeffect ANIM_BG_REMOVE_MON, $0, BG_EFFECT_USER, $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, BG_EFFECT_USER, $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, BG_EFFECT_TARGET, $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 BattleAnimSub_Fire
anim_wait 16
anim_call BattleAnimSub_Ice
anim_wait 16
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4
anim_sound 0, 1, SFX_THUNDER
anim_obj ANIM_OBJ_THUNDER3, 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, BG_EFFECT_USER, $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_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_bgeffect ANIM_BG_CYCLE_BGPALS_INVERTED, $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 BattleAnimSub_Drain
anim_wait 128
anim_wait 48
anim_ret
BattleAnim_LeechLife:
anim_1gfx ANIM_GFX_BUBBLE
anim_sound 6, 3, SFX_WATER_GUN
anim_call BattleAnimSub_Drain
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 BattleAnimSub_Metallic
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_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_call BattleAnimSub_EyeBeams
anim_wait 16
anim_ret
BattleAnim_Thrash:
anim_1gfx ANIM_GFX_HIT
anim_sound 0, 1, SFX_POUND
anim_obj ANIM_OBJ_PALM, 120, 72, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 120, 72, $0
anim_wait 6
anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
anim_obj ANIM_OBJ_PUNCH, 136, 56, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_KICK, 152, 40, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_SHAKE_SCREEN_Y, $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_HIT_BIG_YFIX, 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, BG_EFFECT_USER, $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_HIT_YFIX, 136, 56, $0
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $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_MON, $0, BG_EFFECT_USER, $0
anim_wait 48
anim_incbgeffect ANIM_BG_WAVE_DEFORM_MON
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_FADE_MON_TO_LIGHT_REPEATING, $0, BG_EFFECT_USER, $40
anim_obj ANIM_OBJ_SHARPEN, 48, 88, $0
anim_wait 96
anim_incobj 2
anim_incbgeffect ANIM_BG_FADE_MON_TO_LIGHT_REPEATING
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_FADE_MON_TO_LIGHT_REPEATING, $0, BG_EFFECT_USER, $40
anim_obj ANIM_OBJ_DEFENSE_CURL, 48, 88, $0
anim_wait 96
anim_incobj 2
anim_incbgeffect ANIM_BG_FADE_MON_TO_LIGHT_REPEATING
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_SeismicToss:
anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_Y, $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_HIT_BIG_YFIX, 132, 40, $0
anim_wait 16
anim_ret
BattleAnim_Rage:
anim_1gfx ANIM_GFX_HIT
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING, $0, BG_EFFECT_USER, $20
anim_sound 0, 0, SFX_RAGE
anim_wait 72
anim_incbgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING
anim_call BattleAnim_ShowMon_0
anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 120, 72, $0
anim_wait 6
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_FADE_MON_TO_LIGHT_REPEATING, $0, BG_EFFECT_USER, $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_FADE_MON_TO_LIGHT_REPEATING
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_HIT_YFIX, 136, 56, $0
anim_wait 16
anim_ret
BattleAnim_Barrier:
anim_1gfx ANIM_GFX_REFLECT
anim_battlergfx_2row
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_2Row
anim_bgeffect ANIM_BG_BODY_SLAM, $0, BG_EFFECT_USER, $0
anim_wait 16
anim_call BattleAnim_ShowMon_0
anim_sound 0, 1, SFX_LICK
anim_obj ANIM_OBJ_HIT_YFIX, 136, 56, $0
anim_wait 3
anim_sound 0, 1, SFX_LICK
anim_obj ANIM_OBJ_HIT_YFIX, 136, 48, $0
anim_wait 3
anim_sound 0, 1, SFX_LICK
anim_obj ANIM_OBJ_HIT_YFIX, 136, 40, $0
anim_wait 3
anim_sound 0, 1, SFX_LICK
anim_obj ANIM_OBJ_HIT_YFIX, 136, 32, $0
anim_wait 3
anim_sound 0, 1, SFX_LICK
anim_obj ANIM_OBJ_HIT_YFIX, 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 BattleAnimSub_Sludge
anim_wait 56
anim_ret
BattleAnim_Toxic:
anim_1gfx ANIM_GFX_POISON
anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
anim_call BattleAnimSub_Acid
anim_wait 32
anim_call BattleAnimSub_Sludge
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_METRONOME_HAND, 72, 88, $0
.loop
anim_obj ANIM_OBJ_METRONOME_SPARKLE, 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_PALM, 120, 72, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_PUNCH, 136, 40, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_KICK, 152, 56, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_KICK, 124, 64, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_KICK, 132, 64, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_KICK, 140, 64, $0
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_HIT_YFIX, 148, 56, $0
anim_obj ANIM_OBJ_HIT_YFIX, 116, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_WING_ATTACK
anim_obj ANIM_OBJ_HIT_YFIX, 144, 56, $0
anim_obj ANIM_OBJ_HIT_YFIX, 120, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_WING_ATTACK
anim_obj ANIM_OBJ_HIT_YFIX, 140, 56, $0
anim_obj ANIM_OBJ_HIT_YFIX, 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_HIT_YFIX, 124, 40, $0
anim_wait 16
anim_ret
BattleAnim_Disable:
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_2Row
anim_sound 0, 0, SFX_TAIL_WHIP
anim_bgeffect ANIM_BG_WOBBLE_MON, $0, BG_EFFECT_USER, $0
anim_wait 32
anim_incbgeffect ANIM_BG_WOBBLE_MON
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_Struggle:
anim_1gfx ANIM_GFX_HIT
anim_sound 0, 1, SFX_POUND
anim_obj ANIM_OBJ_HIT_YFIX, 136, 56, $0
anim_wait 16
anim_ret
BattleAnim_Sketch:
anim_1gfx ANIM_GFX_OBJECTS
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING, $0, BG_EFFECT_USER, $20
anim_sound 0, 0, SFX_SKETCH
anim_obj ANIM_OBJ_SKETCH, 72, 80, $0
anim_wait 80
anim_incbgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING
anim_call BattleAnim_ShowMon_0
anim_wait 1
anim_ret
BattleAnim_TripleKick:
anim_1gfx ANIM_GFX_HIT
anim_if_param_equal $1, .alternate1
anim_if_param_equal $2, .alternate2
anim_sound 0, 1, SFX_MEGA_KICK
anim_obj ANIM_OBJ_KICK, 144, 48, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 144, 48, $0
anim_wait 8
anim_ret
.alternate1:
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_KICK, 120, 64, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 120, 64, $0
anim_wait 8
anim_ret
.alternate2:
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_KICK, 132, 32, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 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, BG_EFFECT_USER, $0
anim_wait 16
anim_sound 0, 1, SFX_THIEF
anim_obj ANIM_OBJ_HIT_YFIX, 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_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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, BG_EFFECT_USER, $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, BG_EFFECT_TARGET, $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_SHAKE_SCREEN_X, $60, $2, $0
anim_sound 0, 0, SFX_SNORE
.loop
anim_call BattleAnimSub_Sound
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_HIT, 44, 96, $0
anim_wait 16
anim_ret
.NotGhost:
anim_1gfx ANIM_GFX_SPEED
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING, $0, BG_EFFECT_USER, $40
anim_sound 0, 0, SFX_SHARPEN
anim_wait 64
anim_incbgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING
anim_wait 1
anim_bgeffect ANIM_BG_FADE_MON_TO_LIGHT, $0, BG_EFFECT_USER, $40
.loop
anim_sound 0, 0, SFX_SWORDS_DANCE
anim_obj ANIM_OBJ_FOCUS, 44, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 36, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 52, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 28, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 60, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 20, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 68, 108, $8
anim_wait 2
anim_loop 3, .loop
anim_wait 8
anim_incbgeffect ANIM_BG_FADE_MON_TO_LIGHT
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_FLAIL, $0, BG_EFFECT_USER, $0
anim_wait 8
anim_obj ANIM_OBJ_HIT_YFIX, 120, 48, $0
anim_wait 8
anim_obj ANIM_OBJ_HIT_YFIX, 152, 48, $0
anim_wait 8
anim_obj ANIM_OBJ_HIT_YFIX, 136, 48, $0
anim_wait 8
anim_incbgeffect ANIM_BG_FLAIL
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_SHAKE_SCREEN_X, $50, $4, $10
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_BEAM, 80, 84, $0
anim_wait 2
anim_sound 0, 1, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_BEAM, 96, 76, $0
anim_wait 2
anim_sound 0, 1, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_BEAM, 112, 68, $0
anim_obj ANIM_OBJ_BEAM_TIP, 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_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $0, $0, $0
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_HIT, 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_HIT, 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_HIT, 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 BattleAnimSub_Ice
anim_wait 32
anim_ret
BattleAnim_Protect:
anim_1gfx ANIM_GFX_OBJECTS
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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, BG_EFFECT_USER, $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_PUNCH, 136, 56, $0
anim_wait 6
anim_obj ANIM_OBJ_HIT_YFIX, 136, 56, $0
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $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_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_call BattleAnimSub_EyeBeams
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_FADE_MON_TO_WHITE_WAIT_FADE_BACK, $0, BG_EFFECT_USER, $80
anim_wait 96
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT, 120, 32, $0
anim_wait 8
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT, 152, 40, $0
anim_wait 8
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT, 136, 48, $0
anim_wait 32
anim_incbgeffect ANIM_BG_FADE_MON_TO_WHITE_WAIT_FADE_BACK
anim_call BattleAnim_ShowMon_0
anim_wait 4
anim_ret
BattleAnim_SweetKiss:
anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 64, 92, $f8
anim_wait 24
anim_sound 0, 0, SFX_BELLY_DRUM
anim_obj ANIM_OBJ_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 64, 92, $f8
anim_wait 24
anim_sound 0, 0, SFX_BELLY_DRUM
anim_obj ANIM_OBJ_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 64, 92, $f8
anim_wait 12
anim_sound 0, 0, SFX_BELLY_DRUM
anim_obj ANIM_OBJ_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 64, 92, $f8
anim_wait 12
anim_sound 0, 0, SFX_BELLY_DRUM
anim_obj ANIM_OBJ_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 64, 92, $f8
anim_wait 24
anim_sound 0, 0, SFX_BELLY_DRUM
anim_obj ANIM_OBJ_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 64, 92, $f8
anim_wait 12
anim_sound 0, 0, SFX_BELLY_DRUM
anim_obj ANIM_OBJ_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 64, 92, $f8
anim_wait 12
anim_sound 0, 0, SFX_BELLY_DRUM
anim_obj ANIM_OBJ_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 64, 92, $f8
anim_wait 12
anim_sound 0, 0, SFX_BELLY_DRUM
anim_obj ANIM_OBJ_BELLY_DRUM_HAND, 64, 104, $0
anim_obj ANIM_OBJ_BELLY_DRUM_NOTE, 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 BattleAnimSub_Sludge
anim_wait 64
anim_ret
BattleAnim_MudSlap:
anim_1gfx ANIM_GFX_SAND
anim_obp0 $fc
anim_call BattleAnimSub_SandOrMud
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_THUNDERBOLT_BALL, 136, 56, $2
anim_wait 16
anim_obj ANIM_OBJ_SPARKS_CIRCLE_BIG, 136, 56, $0
anim_wait 128
anim_ret
BattleAnim_Foresight:
anim_1gfx ANIM_GFX_SHINE
anim_call BattleAnim_UserObj_1Row
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $0, $0, $0
anim_sound 0, 1, SFX_FORESIGHT
anim_obj ANIM_OBJ_FORESIGHT, 132, 40, $0
anim_wait 24
anim_bgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING, $0, BG_EFFECT_TARGET, $40
anim_wait 64
anim_incbgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING
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, .fainted
anim_sound 6, 2, SFX_WHIRLWIND
anim_obj ANIM_OBJ_DESTINY_BOND, 44, 120, $2
anim_wait 128
anim_ret
.fainted:
anim_obj ANIM_OBJ_DESTINY_BOND, 132, 76, $0
anim_sound 0, 1, SFX_KINESIS
anim_bgeffect ANIM_BG_RETURN_MON, $0, BG_EFFECT_TARGET, $0
anim_wait 32
anim_ret
BattleAnim_PerishSong:
anim_1gfx ANIM_GFX_NOISE
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_SHOOTING_SPARKLE, 64, 88, $4
anim_wait 8
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 64, 80, $4
anim_wait 8
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 64, 96, $4
anim_wait 8
anim_loop 2, .loop
anim_wait 16
anim_bgeffect ANIM_BG_BATTLEROBJ_2ROW, $0, BG_EFFECT_USER, $0
anim_wait 6
anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, BG_EFFECT_TARGET, $8
anim_wait 64
anim_incbgeffect ANIM_BG_NIGHT_SHADE
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_incobj 7
anim_wait 1
anim_ret
BattleAnim_Detect:
anim_1gfx ANIM_GFX_SHINE
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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_HIT_YFIX, 120, 48, $0
anim_wait 16
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT_YFIX, 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_CYCLE_MON_LIGHT_DARK_REPEATING, $0, BG_EFFECT_USER, $20
anim_sound 0, 0, SFX_OUTRAGE
anim_wait 72
anim_incbgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING
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_HIT_BIG_YFIX, 120, 72, $0
anim_wait 6
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 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_FADE_MONS_TO_BLACK_REPEATING, $0, BG_EFFECT_TARGET, $10
anim_sound 6, 3, SFX_GIGA_DRAIN
anim_call BattleAnimSub_Drain
anim_wait 48
anim_wait 128
anim_incbgeffect ANIM_BG_FADE_MONS_TO_BLACK_REPEATING
anim_call BattleAnim_ShowMon_0
anim_wait 1
anim_1gfx ANIM_GFX_SHINE
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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_CYCLE_MON_LIGHT_DARK_REPEATING, $0, BG_EFFECT_USER, $20
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
.loop
anim_sound 0, 0, SFX_SWORDS_DANCE
anim_obj ANIM_OBJ_FOCUS, 44, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 36, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 52, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 28, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 60, 108, $6
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 20, 108, $8
anim_wait 2
anim_obj ANIM_OBJ_FOCUS, 68, 108, $8
anim_wait 2
anim_loop 5, .loop
anim_wait 8
anim_incbgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_Charm:
anim_1gfx ANIM_GFX_OBJECTS
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_WOBBLE_MON, $0, BG_EFFECT_USER, $0
anim_sound 0, 0, SFX_ATTRACT
anim_obj ANIM_OBJ_HEART, 64, 80, $0
anim_wait 32
anim_incbgeffect ANIM_BG_WOBBLE_MON
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_ROLLOUT, $60, $1, $1
anim_bgeffect ANIM_BG_BODY_SLAM, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_HIT_BIG, 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_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $0, $0, $0
anim_sound 0, 1, SFX_CUT
anim_obj ANIM_OBJ_CUT_LONG_DOWN_LEFT, 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_FADE_MON_TO_LIGHT_REPEATING, $0, BG_EFFECT_USER, $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_FADE_MON_TO_LIGHT_REPEATING
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, BG_EFFECT_USER, $0
anim_sound 0, 0, SFX_SPARK
anim_wait 16
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_TARGET, $0
anim_wait 4
anim_incobj 2
anim_wait 1
anim_sound 0, 1, SFX_THUNDERSHOCK
anim_obj ANIM_OBJ_THUNDERBOLT_BALL, 136, 56, $2
anim_obj ANIM_OBJ_SPARKS_CIRCLE, 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_CUT_LONG_DOWN_LEFT, 152, 40, $0
anim_jump .okay
.obj1
anim_obj ANIM_OBJ_CUT_LONG_DOWN_RIGHT, 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 BattleAnimSub_Metallic
anim_call BattleAnim_ShowMon_0
anim_1gfx ANIM_GFX_HIT
anim_resetobp0
anim_sound 0, 1, SFX_WING_ATTACK
anim_obj ANIM_OBJ_HIT_YFIX, 148, 56, $0
anim_obj ANIM_OBJ_HIT_YFIX, 116, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_WING_ATTACK
anim_obj ANIM_OBJ_HIT_YFIX, 144, 56, $0
anim_obj ANIM_OBJ_HIT_YFIX, 120, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_WING_ATTACK
anim_obj ANIM_OBJ_HIT_YFIX, 140, 56, $0
anim_obj ANIM_OBJ_HIT_YFIX, 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_HEAL_BELL, 72, 56, $0
anim_wait 32
.loop
anim_sound 0, 0, SFX_HEAL_BELL
anim_obj ANIM_OBJ_HEAL_BELL_NOTE, 72, 52, $0
anim_wait 8
anim_sound 0, 0, SFX_HEAL_BELL
anim_obj ANIM_OBJ_HEAL_BELL_NOTE, 72, 52, $1
anim_wait 8
anim_sound 0, 0, SFX_HEAL_BELL
anim_obj ANIM_OBJ_HEAL_BELL_NOTE, 72, 52, $2
anim_wait 8
anim_sound 0, 0, SFX_HEAL_BELL
anim_obj ANIM_OBJ_HEAL_BELL_NOTE, 72, 52, $0
anim_wait 8
anim_sound 0, 0, SFX_HEAL_BELL
anim_obj ANIM_OBJ_HEAL_BELL_NOTE, 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, BG_EFFECT_USER, $0
anim_sound 0, 0, SFX_RETURN
anim_wait 64
anim_incbgeffect ANIM_BG_BOUNCE_DOWN
anim_wait 32
anim_bgeffect ANIM_BG_BODY_SLAM, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT_BIG, 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 BattleAnimSub_Explosion2
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_WOBBLE_MON, $0, BG_EFFECT_USER, $0
anim_wait 8
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT_YFIX, 120, 48, $0
anim_wait 8
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT_YFIX, 152, 48, $0
anim_wait 8
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT_YFIX, 136, 48, $0
anim_wait 8
anim_incbgeffect ANIM_BG_WOBBLE_MON
anim_wait 1
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_Safeguard:
anim_1gfx ANIM_GFX_MISC
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_2Row
anim_bgeffect ANIM_BG_BODY_SLAM, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 1, SFX_TACKLE
anim_obj ANIM_OBJ_HIT, 112, 48, $0
anim_obj ANIM_OBJ_HIT, 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_CYCLE_OBPALS_GRAY_AND_YELLOW, $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, BG_EFFECT_USER, $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, BG_EFFECT_TARGET, $0
anim_wait 4
anim_incobj 9
anim_wait 8
anim_ret
BattleAnim_Magnitude:
anim_1gfx ANIM_GFX_ROCKS
.loop
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_PUNCH_SHAKE, 136, 56, $43
anim_wait 16
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
anim_call BattleAnimSub_Explosion2
anim_wait 16
anim_ret
BattleAnim_Megahorn:
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_HIT_BIG_YFIX, 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 BattleAnimSub_Return
anim_wait 64
anim_ret
BattleAnim_Encore:
anim_1gfx ANIM_GFX_OBJECTS
anim_obj ANIM_OBJ_ENCORE_HAND, 64, 80, $90
anim_obj ANIM_OBJ_ENCORE_HAND, 64, 80, $10
anim_sound 0, 0, SFX_ENCORE
anim_wait 16
anim_obj ANIM_OBJ_ENCORE_STAR, 64, 72, $2c
anim_wait 32
anim_obj ANIM_OBJ_ENCORE_STAR, 64, 72, $34
anim_wait 16
anim_ret
BattleAnim_Pursuit:
anim_1gfx ANIM_GFX_HIT
anim_if_param_equal $1, .pursued
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_HIT_YFIX, 136, 56, $0
anim_wait 16
anim_ret
.pursued:
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_TARGET, $0
anim_wait 4
anim_call BattleAnim_UserObj_1Row
anim_obj ANIM_OBJ_BETA_PURSUIT, 132, 64, $0
anim_wait 64
anim_obj ANIM_OBJ_BETA_PURSUIT, 132, 64, $1
anim_sound 0, 1, SFX_BALL_POOF
anim_bgeffect ANIM_BG_ENTER_MON, $0, BG_EFFECT_TARGET, $0
anim_wait 64
anim_incobj 3
anim_wait 16
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 120, 56, $0
anim_bgeffect ANIM_BG_BETA_PURSUIT, $0, BG_EFFECT_TARGET, $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_2Row
anim_bgeffect ANIM_BG_BODY_SLAM, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_resetobp0
anim_sound 0, 1, SFX_MEGA_KICK
anim_obj ANIM_OBJ_HIT, 136, 40, $0
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_TARGET, $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 BattleAnimSub_Metallic
anim_wait 4
anim_1gfx ANIM_GFX_HIT
anim_resetobp0
anim_bgeffect ANIM_BG_WOBBLE_MON, $0, BG_EFFECT_USER, $0
anim_wait 16
anim_sound 0, 1, SFX_MEGA_KICK
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 48, $0
anim_wait 16
anim_incbgeffect ANIM_BG_WOBBLE_MON
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 BattleAnimSub_Metallic
anim_call BattleAnim_ShowMon_0
anim_1gfx ANIM_GFX_CUT
anim_resetobp0
anim_sound 0, 1, SFX_SCRATCH
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 144, 48, $0
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 140, 44, $0
anim_obj ANIM_OBJ_CUT_DOWN_LEFT, 136, 40, $0
anim_wait 32
anim_ret
BattleAnim_VitalThrow:
anim_1gfx ANIM_GFX_HIT
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_VITAL_THROW, $0, BG_EFFECT_USER, $0
anim_wait 16
anim_sound 0, 0, SFX_MENU
anim_obj ANIM_OBJ_HIT, 64, 96, $0
anim_wait 8
anim_sound 0, 0, SFX_MENU
anim_obj ANIM_OBJ_HIT, 56, 88, $0
anim_wait 8
anim_sound 0, 0, SFX_MENU
anim_obj ANIM_OBJ_HIT, 68, 104, $0
anim_wait 8
anim_incbgeffect ANIM_BG_VITAL_THROW
anim_wait 16
anim_call BattleAnim_ShowMon_0
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_HIT_BIG, 132, 56, $0
anim_wait 16
anim_ret
BattleAnim_MorningSun:
anim_1gfx ANIM_GFX_SHINE
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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 BattleAnimSub_Glimmer
anim_ret
.zero
anim_call BattleAnimSub_Glimmer2
anim_ret
BattleAnim_Synthesis:
anim_1gfx ANIM_GFX_SHINE
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_FADE_MON_TO_LIGHT_REPEATING, $0, BG_EFFECT_USER, $40
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $0, $0, $0
anim_sound 0, 0, SFX_OUTRAGE
anim_wait 72
anim_incbgeffect ANIM_BG_FADE_MON_TO_LIGHT_REPEATING
anim_call BattleAnim_ShowMon_0
anim_if_param_equal $1, .one
anim_call BattleAnimSub_Glimmer
anim_ret
.one
anim_call BattleAnimSub_Glimmer2
anim_ret
BattleAnim_Crunch:
anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
anim_bgp $1b
anim_obp0 $c0
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_HIT_BIG_YFIX, 144, 48, $18
anim_wait 16
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 128, 64, $18
anim_wait 8
anim_ret
BattleAnim_Moonlight:
anim_1gfx ANIM_GFX_SHINE
anim_bgp $1b
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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 BattleAnimSub_Glimmer
anim_ret
.three
anim_call BattleAnimSub_Glimmer2
anim_ret
BattleAnim_HiddenPower:
anim_1gfx ANIM_GFX_CHARGE
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING, $0, BG_EFFECT_USER, $20
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $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_CYCLE_MON_LIGHT_DARK_REPEATING
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_HIT_BIG_YFIX, 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_CROSS_CHOP1, 152, 40, $0
anim_obj ANIM_OBJ_CROSS_CHOP2, 120, 72, $0
anim_wait 8
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_HIT_YFIX, 144, 64, $18
.loop3
anim_sound 0, 1, SFX_RAZOR_WIND
anim_wait 8
anim_loop 4, .loop3
anim_obj ANIM_OBJ_HIT_YFIX, 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_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
.loop
anim_sound 0, 0, SFX_SHINE
anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 64, 72, $4
anim_wait 8
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 64, 88, $4
anim_wait 8
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 64, 80, $4
anim_wait 8
anim_obj ANIM_OBJ_SHOOTING_SPARKLE, 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_CYCLE_MON_LIGHT_DARK_REPEATING, $0, BG_EFFECT_USER, $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_CYCLE_MON_LIGHT_DARK_REPEATING
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, BG_EFFECT_USER, $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_CUT_LONG_DOWN_LEFT, 152, 40, $0
anim_wait 32
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $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_HIT_BIG_YFIX, 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_CYCLE_OBPALS_GRAY_AND_YELLOW, $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_HIT_YFIX, 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, BG_EFFECT_USER, $0
anim_wait 16
anim_beatup
anim_sound 0, 0, SFX_BALL_POOF
anim_bgeffect ANIM_BG_ENTER_MON, $0, BG_EFFECT_USER, $0
anim_wait 16
.current_mon
anim_1gfx ANIM_GFX_HIT
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_TACKLE, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 1, SFX_BEAT_UP
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 48, $0
anim_wait 8
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_RockHead:
anim_1gfx ANIM_GFX_SHINE
anim_bgeffect ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW, $0, $0, $0
anim_sound 0, 0, SFX_RAGE
anim_obj ANIM_OBJ_GLIMMER, 40, 84, $0
anim_wait 20
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $14, $2, $0
anim_wait 32
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_TACKLE, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_HIT_YFIX, 136, 56, $0
anim_wait 8
anim_call BattleAnim_ShowMon_0
anim_ret
BattleAnim_RockSlash: ;uses the Slash animation
anim_1gfx ANIM_GFX_CUT
anim_sound 0, 1, SFX_CUT
anim_obj ANIM_OBJ_CUT_LONG_DOWN_LEFT, 152, 40, $0
anim_obj ANIM_OBJ_CUT_LONG_DOWN_LEFT, 148, 36, $0
anim_wait 32
anim_ret
BattleAnim_CrossCutter: ;uses the Cross Chop animation
anim_1gfx ANIM_GFX_CUT
anim_sound 0, 1, SFX_CUT
anim_obj ANIM_OBJ_CROSS_CHOP1, 152, 40, $0
anim_obj ANIM_OBJ_CROSS_CHOP2, 120, 72, $0
anim_wait 8
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $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_Megaphone: ;uses the Growl animation
anim_1gfx ANIM_GFX_NOISE
anim_battlergfx_2row
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0
anim_cry $0
.loop
anim_call BattleAnimSub_Sound
anim_wait 16
anim_loop 3, .loop
anim_wait 9
anim_bgeffect ANIM_BG_BATTLEROBJ_1ROW, $0, BG_EFFECT_USER, $0
anim_wait 8
anim_bgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING, $0, BG_EFFECT_TARGET, $40
anim_wait 64
anim_incbgeffect ANIM_BG_FADE_MON_TO_BLACK_REPEATING
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 5
anim_incobj 10
anim_wait 8
anim_ret
BattleAnim_Wind_Ride:
anim_3gfx ANIM_GFX_SPEED, ANIM_GFX_WIND, ANIM_GFX_ICE
anim_bgeffect ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $1, $0
anim_bgeffect ANIM_BG_HIDE_MON, $0, BG_EFFECT_USER, $0
anim_call BattleAnimSub_WarpAway
anim_obp0 $fc
anim_call BattleAnim_TargetObj_1Row
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
anim_obj ANIM_OBJ_ICE_BUILDUP, 136, 74, $8
.loop2
anim_sound 0, 0, SFX_RAZOR_WIND
anim_wait 4
anim_loop 16, .loop2
anim_wait 64
anim_sound 0, 1, SFX_SHINE
anim_wait 8
anim_sound 0, 1, SFX_SHINE
anim_wait 16
anim_3gfx ANIM_GFX_SPEED, ANIM_GFX_WIND, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
anim_sound 0, 1, SFX_MEGA_KICK
anim_obj ANIM_OBJ_HIT_BIG_YFIX, 136, 56, $0
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 32
anim_ret
BattleAnimSub_Drain:
anim_obj ANIM_OBJ_DRAIN, 132, 44, $0
anim_obj ANIM_OBJ_DRAIN, 132, 44, $8
anim_obj ANIM_OBJ_DRAIN, 132, 44, $10
anim_obj ANIM_OBJ_DRAIN, 132, 44, $18
anim_obj ANIM_OBJ_DRAIN, 132, 44, $20
anim_obj ANIM_OBJ_DRAIN, 132, 44, $28
anim_obj ANIM_OBJ_DRAIN, 132, 44, $30
anim_obj ANIM_OBJ_DRAIN, 132, 44, $38
anim_ret
BattleAnimSub_EyeBeams:
anim_sound 6, 2, SFX_LEER
anim_obj ANIM_OBJ_LEER, 72, 84, $0
anim_obj ANIM_OBJ_LEER, 64, 80, $0
anim_obj ANIM_OBJ_LEER, 88, 76, $0
anim_obj ANIM_OBJ_LEER, 80, 72, $0
anim_obj ANIM_OBJ_LEER, 104, 68, $0
anim_obj ANIM_OBJ_LEER, 96, 64, $0
anim_obj ANIM_OBJ_LEER, 120, 60, $0
anim_obj ANIM_OBJ_LEER, 112, 56, $0
anim_obj ANIM_OBJ_LEER_TIP, 130, 54, $0
anim_obj ANIM_OBJ_LEER_TIP, 122, 50, $0
anim_ret
BattleAnimSub_WarpAway:
anim_sound 0, 0, SFX_WARP_TO
anim_obj ANIM_OBJ_WARP, 44, 108, $0
anim_obj ANIM_OBJ_WARP, 44, 100, $0
anim_obj ANIM_OBJ_WARP, 44, 92, $0
anim_obj ANIM_OBJ_WARP, 44, 84, $0
anim_obj ANIM_OBJ_WARP, 44, 76, $0
anim_obj ANIM_OBJ_WARP, 44, 68, $0
anim_obj ANIM_OBJ_WARP, 44, 60, $0
anim_ret
BattleAnimSub_Beam:
anim_sound 0, 0, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_BEAM, 64, 92, $0
anim_wait 4
anim_sound 0, 0, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_BEAM, 80, 84, $0
anim_wait 4
anim_sound 0, 1, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_BEAM, 96, 76, $0
anim_wait 4
anim_sound 0, 1, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_BEAM, 112, 68, $0
anim_obj ANIM_OBJ_BEAM_TIP, 126, 62, $0
anim_ret
BattleAnimSub_Explosion1:
anim_sound 0, 0, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 24, 64, $0
anim_wait 5
anim_sound 0, 0, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 56, 104, $0
anim_wait 5
anim_sound 0, 0, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 24, 104, $0
anim_wait 5
anim_sound 0, 0, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 56, 64, $0
anim_wait 5
anim_sound 0, 0, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 40, 84, $0
anim_ret
BattleAnimSub_Explosion2:
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 148, 32, $0
anim_wait 5
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 116, 72, $0
anim_wait 5
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 148, 72, $0
anim_wait 5
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 116, 32, $0
anim_wait 5
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_EXPLOSION1, 132, 52, $0
anim_ret
BattleAnimSub_Sound:
anim_obj ANIM_OBJ_SOUND, 64, 76, $0
anim_obj ANIM_OBJ_SOUND, 64, 88, $1
anim_obj ANIM_OBJ_SOUND, 64, 100, $2
anim_ret
BattleAnimSub_Fire:
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
BattleAnimSub_Ice:
anim_sound 0, 1, SFX_SHINE
anim_obj ANIM_OBJ_ICE, 128, 42, $0
anim_wait 6
anim_sound 0, 1, SFX_SHINE
anim_obj ANIM_OBJ_ICE, 144, 70, $0
anim_wait 6
anim_sound 0, 1, SFX_SHINE
anim_obj ANIM_OBJ_ICE, 120, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_SHINE
anim_obj ANIM_OBJ_ICE, 152, 56, $0
anim_wait 6
anim_sound 0, 1, SFX_SHINE
anim_obj ANIM_OBJ_ICE, 144, 42, $0
anim_wait 6
anim_sound 0, 1, SFX_SHINE
anim_obj ANIM_OBJ_ICE, 128, 70, $0
anim_ret
BattleAnimSub_Sludge:
.loop
anim_sound 0, 1, SFX_TOXIC
anim_obj ANIM_OBJ_SLUDGE, 132, 72, $0
anim_wait 8
anim_sound 0, 1, SFX_TOXIC
anim_obj ANIM_OBJ_SLUDGE, 116, 72, $0
anim_wait 8
anim_sound 0, 1, SFX_TOXIC
anim_obj ANIM_OBJ_SLUDGE, 148, 72, $0
anim_wait 8
anim_loop 5, .loop
anim_ret
BattleAnimSub_Acid:
.loop
anim_sound 6, 2, SFX_BUBBLEBEAM
anim_obj ANIM_OBJ_ACID, 64, 92, $10
anim_wait 5
anim_loop 8, .loop
anim_ret
BattleAnimSub_Metallic:
anim_sound 0, 0, SFX_SHINE
anim_bgeffect ANIM_BG_FADE_MON_TO_BLACK, $0, BG_EFFECT_USER, $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_FADE_MON_TO_BLACK
anim_ret
BattleAnimSub_SandOrMud:
.loop
anim_sound 6, 2, SFX_MENU
anim_obj ANIM_OBJ_SAND, 64, 92, $4
anim_wait 4
anim_loop 8, .loop
anim_wait 32
anim_ret
BattleAnimSub_Glimmer:
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
BattleAnimSub_Glimmer2:
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, BG_EFFECT_TARGET, $0
anim_wait 6
anim_ret
BattleAnim_TargetObj_2Row:
anim_battlergfx_1row
anim_bgeffect ANIM_BG_BATTLEROBJ_2ROW, $0, BG_EFFECT_TARGET, $0
anim_wait 6
anim_ret
BattleAnim_ShowMon_0:
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_TARGET, $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, BG_EFFECT_USER, $0
anim_wait 6
anim_ret
BattleAnim_UserObj_2Row:
anim_battlergfx_1row
anim_bgeffect ANIM_BG_BATTLEROBJ_2ROW, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_ret
BattleAnim_ShowMon_1:
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, BG_EFFECT_USER, $0
anim_wait 4
anim_incobj 1
anim_wait 1
anim_ret