ref: 2ffc5f907f9cfbebadcaa36244c1128321324376
parent: 034729bdfe1dcaf0e130cbd537f12b0a352a5825
author: 7Soul <5599828+7Soul@users.noreply.github.com>
date: Sat Oct 3 18:54:02 EDT 2020
Identify battle animation functions (#771) Identify battle animation functions
--- a/constants/battle_anim_constants.asm
+++ b/constants/battle_anim_constants.asm
@@ -2,7 +2,7 @@
const_def
const BATTLEANIMSTRUCT_INDEX
const BATTLEANIMSTRUCT_OAMFLAGS
- const BATTLEANIMSTRUCT_02
+ const BATTLEANIMSTRUCT_FIX_Y
const BATTLEANIMSTRUCT_FRAMESET_ID
const BATTLEANIMSTRUCT_FUNCTION
const BATTLEANIMSTRUCT_PALETTE
@@ -217,86 +217,86 @@
; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm)
const_def
- const BATTLEANIMFUNC_00
- const BATTLEANIMFUNC_01
- const BATTLEANIMFUNC_02
- const BATTLEANIMFUNC_03
- const BATTLEANIMFUNC_04
- const BATTLEANIMFUNC_05
- const BATTLEANIMFUNC_06
- const BATTLEANIMFUNC_07
- const BATTLEANIMFUNC_08
- const BATTLEANIMFUNC_09
- const BATTLEANIMFUNC_0A
+ const BATTLEANIMFUNC_NULL
+ const BATTLEANIMFUNC_USER_TO_TARGET
+ const BATTLEANIMFUNC_USER_TO_TARGET_DISSAPPEAR
+ const BATTLEANIMFUNC_MOVE_IN_CIRCLE
+ const BATTLEANIMFUNC_WAVE_TO_TARGET
+ const BATTLEANIMFUNC_THROW_TO_TARGET
+ const BATTLEANIMFUNC_THROW_TO_TARGET_DISAPPEAR
+ const BATTLEANIMFUNC_DROP
+ const BATTLEANIMFUNC_USER_TO_TARGET_SPIN
+ const BATTLEANIMFUNC_SHAKE
+ const BATTLEANIMFUNC_FIRE_BLAST
const BATTLEANIMFUNC_RAZOR_LEAF
- const BATTLEANIMFUNC_0C
- const BATTLEANIMFUNC_0D
- const BATTLEANIMFUNC_0E
- const BATTLEANIMFUNC_0F
- const BATTLEANIMFUNC_10
- const BATTLEANIMFUNC_11
- const BATTLEANIMFUNC_12
- const BATTLEANIMFUNC_13
- const BATTLEANIMFUNC_14
- const BATTLEANIMFUNC_15
- const BATTLEANIMFUNC_16
- const BATTLEANIMFUNC_17
- const BATTLEANIMFUNC_18
- const BATTLEANIMFUNC_19
- const BATTLEANIMFUNC_1A
- const BATTLEANIMFUNC_1B
- const BATTLEANIMFUNC_1C
- const BATTLEANIMFUNC_1D
- const BATTLEANIMFUNC_1E
- const BATTLEANIMFUNC_1F
+ const BATTLEANIMFUNC_BUBBLE
+ const BATTLEANIMFUNC_SURF
+ const BATTLEANIMFUNC_SING
+ const BATTLEANIMFUNC_WATER_GUN
+ const BATTLEANIMFUNC_EMBER
+ const BATTLEANIMFUNC_POWDER
+ const BATTLEANIMFUNC_POKEBALL
+ const BATTLEANIMFUNC_POKEBALL_BLOCKED
+ const BATTLEANIMFUNC_RECOVER
+ const BATTLEANIMFUNC_THUNDER_WAVE
+ const BATTLEANIMFUNC_CLAMP_ENCORE
+ const BATTLEANIMFUNC_BITE
+ const BATTLEANIMFUNC_SOLAR_BEAM
+ const BATTLEANIMFUNC_GUST
+ const BATTLEANIMFUNC_RAZOR_WIND
+ const BATTLEANIMFUNC_KICK
+ const BATTLEANIMFUNC_ABSORB
+ const BATTLEANIMFUNC_EGG
+ const BATTLEANIMFUNC_MOVE_UP
+ const BATTLEANIMFUNC_WRAP
const BATTLEANIMFUNC_LEECH_SEED
- const BATTLEANIMFUNC_21
- const BATTLEANIMFUNC_22
- const BATTLEANIMFUNC_23
- const BATTLEANIMFUNC_24
- const BATTLEANIMFUNC_25
- const BATTLEANIMFUNC_26
- const BATTLEANIMFUNC_27
- const BATTLEANIMFUNC_28
- const BATTLEANIMFUNC_SPRIAL_DESCENT
+ const BATTLEANIMFUNC_SOUND
+ const BATTLEANIMFUNC_CONFUSE_RAY
+ const BATTLEANIMFUNC_DIZZY
+ const BATTLEANIMFUNC_AMNESIA
+ const BATTLEANIMFUNC_FLOAT_UP
+ const BATTLEANIMFUNC_DIG
+ const BATTLEANIMFUNC_STRING
+ const BATTLEANIMFUNC_PARALYZED
+ const BATTLEANIMFUNC_SPIRAL_DESCENT
const BATTLEANIMFUNC_POISON_GAS
const BATTLEANIMFUNC_HORN
- const BATTLEANIMFUNC_2C
- const BATTLEANIMFUNC_2D
- const BATTLEANIMFUNC_2E
- const BATTLEANIMFUNC_2F
- const BATTLEANIMFUNC_30
- const BATTLEANIMFUNC_31
- const BATTLEANIMFUNC_32
- const BATTLEANIMFUNC_33
- const BATTLEANIMFUNC_34
- const BATTLEANIMFUNC_35
- const BATTLEANIMFUNC_36
- const BATTLEANIMFUNC_37
- const BATTLEANIMFUNC_38
- const BATTLEANIMFUNC_39
- const BATTLEANIMFUNC_3A
- const BATTLEANIMFUNC_3B
- const BATTLEANIMFUNC_3C
- const BATTLEANIMFUNC_3D
- const BATTLEANIMFUNC_3E
- const BATTLEANIMFUNC_3F
- const BATTLEANIMFUNC_40
- const BATTLEANIMFUNC_41
- const BATTLEANIMFUNC_42
- const BATTLEANIMFUNC_43
- const BATTLEANIMFUNC_44
- const BATTLEANIMFUNC_45
- const BATTLEANIMFUNC_46
- const BATTLEANIMFUNC_47
- const BATTLEANIMFUNC_48
- const BATTLEANIMFUNC_49
- const BATTLEANIMFUNC_4A
- const BATTLEANIMFUNC_4B
- const BATTLEANIMFUNC_4C
- const BATTLEANIMFUNC_4D
- const BATTLEANIMFUNC_4E
- const BATTLEANIMFUNC_4F
+ const BATTLEANIMFUNC_NEEDLE
+ const BATTLEANIMFUNC_PETAL_DANCE
+ const BATTLEANIMFUNC_THIEF_PAYDAY
+ const BATTLEANIMFUNC_ABSORB_CIRCLE
+ const BATTLEANIMFUNC_BONEMERANG
+ const BATTLEANIMFUNC_SHINY
+ const BATTLEANIMFUNC_SKY_ATTACK
+ const BATTLEANIMFUNC_GROWTH_SWORDS_DANCE
+ const BATTLEANIMFUNC_SMOKE_FLAME_WHEEL
+ const BATTLEANIMFUNC_PRESENT_SMOKESCREEN
+ const BATTLEANIMFUNC_STRENGTH_SEISMIC_TOSS
+ const BATTLEANIMFUNC_SPEED_LINE
+ const BATTLEANIMFUNC_SLUDGE
+ const BATTLEANIMFUNC_METRONOME_HAND
+ const BATTLEANIMFUNC_METRONOME_SPARKLE_SKETCH
+ const BATTLEANIMFUNC_AGILITY
+ const BATTLEANIMFUNC_SACRED_FIRE
+ const BATTLEANIMFUNC_SAFEGUARD_PROTECT
+ const BATTLEANIMFUNC_LOCK_ON_MIND_READER
+ const BATTLEANIMFUNC_SPIKES
+ const BATTLEANIMFUNC_HEAL_BELL_NOTES
+ const BATTLEANIMFUNC_BATON_PASS
+ const BATTLEANIMFUNC_CONVERSION
+ const BATTLEANIMFUNC_ENCORE_BELLY_DRUM
+ const BATTLEANIMFUNC_SWAGGER_MORNING_SUN
+ const BATTLEANIMFUNC_HIDDEN_POWER
+ const BATTLEANIMFUNC_CURSE
+ const BATTLEANIMFUNC_PERISH_SONG
+ const BATTLEANIMFUNC_RAPID_SPIN
+ const BATTLEANIMFUNC_BETA_PURSUIT
+ const BATTLEANIMFUNC_RAIN_SANDSTORM
+ const BATTLEANIMFUNC_ANIM_OBJ_B0
+ const BATTLEANIMFUNC_PSYCH_UP
+ const BATTLEANIMFUNC_ANCIENT_POWER
+ const BATTLEANIMFUNC_ROCK_SMASH
+ const BATTLEANIMFUNC_COTTON
; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm)
const_def
--- a/data/battle_anims/objects.asm
+++ b/data/battle_anims/objects.asm
@@ -18,191 +18,191 @@
BattleAnimObjects:
; entries correspond to ANIM_OBJ_* constants
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_00
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_01
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_02
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_03
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_04
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_05
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_06
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_07
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_08
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_FANG
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_0A
- battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_EMBER
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_DRAGON_RAGE
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_FLAMETHROWER
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_FIRE_SPIN
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_FIRE_BLAST
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_BURNED
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_BLIZZARD
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_12
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_ICE_BEAM
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_00
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_01
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_02
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_03
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_04
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_05
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_06
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_KICK, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_07
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_08
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_FANG
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_SHAKE, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_0A
+ battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_EMBER, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_EMBER
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_WAVE_TO_TARGET, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_DRAGON_RAGE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_FLAMETHROWER
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_FIRE_SPIN
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_FIRE_BLAST, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_FIRE_BLAST
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_BURNED
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_BLIZZARD
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_12
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_ICE_BEAM
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, ANIM_GFX_PLANT ; ANIM_OBJ_RAZOR_LEAF
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_OB_RED, ANIM_GFX_POKE_BALL ; ANIM_OBJ_POKE_BALL
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_OB_RED, ANIM_GFX_POKE_BALL ; ANIM_OBJ_POKE_BALL_BLOCKED
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, ANIM_GFX_EXPLOSION ; ANIM_OBJ_17
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, ANIM_GFX_EXPLOSION ; ANIM_OBJ_18
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON ; ANIM_OBJ_19
- battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON ; ANIM_OBJ_1A
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_SMOKE ; ANIM_OBJ_1B
- battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_SMOKE ; ANIM_OBJ_BALL_POOF
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_BIG_ROCK
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_SMALL_ROCK
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_STRENGTH
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, ANIM_GFX_GLOBE ; ANIM_OBJ_SEISMIC_TOSS
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE ; ANIM_OBJ_BUBBLE
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE ; ANIM_OBJ_SURF
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_SING
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, ANIM_GFX_WATER ; ANIM_OBJ_WATER_GUN
- battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, ANIM_GFX_WATER ; ANIM_OBJ_HYDRO_PUMP
- battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, ANIM_GFX_POWDER ; ANIM_OBJ_POWDER
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM ; ANIM_OBJ_27
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM ; ANIM_OBJ_28
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_ICE_BUILDUP
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_FROZEN
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, ANIM_GFX_SPEED ; ANIM_OBJ_MASTER_BALL_SPARKLE
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BUBBLE ; ANIM_OBJ_RECOVER
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_2D
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_2E
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_2F
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_THUNDER_WAVE
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_31
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION ; ANIM_OBJ_LIGHTNING_BOLT
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_33
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION ; ANIM_OBJ_34
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_CLAMP
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_BITE
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_37
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_38
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_39
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_3A
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_3B
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE ; ANIM_OBJ_3C
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE ; ANIM_OBJ_3D
- battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND ; ANIM_OBJ_GUST
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_3F
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_40
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_41
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_42
- battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_SONICBOOM_JP
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_44
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE ; ANIM_OBJ_ABSORB
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG ; ANIM_OBJ_EGG
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_47
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, ANIM_GFX_ROPE ; ANIM_OBJ_48
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, ANIM_GFX_ROPE ; ANIM_OBJ_49
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_POKEBALL, PAL_BATTLE_OB_RED, ANIM_GFX_POKE_BALL ; ANIM_OBJ_POKE_BALL
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_POKEBALL_BLOCKED, PAL_BATTLE_OB_RED, ANIM_GFX_POKE_BALL ; ANIM_OBJ_POKE_BALL_BLOCKED
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_RED, ANIM_GFX_EXPLOSION ; ANIM_OBJ_17
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_RED, ANIM_GFX_EXPLOSION ; ANIM_OBJ_18
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_THROW_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON ; ANIM_OBJ_19
+ battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_SLUDGE, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON ; ANIM_OBJ_1A
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SMOKE ; ANIM_OBJ_1B
+ battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SMOKE ; ANIM_OBJ_BALL_POOF
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_DROP, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_BIG_ROCK
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_DROP, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_SMALL_ROCK
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_STRENGTH_SEISMIC_TOSS, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_STRENGTH
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_STRENGTH_SEISMIC_TOSS, PAL_BATTLE_OB_BLUE, ANIM_GFX_GLOBE ; ANIM_OBJ_SEISMIC_TOSS
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_BUBBLE, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE ; ANIM_OBJ_BUBBLE
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_SURF, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE ; ANIM_OBJ_SURF
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_SING, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_SING
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_WATER_GUN, PAL_BATTLE_OB_BLUE, ANIM_GFX_WATER ; ANIM_OBJ_WATER_GUN
+ battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_WATER ; ANIM_OBJ_HYDRO_PUMP
+ battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_POWDER, PAL_BATTLE_OB_GREEN, ANIM_GFX_POWDER ; ANIM_OBJ_POWDER
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM ; ANIM_OBJ_27
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_SHAKE, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM ; ANIM_OBJ_28
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_ICE_BUILDUP
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE ; ANIM_OBJ_FROZEN
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_RECOVER, PAL_BATTLE_OB_BROWN, ANIM_GFX_SPEED ; ANIM_OBJ_MASTER_BALL_SPARKLE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_RECOVER, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BUBBLE ; ANIM_OBJ_RECOVER
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_2D
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_2E
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_2F
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_THUNDER_WAVE, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_THUNDER_WAVE
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_31
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION ; ANIM_OBJ_LIGHTNING_BOLT
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_33
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION ; ANIM_OBJ_34
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_CLAMP
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_BITE, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_BITE
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_37
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_38
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_39
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_3A
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_3B
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_SOLAR_BEAM, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE ; ANIM_OBJ_3C
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE ; ANIM_OBJ_3D
+ battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_GUST, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND ; ANIM_OBJ_GUST
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_3F
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_40
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_41
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_42
+ battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_SONICBOOM_JP
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_44
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_ABSORB, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE ; ANIM_OBJ_ABSORB
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_EGG, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG ; ANIM_OBJ_EGG
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_MOVE_UP, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_47
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_WRAP, PAL_BATTLE_OB_GREEN, ANIM_GFX_ROPE ; ANIM_OBJ_48
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_WRAP, PAL_BATTLE_OB_GREEN, ANIM_GFX_ROPE ; ANIM_OBJ_49
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, ANIM_GFX_PLANT ; ANIM_OBJ_LEECH_SEED
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_4B
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, ANIM_GFX_PSYCHIC ; ANIM_OBJ_WAVE
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_CONFUSE_RAY
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM ; ANIM_OBJ_4E
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM ; ANIM_OBJ_4F
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_REFLECT ; ANIM_OBJ_SCREEN
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_REFLECT ; ANIM_OBJ_HARDEN
- battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, ANIM_GFX_STATUS ; ANIM_OBJ_CHICK
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS ; ANIM_OBJ_AMNESIA
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS ; ANIM_OBJ_ASLEEP
- battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON ; ANIM_OBJ_SKULL
- battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, ANIM_GFX_SAND ; ANIM_OBJ_56
- battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, ANIM_GFX_SAND ; ANIM_OBJ_57
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, ANIM_GFX_SAND ; ANIM_OBJ_58
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, ANIM_GFX_STATUS ; ANIM_OBJ_PARALYZED
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, ANIM_GFX_WEB ; ANIM_OBJ_STRING_SHOT
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_HAZE
- battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_MIST
- battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_SMOG
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_SOUND, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_4B
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_USER_TO_TARGET_DISSAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_PSYCHIC ; ANIM_OBJ_WAVE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_CONFUSE_RAY, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_CONFUSE_RAY
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM ; ANIM_OBJ_4E
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_SHAKE, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM ; ANIM_OBJ_4F
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_REFLECT ; ANIM_OBJ_SCREEN
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_REFLECT ; ANIM_OBJ_HARDEN
+ battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_DIZZY, PAL_BATTLE_OB_YELLOW, ANIM_GFX_STATUS ; ANIM_OBJ_CHICK
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_AMNESIA, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS ; ANIM_OBJ_AMNESIA
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_FLOAT_UP, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS ; ANIM_OBJ_ASLEEP
+ battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON ; ANIM_OBJ_SKULL
+ battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_DIG, PAL_BATTLE_OB_BROWN, ANIM_GFX_SAND ; ANIM_OBJ_56
+ battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BROWN, ANIM_GFX_SAND ; ANIM_OBJ_57
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, ANIM_GFX_SAND ; ANIM_OBJ_58
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_PARALYZED, PAL_BATTLE_OB_YELLOW, ANIM_GFX_STATUS ; ANIM_OBJ_PARALYZED
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_STRING, PAL_BATTLE_OB_GRAY, ANIM_GFX_WEB ; ANIM_OBJ_STRING_SHOT
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_HAZE
+ battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_MIST
+ battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_SMOG
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_POISON_GAS
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, ANIM_GFX_HORN ; ANIM_OBJ_HORN
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, ANIM_GFX_HORN ; ANIM_OBJ_60
- battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, ANIM_GFX_FLOWER ; ANIM_OBJ_PETAL_DANCE
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG ; ANIM_OBJ_SLUDGE_BOMB
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, ANIM_GFX_STATUS ; ANIM_OBJ_PAY_DAY
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_64
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, ANIM_GFX_SPEED ; ANIM_OBJ_MIMIC
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_NEEDLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_HORN ; ANIM_OBJ_60
+ battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_PETAL_DANCE, PAL_BATTLE_OB_RED, ANIM_GFX_FLOWER ; ANIM_OBJ_PETAL_DANCE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_THROW_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG ; ANIM_OBJ_SLUDGE_BOMB
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_THIEF_PAYDAY, PAL_BATTLE_OB_BROWN, ANIM_GFX_STATUS ; ANIM_OBJ_PAY_DAY
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_USER_TO_TARGET_DISSAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_64
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_SPEED ; ANIM_OBJ_MIMIC
battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, ANIM_GFX_OBJECTS ; ANIM_OBJ_ATTRACT
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_BONEMERANG
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_BONE_CLUB
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_BONE_RUSH
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS ; ANIM_OBJ_SWIFT
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_KINESIS
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_FLASH
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_SHINY
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, ANIM_GFX_SKY_ATTACK ; ANIM_OBJ_SKY_ATTACK
- battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_WATER ; ANIM_OBJ_LICK
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_REFLECT ; ANIM_OBJ_WITHDRAW
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE ; ANIM_OBJ_71
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, ANIM_GFX_CHARGE ; ANIM_OBJ_GROWTH
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION ; ANIM_OBJ_CONVERSION2
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_SMOKE
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG ; ANIM_OBJ_SMOKESCREEN
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_SWORDS_DANCE
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, ANIM_GFX_SPEED ; ANIM_OBJ_SPEED_LINE
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHAPES ; ANIM_OBJ_SHARPEN
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHAPES ; ANIM_OBJ_DEFENSE_CURL
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_7A
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_7B
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_DISABLE
- battleanimobj RELATIVE_X | X_FLIP | PRIORITY, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, ANIM_GFX_WIND ; ANIM_OBJ_AGILITY
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, ANIM_GFX_OBJECTS ; ANIM_OBJ_HEART
- battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_FLAME_WHEEL
- battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_SACRED_FIRE
- battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_COTTON_SPORE
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_MILK_DRINK
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_ANGER
- battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_MISC ; ANIM_OBJ_84
- battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_85
- battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, ANIM_GFX_MISC ; ANIM_OBJ_BATON_PASS
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_LOCK_ON
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_MIND_READER
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_SAFEGUARD
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS ; ANIM_OBJ_PROTECT
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS ; ANIM_OBJ_THIEF
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG ; ANIM_OBJ_OCTAZOOKA
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, ANIM_GFX_STATUS ; ANIM_OBJ_PRESENT
- battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_SPIKES
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, ANIM_GFX_ICE ; ANIM_OBJ_POWDER_SNOW
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_DRAGONBREATH
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION ; ANIM_OBJ_CONVERSION
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_WEB ; ANIM_OBJ_SPIDER_WEB
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, ANIM_GFX_OBJECTS ; ANIM_OBJ_93
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_NIGHTMARE
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_IN_NIGHTMARE
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_LOVELY_KISS
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, ANIM_GFX_ANGELS ; ANIM_OBJ_SWEET_KISS
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, ANIM_GFX_OBJECTS ; ANIM_OBJ_SKETCH
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, ANIM_GFX_OBJECTS ; ANIM_OBJ_99
- battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS ; ANIM_OBJ_9A
- battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_DESTINY_BOND
- battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SHINE ; ANIM_OBJ_MORNING_SUN
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHINE ; ANIM_OBJ_GLIMMER
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SHINE ; ANIM_OBJ_MOONLIGHT
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, ANIM_GFX_CHARGE ; ANIM_OBJ_HIDDEN_POWER
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_A0
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_A1
- battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, ANIM_GFX_POWDER ; ANIM_OBJ_SANDSTORM
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_ZAP_CANNON
- battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_SPITE
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, ANIM_GFX_OBJECTS ; ANIM_OBJ_CURSE
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_PERISH_SONG
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHINE ; ANIM_OBJ_FORESIGHT
- battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND ; ANIM_OBJ_RAPID_SPIN
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND ; ANIM_OBJ_SWAGGER
- battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_AA
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_AB
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, ANIM_GFX_PSYCHIC ; ANIM_OBJ_MEAN_LOOK
- battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_AD
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_AE
- battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, ANIM_GFX_WATER ; ANIM_OBJ_RAIN
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, ANIM_GFX_HAZE ; ANIM_OBJ_B0
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS ; ANIM_OBJ_PSYCH_UP
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_ANCIENTPOWER
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, ANIM_GFX_AEROBLAST ; ANIM_OBJ_AEROBLAST
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, ANIM_GFX_EGG ; ANIM_OBJ_SHADOW_BALL
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_ROCK_SMASH
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, ANIM_GFX_FLOWER ; ANIM_OBJ_FLOWER
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, ANIM_GFX_MISC ; ANIM_OBJ_COTTON
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD ; ANIM_OBJ_ENEMYFEET_1ROW
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET ; ANIM_OBJ_PLAYERHEAD_1ROW
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD ; ANIM_OBJ_ENEMYFEET_2ROW
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET ; ANIM_OBJ_PLAYERHEAD_2ROW
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_BONEMERANG, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_BONEMERANG
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_USER_TO_TARGET_DISSAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_BONE_CLUB
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_BONE_RUSH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS ; ANIM_OBJ_SWIFT
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_KINESIS
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_SHINY, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_FLASH
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_SHINY, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_SHINY
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_SKY_ATTACK, PAL_BATTLE_OB_GRAY, ANIM_GFX_SKY_ATTACK ; ANIM_OBJ_SKY_ATTACK
+ battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_WATER ; ANIM_OBJ_LICK
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_REFLECT ; ANIM_OBJ_WITHDRAW
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE ; ANIM_OBJ_71
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_GROWTH_SWORDS_DANCE, PAL_BATTLE_OB_YELLOW, ANIM_GFX_CHARGE ; ANIM_OBJ_GROWTH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION ; ANIM_OBJ_CONVERSION2
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SMOKE_FLAME_WHEEL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE ; ANIM_OBJ_SMOKE
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG ; ANIM_OBJ_SMOKESCREEN
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_GROWTH_SWORDS_DANCE, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP ; ANIM_OBJ_SWORDS_DANCE
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_SPEED_LINE, PAL_BATTLE_OB_GRAY, ANIM_GFX_SPEED ; ANIM_OBJ_SPEED_LINE
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHAPES ; ANIM_OBJ_SHARPEN
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHAPES ; ANIM_OBJ_DEFENSE_CURL
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_METRONOME_HAND, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_7A
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_7B
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_DISABLE
+ battleanimobj RELATIVE_X | X_FLIP | PRIORITY, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_AGILITY, PAL_BATTLE_OB_BLUE, ANIM_GFX_WIND ; ANIM_OBJ_AGILITY
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_FLOAT_UP, PAL_BATTLE_OB_RED, ANIM_GFX_OBJECTS ; ANIM_OBJ_HEART
+ battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_SMOKE_FLAME_WHEEL, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_FLAME_WHEEL
+ battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_SACRED_FIRE, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_SACRED_FIRE
+ battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_COTTON_SPORE
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_MILK_DRINK
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_ANGER
+ battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_MISC ; ANIM_OBJ_84
+ battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_HEAL_BELL_NOTES, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_85
+ battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_BATON_PASS, PAL_BATTLE_OB_RED, ANIM_GFX_MISC ; ANIM_OBJ_BATON_PASS
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_LOCK_ON
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_MIND_READER
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_SAFEGUARD
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS ; ANIM_OBJ_PROTECT
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_THIEF_PAYDAY, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS ; ANIM_OBJ_THIEF
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_USER_TO_TARGET_DISSAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG ; ANIM_OBJ_OCTAZOOKA
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, ANIM_GFX_STATUS ; ANIM_OBJ_PRESENT
+ battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_SPIKES, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC ; ANIM_OBJ_SPIKES
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_GRAY, ANIM_GFX_ICE ; ANIM_OBJ_POWDER_SNOW
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_USER_TO_TARGET_DISSAPPEAR, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE ; ANIM_OBJ_DRAGONBREATH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_CONVERSION, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION ; ANIM_OBJ_CONVERSION
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_WEB ; ANIM_OBJ_SPIDER_WEB
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, ANIM_GFX_OBJECTS ; ANIM_OBJ_93
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_DIZZY, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_NIGHTMARE
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_FLOAT_UP, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_IN_NIGHTMARE
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_LOVELY_KISS
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_ANGELS ; ANIM_OBJ_SWEET_KISS
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_GREEN, ANIM_GFX_OBJECTS ; ANIM_OBJ_SKETCH
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, ANIM_GFX_OBJECTS ; ANIM_OBJ_99
+ battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_ENCORE_BELLY_DRUM, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS ; ANIM_OBJ_9A
+ battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_DESTINY_BOND
+ battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SHINE ; ANIM_OBJ_MORNING_SUN
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHINE ; ANIM_OBJ_GLIMMER
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SHINE ; ANIM_OBJ_MOONLIGHT
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_HIDDEN_POWER, PAL_BATTLE_OB_RED, ANIM_GFX_CHARGE ; ANIM_OBJ_HIDDEN_POWER
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_A0
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT ; ANIM_OBJ_A1
+ battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_BROWN, ANIM_GFX_POWDER ; ANIM_OBJ_SANDSTORM
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_USER_TO_TARGET_DISSAPPEAR, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING ; ANIM_OBJ_ZAP_CANNON
+ battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_POWDER, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS ; ANIM_OBJ_SPITE
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_CURSE, PAL_BATTLE_OB_GRAY, ANIM_GFX_OBJECTS ; ANIM_OBJ_CURSE
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_PERISH_SONG, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_PERISH_SONG
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHINE ; ANIM_OBJ_FORESIGHT
+ battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_RAPID_SPIN, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND ; ANIM_OBJ_RAPID_SPIN
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND ; ANIM_OBJ_SWAGGER
+ battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_AA
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_ENCORE_BELLY_DRUM, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE ; ANIM_OBJ_AB
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_PSYCHIC ; ANIM_OBJ_MEAN_LOOK
+ battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_BETA_PURSUIT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT ; ANIM_OBJ_AD
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED ; ANIM_OBJ_AE
+ battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_GRAY, ANIM_GFX_WATER ; ANIM_OBJ_RAIN
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_ANIM_OBJ_B0, PAL_BATTLE_OB_RED, ANIM_GFX_HAZE ; ANIM_OBJ_B0
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_PSYCH_UP, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS ; ANIM_OBJ_PSYCH_UP
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_ANCIENT_POWER, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_ANCIENTPOWER
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_AEROBLAST ; ANIM_OBJ_AEROBLAST
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_WAVE_TO_TARGET, PAL_BATTLE_OB_BLUE, ANIM_GFX_EGG ; ANIM_OBJ_SHADOW_BALL
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_ROCK_SMASH, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_ROCK_SMASH
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_RED, ANIM_GFX_FLOWER ; ANIM_OBJ_FLOWER
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_COTTON, PAL_BATTLE_OB_RED, ANIM_GFX_MISC ; ANIM_OBJ_COTTON
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD ; ANIM_OBJ_ENEMYFEET_1ROW
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET ; ANIM_OBJ_PLAYERHEAD_1ROW
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD ; ANIM_OBJ_ENEMYFEET_2ROW
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET ; ANIM_OBJ_PLAYERHEAD_2ROW
--- a/engine/battle_anims/core.asm
+++ b/engine/battle_anims/core.asm
@@ -45,7 +45,7 @@
ld [hli], a ; BATTLEANIMSTRUCT_OAMFLAGS
ld a, [de]
inc de
- ld [hli], a ; BATTLEANIMSTRUCT_02
+ ld [hli], a ; BATTLEANIMSTRUCT_FIX_Y
ld a, [de]
inc de
ld [hli], a ; BATTLEANIMSTRUCT_FRAMESET_ID
@@ -211,10 +211,10 @@
add hl, bc
ld a, [hl]
ld [wBattleAnimTempPalette], a
- ld hl, BATTLEANIMSTRUCT_02
+ ld hl, BATTLEANIMSTRUCT_FIX_Y
add hl, bc
ld a, [hl]
- ld [wBattleAnimTempField02], a
+ ld [wBattleAnimTempFixY], a
ld hl, BATTLEANIMSTRUCT_TILEID
add hl, bc
ld a, [hli]
@@ -248,7 +248,7 @@
ld [wBattleAnimTempXCoord], a
ld a, [hli]
ld d, a
- ld a, [wBattleAnimTempField02]
+ ld a, [wBattleAnimTempFixY]
cp $ff
jr nz, .check_kinesis_softboiled_milkdrink
ld a, 5 * 8
--- a/engine/battle_anims/functions.asm
+++ b/engine/battle_anims/functions.asm
@@ -13,86 +13,86 @@
.Jumptable:
; entries correspond to BATTLEANIMFUNC_* constants
- dw BattleAnimFunction_Null ; 00
- dw BattleAnimFunction_01 ; 01
- dw BattleAnimFunction_02 ; 02
- dw BattleAnimFunction_03 ; 03
- dw BattleAnimFunction_04 ; 04
- dw BattleAnimFunction_ThrowFromPlayerToEnemy ; 05
- dw BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear ; 06
- dw BattleAnimFunction_07 ; 07
- dw BattleAnimFunction_08 ; 08
- dw BattleAnimFunction_09 ; 09
- dw BattleAnimFunction_0A ; 0a
- dw BattleAnimFunction_RazorLeaf ; 0b
- dw BattleAnimFunction_0C ; 0c
- dw BattleAnimFunction_0D ; 0d
- dw BattleAnimFunction_0E ; 0e
- dw BattleAnimFunction_0F ; 0f
- dw BattleAnimFunction_10 ; 10
- dw BattleAnimFunction_11 ; 11
- dw BattleAnimFunction_PokeBall ; 12
- dw BattleAnimFunction_PokeBallBlocked ; 13
- dw BattleAnimFunction_14 ; 14
- dw BattleAnimFunction_15 ; 15
- dw BattleAnimFunction_16 ; 16
- dw BattleAnimFunction_17 ; 17
- dw BattleAnimFunction_18 ; 18
- dw BattleAnimFunction_19 ; 19
- dw BattleAnimFunction_1A ; 1a
- dw BattleAnimFunction_1B ; 1b
- dw BattleAnimFunction_1C ; 1c
- dw BattleAnimFunction_1D ; 1d
- dw BattleAnimFunction_1E ; 1e
- dw BattleAnimFunction_1F ; 1f
- dw BattleAnimFunction_LeechSeed ; 20
- dw BattleAnimFunction_21 ; 21
- dw BattleAnimFunction_22 ; 22
- dw BattleAnimFunction_23 ; 23
- dw BattleAnimFunction_24 ; 24
- dw BattleAnimFunction_25 ; 25
- dw BattleAnimFunction_26 ; 26
- dw BattleAnimFunction_27 ; 27
- dw BattleAnimFunction_28 ; 28
- dw BattleAnimFunction_SpiralDescent ; 29
- dw BattleAnimFunction_PoisonGas ; 2a
- dw BattleAnimFunction_Horn ; 2b
- dw BattleAnimFunction_2C ; 2c
- dw BattleAnimFunction_2D ; 2d
- dw BattleAnimFunction_2E ; 2e
- dw BattleAnimFunction_2F ; 2f
- dw BattleAnimFunction_30 ; 30
- dw BattleAnimFunction_31 ; 31
- dw BattleAnimFunction_32 ; 32
- dw BattleAnimFunction_33 ; 33
- dw BattleAnimFunction_34 ; 34
- dw BattleAnimFunction_35 ; 35
- dw BattleAnimFunction_36 ; 36
- dw BattleAnimFunction_37 ; 37
- dw BattleAnimFunction_38 ; 38
- dw BattleAnimFunction_39 ; 39
- dw BattleAnimFunction_3A ; 3a
- dw BattleAnimFunction_3B ; 3b
- dw BattleAnimFunction_3C ; 3c
- dw BattleAnimFunction_3D ; 3d
- dw BattleAnimFunction_3E ; 3e
- dw BattleAnimFunction_3F ; 3f
- dw BattleAnimFunction_40 ; 40
- dw BattleAnimFunction_41 ; 41
- dw BattleAnimFunction_42 ; 42
- dw BattleAnimFunction_43 ; 43
- dw BattleAnimFunction_44 ; 44
- dw BattleAnimFunction_45 ; 45
- dw BattleAnimFunction_46 ; 46
- dw BattleAnimFunction_47 ; 47
- dw BattleAnimFunction_48 ; 48
- dw BattleAnimFunction_49 ; 49
- dw BattleAnimFunction_4A ; 4a
- dw BattleAnimFunction_4B ; 4b
- dw BattleAnimFunction_4C ; 4c
- dw BattleAnimFunction_4D ; 4d
- dw BattleAnimFunction_4E ; 4e
- dw BattleAnimFunction_4F ; 4f
+ dw BattleAnimFunction_Null
+ dw BattleAnimFunction_MoveFromUserToTarget
+ dw BattleAnimFunction_MoveFromUserToTargetAndDisappear
+ dw BattleAnimFunction_MoveInCircle
+ dw BattleAnimFunction_MoveWaveToTarget
+ dw BattleAnimFunction_ThrowFromUserToTarget
+ dw BattleAnimFunction_ThrowFromUserToTargetAndDisappear
+ dw BattleAnimFunction_Drop
+ dw BattleAnimFunction_MoveFromUserToTargetSpinAround
+ dw BattleAnimFunction_Shake
+ dw BattleAnimFunction_FireBlast
+ dw BattleAnimFunction_RazorLeaf
+ dw BattleAnimFunction_Bubble
+ dw BattleAnimFunction_Surf
+ dw BattleAnimFunction_Sing
+ dw BattleAnimFunction_WaterGun
+ dw BattleAnimFunction_Ember
+ dw BattleAnimFunction_Powder
+ dw BattleAnimFunction_PokeBall
+ dw BattleAnimFunction_PokeBallBlocked
+ dw BattleAnimFunction_Recover
+ dw BattleAnimFunction_ThunderWave
+ dw BattleAnimFunction_Clamp_Encore
+ dw BattleAnimFunction_Bite
+ dw BattleAnimFunction_SolarBeam
+ dw BattleAnimFunction_Gust
+ dw BattleAnimFunction_RazorWind
+ dw BattleAnimFunction_Kick
+ dw BattleAnimFunction_Absorb
+ dw BattleAnimFunction_Egg
+ dw BattleAnimFunction_MoveUp
+ dw BattleAnimFunction_Wrap
+ dw BattleAnimFunction_LeechSeed
+ dw BattleAnimFunction_Sound
+ dw BattleAnimFunction_ConfuseRay
+ dw BattleAnimFunction_Dizzy
+ dw BattleAnimFunction_Amnesia
+ dw BattleAnimFunction_FloatUp
+ dw BattleAnimFunction_Dig
+ dw BattleAnimFunction_String
+ dw BattleAnimFunction_Paralyzed
+ dw BattleAnimFunction_SpiralDescent
+ dw BattleAnimFunction_PoisonGas
+ dw BattleAnimFunction_Horn
+ dw BattleAnimFunction_Needle
+ dw BattleAnimFunction_PetalDance
+ dw BattleAnimFunction_ThiefPayday
+ dw BattleAnimFunction_AbsorbCircle
+ dw BattleAnimFunction_Bonemerang
+ dw BattleAnimFunction_Shiny
+ dw BattleAnimFunction_SkyAttack
+ dw BattleAnimFunction_GrowthSwordsDance
+ dw BattleAnimFunction_SmokeFlameWheel
+ dw BattleAnimFunction_PresentSmokescreen
+ dw BattleAnimFunction_StrengthSeismicToss
+ dw BattleAnimFunction_SpeedLine
+ dw BattleAnimFunction_Sludge
+ dw BattleAnimFunction_MetronomeHand
+ dw BattleAnimFunction_MetronomeSparkleSketch
+ dw BattleAnimFunction_Agility
+ dw BattleAnimFunction_SacredFire
+ dw BattleAnimFunction_SafeguardProtect
+ dw BattleAnimFunction_LockOnMindReader
+ dw BattleAnimFunction_Spikes
+ dw BattleAnimFunction_HealBellNotes
+ dw BattleAnimFunction_BatonPass
+ dw BattleAnimFunction_Conversion
+ dw BattleAnimFunction_EncoreBellyDrum
+ dw BattleAnimFunction_SwaggerMorningSun
+ dw BattleAnimFunction_HiddenPower
+ dw BattleAnimFunction_Curse
+ dw BattleAnimFunction_PerishSong
+ dw BattleAnimFunction_RapidSpin
+ dw BattleAnimFunction_BetaPursuit
+ dw BattleAnimFunction_RainSandstorm
+ dw BattleAnimFunction_AnimObjB0
+ dw BattleAnimFunction_PsychUp
+ dw BattleAnimFunction_AncientPower
+ dw BattleAnimFunction_RockSmash
+ dw BattleAnimFunction_Cotton
BattleAnimFunction_Null:
call BattleAnim_AnonJumptable
@@ -104,13 +104,13 @@
.zero
ret
-BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear:
- call BattleAnimFunction_ThrowFromPlayerToEnemy
+BattleAnimFunction_ThrowFromUserToTargetAndDisappear:
+ call BattleAnimFunction_ThrowFromUserToTarget
ret c
call DeinitBattleAnimation
ret
-BattleAnimFunction_ThrowFromPlayerToEnemy:
+BattleAnimFunction_ThrowFromUserToTarget:
; If x coord at $88 or beyond, abort.
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -142,16 +142,17 @@
scf
ret
-BattleAnimFunction_04:
+BattleAnimFunction_MoveWaveToTarget:
+; Wave motion from one mon to another. Obj is cleared when it reaches x coord $88. Examples: Shadow Ball, Dragon Rage
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $88
- jr c, .asm_cd0b3
+ jr c, .move
call DeinitBattleAnimation
ret
-.asm_cd0b3
+.move
add $2
ld [hl], a
ld hl, BATTLEANIMSTRUCT_YCOORD
@@ -183,7 +184,9 @@
ld [hl], a
ret
-BattleAnimFunction_03:
+BattleAnimFunction_MoveInCircle:
+; Slow circular motion. Examples: Thundershock, Flamethrower
+; Obj Param: Distance from center (masked with $7F). Bit 7 causes object to start on other side of the circle
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -194,9 +197,9 @@
add hl, bc
bit 7, [hl]
ld a, $0
- jr z, .asm_cd0f9
+ jr z, .got_starting_position
ld a, $20
-.asm_cd0f9
+.got_starting_position
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], a
@@ -229,7 +232,8 @@
inc [hl]
ret
-BattleAnimFunction_01:
+BattleAnimFunction_MoveFromUserToTarget:
+; Moves object diagonally at a ~30° angle towards opponent and stops when it reaches x coord $84. Obj Param changes the speed
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -247,22 +251,23 @@
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
-BattleAnimFunction_02:
+BattleAnimFunction_MoveFromUserToTargetAndDisappear:
+; Same as BattleAnimFunction_01 but objs are cleared when they reach x coord $84
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $84
- jr nc, .asm_cd158
+ jr nc, .done
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
-.asm_cd158
+.done
call DeinitBattleAnimation
ret
@@ -287,7 +292,7 @@
ret
.one
- call BattleAnimFunction_ThrowFromPlayerToEnemy
+ call BattleAnimFunction_ThrowFromUserToTarget
ret c
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -400,7 +405,7 @@
ld a, [hl]
cp $70
jr nc, .next
- call BattleAnimFunction_ThrowFromPlayerToEnemy
+ call BattleAnimFunction_ThrowFromUserToTarget
ret
.next
@@ -451,7 +456,7 @@
INCLUDE "data/battle_anims/ball_colors.asm"
-BattleAnimFunction_10:
+BattleAnimFunction_Ember:
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -479,7 +484,7 @@
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
.two
@@ -493,7 +498,8 @@
.four
ret
-BattleAnimFunction_07:
+BattleAnimFunction_Drop:
+; Drops obj. The Obj Param dictates how fast it is (lower value is faster) and how long it stays bouncing (lower value is longer). Example: Rock Slide
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -540,7 +546,8 @@
call DeinitBattleAnimation
ret
-BattleAnimFunction_08:
+BattleAnimFunction_MoveFromUserToTargetSpinAround:
+; Object moves from user to target target and spins around it once. Example: Fire Spin, Swift
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -652,7 +659,9 @@
jr nz, .loop
ret
-BattleAnimFunction_09:
+BattleAnimFunction_Shake:
+; Object switches position side to side. Obj Param defines how far to move it. Example: Dynamic Punch
+; Some objects use this function with a Param of 0
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -700,7 +709,7 @@
call DeinitBattleAnimation
ret
-BattleAnimFunction_0A:
+BattleAnimFunction_FireBlast:
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -769,7 +778,8 @@
call DeinitBattleAnimation
ret
-.one
+.one
+ ; Flame that moves upward
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
dec [hl]
@@ -776,10 +786,12 @@
ret
.four
+ ; Flame that moves down and left
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
inc [hl]
.two
+ ; Flame that moves left
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
dec [hl]
@@ -786,10 +798,12 @@
ret
.five
+ ; Flame that moves down and right
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
inc [hl]
.three
+ ; Flame that moves right
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
inc [hl]
@@ -940,10 +954,11 @@
cp $c0
ret nc
ld a, $8
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
Functioncd557:
+; Affects sine movement based on bit 7 of Obj Param
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -981,7 +996,11 @@
ld de, -$100
ret
-BattleAnimFunction_4E:
+BattleAnimFunction_RockSmash:
+; Object moves at an arc
+; Obj Param: Bit 7 makes arc flip horizontally
+; Bit 6 defines offset from base frameset FRAMESET_19
+; Rest defines arc radius
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -993,7 +1012,7 @@
and $40
rlca
rlca
- add $19
+ add BATTLEANIMFRAMESET_19
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], a
@@ -1043,7 +1062,7 @@
ld [hl], e
ret
-BattleAnimFunction_0C:
+BattleAnimFunction_Bubble:
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -1064,7 +1083,7 @@
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
.next
@@ -1127,7 +1146,7 @@
ld [hl], d
ret
-BattleAnimFunction_0D:
+BattleAnimFunction_Surf:
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@@ -1153,13 +1172,13 @@
add hl, bc
ld a, [hl]
cp e
- jr nc, .asm_cd69b
+ jr nc, .move
call BattleAnim_IncAnonJumptableIndex
xor a
ldh [hLYOverrideStart], a
ret
-.asm_cd69b
+.move
dec a
ld [hl], a
ld hl, BATTLEANIMSTRUCT_VAR1
@@ -1194,7 +1213,7 @@
add hl, bc
ld a, [hl]
cp $70
- jr c, asm_cd6da
+ jr c, .move_down
xor a
ldh [hLCDCPointer], a
ldh [hLYOverrideStart], a
@@ -1203,7 +1222,7 @@
call DeinitBattleAnimation
ret
-asm_cd6da:
+.move_down
inc a
inc a
ld [hl], a
@@ -1212,13 +1231,13 @@
ldh [hLYOverrideStart], a
ret
-BattleAnimFunction_0E:
+BattleAnimFunction_Sing:
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncd6ea
- dw Functioncd6f7
+ dw .zero
+ dw .one
-Functioncd6ea:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -1226,18 +1245,18 @@
add [hl] ; BATTLEANIMFRAMESET_25 BATTLEANIMFRAMESET_26
call ReinitBattleAnimFrameset
-Functioncd6f7:
+.one
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $b8
- jr c, .asm_cd704
+ jr c, .move
call DeinitBattleAnimation
ret
-.asm_cd704
+.move
ld a, $2
- call Functionce70a
+ call BattleAnim_StepToTarget
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -1249,24 +1268,24 @@
ld [hl], a
ret
-BattleAnimFunction_0F:
+BattleAnimFunction_WaterGun:
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncd725
- dw Functioncd728
- dw Functioncd763
- dw Functioncd776
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
-Functioncd725:
+.zero
call BattleAnim_IncAnonJumptableIndex
-Functioncd728:
+.one
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
cp $30
- jr c, .asm_cd747
+ jr c, .run_down
ld a, $2
- call Functionce70a
+ call BattleAnim_StepToTarget
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -1278,7 +1297,7 @@
ld [hl], a
ret
-.asm_cd747
+.run_down
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_28
call ReinitBattleAnimFrameset
@@ -1293,32 +1312,33 @@
ld a, [hl]
and $1
ld [hl], a
-Functioncd763:
+.two
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
cp $18
- jr nc, .asm_cd76e
+ jr nc, .splash
inc [hl]
ret
-.asm_cd76e
+.splash
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_29
call ReinitBattleAnimFrameset
-Functioncd776:
+.three
ret
-BattleAnimFunction_11:
+BattleAnimFunction_Powder:
+; Obj moves down and disappears at x coord $38
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
cp $38
- jr c, .asm_cd784
+ jr c, .move
call DeinitBattleAnimation
ret
-.asm_cd784
+.move
ld a, [hl]
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -1334,6 +1354,7 @@
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], d
+ ; Shakes object back and forth 16 pixels
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
@@ -1341,13 +1362,14 @@
ld [hl], a
ret
-BattleAnimFunction_14:
+BattleAnimFunction_Recover:
+; Obj moves in an ever shrinking circle. Obj Param defines initial position in the circle
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncd7ab
- dw Functioncd7d2
+ dw .zero
+ dw .one
-Functioncd7ab:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -1369,16 +1391,16 @@
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld [hl], $1
-Functioncd7d2:
+.one
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
and a
- jr nz, .asm_cd7de
+ jr nz, .move
call DeinitBattleAnimation
ret
-.asm_cd7de
+.move
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -1409,37 +1431,41 @@
dec [hl]
ret
-BattleAnimFunction_15:
+BattleAnimFunction_ThunderWave:
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncd81f
- dw Functioncd817
- dw Functioncd81f
- dw Functioncd820
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
-Functioncd817:
+.one
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_35
call ReinitBattleAnimFrameset
-Functioncd81f:
+.zero
+.two
ret
-Functioncd820:
+.three
call DeinitBattleAnimation
ret
-BattleAnimFunction_16:
+BattleAnimFunction_Clamp_Encore:
+; Claps two objects together, twice. Also used by Encore
+; Second object's frameset and position relative to first are both defined via this function
+; Obj Param: Distance from center (masked with $7F). Bit 7 flips object horizontally by switching to a different frameset
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncd835
- dw Functioncd860
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd893
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
-Functioncd835:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
@@ -1450,23 +1476,23 @@
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
bit 7, [hl]
- jr nz, .asm_cd852
+ jr nz, .flipped
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], $10
- jr .asm_cd858
+ jr .got_sine_start
-.asm_cd852
+.flipped
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], $30
-.asm_cd858
+.got_sine_start
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
and $7f
ld [hl], a
-Functioncd860:
+.one
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -1482,15 +1508,15 @@
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
- inc a ; BATTLEANIMFRAMESET_3B
- ; BATTLEANIMFRAMESET_A1
+ inc a ; BATTLEANIMFRAMESET_3B (Clamp Flipped)
+ ; BATTLEANIMFRAMESET_A1 (Hands Flipped)
jr .reinit
.load_no_inc
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
- ld a, [hl] ; BATTLEANIMFRAMESET_3A
- ; BATTLEANIMFRAMESET_A0
+ ld a, [hl] ; BATTLEANIMFRAMESET_3A (Clamp)
+ ; BATTLEANIMFRAMESET_A0 (Hands)
.reinit
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_VAR1
@@ -1499,43 +1525,49 @@
ld a, [hl]
and $1f
ret nz
-Functioncd88f:
+.two
+.three
+.four
+.five
call BattleAnim_IncAnonJumptableIndex
ret
-Functioncd893:
+.six
ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld [hl], $1
ret
-BattleAnimFunction_17:
+BattleAnimFunction_Bite:
+; Claps two objects together (vertically), twice
+; Second object's frameset and position relative to first are both defined via this function
+; Obj Param: Distance from center (masked with $7F). Bit 7 flips object vertically by switching to a different frameset
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncd8ab
- dw Functioncd8cc
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f9
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
-Functioncd8ab:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
bit 7, [hl]
- jr nz, .asm_cd8be
+ jr nz, .flipped
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], $10
- jr .asm_cd8c4
+ jr .got_sine_start
-.asm_cd8be
+.flipped
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], $30
-.asm_cd8c4
+.got_sine_start
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -1542,7 +1574,7 @@
and $7f
ld [hl], a
-Functioncd8cc:
+.one
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -1554,13 +1586,13 @@
add hl, bc
ld [hl], a
bit 7, a
- jr nz, .asm_cd8e6
+ jr nz, .flipped2
ld a, BATTLEANIMFRAMESET_3D
- jr .asm_cd8e8
+ jr .got_frameset
-.asm_cd8e6
+.flipped2
ld a, BATTLEANIMFRAMESET_3C
-.asm_cd8e8
+.got_frameset
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -1570,23 +1602,27 @@
and $1f
ret nz
-Functioncd8f5:
+.two
+.three
+.four
+.five
call BattleAnim_IncAnonJumptableIndex
ret
-Functioncd8f9:
+.six
ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld [hl], $1
ret
-BattleAnimFunction_18:
+BattleAnimFunction_SolarBeam:
+; Solar Beam charge up animation
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncd907
- dw Functioncd913
+ dw .zero
+ dw .one
-Functioncd907:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -1593,7 +1629,7 @@
ld [hl], $28
inc hl
ld [hl], $0
-Functioncd913:
+.one
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -1616,7 +1652,7 @@
add hl, bc
ld a, [hl]
and a
- jr z, .asm_cd950
+ jr z, .zero_radius
ld d, a
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
@@ -1633,52 +1669,55 @@
ld [hl], d
ret
-.asm_cd950
+.zero_radius
call DeinitBattleAnimation
ret
-BattleAnimFunction_19:
+BattleAnimFunction_Gust:
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncd961
- dw Functioncd96a
- dw Functioncd96e
- dw Functioncd96a
- dw Functioncd97b
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
-Functioncd961:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld [hl], $0
-Functioncd96a:
- call Functioncd99a
+.one
+.three
+ call .GustWobble
ret
-Functioncd96e:
+.two
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $88
- jr c, asm_cd988
+ jr c, .move
call BattleAnim_IncAnonJumptableIndex
ret
-Functioncd97b:
+.four
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $b8
- jr c, asm_cd988
+ jr c, .move
call DeinitBattleAnimation
ret
-asm_cd988:
- call Functioncd99a
+.move
+ call .GustWobble
+ ; Move horizontally every frame
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
inc [hl]
ld a, [hl]
+ ; Move in the vertically every other frame
and $1
ret nz
ld hl, BATTLEANIMSTRUCT_YCOORD
@@ -1686,8 +1725,9 @@
dec [hl]
ret
-Functioncd99a:
- call Functioncd9f4
+.GustWobble:
+ ; Circular movement where width is retrieved from a list, and height is 1/16 of that
+ call .GetGustRadius
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -1746,29 +1786,31 @@
ld [hl], a
ret
-Functioncd9f4:
+.GetGustRadius:
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld e, [hl]
ld d, 0
- ld hl, Unknown_cda01
+ ld hl, .GustOffsets
add hl, de
ld d, [hl]
ret
-Unknown_cda01:
+.GustOffsets:
db 8, 6, 5, 4, 5, 6, 8, 12, 16
-BattleAnimFunction_1C:
+BattleAnimFunction_Absorb:
+; Moves object from target to user and disappears when reaches x coord $30. Example: Absorb, Mega Drain, Leech Seed status
+; Obj Param: Speed in the X axis
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $30
- jr nc, .asm_cda17
+ jr nc, .move
call DeinitBattleAnimation
ret
-.asm_cda17
+.move
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -1782,20 +1824,21 @@
srl e
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
-.asm_cda2c
+.loop
inc [hl]
dec e
- jr nz, .asm_cda2c
+ jr nz, .loop
ret
-BattleAnimFunction_1F:
+BattleAnimFunction_Wrap:
+; Plays out object Frameset. Use anim_incobj to move to next frameset
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncda4c
- dw Functioncda3a
- dw Functioncda4c
+ dw .zero
+ dw .one
+ dw .two
-Functioncda3a:
+.one
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, [hl]
@@ -1803,10 +1846,11 @@
; BATTLEANIMFRAMESET_55
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_VAR1
+ ld hl, BATTLEANIMSTRUCT_VAR1 ; Unused?
add hl, bc
ld [hl], $8
-Functioncda4c:
+.zero
+.two
ret
BattleAnimFunction_LeechSeed:
@@ -1816,7 +1860,7 @@
dw .one
dw .two
dw .three
-.zero:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
@@ -1823,13 +1867,13 @@
ld [hl], $40
ret
-.one:
+.one
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
cp $20
jr c, .sprout
- call Functioncda8d
+ call BattleAnim_StepThrownToTarget
ret
.sprout
@@ -1839,7 +1883,7 @@
call BattleAnim_IncAnonJumptableIndex
ret
-.two:
+.two
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
@@ -1852,10 +1896,11 @@
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_58
call ReinitBattleAnimFrameset
-.three:
+.three
ret
-Functioncda8d:
+BattleAnim_StepThrownToTarget:
+; Inches object towards the opponent's side in a parabola arc defined by the lower and upper nybble of Obj Param
dec [hl]
ld d, $20
call BattleAnim_Sine
@@ -1862,7 +1907,7 @@
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], a
- ld hl, BATTLEANIMSTRUCT_02
+ ld hl, BATTLEANIMSTRUCT_FIX_Y
add hl, bc
ld a, [hl]
add $2
@@ -1903,14 +1948,15 @@
dec [hl]
ret
-BattleAnimFunction_3F:
+BattleAnimFunction_Spikes:
+; Object is thrown at target. After $20 frames it stops and waits another $20 frames then disappear
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncdadf
- dw Functioncdae9
- dw Functioncdaf9
+ dw .zero
+ dw .one
+ dw .two
-Functioncdadf:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
@@ -1917,22 +1963,23 @@
ld [hl], $40
ret
-Functioncdae9:
+.one
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
cp $20
- jr c, .asm_cdaf6
- call Functioncda8d
+ jr c, .wait
+ call BattleAnim_StepThrownToTarget
ret
-.asm_cdaf6
+.wait
call BattleAnim_IncAnonJumptableIndex
-Functioncdaf9:
+.two
ret
-BattleAnimFunction_1A:
- call BattleAnimFunction_03
+BattleAnimFunction_RazorWind:
+ call BattleAnimFunction_MoveInCircle
+ ; Causes object to skip ahead the circular motion every frame
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -1940,35 +1987,36 @@
ld [hl], a
ret
-BattleAnimFunction_1B:
+BattleAnimFunction_Kick:
+; Uses anim_setobj for different kick types
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncdb13
- dw Functioncdb14
- dw Functioncdb28
- dw Functioncdb50
- dw Functioncdb65
+ dw .zero
+ dw .one
+ dw .two ; Jump Kick, Hi Jump Kick
+ dw .three ; Rolling Kick
+ dw .four
-Functioncdb13:
+.zero
ret
-Functioncdb14:
+.one ; Unused?
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
cp $30
- jr c, .asm_cdb24
+ jr c, .unknown_cdb24
ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld [hl], $0
ret
-.asm_cdb24
+.unknown_cdb24
add $4
ld [hl], a
ret
-Functioncdb28:
+.two
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@@ -1979,7 +2027,7 @@
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
add hl, bc
set 0, [hl]
- ld hl, BATTLEANIMSTRUCT_02
+ ld hl, BATTLEANIMSTRUCT_FIX_Y
add hl, bc
ld [hl], $90
ld hl, BATTLEANIMSTRUCT_FRAME
@@ -1993,7 +2041,7 @@
dec [hl]
ret
-Functioncdb50:
+.three
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -2004,7 +2052,7 @@
ld hl, BATTLEANIMSTRUCT_DURATION
add hl, bc
ld [hl], $80
-Functioncdb65:
+.four
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@@ -2023,29 +2071,32 @@
ld [hl], a
ret
-BattleAnimFunction_1D:
+BattleAnimFunction_Egg:
+; Used by Egg Bomb and Softboiled
+; Obj Param: Defines jumptable starting index
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncdb9f
- dw Functioncdbb3
- dw Functioncdbcf
- dw Functioncdbeb
- dw Functioncdc74
- dw Functioncdc1a
- dw Functioncdbc1
- dw Functioncdc1e
- dw Functioncdc27
- dw Functioncdc39
- dw Functioncdc74
- dw Functioncdc48
- dw Functioncdc57
- dw Functioncdc74
+ dw .zero
+ dw .one ; Egg Bomb start
+ dw .two
+ dw .three
+ dw .four ; ret
+ dw .five
+ dw .six ; Softboiled obj 1 start
+ dw .seven
+ dw .eight
+ dw .nine
+ dw .ten ; ret
+ dw .eleven ; Softboiled obj 2 start
+ dw .twelve
+ dw .thirteen ; ret
-Functioncdb9f:
+.zero
+ ; Object starts here then jumps to the jumptable index defined by the Obj Param
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], $28
- inc hl
+ inc hl ; BATTLEANIMSTRUCT_VAR2
ld [hl], $10
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -2055,61 +2106,67 @@
ld [hl], a
ret
-Functioncdbb3:
+.one
+ ; Initial Egg Bomb arc movement to x coord $40
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $40
- jr nc, .asm_cdbbd
+ jr nc, .egg_bomb_vertical_wave
inc [hl]
-.asm_cdbbd
- call Functioncdc75
+.egg_bomb_vertical_wave
+ call .EggVerticalWaveMotion
ret
-Functioncdbc1:
+.six
+ ; Initial Softboiled arc movement to x coord $4b
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $4b
- jr nc, .asm_cdbcb
+ jr nc, .softboiled_vertical_wave
inc [hl]
-.asm_cdbcb
- call Functioncdc75
+.softboiled_vertical_wave
+ call .EggVerticalWaveMotion
ret
-Functioncdbcf:
+.two
+ ; Compares the egg's x coord to determine whether to move, wait or end animation
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $88
- jr nc, .asm_cdbe6
+ jr nc, .egg_bomb_done
and $f
- jr nz, asm_cdbfa
+ jr nz, .egg_bomb_step
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld [hl], $10
- call BattleAnim_IncAnonJumptableIndex
+ call BattleAnim_IncAnonJumptableIndex ; jumps to three
ret
-.asm_cdbe6
+.egg_bomb_done
+ ; Increases jumptable index twice to four
call BattleAnim_IncAnonJumptableIndex
inc [hl]
ret
-Functioncdbeb:
+.three
+ ; Waits in place
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
and a
- jr z, .asm_cdbf5
+ jr z, .done_waiting
dec [hl]
ret
-.asm_cdbf5
+.done_waiting
ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
dec [hl]
-asm_cdbfa:
+.egg_bomb_step
+ ; Moves towards the target
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
inc [hl]
@@ -2131,17 +2188,20 @@
ld [hl], e
ret
-Functioncdc1a:
+.five
+ ; Clears Egg Bomb object via anim_incobj
call DeinitBattleAnimation
ret
-Functioncdc1e:
- ld a, BATTLEANIMFRAMESET_4E
+.seven
+ ; Switches Softboiled frameset to egg wobbling
+ ld a, BATTLEANIMFRAMESET_4E ; Egg wobbling
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ret
-Functioncdc27:
+.eight
+ ; Softboiled object waves slightly side to side
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -2154,8 +2214,9 @@
ld [hl], a
ret
-Functioncdc39:
- ld a, BATTLEANIMFRAMESET_50
+.nine
+ ; First Softboiled ANIM_OBJ_EGG turns into the bottom half frameset
+ ld a, BATTLEANIMFRAMESET_50 ; Cracked egg bottom
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -2163,8 +2224,9 @@
call BattleAnim_IncAnonJumptableIndex
ret
-Functioncdc48:
- ld a, BATTLEANIMFRAMESET_4F
+.eleven
+ ; Second Softboiled ANIM_OBJ_EGG
+ ld a, BATTLEANIMFRAMESET_4F ; Cracked egg top
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
@@ -2172,7 +2234,8 @@
ld [hl], $40
ret
-Functioncdc57:
+.twelve
+ ; Top half of egg moves upward for $30 frames
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -2185,20 +2248,22 @@
add hl, bc
ld a, [hl]
cp $30
- jr c, .asm_cdc71
+ jr c, .done_top_shell
dec [hl]
ret
-.asm_cdc71
+.done_top_shell
call BattleAnim_IncAnonJumptableIndex
-Functioncdc74:
+.four
+.ten
+.thirteen
ret
-Functioncdc75:
+.EggVerticalWaveMotion:
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hli]
- ld d, [hl]
+ ld d, [hl] ; BATTLEANIMSTRUCT_VAR2
call BattleAnim_Sine
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -2207,7 +2272,7 @@
add hl, bc
inc [hl]
ld a, [hl]
- and $3f
+ and $3f ; cp 64
ret nz
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -2226,18 +2291,20 @@
call BattleAnim_IncAnonJumptableIndex
ret
-BattleAnimFunction_1E:
+BattleAnimFunction_MoveUp:
+; Moves object up for 41 frames
+; Obj Param: Movement speed
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
and a
- jr z, .asm_cdcb6
+ jr z, .move
cp $d8
- jr nc, .asm_cdcb6
+ jr nc, .move
call DeinitBattleAnimation
ret
-.asm_cdcb6
+.move
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld d, [hl]
@@ -2248,16 +2315,19 @@
ld [hl], a
ret
-BattleAnimFunction_21:
+BattleAnimFunction_Sound:
+; Moves object back and forth in one of three angles using a sine behavior and disappear after 8 frames. Used in Growl, Snore and Kinesis
+; Obj Param: Used to define object angle. How much to increase from base frameset, which is hardcoded as BATTLEANIMFRAMESET_59
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncdcca
- dw Functioncdced
+ dw .zero
+ dw .one
-Functioncdcca:
+.zero
ldh a, [hBattleTurn]
and a
- jr z, .asm_cdcd9
+ jr z, .got_turn
+ ; enemy
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -2264,11 +2334,11 @@
xor $ff
add $3
ld [hl], a
-.asm_cdcd9
+.got_turn
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
- ld [hl], $8
+ ld [hl], $8 ; duration
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, BATTLEANIMFRAMESET_59
@@ -2276,21 +2346,21 @@
call ReinitBattleAnimFrameset
ret
-Functioncdced:
+.one
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_cdcfa
+ jr z, .done_anim
dec [hl]
- call Functioncdcfe
+ call .SoundWaveMotion
ret
-.asm_cdcfa
+.done_anim
call DeinitBattleAnimation
ret
-Functioncdcfe:
+.SoundWaveMotion:
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
@@ -2306,15 +2376,17 @@
add hl, bc
ld a, [hl]
and a
- jr z, .asm_cdd20
+ jr z, .negative
dec a
ret z
+ ; Obj Param 2
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], d
ret
-.asm_cdd20
+.negative
+ ; Obj Param 0
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, d
@@ -2323,13 +2395,15 @@
ld [hl], a
ret
-BattleAnimFunction_22:
+BattleAnimFunction_ConfuseRay:
+; Creates the Confuse Ray object and moves it across the screen until x coord $80
+; Moves horizontally every frame and vertically every 3 frames
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncdd31
- dw Functioncdd4f
+ dw .zero
+ dw .one
-Functioncdd31:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -2348,7 +2422,7 @@
call ReinitBattleAnimFrameset
ret
-Functioncdd4f:
+.one
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -2379,11 +2453,11 @@
add hl, bc
ld a, [hl]
and $3
- jr nz, .asm_cdd87
+ jr nz, .skip_vertical_movement
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
dec [hl]
-.asm_cdd87
+.skip_vertical_movement
and $1
ret nz
ld hl, BATTLEANIMSTRUCT_XCOORD
@@ -2391,13 +2465,15 @@
inc [hl]
ret
-BattleAnimFunction_23:
+BattleAnimFunction_Dizzy:
+; Moves object in a circle where the height is 1/4 the width, with the next frameset from base whether moving left or right. Also used for Nightmare
+; Obj Param: Defines starting position in the circle (masked with $80). Bit 7 flips it at the start
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncdd97
- dw Functioncddbc
+ dw .zero
+ dw .one
-Functioncdd97:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
@@ -2420,7 +2496,7 @@
ld a, [hl]
and $7f
ld [hl], a
-Functioncddbc:
+.one
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -2444,7 +2520,7 @@
ld a, [hl]
inc [hl]
and $3f
- jr z, .asm_cddf0
+ jr z, .not_flipped
and $1f
ret nz
ld hl, BATTLEANIMSTRUCT_VAR1
@@ -2452,25 +2528,28 @@
ld a, [hl]
inc a ; BATTLEANIMFRAMESET_62
; BATTLEANIMFRAMESET_9D
- jr .asm_cddf5
+ jr .got_frameset
-.asm_cddf0
+.not_flipped
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl] ; BATTLEANIMFRAMESET_61
; BATTLEANIMFRAMESET_9C
-.asm_cddf5
+.got_frameset
call ReinitBattleAnimFrameset
ret
-BattleAnimFunction_24:
+BattleAnimFunction_Amnesia:
+; Creates 3 objects based on Obj Param
+; Obj Param: How much to increase from base frameset, which is hardcoded as BATTLEANIMFRAMESET_63
+; anim_incobj is used to DeInit object (used by Present)
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncde02
- dw Functioncde20
- dw Functioncde21
+ dw .zero
+ dw .one
+ dw .two
-Functioncde02:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -2481,23 +2560,25 @@
add hl, bc
ld e, [hl]
ld d, 0
- ld hl, Unknown_cde25
+ ld hl, .AmnesiaOffsets
add hl, de
ld a, [hl]
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], a
-Functioncde20:
+.one
ret
-Functioncde21:
+.two
+ ; anim_incobj forces obj to deinit
call DeinitBattleAnimation
ret
-Unknown_cde25:
+.AmnesiaOffsets: ; Hardcoded Y Offsets for each Obj Param
db $ec, $f8, $00
-BattleAnimFunction_25:
+BattleAnimFunction_FloatUp:
+; Object moves horizontally in a sine wave, while also moving up. Also used by Charm and the Nightmare status
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -2526,7 +2607,8 @@
ld [hl], e
ret
-BattleAnimFunction_26:
+BattleAnimFunction_Dig:
+; Object moves up then down with a wave motion, while also moving away from the user 1 pixel per frame
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -2542,35 +2624,38 @@
inc [hl]
ret
-BattleAnimFunction_27:
+BattleAnimFunction_String:
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncde72
- dw Functioncde88
+ dw .zero
+ dw .one
-Functioncde72:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
and a
- jr nz, .asm_cde83
+ jr nz, .not_param_zero
+ ; Obj Param 0 flips when used by enemy
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
add hl, bc
- set 6, [hl]
-.asm_cde83
+ set OAM_Y_FLIP, [hl]
+.not_param_zero
add BATTLEANIMFRAMESET_6A ; BATTLEANIMFRAMESET_6B BATTLEANIMFRAMESET_6C
call ReinitBattleAnimFrameset
-Functioncde88:
+.one
ret
-BattleAnimFunction_28:
+BattleAnimFunction_Paralyzed:
+; Also used by Disable
+; Obj Param: When bit 7 is set, frameset is replaced with flipped version. This bit is discarded and object then moves back and forth between position in lower nybble and upper nybble of Param every other frame
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncde90
- dw Functioncdebf
+ dw .zero
+ dw .one
-Functioncde90:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -2586,13 +2671,13 @@
add hl, bc
ld a, e
and $80
- jr nz, .asm_cdeb2
+ jr nz, .right
ld a, e
and $f
ld [hl], a
ret
-.asm_cdeb2
+.right
ld a, e
and $f
xor $ff
@@ -2602,16 +2687,16 @@
call ReinitBattleAnimFrameset
ret
-Functioncdebf:
+.one
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_cdec9
+ jr z, .var1_zero
dec [hl]
ret
-.asm_cdec9
+.var1_zero
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -2667,7 +2752,8 @@
call DeinitBattleAnimation
ret
-BattleAnimFunction_2D:
+BattleAnimFunction_PetalDance:
+; Object moves downwards in a spiral around the user. Object disappears at y coord $28
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -2700,11 +2786,11 @@
add hl, bc
ld a, [hl]
cp $28
- jr nc, .asm_cdf55
+ jr nc, .end
inc [hl]
ret
-.asm_cdf55
+.end
call DeinitBattleAnimation
ret
@@ -2711,10 +2797,10 @@
BattleAnimFunction_PoisonGas:
call BattleAnim_AnonJumptable
.anon_dw
- dw Functioncdf60
+ dw .zero
dw BattleAnimFunction_SpiralDescent
-Functioncdf60:
+.zero:
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@@ -2744,7 +2830,9 @@
call BattleAnim_IncAnonJumptableIndex
ret
-BattleAnimFunction_34:
+BattleAnimFunction_SmokeFlameWheel:
+; Object spins around target while also moving upward until it disappears at x coord $e8
+; Obj Param: Defines where the object starts in the circle
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -2778,15 +2866,17 @@
add hl, bc
ld a, [hl]
cp $e8
- jr z, .asm_cdfc7
+ jr z, .done
dec [hl]
ret
-.asm_cdfc7
+.done
call DeinitBattleAnimation
ret
-BattleAnimFunction_3C:
+BattleAnimFunction_SacredFire:
+; Moves object in a circle where the height is 1/8 the width, while also moving upward 2 pixels per frame for 24 frames after which it disappears
+; Obj Param: Is used internally only
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -2820,23 +2910,25 @@
add hl, bc
ld a, [hl]
cp $d0
- jr z, .asm_ce007
+ jr z, .done
dec [hl]
dec [hl]
ret
-.asm_ce007
+.done
call DeinitBattleAnimation
ret
-BattleAnimFunction_35:
+BattleAnimFunction_PresentSmokescreen:
+; Object bounces from user to target and stops at x coord $6c. Uses anim_incobj to clear object
+; Obj Param: Defined but not used
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce014
- dw Functionce023
- dw Functionce05f
+ dw .zero
+ dw .one
+ dw .two
-Functionce014:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -2844,17 +2936,17 @@
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld [hl], $10
-Functionce023:
+.one
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $6c
- jr c, .asm_ce02d
+ jr c, .do_move
ret
-.asm_ce02d
+.do_move
ld a, $2
- call Functionce70a
+ call BattleAnim_StepToTarget
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -2863,10 +2955,10 @@
ld d, [hl]
call BattleAnim_Sine
bit 7, a
- jr nz, .asm_ce046
+ jr nz, .negative
xor $ff
inc a
-.asm_ce046
+.negative
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], a
@@ -2883,7 +2975,7 @@
srl [hl]
ret
-Functionce05f:
+.two
call DeinitBattleAnimation
ret
@@ -2893,8 +2985,9 @@
dw .zero
dw .one
dw .two
- dw Functionce09e
-.zero:
+ dw .three
+
+.zero
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -2909,7 +3002,7 @@
ld [hl], a
ret
-.one:
+.one
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@@ -2916,19 +3009,19 @@
cp $58
ret nc
ld a, $2
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
-.two:
+.two
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
cp $20
- jr c, Functionce09e
+ jr c, .three
call DeinitBattleAnimation
ret
-Functionce09e:
+.three
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
@@ -2953,14 +3046,16 @@
ld [hl], a
ret
-BattleAnimFunction_2C:
+BattleAnimFunction_Needle:
+; Moves object towards target, either in a straight line or arc. Stops at x coord $84
+; Obj Param: Upper nybble defines the index of the jumptable. Lower nybble defines the speed.
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce0ce
- dw Functionce0f8
- dw Functionce0dd
+ dw .zero
+ dw .one
+ dw .two
-Functionce0ce:
+.zero
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -2971,7 +3066,8 @@
ld [hl], a
ret
-Functionce0dd:
+.two
+ ; Pin Missile needle (arc)
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -2980,37 +3076,40 @@
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
bit 7, a
- jr z, .asm_ce0f0
+ jr z, .negative
ld [hl], a
-.asm_ce0f0
+.negative
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
sub $4
ld [hl], a
-Functionce0f8:
+.one
+ ; Normal needle (line)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $84
- jr c, .asm_ce105
+ jr c, .move_to_target
call DeinitBattleAnimation
ret
-.asm_ce105
+.move_to_target
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
-BattleAnimFunction_2E:
+BattleAnimFunction_ThiefPayday:
+; Object drops off target and bounces once on the floor
+; Obj Param: Defines every how many frames the object moves horizontally
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce115
- dw Functionce12a
+ dw .zero
+ dw .one
-Functionce115:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -3022,7 +3121,7 @@
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld [hl], a
-Functionce12a:
+.one
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hli]
@@ -3037,11 +3136,11 @@
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
and [hl]
- jr nz, .asm_ce149
+ jr nz, .var_doesnt_equal_param
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
dec [hl]
-.asm_ce149
+.var_doesnt_equal_param
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
inc [hl]
@@ -3055,7 +3154,9 @@
srl [hl]
ret
-BattleAnimFunction_2F:
+BattleAnimFunction_AbsorbCircle:
+; A circle of objects that starts at the target and moves to the user. It expands until x coord $5a and then shrinks. Once radius reaches 0, the object disappears. Also used by Mimic and Conversion2
+; Obj Param: Defines the position in the circle the object starts at
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3079,20 +3180,20 @@
inc [hl]
ld a, [hl]
and $1
- jr nz, .asm_ce189
+ jr nz, .dont_move_x
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
dec [hl]
-.asm_ce189
+.dont_move_x
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
and $3
- jr nz, .asm_ce197
+ jr nz, .dont_move_y
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
inc [hl]
-.asm_ce197
+.dont_move_y
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@@ -3099,22 +3200,24 @@
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
cp $5a
- jr nc, .asm_ce1aa
+ jr nc, .increase_radius
ld a, [hl]
and a
- jr z, .asm_ce1ac
- dec [hl]
+ jr z, .end
+ dec [hl] ; decreases radius
ret
-.asm_ce1aa
+.increase_radius
inc [hl]
ret
-.asm_ce1ac
+.end
call DeinitBattleAnimation
ret
-BattleAnimFunction_42:
+BattleAnimFunction_Conversion:
+; A rotating circle of objects centered at a position. It expands for $40 frames and then shrinks. Once radius reaches 0, the object disappears.
+; Obj Param: Defines starting point in the circle
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3141,11 +3244,11 @@
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
cp $40
- jr nc, .asm_ce1df
+ jr nc, .shrink
inc [hl]
ret
-.asm_ce1df
+.shrink
ld a, [hl]
dec [hl]
and a
@@ -3153,13 +3256,15 @@
call DeinitBattleAnimation
ret
-BattleAnimFunction_30:
+BattleAnimFunction_Bonemerang:
+; Boomerang-like movement from user to target
+; Obj Param: Defines position to start at in the circle
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce1ee
- dw Functionce1fb
+ dw .zero
+ dw .one
-Functionce1ee:
+.zero:
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
@@ -3167,7 +3272,7 @@
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld [hl], a
-Functionce1fb:
+.one:
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3193,13 +3298,15 @@
inc [hl]
ret
-BattleAnimFunction_31:
+BattleAnimFunction_Shiny:
+; Puts object in a circle formation of radius $10. Also used by Flash and Light Screen
+; Obj Param: Defines where the object starts in the circle
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce22d
- dw Functionce254
+ dw .zero
+ dw .one
-Functionce22d:
+.zero:
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -3217,42 +3324,44 @@
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
- ld hl, BATTLEANIMSTRUCT_VAR2
+ ld hl, BATTLEANIMSTRUCT_VAR2 ; unused?
add hl, bc
ld [hl], $f
-Functionce254:
+.one:
ret
-BattleAnimFunction_32:
+BattleAnimFunction_SkyAttack:
+; Uses anim_incobj to move to next step
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce260
- dw Functionce274
- dw Functionce278
- dw Functionce289
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
-Functionce260:
+.zero
call BattleAnim_IncAnonJumptableIndex
ldh a, [hBattleTurn]
and a
- jr nz, .asm_ce26c
+ jr nz, .enemy_turn
ld a, $f0
- jr .asm_ce26e
+ jr .got_var1
-.asm_ce26c
+.enemy_turn
ld a, $cc
-.asm_ce26e
+.got_var1
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], a
ret
-Functionce274:
- call Functionce29f
+.one
+ call .SkyAttack_CyclePalette
ret
-Functionce278:
- call Functionce29f
+.two
+; Moves towards target and stops at x coord $84
+ call .SkyAttack_CyclePalette
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@@ -3259,25 +3368,27 @@
cp $84
ret nc
ld a, $4
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
-Functionce289:
- call Functionce29f
+.three
+; Moves towards target and disappears at x coord $d0
+ call .SkyAttack_CyclePalette
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $d0
- jr nc, .asm_ce29b
+ jr nc, .done
ld a, $4
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
-.asm_ce29b
+.done
call DeinitBattleAnimation
ret
-Functionce29f:
+.SkyAttack_CyclePalette:
+; Cycles wOBP0 pallete
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
@@ -3288,13 +3399,13 @@
ld d, $0
ldh a, [hSGB]
and a
- jr nz, .asm_ce2b6
- ld hl, Unknown_ce2c4
- jr .asm_ce2b9
+ jr nz, .sgb
+ ld hl, .GBCPals
+ jr .got_pals
-.asm_ce2b6
- ld hl, Unknown_ce2c8
-.asm_ce2b9
+.sgb
+ ld hl, .SGBPals
+.got_pals
add hl, de
ld a, [hl]
ld hl, BATTLEANIMSTRUCT_VAR1
@@ -3303,12 +3414,14 @@
ld [wOBP0], a
ret
-Unknown_ce2c4:
+.GBCPals:
db $ff, $aa, $55, $aa
-Unknown_ce2c8:
+.SGBPals:
db $ff, $ff, $00, $00
-BattleAnimFunction_33:
+BattleAnimFunction_GrowthSwordsDance:
+; Moves object in a circle where the height is 1/8 the width, while also moving upward 2 pixels per frame
+; Obj Param: Defines where the object starts in the circle
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3338,19 +3451,21 @@
dec [hl]
ret
-BattleAnimFunction_36:
+BattleAnimFunction_StrengthSeismicToss:
+; Moves object up for $e0 frames, then shakes it vertically and throws it at the target. Uses anim_incobj to move to final phase
+; Obj Param: Defined but not used
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce306
- dw Functionce330
- dw Functionce34c
+ dw .zero
+ dw .one
+ dw .two
-Functionce306:
+.zero
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
cp $e0
- jr nz, .asm_ce319
+ jr nz, .move_up
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -3357,7 +3472,7 @@
ld [hl], $2
ret
-.asm_ce319
+.move_up
ld d, a
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -3374,16 +3489,16 @@
ld [hl], e
ret
-Functionce330:
+.one
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
and a
- jr z, .asm_ce33a
+ jr z, .switch_position
dec [hl]
ret
-.asm_ce33a
+.switch_position
ld [hl], $4
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -3397,27 +3512,28 @@
ld [hl], a
ret
-Functionce34c:
+.two
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $84
- jr nc, .asm_ce35b
+ jr nc, .done
ld a, $4
- call Functionce70a
+ call BattleAnim_StepToTarget
ret
-.asm_ce35b
+.done
call DeinitBattleAnimation
ret
-BattleAnimFunction_37:
+BattleAnimFunction_SpeedLine:
+; Used in moves where the user disappears for a speed-based attack such as Quick Attack, Mach Punch and Extremespeed
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce366
- dw Functionce375
+ dw .zero
+ dw .one
-Functionce366:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -3425,30 +3541,31 @@
and $7f
add BATTLEANIMFRAMESET_81 ; BATTLEANIMFRAMESET_82 BATTLEANIMFRAMESET_83
call ReinitBattleAnimFrameset
-Functionce375:
+.one
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
bit 7, [hl]
- jr nz, .asm_ce383
+ jr nz, .inverted
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
inc [hl]
ret
-.asm_ce383
+.inverted
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
dec [hl]
ret
-BattleAnimFunction_38:
+BattleAnimFunction_Sludge:
+; Object moves upward for $c frames and switches to FRAMESET_20
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce392
- dw Functionce39c
- dw Functionce3ae
+ dw .zero
+ dw .one
+ dw .two
-Functionce392:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -3455,26 +3572,27 @@
ld [hl], $c
ret
-Functionce39c:
+.one
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_ce3a6
+ jr z, .done
dec [hl]
ret
-.asm_ce3a6
+.done
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_20
call ReinitBattleAnimFrameset
-Functionce3ae:
+.two
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
dec [hl]
ret
-BattleAnimFunction_39:
+BattleAnimFunction_MetronomeHand:
+; Fast circular motion with an x radius of $8 and y radius of $2
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -3494,16 +3612,18 @@
ld [hl], a
ret
-BattleAnimFunction_3A:
+BattleAnimFunction_MetronomeSparkleSketch:
+; Sideways wave motion while also moving downward until it disappears at y coord $20
+; Obj Param: Is used internally only
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
cp $20
- jr c, .asm_ce3df
+ jr c, .do_move
call DeinitBattleAnimation
ret
-.asm_ce3df
+.do_move
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3524,13 +3644,14 @@
inc [hl]
ret
-BattleAnimFunction_3B:
+BattleAnimFunction_Agility:
+; Object moves sideways at a speed determined by Obj Param. Can use anim_incobj to make it disappear
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce406
- dw Functionce412
+ dw .zero
+ dw .one
-Functionce406:
+.zero
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3540,11 +3661,13 @@
ld [hl], a
ret
-Functionce412:
+.one
call DeinitBattleAnimation
ret
-BattleAnimFunction_3D:
+BattleAnimFunction_SafeguardProtect:
+; Moves object in a circle where the width is 1/2 the height
+; Obj Param: Defines starting point in circle
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3568,14 +3691,16 @@
inc [hl]
ret
-BattleAnimFunction_3E:
+BattleAnimFunction_LockOnMindReader:
+; Moves objects towards a center position
+; Obj Param: Used to define object angle from 0 to 3. Lower nybble defines how much to increase from base frameset while upper nybble defines angle of movement. The object moves for $28 frames, then waits for $10 frames and disappears
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce443
- dw Functionce465
- dw Functionce490
+ dw .zero
+ dw .one
+ dw .two
-Functionce443:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -3595,12 +3720,12 @@
and $f0
or $8
ld [hl], a
-Functionce465:
+.one
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_ce48b
+ jr z, .done
dec [hl]
add $8
ld d, a
@@ -3621,10 +3746,10 @@
ld [hl], a
ret
-.asm_ce48b
+.done
ld [hl], $10
call BattleAnim_IncAnonJumptableIndex
-Functionce490:
+.two
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@@ -3634,13 +3759,15 @@
call DeinitBattleAnimation
ret
-BattleAnimFunction_40:
+BattleAnimFunction_HealBellNotes:
+; Object moves horizontally in a sine wave, while also moving left every other frame and downwards for $38 frames after which it disappears
+; Obj Param: Defines a frameset offset from FRAMESET_24
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce4a3
- dw Functionce4b0
+ dw .zero
+ dw .one
-Functionce4a3:
+.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -3647,12 +3774,12 @@
ld a, BATTLEANIMFRAMESET_24
add [hl] ; BATTLEANIMFRAMESET_25 BATTLEANIMFRAMESET_26
call ReinitBattleAnimFrameset
-Functionce4b0:
+.one
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
cp $38
- jr nc, .asm_ce4d8
+ jr nc, .done
inc [hl]
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@@ -3673,11 +3800,13 @@
dec [hl]
ret
-.asm_ce4d8
+.done
call DeinitBattleAnimation
ret
-BattleAnimFunction_41:
+BattleAnimFunction_BatonPass:
+; Object falls vertially and bounces on the ground
+; Obj Param: Defines speed and duration
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3690,10 +3819,10 @@
inc [hl]
call BattleAnim_Sine
bit 7, a
- jr nz, .asm_ce4f4
+ jr nz, .negative
xor $ff
inc a
-.asm_ce4f4
+.negative
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], a
@@ -3707,12 +3836,14 @@
srl [hl]
ret
-BattleAnimFunction_43:
+BattleAnimFunction_EncoreBellyDrum:
+; Object moves at an arc for 8 frames and disappears
+; Obj Param: Defines startging position in the arc
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
cp $10
- jr nc, .asm_ce52e
+ jr nc, .done
inc [hl]
inc [hl]
ld d, a
@@ -3733,11 +3864,13 @@
ld [hl], a
ret
-.asm_ce52e
+.done
call DeinitBattleAnimation
ret
-BattleAnimFunction_44:
+BattleAnimFunction_SwaggerMorningSun:
+; Moves object at an angle
+; Obj Param: Lower 6 bits define angle of movement and upper 2 bits define speed
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld e, [hl]
@@ -3766,32 +3899,34 @@
ld [hl], a
ret
-BattleAnimFunction_45:
+BattleAnimFunction_HiddenPower:
+; Moves object in a ring around position. Uses anim_incobj to move to second phase, where it expands the radius 8 pixels at a time for 13 frames and then disappears
+; Obj Param: Defines starting position in circle
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce564
- dw Functionce56e
- dw Functionce577
+ dw .zero
+ dw .one
+ dw .two
-Functionce564:
+.zero
ld d, $18
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
inc [hl]
- jr asm_ce58f
+ jr .step_circle
-Functionce56e:
+.one
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], $18
-Functionce577:
+.two
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
cp $80
- jr nc, .asm_ce58b
+ jr nc, .done
ld d, a
add $8
ld [hl], a
@@ -3798,28 +3933,29 @@
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
- jr asm_ce58f
+ jr .step_circle
-.asm_ce58b
+.done
call DeinitBattleAnimation
ret
-asm_ce58f:
- call Functionce6f1
+.step_circle
+ call BattleAnim_StepCircle
ret
-BattleAnimFunction_46:
+BattleAnimFunction_Curse:
+; Object moves down and to the left 2 pixels at a time until it reaches x coord $30 and disappears
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce5b3
- dw Functionce59a
+ dw .zero
+ dw .one
-Functionce59a:
+.one
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
cp $30
- jr c, .asm_ce5b0
+ jr c, .done
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
dec [hl]
@@ -3830,12 +3966,14 @@
inc [hl]
ret
-.asm_ce5b0
+.done
call DeinitBattleAnimation
-Functionce5b3:
+.zero:
ret
-BattleAnimFunction_47:
+BattleAnimFunction_PerishSong:
+; Moves object in a large circle with a x radius of $50 and a y radius 1/4 or that, while also moving downwards
+; Obj Param: Defines starting position in the circle
ld d, $50
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -3862,12 +4000,13 @@
ld [hl], a
ret
-BattleAnimFunction_48:
+BattleAnimFunction_RapidSpin:
+; Object moves upwards 4 pixels per frame until it disappears at y coord $d0
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
cp $d0
- jr z, .disappear
+ jr z, .done
dec [hl]
dec [hl]
dec [hl]
@@ -3874,34 +4013,37 @@
dec [hl]
ret
-.disappear
+.done
call DeinitBattleAnimation
ret
-BattleAnimFunction_49:
+BattleAnimFunction_BetaPursuit:
+; Working but unused animation
+; Object moves either down or up 4 pixels per frame, depending on Obj Param. Object disappears after 23 frames when going down, or at y coord $d8 when going up
+; Obj Param: 0 moves downwards, 1 moves upwards
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce5f9
- dw Functionce60a
- dw Functionce622
- dw Functionce618
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
-Functionce5f9:
+.zero
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
and a
- jr nz, asm_ce61c
+ jr nz, .move_up
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], $ec
-Functionce60a:
+.one
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
cp $4
- jr z, Functionce618
+ jr z, .three
inc [hl]
inc [hl]
inc [hl]
@@ -3908,14 +4050,14 @@
inc [hl]
ret
-Functionce618:
+.three
call DeinitBattleAnimation
ret
-asm_ce61c:
+.move_up
call BattleAnim_IncAnonJumptableIndex
call BattleAnim_IncAnonJumptableIndex
-Functionce622:
+.two
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
@@ -3927,15 +4069,20 @@
dec [hl]
ret
-BattleAnimFunction_4A:
+BattleAnimFunction_RainSandstorm:
+; Object moves down 4 pixels at a time and right a variable distance
+; Obj Param: Defines variation in the movement
+; $0: 2 pixels horizontal movement
+; $1: 8 pixels horizontal movement
+; $2: 4 pixels horizontal movement
call BattleAnim_AnonJumptable
.anon_dw
- dw Functionce63a
- dw Functionce648
- dw Functionce65c
- dw Functionce672
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
-Functionce63a:
+.zero
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
@@ -3945,15 +4092,15 @@
call BattleAnim_IncAnonJumptableIndex
ret
-Functionce648:
+.one ; Obj Param 0
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
add $4
cp $70
- jr c, .asm_ce654
+ jr c, .dont_reset_y_offset_one
xor a
-.asm_ce654
+.dont_reset_y_offset_one
ld [hl], a
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
@@ -3961,15 +4108,15 @@
inc [hl]
ret
-Functionce65c:
+.two ; Obj Param 1
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
add $4
cp $70
- jr c, .asm_ce668
+ jr c, .dont_reset_y_offset_two
xor a
-.asm_ce668
+.dont_reset_y_offset_two
ld [hl], a
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
@@ -3978,15 +4125,15 @@
ld [hl], a
ret
-Functionce672:
+.three ; Obj Param 2
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
add $4
cp $70
- jr c, .asm_ce67e
+ jr c, .dont_reset_y_offset_three
xor a
-.asm_ce67e
+.dont_reset_y_offset_three
ld [hl], a
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
@@ -3995,7 +4142,9 @@
ld [hl], a
ret
-BattleAnimFunction_4B:
+BattleAnimFunction_AnimObjB0: ; unused
+; Used by object ANIM_OBJ_B0, with itself is not used in any animation
+; Obj Param: Lower nybble is added to VAR1 while upper nybble is added to XCOORD
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
ld d, [hl]
@@ -4026,16 +4175,20 @@
ld [hl], e
ret
-BattleAnimFunction_4C:
+BattleAnimFunction_PsychUp:
+; Object moves in a circle
+; Obj Param: Defines starting position in the circle
ld d, $18
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
inc [hl]
- call Functionce6f1
+ call BattleAnim_StepCircle
ret
-BattleAnimFunction_4F:
+BattleAnimFunction_Cotton:
+; Object moves in a circle slowly
+; Obj Param: Defines starting position in the circle
ld d, $18
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
@@ -4045,15 +4198,17 @@
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
add [hl]
- call Functionce6f1
+ call BattleAnim_StepCircle
ret
-BattleAnimFunction_4D:
+BattleAnimFunction_AncientPower:
+; Object moves up and down in an arc for $20 frames and then disappear
+; Obj Param: Defines range of arc motion
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
cp $20
- jr nc, .asm_ce6ed
+ jr nc, .done
inc [hl]
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@@ -4066,11 +4221,12 @@
ld [hl], a
ret
-.asm_ce6ed
+.done
call DeinitBattleAnimation
ret
-Functionce6f1:
+BattleAnim_StepCircle:
+; Inches object in a circular movement where its height is 1/4 the width
push af
push de
call BattleAnim_Sine
@@ -4087,7 +4243,8 @@
ld [hl], a
ret
-Functionce70a:
+BattleAnim_StepToTarget:
+; Inches object towards the opponent's side, moving half as much in the Y axis as it did in the X axis. Uses lower nybble of A
and $f
ld e, a
ld hl, BATTLEANIMSTRUCT_XCOORD
@@ -4097,10 +4254,10 @@
srl e
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
-.asm_ce719
+.loop
dec [hl]
dec e
- jr nz, .asm_ce719
+ jr nz, .loop
ret
BattleAnim_AnonJumptable:
--- a/wram.asm
+++ b/wram.asm
@@ -3221,7 +3221,7 @@
NEXTU
wBattleAnimTempOAMFlags:: db
-wBattleAnimTempField02:: db
+wBattleAnimTempFixY:: db
wBattleAnimTempTileID:: db
wBattleAnimTempXCoord:: db
wBattleAnimTempYCoord:: db