From 4d4d7e554def50e5fdbc04a5d2a78f3a69a76327 Mon Sep 17 00:00:00 2001 From: ElectroDeoxys Date: Wed, 13 Jan 2021 18:54:54 +0000 Subject: More misc attack animations --- src/constants/animation_constants.asm | 8 +- src/constants/attack_animation_constants.asm | 290 ++++++++++---------- src/data/attack_animations.asm | 392 +++++++++++++-------------- src/engine/bank01.asm | 27 +- src/engine/bank06.asm | 6 +- src/engine/bank07.asm | 8 +- src/engine/effect_functions.asm | 88 +++--- src/engine/home.asm | 6 +- 8 files changed, 415 insertions(+), 410 deletions(-) (limited to 'src') diff --git a/src/constants/animation_constants.asm b/src/constants/animation_constants.asm index 8b0ba37..44faa75 100644 --- a/src/constants/animation_constants.asm +++ b/src/constants/animation_constants.asm @@ -17,9 +17,9 @@ ; Normal animations const DUEL_ANIM_NONE ; $00 const DUEL_ANIM_GLOW ; $01 - const DUEL_ANIM_2 ; $02 + const DUEL_ANIM_PARALYSIS ; $02 const DUEL_ANIM_SLEEP ; $03 - const DUEL_ANIM_4 ; $04 + const DUEL_ANIM_CONFUSION ; $04 const DUEL_ANIM_POISON ; $05 const DUEL_ANIM_6 ; $06 const DUEL_ANIM_HIT ; $07 @@ -32,14 +32,14 @@ const DUEL_ANIM_SMALL_FLAME ; $0e const DUEL_ANIM_BIG_FLAME ; $0f const DUEL_ANIM_FIRE_SPIN ; $10 - const DUEL_ANIM_17 ; $11 + const DUEL_ANIM_DIVE_BOMB ; $11 const DUEL_ANIM_WATER_JETS ; $12 const DUEL_ANIM_WATER_GUN ; $13 const DUEL_ANIM_WHIRLPOOL ; $14 const DUEL_ANIM_HYDRO_PUMP ; $15 const DUEL_ANIM_BLIZZARD ; $16 const DUEL_ANIM_PSYCHIC ; $17 - const DUEL_ANIM_24 ; $18 + const DUEL_ANIM_GLARE ; $18 const DUEL_ANIM_BEAM ; $19 const DUEL_ANIM_HYPER_BEAM ; $1a const DUEL_ANIM_ROCK_THROW ; $1b diff --git a/src/constants/attack_animation_constants.asm b/src/constants/attack_animation_constants.asm index d3e72c0..3f1f113 100644 --- a/src/constants/attack_animation_constants.asm +++ b/src/constants/attack_animation_constants.asm @@ -2,148 +2,148 @@ ; these map to a sequence of duel animations ; (see src\data\attack_animations.asm) const_def - const ATK_ANIM_NONE ; $00 - const ATK_ANIM_HIT ; $01 - const ATK_ANIM_BIG_HIT ; $02 - const ATK_ANIM_3 ; $03 - const ATK_ANIM_HIT_RECOIL ; $04 - const ATK_ANIM_HIT_EFFECT ; $05 - const ATK_ANIM_THUNDERSHOCK ; $06 - const ATK_ANIM_THUNDER ; $07 - const ATK_ANIM_THUNDERBOLT ; $08 - const ATK_ANIM_9 ; $09 - const ATK_ANIM_THUNDER_WHOLE_SCREEN ; $0a - const ATK_ANIM_11 ; $0b - const ATK_ANIM_THUNDERSTORM ; $0c - const ATK_ANIM_CHAIN_LIGHTNING ; $0d - const ATK_ANIM_SMALL_FLAME ; $0e - const ATK_ANIM_BIG_FLAME ; $0f - const ATK_ANIM_FIRE_SPIN ; $10 - const ATK_ANIM_17 ; $11 - const ATK_ANIM_WATER_JETS ; $12 - const ATK_ANIM_WATER_GUN ; $13 - const ATK_ANIM_WHIRLPOOL ; $14 - const ATK_ANIM_DRAGON_RAGE ; $15 - const ATK_ANIM_HYDRO_PUMP ; $16 - const ATK_ANIM_23 ; $17 - const ATK_ANIM_BLIZZARD ; $18 - const ATK_ANIM_PSYCHIC_HIT ; $19 - const ATK_ANIM_NIGHTMARE ; $1a - const ATK_ANIM_27 ; $1b - const ATK_ANIM_DARK_MIND ; $1c - const ATK_ANIM_BEAM ; $1d - const ATK_ANIM_HYPER_BEAM ; $1e - const ATK_ANIM_31 ; $1f - const ATK_ANIM_ROCK_THROW ; $20 - const ATK_ANIM_STONE_BARRAGE ; $21 - const ATK_ANIM_PUNCH ; $22 - const ATK_ANIM_THUNDERPUNCH ; $23 - const ATK_ANIM_FIRE_PUNCH ; $24 - const ATK_ANIM_STRETCH_KICK ; $25 - const ATK_ANIM_SLASH ; $26 - const ATK_ANIM_WHIP ; $27 - const ATK_ANIM_TEAR ; $28 - const ATK_ANIM_MULTIPLE_SLASH ; $29 - const ATK_ANIM_42 ; $2a - const ATK_ANIM_RAMPAGE ; $2b - const ATK_ANIM_DRILL ; $2c - const ATK_ANIM_POT_SMASH ; $2d - const ATK_ANIM_BONEMERANG ; $2e - const ATK_ANIM_SEISMIC_TOSS ; $2f - const ATK_ANIM_NEEDLES ; $30 - const ATK_ANIM_49 ; $31 - const ATK_ANIM_SMOG ; $32 - const ATK_ANIM_51 ; $33 - const ATK_ANIM_52 ; $34 - const ATK_ANIM_FOUL_GAS ; $35 - const ATK_ANIM_FOUL_ODOR ; $36 - const ATK_ANIM_POWDER_EFFECT_CHANCE ; $37 - const ATK_ANIM_POWDER_HIT_POISON ; $38 - const ATK_ANIM_POISON_POWDER ; $39 - const ATK_ANIM_58 ; $3a - const ATK_ANIM_59 ; $3b - const ATK_ANIM_60 ; $3c - const ATK_ANIM_GOO ; $3d - const ATK_ANIM_62 ; $3e - const ATK_ANIM_SPIT_POISON ; $3f - const ATK_ANIM_64 ; $40 - const ATK_ANIM_BUBBLES ; $41 - const ATK_ANIM_66 ; $42 - const ATK_ANIM_STRING_SHOT ; $43 - const ATK_ANIM_68 ; $44 - const ATK_ANIM_BOYFRIENDS ; $45 - const ATK_ANIM_LURE ; $46 - const ATK_ANIM_TOXIC ; $47 - const ATK_ANIM_CONFUSE_RAY ; $48 - const ATK_ANIM_73 ; $49 - const ATK_ANIM_SING ; $4a - const ATK_ANIM_LULLABY ; $4b - const ATK_ANIM_SUPERSONIC ; $4c - const ATK_ANIM_77 ; $4d - const ATK_ANIM_PETAL_DANCE ; $4e - const ATK_ANIM_PROTECT ; $4f - const ATK_ANIM_BARRIER ; $50 - const ATK_ANIM_QUICK_ATTACK ; $51 - const ATK_ANIM_82 ; $52 - const ATK_ANIM_WHIRLWIND ; $53 - const ATK_ANIM_CRY ; $54 - const ATK_ANIM_AMNESIA ; $55 - const ATK_ANIM_SELFDESTRUCT ; $56 - const ATK_ANIM_BIG_SELFDESTRUCTION ; $57 - const ATK_ANIM_RECOVER ; $58 - const ATK_ANIM_DRAIN ; $59 - const ATK_ANIM_DARK_GAS ; $5a - const ATK_ANIM_GLOW_EFFECT ; $5b - const ATK_ANIM_MIRROR_MOVE ; $5c - const ATK_ANIM_93 ; $5d - const ATK_ANIM_PKMN_POWER_1 ; $5e - const ATK_ANIM_FIREGIVER ; $5f - const ATK_ANIM_QUICKFREEZE ; $60 - const ATK_ANIM_PEAL_OF_THUNDER ; $61 - const ATK_ANIM_HEALING_WIND ; $62 - const ATK_ANIM_WHIRLWIND_ZIGZAG ; $63 - const ATK_ANIM_BIG_THUNDER ; $64 - const ATK_ANIM_SOLAR_POWER ; $65 - const ATK_ANIM_POISON_FANG ; $66 - const ATK_ANIM_103 ; $67 - const ATK_ANIM_104 ; $68 - const ATK_ANIM_105 ; $69 - const ATK_ANIM_106 ; $6a - const ATK_ANIM_107 ; $6b - const ATK_ANIM_CAT_PUNCH ; $6c - const ATK_ANIM_MAGNETIC_STORM ; $6d - const ATK_ANIM_POISON_WHIP ; $6e - const ATK_ANIM_THUNDER_WAVE ; $6f - const ATK_ANIM_112 ; $70 - const ATK_ANIM_SPORE ; $71 - const ATK_ANIM_HYPNOSIS ; $72 - const ATK_ANIM_ENERGY_CONVERSION ; $73 - const ATK_ANIM_116 ; $74 - const ATK_ANIM_117 ; $75 - const ATK_ANIM_118 ; $76 - const ATK_ANIM_119 ; $77 - const ATK_ANIM_120 ; $78 - const ATK_ANIM_121 ; $79 - const ATK_ANIM_122 ; $7a - const ATK_ANIM_123 ; $7b - const ATK_ANIM_124 ; $7c - const ATK_ANIM_125 ; $7d - const ATK_ANIM_126 ; $7e - const ATK_ANIM_127 ; $7f - const ATK_ANIM_SLEEPING_GAS ; $80 - const ATK_ANIM_129 ; $81 - const ATK_ANIM_130 ; $82 - const ATK_ANIM_131 ; $83 - const ATK_ANIM_132 ; $84 - const ATK_ANIM_133 ; $85 - const ATK_ANIM_134 ; $86 - const ATK_ANIM_135 ; $87 - const ATK_ANIM_EXPAND ; $88 - const ATK_ANIM_137 ; $89 - const ATK_ANIM_138 ; $8a - const ATK_ANIM_139 ; $8b - const ATK_ANIM_140 ; $8c - const ATK_ANIM_141 ; $8d - const ATK_ANIM_142 ; $8e - const ATK_ANIM_143 ; $8f - const ATK_ANIM_144 ; $90 + const ATK_ANIM_NONE ; $00 + const ATK_ANIM_HIT ; $01 + const ATK_ANIM_BIG_HIT ; $02 + const ATK_ANIM_3 ; $03 + const ATK_ANIM_HIT_RECOIL ; $04 + const ATK_ANIM_HIT_EFFECT ; $05 + const ATK_ANIM_THUNDERSHOCK ; $06 + const ATK_ANIM_THUNDER ; $07 + const ATK_ANIM_THUNDERBOLT ; $08 + const ATK_ANIM_9 ; $09 + const ATK_ANIM_THUNDER_WHOLE_SCREEN ; $0a + const ATK_ANIM_11 ; $0b + const ATK_ANIM_THUNDERSTORM ; $0c + const ATK_ANIM_CHAIN_LIGHTNING ; $0d + const ATK_ANIM_SMALL_FLAME ; $0e + const ATK_ANIM_BIG_FLAME ; $0f + const ATK_ANIM_FIRE_SPIN ; $10 + const ATK_ANIM_DIVE_BOMB ; $11 + const ATK_ANIM_WATER_JETS ; $12 + const ATK_ANIM_WATER_GUN ; $13 + const ATK_ANIM_WHIRLPOOL ; $14 + const ATK_ANIM_DRAGON_RAGE ; $15 + const ATK_ANIM_HYDRO_PUMP ; $16 + const ATK_ANIM_23 ; $17 + const ATK_ANIM_BLIZZARD ; $18 + const ATK_ANIM_PSYCHIC_HIT ; $19 + const ATK_ANIM_NIGHTMARE ; $1a + const ATK_ANIM_27 ; $1b + const ATK_ANIM_DARK_MIND ; $1c + const ATK_ANIM_BEAM ; $1d + const ATK_ANIM_HYPER_BEAM ; $1e + const ATK_ANIM_31 ; $1f + const ATK_ANIM_ROCK_THROW ; $20 + const ATK_ANIM_STONE_BARRAGE ; $21 + const ATK_ANIM_PUNCH ; $22 + const ATK_ANIM_THUNDERPUNCH ; $23 + const ATK_ANIM_FIRE_PUNCH ; $24 + const ATK_ANIM_STRETCH_KICK ; $25 + const ATK_ANIM_SLASH ; $26 + const ATK_ANIM_WHIP ; $27 + const ATK_ANIM_TEAR ; $28 + const ATK_ANIM_MULTIPLE_SLASH ; $29 + const ATK_ANIM_42 ; $2a + const ATK_ANIM_RAMPAGE ; $2b + const ATK_ANIM_DRILL ; $2c + const ATK_ANIM_POT_SMASH ; $2d + const ATK_ANIM_BONEMERANG ; $2e + const ATK_ANIM_SEISMIC_TOSS ; $2f + const ATK_ANIM_NEEDLES ; $30 + const ATK_ANIM_49 ; $31 + const ATK_ANIM_SMOG ; $32 + const ATK_ANIM_51 ; $33 + const ATK_ANIM_52 ; $34 + const ATK_ANIM_FOUL_GAS ; $35 + const ATK_ANIM_FOUL_ODOR ; $36 + const ATK_ANIM_POWDER_EFFECT_CHANCE ; $37 + const ATK_ANIM_POWDER_HIT_POISON ; $38 + const ATK_ANIM_POISON_POWDER ; $39 + const ATK_ANIM_58 ; $3a + const ATK_ANIM_59 ; $3b + const ATK_ANIM_60 ; $3c + const ATK_ANIM_GOO ; $3d + const ATK_ANIM_62 ; $3e + const ATK_ANIM_SPIT_POISON ; $3f + const ATK_ANIM_64 ; $40 + const ATK_ANIM_BUBBLES ; $41 + const ATK_ANIM_66 ; $42 + const ATK_ANIM_STRING_SHOT ; $43 + const ATK_ANIM_68 ; $44 + const ATK_ANIM_BOYFRIENDS ; $45 + const ATK_ANIM_LURE ; $46 + const ATK_ANIM_TOXIC ; $47 + const ATK_ANIM_CONFUSE_RAY ; $48 + const ATK_ANIM_73 ; $49 + const ATK_ANIM_SING ; $4a + const ATK_ANIM_LULLABY ; $4b + const ATK_ANIM_SUPERSONIC ; $4c + const ATK_ANIM_77 ; $4d + const ATK_ANIM_PETAL_DANCE ; $4e + const ATK_ANIM_PROTECT ; $4f + const ATK_ANIM_BARRIER ; $50 + const ATK_ANIM_QUICK_ATTACK ; $51 + const ATK_ANIM_AGILITY_PROTECT ; $52 + const ATK_ANIM_WHIRLWIND ; $53 + const ATK_ANIM_CRY ; $54 + const ATK_ANIM_AMNESIA ; $55 + const ATK_ANIM_SELFDESTRUCT ; $56 + const ATK_ANIM_BIG_SELFDESTRUCTION ; $57 + const ATK_ANIM_RECOVER ; $58 + const ATK_ANIM_DRAIN ; $59 + const ATK_ANIM_DARK_GAS ; $5a + const ATK_ANIM_GLOW_EFFECT ; $5b + const ATK_ANIM_MIRROR_MOVE ; $5c + const ATK_ANIM_DEVOLUTION_BEAM ; $5d + const ATK_ANIM_PKMN_POWER_1 ; $5e + const ATK_ANIM_FIREGIVER ; $5f + const ATK_ANIM_QUICKFREEZE ; $60 + const ATK_ANIM_PEAL_OF_THUNDER ; $61 + const ATK_ANIM_HEALING_WIND ; $62 + const ATK_ANIM_WHIRLWIND_ZIGZAG ; $63 + const ATK_ANIM_BIG_THUNDER ; $64 + const ATK_ANIM_SOLAR_POWER ; $65 + const ATK_ANIM_POISON_FANG ; $66 + const ATK_ANIM_103 ; $67 + const ATK_ANIM_104 ; $68 + const ATK_ANIM_105 ; $69 + const ATK_ANIM_FRIENDSHIP_SONG ; $6a + const ATK_ANIM_SCRUNCH ; $6b + const ATK_ANIM_CAT_PUNCH ; $6c + const ATK_ANIM_MAGNETIC_STORM ; $6d + const ATK_ANIM_POISON_WHIP ; $6e + const ATK_ANIM_THUNDER_WAVE ; $6f + const ATK_ANIM_112 ; $70 + const ATK_ANIM_SPORE ; $71 + const ATK_ANIM_HYPNOSIS ; $72 + const ATK_ANIM_ENERGY_CONVERSION ; $73 + const ATK_ANIM_LEER ; $74 + const ATK_ANIM_CONFUSION_HIT ; $75 + const ATK_ANIM_118 ; $76 + const ATK_ANIM_119 ; $77 + const ATK_ANIM_BENCH_HIT ; $78 + const ATK_ANIM_HEAL ; $79 + const ATK_ANIM_RECOIL_HIT ; $7a + const ATK_ANIM_POISON ; $7b + const ATK_ANIM_CONFUSION ; $7c + const ATK_ANIM_PARALYSIS ; $7d + const ATK_ANIM_SLEEP ; $7e + const ATK_ANIM_IMAKUNI_CONFUSION ; $7f + const ATK_ANIM_SLEEPING_GAS ; $80 + const ATK_ANIM_129 ; $81 + const ATK_ANIM_THUNDER_PLAY_AREA ; $82 + const ATK_ANIM_CAT_PUNCH_PLAY_AREA ; $83 + const ATK_ANIM_FIREGIVER_PLAYER ; $84 + const ATK_ANIM_FIREGIVER_OPP ; $85 + const ATK_ANIM_HEALING_WIND_PLAY_AREA ; $86 + const ATK_ANIM_GALE ; $87 + const ATK_ANIM_EXPAND ; $88 + const ATK_ANIM_137 ; $89 + const ATK_ANIM_FULL_HEAL ; $8a + const ATK_ANIM_139 ; $8b + const ATK_ANIM_SPIT_POISON_SUCCESS ; $8c + const ATK_ANIM_GUST_OF_WIND ; $8d + const ATK_ANIM_HEAL_BOTH_SIDES ; $8e + const ATK_ANIM_143 ; $8f + const ATK_ANIM_144 ; $90 diff --git a/src/data/attack_animations.asm b/src/data/attack_animations.asm index 6c94735..b8a3e77 100644 --- a/src/data/attack_animations.asm +++ b/src/data/attack_animations.asm @@ -21,151 +21,151 @@ anim_end2: MACRO ENDM PointerTable_AttackAnimation: - dw $0000 ; ATK_ANIM_NONE - dw AttackAnimation_Hit ; ATK_ANIM_HIT - dw AttackAnimation_BigHit ; ATK_ANIM_BIG_HIT - dw AttackAnimation_Hit ; ATK_ANIM_3 - dw AttackAnimation_Hit ; ATK_ANIM_HIT_RECOIL - dw AttackAnimation_Hit ; ATK_ANIM_HIT_EFFECT - dw AttackAnimation_ThunderShock ; ATK_ANIM_THUNDERSHOCK - dw AttackAnimation_ThunderShock ; ATK_ANIM_THUNDER - dw AttackAnimation_Thunderbolt ; ATK_ANIM_THUNDERBOLT - dw AttackAnimation_ThunderShock ; ATK_ANIM_9 - dw AttackAnimation_BigLightning ; ATK_ANIM_THUNDER_WHOLE_SCREEN - dw AttackAnimation_BigLightning ; ATK_ANIM_11 - dw AttackAnimation_BigLightning ; ATK_ANIM_THUNDERSTORM - dw AttackAnimation_BigLightning ; ATK_ANIM_CHAIN_LIGHTNING - dw AttackAnimation_SmallFlame ; ATK_ANIM_SMALL_FLAME - dw AttackAnimation_BigFlame ; ATK_ANIM_BIG_FLAME - dw AttackAnimation_FireSpin ; ATK_ANIM_FIRE_SPIN - dw AttackAnimation_531e ; ATK_ANIM_17 - dw AttackAnimation_WaterJets ; ATK_ANIM_WATER_JETS - dw AttackAnimation_WaterGun ; ATK_ANIM_WATER_GUN - dw AttackAnimation_Whirlpool ; ATK_ANIM_WHIRLPOOL - dw AttackAnimation_DragonRage ; ATK_ANIM_DRAGON_RAGE - dw AttackAnimation_HydroPump ; ATK_ANIM_HYDRO_PUMP - dw AttackAnimation_Blizzard ; ATK_ANIM_23 - dw AttackAnimation_Blizzard ; ATK_ANIM_BLIZZARD - dw AttackAnimation_PsychicHit ; ATK_ANIM_PSYCHIC_HIT - dw AttackAnimation_PsychicHit ; ATK_ANIM_NIGHTMARE - dw AttackAnimation_PsychicHit ; ATK_ANIM_27 - dw AttackAnimation_DarkMind ; ATK_ANIM_DARK_MIND - dw AttackAnimation_Beam ; ATK_ANIM_BEAM - dw AttackAnimation_HyperBeam ; ATK_ANIM_HYPER_BEAM - dw AttackAnimation_Beam ; ATK_ANIM_31 - dw AttackAnimation_RockThrow ; ATK_ANIM_ROCK_THROW - dw AttackAnimation_StoneBarrage ; ATK_ANIM_STONE_BARRAGE - dw AttackAnimation_Punch ; ATK_ANIM_PUNCH - dw AttackAnimation_Thunderpunch ; ATK_ANIM_THUNDERPUNCH - dw AttackAnimation_FirePunch ; ATK_ANIM_FIRE_PUNCH - dw AttackAnimation_StretchKick ; ATK_ANIM_STRETCH_KICK - dw AttackAnimation_Slash ; ATK_ANIM_SLASH - dw AttackAnimation_Whip ; ATK_ANIM_WHIP - dw AttackAnimation_Tear ; ATK_ANIM_TEAR - dw AttackAnimation_MultipleSlash ; ATK_ANIM_MULTIPLE_SLASH - dw AttackAnimation_MultipleSlash ; ATK_ANIM_42 - dw AttackAnimation_MultipleSlash ; ATK_ANIM_RAMPAGE - dw AttackAnimation_Drill ; ATK_ANIM_DRILL - dw AttackAnimation_PotSmash ; ATK_ANIM_POT_SMASH - dw AttackAnimation_Bonemerang ; ATK_ANIM_BONEMERANG - dw AttackAnimation_SeismicToss ; ATK_ANIM_SEISMIC_TOSS - dw AttackAnimation_Needles ; ATK_ANIM_NEEDLES - dw AttackAnimation_Needles ; ATK_ANIM_49 - dw AttackAnimation_WhiteGas ; ATK_ANIM_SMOG - dw AttackAnimation_WhiteGas ; ATK_ANIM_51 - dw AttackAnimation_WhiteGas ; ATK_ANIM_52 - dw AttackAnimation_WhiteGas ; ATK_ANIM_FOUL_GAS - dw AttackAnimation_WhiteGas ; ATK_ANIM_FOUL_ODOR - dw AttackAnimation_Powder ; ATK_ANIM_POWDER_EFFECT_CHANCE - dw AttackAnimation_Powder ; ATK_ANIM_POWDER_HIT_POISON - dw AttackAnimation_544e ; ATK_ANIM_POISON_POWDER - dw AttackAnimation_Powder ; ATK_ANIM_58 - dw AttackAnimation_Powder ; ATK_ANIM_59 - dw AttackAnimation_Powder ; ATK_ANIM_60 - dw AttackAnimation_Goo ; ATK_ANIM_GOO - dw AttackAnimation_Goo ; ATK_ANIM_62 - dw AttackAnimation_5460 ; ATK_ANIM_SPIT_POISON - dw AttackAnimation_Goo ; ATK_ANIM_64 - dw AttackAnimation_Bubbles ; ATK_ANIM_BUBBLES - dw AttackAnimation_Bubbles ; ATK_ANIM_66 - dw AttackAnimation_StringShot ; ATK_ANIM_STRING_SHOT - dw AttackAnimation_StringShot ; ATK_ANIM_68 - dw AttackAnimation_Boyfriends ; ATK_ANIM_BOYFRIENDS - dw AttackAnimation_Lure ; ATK_ANIM_LURE - dw AttackAnimation_Toxic ; ATK_ANIM_TOXIC - dw AttackAnimation_ConfuseRay ; ATK_ANIM_CONFUSE_RAY - dw AttackAnimation_ConfuseRay ; ATK_ANIM_73 - dw AttackAnimation_Sing ; ATK_ANIM_SING - dw AttackAnimation_Sing ; ATK_ANIM_LULLABY - dw AttackAnimation_Supersonic ; ATK_ANIM_SUPERSONIC - dw AttackAnimation_Supersonic ; ATK_ANIM_77 - dw AttackAnimation_PetalDance ; ATK_ANIM_PETAL_DANCE - dw AttackAnimation_Protect ; ATK_ANIM_PROTECT - dw AttackAnimation_Barrier ; ATK_ANIM_BARRIER - dw AttackAnimation_QuickAttack ; ATK_ANIM_QUICK_ATTACK - dw AttackAnimation_54d3 ; ATK_ANIM_82 - dw AttackAnimation_Whirlwind ; ATK_ANIM_WHIRLWIND - dw AttackAnimation_Cry ; ATK_ANIM_CRY - dw AttackAnimation_Amnesia ; ATK_ANIM_AMNESIA - dw AttackAnimation_Selfdestruct ; ATK_ANIM_SELFDESTRUCT - dw AttackAnimation_BigSelfdestruct ; ATK_ANIM_BIG_SELFDESTRUCTION - dw AttackAnimation_Recover ; ATK_ANIM_RECOVER - dw AttackAnimation_Drain ; ATK_ANIM_DRAIN - dw AttackAnimation_DarkGas ; ATK_ANIM_DARK_GAS - dw AttackAnimation_GlowEffect ; ATK_ANIM_GLOW_EFFECT - dw AttackAnimation_MirrorMove ; ATK_ANIM_MIRROR_MOVE - dw AttackAnimation_553a ; ATK_ANIM_93 - dw AttackAnimation_5543 ; ATK_ANIM_PKMN_POWER_1 - dw AttackAnimation_Firegiver ; ATK_ANIM_FIREGIVER - dw AttackAnimation_Quickfreeze ; ATK_ANIM_QUICKFREEZE - dw AttackAnimation_PealOfThunder ; ATK_ANIM_PEAL_OF_THUNDER - dw AttackAnimation_HealingWind ; ATK_ANIM_HEALING_WIND - dw AttackAnimation_WhirlwindZigzag ; ATK_ANIM_WHIRLWIND_ZIGZAG - dw AttackAnimation_BigThunder ; ATK_ANIM_BIG_THUNDER - dw AttackAnimation_SolarPower ; ATK_ANIM_SOLAR_POWER - dw AttackAnimation_PoisonFang ; ATK_ANIM_POISON_FANG - dw AttackAnimation_PoisonFang ; ATK_ANIM_103 - dw AttackAnimation_PoisonFang ; ATK_ANIM_104 - dw AttackAnimation_558c ; ATK_ANIM_105 - dw AttackAnimation_5597 ; ATK_ANIM_106 - dw AttackAnimation_559c ; ATK_ANIM_107 - dw AttackAnimation_CatPunch ; ATK_ANIM_CAT_PUNCH - dw AttackAnimation_MagneticStorm ; ATK_ANIM_MAGNETIC_STORM - dw AttackAnimation_PoisonWhip ; ATK_ANIM_POISON_WHIP - dw AttackAnimation_ThunderWave ; ATK_ANIM_THUNDER_WAVE - dw AttackAnimation_ThunderWave ; ATK_ANIM_112 - dw AttackAnimation_Spore ; ATK_ANIM_SPORE - dw AttackAnimation_Hypnosis ; ATK_ANIM_HYPNOSIS - dw AttackAnimation_EnergyConversion ; ATK_ANIM_ENERGY_CONVERSION - dw AttackAnimation_55ce ; ATK_ANIM_116 - dw AttackAnimation_55d5 ; ATK_ANIM_117 - dw AttackAnimation_55e0 ; ATK_ANIM_118 - dw AttackAnimation_55e5 ; ATK_ANIM_119 - dw AttackAnimation_55e6 ; ATK_ANIM_120 - dw AttackAnimation_55ed ; ATK_ANIM_121 - dw AttackAnimation_55f2 ; ATK_ANIM_122 - dw AttackAnimation_55fb ; ATK_ANIM_123 - dw AttackAnimation_55fe ; ATK_ANIM_124 - dw AttackAnimation_5601 ; ATK_ANIM_125 - dw AttackAnimation_5604 ; ATK_ANIM_126 - dw AttackAnimation_5607 ; ATK_ANIM_127 - dw AttackAnimation_SleepingGas ; ATK_ANIM_SLEEPING_GAS - dw AttackAnimation_560f ; ATK_ANIM_129 - dw AttackAnimation_5612 ; ATK_ANIM_130 - dw AttackAnimation_561d ; ATK_ANIM_131 - dw AttackAnimation_5628 ; ATK_ANIM_132 - dw AttackAnimation_562d ; ATK_ANIM_133 - dw AttackAnimation_5632 ; ATK_ANIM_134 - dw AttackAnimation_5637 ; ATK_ANIM_135 - dw AttackAnimation_Expand ; ATK_ANIM_EXPAND - dw AttackAnimation_564f ; ATK_ANIM_137 - dw AttackAnimation_5654 ; ATK_ANIM_138 - dw AttackAnimation_5659 ; ATK_ANIM_139 - dw AttackAnimation_565e ; ATK_ANIM_140 - dw AttackAnimation_5665 ; ATK_ANIM_141 - dw AttackAnimation_5668 ; ATK_ANIM_142 - dw AttackAnimation_5673 ; ATK_ANIM_143 - dw AttackAnimation_5673 ; ATK_ANIM_144 + dw $0000 ; ATK_ANIM_NONE + dw AttackAnimation_Hit ; ATK_ANIM_HIT + dw AttackAnimation_BigHit ; ATK_ANIM_BIG_HIT + dw AttackAnimation_Hit ; ATK_ANIM_3 + dw AttackAnimation_Hit ; ATK_ANIM_HIT_RECOIL + dw AttackAnimation_Hit ; ATK_ANIM_HIT_EFFECT + dw AttackAnimation_ThunderShock ; ATK_ANIM_THUNDERSHOCK + dw AttackAnimation_ThunderShock ; ATK_ANIM_THUNDER + dw AttackAnimation_Thunderbolt ; ATK_ANIM_THUNDERBOLT + dw AttackAnimation_ThunderShock ; ATK_ANIM_9 + dw AttackAnimation_BigLightning ; ATK_ANIM_THUNDER_WHOLE_SCREEN + dw AttackAnimation_BigLightning ; ATK_ANIM_11 + dw AttackAnimation_BigLightning ; ATK_ANIM_THUNDERSTORM + dw AttackAnimation_BigLightning ; ATK_ANIM_CHAIN_LIGHTNING + dw AttackAnimation_SmallFlame ; ATK_ANIM_SMALL_FLAME + dw AttackAnimation_BigFlame ; ATK_ANIM_BIG_FLAME + dw AttackAnimation_FireSpin ; ATK_ANIM_FIRE_SPIN + dw AttackAnimation_DiveBomb ; ATK_ANIM_DIVE_BOMB + dw AttackAnimation_WaterJets ; ATK_ANIM_WATER_JETS + dw AttackAnimation_WaterGun ; ATK_ANIM_WATER_GUN + dw AttackAnimation_Whirlpool ; ATK_ANIM_WHIRLPOOL + dw AttackAnimation_DragonRage ; ATK_ANIM_DRAGON_RAGE + dw AttackAnimation_HydroPump ; ATK_ANIM_HYDRO_PUMP + dw AttackAnimation_Blizzard ; ATK_ANIM_23 + dw AttackAnimation_Blizzard ; ATK_ANIM_BLIZZARD + dw AttackAnimation_PsychicHit ; ATK_ANIM_PSYCHIC_HIT + dw AttackAnimation_PsychicHit ; ATK_ANIM_NIGHTMARE + dw AttackAnimation_PsychicHit ; ATK_ANIM_27 + dw AttackAnimation_DarkMind ; ATK_ANIM_DARK_MIND + dw AttackAnimation_Beam ; ATK_ANIM_BEAM + dw AttackAnimation_HyperBeam ; ATK_ANIM_HYPER_BEAM + dw AttackAnimation_Beam ; ATK_ANIM_31 + dw AttackAnimation_RockThrow ; ATK_ANIM_ROCK_THROW + dw AttackAnimation_StoneBarrage ; ATK_ANIM_STONE_BARRAGE + dw AttackAnimation_Punch ; ATK_ANIM_PUNCH + dw AttackAnimation_Thunderpunch ; ATK_ANIM_THUNDERPUNCH + dw AttackAnimation_FirePunch ; ATK_ANIM_FIRE_PUNCH + dw AttackAnimation_StretchKick ; ATK_ANIM_STRETCH_KICK + dw AttackAnimation_Slash ; ATK_ANIM_SLASH + dw AttackAnimation_Whip ; ATK_ANIM_WHIP + dw AttackAnimation_Tear ; ATK_ANIM_TEAR + dw AttackAnimation_MultipleSlash ; ATK_ANIM_MULTIPLE_SLASH + dw AttackAnimation_MultipleSlash ; ATK_ANIM_42 + dw AttackAnimation_MultipleSlash ; ATK_ANIM_RAMPAGE + dw AttackAnimation_Drill ; ATK_ANIM_DRILL + dw AttackAnimation_PotSmash ; ATK_ANIM_POT_SMASH + dw AttackAnimation_Bonemerang ; ATK_ANIM_BONEMERANG + dw AttackAnimation_SeismicToss ; ATK_ANIM_SEISMIC_TOSS + dw AttackAnimation_Needles ; ATK_ANIM_NEEDLES + dw AttackAnimation_Needles ; ATK_ANIM_49 + dw AttackAnimation_WhiteGas ; ATK_ANIM_SMOG + dw AttackAnimation_WhiteGas ; ATK_ANIM_51 + dw AttackAnimation_WhiteGas ; ATK_ANIM_52 + dw AttackAnimation_WhiteGas ; ATK_ANIM_FOUL_GAS + dw AttackAnimation_WhiteGas ; ATK_ANIM_FOUL_ODOR + dw AttackAnimation_Powder ; ATK_ANIM_POWDER_EFFECT_CHANCE + dw AttackAnimation_Powder ; ATK_ANIM_POWDER_HIT_POISON + dw AttackAnimation_544e ; ATK_ANIM_POISON_POWDER + dw AttackAnimation_Powder ; ATK_ANIM_58 + dw AttackAnimation_Powder ; ATK_ANIM_59 + dw AttackAnimation_Powder ; ATK_ANIM_60 + dw AttackAnimation_Goo ; ATK_ANIM_GOO + dw AttackAnimation_Goo ; ATK_ANIM_62 + dw AttackAnimation_SpitPoisonFail ; ATK_ANIM_SPIT_POISON + dw AttackAnimation_Goo ; ATK_ANIM_64 + dw AttackAnimation_Bubbles ; ATK_ANIM_BUBBLES + dw AttackAnimation_Bubbles ; ATK_ANIM_66 + dw AttackAnimation_StringShot ; ATK_ANIM_STRING_SHOT + dw AttackAnimation_StringShot ; ATK_ANIM_68 + dw AttackAnimation_Boyfriends ; ATK_ANIM_BOYFRIENDS + dw AttackAnimation_Lure ; ATK_ANIM_LURE + dw AttackAnimation_Toxic ; ATK_ANIM_TOXIC + dw AttackAnimation_ConfuseRay ; ATK_ANIM_CONFUSE_RAY + dw AttackAnimation_ConfuseRay ; ATK_ANIM_73 + dw AttackAnimation_Sing ; ATK_ANIM_SING + dw AttackAnimation_Sing ; ATK_ANIM_LULLABY + dw AttackAnimation_Supersonic ; ATK_ANIM_SUPERSONIC + dw AttackAnimation_Supersonic ; ATK_ANIM_77 + dw AttackAnimation_PetalDance ; ATK_ANIM_PETAL_DANCE + dw AttackAnimation_Protect ; ATK_ANIM_PROTECT + dw AttackAnimation_Barrier ; ATK_ANIM_BARRIER + dw AttackAnimation_QuickAttack ; ATK_ANIM_QUICK_ATTACK + dw AttackAnimation_AgilityProtect ; ATK_ANIM_AGILITY_PROTECT + dw AttackAnimation_Whirlwind ; ATK_ANIM_WHIRLWIND + dw AttackAnimation_Cry ; ATK_ANIM_CRY + dw AttackAnimation_Amnesia ; ATK_ANIM_AMNESIA + dw AttackAnimation_Selfdestruct ; ATK_ANIM_SELFDESTRUCT + dw AttackAnimation_BigSelfdestruct ; ATK_ANIM_BIG_SELFDESTRUCTION + dw AttackAnimation_Recover ; ATK_ANIM_RECOVER + dw AttackAnimation_Drain ; ATK_ANIM_DRAIN + dw AttackAnimation_DarkGas ; ATK_ANIM_DARK_GAS + dw AttackAnimation_GlowEffect ; ATK_ANIM_GLOW_EFFECT + dw AttackAnimation_MirrorMove ; ATK_ANIM_MIRROR_MOVE + dw AttackAnimation_DevolutionBeam ; ATK_ANIM_DEVOLUTION_BEAM + dw AttackAnimation_5543 ; ATK_ANIM_PKMN_POWER_1 + dw AttackAnimation_Firegiver ; ATK_ANIM_FIREGIVER + dw AttackAnimation_Quickfreeze ; ATK_ANIM_QUICKFREEZE + dw AttackAnimation_PealOfThunder ; ATK_ANIM_PEAL_OF_THUNDER + dw AttackAnimation_HealingWind ; ATK_ANIM_HEALING_WIND + dw AttackAnimation_WhirlwindZigzag ; ATK_ANIM_WHIRLWIND_ZIGZAG + dw AttackAnimation_BigThunder ; ATK_ANIM_BIG_THUNDER + dw AttackAnimation_SolarPower ; ATK_ANIM_SOLAR_POWER + dw AttackAnimation_PoisonFang ; ATK_ANIM_POISON_FANG + dw AttackAnimation_PoisonFang ; ATK_ANIM_103 + dw AttackAnimation_PoisonFang ; ATK_ANIM_104 + dw AttackAnimation_558c ; ATK_ANIM_105 + dw AttackAnimation_FriendshipSong ; ATK_ANIM_FRIENDSHIP_SONG + dw AttackAnimation_Schrunch ; ATK_ANIM_SCRUNCH + dw AttackAnimation_CatPunch ; ATK_ANIM_CAT_PUNCH + dw AttackAnimation_MagneticStorm ; ATK_ANIM_MAGNETIC_STORM + dw AttackAnimation_PoisonWhip ; ATK_ANIM_POISON_WHIP + dw AttackAnimation_ThunderWave ; ATK_ANIM_THUNDER_WAVE + dw AttackAnimation_ThunderWave ; ATK_ANIM_112 + dw AttackAnimation_Spore ; ATK_ANIM_SPORE + dw AttackAnimation_Hypnosis ; ATK_ANIM_HYPNOSIS + dw AttackAnimation_EnergyConversion ; ATK_ANIM_ENERGY_CONVERSION + dw AttackAnimation_Leer ; ATK_ANIM_LEER + dw AttackAnimation_ConfusionHit ; ATK_ANIM_CONFUSION_HIT + dw AttackAnimation_55e0 ; ATK_ANIM_118 + dw AttackAnimation_55e5 ; ATK_ANIM_119 + dw AttackAnimation_BenchHit ; ATK_ANIM_BENCH_HIT + dw AttackAnimation_Heal ; ATK_ANIM_HEAL + dw AttackAnimation_RecoilHit ; ATK_ANIM_RECOIL_HIT + dw AttackAnimation_Poison ; ATK_ANIM_POISON + dw AttackAnimation_Confusion ; ATK_ANIM_CONFUSION + dw AttackAnimation_Paralysis ; ATK_ANIM_PARALYSIS + dw AttackAnimation_Sleep ; ATK_ANIM_SLEEP + dw AttackAnimation_ImakuniConfusion ; ATK_ANIM_IMAKUNI_CONFUSION + dw AttackAnimation_SleepingGas ; ATK_ANIM_SLEEPING_GAS + dw AttackAnimation_560f ; ATK_ANIM_129 + dw AttackAnimation_ThunderPlayArea ; ATK_ANIM_THUNDER_PLAY_AREA + dw AttackAnimation_CatPunchPlayArea ; ATK_ANIM_CAT_PUNCH_PLAY_AREA + dw AttackAnimation_FiregiverPlayer ; ATK_ANIM_FIREGIVER_PLAYER + dw AttackAnimation_FiregiverOpp ; ATK_ANIM_FIREGIVER_OPP + dw AttackAnimation_HealingWindPlayArea ; ATK_ANIM_HEALING_WIND_PLAY_AREA + dw AttackAnimation_Gale ; ATK_ANIM_GALE + dw AttackAnimation_Expand ; ATK_ANIM_EXPAND + dw AttackAnimation_564f ; ATK_ANIM_137 + dw AttackAnimation_FullHeal ; ATK_ANIM_FULL_HEAL + dw AttackAnimation_5659 ; ATK_ANIM_139 + dw AttackAnimation_SpitPoisonSuccess ; ATK_ANIM_SPIT_POISON_SUCCESS + dw AttackAnimation_GustOfWind ; ATK_ANIM_GUST_OF_WIND + dw AttackAnimation_HealBothSides ; ATK_ANIM_HEAL_BOTH_SIDES + dw AttackAnimation_5673 ; ATK_ANIM_143 + dw AttackAnimation_5673 ; ATK_ANIM_144 AttackAnimation_Hit: ; (6:52c6) anim_player DUEL_ANIM_GLOW @@ -231,9 +231,9 @@ AttackAnimation_FireSpin: anim_opponent DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_531e: +AttackAnimation_DiveBomb: anim_player DUEL_ANIM_GLOW - anim_opponent DUEL_ANIM_17 + anim_opponent DUEL_ANIM_DIVE_BOMB anim_opponent DUEL_ANIM_HIT anim_normal DUEL_ANIM_SHAKE1 anim_opponent DUEL_ANIM_SHOW_DAMAGE @@ -298,7 +298,7 @@ AttackAnimation_PsychicHit: AttackAnimation_DarkMind: anim_player DUEL_ANIM_GLOW - anim_opponent DUEL_ANIM_24 + anim_opponent DUEL_ANIM_GLARE anim_opponent DUEL_ANIM_HIT anim_normal DUEL_ANIM_SHAKE1 anim_opponent DUEL_ANIM_SHOW_DAMAGE @@ -467,7 +467,7 @@ AttackAnimation_Goo: anim_opponent DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_5460: +AttackAnimation_SpitPoisonFail: anim_player DUEL_ANIM_GLOW anim_opponent DUEL_ANIM_GOO anim_normal $66 @@ -557,7 +557,7 @@ AttackAnimation_QuickAttack: anim_opponent DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_54d3: +AttackAnimation_AgilityProtect: anim_player DUEL_ANIM_GLOW anim_normal DUEL_ANIM_QUICK_ATTACK anim_opponent DUEL_ANIM_HIT @@ -636,21 +636,21 @@ AttackAnimation_MirrorMove: anim_opponent DUEL_ANIM_GLOW anim_end -AttackAnimation_553a: +AttackAnimation_DevolutionBeam: anim_player DUEL_ANIM_GLOW anim_normal $65 - anim_unknown DUEL_ANIM_4 + anim_unknown $04 anim_unknown2 DUEL_ANIM_70 anim_end AttackAnimation_5543: - anim_unknown DUEL_ANIM_4 + anim_unknown $04 anim_unknown2 DUEL_ANIM_70 anim_normal $65 anim_end AttackAnimation_Firegiver: - anim_unknown DUEL_ANIM_4 + anim_unknown $04 anim_unknown2 DUEL_ANIM_70 anim_normal $65 anim_unknown2 DUEL_ANIM_71 @@ -658,31 +658,31 @@ AttackAnimation_Firegiver: anim_end AttackAnimation_Quickfreeze: - anim_unknown DUEL_ANIM_4 + anim_unknown $04 anim_unknown2 DUEL_ANIM_70 anim_normal DUEL_ANIM_69 - anim_unknown DUEL_ANIM_GLOW + anim_unknown $01 anim_end AttackAnimation_PealOfThunder: - anim_unknown DUEL_ANIM_4 + anim_unknown $04 anim_unknown2 DUEL_ANIM_70 anim_unknown2 DUEL_ANIM_68 - anim_unknown DUEL_ANIM_4 + anim_unknown $04 anim_unknown2 DUEL_ANIM_HIT anim_normal DUEL_ANIM_SHAKE1 anim_unknown2 DUEL_ANIM_SHOW_DAMAGE anim_end AttackAnimation_HealingWind: - anim_unknown DUEL_ANIM_4 + anim_unknown $04 anim_unknown2 DUEL_ANIM_70 anim_unknown2 DUEL_ANIM_73 anim_end AttackAnimation_WhirlwindZigzag: anim_player DUEL_ANIM_GLOW - anim_unknown DUEL_ANIM_4 + anim_unknown $04 anim_normal DUEL_ANIM_74 anim_end @@ -710,12 +710,12 @@ AttackAnimation_558c: anim_opponent DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_5597: +AttackAnimation_FriendshipSong: anim_player DUEL_ANIM_GLOW anim_player DUEL_ANIM_SING anim_end -AttackAnimation_559c: +AttackAnimation_Schrunch: anim_player DUEL_ANIM_GLOW anim_player DUEL_ANIM_EXPAND anim_end @@ -760,15 +760,15 @@ AttackAnimation_EnergyConversion: anim_normal $65 anim_end -AttackAnimation_55ce: +AttackAnimation_Leer: anim_player DUEL_ANIM_GLOW - anim_opponent DUEL_ANIM_24 + anim_opponent DUEL_ANIM_GLARE anim_opponent DUEL_ANIM_QUESTION_MARK anim_end -AttackAnimation_55d5: +AttackAnimation_ConfusionHit: anim_player DUEL_ANIM_GLOW - anim_player DUEL_ANIM_4 + anim_player DUEL_ANIM_CONFUSION anim_player DUEL_ANIM_HIT anim_normal DUEL_ANIM_SHAKE3 anim_player DUEL_ANIM_SHOW_DAMAGE @@ -782,42 +782,42 @@ AttackAnimation_55e0: AttackAnimation_55e5: anim_end -AttackAnimation_55e6: - anim_unknown DUEL_ANIM_4 +AttackAnimation_BenchHit: + anim_unknown $04 anim_unknown2 DUEL_ANIM_6 anim_unknown2 DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_55ed: +AttackAnimation_Heal: anim_player DUEL_ANIM_HEAL anim_player DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_55f2: - anim_unknown DUEL_ANIM_GLOW +AttackAnimation_RecoilHit: + anim_unknown $01 anim_player DUEL_ANIM_HIT anim_normal DUEL_ANIM_SHAKE3 anim_player DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_55fb: +AttackAnimation_Poison: anim_opponent DUEL_ANIM_POISON anim_end -AttackAnimation_55fe: - anim_opponent DUEL_ANIM_4 +AttackAnimation_Confusion: + anim_opponent DUEL_ANIM_CONFUSION anim_end -AttackAnimation_5601: - anim_opponent DUEL_ANIM_2 +AttackAnimation_Paralysis: + anim_opponent DUEL_ANIM_PARALYSIS anim_end -AttackAnimation_5604: +AttackAnimation_Sleep: anim_opponent DUEL_ANIM_SLEEP anim_end -AttackAnimation_5607: - anim_player DUEL_ANIM_4 +AttackAnimation_ImakuniConfusion: + anim_player DUEL_ANIM_CONFUSION anim_end AttackAnimation_SleepingGas: @@ -829,38 +829,38 @@ AttackAnimation_560f: anim_opponent DUEL_ANIM_QUESTION_MARK anim_end -AttackAnimation_5612: - anim_unknown DUEL_ANIM_4 +AttackAnimation_ThunderPlayArea: + anim_unknown $04 anim_unknown2 DUEL_ANIM_68 anim_unknown2 DUEL_ANIM_HIT anim_normal DUEL_ANIM_SHAKE1 anim_unknown2 DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_561d: - anim_unknown DUEL_ANIM_4 +AttackAnimation_CatPunchPlayArea: + anim_unknown $04 anim_unknown2 DUEL_ANIM_76 anim_unknown2 DUEL_ANIM_HIT anim_normal DUEL_ANIM_SHAKE1 anim_unknown2 DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_5628: - anim_unknown DUEL_ANIM_4 +AttackAnimation_FiregiverPlayer: + anim_unknown $04 anim_normal DUEL_ANIM_78 anim_end -AttackAnimation_562d: - anim_unknown DUEL_ANIM_4 +AttackAnimation_FiregiverOpp: + anim_unknown $04 anim_normal DUEL_ANIM_79 anim_end -AttackAnimation_5632: - anim_unknown DUEL_ANIM_4 +AttackAnimation_HealingWindPlayArea: + anim_unknown $04 anim_unknown2 DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_5637: +AttackAnimation_Gale: anim_player DUEL_ANIM_GLOW anim_opponent DUEL_ANIM_WHIRLWIND anim_opponent DUEL_ANIM_HIT @@ -882,7 +882,7 @@ AttackAnimation_564f: anim_player DUEL_ANIM_SHOW_DAMAGE anim_end -AttackAnimation_5654: +AttackAnimation_FullHeal: anim_player DUEL_ANIM_HEAL anim_normal $98 anim_end @@ -892,20 +892,20 @@ AttackAnimation_5659: anim_normal $98 anim_end -AttackAnimation_565e: +AttackAnimation_SpitPoisonSuccess: anim_player DUEL_ANIM_GLOW anim_opponent DUEL_ANIM_GOO anim_normal $66 anim_end -AttackAnimation_5665: +AttackAnimation_GustOfWind: anim_opponent DUEL_ANIM_WHIRLWIND anim_end -AttackAnimation_5668: - anim_unknown DUEL_ANIM_4 +AttackAnimation_HealBothSides: + anim_unknown $04 anim_unknown2 DUEL_ANIM_70 - anim_unknown DUEL_ANIM_GLOW + anim_unknown $01 anim_player DUEL_ANIM_HEAL anim_opponent DUEL_ANIM_HEAL anim_end diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm index 2c2a23f..16d335a 100644 --- a/src/engine/bank01.asm +++ b/src/engine/bank01.asm @@ -8171,25 +8171,25 @@ Func_741a: ; 741a (1:741a) ld d, a inc hl ld a, [hli] - ld e, $7e + ld e, ATK_ANIM_SLEEP cp ASLEEP jr z, .got_anim - ld e, $7d + ld e, ATK_ANIM_PARALYSIS cp PARALYZED jr z, .got_anim - ld e, $7b + ld e, ATK_ANIM_POISON cp POISONED jr z, .got_anim - ld e, $7b + ld e, ATK_ANIM_POISON cp DOUBLE_POISONED jr z, .got_anim - ld e, $7c + ld e, ATK_ANIM_CONFUSION cp CONFUSED jr nz, .loop ldh a, [hWhoseTurn] cp d jr nz, .got_anim - ld e, $7f + ld e, ATK_ANIM_IMAKUNI_CONFUSION .got_anim ld a, e ld [wLoadedMoveAnimation], a @@ -8266,15 +8266,18 @@ PlayMoveAnimation: ; 7494 (1:7494) ld [hl], e inc hl ld [hl], d + +; if damage >= 70, ATK_ANIM_HIT becomes ATK_ANIM_BIG_HIT ld a, [wLoadedMoveAnimation] - cp $01 - jr nz, .asm_74d1 + cp ATK_ANIM_HIT + jr nz, .got_anim ld a, e - cp $46 - jr c, .asm_74d1 - ld a, $02 + cp 70 + jr c, .got_anim + ld a, ATK_ANIM_BIG_HIT ld [wLoadedMoveAnimation], a -.asm_74d1 + +.got_anim farcall Func_18f9c pop bc pop de diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm index 62e1bbd..8eb6e9a 100644 --- a/src/engine/bank06.asm +++ b/src/engine/bank06.asm @@ -1218,6 +1218,7 @@ Func_1909d: ; 1909d (6:509d) ld a, DUEL_ANIM_SCREEN_MAIN_SCENE ld [wDuelAnimationScreen], a ret + .asm_50ad ld a, [wd4b0] ld l, a @@ -1304,10 +1305,11 @@ Func_190fb: ; 190fb (6:50fb) push bc push de ld a, [wLoadedMoveAnimation] - cp $79 + cp ATK_ANIM_HEAL jr z, .asm_5164 - cp $86 + cp ATK_ANIM_HEALING_WIND_PLAY_AREA jr z, .asm_5164 + ld a, [wTempNonTurnDuelistCardID] ld e, a ld d, $00 diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 1bbcc22..614cb61 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -1471,7 +1471,7 @@ Animations: ; 1ce32 (7:4e32) db SFX_11 ; sound FX ID db $00 ; handler function - ; DUEL_ANIM_2 + ; DUEL_ANIM_PARALYSIS db SPRITE_DUEL_1 ; sprite ID db $20 ; palette ID db $48 ; anim ID @@ -1487,7 +1487,7 @@ Animations: ; 1ce32 (7:4e32) db SFX_13 ; sound FX ID db $00 ; handler function - ; DUEL_ANIM_4 + ; DUEL_ANIM_CONFUSION db SPRITE_DUEL_55 ; sprite ID db $22 ; palette ID db $4a ; anim ID @@ -1591,7 +1591,7 @@ Animations: ; 1ce32 (7:4e32) db SFX_1E ; sound FX ID db $00 ; handler function - ; DUEL_ANIM_17 + ; DUEL_ANIM_DIVE_BOMB db SPRITE_DUEL_10 ; sprite ID db $2c ; palette ID db $64 ; anim ID @@ -1647,7 +1647,7 @@ Animations: ; 1ce32 (7:4e32) db SFX_25 ; sound FX ID db $00 ; handler function - ; DUEL_ANIM_24 + ; DUEL_ANIM_GLARE db SPRITE_DUEL_15 ; sprite ID db $33 ; palette ID db $6f ; anim ID diff --git a/src/engine/effect_functions.asm b/src/engine/effect_functions.asm index b381661..63a3642 100644 --- a/src/engine/effect_functions.asm +++ b/src/engine/effect_functions.asm @@ -477,7 +477,7 @@ ApplyAndAnimateHPRecovery: ; 2c221 (b:4221) ; load correct animation push de - ld a, $79 + ld a, ATK_ANIM_HEAL ld [wLoadedMoveAnimation], a ld bc, $01 ; arrow bank1call PlayMoveAnimation @@ -1466,7 +1466,7 @@ SpitPoison_Poison50PercentEffect: ; 2c6f8 (b:46f8) ldtx de, PoisonCheckText call TossCoin_BankB jp c, PoisonEffect - ld a, $8c + ld a, ATK_ANIM_SPIT_POISON_SUCCESS ld [wLoadedMoveAnimation], a call SetNoEffectFromStatus ret @@ -1590,7 +1590,7 @@ KakunaStiffenEffect: ; 2c7a0 (b:47a0) ldtx de, IfHeadsNoDamageNextTurnText call TossCoin_BankB jp nc, SetWasUnsuccessful - ld a, $4f + ld a, ATK_ANIM_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_NO_DAMAGE_STIFFEN call ApplySubstatus1ToDefendingCard @@ -1699,7 +1699,7 @@ MetapodStiffenEffect: ; 2c836 (b:4836) ldtx de, IfHeadsNoDamageNextTurnText call TossCoin_BankB jp nc, SetWasUnsuccessful - ld a, $4f + ld a, ATK_ANIM_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_NO_DAMAGE_STIFFEN call ApplySubstatus1ToDefendingCard @@ -2110,7 +2110,7 @@ HornHazard_NoDamage50PercentEffect: ; 2ca96 (b:4a96) call SetWasUnsuccessful ret .heads - ld a, $01 + ld a, ATK_ANIM_HIT ld [wLoadedMoveAnimation], a ret ; 0x2caac @@ -2797,7 +2797,7 @@ SolarPower_CheckUse: ; 2ce53 (b:4e53) ; 0x2ce82 SolarPower_RemoveStatusEffect: ; 2ce82 (b:4e82) - ld a, $8e + ld a, ATK_ANIM_HEAL_BOTH_SIDES ld [wLoadedMoveAnimation], a bank1call Func_7415 ldh a, [hTempPlayAreaLocation_ff9d] @@ -2940,7 +2940,7 @@ WartortleWithdrawEffect: ; 2cf32 (b:4f32) ldtx de, IfHeadsNoDamageNextTurnText call TossCoin_BankB jp nc, SetWasUnsuccessful - ld a, $4f + ld a, ATK_ANIM_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_NO_DAMAGE_10 call ApplySubstatus1ToDefendingCard @@ -3180,7 +3180,7 @@ SeadraAgilityEffect: ; 2d08b (b:508b) ldtx de, IfHeadsDoNotReceiveDamageOrEffectText call TossCoin_BankB ret nc ; return if tails - ld a, $52 + ld a, ATK_ANIM_AGILITY_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_AGILITY call ApplySubstatus1ToDefendingCard @@ -3197,7 +3197,7 @@ HideInShellEffect: ; 2d0a4 (b:50a4) ldtx de, IfHeadsNoDamageNextTurnText call TossCoin_BankB jp nc, SetWasUnsuccessful - ld a, $4f + ld a, ATK_ANIM_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_NO_DAMAGE_11 call ApplySubstatus1ToDefendingCard @@ -3281,7 +3281,7 @@ SquirtleWithdrawEffect: ; 2d120 (b:5120) ldtx de, IfHeadsNoDamageNextTurnText call TossCoin_BankB jp nc, SetWasUnsuccessful - ld a, $4f + ld a, ATK_ANIM_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_NO_DAMAGE_10 call ApplySubstatus1ToDefendingCard @@ -3473,13 +3473,13 @@ PoliwagWaterGunEffect: ; 2d227 (b:5227) ; 0x2d22d ClampEffect: ; 2d22d (b:522d) - ld a, $05 + ld a, ATK_ANIM_HIT_EFFECT ld [wLoadedMoveAnimation], a ldtx de, SuccessCheckIfHeadsAttackIsSuccessfulText call TossCoin_BankB jp c, ParalysisEffect ; unsuccessful - xor a + xor a ; ATK_ANIM_NONE ld [wLoadedMoveAnimation], a call SetDefiniteDamage call SetWasUnsuccessful @@ -3816,7 +3816,7 @@ RapidashAgilityEffect: ; 2d413 (b:5413) ldtx de, IfHeadsDoNotReceiveDamageOrEffectText call TossCoin_BankB ret nc ; return if tails - ld a, $52 + ld a, ATK_ANIM_AGILITY_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_AGILITY call ApplySubstatus1ToDefendingCard @@ -4043,7 +4043,7 @@ Moltres1DiveBomb_Success50PercentEffect: ; 2d52b (b:552b) call SetWasUnsuccessful ret .heads - ld a, $11 + ld a, ATK_ANIM_DIVE_BOMB ld [wLoadedMoveAnimation], a ret ; 0x2d541 @@ -4403,14 +4403,14 @@ Firegiver_AddToHandEffect: ; 2d6c2 (b:56c2) .ok ldh [hCurSelectionItem], a -; load correct Move animation depending +; load correct attack animation depending ; on what side the effect is from. - ld d, $84 + ld d, ATK_ANIM_FIREGIVER_PLAYER ld a, [wDuelistType] cp DUELIST_TYPE_PLAYER jr z, .player_1 ; opponent - ld d, $85 + ld d, ATK_ANIM_FIREGIVER_OPP .player_1 ld a, d ld [wLoadedMoveAnimation], a @@ -4433,7 +4433,7 @@ Firegiver_AddToHandEffect: ; 2d6c2 (b:56c2) lb bc, 18, 7 ; x, y for hand number ld e, 3 ; y for deck number ld a, [wLoadedMoveAnimation] - cp $84 + cp ATK_ANIM_FIREGIVER_PLAYER jr z, .player_2 lb bc, 4, 5 ; x, y for hand number ld e, 10 ; y for deck number @@ -4488,7 +4488,7 @@ Moltres2DiveBomb_Success50PercentEffect: ; 2d776 (b:5776) call SetWasUnsuccessful ret .heads - ld a, $11 + ld a, ATK_ANIM_DIVE_BOMB ld [wLoadedMoveAnimation], a ret ; 0x2d78c @@ -5492,7 +5492,7 @@ DevolutionBeam_AISelectEffect: ; 2dc9e (b:5c9e) ; 0x2dcb6 DevolutionBeam_LoadAnimation: ; 2dcb6 (b:5cb6) - xor a + xor a ; ATK_ANIM_NONE ld [wLoadedMoveAnimation], a ret ; 0x2dcbb @@ -5517,7 +5517,7 @@ DevolutionBeam_DevolveEffect: ; 2dcbb (b:5cbb) ret .DevolvePokemon - ld a, $5d + ld a, ATK_ANIM_DEVOLUTION_BEAM ld [wLoadedMoveAnimation], a ldh a, [hTempPlayAreaLocation_ffa1] ld b, a @@ -5923,7 +5923,7 @@ SpacingOut_Success50PercentEffect: ; 2dee0 (b:5ee0) call TossCoin_BankB ldh [hTemp_ffa0], a jp nc, SetWasUnsuccessful - ld a, $58 + ld a, ATK_ANIM_RECOVER ld [wLoadedMoveAnimation], a ret ; 0x2def1 @@ -6152,7 +6152,7 @@ MysteryAttack_RandomEffect: ; 2e009 (b:6009) ret .no_damage - ld a, $5b + ld a, ATK_ANIM_GLOW_EFFECT ld [wLoadedMoveAnimation], a xor a call SetDefiniteDamage @@ -6234,7 +6234,7 @@ TantrumEffect: ; 2e099 (b:6099) call TossCoin_BankB ret c ; return if heads ; confuse Pokemon - ld a, $29 + ld a, ATK_ANIM_MULTIPLE_SLASH ld [wLoadedMoveAnimation], a call SwapTurn call ConfusionEffect @@ -6505,7 +6505,7 @@ LeerEffect: ; 2e21d (b:621d) ldtx de, IfHeadsOpponentCannotAttackText call TossCoin_BankB jp nc, SetWasUnsuccessful - ld a, $74 + ld a, ATK_ANIM_LEER ld [wLoadedMoveAnimation], a ld a, SUBSTATUS2_LEER call ApplySubstatus2ToDefendingCard @@ -7001,13 +7001,13 @@ Fly_Success50PercentEffect: ; 2e4fc (b:64fc) ldtx de, SuccessCheckIfHeadsAttackIsSuccessfulText call TossCoin_BankB jr c, .heads - xor a + xor a ; ATK_ANIM_NONE ld [wLoadedMoveAnimation], a call SetDefiniteDamage call SetWasUnsuccessful ret .heads - ld a, $52 + ld a, ATK_ANIM_AGILITY_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_FLY call ApplySubstatus1ToDefendingCard @@ -7153,7 +7153,7 @@ RaichuAgilityEffect: ; 2e5dc (b:65dc) ldtx de, IfHeadsDoNotReceiveDamageOrEffectText call TossCoin_BankB ret nc ; skip if got tails - ld a, $52 + ld a, ATK_ANIM_AGILITY_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_AGILITY call ApplySubstatus1ToDefendingCard @@ -7506,7 +7506,7 @@ RandomlyDamagePlayAreaPokemon: ; 2e78d (b:678d) jr z, RandomlyDamagePlayAreaPokemon ; re-roll Pokemon to attack .damage - ld a, $82 + ld a, ATK_ANIM_THUNDER_PLAY_AREA ld [wLoadedMoveAnimation], a call DealDamageToPlayAreaPokemon ret @@ -7818,7 +7818,7 @@ TailWagEffect: ; 2e94e (b:694e) ldtx de, IfHeadsOpponentCannotAttackText call TossCoin_BankB jp nc, SetWasUnsuccessful - ld a, $46 + ld a, ATK_ANIM_LURE ld [wLoadedMoveAnimation], a ld a, SUBSTATUS2_TAIL_WAG call ApplySubstatus2ToDefendingCard @@ -7964,7 +7964,7 @@ MirrorMoveEffects: ; 2e98c (b:698c) ld [de], a or [hl] jr z, .no_damage - ld a, $01 + ld a, ATK_ANIM_HIT ld [wLoadedMoveAnimation], a .no_damage inc hl @@ -8094,7 +8094,7 @@ FearowAgilityEffect: ; 2eab8 (b:6ab8) ldtx de, IfHeadsDoNotReceiveDamageOrEffectText call TossCoin_BankB ret nc - ld a, $52 + ld a, ATK_ANIM_AGILITY_PROTECT ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_AGILITY call ApplySubstatus1ToDefendingCard @@ -8890,7 +8890,7 @@ ScrunchEffect: ; 2eee7 (b:6ee7) ldtx de, IfHeadsNoDamageNextTurnText call TossCoin_BankB jp nc, SetWasUnsuccessful - ld a, $6b + ld a, ATK_ANIM_SCRUNCH ld [wLoadedMoveAnimation], a ld a, SUBSTATUS1_NO_DAMAGE_17 call ApplySubstatus1ToDefendingCard @@ -8975,7 +8975,7 @@ HealingWind_PlayAreaHealEffect: ; 2ef53 (b:6f53) ld h, a bank1call PlayMoveAnimation bank1call WaitMoveAnimation - ld a, $86 + ld a, ATK_ANIM_HEALING_WIND_PLAY_AREA ld [wLoadedMoveAnimation], a @@ -9078,7 +9078,7 @@ CatPunchEffect: ; 2efe0 (b:6fe0) call SwapTurn call PickRandomPlayAreaCard ld b, a - ld a, $83 + ld a, ATK_ANIM_CAT_PUNCH_PLAY_AREA ld [wLoadedMoveAnimation], a ld de, 20 call DealDamageToPlayAreaPokemon @@ -9234,7 +9234,7 @@ SlicingWindEffect: ; 2f0bf (b:70bf) ; 0x2f0d0 Gale_LoadAnimation: ; 2f0d0 (b:70d0) - ld a, $87 + ld a, ATK_ANIM_GALE ld [wLoadedMoveAnimation], a ret ; 0x2f0d6 @@ -9305,7 +9305,7 @@ FriendshipSong_AddToBench50PercentEffect: ; 2f119 (b:7119) .successful call PickRandomBasicCardFromDeck jr nc, .put_in_bench - ld a, $6a + ld a, ATK_ANIM_FRIENDSHIP_SONG call Func_2c12e call .none_came_text call Func_2c0bd @@ -9315,7 +9315,7 @@ FriendshipSong_AddToBench50PercentEffect: ; 2f119 (b:7119) call SearchCardInDeckAndAddToHand call AddCardToHand call PutHandPokemonCardInPlayArea - ld a, $6a + ld a, ATK_ANIM_FRIENDSHIP_SONG call Func_2c12e ldh a, [hTempCardIndex_ff98] ldtx hl, CameToTheBenchText @@ -9488,7 +9488,7 @@ ImakuniEffect: ; 2f216 (b:7216) .failed ; play confusion animation and print failure text - ld a, $7f + ld a, ATK_ANIM_IMAKUNI_CONFUSION call Func_2fea9 ldtx hl, ThereWasNoEffectText call DrawWideTextBox_WaitForInput @@ -9496,7 +9496,7 @@ ImakuniEffect: ; 2f216 (b:7216) .success ; play confusion animation and confuse card - ld a, $7f + ld a, ATK_ANIM_IMAKUNI_CONFUSION call Func_2fea9 ld a, DUELVARS_ARENA_CARD_STATUS call GetTurnDuelistVariable @@ -9936,7 +9936,7 @@ FullHeal_StatusCheck: ; 2f4c5 (b:74c5) ; 0x2f4d1 FullHeal_ClearStatusEffect: ; 2f4d1 (b:74d1) - ld a, $8a + ld a, ATK_ANIM_FULL_HEAL call Func_2fea9 ld a, DUELVARS_ARENA_CARD_STATUS call GetTurnDuelistVariable @@ -11739,7 +11739,7 @@ GustOfWind_PlayerSelection: ; 2fe79 (b:7e79) GustOfWind_SwitchEffect: ; 2fe90 (b:7e90) ; play whirlwind animation - ld a, $8d + ld a, ATK_ANIM_GUST_OF_WIND call Func_2fea9 ; switch Arena card @@ -11755,7 +11755,7 @@ GustOfWind_SwitchEffect: ; 2fe90 (b:7e90) ; 0x2fea9 ; input: -; a = move animation to play +; a = attack animation to play Func_2fea9: ; 2fea9 (b:7ea9) ld [wLoadedMoveAnimation], a bank1call Func_7415 @@ -11780,7 +11780,7 @@ HealPlayAreaCardHP: ; 2febc (b:7ebc) ; play heal animation push de bank1call Func_7415 - ld a, $86 + ld a, ATK_ANIM_HEALING_WIND_PLAY_AREA ld [wLoadedMoveAnimation], a ldh a, [hTempPlayAreaLocation_ff9d] ld b, a diff --git a/src/engine/home.asm b/src/engine/home.asm index 18a79f4..c860dd3 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -4529,7 +4529,7 @@ HandleConfusionDamageToSelf: ; 1828 (0:1828) ld [wIsDamageToSelf], a ldtx hl, DamageToSelfDueToConfusionText call DrawWideTextBox_PrintText - ld a, $75 + ld a, ATK_ANIM_CONFUSION_HIT ld [wLoadedMoveAnimation], a ld a, 20 ; damage call DealConfusionDamageToSelf @@ -4700,7 +4700,7 @@ LoadNonPokemonCardEffectCommands: ; 1944 (0:1944) ; display recoil animation DealRecoilDamageToSelf: ; 1955 (0:1955) push af - ld a, $7a + ld a, ATK_ANIM_RECOIL_HIT ld [wLoadedMoveAnimation], a pop af ; fallthrough @@ -4977,7 +4977,7 @@ PrintKnockedOut: ; 1ad3 (0:1ad3) ; shows the defending player's play area screen when dealing the damage ; instead of the main duel interface with regular attack animation. DealDamageToPlayAreaPokemon_RegularAnim: ; 1af3 (0:1af3) - ld a, $78 + ld a, ATK_ANIM_BENCH_HIT ld [wLoadedMoveAnimation], a ; fallthrough -- cgit v1.2.3