; battle_anim_struct members (see macros/ram.asm) rsreset DEF BATTLEANIMSTRUCT_INDEX rb ; 00 DEF BATTLEANIMSTRUCT_OAMFLAGS rb ; 01 DEF BATTLEANIMSTRUCT_FIX_Y rb ; 02 DEF BATTLEANIMSTRUCT_FRAMESET_ID rb ; 03 DEF BATTLEANIMSTRUCT_FUNCTION rb ; 04 DEF BATTLEANIMSTRUCT_PALETTE rb ; 05 DEF BATTLEANIMSTRUCT_TILEID rb ; 06 DEF BATTLEANIMOBJ_LENGTH EQU _RS - 1 ; discount BATTLEANIMSTRUCT_INDEX DEF BATTLEANIMSTRUCT_XCOORD rb ; 07 DEF BATTLEANIMSTRUCT_YCOORD rb ; 08 DEF BATTLEANIMSTRUCT_XOFFSET rb ; 09 DEF BATTLEANIMSTRUCT_YOFFSET rb ; 0a DEF BATTLEANIMSTRUCT_PARAM rb ; 0b DEF BATTLEANIMSTRUCT_DURATION rb ; 0c DEF BATTLEANIMSTRUCT_FRAME rb ; 0d DEF BATTLEANIMSTRUCT_JUMPTABLE_INDEX rb ; 0e DEF BATTLEANIMSTRUCT_VAR1 rb ; 0f DEF BATTLEANIMSTRUCT_VAR2 rb ; 10 rb_skip 7 DEF BATTLEANIMSTRUCT_LENGTH EQU _RS DEF NUM_BATTLE_ANIM_STRUCTS EQU 10 ; see wActiveAnimObjects ; wBattleAnimTileDict size (see wram.asm) DEF NUM_BATTLEANIMTILEDICT_ENTRIES EQU 5 ; Start tile for battle animation graphics DEF BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture ; BattleAnimObjects indexes (see data/battle_anims/objects.asm) const_def const BATTLE_ANIM_OBJ_HIT_BIG_YFIX const BATTLE_ANIM_OBJ_HIT_YFIX const BATTLE_ANIM_OBJ_HIT_SMALL_YFIX const BATTLE_ANIM_OBJ_HIT_BIG const BATTLE_ANIM_OBJ_HIT const BATTLE_ANIM_OBJ_HIT_SMALL const BATTLE_ANIM_OBJ_PUNCH const BATTLE_ANIM_OBJ_KICK const BATTLE_ANIM_OBJ_PALM const BATTLE_ANIM_OBJ_FANG const BATTLE_ANIM_OBJ_PUNCH_SHAKE const BATTLE_ANIM_OBJ_EMBER const BATTLE_ANIM_OBJ_DRAGON_RAGE const BATTLE_ANIM_OBJ_FLAMETHROWER const BATTLE_ANIM_OBJ_FIRE_SPIN const BATTLE_ANIM_OBJ_FIRE_BLAST const BATTLE_ANIM_OBJ_BURNED const BATTLE_ANIM_OBJ_BLIZZARD const BATTLE_ANIM_OBJ_ICE const BATTLE_ANIM_OBJ_ICE_BEAM const BATTLE_ANIM_OBJ_RAZOR_LEAF const BATTLE_ANIM_OBJ_POKE_BALL const BATTLE_ANIM_OBJ_POKE_BALL_BLOCKED const BATTLE_ANIM_OBJ_EXPLOSION1 const BATTLE_ANIM_OBJ_EXPLOSION2 const BATTLE_ANIM_OBJ_ACID const BATTLE_ANIM_OBJ_SLUDGE const BATTLE_ANIM_OBJ_BETA_BALL_POOF const BATTLE_ANIM_OBJ_BALL_POOF const BATTLE_ANIM_OBJ_BIG_ROCK const BATTLE_ANIM_OBJ_SMALL_ROCK const BATTLE_ANIM_OBJ_STRENGTH const BATTLE_ANIM_OBJ_SEISMIC_TOSS const BATTLE_ANIM_OBJ_BUBBLE const BATTLE_ANIM_OBJ_SURF const BATTLE_ANIM_OBJ_SING const BATTLE_ANIM_OBJ_WATER_GUN const BATTLE_ANIM_OBJ_HYDRO_PUMP const BATTLE_ANIM_OBJ_POWDER const BATTLE_ANIM_OBJ_BEAM const BATTLE_ANIM_OBJ_BEAM_TIP const BATTLE_ANIM_OBJ_ICE_BUILDUP const BATTLE_ANIM_OBJ_FROZEN const BATTLE_ANIM_OBJ_MASTER_BALL_SPARKLE const BATTLE_ANIM_OBJ_RECOVER const BATTLE_ANIM_OBJ_THUNDER_CENTER const BATTLE_ANIM_OBJ_THUNDER_LEFT const BATTLE_ANIM_OBJ_THUNDER_RIGHT const BATTLE_ANIM_OBJ_THUNDER_WAVE const BATTLE_ANIM_OBJ_SPARKS_CIRCLE_BIG const BATTLE_ANIM_OBJ_THUNDERBOLT_BALL const BATTLE_ANIM_OBJ_SPARKS_CIRCLE const BATTLE_ANIM_OBJ_THUNDERSHOCK_BALL const BATTLE_ANIM_OBJ_CLAMP const BATTLE_ANIM_OBJ_BITE const BATTLE_ANIM_OBJ_CUT_DOWN_LEFT const BATTLE_ANIM_OBJ_CUT_DOWN_RIGHT const BATTLE_ANIM_OBJ_CUT_UP_RIGHT const BATTLE_ANIM_OBJ_CUT_LONG_DOWN_LEFT const BATTLE_ANIM_OBJ_CUT_LONG_DOWN_RIGHT const BATTLE_ANIM_OBJ_SOLAR_BEAM_CHARGE const BATTLE_ANIM_OBJ_ABSORB_CENTER const BATTLE_ANIM_OBJ_GUST const BATTLE_ANIM_OBJ_VINE_WHIP1 const BATTLE_ANIM_OBJ_VINE_WHIP2 const BATTLE_ANIM_OBJ_RAZOR_WIND1 const BATTLE_ANIM_OBJ_RAZOR_WIND2 const BATTLE_ANIM_OBJ_SONICBOOM_JP const BATTLE_ANIM_OBJ_WARP const BATTLE_ANIM_OBJ_ABSORB const BATTLE_ANIM_OBJ_EGG const BATTLE_ANIM_OBJ_FOCUS const BATTLE_ANIM_OBJ_BIND1 const BATTLE_ANIM_OBJ_BIND2 const BATTLE_ANIM_OBJ_LEECH_SEED const BATTLE_ANIM_OBJ_SOUND const BATTLE_ANIM_OBJ_WAVE const BATTLE_ANIM_OBJ_CONFUSE_RAY const BATTLE_ANIM_OBJ_LEER const BATTLE_ANIM_OBJ_LEER_TIP const BATTLE_ANIM_OBJ_SCREEN const BATTLE_ANIM_OBJ_HARDEN const BATTLE_ANIM_OBJ_CHICK const BATTLE_ANIM_OBJ_AMNESIA const BATTLE_ANIM_OBJ_ASLEEP const BATTLE_ANIM_OBJ_SKULL const BATTLE_ANIM_OBJ_DIG_SAND const BATTLE_ANIM_OBJ_DIG_PILE const BATTLE_ANIM_OBJ_SAND const BATTLE_ANIM_OBJ_PARALYZED const BATTLE_ANIM_OBJ_STRING_SHOT const BATTLE_ANIM_OBJ_HAZE const BATTLE_ANIM_OBJ_MIST const BATTLE_ANIM_OBJ_SMOG const BATTLE_ANIM_OBJ_POISON_GAS const BATTLE_ANIM_OBJ_HORN const BATTLE_ANIM_OBJ_NEEDLE const BATTLE_ANIM_OBJ_PETAL_DANCE const BATTLE_ANIM_OBJ_SLUDGE_BOMB const BATTLE_ANIM_OBJ_PAY_DAY const BATTLE_ANIM_OBJ_SONICBOOM_JP_UNUSED const BATTLE_ANIM_OBJ_MIMIC const BATTLE_ANIM_OBJ_ATTRACT const BATTLE_ANIM_OBJ_BONEMERANG const BATTLE_ANIM_OBJ_BONE_CLUB const BATTLE_ANIM_OBJ_BONE_RUSH const BATTLE_ANIM_OBJ_SWIFT const BATTLE_ANIM_OBJ_KINESIS const BATTLE_ANIM_OBJ_FLASH const BATTLE_ANIM_OBJ_SHINY const BATTLE_ANIM_OBJ_SKY_ATTACK const BATTLE_ANIM_OBJ_LICK const BATTLE_ANIM_OBJ_WITHDRAW const BATTLE_ANIM_OBJ_DRAIN const BATTLE_ANIM_OBJ_GROWTH const BATTLE_ANIM_OBJ_CONVERSION2 const BATTLE_ANIM_OBJ_SMOKE const BATTLE_ANIM_OBJ_SMOKESCREEN const BATTLE_ANIM_OBJ_SWORDS_DANCE const BATTLE_ANIM_OBJ_SPEED_LINE const BATTLE_ANIM_OBJ_SHARPEN const BATTLE_ANIM_OBJ_DEFENSE_CURL const BATTLE_ANIM_OBJ_METRONOME_HAND const BATTLE_ANIM_OBJ_METRONOME_SPARKLE const BATTLE_ANIM_OBJ_DISABLE const BATTLE_ANIM_OBJ_AGILITY const BATTLE_ANIM_OBJ_HEART const BATTLE_ANIM_OBJ_FLAME_WHEEL const BATTLE_ANIM_OBJ_SACRED_FIRE const BATTLE_ANIM_OBJ_COTTON_SPORE const BATTLE_ANIM_OBJ_MILK_DRINK const BATTLE_ANIM_OBJ_ANGER const BATTLE_ANIM_OBJ_HEAL_BELL const BATTLE_ANIM_OBJ_HEAL_BELL_NOTE const BATTLE_ANIM_OBJ_BATON_PASS const BATTLE_ANIM_OBJ_LOCK_ON const BATTLE_ANIM_OBJ_MIND_READER const BATTLE_ANIM_OBJ_SAFEGUARD const BATTLE_ANIM_OBJ_PROTECT const BATTLE_ANIM_OBJ_THIEF const BATTLE_ANIM_OBJ_OCTAZOOKA const BATTLE_ANIM_OBJ_PRESENT const BATTLE_ANIM_OBJ_SPIKES const BATTLE_ANIM_OBJ_POWDER_SNOW const BATTLE_ANIM_OBJ_DRAGONBREATH const BATTLE_ANIM_OBJ_CONVERSION const BATTLE_ANIM_OBJ_SPIDER_WEB const BATTLE_ANIM_OBJ_CAKE_UNUSED const BATTLE_ANIM_OBJ_NIGHTMARE const BATTLE_ANIM_OBJ_IN_NIGHTMARE const BATTLE_ANIM_OBJ_LOVELY_KISS const BATTLE_ANIM_OBJ_SWEET_KISS const BATTLE_ANIM_OBJ_SKETCH const BATTLE_ANIM_OBJ_ENCORE_HAND const BATTLE_ANIM_OBJ_ENCORE_STAR const BATTLE_ANIM_OBJ_DESTINY_BOND const BATTLE_ANIM_OBJ_MORNING_SUN const BATTLE_ANIM_OBJ_GLIMMER const BATTLE_ANIM_OBJ_MOONLIGHT const BATTLE_ANIM_OBJ_HIDDEN_POWER const BATTLE_ANIM_OBJ_CROSS_CHOP1 const BATTLE_ANIM_OBJ_CROSS_CHOP2 const BATTLE_ANIM_OBJ_SANDSTORM const BATTLE_ANIM_OBJ_ZAP_CANNON const BATTLE_ANIM_OBJ_SPITE const BATTLE_ANIM_OBJ_CURSE const BATTLE_ANIM_OBJ_PERISH_SONG const BATTLE_ANIM_OBJ_FORESIGHT const BATTLE_ANIM_OBJ_RAPID_SPIN const BATTLE_ANIM_OBJ_SWAGGER const BATTLE_ANIM_OBJ_BELLY_DRUM_HAND const BATTLE_ANIM_OBJ_BELLY_DRUM_NOTE const BATTLE_ANIM_OBJ_MEAN_LOOK const BATTLE_ANIM_OBJ_BETA_PURSUIT const BATTLE_ANIM_OBJ_SHOOTING_SPARKLE const BATTLE_ANIM_OBJ_RAIN const BATTLE_ANIM_OBJ_B0 const BATTLE_ANIM_OBJ_PSYCH_UP const BATTLE_ANIM_OBJ_ANCIENTPOWER const BATTLE_ANIM_OBJ_AEROBLAST const BATTLE_ANIM_OBJ_SHADOW_BALL const BATTLE_ANIM_OBJ_ROCK_SMASH const BATTLE_ANIM_OBJ_FLOWER const BATTLE_ANIM_OBJ_COTTON const BATTLE_ANIM_OBJ_ENEMYFEET_1ROW const BATTLE_ANIM_OBJ_PLAYERHEAD_1ROW const BATTLE_ANIM_OBJ_ENEMYFEET_2ROW const BATTLE_ANIM_OBJ_PLAYERHEAD_2ROW DEF NUM_BATTLE_ANIM_OBJS EQU const_value ; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm) const_def const BATTLE_ANIM_FUNC_NULL const BATTLE_ANIM_FUNC_USER_TO_TARGET const BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR const BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE const BATTLE_ANIM_FUNC_WAVE_TO_TARGET const BATTLE_ANIM_FUNC_THROW_TO_TARGET const BATTLE_ANIM_FUNC_THROW_TO_TARGET_DISAPPEAR const BATTLE_ANIM_FUNC_DROP const BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN const BATTLE_ANIM_FUNC_SHAKE const BATTLE_ANIM_FUNC_FIRE_BLAST const BATTLE_ANIM_FUNC_RAZOR_LEAF const BATTLE_ANIM_FUNC_BUBBLE const BATTLE_ANIM_FUNC_SURF const BATTLE_ANIM_FUNC_SING const BATTLE_ANIM_FUNC_WATER_GUN const BATTLE_ANIM_FUNC_EMBER const BATTLE_ANIM_FUNC_POWDER const BATTLE_ANIM_FUNC_POKEBALL const BATTLE_ANIM_FUNC_POKEBALL_BLOCKED const BATTLE_ANIM_FUNC_RECOVER const BATTLE_ANIM_FUNC_THUNDER_WAVE const BATTLE_ANIM_FUNC_CLAMP_ENCORE const BATTLE_ANIM_FUNC_BITE const BATTLE_ANIM_FUNC_SOLAR_BEAM const BATTLE_ANIM_FUNC_GUST const BATTLE_ANIM_FUNC_RAZOR_WIND const BATTLE_ANIM_FUNC_KICK const BATTLE_ANIM_FUNC_ABSORB const BATTLE_ANIM_FUNC_EGG const BATTLE_ANIM_FUNC_MOVE_UP const BATTLE_ANIM_FUNC_WRAP const BATTLE_ANIM_FUNC_LEECH_SEED const BATTLE_ANIM_FUNC_SOUND const BATTLE_ANIM_FUNC_CONFUSE_RAY const BATTLE_ANIM_FUNC_DIZZY const BATTLE_ANIM_FUNC_AMNESIA const BATTLE_ANIM_FUNC_FLOAT_UP const BATTLE_ANIM_FUNC_DIG const BATTLE_ANIM_FUNC_STRING const BATTLE_ANIM_FUNC_PARALYZED const BATTLE_ANIM_FUNC_SPIRAL_DESCENT const BATTLE_ANIM_FUNC_POISON_GAS const BATTLE_ANIM_FUNC_HORN const BATTLE_ANIM_FUNC_NEEDLE const BATTLE_ANIM_FUNC_PETAL_DANCE const BATTLE_ANIM_FUNC_THIEF_PAYDAY const BATTLE_ANIM_FUNC_ABSORB_CIRCLE const BATTLE_ANIM_FUNC_BONEMERANG const BATTLE_ANIM_FUNC_SHINY const BATTLE_ANIM_FUNC_SKY_ATTACK const BATTLE_ANIM_FUNC_GROWTH_SWORDS_DANCE const BATTLE_ANIM_FUNC_SMOKE_FLAME_WHEEL const BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN const BATTLE_ANIM_FUNC_STRENGTH_SEISMIC_TOSS const BATTLE_ANIM_FUNC_SPEED_LINE const BATTLE_ANIM_FUNC_SLUDGE const BATTLE_ANIM_FUNC_METRONOME_HAND const BATTLE_ANIM_FUNC_METRONOME_SPARKLE_SKETCH const BATTLE_ANIM_FUNC_AGILITY const BATTLE_ANIM_FUNC_SACRED_FIRE const BATTLE_ANIM_FUNC_SAFEGUARD_PROTECT const BATTLE_ANIM_FUNC_LOCK_ON_MIND_READER const BATTLE_ANIM_FUNC_SPIKES const BATTLE_ANIM_FUNC_HEAL_BELL_NOTES const BATTLE_ANIM_FUNC_BATON_PASS const BATTLE_ANIM_FUNC_CONVERSION const BATTLE_ANIM_FUNC_ENCORE_BELLY_DRUM const BATTLE_ANIM_FUNC_SWAGGER_MORNING_SUN const BATTLE_ANIM_FUNC_HIDDEN_POWER const BATTLE_ANIM_FUNC_CURSE const BATTLE_ANIM_FUNC_PERISH_SONG const BATTLE_ANIM_FUNC_RAPID_SPIN const BATTLE_ANIM_FUNC_BETA_PURSUIT const BATTLE_ANIM_FUNC_RAIN_SANDSTORM const BATTLE_ANIM_FUNC_BATTLE_ANIM_OBJ_B0 const BATTLE_ANIM_FUNC_PSYCH_UP const BATTLE_ANIM_FUNC_ANCIENT_POWER const BATTLE_ANIM_FUNC_ROCK_SMASH const BATTLE_ANIM_FUNC_COTTON DEF NUM_BATTLE_ANIM_FUNCS EQU const_value ; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm) const_def const BATTLE_ANIM_FRAMESET_HIT_BIG const BATTLE_ANIM_FRAMESET_HIT const BATTLE_ANIM_FRAMESET_HIT_SMALL const BATTLE_ANIM_FRAMESET_PUNCH const BATTLE_ANIM_FRAMESET_KICK const BATTLE_ANIM_FRAMESET_PALM const BATTLE_ANIM_FRAMESET_FANG const BATTLE_ANIM_FRAMESET_PUNCH_SHAKE const BATTLE_ANIM_FRAMESET_BALL_POOF const BATTLE_ANIM_FRAMESET_POKE_BALL_1 const BATTLE_ANIM_FRAMESET_POKE_BALL_2 const BATTLE_ANIM_FRAMESET_POKE_BALL_3 const BATTLE_ANIM_FRAMESET_POKE_BALL_4 const BATTLE_ANIM_FRAMESET_POKE_BALL_5 const BATTLE_ANIM_FRAMESET_DRAGON_RAGE const BATTLE_ANIM_FRAMESET_FLAMETHROWER const BATTLE_ANIM_FRAMESET_EMBER const BATTLE_ANIM_FRAMESET_BURNED const BATTLE_ANIM_FRAMESET_BLIZZARD const BATTLE_ANIM_FRAMESET_ICE const BATTLE_ANIM_FRAMESET_ICE_BEAM const BATTLE_ANIM_FRAMESET_POWDER_SNOW const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1 const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_2 const BATTLE_ANIM_FRAMESET_EXPLOSION const BATTLE_ANIM_FRAMESET_BIG_ROCK const BATTLE_ANIM_FRAMESET_SMALL_ROCK const BATTLE_ANIM_FRAMESET_STRENGTH const BATTLE_ANIM_FRAMESET_SKULL_CROSSBONE const BATTLE_ANIM_FRAMESET_ACID const BATTLE_ANIM_FRAMESET_POISON_DROPLET_UNUSED const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST const BATTLE_ANIM_FRAMESET_SMALL_BUBBLE const BATTLE_ANIM_FRAMESET_PULSING_BUBBLE const BATTLE_ANIM_FRAMESET_SURF const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1 const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2 const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3 const BATTLE_ANIM_FRAMESET_WATER_GUN_1 const BATTLE_ANIM_FRAMESET_WATER_GUN_2 const BATTLE_ANIM_FRAMESET_WATER_GUN_3 const BATTLE_ANIM_FRAMESET_HYDRO_PUMP const BATTLE_ANIM_FRAMESET_POWDER const BATTLE_ANIM_FRAMESET_BEAM const BATTLE_ANIM_FRAMESET_BEAM_TIP const BATTLE_ANIM_FRAMESET_ICE_BUILDUP const BATTLE_ANIM_FRAMESET_FROZEN const BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE const BATTLE_ANIM_FRAMESET_THUNDER_CENTER const BATTLE_ANIM_FRAMESET_THUNDER_LEFT const BATTLE_ANIM_FRAMESET_THUNDER_RIGHT const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_EXTRA const BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS const BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE const BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS const BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE const BATTLE_ANIM_FRAMESET_CLAMP const BATTLE_ANIM_FRAMESET_CLAMP_FLIPPED const BATTLE_ANIM_FRAMESET_BITE_1 const BATTLE_ANIM_FRAMESET_BITE_2 const BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT const BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT const BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT const BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT const BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT const BATTLE_ANIM_FRAMESET_CHARGE_ORB_1 const BATTLE_ANIM_FRAMESET_ABSORB_CENTER const BATTLE_ANIM_FRAMESET_GUST const BATTLE_ANIM_FRAMESET_VINE_WHIP_1 const BATTLE_ANIM_FRAMESET_VINE_WHIP_2 const BATTLE_ANIM_FRAMESET_RAZOR_WIND_1 const BATTLE_ANIM_FRAMESET_RAZOR_WIND_2 const BATTLE_ANIM_FRAMESET_SONICBOOM_JP const BATTLE_ANIM_FRAMESET_WARP const BATTLE_ANIM_FRAMESET_CHARGE_ORB_2 const BATTLE_ANIM_FRAMESET_EGG const BATTLE_ANIM_FRAMESET_EGG_WOBBLE const BATTLE_ANIM_FRAMESET_EGG_CRACKED_TOP const BATTLE_ANIM_FRAMESET_EGG_CRACKED_BOTTOM const BATTLE_ANIM_FRAMESET_FOCUS const BATTLE_ANIM_FRAMESET_BIND_1 const BATTLE_ANIM_FRAMESET_BIND_2 const BATTLE_ANIM_FRAMESET_BIND_3 const BATTLE_ANIM_FRAMESET_BIND_4 const BATTLE_ANIM_FRAMESET_LEECH_SEED_1 const BATTLE_ANIM_FRAMESET_LEECH_SEED_2 const BATTLE_ANIM_FRAMESET_LEECH_SEED_3 const BATTLE_ANIM_FRAMESET_SOUND_1 const BATTLE_ANIM_FRAMESET_SOUND_2 const BATTLE_ANIM_FRAMESET_SOUND_3 const BATTLE_ANIM_FRAMESET_WAVE const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1 const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_2 const BATTLE_ANIM_FRAMESET_LEER const BATTLE_ANIM_FRAMESET_REFLECT const BATTLE_ANIM_FRAMESET_CHICK_1 const BATTLE_ANIM_FRAMESET_CHICK_2 const BATTLE_ANIM_FRAMESET_AMNESIA_1 const BATTLE_ANIM_FRAMESET_AMNESIA_2 const BATTLE_ANIM_FRAMESET_AMNESIA_3 const BATTLE_ANIM_FRAMESET_ASLEEP const BATTLE_ANIM_FRAMESET_DIG_SAND const BATTLE_ANIM_FRAMESET_DIG_PILE const BATTLE_ANIM_FRAMESET_SAND const BATTLE_ANIM_FRAMESET_STRING_SHOT_1 const BATTLE_ANIM_FRAMESET_STRING_SHOT_2 const BATTLE_ANIM_FRAMESET_STRING_SHOT_3 const BATTLE_ANIM_FRAMESET_PARALYZED const BATTLE_ANIM_FRAMESET_PARALYZED_FLIPPED const BATTLE_ANIM_FRAMESET_HAZE const BATTLE_ANIM_FRAMESET_MIST const BATTLE_ANIM_FRAMESET_HORN const BATTLE_ANIM_FRAMESET_NEEDLE const BATTLE_ANIM_FRAMESET_FLOWER const BATTLE_ANIM_FRAMESET_BARRAGE_BALL const BATTLE_ANIM_FRAMESET_PAY_DAY const BATTLE_ANIM_FRAMESET_HEART const BATTLE_ANIM_FRAMESET_SPINNING_BONE const BATTLE_ANIM_FRAMESET_STAR const BATTLE_ANIM_FRAMESET_SPOON const BATTLE_ANIM_FRAMESET_SPARKLE const BATTLE_ANIM_FRAMESET_SKY_ATTACK const BATTLE_ANIM_FRAMESET_LICK const BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL const BATTLE_ANIM_FRAMESET_SHRINKING_CHARGE_ORB const BATTLE_ANIM_FRAMESET_CONVERSION const BATTLE_ANIM_FRAMESET_SWORD const BATTLE_ANIM_FRAMESET_SPEED_LINE_1 const BATTLE_ANIM_FRAMESET_SPEED_LINE_2 const BATTLE_ANIM_FRAMESET_SPEED_LINE_3 const BATTLE_ANIM_FRAMESET_SEISMIC_TOSS const BATTLE_ANIM_FRAMESET_SHARPEN const BATTLE_ANIM_FRAMESET_DEFENSE_CURL const BATTLE_ANIM_FRAMESET_METRONOME_HAND const BATTLE_ANIM_FRAMESET_AGILITY const BATTLE_ANIM_FRAMESET_COTTON const BATTLE_ANIM_FRAMESET_MILK_BOTTLE const BATTLE_ANIM_FRAMESET_SPIKE const BATTLE_ANIM_FRAMESET_ANGER_VEIN const BATTLE_ANIM_FRAMESET_HEAL_BELL const BATTLE_ANIM_FRAMESET_BATON_PASS const BATTLE_ANIM_FRAMESET_LOCK_ON_1 const BATTLE_ANIM_FRAMESET_LOCK_ON_2 const BATTLE_ANIM_FRAMESET_LOCK_ON_3 const BATTLE_ANIM_FRAMESET_LOCK_ON_4 const BATTLE_ANIM_FRAMESET_MIND_READER_1 const BATTLE_ANIM_FRAMESET_MIND_READER_2 const BATTLE_ANIM_FRAMESET_MIND_READER_3 const BATTLE_ANIM_FRAMESET_MIND_READER_4 const BATTLE_ANIM_FRAMESET_SAFEGUARD const BATTLE_ANIM_FRAMESET_MEGAPHONE_UNUSED const BATTLE_ANIM_FRAMESET_ITEM_BAG const BATTLE_ANIM_FRAMESET_SPIDER_WEB const BATTLE_ANIM_FRAMESET_UNUSED_CAKE const BATTLE_ANIM_FRAMESET_IMP const BATTLE_ANIM_FRAMESET_IMP_FLIPPED const BATTLE_ANIM_FRAMESET_CHERUB const BATTLE_ANIM_FRAMESET_PENCIL const BATTLE_ANIM_FRAMESET_ENCORE_HAND const BATTLE_ANIM_FRAMESET_ENCORE_HAND_FLIPPED const BATTLE_ANIM_FRAMESET_DESTINY_BOND const BATTLE_ANIM_FRAMESET_MORNING_SUN const BATTLE_ANIM_FRAMESET_GLIMMER const BATTLE_ANIM_FRAMESET_MOONLIGHT const BATTLE_ANIM_FRAMESET_CROSS_CHOP_1 const BATTLE_ANIM_FRAMESET_CROSS_CHOP_2 const BATTLE_ANIM_FRAMESET_ZAP_CANNON const BATTLE_ANIM_FRAMESET_CURSE_NAIL const BATTLE_ANIM_FRAMESET_FORESIGHT_SHINE const BATTLE_ANIM_FRAMESET_RAPID_SPIN const BATTLE_ANIM_FRAMESET_SWAGGER const BATTLE_ANIM_FRAMESET_MEAN_LOOK const BATTLE_ANIM_FRAMESET_UPSIDE_DOWN_PUNCH const BATTLE_ANIM_FRAMESET_GROWING_SPARKLE const BATTLE_ANIM_FRAMESET_RAIN const BATTLE_ANIM_FRAMESET_PSYCH_UP const BATTLE_ANIM_FRAMESET_SPIRAL_UNUSED const BATTLE_ANIM_FRAMESET_AEROBLAST const BATTLE_ANIM_FRAMESET_SANDSTORM const BATTLE_ANIM_FRAMESET_ENEMYFEET_1ROW const BATTLE_ANIM_FRAMESET_PLAYERHEAD_1ROW const BATTLE_ANIM_FRAMESET_ENEMYFEET_2ROW const BATTLE_ANIM_FRAMESET_PLAYERHEAD_2ROW DEF NUM_BATTLE_ANIM_FRAMESETS EQU const_value ; BattleAnimOAMData indexes (see data/battle_anims/oam.asm) const_def const BATTLE_ANIM_OAMSET_00 const BATTLE_ANIM_OAMSET_01 const BATTLE_ANIM_OAMSET_02 const BATTLE_ANIM_OAMSET_03 const BATTLE_ANIM_OAMSET_04 const BATTLE_ANIM_OAMSET_05 const BATTLE_ANIM_OAMSET_06 const BATTLE_ANIM_OAMSET_07 const BATTLE_ANIM_OAMSET_08 const BATTLE_ANIM_OAMSET_09 const BATTLE_ANIM_OAMSET_0A const BATTLE_ANIM_OAMSET_0B const BATTLE_ANIM_OAMSET_0C const BATTLE_ANIM_OAMSET_0D const BATTLE_ANIM_OAMSET_0E const BATTLE_ANIM_OAMSET_0F const BATTLE_ANIM_OAMSET_10 const BATTLE_ANIM_OAMSET_11 const BATTLE_ANIM_OAMSET_12 const BATTLE_ANIM_OAMSET_13 const BATTLE_ANIM_OAMSET_14 const BATTLE_ANIM_OAMSET_15 const BATTLE_ANIM_OAMSET_16 const BATTLE_ANIM_OAMSET_17 const BATTLE_ANIM_OAMSET_18 const BATTLE_ANIM_OAMSET_19 const BATTLE_ANIM_OAMSET_1A const BATTLE_ANIM_OAMSET_1B const BATTLE_ANIM_OAMSET_1C const BATTLE_ANIM_OAMSET_1D const BATTLE_ANIM_OAMSET_1E const BATTLE_ANIM_OAMSET_1F const BATTLE_ANIM_OAMSET_20 const BATTLE_ANIM_OAMSET_21 const BATTLE_ANIM_OAMSET_22 const BATTLE_ANIM_OAMSET_23 const BATTLE_ANIM_OAMSET_24 const BATTLE_ANIM_OAMSET_25 const BATTLE_ANIM_OAMSET_26 const BATTLE_ANIM_OAMSET_27 const BATTLE_ANIM_OAMSET_28 const BATTLE_ANIM_OAMSET_29 const BATTLE_ANIM_OAMSET_2A const BATTLE_ANIM_OAMSET_2B const BATTLE_ANIM_OAMSET_2C const BATTLE_ANIM_OAMSET_2D const BATTLE_ANIM_OAMSET_2E const BATTLE_ANIM_OAMSET_2F const BATTLE_ANIM_OAMSET_30 const BATTLE_ANIM_OAMSET_31 const BATTLE_ANIM_OAMSET_32 const BATTLE_ANIM_OAMSET_33 const BATTLE_ANIM_OAMSET_34 const BATTLE_ANIM_OAMSET_35 const BATTLE_ANIM_OAMSET_36 const BATTLE_ANIM_OAMSET_37 const BATTLE_ANIM_OAMSET_38 const BATTLE_ANIM_OAMSET_39 const BATTLE_ANIM_OAMSET_3A const BATTLE_ANIM_OAMSET_3B const BATTLE_ANIM_OAMSET_3C const BATTLE_ANIM_OAMSET_3D const BATTLE_ANIM_OAMSET_3E const BATTLE_ANIM_OAMSET_3F const BATTLE_ANIM_OAMSET_40 const BATTLE_ANIM_OAMSET_41 const BATTLE_ANIM_OAMSET_42 const BATTLE_ANIM_OAMSET_43 const BATTLE_ANIM_OAMSET_44 const BATTLE_ANIM_OAMSET_45 const BATTLE_ANIM_OAMSET_46 const BATTLE_ANIM_OAMSET_47 const BATTLE_ANIM_OAMSET_48 const BATTLE_ANIM_OAMSET_49 const BATTLE_ANIM_OAMSET_4A const BATTLE_ANIM_OAMSET_4B const BATTLE_ANIM_OAMSET_4C const BATTLE_ANIM_OAMSET_4D const BATTLE_ANIM_OAMSET_4E const BATTLE_ANIM_OAMSET_4F const BATTLE_ANIM_OAMSET_50 const BATTLE_ANIM_OAMSET_51 const BATTLE_ANIM_OAMSET_52 const BATTLE_ANIM_OAMSET_53 const BATTLE_ANIM_OAMSET_54 const BATTLE_ANIM_OAMSET_55 const BATTLE_ANIM_OAMSET_56 const BATTLE_ANIM_OAMSET_57 const BATTLE_ANIM_OAMSET_58 const BATTLE_ANIM_OAMSET_59 const BATTLE_ANIM_OAMSET_5A const BATTLE_ANIM_OAMSET_5B const BATTLE_ANIM_OAMSET_5C const BATTLE_ANIM_OAMSET_5D const BATTLE_ANIM_OAMSET_5E const BATTLE_ANIM_OAMSET_5F const BATTLE_ANIM_OAMSET_60 const BATTLE_ANIM_OAMSET_61 const BATTLE_ANIM_OAMSET_62 const BATTLE_ANIM_OAMSET_63 const BATTLE_ANIM_OAMSET_64 const BATTLE_ANIM_OAMSET_65 const BATTLE_ANIM_OAMSET_66 const BATTLE_ANIM_OAMSET_67 const BATTLE_ANIM_OAMSET_68 const BATTLE_ANIM_OAMSET_69 const BATTLE_ANIM_OAMSET_6A const BATTLE_ANIM_OAMSET_6B const BATTLE_ANIM_OAMSET_6C const BATTLE_ANIM_OAMSET_6D const BATTLE_ANIM_OAMSET_6E const BATTLE_ANIM_OAMSET_6F const BATTLE_ANIM_OAMSET_70 const BATTLE_ANIM_OAMSET_71 const BATTLE_ANIM_OAMSET_72 const BATTLE_ANIM_OAMSET_73 const BATTLE_ANIM_OAMSET_74 const BATTLE_ANIM_OAMSET_75 const BATTLE_ANIM_OAMSET_76 const BATTLE_ANIM_OAMSET_77 const BATTLE_ANIM_OAMSET_78 const BATTLE_ANIM_OAMSET_79 const BATTLE_ANIM_OAMSET_7A const BATTLE_ANIM_OAMSET_7B const BATTLE_ANIM_OAMSET_7C const BATTLE_ANIM_OAMSET_7D const BATTLE_ANIM_OAMSET_7E const BATTLE_ANIM_OAMSET_7F const BATTLE_ANIM_OAMSET_80 const BATTLE_ANIM_OAMSET_81 const BATTLE_ANIM_OAMSET_82 const BATTLE_ANIM_OAMSET_83 const BATTLE_ANIM_OAMSET_84 const BATTLE_ANIM_OAMSET_85 const BATTLE_ANIM_OAMSET_86 const BATTLE_ANIM_OAMSET_87 const BATTLE_ANIM_OAMSET_88 const BATTLE_ANIM_OAMSET_89 const BATTLE_ANIM_OAMSET_8A const BATTLE_ANIM_OAMSET_8B const BATTLE_ANIM_OAMSET_8C const BATTLE_ANIM_OAMSET_8D const BATTLE_ANIM_OAMSET_8E const BATTLE_ANIM_OAMSET_8F const BATTLE_ANIM_OAMSET_90 const BATTLE_ANIM_OAMSET_91 const BATTLE_ANIM_OAMSET_92 const BATTLE_ANIM_OAMSET_93 const BATTLE_ANIM_OAMSET_94 const BATTLE_ANIM_OAMSET_95 const BATTLE_ANIM_OAMSET_96 const BATTLE_ANIM_OAMSET_97 const BATTLE_ANIM_OAMSET_98 const BATTLE_ANIM_OAMSET_99 const BATTLE_ANIM_OAMSET_9A const BATTLE_ANIM_OAMSET_9B const BATTLE_ANIM_OAMSET_9C const BATTLE_ANIM_OAMSET_9D const BATTLE_ANIM_OAMSET_9E const BATTLE_ANIM_OAMSET_9F const BATTLE_ANIM_OAMSET_A0 const BATTLE_ANIM_OAMSET_A1 const BATTLE_ANIM_OAMSET_A2 const BATTLE_ANIM_OAMSET_A3 const BATTLE_ANIM_OAMSET_A4 const BATTLE_ANIM_OAMSET_A5 const BATTLE_ANIM_OAMSET_A6 const BATTLE_ANIM_OAMSET_A7 const BATTLE_ANIM_OAMSET_A8 const BATTLE_ANIM_OAMSET_A9 const BATTLE_ANIM_OAMSET_AA const BATTLE_ANIM_OAMSET_AB const BATTLE_ANIM_OAMSET_AC const BATTLE_ANIM_OAMSET_AD const BATTLE_ANIM_OAMSET_AE const BATTLE_ANIM_OAMSET_AF const BATTLE_ANIM_OAMSET_B0 const BATTLE_ANIM_OAMSET_B1 const BATTLE_ANIM_OAMSET_B2 const BATTLE_ANIM_OAMSET_B3 const BATTLE_ANIM_OAMSET_B4 const BATTLE_ANIM_OAMSET_B5 const BATTLE_ANIM_OAMSET_B6 const BATTLE_ANIM_OAMSET_B7 const BATTLE_ANIM_OAMSET_B8 const BATTLE_ANIM_OAMSET_B9 const BATTLE_ANIM_OAMSET_BA const BATTLE_ANIM_OAMSET_BB const BATTLE_ANIM_OAMSET_BC const BATTLE_ANIM_OAMSET_BD const BATTLE_ANIM_OAMSET_BE const BATTLE_ANIM_OAMSET_BF const BATTLE_ANIM_OAMSET_C0 const BATTLE_ANIM_OAMSET_C1 const BATTLE_ANIM_OAMSET_C2 const BATTLE_ANIM_OAMSET_C3 const BATTLE_ANIM_OAMSET_C4 const BATTLE_ANIM_OAMSET_C5 const BATTLE_ANIM_OAMSET_C6 const BATTLE_ANIM_OAMSET_C7 const BATTLE_ANIM_OAMSET_C8 const BATTLE_ANIM_OAMSET_C9 const BATTLE_ANIM_OAMSET_CA const BATTLE_ANIM_OAMSET_CB const BATTLE_ANIM_OAMSET_CC const BATTLE_ANIM_OAMSET_CD const BATTLE_ANIM_OAMSET_CE const BATTLE_ANIM_OAMSET_CF const BATTLE_ANIM_OAMSET_D0 const BATTLE_ANIM_OAMSET_D1 const BATTLE_ANIM_OAMSET_D2 const BATTLE_ANIM_OAMSET_D3 const BATTLE_ANIM_OAMSET_D4 const BATTLE_ANIM_OAMSET_D5 const BATTLE_ANIM_OAMSET_D6 const BATTLE_ANIM_OAMSET_D7 DEF NUM_BATTLE_ANIM_OAMSETS EQU const_value assert NUM_BATTLE_ANIM_OAMSETS <= FIRST_OAM_CMD, \ "BATTLE_ANIM_OAMSET_* constants overlap oam*_command constants" ; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm) const_def 1 const BATTLE_BG_EFFECT_FLASH_INVERTED const BATTLE_BG_EFFECT_FLASH_WHITE const BATTLE_BG_EFFECT_WHITE_HUES const BATTLE_BG_EFFECT_BLACK_HUES const BATTLE_BG_EFFECT_ALTERNATE_HUES const BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW const BATTLE_BG_EFFECT_CYCLE_MID_OBPALS_GRAY_AND_YELLOW const BATTLE_BG_EFFECT_CYCLE_BGPALS_INVERTED const BATTLE_BG_EFFECT_HIDE_MON const BATTLE_BG_EFFECT_SHOW_MON const BATTLE_BG_EFFECT_ENTER_MON const BATTLE_BG_EFFECT_RETURN_MON const BATTLE_BG_EFFECT_SURF const BATTLE_BG_EFFECT_WHIRLPOOL const BATTLE_BG_EFFECT_TELEPORT const BATTLE_BG_EFFECT_NIGHT_SHADE const BATTLE_BG_EFFECT_BATTLEROBJ_1ROW const BATTLE_BG_EFFECT_BATTLEROBJ_2ROW const BATTLE_BG_EFFECT_DOUBLE_TEAM const BATTLE_BG_EFFECT_ACID_ARMOR const BATTLE_BG_EFFECT_RAPID_FLASH const BATTLE_BG_EFFECT_FADE_MON_TO_LIGHT const BATTLE_BG_EFFECT_FADE_MON_TO_BLACK const BATTLE_BG_EFFECT_FADE_MON_TO_LIGHT_REPEATING const BATTLE_BG_EFFECT_FADE_MON_TO_BLACK_REPEATING const BATTLE_BG_EFFECT_CYCLE_MON_LIGHT_DARK_REPEATING const BATTLE_BG_EFFECT_FLASH_MON_REPEATING const BATTLE_BG_EFFECT_FADE_MONS_TO_BLACK_REPEATING const BATTLE_BG_EFFECT_FADE_MON_TO_WHITE_WAIT_FADE_BACK const BATTLE_BG_EFFECT_FADE_MON_FROM_WHITE const BATTLE_BG_EFFECT_SHAKE_SCREEN_X const BATTLE_BG_EFFECT_SHAKE_SCREEN_Y const BATTLE_BG_EFFECT_WITHDRAW const BATTLE_BG_EFFECT_BOUNCE_DOWN const BATTLE_BG_EFFECT_DIG const BATTLE_BG_EFFECT_TACKLE const BATTLE_BG_EFFECT_BODY_SLAM const BATTLE_BG_EFFECT_WOBBLE_MON const BATTLE_BG_EFFECT_REMOVE_MON const BATTLE_BG_EFFECT_WAVE_DEFORM_MON const BATTLE_BG_EFFECT_PSYCHIC const BATTLE_BG_EFFECT_BETA_SEND_OUT_MON1 const BATTLE_BG_EFFECT_BETA_SEND_OUT_MON2 const BATTLE_BG_EFFECT_FLAIL const BATTLE_BG_EFFECT_BETA_PURSUIT const BATTLE_BG_EFFECT_ROLLOUT const BATTLE_BG_EFFECT_VITAL_THROW const BATTLE_BG_EFFECT_START_WATER const BATTLE_BG_EFFECT_WATER const BATTLE_BG_EFFECT_END_WATER const BATTLE_BG_EFFECT_VIBRATE_MON const BATTLE_BG_EFFECT_WOBBLE_PLAYER const BATTLE_BG_EFFECT_WOBBLE_SCREEN DEF NUM_ANIM_BGS EQU const_value - 1 ; wBattleAnimTileDict keys (see wram.asm) ; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm) const_def 1 const BATTLE_ANIM_GFX_HIT const BATTLE_ANIM_GFX_CUT const BATTLE_ANIM_GFX_FIRE const BATTLE_ANIM_GFX_WATER const BATTLE_ANIM_GFX_LIGHTNING const BATTLE_ANIM_GFX_PLANT const BATTLE_ANIM_GFX_SMOKE const BATTLE_ANIM_GFX_EXPLOSION const BATTLE_ANIM_GFX_ROCKS const BATTLE_ANIM_GFX_ICE const BATTLE_ANIM_GFX_POKE_BALL const BATTLE_ANIM_GFX_POISON const BATTLE_ANIM_GFX_BUBBLE const BATTLE_ANIM_GFX_NOISE const BATTLE_ANIM_GFX_POWDER const BATTLE_ANIM_GFX_BEAM const BATTLE_ANIM_GFX_SPEED const BATTLE_ANIM_GFX_CHARGE const BATTLE_ANIM_GFX_WIND const BATTLE_ANIM_GFX_WHIP const BATTLE_ANIM_GFX_EGG const BATTLE_ANIM_GFX_ROPE const BATTLE_ANIM_GFX_PSYCHIC const BATTLE_ANIM_GFX_REFLECT const BATTLE_ANIM_GFX_STATUS const BATTLE_ANIM_GFX_SAND const BATTLE_ANIM_GFX_WEB const BATTLE_ANIM_GFX_HAZE const BATTLE_ANIM_GFX_HORN const BATTLE_ANIM_GFX_FLOWER const BATTLE_ANIM_GFX_MISC const BATTLE_ANIM_GFX_SKY_ATTACK const BATTLE_ANIM_GFX_GLOBE const BATTLE_ANIM_GFX_SHAPES const BATTLE_ANIM_GFX_OBJECTS const BATTLE_ANIM_GFX_SHINE const BATTLE_ANIM_GFX_ANGELS const BATTLE_ANIM_GFX_WAVE const BATTLE_ANIM_GFX_AEROBLAST const BATTLE_ANIM_GFX_PLAYERHEAD const BATTLE_ANIM_GFX_ENEMYFEET DEF NUM_ANIM_GFX EQU const_value - 1 ; battle_bg_effect struct members (see macros/ram.asm) rsreset DEF BG_EFFECT_STRUCT_FUNCTION rb DEF BG_EFFECT_STRUCT_JT_INDEX rb DEF BG_EFFECT_STRUCT_BATTLE_TURN rb DEF BG_EFFECT_STRUCT_PARAM rb DEF BG_EFFECT_STRUCT_LENGTH EQU _RS DEF NUM_BG_EFFECTS EQU 5 ; see wActiveBGEffects ; anim_bgeffect battle turn values for some effects const_def const BG_EFFECT_TARGET ; 0 const BG_EFFECT_USER ; 1 ; battle palettes const_def const PAL_BATTLE_BG_PLAYER ; 0 const PAL_BATTLE_BG_ENEMY ; 1 const PAL_BATTLE_BG_ENEMY_HP ; 2 const PAL_BATTLE_BG_PLAYER_HP ; 3 const PAL_BATTLE_BG_EXP ; 4 const PAL_BATTLE_BG_5 ; 5 const PAL_BATTLE_BG_6 ; 6 const PAL_BATTLE_BG_TEXT ; 7 ; animation object palettes const_def const PAL_BATTLE_OB_ENEMY ; 0 const PAL_BATTLE_OB_PLAYER ; 1 const PAL_BATTLE_OB_GRAY ; 2 const PAL_BATTLE_OB_YELLOW ; 3 const PAL_BATTLE_OB_RED ; 4 const PAL_BATTLE_OB_GREEN ; 5 const PAL_BATTLE_OB_BLUE ; 6 const PAL_BATTLE_OB_BROWN ; 7