From ae76ce2511f718e603d7e6502e143dec733e9c66 Mon Sep 17 00:00:00 2001 From: SoupPotato Date: Sun, 21 Jan 2024 17:12:59 +0000 Subject: [PATCH] Updated Spore's Animation --- constants/battle_anim_constants.asm | 399 ++++++++++++++-------------- data/battle_anims/framesets.asm | 375 +++++++++++++------------- data/battle_anims/oam.asm | 16 ++ data/battle_anims/object_gfx.asm | 1 + data/battle_anims/objects.asm | 8 +- data/moves/animations.asm | 42 +-- engine/battle_anims/functions.asm | 2 +- gfx/battle_anims.asm | 1 + gfx/battle_anims/custom.pal | 1 + gfx/battle_anims/mushroom.png | Bin 0 -> 547 bytes 10 files changed, 443 insertions(+), 402 deletions(-) create mode 100644 gfx/battle_anims/mushroom.png diff --git a/constants/battle_anim_constants.asm b/constants/battle_anim_constants.asm index 5105ec731..9a1947775 100644 --- a/constants/battle_anim_constants.asm +++ b/constants/battle_anim_constants.asm @@ -57,7 +57,7 @@ DEF BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture const BATTLE_ANIM_OBJ_EXPLOSION2 ; 18 const BATTLE_ANIM_OBJ_ACID ; 19 const BATTLE_ANIM_OBJ_SLUDGE ; 1a - const BATTLE_ANIM_OBJ_BETA_BALL_POOF ; 1b + const BATTLE_ANIM_OBJ_BALL_POOF_YFIX ; 1b const BATTLE_ANIM_OBJ_BALL_POOF ; 1c const BATTLE_ANIM_OBJ_BIG_ROCK ; 1d const BATTLE_ANIM_OBJ_SMALL_ROCK ; 1e @@ -230,6 +230,8 @@ DEF BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture const BATTLE_ANIM_OBJ_SHOOTING_TRIANGLE ; c5 const BATTLE_ANIM_OBJ_SPINNING_TRIANGLE ; c6 const BATTLE_ANIM_OBJ_POISON_DROPLET ; c7 + const BATTLE_ANIM_OBJ_MUSHROOM ; c8 + const BATTLE_ANIM_OBJ_POWDER_SHOOT ; c9 DEF NUM_BATTLE_ANIM_OBJS EQU const_value ; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm) @@ -320,200 +322,201 @@ DEF NUM_BATTLE_ANIM_FUNCS EQU const_value ; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm) const_def - const BATTLE_ANIM_FRAMESET_HIT_BIG ; 00 - const BATTLE_ANIM_FRAMESET_HIT ; 01 - const BATTLE_ANIM_FRAMESET_HIT_SMALL ; 02 - const BATTLE_ANIM_FRAMESET_PUNCH ; 03 - const BATTLE_ANIM_FRAMESET_KICK ; 04 - const BATTLE_ANIM_FRAMESET_PALM ; 05 - const BATTLE_ANIM_FRAMESET_FANG ; 06 - const BATTLE_ANIM_FRAMESET_PUNCH_SHAKE ; 07 - const BATTLE_ANIM_FRAMESET_BALL_POOF ; 08 - const BATTLE_ANIM_FRAMESET_POKE_BALL_1 ; 09 - const BATTLE_ANIM_FRAMESET_POKE_BALL_2 ; 0a - const BATTLE_ANIM_FRAMESET_POKE_BALL_3 ; 0b - const BATTLE_ANIM_FRAMESET_POKE_BALL_4 ; 0c - const BATTLE_ANIM_FRAMESET_POKE_BALL_5 ; 0d - const BATTLE_ANIM_FRAMESET_DRAGON_RAGE ; 0e - const BATTLE_ANIM_FRAMESET_FLAMETHROWER ; 0f - const BATTLE_ANIM_FRAMESET_EMBER ; 10 - const BATTLE_ANIM_FRAMESET_BURNED ; 11 - const BATTLE_ANIM_FRAMESET_BLIZZARD ; 12 - const BATTLE_ANIM_FRAMESET_ICE ; 13 - const BATTLE_ANIM_FRAMESET_ICE_BEAM ; 14 - const BATTLE_ANIM_FRAMESET_POWDER_SNOW ; 15 - const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1 ; 16 - const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_2 ; 17 - const BATTLE_ANIM_FRAMESET_EXPLOSION ; 18 - const BATTLE_ANIM_FRAMESET_BIG_ROCK ; 19 - const BATTLE_ANIM_FRAMESET_SMALL_ROCK ; 1a - const BATTLE_ANIM_FRAMESET_STRENGTH ; 1b - const BATTLE_ANIM_FRAMESET_SKULL_CROSSBONE ; 1c - const BATTLE_ANIM_FRAMESET_ACID ; 1d - const BATTLE_ANIM_FRAMESET_POISON_DROPLET ; 1e - const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE ; 1f - const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST ; 20 - const BATTLE_ANIM_FRAMESET_SMALL_BUBBLE ; 21 - const BATTLE_ANIM_FRAMESET_PULSING_BUBBLE ; 22 - const BATTLE_ANIM_FRAMESET_SURF ; 23 - const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1 ; 24 - const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2 ; 25 - const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3 ; 26 - const BATTLE_ANIM_FRAMESET_WATER_GUN_1 ; 27 - const BATTLE_ANIM_FRAMESET_WATER_GUN_2 ; 28 - const BATTLE_ANIM_FRAMESET_WATER_GUN_3 ; 29 - const BATTLE_ANIM_FRAMESET_HYDRO_PUMP ; 2a - const BATTLE_ANIM_FRAMESET_POWDER ; 2b - const BATTLE_ANIM_FRAMESET_BEAM ; 2c - const BATTLE_ANIM_FRAMESET_BEAM_TIP ; 2d - const BATTLE_ANIM_FRAMESET_ICE_BUILDUP ; 2e - const BATTLE_ANIM_FRAMESET_FROZEN ; 2f - const BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE ; 30 - const BATTLE_ANIM_FRAMESET_THUNDER_CENTER ; 31 - const BATTLE_ANIM_FRAMESET_THUNDER_LEFT ; 32 - const BATTLE_ANIM_FRAMESET_THUNDER_RIGHT ; 33 - const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE ; 34 - const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_EXTRA ; 35 - const BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS ; 36 - const BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE ; 37 - const BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS ; 38 - const BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE ; 39 - const BATTLE_ANIM_FRAMESET_CLAMP ; 3a - const BATTLE_ANIM_FRAMESET_CLAMP_FLIPPED ; 3b - const BATTLE_ANIM_FRAMESET_BITE_1 ; 3c - const BATTLE_ANIM_FRAMESET_BITE_2 ; 3d - const BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT ; 3e - const BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT ; 3f - const BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT ; 40 - const BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT ; 41 - const BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT ; 42 - const BATTLE_ANIM_FRAMESET_CHARGE_ORB_1 ; 43 - const BATTLE_ANIM_FRAMESET_ABSORB_CENTER ; 44 - const BATTLE_ANIM_FRAMESET_GUST ; 45 - const BATTLE_ANIM_FRAMESET_VINE_WHIP_1 ; 46 - const BATTLE_ANIM_FRAMESET_VINE_WHIP_2 ; 47 - const BATTLE_ANIM_FRAMESET_RAZOR_WIND_1 ; 48 - const BATTLE_ANIM_FRAMESET_RAZOR_WIND_2 ; 49 - const BATTLE_ANIM_FRAMESET_SONICBOOM_JP ; 4a - const BATTLE_ANIM_FRAMESET_WARP ; 4b - const BATTLE_ANIM_FRAMESET_CHARGE_ORB_2 ; 4c - const BATTLE_ANIM_FRAMESET_EGG ; 4d - const BATTLE_ANIM_FRAMESET_EGG_WOBBLE ; 4e - const BATTLE_ANIM_FRAMESET_EGG_CRACKED_TOP ; 4f - const BATTLE_ANIM_FRAMESET_EGG_CRACKED_BOTTOM ; 50 - const BATTLE_ANIM_FRAMESET_FOCUS ; 51 - const BATTLE_ANIM_FRAMESET_BIND_1 ; 52 - const BATTLE_ANIM_FRAMESET_BIND_2 ; 53 - const BATTLE_ANIM_FRAMESET_BIND_3 ; 54 - const BATTLE_ANIM_FRAMESET_BIND_4 ; 55 - const BATTLE_ANIM_FRAMESET_LEECH_SEED_1 ; 56 - const BATTLE_ANIM_FRAMESET_LEECH_SEED_2 ; 57 - const BATTLE_ANIM_FRAMESET_LEECH_SEED_3 ; 58 - const BATTLE_ANIM_FRAMESET_SOUND_1 ; 59 - const BATTLE_ANIM_FRAMESET_SOUND_2 ; 5a - const BATTLE_ANIM_FRAMESET_SOUND_3 ; 5b - const BATTLE_ANIM_FRAMESET_WAVE ; 5c - const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1 ; 5d - const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_2 ; 5e - const BATTLE_ANIM_FRAMESET_LEER ; 5f - const BATTLE_ANIM_FRAMESET_REFLECT ; 60 - const BATTLE_ANIM_FRAMESET_CHICK_1 ; 61 - const BATTLE_ANIM_FRAMESET_CHICK_2 ; 62 - const BATTLE_ANIM_FRAMESET_AMNESIA_1 ; 63 - const BATTLE_ANIM_FRAMESET_AMNESIA_2 ; 64 - const BATTLE_ANIM_FRAMESET_AMNESIA_3 ; 65 - const BATTLE_ANIM_FRAMESET_ASLEEP ; 66 - const BATTLE_ANIM_FRAMESET_DIG_SAND ; 67 - const BATTLE_ANIM_FRAMESET_DIG_PILE ; 68 - const BATTLE_ANIM_FRAMESET_SAND ; 69 - const BATTLE_ANIM_FRAMESET_STRING_SHOT_1 ; 6a - const BATTLE_ANIM_FRAMESET_STRING_SHOT_2 ; 6b - const BATTLE_ANIM_FRAMESET_STRING_SHOT_3 ; 6c - const BATTLE_ANIM_FRAMESET_PARALYZED ; 6d - const BATTLE_ANIM_FRAMESET_PARALYZED_FLIPPED ; 6e - const BATTLE_ANIM_FRAMESET_HAZE ; 6f - const BATTLE_ANIM_FRAMESET_MIST ; 70 - const BATTLE_ANIM_FRAMESET_HORN ; 71 - const BATTLE_ANIM_FRAMESET_NEEDLE ; 72 - const BATTLE_ANIM_FRAMESET_FLOWER ; 73 - const BATTLE_ANIM_FRAMESET_BARRAGE_BALL ; 74 - const BATTLE_ANIM_FRAMESET_PAY_DAY ; 75 - const BATTLE_ANIM_FRAMESET_HEART ; 76 - const BATTLE_ANIM_FRAMESET_SPINNING_BONE ; 77 - const BATTLE_ANIM_FRAMESET_STAR ; 78 - const BATTLE_ANIM_FRAMESET_SPOON ; 79 - const BATTLE_ANIM_FRAMESET_SPARKLE ; 7a - const BATTLE_ANIM_FRAMESET_SKY_ATTACK ; 7b - const BATTLE_ANIM_FRAMESET_LICK ; 7c - const BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL ; 7d - const BATTLE_ANIM_FRAMESET_SHRINKING_CHARGE_ORB ; 7e - const BATTLE_ANIM_FRAMESET_CONVERSION ; 7f - const BATTLE_ANIM_FRAMESET_SWORD ; 80 - const BATTLE_ANIM_FRAMESET_SPEED_LINE_1 ; 81 - const BATTLE_ANIM_FRAMESET_SPEED_LINE_2 ; 82 - const BATTLE_ANIM_FRAMESET_SPEED_LINE_3 ; 83 - const BATTLE_ANIM_FRAMESET_SEISMIC_TOSS ; 84 - const BATTLE_ANIM_FRAMESET_SHARPEN ; 85 - const BATTLE_ANIM_FRAMESET_DEFENSE_CURL ; 86 - const BATTLE_ANIM_FRAMESET_METRONOME_HAND ; 87 - const BATTLE_ANIM_FRAMESET_AGILITY ; 88 - const BATTLE_ANIM_FRAMESET_COTTON ; 89 - const BATTLE_ANIM_FRAMESET_MILK_BOTTLE ; 8a - const BATTLE_ANIM_FRAMESET_SPIKE ; 8b - const BATTLE_ANIM_FRAMESET_ANGER_VEIN ; 8c - const BATTLE_ANIM_FRAMESET_HEAL_BELL ; 8d - const BATTLE_ANIM_FRAMESET_BATON_PASS ; 8e - const BATTLE_ANIM_FRAMESET_LOCK_ON_1 ; 8f - const BATTLE_ANIM_FRAMESET_LOCK_ON_2 ; 90 - const BATTLE_ANIM_FRAMESET_LOCK_ON_3 ; 91 - const BATTLE_ANIM_FRAMESET_LOCK_ON_4 ; 92 - const BATTLE_ANIM_FRAMESET_MIND_READER_1 ; 93 - const BATTLE_ANIM_FRAMESET_MIND_READER_2 ; 94 - const BATTLE_ANIM_FRAMESET_MIND_READER_3 ; 95 - const BATTLE_ANIM_FRAMESET_MIND_READER_4 ; 96 - const BATTLE_ANIM_FRAMESET_SAFEGUARD ; 97 - const BATTLE_ANIM_FRAMESET_MEGAPHONE_UNUSED ; 98 - const BATTLE_ANIM_FRAMESET_ITEM_BAG ; 99 - const BATTLE_ANIM_FRAMESET_SPIDER_WEB ; 9a - const BATTLE_ANIM_FRAMESET_UNUSED_CAKE ; 9b - const BATTLE_ANIM_FRAMESET_IMP ; 9c - const BATTLE_ANIM_FRAMESET_IMP_FLIPPED ; 9d - const BATTLE_ANIM_FRAMESET_CHERUB ; 9e - const BATTLE_ANIM_FRAMESET_PENCIL ; 9f - const BATTLE_ANIM_FRAMESET_ENCORE_HAND ; a0 - const BATTLE_ANIM_FRAMESET_ENCORE_HAND_FLIPPED ; a1 - const BATTLE_ANIM_FRAMESET_DESTINY_BOND ; a2 - const BATTLE_ANIM_FRAMESET_MORNING_SUN ; a3 - const BATTLE_ANIM_FRAMESET_GLIMMER ; a4 - const BATTLE_ANIM_FRAMESET_MOONLIGHT ; a5 - const BATTLE_ANIM_FRAMESET_CROSS_CHOP_1 ; a6 - const BATTLE_ANIM_FRAMESET_CROSS_CHOP_2 ; a7 - const BATTLE_ANIM_FRAMESET_ZAP_CANNON ; a8 - const BATTLE_ANIM_FRAMESET_CURSE_NAIL ; a9 - const BATTLE_ANIM_FRAMESET_FORESIGHT_SHINE ; aa - const BATTLE_ANIM_FRAMESET_RAPID_SPIN ; ab - const BATTLE_ANIM_FRAMESET_SWAGGER ; ac - const BATTLE_ANIM_FRAMESET_MEAN_LOOK ; ad - const BATTLE_ANIM_FRAMESET_UPSIDE_DOWN_PUNCH ; ae - const BATTLE_ANIM_FRAMESET_GROWING_SPARKLE ; af - const BATTLE_ANIM_FRAMESET_RAIN ; b0 - const BATTLE_ANIM_FRAMESET_PSYCH_UP ; b1 - const BATTLE_ANIM_FRAMESET_SPIRAL_UNUSED ; b2 - const BATTLE_ANIM_FRAMESET_AEROBLAST ; b3 - const BATTLE_ANIM_FRAMESET_SANDSTORM ; b4 - const BATTLE_ANIM_FRAMESET_ENEMYFEET_1ROW ; b5 - const BATTLE_ANIM_FRAMESET_PLAYERHEAD_1ROW ; b6 - const BATTLE_ANIM_FRAMESET_ENEMYFEET_2ROW ; b7 - const BATTLE_ANIM_FRAMESET_PLAYERHEAD_2ROW ; b8 - const BATTLE_ANIM_FRAMESET_MEDIUM_HORN ; b9 - const BATTLE_ANIM_FRAMESET_SAFARI_BAIT ; ba - const BATTLE_ANIM_FRAMESET_RECOVER ; bb - const BATTLE_ANIM_FRAMESET_MINIMIZE ; bc - const BATTLE_ANIM_FRAMESET_BUBBLE_SPLASH ; bd - const BATTLE_ANIM_FRAMESET_SMOKE_PUFF ; be - const BATTLE_ANIM_FRAMESET_INK_SPLASH ; bf - const BATTLE_ANIM_FRAMESET_SPINNING_TRIANGLE ; c0 + const BATTLE_ANIM_FRAMESET_HIT_BIG ; 00 + const BATTLE_ANIM_FRAMESET_HIT ; 01 + const BATTLE_ANIM_FRAMESET_HIT_SMALL ; 02 + const BATTLE_ANIM_FRAMESET_PUNCH ; 03 + const BATTLE_ANIM_FRAMESET_KICK ; 04 + const BATTLE_ANIM_FRAMESET_PALM ; 05 + const BATTLE_ANIM_FRAMESET_FANG ; 06 + const BATTLE_ANIM_FRAMESET_PUNCH_SHAKE ; 07 + const BATTLE_ANIM_FRAMESET_BALL_POOF ; 08 + const BATTLE_ANIM_FRAMESET_POKE_BALL_1 ; 09 + const BATTLE_ANIM_FRAMESET_POKE_BALL_2 ; 0a + const BATTLE_ANIM_FRAMESET_POKE_BALL_3 ; 0b + const BATTLE_ANIM_FRAMESET_POKE_BALL_4 ; 0c + const BATTLE_ANIM_FRAMESET_POKE_BALL_5 ; 0d + const BATTLE_ANIM_FRAMESET_DRAGON_RAGE ; 0e + const BATTLE_ANIM_FRAMESET_FLAMETHROWER ; 0f + const BATTLE_ANIM_FRAMESET_EMBER ; 10 + const BATTLE_ANIM_FRAMESET_BURNED ; 11 + const BATTLE_ANIM_FRAMESET_BLIZZARD ; 12 + const BATTLE_ANIM_FRAMESET_ICE ; 13 + const BATTLE_ANIM_FRAMESET_ICE_BEAM ; 14 + const BATTLE_ANIM_FRAMESET_POWDER_SNOW ; 15 + const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1 ; 16 + const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_2 ; 17 + const BATTLE_ANIM_FRAMESET_EXPLOSION ; 18 + const BATTLE_ANIM_FRAMESET_BIG_ROCK ; 19 + const BATTLE_ANIM_FRAMESET_SMALL_ROCK ; 1a + const BATTLE_ANIM_FRAMESET_STRENGTH ; 1b + const BATTLE_ANIM_FRAMESET_SKULL_CROSSBONE ; 1c + const BATTLE_ANIM_FRAMESET_ACID ; 1d + const BATTLE_ANIM_FRAMESET_POISON_DROPLET ; 1e + const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE ; 1f + const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST ; 20 + const BATTLE_ANIM_FRAMESET_SMALL_BUBBLE ; 21 + const BATTLE_ANIM_FRAMESET_PULSING_BUBBLE ; 22 + const BATTLE_ANIM_FRAMESET_SURF ; 23 + const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1 ; 24 + const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2 ; 25 + const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3 ; 26 + const BATTLE_ANIM_FRAMESET_WATER_GUN_1 ; 27 + const BATTLE_ANIM_FRAMESET_WATER_GUN_2 ; 28 + const BATTLE_ANIM_FRAMESET_WATER_GUN_3 ; 29 + const BATTLE_ANIM_FRAMESET_HYDRO_PUMP ; 2a + const BATTLE_ANIM_FRAMESET_POWDER ; 2b + const BATTLE_ANIM_FRAMESET_BEAM ; 2c + const BATTLE_ANIM_FRAMESET_BEAM_TIP ; 2d + const BATTLE_ANIM_FRAMESET_ICE_BUILDUP ; 2e + const BATTLE_ANIM_FRAMESET_FROZEN ; 2f + const BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE ; 30 + const BATTLE_ANIM_FRAMESET_THUNDER_CENTER ; 31 + const BATTLE_ANIM_FRAMESET_THUNDER_LEFT ; 32 + const BATTLE_ANIM_FRAMESET_THUNDER_RIGHT ; 33 + const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE ; 34 + const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_EXTRA ; 35 + const BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS ; 36 + const BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE ; 37 + const BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS ; 38 + const BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE ; 39 + const BATTLE_ANIM_FRAMESET_CLAMP ; 3a + const BATTLE_ANIM_FRAMESET_CLAMP_FLIPPED ; 3b + const BATTLE_ANIM_FRAMESET_BITE_1 ; 3c + const BATTLE_ANIM_FRAMESET_BITE_2 ; 3d + const BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT ; 3e + const BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT ; 3f + const BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT ; 40 + const BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT ; 41 + const BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT ; 42 + const BATTLE_ANIM_FRAMESET_CHARGE_ORB_1 ; 43 + const BATTLE_ANIM_FRAMESET_ABSORB_CENTER ; 44 + const BATTLE_ANIM_FRAMESET_GUST ; 45 + const BATTLE_ANIM_FRAMESET_VINE_WHIP_1 ; 46 + const BATTLE_ANIM_FRAMESET_VINE_WHIP_2 ; 47 + const BATTLE_ANIM_FRAMESET_RAZOR_WIND_1 ; 48 + const BATTLE_ANIM_FRAMESET_RAZOR_WIND_2 ; 49 + const BATTLE_ANIM_FRAMESET_SONICBOOM_JP ; 4a + const BATTLE_ANIM_FRAMESET_WARP ; 4b + const BATTLE_ANIM_FRAMESET_CHARGE_ORB_2 ; 4c + const BATTLE_ANIM_FRAMESET_EGG ; 4d + const BATTLE_ANIM_FRAMESET_EGG_WOBBLE ; 4e + const BATTLE_ANIM_FRAMESET_EGG_CRACKED_TOP ; 4f + const BATTLE_ANIM_FRAMESET_EGG_CRACKED_BOTTOM ; 50 + const BATTLE_ANIM_FRAMESET_FOCUS ; 51 + const BATTLE_ANIM_FRAMESET_BIND_1 ; 52 + const BATTLE_ANIM_FRAMESET_BIND_2 ; 53 + const BATTLE_ANIM_FRAMESET_BIND_3 ; 54 + const BATTLE_ANIM_FRAMESET_BIND_4 ; 55 + const BATTLE_ANIM_FRAMESET_LEECH_SEED_1 ; 56 + const BATTLE_ANIM_FRAMESET_LEECH_SEED_2 ; 57 + const BATTLE_ANIM_FRAMESET_LEECH_SEED_3 ; 58 + const BATTLE_ANIM_FRAMESET_SOUND_1 ; 59 + const BATTLE_ANIM_FRAMESET_SOUND_2 ; 5a + const BATTLE_ANIM_FRAMESET_SOUND_3 ; 5b + const BATTLE_ANIM_FRAMESET_WAVE ; 5c + const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1 ; 5d + const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_2 ; 5e + const BATTLE_ANIM_FRAMESET_LEER ; 5f + const BATTLE_ANIM_FRAMESET_REFLECT ; 60 + const BATTLE_ANIM_FRAMESET_CHICK_1 ; 61 + const BATTLE_ANIM_FRAMESET_CHICK_2 ; 62 + const BATTLE_ANIM_FRAMESET_AMNESIA_1 ; 63 + const BATTLE_ANIM_FRAMESET_AMNESIA_2 ; 64 + const BATTLE_ANIM_FRAMESET_AMNESIA_3 ; 65 + const BATTLE_ANIM_FRAMESET_ASLEEP ; 66 + const BATTLE_ANIM_FRAMESET_DIG_SAND ; 67 + const BATTLE_ANIM_FRAMESET_DIG_PILE ; 68 + const BATTLE_ANIM_FRAMESET_SAND ; 69 + const BATTLE_ANIM_FRAMESET_STRING_SHOT_1 ; 6a + const BATTLE_ANIM_FRAMESET_STRING_SHOT_2 ; 6b + const BATTLE_ANIM_FRAMESET_STRING_SHOT_3 ; 6c + const BATTLE_ANIM_FRAMESET_PARALYZED ; 6d + const BATTLE_ANIM_FRAMESET_PARALYZED_FLIPPED ; 6e + const BATTLE_ANIM_FRAMESET_HAZE ; 6f + const BATTLE_ANIM_FRAMESET_MIST ; 70 + const BATTLE_ANIM_FRAMESET_HORN ; 71 + const BATTLE_ANIM_FRAMESET_NEEDLE ; 72 + const BATTLE_ANIM_FRAMESET_FLOWER ; 73 + const BATTLE_ANIM_FRAMESET_BARRAGE_BALL ; 74 + const BATTLE_ANIM_FRAMESET_PAY_DAY ; 75 + const BATTLE_ANIM_FRAMESET_HEART ; 76 + const BATTLE_ANIM_FRAMESET_SPINNING_BONE ; 77 + const BATTLE_ANIM_FRAMESET_STAR ; 78 + const BATTLE_ANIM_FRAMESET_SPOON ; 79 + const BATTLE_ANIM_FRAMESET_SPARKLE ; 7a + const BATTLE_ANIM_FRAMESET_SKY_ATTACK ; 7b + const BATTLE_ANIM_FRAMESET_LICK ; 7c + const BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL ; 7d + const BATTLE_ANIM_FRAMESET_SHRINKING_CHARGE_ORB ; 7e + const BATTLE_ANIM_FRAMESET_CONVERSION ; 7f + const BATTLE_ANIM_FRAMESET_SWORD ; 80 + const BATTLE_ANIM_FRAMESET_SPEED_LINE_1 ; 81 + const BATTLE_ANIM_FRAMESET_SPEED_LINE_2 ; 82 + const BATTLE_ANIM_FRAMESET_SPEED_LINE_3 ; 83 + const BATTLE_ANIM_FRAMESET_SEISMIC_TOSS ; 84 + const BATTLE_ANIM_FRAMESET_SHARPEN ; 85 + const BATTLE_ANIM_FRAMESET_DEFENSE_CURL ; 86 + const BATTLE_ANIM_FRAMESET_METRONOME_HAND ; 87 + const BATTLE_ANIM_FRAMESET_AGILITY ; 88 + const BATTLE_ANIM_FRAMESET_COTTON ; 89 + const BATTLE_ANIM_FRAMESET_MILK_BOTTLE ; 8a + const BATTLE_ANIM_FRAMESET_SPIKE ; 8b + const BATTLE_ANIM_FRAMESET_ANGER_VEIN ; 8c + const BATTLE_ANIM_FRAMESET_HEAL_BELL ; 8d + const BATTLE_ANIM_FRAMESET_BATON_PASS ; 8e + const BATTLE_ANIM_FRAMESET_LOCK_ON_1 ; 8f + const BATTLE_ANIM_FRAMESET_LOCK_ON_2 ; 90 + const BATTLE_ANIM_FRAMESET_LOCK_ON_3 ; 91 + const BATTLE_ANIM_FRAMESET_LOCK_ON_4 ; 92 + const BATTLE_ANIM_FRAMESET_MIND_READER_1 ; 93 + const BATTLE_ANIM_FRAMESET_MIND_READER_2 ; 94 + const BATTLE_ANIM_FRAMESET_MIND_READER_3 ; 95 + const BATTLE_ANIM_FRAMESET_MIND_READER_4 ; 96 + const BATTLE_ANIM_FRAMESET_SAFEGUARD ; 97 + const BATTLE_ANIM_FRAMESET_MEGAPHONE_UNUSED ; 98 + const BATTLE_ANIM_FRAMESET_ITEM_BAG ; 99 + const BATTLE_ANIM_FRAMESET_SPIDER_WEB ; 9a + const BATTLE_ANIM_FRAMESET_UNUSED_CAKE ; 9b + const BATTLE_ANIM_FRAMESET_IMP ; 9c + const BATTLE_ANIM_FRAMESET_IMP_FLIPPED ; 9d + const BATTLE_ANIM_FRAMESET_CHERUB ; 9e + const BATTLE_ANIM_FRAMESET_PENCIL ; 9f + const BATTLE_ANIM_FRAMESET_ENCORE_HAND ; a0 + const BATTLE_ANIM_FRAMESET_ENCORE_HAND_FLIPPED ; a1 + const BATTLE_ANIM_FRAMESET_DESTINY_BOND ; a2 + const BATTLE_ANIM_FRAMESET_MORNING_SUN ; a3 + const BATTLE_ANIM_FRAMESET_GLIMMER ; a4 + const BATTLE_ANIM_FRAMESET_MOONLIGHT ; a5 + const BATTLE_ANIM_FRAMESET_CROSS_CHOP_1 ; a6 + const BATTLE_ANIM_FRAMESET_CROSS_CHOP_2 ; a7 + const BATTLE_ANIM_FRAMESET_ZAP_CANNON ; a8 + const BATTLE_ANIM_FRAMESET_CURSE_NAIL ; a9 + const BATTLE_ANIM_FRAMESET_FORESIGHT_SHINE ; aa + const BATTLE_ANIM_FRAMESET_RAPID_SPIN ; ab + const BATTLE_ANIM_FRAMESET_SWAGGER ; ac + const BATTLE_ANIM_FRAMESET_MEAN_LOOK ; ad + const BATTLE_ANIM_FRAMESET_UPSIDE_DOWN_PUNCH ; ae + const BATTLE_ANIM_FRAMESET_GROWING_SPARKLE ; af + const BATTLE_ANIM_FRAMESET_RAIN ; b0 + const BATTLE_ANIM_FRAMESET_PSYCH_UP ; b1 + const BATTLE_ANIM_FRAMESET_SPIRAL_UNUSED ; b2 + const BATTLE_ANIM_FRAMESET_AEROBLAST ; b3 + const BATTLE_ANIM_FRAMESET_SANDSTORM ; b4 + const BATTLE_ANIM_FRAMESET_ENEMYFEET_1ROW ; b5 + const BATTLE_ANIM_FRAMESET_PLAYERHEAD_1ROW ; b6 + const BATTLE_ANIM_FRAMESET_ENEMYFEET_2ROW ; b7 + const BATTLE_ANIM_FRAMESET_PLAYERHEAD_2ROW ; b8 + const BATTLE_ANIM_FRAMESET_MEDIUM_HORN ; b9 + const BATTLE_ANIM_FRAMESET_SAFARI_BAIT ; ba + const BATTLE_ANIM_FRAMESET_RECOVER ; bb + const BATTLE_ANIM_FRAMESET_MINIMIZE ; bc + const BATTLE_ANIM_FRAMESET_BUBBLE_SPLASH ; bd + const BATTLE_ANIM_FRAMESET_SMOKE_PUFF ; be + const BATTLE_ANIM_FRAMESET_INK_SPLASH ; bf + const BATTLE_ANIM_FRAMESET_SPINNING_TRIANGLE ; c0 const BATTLE_ANIM_FRAMESET_SPINNING_TRIANGLE_SLOW ; c1 + const BATTLE_ANIM_FRAMESET_BOUNCING_MUSHROOM ; c2 DEF NUM_BATTLE_ANIM_FRAMESETS EQU const_value ; BattleAnimOAMData indexes (see data/battle_anims/oam.asm) @@ -737,6 +740,9 @@ DEF NUM_BATTLE_ANIM_FRAMESETS EQU const_value const BATTLE_ANIM_OAMSET_D8 const BATTLE_ANIM_OAMSET_D9 const BATTLE_ANIM_OAMSET_DA + const BATTLE_ANIM_OAMSET_DB + const BATTLE_ANIM_OAMSET_DC + const BATTLE_ANIM_OAMSET_DD DEF NUM_BATTLE_ANIM_OAMSETS EQU const_value assert NUM_BATTLE_ANIM_OAMSETS <= FIRST_OAM_CMD, \ @@ -844,8 +850,9 @@ DEF NUM_BATTLE_BG_EFFECTS EQU const_value - 1 const BATTLE_ANIM_GFX_BEAM_LIGHT ; 28 const BATTLE_ANIM_GFX_SMOKE_PUFF ; 29 const BATTLE_ANIM_GFX_TRIANGLE ; 2a - const BATTLE_ANIM_GFX_PLAYERHEAD ; 2b - const BATTLE_ANIM_GFX_ENEMYFEET ; 2c + const BATTLE_ANIM_GFX_MUSHROOM ; 2b + const BATTLE_ANIM_GFX_PLAYERHEAD ; 2c + const BATTLE_ANIM_GFX_ENEMYFEET ; 2d DEF NUM_BATTLE_ANIM_GFX EQU const_value - 1 ; battle_bg_effect struct members (see macros/ram.asm) diff --git a/data/battle_anims/framesets.asm b/data/battle_anims/framesets.asm index c24ddb617..980445770 100644 --- a/data/battle_anims/framesets.asm +++ b/data/battle_anims/framesets.asm @@ -1,189 +1,189 @@ BattleAnimFrameData: ; entries correspond to BATTLE_ANIM_FRAMESET_* constants table_width 2, BattleAnimFrameData - dw .Frameset_HitBig ; BATTLE_ANIM_FRAMESET_HIT_BIG - dw .Frameset_Hit ; BATTLE_ANIM_FRAMESET_HIT - dw .Frameset_HitSmall ; BATTLE_ANIM_FRAMESET_HIT_SMALL - dw .Frameset_Punch ; BATTLE_ANIM_FRAMESET_PUNCH - dw .Frameset_Kick ; BATTLE_ANIM_FRAMESET_KICK - dw .Frameset_Palm ; BATTLE_ANIM_FRAMESET_PALM - dw .Frameset_Fang ; BATTLE_ANIM_FRAMESET_FANG - dw .Frameset_PunchShake ; BATTLE_ANIM_FRAMESET_PUNCH_SHAKE - dw .Frameset_BallPoof ; BATTLE_ANIM_FRAMESET_BALL_POOF - dw .Frameset_PokeBall1 ; BATTLE_ANIM_FRAMESET_POKE_BALL_1 - dw .Frameset_PokeBall2 ; BATTLE_ANIM_FRAMESET_POKE_BALL_2 - dw .Frameset_PokeBall3 ; BATTLE_ANIM_FRAMESET_POKE_BALL_3 - dw .Frameset_PokeBall4 ; BATTLE_ANIM_FRAMESET_POKE_BALL_4 - dw .Frameset_PokeBall5 ; BATTLE_ANIM_FRAMESET_POKE_BALL_5 - dw .Frameset_DragonRage ; BATTLE_ANIM_FRAMESET_DRAGON_RAGE - dw .Frameset_Flamethrower ; BATTLE_ANIM_FRAMESET_FLAMETHROWER - dw .Frameset_Ember ; BATTLE_ANIM_FRAMESET_EMBER - dw .Frameset_Burned ; BATTLE_ANIM_FRAMESET_BURNED - dw .Frameset_Blizzard ; BATTLE_ANIM_FRAMESET_BLIZZARD - dw .Frameset_Ice ; BATTLE_ANIM_FRAMESET_ICE - dw .Frameset_IceBeam ; BATTLE_ANIM_FRAMESET_ICE_BEAM - dw .Frameset_PowderSnow ; BATTLE_ANIM_FRAMESET_POWDER_SNOW - dw .Frameset_RazorLeaf1 ; BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1 - dw .Frameset_RazorLeaf2 ; BATTLE_ANIM_FRAMESET_RAZOR_LEAF_2 - dw .Frameset_Explosion ; BATTLE_ANIM_FRAMESET_EXPLOSION - dw .Frameset_BigRock ; BATTLE_ANIM_FRAMESET_BIG_ROCK - dw .Frameset_SmallRock ; BATTLE_ANIM_FRAMESET_SMALL_ROCK - dw .Frameset_Strength ; BATTLE_ANIM_FRAMESET_STRENGTH - dw .Frameset_SkullCrossbone ; BATTLE_ANIM_FRAMESET_SKULL_CROSSBONE - dw .Frameset_Acid ; BATTLE_ANIM_FRAMESET_ACID - dw .Frameset_PoisonDroplet ; BATTLE_ANIM_FRAMESET_POISON_DROPLET - dw .Frameset_SludgeBubble ; BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE - dw .Frameset_SludgeBubbleBurst ; BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST - dw .Frameset_SmallBubble ; BATTLE_ANIM_FRAMESET_SMALL_BUBBLE - dw .Frameset_PulsingBubble ; BATTLE_ANIM_FRAMESET_PULSING_BUBBLE - dw .Frameset_Surf ; BATTLE_ANIM_FRAMESET_SURF - dw .Frameset_MusicNote1 ; BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1 - dw .Frameset_MusicNote2 ; BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2 - dw .Frameset_MusicNote3 ; BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3 - dw .Frameset_WaterGun1 ; BATTLE_ANIM_FRAMESET_WATER_GUN_1 - dw .Frameset_WaterGun2 ; BATTLE_ANIM_FRAMESET_WATER_GUN_2 - dw .Frameset_WaterGun3 ; BATTLE_ANIM_FRAMESET_WATER_GUN_3 - dw .Frameset_HydroPump ; BATTLE_ANIM_FRAMESET_HYDRO_PUMP - dw .Frameset_Powder ; BATTLE_ANIM_FRAMESET_POWDER - dw .Frameset_Beam ; BATTLE_ANIM_FRAMESET_BEAM - dw .Frameset_BeamTip ; BATTLE_ANIM_FRAMESET_BEAM_TIP - dw .Frameset_IceBuildup ; BATTLE_ANIM_FRAMESET_ICE_BUILDUP - dw .Frameset_Frozen ; BATTLE_ANIM_FRAMESET_FROZEN - dw .Frameset_CirclingSparkle ; BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE - dw .Frameset_ThunderCenter ; BATTLE_ANIM_FRAMESET_THUNDER_CENTER - dw .Frameset_ThunderLeft ; BATTLE_ANIM_FRAMESET_THUNDER_LEFT - dw .Frameset_ThunderRight ; BATTLE_ANIM_FRAMESET_THUNDER_RIGHT - dw .Frameset_ThunderWaveDisable ; BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE - dw .Frameset_ThunderWaveExtra ; BATTLE_ANIM_FRAMESET_THUNDER_WAVE_EXTRA - dw .Frameset_ThunderBoltSparks ; BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS - dw .Frameset_ThunderBoltCore ; BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE - dw .Frameset_ThunderShockSparks ; BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS - dw .Frameset_ThunderShockCore ; BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE - dw .Frameset_Clamp ; BATTLE_ANIM_FRAMESET_CLAMP - dw .Frameset_ClampFlipped ; BATTLE_ANIM_FRAMESET_CLAMP_FLIPPED - dw .Frameset_Bite1 ; BATTLE_ANIM_FRAMESET_BITE_1 - dw .Frameset_Bite2 ; BATTLE_ANIM_FRAMESET_BITE_2 - dw .Frameset_CutDownLeft ; BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT - dw .Frameset_CutDownRight ; BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT - dw .Frameset_CutUpRight ; BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT - dw .Frameset_CutLongDownLeft ; BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT - dw .Frameset_CutLongDownRight ; BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT - dw .Frameset_ChargeOrb1 ; BATTLE_ANIM_FRAMESET_CHARGE_ORB_1 - dw .Frameset_AbsorbCenter ; BATTLE_ANIM_FRAMESET_ABSORB_CENTER - dw .Frameset_Gust ; BATTLE_ANIM_FRAMESET_GUST - dw .Frameset_VineWhip1 ; BATTLE_ANIM_FRAMESET_VINE_WHIP_1 - dw .Frameset_VineWhip2 ; BATTLE_ANIM_FRAMESET_VINE_WHIP_2 - dw .Frameset_RazorWind1 ; BATTLE_ANIM_FRAMESET_RAZOR_WIND_1 - dw .Frameset_RazorWind2 ; BATTLE_ANIM_FRAMESET_RAZOR_WIND_2 - dw .Frameset_SonicboomJP ; BATTLE_ANIM_FRAMESET_SONICBOOM_JP - dw .Frameset_Warp ; BATTLE_ANIM_FRAMESET_WARP - dw .Frameset_ChargeOrb2 ; BATTLE_ANIM_FRAMESET_CHARGE_ORB_2 - dw .Frameset_Egg ; BATTLE_ANIM_FRAMESET_EGG - dw .Frameset_EggWobble ; BATTLE_ANIM_FRAMESET_EGG_WOBBLE - dw .Frameset_EggCrackedTop ; BATTLE_ANIM_FRAMESET_EGG_CRACKED_TOP - dw .Frameset_EggCrackedBottom ; BATTLE_ANIM_FRAMESET_EGG_CRACKED_BOTTOM - dw .Frameset_Focus ; BATTLE_ANIM_FRAMESET_FOCUS - dw .Frameset_Bind1 ; BATTLE_ANIM_FRAMESET_BIND_1 - dw .Frameset_Bind2 ; BATTLE_ANIM_FRAMESET_BIND_2 - dw .Frameset_Bind3 ; BATTLE_ANIM_FRAMESET_BIND_3 - dw .Frameset_Bind4 ; BATTLE_ANIM_FRAMESET_BIND_4 - dw .Frameset_LeechSeed1 ; BATTLE_ANIM_FRAMESET_LEECH_SEED_1 - dw .Frameset_LeechSeed2 ; BATTLE_ANIM_FRAMESET_LEECH_SEED_2 - dw .Frameset_LeechSeed3 ; BATTLE_ANIM_FRAMESET_LEECH_SEED_3 - dw .Frameset_Sound1 ; BATTLE_ANIM_FRAMESET_SOUND_1 - dw .Frameset_Sound2 ; BATTLE_ANIM_FRAMESET_SOUND_2 - dw .Frameset_Sound3 ; BATTLE_ANIM_FRAMESET_SOUND_3 - dw .Frameset_Wave ; BATTLE_ANIM_FRAMESET_WAVE - dw .Frameset_ConfuseRay1 ; BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1 - dw .Frameset_ConfuseRay2 ; BATTLE_ANIM_FRAMESET_CONFUSE_RAY_2 - dw .Frameset_Leer ; BATTLE_ANIM_FRAMESET_LEER - dw .Frameset_Reflect ; BATTLE_ANIM_FRAMESET_REFLECT - dw .Frameset_Chick1 ; BATTLE_ANIM_FRAMESET_CHICK_1 - dw .Frameset_Chick2 ; BATTLE_ANIM_FRAMESET_CHICK_2 - dw .Frameset_Amnesia1 ; BATTLE_ANIM_FRAMESET_AMNESIA_1 - dw .Frameset_Amnesia2 ; BATTLE_ANIM_FRAMESET_AMNESIA_2 - dw .Frameset_Amnesia3 ; BATTLE_ANIM_FRAMESET_AMNESIA_3 - dw .Frameset_Asleep ; BATTLE_ANIM_FRAMESET_ASLEEP - dw .Frameset_DigSand ; BATTLE_ANIM_FRAMESET_DIG_SAND - dw .Frameset_DigPile ; BATTLE_ANIM_FRAMESET_DIG_PILE - dw .Frameset_Sand ; BATTLE_ANIM_FRAMESET_SAND - dw .Frameset_StringShot1 ; BATTLE_ANIM_FRAMESET_STRING_SHOT_1 - dw .Frameset_StringShot2 ; BATTLE_ANIM_FRAMESET_STRING_SHOT_2 - dw .Frameset_StringShot3 ; BATTLE_ANIM_FRAMESET_STRING_SHOT_3 - dw .Frameset_Paralyzed ; BATTLE_ANIM_FRAMESET_PARALYZED - dw .Frameset_ParalyzedFlipped ; BATTLE_ANIM_FRAMESET_PARALYZED_FLIPPED - dw .Frameset_Haze ; BATTLE_ANIM_FRAMESET_HAZE - dw .Frameset_Mist ; BATTLE_ANIM_FRAMESET_MIST - dw .Frameset_Horn ; BATTLE_ANIM_FRAMESET_HORN - dw .Frameset_Needle ; BATTLE_ANIM_FRAMESET_NEEDLE - dw .Frameset_Flower ; BATTLE_ANIM_FRAMESET_FLOWER - dw .Frameset_BarrageBall ; BATTLE_ANIM_FRAMESET_BARRAGE_BALL - dw .Frameset_PayDay ; BATTLE_ANIM_FRAMESET_PAY_DAY - dw .Frameset_Heart ; BATTLE_ANIM_FRAMESET_HEART - dw .Frameset_SpinningBone ; BATTLE_ANIM_FRAMESET_SPINNING_BONE - dw .Frameset_Star ; BATTLE_ANIM_FRAMESET_STAR - dw .Frameset_Spoon ; BATTLE_ANIM_FRAMESET_SPOON - dw .Frameset_Sparkle ; BATTLE_ANIM_FRAMESET_SPARKLE - dw .Frameset_SkyAttack ; BATTLE_ANIM_FRAMESET_SKY_ATTACK - dw .Frameset_Lick ; BATTLE_ANIM_FRAMESET_LICK - dw .Frameset_WithdrawShell ; BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL - dw .Frameset_ShrinkingChargeOrb ; BATTLE_ANIM_FRAMESET_SHRINKING_CHARGE_ORB - dw .Frameset_Conversion ; BATTLE_ANIM_FRAMESET_CONVERSION - dw .Frameset_Sword ; BATTLE_ANIM_FRAMESET_SWORD - dw .Frameset_SpeedLine1 ; BATTLE_ANIM_FRAMESET_SPEED_LINE_1 - dw .Frameset_SpeedLine2 ; BATTLE_ANIM_FRAMESET_SPEED_LINE_2 - dw .Frameset_SpeedLine3 ; BATTLE_ANIM_FRAMESET_SPEED_LINE_3 - dw .Frameset_SeismicToss ; BATTLE_ANIM_FRAMESET_SEISMIC_TOSS - dw .Frameset_Sharpen ; BATTLE_ANIM_FRAMESET_SHARPEN - dw .Frameset_DefenseCurl ; BATTLE_ANIM_FRAMESET_DEFENSE_CURL - dw .Frameset_MetronomeHand ; BATTLE_ANIM_FRAMESET_METRONOME_HAND - dw .Frameset_Agility ; BATTLE_ANIM_FRAMESET_AGILITY - dw .Frameset_Cotton ; BATTLE_ANIM_FRAMESET_COTTON - dw .Frameset_MilkBottle ; BATTLE_ANIM_FRAMESET_MILK_BOTTLE - dw .Frameset_Spike ; BATTLE_ANIM_FRAMESET_SPIKE - dw .Frameset_AngerVein ; BATTLE_ANIM_FRAMESET_ANGER_VEIN - dw .Frameset_HealBell ; BATTLE_ANIM_FRAMESET_HEAL_BELL - dw .Frameset_BatonPass ; BATTLE_ANIM_FRAMESET_BATON_PASS - dw .Frameset_LockOn1 ; BATTLE_ANIM_FRAMESET_LOCK_ON_1 - dw .Frameset_LockOn2 ; BATTLE_ANIM_FRAMESET_LOCK_ON_2 - dw .Frameset_LockOn3 ; BATTLE_ANIM_FRAMESET_LOCK_ON_3 - dw .Frameset_LockOn4 ; BATTLE_ANIM_FRAMESET_LOCK_ON_4 - dw .Frameset_MindReader1 ; BATTLE_ANIM_FRAMESET_MIND_READER_1 - dw .Frameset_MindReader2 ; BATTLE_ANIM_FRAMESET_MIND_READER_2 - dw .Frameset_MindReader3 ; BATTLE_ANIM_FRAMESET_MIND_READER_3 - dw .Frameset_MindReader4 ; BATTLE_ANIM_FRAMESET_MIND_READER_4 - dw .Frameset_Safeguard ; BATTLE_ANIM_FRAMESET_SAFEGUARD - dw .Frameset_MegaphoneUnused ; BATTLE_ANIM_FRAMESET_MEGAPHONE_UNUSED - dw .Frameset_ItemBag ; BATTLE_ANIM_FRAMESET_ITEM_BAG - dw .Frameset_SpiderWeb ; BATTLE_ANIM_FRAMESET_SPIDER_WEB - dw .Frameset_UnusedCake ; BATTLE_ANIM_FRAMESET_UNUSED_CAKE - dw .Frameset_Imp ; BATTLE_ANIM_FRAMESET_IMP - dw .Frameset_ImpFlipped ; BATTLE_ANIM_FRAMESET_IMP_FLIPPED - dw .Frameset_Cherub ; BATTLE_ANIM_FRAMESET_CHERUB - dw .Frameset_Pencil ; BATTLE_ANIM_FRAMESET_PENCIL - dw .Frameset_EncoreHand ; BATTLE_ANIM_FRAMESET_ENCORE_HAND - dw .Frameset_EncoreHandFlipped ; BATTLE_ANIM_FRAMESET_ENCORE_HAND_FLIPPED - dw .Frameset_DestinyBond ; BATTLE_ANIM_FRAMESET_DESTINY_BOND - dw .Frameset_MorningSun ; BATTLE_ANIM_FRAMESET_MORNING_SUN - dw .Frameset_Glimmer ; BATTLE_ANIM_FRAMESET_GLIMMER - dw .Frameset_Moonlight ; BATTLE_ANIM_FRAMESET_MOONLIGHT - dw .Frameset_CrossChop1 ; BATTLE_ANIM_FRAMESET_CROSS_CHOP_1 - dw .Frameset_CrossChop2 ; BATTLE_ANIM_FRAMESET_CROSS_CHOP_2 - dw .Frameset_ZapCannon ; BATTLE_ANIM_FRAMESET_ZAP_CANNON - dw .Frameset_CurseNail ; BATTLE_ANIM_FRAMESET_CURSE_NAIL - dw .Frameset_ForesightShine ; BATTLE_ANIM_FRAMESET_FORESIGHT_SHINE - dw .Frameset_RapidSpin ; BATTLE_ANIM_FRAMESET_RAPID_SPIN - dw .Frameset_Swagger ; BATTLE_ANIM_FRAMESET_SWAGGER - dw .Frameset_MeanLook ; BATTLE_ANIM_FRAMESET_MEAN_LOOK - dw .Frameset_UpsideDownPunch ; BATTLE_ANIM_FRAMESET_UPSIDE_DOWN_PUNCH - dw .Frameset_GrowingSparkle ; BATTLE_ANIM_FRAMESET_GROWING_SPARKLE - dw .Frameset_Rain ; BATTLE_ANIM_FRAMESET_RAIN - dw .Frameset_PsychUp ; BATTLE_ANIM_FRAMESET_PSYCH_UP - dw .Frameset_SpiralUnused ; BATTLE_ANIM_FRAMESET_SPIRAL_UNUSED - dw .Frameset_Aeroblast ; BATTLE_ANIM_FRAMESET_AEROBLAST - dw .Frameset_Sandstorm ; BATTLE_ANIM_FRAMESET_SANDSTORM - dw .Frameset_EnemyFeet1Row ; BATTLE_ANIM_FRAMESET_ENEMYFEET_1ROW - dw .Frameset_PlayerHead1Row ; BATTLE_ANIM_FRAMESET_PLAYERHEAD_1ROW + dw .Frameset_HitBig ; BATTLE_ANIM_FRAMESET_HIT_BIG + dw .Frameset_Hit ; BATTLE_ANIM_FRAMESET_HIT + dw .Frameset_HitSmall ; BATTLE_ANIM_FRAMESET_HIT_SMALL + dw .Frameset_Punch ; BATTLE_ANIM_FRAMESET_PUNCH + dw .Frameset_Kick ; BATTLE_ANIM_FRAMESET_KICK + dw .Frameset_Palm ; BATTLE_ANIM_FRAMESET_PALM + dw .Frameset_Fang ; BATTLE_ANIM_FRAMESET_FANG + dw .Frameset_PunchShake ; BATTLE_ANIM_FRAMESET_PUNCH_SHAKE + dw .Frameset_BallPoof ; BATTLE_ANIM_FRAMESET_BALL_POOF + dw .Frameset_PokeBall1 ; BATTLE_ANIM_FRAMESET_POKE_BALL_1 + dw .Frameset_PokeBall2 ; BATTLE_ANIM_FRAMESET_POKE_BALL_2 + dw .Frameset_PokeBall3 ; BATTLE_ANIM_FRAMESET_POKE_BALL_3 + dw .Frameset_PokeBall4 ; BATTLE_ANIM_FRAMESET_POKE_BALL_4 + dw .Frameset_PokeBall5 ; BATTLE_ANIM_FRAMESET_POKE_BALL_5 + dw .Frameset_DragonRage ; BATTLE_ANIM_FRAMESET_DRAGON_RAGE + dw .Frameset_Flamethrower ; BATTLE_ANIM_FRAMESET_FLAMETHROWER + dw .Frameset_Ember ; BATTLE_ANIM_FRAMESET_EMBER + dw .Frameset_Burned ; BATTLE_ANIM_FRAMESET_BURNED + dw .Frameset_Blizzard ; BATTLE_ANIM_FRAMESET_BLIZZARD + dw .Frameset_Ice ; BATTLE_ANIM_FRAMESET_ICE + dw .Frameset_IceBeam ; BATTLE_ANIM_FRAMESET_ICE_BEAM + dw .Frameset_PowderSnow ; BATTLE_ANIM_FRAMESET_POWDER_SNOW + dw .Frameset_RazorLeaf1 ; BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1 + dw .Frameset_RazorLeaf2 ; BATTLE_ANIM_FRAMESET_RAZOR_LEAF_2 + dw .Frameset_Explosion ; BATTLE_ANIM_FRAMESET_EXPLOSION + dw .Frameset_BigRock ; BATTLE_ANIM_FRAMESET_BIG_ROCK + dw .Frameset_SmallRock ; BATTLE_ANIM_FRAMESET_SMALL_ROCK + dw .Frameset_Strength ; BATTLE_ANIM_FRAMESET_STRENGTH + dw .Frameset_SkullCrossbone ; BATTLE_ANIM_FRAMESET_SKULL_CROSSBONE + dw .Frameset_Acid ; BATTLE_ANIM_FRAMESET_ACID + dw .Frameset_PoisonDroplet ; BATTLE_ANIM_FRAMESET_POISON_DROPLET + dw .Frameset_SludgeBubble ; BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE + dw .Frameset_SludgeBubbleBurst ; BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST + dw .Frameset_SmallBubble ; BATTLE_ANIM_FRAMESET_SMALL_BUBBLE + dw .Frameset_PulsingBubble ; BATTLE_ANIM_FRAMESET_PULSING_BUBBLE + dw .Frameset_Surf ; BATTLE_ANIM_FRAMESET_SURF + dw .Frameset_MusicNote1 ; BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1 + dw .Frameset_MusicNote2 ; BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2 + dw .Frameset_MusicNote3 ; BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3 + dw .Frameset_WaterGun1 ; BATTLE_ANIM_FRAMESET_WATER_GUN_1 + dw .Frameset_WaterGun2 ; BATTLE_ANIM_FRAMESET_WATER_GUN_2 + dw .Frameset_WaterGun3 ; BATTLE_ANIM_FRAMESET_WATER_GUN_3 + dw .Frameset_HydroPump ; BATTLE_ANIM_FRAMESET_HYDRO_PUMP + dw .Frameset_Powder ; BATTLE_ANIM_FRAMESET_POWDER + dw .Frameset_Beam ; BATTLE_ANIM_FRAMESET_BEAM + dw .Frameset_BeamTip ; BATTLE_ANIM_FRAMESET_BEAM_TIP + dw .Frameset_IceBuildup ; BATTLE_ANIM_FRAMESET_ICE_BUILDUP + dw .Frameset_Frozen ; BATTLE_ANIM_FRAMESET_FROZEN + dw .Frameset_CirclingSparkle ; BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE + dw .Frameset_ThunderCenter ; BATTLE_ANIM_FRAMESET_THUNDER_CENTER + dw .Frameset_ThunderLeft ; BATTLE_ANIM_FRAMESET_THUNDER_LEFT + dw .Frameset_ThunderRight ; BATTLE_ANIM_FRAMESET_THUNDER_RIGHT + dw .Frameset_ThunderWaveDisable ; BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE + dw .Frameset_ThunderWaveExtra ; BATTLE_ANIM_FRAMESET_THUNDER_WAVE_EXTRA + dw .Frameset_ThunderBoltSparks ; BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS + dw .Frameset_ThunderBoltCore ; BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE + dw .Frameset_ThunderShockSparks ; BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS + dw .Frameset_ThunderShockCore ; BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE + dw .Frameset_Clamp ; BATTLE_ANIM_FRAMESET_CLAMP + dw .Frameset_ClampFlipped ; BATTLE_ANIM_FRAMESET_CLAMP_FLIPPED + dw .Frameset_Bite1 ; BATTLE_ANIM_FRAMESET_BITE_1 + dw .Frameset_Bite2 ; BATTLE_ANIM_FRAMESET_BITE_2 + dw .Frameset_CutDownLeft ; BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT + dw .Frameset_CutDownRight ; BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT + dw .Frameset_CutUpRight ; BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT + dw .Frameset_CutLongDownLeft ; BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT + dw .Frameset_CutLongDownRight ; BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT + dw .Frameset_ChargeOrb1 ; BATTLE_ANIM_FRAMESET_CHARGE_ORB_1 + dw .Frameset_AbsorbCenter ; BATTLE_ANIM_FRAMESET_ABSORB_CENTER + dw .Frameset_Gust ; BATTLE_ANIM_FRAMESET_GUST + dw .Frameset_VineWhip1 ; BATTLE_ANIM_FRAMESET_VINE_WHIP_1 + dw .Frameset_VineWhip2 ; BATTLE_ANIM_FRAMESET_VINE_WHIP_2 + dw .Frameset_RazorWind1 ; BATTLE_ANIM_FRAMESET_RAZOR_WIND_1 + dw .Frameset_RazorWind2 ; BATTLE_ANIM_FRAMESET_RAZOR_WIND_2 + dw .Frameset_SonicboomJP ; BATTLE_ANIM_FRAMESET_SONICBOOM_JP + dw .Frameset_Warp ; BATTLE_ANIM_FRAMESET_WARP + dw .Frameset_ChargeOrb2 ; BATTLE_ANIM_FRAMESET_CHARGE_ORB_2 + dw .Frameset_Egg ; BATTLE_ANIM_FRAMESET_EGG + dw .Frameset_EggWobble ; BATTLE_ANIM_FRAMESET_EGG_WOBBLE + dw .Frameset_EggCrackedTop ; BATTLE_ANIM_FRAMESET_EGG_CRACKED_TOP + dw .Frameset_EggCrackedBottom ; BATTLE_ANIM_FRAMESET_EGG_CRACKED_BOTTOM + dw .Frameset_Focus ; BATTLE_ANIM_FRAMESET_FOCUS + dw .Frameset_Bind1 ; BATTLE_ANIM_FRAMESET_BIND_1 + dw .Frameset_Bind2 ; BATTLE_ANIM_FRAMESET_BIND_2 + dw .Frameset_Bind3 ; BATTLE_ANIM_FRAMESET_BIND_3 + dw .Frameset_Bind4 ; BATTLE_ANIM_FRAMESET_BIND_4 + dw .Frameset_LeechSeed1 ; BATTLE_ANIM_FRAMESET_LEECH_SEED_1 + dw .Frameset_LeechSeed2 ; BATTLE_ANIM_FRAMESET_LEECH_SEED_2 + dw .Frameset_LeechSeed3 ; BATTLE_ANIM_FRAMESET_LEECH_SEED_3 + dw .Frameset_Sound1 ; BATTLE_ANIM_FRAMESET_SOUND_1 + dw .Frameset_Sound2 ; BATTLE_ANIM_FRAMESET_SOUND_2 + dw .Frameset_Sound3 ; BATTLE_ANIM_FRAMESET_SOUND_3 + dw .Frameset_Wave ; BATTLE_ANIM_FRAMESET_WAVE + dw .Frameset_ConfuseRay1 ; BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1 + dw .Frameset_ConfuseRay2 ; BATTLE_ANIM_FRAMESET_CONFUSE_RAY_2 + dw .Frameset_Leer ; BATTLE_ANIM_FRAMESET_LEER + dw .Frameset_Reflect ; BATTLE_ANIM_FRAMESET_REFLECT + dw .Frameset_Chick1 ; BATTLE_ANIM_FRAMESET_CHICK_1 + dw .Frameset_Chick2 ; BATTLE_ANIM_FRAMESET_CHICK_2 + dw .Frameset_Amnesia1 ; BATTLE_ANIM_FRAMESET_AMNESIA_1 + dw .Frameset_Amnesia2 ; BATTLE_ANIM_FRAMESET_AMNESIA_2 + dw .Frameset_Amnesia3 ; BATTLE_ANIM_FRAMESET_AMNESIA_3 + dw .Frameset_Asleep ; BATTLE_ANIM_FRAMESET_ASLEEP + dw .Frameset_DigSand ; BATTLE_ANIM_FRAMESET_DIG_SAND + dw .Frameset_DigPile ; BATTLE_ANIM_FRAMESET_DIG_PILE + dw .Frameset_Sand ; BATTLE_ANIM_FRAMESET_SAND + dw .Frameset_StringShot1 ; BATTLE_ANIM_FRAMESET_STRING_SHOT_1 + dw .Frameset_StringShot2 ; BATTLE_ANIM_FRAMESET_STRING_SHOT_2 + dw .Frameset_StringShot3 ; BATTLE_ANIM_FRAMESET_STRING_SHOT_3 + dw .Frameset_Paralyzed ; BATTLE_ANIM_FRAMESET_PARALYZED + dw .Frameset_ParalyzedFlipped ; BATTLE_ANIM_FRAMESET_PARALYZED_FLIPPED + dw .Frameset_Haze ; BATTLE_ANIM_FRAMESET_HAZE + dw .Frameset_Mist ; BATTLE_ANIM_FRAMESET_MIST + dw .Frameset_Horn ; BATTLE_ANIM_FRAMESET_HORN + dw .Frameset_Needle ; BATTLE_ANIM_FRAMESET_NEEDLE + dw .Frameset_Flower ; BATTLE_ANIM_FRAMESET_FLOWER + dw .Frameset_BarrageBall ; BATTLE_ANIM_FRAMESET_BARRAGE_BALL + dw .Frameset_PayDay ; BATTLE_ANIM_FRAMESET_PAY_DAY + dw .Frameset_Heart ; BATTLE_ANIM_FRAMESET_HEART + dw .Frameset_SpinningBone ; BATTLE_ANIM_FRAMESET_SPINNING_BONE + dw .Frameset_Star ; BATTLE_ANIM_FRAMESET_STAR + dw .Frameset_Spoon ; BATTLE_ANIM_FRAMESET_SPOON + dw .Frameset_Sparkle ; BATTLE_ANIM_FRAMESET_SPARKLE + dw .Frameset_SkyAttack ; BATTLE_ANIM_FRAMESET_SKY_ATTACK + dw .Frameset_Lick ; BATTLE_ANIM_FRAMESET_LICK + dw .Frameset_WithdrawShell ; BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL + dw .Frameset_ShrinkingChargeOrb ; BATTLE_ANIM_FRAMESET_SHRINKING_CHARGE_ORB + dw .Frameset_Conversion ; BATTLE_ANIM_FRAMESET_CONVERSION + dw .Frameset_Sword ; BATTLE_ANIM_FRAMESET_SWORD + dw .Frameset_SpeedLine1 ; BATTLE_ANIM_FRAMESET_SPEED_LINE_1 + dw .Frameset_SpeedLine2 ; BATTLE_ANIM_FRAMESET_SPEED_LINE_2 + dw .Frameset_SpeedLine3 ; BATTLE_ANIM_FRAMESET_SPEED_LINE_3 + dw .Frameset_SeismicToss ; BATTLE_ANIM_FRAMESET_SEISMIC_TOSS + dw .Frameset_Sharpen ; BATTLE_ANIM_FRAMESET_SHARPEN + dw .Frameset_DefenseCurl ; BATTLE_ANIM_FRAMESET_DEFENSE_CURL + dw .Frameset_MetronomeHand ; BATTLE_ANIM_FRAMESET_METRONOME_HAND + dw .Frameset_Agility ; BATTLE_ANIM_FRAMESET_AGILITY + dw .Frameset_Cotton ; BATTLE_ANIM_FRAMESET_COTTON + dw .Frameset_MilkBottle ; BATTLE_ANIM_FRAMESET_MILK_BOTTLE + dw .Frameset_Spike ; BATTLE_ANIM_FRAMESET_SPIKE + dw .Frameset_AngerVein ; BATTLE_ANIM_FRAMESET_ANGER_VEIN + dw .Frameset_HealBell ; BATTLE_ANIM_FRAMESET_HEAL_BELL + dw .Frameset_BatonPass ; BATTLE_ANIM_FRAMESET_BATON_PASS + dw .Frameset_LockOn1 ; BATTLE_ANIM_FRAMESET_LOCK_ON_1 + dw .Frameset_LockOn2 ; BATTLE_ANIM_FRAMESET_LOCK_ON_2 + dw .Frameset_LockOn3 ; BATTLE_ANIM_FRAMESET_LOCK_ON_3 + dw .Frameset_LockOn4 ; BATTLE_ANIM_FRAMESET_LOCK_ON_4 + dw .Frameset_MindReader1 ; BATTLE_ANIM_FRAMESET_MIND_READER_1 + dw .Frameset_MindReader2 ; BATTLE_ANIM_FRAMESET_MIND_READER_2 + dw .Frameset_MindReader3 ; BATTLE_ANIM_FRAMESET_MIND_READER_3 + dw .Frameset_MindReader4 ; BATTLE_ANIM_FRAMESET_MIND_READER_4 + dw .Frameset_Safeguard ; BATTLE_ANIM_FRAMESET_SAFEGUARD + dw .Frameset_MegaphoneUnused ; BATTLE_ANIM_FRAMESET_MEGAPHONE_UNUSED + dw .Frameset_ItemBag ; BATTLE_ANIM_FRAMESET_ITEM_BAG + dw .Frameset_SpiderWeb ; BATTLE_ANIM_FRAMESET_SPIDER_WEB + dw .Frameset_UnusedCake ; BATTLE_ANIM_FRAMESET_UNUSED_CAKE + dw .Frameset_Imp ; BATTLE_ANIM_FRAMESET_IMP + dw .Frameset_ImpFlipped ; BATTLE_ANIM_FRAMESET_IMP_FLIPPED + dw .Frameset_Cherub ; BATTLE_ANIM_FRAMESET_CHERUB + dw .Frameset_Pencil ; BATTLE_ANIM_FRAMESET_PENCIL + dw .Frameset_EncoreHand ; BATTLE_ANIM_FRAMESET_ENCORE_HAND + dw .Frameset_EncoreHandFlipped ; BATTLE_ANIM_FRAMESET_ENCORE_HAND_FLIPPED + dw .Frameset_DestinyBond ; BATTLE_ANIM_FRAMESET_DESTINY_BOND + dw .Frameset_MorningSun ; BATTLE_ANIM_FRAMESET_MORNING_SUN + dw .Frameset_Glimmer ; BATTLE_ANIM_FRAMESET_GLIMMER + dw .Frameset_Moonlight ; BATTLE_ANIM_FRAMESET_MOONLIGHT + dw .Frameset_CrossChop1 ; BATTLE_ANIM_FRAMESET_CROSS_CHOP_1 + dw .Frameset_CrossChop2 ; BATTLE_ANIM_FRAMESET_CROSS_CHOP_2 + dw .Frameset_ZapCannon ; BATTLE_ANIM_FRAMESET_ZAP_CANNON + dw .Frameset_CurseNail ; BATTLE_ANIM_FRAMESET_CURSE_NAIL + dw .Frameset_ForesightShine ; BATTLE_ANIM_FRAMESET_FORESIGHT_SHINE + dw .Frameset_RapidSpin ; BATTLE_ANIM_FRAMESET_RAPID_SPIN + dw .Frameset_Swagger ; BATTLE_ANIM_FRAMESET_SWAGGER + dw .Frameset_MeanLook ; BATTLE_ANIM_FRAMESET_MEAN_LOOK + dw .Frameset_UpsideDownPunch ; BATTLE_ANIM_FRAMESET_UPSIDE_DOWN_PUNCH + dw .Frameset_GrowingSparkle ; BATTLE_ANIM_FRAMESET_GROWING_SPARKLE + dw .Frameset_Rain ; BATTLE_ANIM_FRAMESET_RAIN + dw .Frameset_PsychUp ; BATTLE_ANIM_FRAMESET_PSYCH_UP + dw .Frameset_SpiralUnused ; BATTLE_ANIM_FRAMESET_SPIRAL_UNUSED + dw .Frameset_Aeroblast ; BATTLE_ANIM_FRAMESET_AEROBLAST + dw .Frameset_Sandstorm ; BATTLE_ANIM_FRAMESET_SANDSTORM + dw .Frameset_EnemyFeet1Row ; BATTLE_ANIM_FRAMESET_ENEMYFEET_1ROW + dw .Frameset_PlayerHead1Row ; BATTLE_ANIM_FRAMESET_PLAYERHEAD_1ROW dw .Frameset_EnemyFeet2Row ; BATTLE_ANIM_FRAMESET_ENEMYFEET_2ROW dw .Frameset_PlayerHead2Row ; BATTLE_ANIM_FRAMESET_PLAYERHEAD_2ROW dw .Frameset_MediumHorn ; BATTLE_ANIM_FRAMESET_MEDIUM_HORN @@ -195,6 +195,7 @@ BattleAnimFrameData: dw .Frameset_InkSplash ; BATTLE_ANIM_FRAMESET_INK_SPLASH dw .Frameset_SpinningTriangle ; BATTLE_ANIM_FRAMESET_SPINNING_TRIANGLE dw .Frameset_SpinningTriangleSlow ; BATTLE_ANIM_FRAMESET_SPINNING_SLOW + dw .Frameset_BouncingMushroom ; BATTLE_ANIM_FRAMESET_BOUNCING_MUSHROOM assert_table_length NUM_BATTLE_ANIM_FRAMESETS .Frameset_HitBig: @@ -1321,3 +1322,11 @@ BattleAnimFrameData: oamframe BATTLE_ANIM_OAMSET_D9, 2, OAM_Y_FLIP oamframe BATTLE_ANIM_OAMSET_DA, 2, OAM_X_FLIP oamrestart + +.Frameset_BouncingMushroom: + oamframe BATTLE_ANIM_OAMSET_DC, 16 + oamframe BATTLE_ANIM_OAMSET_DD, 16 + oamframe BATTLE_ANIM_OAMSET_DC, 4 + oamframe BATTLE_ANIM_OAMSET_DB, 2 + oamframe BATTLE_ANIM_OAMSET_DC, 32 + oamend diff --git a/data/battle_anims/oam.asm b/data/battle_anims/oam.asm index d237c2810..50a239250 100644 --- a/data/battle_anims/oam.asm +++ b/data/battle_anims/oam.asm @@ -226,6 +226,9 @@ BattleAnimOAMData: battleanimoam $07, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_D8 battleanimoam $00, 9, .OAMData_d9 ; BATTLE_ANIM_OAMSET_D9 battleanimoam $06, 9, .OAMData_da ; BATTLE_ANIM_OAMSET_DA + battleanimoam $00, 9, .OAMData_db ; BATTLE_ANIM_OAMSET_DB + battleanimoam $06, 9, .OAMData_db ; BATTLE_ANIM_OAMSET_DC + battleanimoam $0c, 9, .OAMData_db ; BATTLE_ANIM_OAMSET_DD assert_table_length NUM_BATTLE_ANIM_OAMSETS .OAMData_11: @@ -1115,3 +1118,16 @@ BattleAnimOAMData: dbsprite -2, 0, 4, 4, $00, Y_FLIP dbsprite -1, 0, 4, 4, $01, Y_FLIP dbsprite 0, 0, 4, 4, $02, Y_FLIP + +.OAMData_db: + dbsprite -2, -2, 4, 4, $00, $0 + dbsprite -1, -2, 4, 4, $01, $0 + dbsprite 0, -2, 4, 4, $00, X_FLIP + dbsprite -2, -1, 4, 4, $02, $0 + dbsprite -1, -1, 4, 4, $03, $0 + dbsprite 0, -1, 4, 4, $02, X_FLIP + dbsprite -2, 0, 4, 4, $04, $0 + dbsprite -1, 0, 4, 4, $05, $0 + dbsprite 0, 0, 4, 4, $04, X_FLIP + + diff --git a/data/battle_anims/object_gfx.asm b/data/battle_anims/object_gfx.asm index 5aba30ff5..910429b73 100644 --- a/data/battle_anims/object_gfx.asm +++ b/data/battle_anims/object_gfx.asm @@ -50,6 +50,7 @@ AnimObjGFX: anim_obj_gfx 10, AnimObjBeamLightGFX anim_obj_gfx 9, AnimObjSmokePuffGFX anim_obj_gfx 12, AnimObjTriangleGFX + anim_obj_gfx 18, AnimObjMushroomGFX anim_obj_gfx 1, NULL anim_obj_gfx 1, NULL assert_table_length NUM_BATTLE_ANIM_GFX + 1 diff --git a/data/battle_anims/objects.asm b/data/battle_anims/objects.asm index ab10a6412..b29ecd53f 100644 --- a/data/battle_anims/objects.asm +++ b/data/battle_anims/objects.asm @@ -73,8 +73,8 @@ BattleAnimObjects: battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_ACID, BATTLE_ANIM_FUNC_THROW_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_POISON ; BATTLE_ANIM_OBJ_SLUDGE battleanimobj RELATIVE_X, $b4, BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE, BATTLE_ANIM_FUNC_SLUDGE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_POISON -; BATTLE_ANIM_OBJ_BETA_BALL_POOF - battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_BALL_POOF, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SMOKE +; BATTLE_ANIM_OBJ_BALL_POOF_YFIX + battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_BALL_POOF, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SMOKE ; BATTLE_ANIM_OBJ_BALL_POOF battleanimobj RELATIVE_X, $a0, BATTLE_ANIM_FRAMESET_BALL_POOF, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SMOKE ; BATTLE_ANIM_OBJ_BIG_ROCK @@ -419,4 +419,8 @@ BattleAnimObjects: battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_SPINNING_TRIANGLE_SLOW, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_TRIANGLE ; BATTLE_ANIM_OBJ_POISON_DROPLET battleanimobj RELATIVE_X, $6e, BATTLE_ANIM_FRAMESET_POISON_DROPLET, BATTLE_ANIM_FUNC_RADIAL_MOVE_OUT_SLOW, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_POISON +; BATTLE_ANIM_OBJ_MUSHROOM + battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_BOUNCING_MUSHROOM, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_MUSHROOM +; BATTLE_ANIM_OBJ_POWDER_SHOOT + battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_POWDER, BATTLE_ANIM_FUNC_RADIAL_MOVE_OUT_SLOW, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_POWDER assert_table_length NUM_BATTLE_ANIM_OBJS diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 2b50c6714..fdad48560 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -428,17 +428,13 @@ BattleAnim_ThrowBait: anim_ret BattleAnim_SendOutMon: - anim_if_param_equal $0, .Normal anim_if_param_equal $1, .Shiny anim_1gfx BATTLE_ANIM_GFX_SMOKE - anim_call BattleAnim_TargetObj_1Row - anim_bgeffect BATTLE_BG_EFFECT_BETA_SEND_OUT_MON2, $0, BG_EFFECT_USER, $0 anim_sound 0, 0, SFX_BALL_POOF - anim_obj BATTLE_ANIM_OBJ_BETA_BALL_POOF, 48, 96, $0 - anim_bgeffect BATTLE_BG_EFFECT_ENTER_MON, $0, BG_EFFECT_USER, $0 - anim_wait 128 + anim_obj BATTLE_ANIM_OBJ_BALL_POOF, 44, 96, $0 anim_wait 4 - anim_call BattleAnim_ShowMon_0 + anim_bgeffect BATTLE_BG_EFFECT_ENTER_MON, $0, BG_EFFECT_USER, $0 + anim_wait 32 anim_ret .Shiny: @@ -471,15 +467,6 @@ BattleAnim_SendOutMon: anim_wait 32 anim_ret -.Normal: - anim_1gfx BATTLE_ANIM_GFX_SMOKE - anim_sound 0, 0, SFX_BALL_POOF - anim_obj BATTLE_ANIM_OBJ_BALL_POOF, 44, 96, $0 - anim_wait 4 - anim_bgeffect BATTLE_BG_EFFECT_ENTER_MON, $0, BG_EFFECT_USER, $0 - anim_wait 32 - anim_ret - BattleAnim_ReturnMon: anim_sound 0, 0, SFX_BALL_POOF BattleAnimSub_Return: @@ -1481,10 +1468,6 @@ BattleAnim_Poisonpowder: BattleAnim_SleepPowder: anim_setobjpal PAL_BATTLE_OB_YELLOW, PAL_BTLCUSTOM_GREEN anim_jump BattleAnim_StunSpore -BattleAnim_Spore: - anim_setobjpal PAL_BATTLE_OB_YELLOW, PAL_BTLCUSTOM_SPORE - anim_bgeffect BATTLE_BG_EFFECT_ALTERNATE_HUES, $0, $2, $0 - anim_bgeffect BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0 BattleAnim_StunSpore: anim_1gfx BATTLE_ANIM_GFX_POWDER .loop @@ -1507,6 +1490,25 @@ BattleAnim_StunSpore: anim_wait 96 anim_ret +BattleAnim_Spore: + anim_setobjpal PAL_BATTLE_OB_YELLOW, PAL_BTLCUSTOM_SPORE + anim_setobjpal PAL_BATTLE_OB_RED, PAL_BTLCUSTOM_DRAGONBREATH + anim_3gfx BATTLE_ANIM_GFX_MUSHROOM, BATTLE_ANIM_GFX_POWDER, BATTLE_ANIM_GFX_SMOKE + anim_sound 0, 1, SFX_JUMP_OVER_LEDGE + anim_obj BATTLE_ANIM_OBJ_BALL_POOF_YFIX, 48, 88, $0 + anim_wait 12 + anim_obj BATTLE_ANIM_OBJ_MUSHROOM, 48, 88, $0 + anim_wait 32 + anim_sound 0, 1, SFX_SWEET_SCENT_2 + anim_obj BATTLE_ANIM_OBJ_POWDER_SHOOT, 48, 88, $35 + anim_obj BATTLE_ANIM_OBJ_POWDER_SHOOT, 48, 88, $2b + anim_obj BATTLE_ANIM_OBJ_POWDER_SHOOT, 48, 88, $39 + anim_obj BATTLE_ANIM_OBJ_POWDER_SHOOT, 48, 88, $27 + anim_bgeffect BATTLE_BG_EFFECT_ALTERNATE_HUES, $0, $2, $0 + anim_bgeffect BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0 + anim_wait 16 + anim_jump BattleAnim_StunSpore.loop + BattleAnim_HyperBeam: anim_1gfx BATTLE_ANIM_GFX_BEAM anim_bgeffect BATTLE_BG_EFFECT_SHAKE_SCREEN_X, $30, $4, $10 diff --git a/engine/battle_anims/functions.asm b/engine/battle_anims/functions.asm index e99b6c0c3..484dc64d6 100644 --- a/engine/battle_anims/functions.asm +++ b/engine/battle_anims/functions.asm @@ -4236,7 +4236,7 @@ Step_Slow: call Get_Rad_Pos ld hl, 1.5 ; speed call Set_Rad_Pos - cp 120 ; final position + cp 40 ; final position jmp nc, DeinitBattleAnimation jr Rad_Move diff --git a/gfx/battle_anims.asm b/gfx/battle_anims.asm index 3bece865a..12934b2c9 100644 --- a/gfx/battle_anims.asm +++ b/gfx/battle_anims.asm @@ -41,3 +41,4 @@ AnimObjAeroblastGFX: INCBIN "gfx/battle_anims/aeroblast.2bpp.lz" AnimObjBeamLightGFX: INCBIN "gfx/battle_anims/beamlight.2bpp.lz" AnimObjSmokePuffGFX: INCBIN "gfx/battle_anims/smokepuff.2bpp.lz" AnimObjTriangleGFX: INCBIN "gfx/battle_anims/triangle.2bpp.lz" +AnimObjMushroomGFX: INCBIN "gfx/battle_anims/mushroom.2bpp.lz" diff --git a/gfx/battle_anims/custom.pal b/gfx/battle_anims/custom.pal index 761e141fa..44057c2d0 100644 --- a/gfx/battle_anims/custom.pal +++ b/gfx/battle_anims/custom.pal @@ -121,5 +121,6 @@ INCLUDE "gfx/battle_anims/battle_anims.pal" RGB 31, 31, 07 RGB 31, 23, 04 RGB 31, 16, 01 + rept NUM_CUSTOM_BATTLE_PALETTES - 6 endr diff --git a/gfx/battle_anims/mushroom.png b/gfx/battle_anims/mushroom.png new file mode 100644 index 0000000000000000000000000000000000000000..275ceb589dfa55ff2cd53a205ad47bc50ddf703e GIT binary patch literal 547 zcmV+;0^I$HP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0k}y-K~z{r)s+iw zgD?<8LzOGSA>ojuLz#5F-k%Fn)F-td!;HN@GVR|y3QW^<-u*yXYCz$-uE&)u%W_=5 zj{go2Lpaa#x$+Cv@XR%!m~7j2-nI8;2vRIxwg^M0&>4*E4xZ<=LyL7H`P>X469cX_ z1~|U;azuB6%LZV?#54d^6W2gum6K~-Cq^x7(VYN(oU{t=IO8NB%SHKn;E@^tofm*G zAuUxQ;-45GR#{rc4@yZStca8h8CaAJbU#p5ZX~M@KxhClTG?x744PX7*?mLf3^K8# zJHdz;T<*jsglKo2NIo}Dkck1;-X~zmG+qhG8f8g!4G4`qN(M475`0wdZKS`D8X!XXn?U&6kmi8sWKvc(@c4WZ zOCfm81ZikMVbn;j0XvYxq-Vk$XCm7-o5n7QQe2@i(BjGmrCdhjK>m?;4x+eq0tw!0 z46GMDF}b&uv)wGZ6Tn0oMU}v_QV5m_*P2ee+z0ToK3@^;EPzT