From 501d0d3c18e3c81af2d5c58e19a26fe5a8577f0b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 14 Feb 2020 18:11:04 -0500 Subject: [PATCH] Document move anims C-H --- data/battle_anim_scripts.s | 1606 +++++++++++++++--------------- include/battle_anim.h | 10 +- include/constants/battle_anim.h | 2 +- src/battle_anim_effects_2.c | 33 +- src/battle_anim_mon_movement.c | 6 +- src/battle_anim_mons.c | 7 +- src/battle_anim_sound_tasks.c | 6 +- src/battle_anim_status_effects.c | 4 +- src/battle_anim_utility_funcs.c | 23 +- src/dark.c | 26 +- src/dragon.c | 28 +- src/fight.c | 55 +- src/fire.c | 40 +- src/flying.c | 71 +- src/ghost.c | 32 +- src/ground.c | 238 +++-- src/ice.c | 6 +- src/normal.c | 60 +- src/psychic.c | 10 +- src/rock.c | 8 +- src/water.c | 73 +- 21 files changed, 1195 insertions(+), 1149 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 40d8813f2..d68f93e00 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -9,6 +9,8 @@ .section script_data, "aw", %progbits +@ TODO: Clarify createsprite battler argument + .align 2 gMovesWithQuietBGM:: .2byte MOVE_SING, MOVE_PERISH_SONG, MOVE_GRASS_WHISTLE, 0xFFFF @@ -427,7 +429,7 @@ Move_POUND: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W003, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -447,10 +449,10 @@ DoubleSlapContinue: blendoff end DoubleSlapLeft: - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, ANIM_TARGET, 2 goto DoubleSlapContinue DoubleSlapRight: - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, 0, ANIM_TARGET, 2 goto DoubleSlapContinue Move_POISON_POWDER: @@ -565,13 +567,13 @@ Move_STRENGTH: createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_TARGET, 18, 6, 2, 4 delay 4 playsewithpan SE_W025B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 16, 12, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 16, 12, ANIM_TARGET, 1 delay 4 playsewithpan SE_W025B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -16, -12, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -16, -12, ANIM_TARGET, 1 delay 4 playsewithpan SE_W025B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 3, 4, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 3, 4, ANIM_TARGET, 1 waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 waitforvisualfinish @@ -585,7 +587,7 @@ Move_TACKLE: setalpha 12, 8 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W004, SOUND_PAN_TARGET waitforvisualfinish @@ -603,7 +605,7 @@ Move_BODY_SLAM: delay 11 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 26, 0, 0, 5 delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, ANIM_TARGET, 0 loopsewithpan SE_W025B, SOUND_PAN_TARGET, 10, 2 delay 1 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -28, 0, 0, 3 @@ -660,25 +662,25 @@ Move_FLAME_WHEEL: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET - createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 0 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 0 playsewithpan SE_W172, SOUND_PAN_ATTACKER delay 2 - createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 4 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 4 playsewithpan SE_W172, SOUND_PAN_ATTACKER delay 2 - createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 8 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 8 playsewithpan SE_W172, SOUND_PAN_ATTACKER delay 2 - createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 12 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 12 playsewithpan SE_W172, SOUND_PAN_ATTACKER delay 2 - createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 16 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 16 playsewithpan SE_W172, SOUND_PAN_ATTACKER delay 2 - createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 20 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 20 playsewithpan SE_W172, SOUND_PAN_ATTACKER delay 2 - createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 24 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 24 playsewithpan SE_W172, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 6 @@ -694,7 +696,7 @@ Move_FLAME_WHEEL: end FlameWheel1: @ Unused - createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 50 + createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 50 delay 4 return @@ -710,17 +712,17 @@ Move_PIN_MISSILE: createsprite gPinMissileSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, 8, 8, 20, -40 delay 4 playsewithpan SE_W030, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -8, -8, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -8, -8, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 delay 9 createsprite gPinMissileSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, 0, 0, 20, -32 delay 4 playsewithpan SE_W030, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 8, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 8, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 delay 14 playsewithpan SE_W030, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -739,17 +741,17 @@ Move_ICICLE_SPEAR: createsprite gIcicleSpearSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, 8, 8, 20, -40 delay 4 playsewithpan SE_W030, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -8, -8, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -8, -8, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 delay 9 createsprite gIcicleSpearSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, 0, 0, 20, -32 delay 4 playsewithpan SE_W030, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 8, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 8, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 delay 14 playsewithpan SE_W030, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -763,7 +765,7 @@ Move_TAKE_DOWN: createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 40, 10 delay 35 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, ANIM_TARGET, 0 playsewithpan SE_W025B, SOUND_PAN_TARGET delay 1 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -16, 0, 0, 4 @@ -794,7 +796,7 @@ Move_DOUBLE_EDGE: delay 3 waitforvisualfinish playsewithpan SE_W025B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, ANIM_TARGET, 0 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -32, 0, 0, 3 waitforvisualfinish createvisualtask AminTask_DipMonSpriteToSide, 2, 8, -256, 0, 0 @@ -822,7 +824,7 @@ Move_POISON_STING: playsewithpan SE_W013B, SOUND_PAN_ATTACKER createsprite gLinearStingerSpriteTemplate, ANIM_TARGET, 2, 20, 0, -8, 0, 20 waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 5, 1 playsewithpan SE_W030, SOUND_PAN_TARGET waitforvisualfinish @@ -854,34 +856,34 @@ Move_TWINEEDLE: Move_FIRE_BLAST: loadspritegfx ANIM_TAG_SMALL_EMBER - createsoundtask sub_8158B30, 144, 145 + createsoundtask sub_8158B30, SE_W172, SE_W172B call FireBlastRing call FireBlastRing call FireBlastRing delay 24 - createvisualtask sub_8116620, 10, 1, 3, 0, 8, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 3, 0, 8, RGB_BLACK waitforvisualfinish delay 19 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 20, 1 - call FireBlast2 + call FireBlastCross delay 3 - call FireBlast2 + call FireBlastCross delay 3 - call FireBlast2 + call FireBlastCross delay 3 - call FireBlast2 + call FireBlastCross delay 3 - call FireBlast2 + call FireBlastCross delay 3 - call FireBlast2 + call FireBlastCross delay 3 - call FireBlast2 + call FireBlastCross delay 3 - call FireBlast2 + call FireBlastCross delay 3 - call FireBlast2 + call FireBlastCross waitforvisualfinish - createvisualtask sub_8116620, 10, 1, 2, 8, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 2, 8, 0, RGB_BLACK waitforvisualfinish end FireBlastRing: @@ -892,7 +894,7 @@ FireBlastRing: createsprite gFireBlastRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 204 delay 5 return -FireBlast2: +FireBlastCross: createsprite gFireBlastCrossSpriteTemplate, ANIM_TARGET, 2, 0, 0, 10, 0, -2 createsprite gFireBlastCrossSpriteTemplate, ANIM_TARGET, 2, 0, 0, 13, -2, 0 createsprite gFireBlastCrossSpriteTemplate, ANIM_TARGET, 2, 0, 0, 13, 2, 0 @@ -925,13 +927,13 @@ Move_EMBER: createsprite gEmberSpriteTemplate, ANIM_TARGET, 2, 20, 0, 16, 24, 20, 1 delay 16 playsewithpan SE_W172, SOUND_PAN_TARGET - call Ember1 - call Ember1 - call Ember1 + call EmberFireHit + call EmberFireHit + call EmberFireHit end -Ember1: - createsprite gEmberFlareSpriteTemplate, ANIM_TARGET, 2, -24, 24, 24, 24, 20, 1, 1 +EmberFireHit: + createsprite gEmberFlareSpriteTemplate, ANIM_TARGET, 2, -24, 24, 24, 24, 20, ANIM_TARGET, 1 delay 4 return @@ -944,12 +946,12 @@ Move_MEGA_PUNCH: setalpha 12, 8 playsewithpan SE_W025, SOUND_PAN_TARGET createsprite gMegaPunchKickSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 50 - createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 7, RGB_WHITE delay 50 call SetImpactBackground - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1 - createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 0, RGB_WHITE createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -987,13 +989,13 @@ Move_MEGA_KICK: setalpha 12, 8 playsewithpan SE_W025, SOUND_PAN_TARGET createsprite gMegaPunchKickSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 50 - createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 7, RGB_WHITE delay 50 playsewithpan SE_W025B, SOUND_PAN_TARGET call SetImpactBackground - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1 - createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 0, RGB_WHITE createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 waitforvisualfinish clearmonbg ANIM_TARGET @@ -1017,11 +1019,11 @@ CometPunchContinue: blendoff end CometPunchLeft: - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, -8, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, -8, ANIM_TARGET, 2 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, -8, 0, 8, 1, 0 goto CometPunchContinue CometPunchRight: - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, -8, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, -8, ANIM_TARGET, 2 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 8, 0, 8, 1, 0 goto CometPunchContinue @@ -1046,28 +1048,28 @@ SonicBoom1: delay 4 return SonicBoom2: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 2 delay 4 return Move_THUNDER_SHOCK: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 - createvisualtask sub_8116620, 10, 1, 0, 0, 6, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 0, 6, RGB_BLACK waitforvisualfinish delay 10 createvisualtask sub_810A7DC, 5, 0, -44, 0 playsewithpan SE_W085, SOUND_PAN_TARGET delay 9 - createvisualtask sub_8116620, 10, 4, 0, 0, 13, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 4, 0, 0, 13, RGB_BLACK waitforvisualfinish - createvisualtask sub_8116620, 10, 4, 0, 13, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 4, 0, 13, 0, RGB_BLACK waitforvisualfinish delay 20 call ElectricityEffect waitforvisualfinish delay 20 - createvisualtask sub_8116620, 10, 1, 0, 6, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 6, 0, RGB_BLACK waitforvisualfinish end @@ -1075,7 +1077,7 @@ Move_THUNDERBOLT: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SHOCK_3 loadspritegfx ANIM_TAG_SPARK_2 - createvisualtask sub_8116620, 10, 1, 0, 0, 6, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 0, 6, RGB_BLACK waitforvisualfinish delay 10 createvisualtask sub_810A7DC, 5, 24, -52, 0 @@ -1087,9 +1089,9 @@ Move_THUNDERBOLT: createvisualtask sub_810A7DC, 5, 0, -60, 1 playsewithpan SE_W085, SOUND_PAN_TARGET delay 9 - createvisualtask sub_8116620, 10, 4, 0, 0, 13, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 4, 0, 0, 13, RGB_BLACK waitforvisualfinish - createvisualtask sub_8116620, 10, 4, 0, 13, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 4, 0, 13, 0, RGB_BLACK waitforvisualfinish delay 20 createsprite gBattleAnimSpriteTemplate_85957E0, ANIM_TARGET, 3, 44, 0, 0, 3 @@ -1103,20 +1105,20 @@ Move_THUNDERBOLT: createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 16, 44, 224, 40, 2, -32765 playsewithpan SE_W063, SOUND_PAN_TARGET delay 0 - createvisualtask sub_8116620, 10, 1, 0, 2, 2, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 2, 2, RGB_BLACK delay 6 - createvisualtask sub_8116620, 10, 1, 0, 6, 6, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 6, 6, RGB_BLACK delay 6 - createvisualtask sub_8116620, 10, 1, 0, 2, 2, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 2, 2, RGB_BLACK delay 6 - createvisualtask sub_8116620, 10, 1, 0, 6, 6, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 6, 6, RGB_BLACK waitforvisualfinish delay 20 waitplaysewithpan SE_W085B, SOUND_PAN_TARGET, 19 call ElectricityEffect waitforvisualfinish delay 20 - createvisualtask sub_8116620, 10, 1, 0, 6, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 6, 0, RGB_BLACK waitforvisualfinish end @@ -1124,7 +1126,7 @@ Move_THUNDER_WAVE: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_SPARK_H - createvisualtask sub_8116620, 10, 1, 0, 0, 6, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 0, 6, RGB_BLACK waitforvisualfinish delay 10 createvisualtask sub_810A7DC, 5, 0, -48, 0 @@ -1137,7 +1139,7 @@ Move_THUNDER_WAVE: delay 4 createsprite gUnknown_08595840, ANIM_TARGET, 2, -16, 16 waitforvisualfinish - createvisualtask sub_8116620, 10, 1, 0, 6, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 6, 0, RGB_BLACK waitforvisualfinish end @@ -1153,23 +1155,23 @@ BeatUpContinue: blendoff end BeatUpLeft: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -20, -20, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -20, -20, ANIM_TARGET, 2 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, -20, -12, 8, 1, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 8, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 8, 0, ANIM_TARGET, 2 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 8, 8, 8, 1, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET goto BeatUpContinue BeatUpRight: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 12, -20, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 12, -20, ANIM_TARGET, 2 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 12, -12, 8, 1, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -12, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -12, 0, ANIM_TARGET, 2 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, -12, 8, 8, 1, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET @@ -1183,7 +1185,7 @@ Move_STOMP: playsewithpan SE_W104, SOUND_PAN_TARGET createsprite gUnknown_08595F60, ANIM_ATTACKER, 3, 0, -32, 15 delay 19 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, -8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, -8, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 9, 1 playsewithpan SE_W025B, SOUND_PAN_TARGET waitforvisualfinish @@ -1265,8 +1267,8 @@ Move_REVERSAL: playsewithpan SE_W233B, SOUND_PAN_TARGET createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_WHITE, 8, 0, 0 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 10, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 - createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 8, 1, 0 end Move_PURSUIT: @@ -1287,13 +1289,13 @@ PursuitContinue: end PursuitNormal: playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 - createvisualtask sub_80D6388, 5, 0, 1, 6, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 6, 1, 0 goto PursuitContinue PursuitOnSwitchout: playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 - createvisualtask sub_80D6388, 5, 0, 1, 6, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 6, 1, 0 goto PursuitContinue Move_SPIKE_CANNON: @@ -1347,7 +1349,7 @@ Move_PSYCH_UP: delay 4 playsewithpan SE_W060, SOUND_PAN_ATTACKER createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1 - createvisualtask sub_8116620, 9, 2, 2, 10, 0, RGB_YELLOW + createvisualtask AnimTask_BlendMonColor, 9, 2, 2, 10, 0, RGB_YELLOW delay 30 clearmonbg ANIM_ATK_PARTNER blendoff @@ -1360,32 +1362,32 @@ Move_DIZZY_PUNCH: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 - call DizzyPunch1 + call DizzyPunchLunge createsprite gFistFootSpriteTemplate, ANIM_TARGET, 5, 16, 8, 20, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 16, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 16, 0, ANIM_TARGET, 1 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, 160, -32 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, -256, -40 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, 128, -16 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, 416, -38 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, -128, -22 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, -384, -31 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, 16, 8, 160, -32 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, 16, 8, -256, -40 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, 16, 8, 128, -16 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, 16, 8, 416, -38 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, 16, 8, -128, -22 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, 16, 8, -384, -31 delay 10 - call DizzyPunch1 + call DizzyPunchLunge createsprite gFistFootSpriteTemplate, ANIM_TARGET, 5, -16, -8, 20, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -16, -16, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -16, -16, ANIM_TARGET, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, 160, -32 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, -256, -40 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, 128, -16 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, 416, -38 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, -128, -22 - createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, -384, -31 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, -16, -8, 160, -32 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, -16, -8, -256, -40 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, -16, -8, 128, -16 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, -16, -8, 416, -38 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, -16, -8, -128, -22 + createsprite gDizzyPunchDuckSpriteTemplate, ANIM_TARGET, 3, -16, -8, -384, -31 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end -DizzyPunch1: +DizzyPunchLunge: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 delay 6 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 7, 1 @@ -1402,17 +1404,17 @@ Move_FIRE_SPIN: end FireSpinEffect: - createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 28, 528, 30, 13, 50, 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 28, 528, 30, 13, 50, 1 delay 2 - createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 32, 480, 20, 16, -46, 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 32, 480, 20, 16, -46, 1 delay 2 - createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 33, 576, 20, 8, 42, 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 33, 576, 20, 8, 42, 1 delay 2 - createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 31, 400, 25, 11, -42, 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 31, 400, 25, 11, -42, 1 delay 2 - createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 28, 512, 25, 16, 46, 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 28, 512, 25, 16, 46, 1 delay 2 - createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 33, 464, 30, 15, -50, 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 33, 464, 30, 15, -50, 1 delay 2 return @@ -1456,7 +1458,7 @@ FuryCutterStrongest: Move_SELF_DESTRUCT: loadspritegfx ANIM_TAG_EXPLOSION - createvisualtask sub_8116620, 10, 2, 1, 0, 9, RGB_RED + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 0, 9, RGB_RED createvisualtask AnimTask_ShakeMon2, 5, 4, 6, 0, 38, 1 createvisualtask AnimTask_ShakeMon2, 5, 5, 6, 0, 38, 1 createvisualtask AnimTask_ShakeMon2, 5, 6, 6, 0, 38, 1 @@ -1465,7 +1467,7 @@ Move_SELF_DESTRUCT: call SelfDestruct1 call SelfDestruct1 waitforvisualfinish - createvisualtask sub_8116620, 10, 2, 1, 9, 0, RGB_RED + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 9, 0, RGB_RED end SelfDestruct1: playsewithpan SE_W120, SOUND_PAN_ATTACKER @@ -1496,7 +1498,7 @@ Move_SLAM: createsprite gSlamHitSpriteTemplate, ANIM_ATTACKER, 2, 0, 0 delay 3 playsewithpan SE_W025B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -12, 10, 0, 3 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5 delay 3 @@ -1530,7 +1532,7 @@ Move_DRILL_PECK: createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 delay 2 loopsewithpan SE_W030, SOUND_PAN_TARGET, 4, 8 - createvisualtask sub_810EB88, 5 + createvisualtask AnimTask_DrillPeckHitSplats, 5 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 waitforvisualfinish createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 @@ -1548,76 +1550,76 @@ Move_WATERFALL: createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 23, 1 delay 5 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 25, ANIM_ATTACKER delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 25, ANIM_ATTACKER delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 20, 10, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 20, 10, 25, ANIM_ATTACKER delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 25, ANIM_ATTACKER delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -10, 15, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -10, 15, 25, ANIM_ATTACKER delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 25, 20, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 25, 20, 25, ANIM_ATTACKER delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -20, 20, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -20, 20, 25, ANIM_ATTACKER delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 12, 0, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 12, 0, 25, ANIM_ATTACKER waitforvisualfinish delay 10 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 5 delay 6 - call UnderWaterAttack1 + call RisingWaterHitEffect waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -UnderWaterAttack1: +RisingWaterHitEffect: playsewithpan SE_W127, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 17, 1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 20 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 20 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 20 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 20 delay 2 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 15, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 15 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 15 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 15, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 15 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 15 delay 2 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 10 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 10 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 10 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 10 delay 2 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 5 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 5 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 5 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 5 delay 2 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 0 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 0 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 0 delay 2 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -5, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -5 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -5 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -5, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -5 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -5 delay 2 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -10 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -10 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -10 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -10 delay 2 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -15 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -15 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -15 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -15 delay 2 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -20, 1, 1 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -20 - createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -20 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -20, ANIM_TARGET, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -20 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -20 return Move_EXPLOSION: @@ -1631,9 +1633,9 @@ Move_EXPLOSION: call Explosion1 call Explosion1 waitforvisualfinish - createvisualtask sub_8116620, 10, 1, 1, 16, 16, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 1, 1, 16, 16, RGB_WHITE delay 50 - createvisualtask sub_8116620, 10, 1, 3, 16, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 1, 3, 16, 0, RGB_WHITE end Explosion1: playsewithpan SE_W153, SOUND_PAN_ATTACKER @@ -1679,14 +1681,14 @@ Move_DETECT: loadspritegfx ANIM_TAG_SPARKLE_4 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 9, RGB_BLACK waitforvisualfinish - createvisualtask sub_8116620, 10, 2, 1, 0, 9, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 0, 9, RGB_WHITE delay 18 playsewithpan SE_W197, SOUND_PAN_ATTACKER - createsprite gUnknown_0853EE84, ANIM_ATTACKER, 13, 20, -20 + createsprite gSpinningSparkleSpriteTemplate, ANIM_ATTACKER, 13, 20, -20 waitforvisualfinish delay 10 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 9, 0, RGB_BLACK - createvisualtask sub_8116620, 10, 2, 2, 9, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 2, 9, 0, RGB_WHITE waitforvisualfinish end @@ -1708,7 +1710,7 @@ Frustration_Continue: Frustration_Strongest: playsewithpan SE_W082, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1 - createvisualtask sub_8116620, 10, 2, 3, 0, 9, 31 + createvisualtask AnimTask_BlendMonColor, 10, 2, 3, 0, 9, 31 waitforvisualfinish delay 20 playsewithpan SE_W207B, SOUND_PAN_ATTACKER @@ -1721,30 +1723,30 @@ Frustration_Strongest: createvisualtask AnimTask_SwayMon, 5, 0, 16, 6144, 8, ANIM_ATTACKER delay 5 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 30, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 0 playsewithpan SE_W004, SOUND_PAN_TARGET delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 24, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 24, 8, ANIM_TARGET, 0 playsewithpan SE_W004, SOUND_PAN_TARGET delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -24, -16, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -24, -16, ANIM_TARGET, 0 playsewithpan SE_W004, SOUND_PAN_TARGET delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 4, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 4, ANIM_TARGET, 0 playsewithpan SE_W004, SOUND_PAN_TARGET delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -16, 19, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -16, 19, ANIM_TARGET, 0 playsewithpan SE_W004, SOUND_PAN_TARGET delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, -18, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, -18, ANIM_TARGET, 0 playsewithpan SE_W004, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask sub_8116620, 10, 2, 3, 9, 0, 31 + createvisualtask AnimTask_BlendMonColor, 10, 2, 3, 9, 0, 31 goto Frustration_Continue Frustration_Strong: playsewithpan SE_W082, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1 - createvisualtask sub_8116620, 10, 2, 3, 0, 9, 31 + createvisualtask AnimTask_BlendMonColor, 10, 2, 3, 0, 9, 31 waitforvisualfinish delay 20 playsewithpan SE_W207B, SOUND_PAN_ATTACKER @@ -1754,18 +1756,18 @@ Frustration_Strong: createvisualtask AnimTask_StrongFrustrationGrowAndShrink, 5 delay 7 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 8, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1 delay 14 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 12, -6, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 12, -6, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1 delay 14 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -12, -6, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -12, -6, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1 waitforvisualfinish - createvisualtask sub_8116620, 10, 2, 3, 9, 0, 31 + createvisualtask AnimTask_BlendMonColor, 10, 2, 3, 9, 0, 31 goto Frustration_Continue Frustration_Medium: playsewithpan SE_W207B, SOUND_PAN_ATTACKER @@ -1775,13 +1777,13 @@ Frustration_Medium: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 6 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 4, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 4, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 6 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -4, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -4, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 goto Frustration_Continue Frustration_Weak: @@ -1791,7 +1793,7 @@ Frustration_Weak: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 10, 2 delay 12 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 goto Frustration_Continue @@ -1846,7 +1848,7 @@ Move_VICE_GRIP: createsprite gViceGripSpriteTemplate, ANIM_ATTACKER, 2, 0 createsprite gViceGripSpriteTemplate, ANIM_ATTACKER, 2, 1 delay 9 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 5, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -1863,12 +1865,12 @@ Move_GUILLOTINE: playsewithpan SE_W011, SOUND_PAN_TARGET createsprite gGuillotineSpriteTemplate, ANIM_ATTACKER, 2, 0 createsprite gGuillotineSpriteTemplate, ANIM_ATTACKER, 2, 1 - createvisualtask sub_8116620, 10, 4, 2, 0, 16, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 16, RGB_BLACK delay 9 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 23, 1 - delay 0x2E + delay 46 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 8, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 0 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish @@ -1888,7 +1890,7 @@ Move_PAY_DAY: createsprite gCoinThrowSpriteTemplate, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152 waitforvisualfinish playsewithpan SE_W006, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, ANIM_TARGET, 2 createsprite gFallingCoinSpriteTemplate, ANIM_ATTACKER, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 waitforvisualfinish @@ -1979,7 +1981,7 @@ Move_SPARK: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 4 playsewithpan SE_W063, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish createvisualtask AnimTask_BlendCycleMonColor, 2, 4, -31, 2, 0, 6, RGB(31, 31, 22) @@ -2017,12 +2019,12 @@ Move_ATTRACT: end Move_GROWTH: - call Growth1 + call GrowthEffect waitforvisualfinish - call Growth1 + call GrowthEffect waitforvisualfinish end -Growth1: +GrowthEffect: createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 0, 2, 0, 8, RGB_WHITE playsewithpan SE_W036, SOUND_PAN_ATTACKER createvisualtask AnimTask_ScaleMonAndRestore, 5, -3, -3, 16, ANIM_ATTACKER, 0 @@ -2039,7 +2041,7 @@ Move_WHIRLWIND: delay 5 loopsewithpan SE_W104, SOUND_PAN_TARGET, 10, 4 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 15, 1 - delay 0x1D + delay 29 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_TARGET, 12, 6, 1, 5 delay 7 playsewithpan SE_W081, SOUND_PAN_TARGET @@ -2176,7 +2178,7 @@ Move_THIEF: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 delay 6 playsewithpan SE_W233, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 8, 1 waitforvisualfinish delay 20 @@ -2228,7 +2230,7 @@ Move_ICY_WIND: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_ICE_SPIKES monbg ANIM_DEF_PARTNER - createvisualtask sub_8116620, 10, 11, 4, 0, 4, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 11, 4, 0, 4, RGB_BLACK fadetobg BG_ICE waitbgfadeout playsewithpan SE_W196, 0 @@ -2239,13 +2241,13 @@ Move_ICY_WIND: delay 5 call IcyWind1 playsewithpan SE_W016B, SOUND_PAN_TARGET - delay 0x37 + delay 55 call IcyWindEffect2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER restorebg waitbgfadeout - createvisualtask sub_8116620, 10, 11, 4, 4, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 11, 4, 4, 0, RGB_BLACK waitbgfadein end IcyWind1: @@ -2395,7 +2397,7 @@ Move_ROLLING_KICK: createsprite gUnknown_08595EE0, ANIM_ATTACKER, 2, -24, 0, 48, 10, 160, 0 delay 5 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 8 @@ -2414,7 +2416,7 @@ Move_HEADBUTT: createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish end @@ -2432,7 +2434,7 @@ Move_HORN_ATTACK: createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 playsewithpan SE_W030, SOUND_PAN_TARGET waitforvisualfinish end @@ -2450,14 +2452,14 @@ FuryAttackContinue: FuryAttackRight: createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 8, 8, 10 waitforvisualfinish - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 playsewithpan SE_W030, SOUND_PAN_TARGET goto FuryAttackContinue FuryAttackLeft: createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, -8, -8, 10 waitforvisualfinish - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 playsewithpan SE_W030, SOUND_PAN_TARGET goto FuryAttackContinue @@ -2481,37 +2483,37 @@ HornDrillContinue: playse SE_BAN createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 3 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 3 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 2, 1, 3 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 2, ANIM_TARGET, 3 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, -4, 3, 1, 3 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -4, 3, ANIM_TARGET, 3 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, -8, -5, 1, 3 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -8, -5, ANIM_TARGET, 3 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 4, -12, 1, 3 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 4, -12, ANIM_TARGET, 3 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 16, 0, 1, 3 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 16, 0, ANIM_TARGET, 3 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 5, 18, 1, 3 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 5, 18, ANIM_TARGET, 3 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, -17, 12, 1, 2 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -17, 12, ANIM_TARGET, 2 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, -21, -15, 1, 2 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -21, -15, ANIM_TARGET, 2 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 8, -27, 1, 2 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 8, -27, ANIM_TARGET, 2 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 32, 0, 1, 2 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 32, 0, ANIM_TARGET, 2 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 @@ -2533,15 +2535,15 @@ Move_THRASH: loadspritegfx ANIM_TAG_HANDS_AND_FEET createvisualtask AnimTask_ThrashMoveMonHorizontal, 2 createvisualtask AnimTask_ThrashMoveMonVertical, 2 - createsprite gUnknown_08595EB0, ANIM_TARGET, 3, 1, 10, 0 + createsprite gFistFootRandomPosSpriteTemplate, ANIM_TARGET, 3, 1, 10, 0 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 7, 1 playsewithpan SE_W004, SOUND_PAN_TARGET delay 28 - createsprite gUnknown_08595EB0, ANIM_TARGET, 3, 1, 10, 1 + createsprite gFistFootRandomPosSpriteTemplate, ANIM_TARGET, 3, 1, 10, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 7, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 28 - createsprite gUnknown_08595EB0, ANIM_TARGET, 3, 1, 10, 3 + createsprite gFistFootRandomPosSpriteTemplate, ANIM_TARGET, 3, 1, 10, 3 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 8, 0, 16, 1 playsewithpan SE_W025B, SOUND_PAN_TARGET end @@ -2588,7 +2590,7 @@ Move_LOW_KICK: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 createsprite gUnknown_08595EE0, ANIM_TARGET, 2, -24, 28, 40, 8, 160, 0 delay 4 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 8, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 8, ANIM_TARGET, 2 createvisualtask AminTask_DipMonSpriteToSide, 2, 6, 384, 1, 2 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -2596,8 +2598,8 @@ Move_LOW_KICK: end Move_EARTHQUAKE: - createvisualtask sub_81152DC, 5, 5, 10, 50 - createvisualtask sub_81152DC, 5, 4, 10, 50 + createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 10, 50 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 10, 50 playsewithpan SE_W089, 0 delay 10 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 @@ -2607,23 +2609,23 @@ Move_EARTHQUAKE: Move_FISSURE: loadspritegfx ANIM_TAG_MUD_SAND - createvisualtask sub_81152DC, 3, 5, 10, 50 - createvisualtask sub_81152DC, 3, 1, 10, 50 + createvisualtask AnimTask_HorizontalShake, 3, (MAX_BATTLERS_COUNT + 1), 10, 50 + createvisualtask AnimTask_HorizontalShake, 3, ANIM_TARGET, 10, 50 playsewithpan SE_W089, SOUND_PAN_TARGET delay 8 - call Fissure1 + call FissureDirtPlumeFar delay 15 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 delay 15 - call Fissure2 + call FissureDirtPlumeClose delay 15 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 delay 15 - call Fissure1 + call FissureDirtPlumeFar delay 50 fadetobg BG_FISSURE waitbgfadeout - createvisualtask sub_8115628, 5, 1, 5, -1 + createvisualtask sub_8115628, 5, ANIM_TARGET, 5, -1 waitbgfadein delay 40 restorebg @@ -2632,19 +2634,19 @@ Move_FISSURE: waitbgfadein end -Fissure1: - createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 0, 12, -48, -16, 24 - createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 0, 16, -16, -10, 24 - createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 1, 14, -52, -18, 24 - createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 1, 12, -32, -16, 24 +FissureDirtPlumeFar: + createsprite gDirtPlumeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 12, -48, -16, 24 + createsprite gDirtPlumeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 16, -16, -10, 24 + createsprite gDirtPlumeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 14, -52, -18, 24 + createsprite gDirtPlumeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 12, -32, -16, 24 playsewithpan SE_W091, SOUND_PAN_TARGET return -Fissure2: - createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 0, 12, -24, -16, 24 - createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 0, 16, -38, -10, 24 - createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 1, 14, -20, -18, 24 - createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 1, 12, -36, -16, 24 +FissureDirtPlumeClose: + createsprite gDirtPlumeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 12, -24, -16, 24 + createsprite gDirtPlumeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 16, -38, -10, 24 + createsprite gDirtPlumeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 14, -20, -18, 24 + createsprite gDirtPlumeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 12, -36, -16, 24 playsewithpan SE_W091, SOUND_PAN_TARGET return @@ -2655,43 +2657,43 @@ DigEnd: DigSetUp: loadspritegfx ANIM_TAG_MUD_SAND loadspritegfx ANIM_TAG_DIRT_MOUND - createsprite gUnknown_08597214, ANIM_ATTACKER, 1, 0, 0, 180 - createsprite gUnknown_08597214, ANIM_ATTACKER, 1, 0, 1, 180 + createsprite gDirtMoundSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 180 + createsprite gDirtMoundSpriteTemplate, ANIM_ATTACKER, 1, 0, 1, 180 monbg_22 ANIM_ATTACKER delay 1 - createvisualtask sub_8114CBC, 2, 0 + createvisualtask AnimTask_DigDownMovement, 2, FALSE delay 6 - call DigSetUp1 - call DigSetUp1 - call DigSetUp1 - call DigSetUp1 - call DigSetUp1 + call DigThrowDirt + call DigThrowDirt + call DigThrowDirt + call DigThrowDirt + call DigThrowDirt waitforvisualfinish clearmonbg_23 ANIM_ATTACKER delay 1 - createvisualtask sub_8114CBC, 2, 1 + createvisualtask AnimTask_DigDownMovement, 2, TRUE goto DigEnd DigUnleash: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_DIRT_MOUND - createvisualtask sub_8114F14, 2, 0 + createvisualtask AnimTask_DigUpMovement, 2, FALSE waitforvisualfinish monbg ANIM_ATTACKER - createsprite gUnknown_08597214, ANIM_ATTACKER, 1, 0, 0, 48 - createsprite gUnknown_08597214, ANIM_ATTACKER, 1, 0, 1, 48 + createsprite gDirtMoundSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 48 + createsprite gDirtMoundSpriteTemplate, ANIM_ATTACKER, 1, 0, 1, 48 delay 1 - createvisualtask sub_8114F14, 2, 1 + createvisualtask AnimTask_DigUpMovement, 2, TRUE delay 16 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 playsewithpan SE_W025B, SOUND_PAN_ATTACKER clearmonbg ANIM_ATTACKER goto DigEnd -DigSetUp1: - createsprite gUnknown_085971FC, ANIM_ATTACKER, 2, 0, 0, 12, 4, -16, 18 - createsprite gUnknown_085971FC, ANIM_ATTACKER, 2, 0, 0, 16, 4, -10, 18 - createsprite gUnknown_085971FC, ANIM_ATTACKER, 2, 0, 1, 14, 4, -18, 18 - createsprite gUnknown_085971FC, ANIM_ATTACKER, 2, 0, 1, 12, 4, -16, 18 +DigThrowDirt: + createsprite gDirtPlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 12, 4, -16, 18 + createsprite gDirtPlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 16, 4, -10, 18 + createsprite gDirtPlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 14, 4, -18, 18 + createsprite gDirtPlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 12, 4, -16, 18 playsewithpan SE_W091, SOUND_PAN_ATTACKER delay 32 return @@ -2736,7 +2738,7 @@ Move_QUICK_ATTACK: playsewithpan SE_W026, SOUND_PAN_ATTACKER delay 4 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, ANIM_TARGET, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_ATK_PARTNER @@ -2758,8 +2760,8 @@ Move_RAGE: waitforvisualfinish createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 delay 4 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 - createvisualtask sub_80D6388, 2, 1, 1, 10, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, TRUE, 1, 10, 1, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_TARGET @@ -2848,7 +2850,7 @@ SkullBashAttack: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1 - createsprite gUnknown_085973E8, ANIM_TARGET, 4, 0, 0, 1, 0 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, ANIM_TARGET, 0 loopsewithpan SE_W025B, SOUND_PAN_TARGET, 8, 3 waitforvisualfinish createvisualtask AnimTask_SkullBashPosition, 2, 1 @@ -2891,7 +2893,7 @@ Move_GLARE: createvisualtask AnimTask_GlareEyeDots, 5, 0 playsewithpan SE_W060B, SOUND_PAN_ATTACKER waitforvisualfinish - createvisualtask sub_8116620, 5, 1, 0, 0, 16, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 5, 1, 0, 0, 16, RGB_BLACK waitforvisualfinish createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, -16, -8 createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 16, -8 @@ -2900,7 +2902,7 @@ Move_GLARE: delay 2 createvisualtask sub_810A094, 3, 20, 1, 0 waitforvisualfinish - createvisualtask sub_8116620, 5, 1, 0, 16, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 5, 1, 0, 16, 0, RGB_BLACK end Move_BARRAGE: @@ -2925,17 +2927,17 @@ SkyAttackSetUp: jumpretfalse SkyAttackSetUpAgainstOpponent goto SkyAttackSetUpAgainstPartner SkyAttackSetUpAgainstOpponent: - createvisualtask sub_8116620, 10, 27, 1, 0, 12, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 27, 1, 0, 12, RGB_BLACK waitforvisualfinish delay 12 - createvisualtask sub_8116620, 10, 2, 1, 8, 0, RGB_BLACK - createvisualtask sub_81152DC, 5, 0, 2, 16 + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 8, 0, RGB_BLACK + createvisualtask AnimTask_HorizontalShake, 5, ANIM_ATTACKER, 2, 16 loopsewithpan SE_W287, SOUND_PAN_ATTACKER, 4, 8 - createvisualtask sub_8116620, 10, 2, 1, 0, 15, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 0, 15, RGB_WHITE delay 20 - createvisualtask sub_8116620, 10, 2, 1, 15, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 15, 0, RGB_WHITE waitforvisualfinish - createvisualtask sub_8116620, 10, 25, 1, 8, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 25, 1, 8, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -2944,13 +2946,13 @@ SkyAttackSetUpAgainstPartner: createvisualtask sub_8116664, 10, 1, 1, 0, 12, RGB_BLACK waitforvisualfinish delay 12 - createvisualtask sub_8116620, 10, 2, 1, 8, 0, RGB_BLACK - createvisualtask sub_81152DC, 5, 0, 2, 16 + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 8, 0, RGB_BLACK + createvisualtask AnimTask_HorizontalShake, 5, ANIM_ATTACKER, 2, 16 playsewithpan SE_W287, SOUND_PAN_ATTACKER delay 8 - createvisualtask sub_8116620, 10, 2, 1, 0, 15, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 0, 15, RGB_WHITE delay 20 - createvisualtask sub_8116620, 10, 2, 1, 15, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 1, 15, 0, RGB_WHITE waitforvisualfinish createvisualtask sub_8116664, 10, 4, 1, 8, 0, RGB_BLACK waitforvisualfinish @@ -2962,19 +2964,19 @@ SkyAttackUnleash: loadspritegfx ANIM_TAG_BIRD call SetSkyBg monbg ANIM_ATTACKER - createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 0, 0, 16, RGB_WHITE delay 4 createvisualtask AnimTask_AttackerFadeToInvisible, 5, 0 waitforvisualfinish - createvisualtask sub_8159244, 5, 238, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W327, SOUND_PAN_ATTACKER createsprite gUnknown_08596514, ANIM_TARGET, 2 delay 14 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1 - createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W025B, SOUND_PAN_TARGET delay 20 createvisualtask AnimTask_AttackerFadeFromInvisible, 5, 1 delay 2 - createvisualtask sub_8116620, 10, 2, 0, 15, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 0, 15, 0, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATTACKER call UnsetSkyBg @@ -2982,7 +2984,7 @@ SkyAttackUnleash: Move_FLASH: playsewithpan SE_W043, SOUND_PAN_ATTACKER - createvisualtask sub_8117494, 2 + createvisualtask AnimTask_Flash, 2 waitforvisualfinish end @@ -3051,7 +3053,7 @@ Move_STRUGGLE: createsprite gMovementWavesSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 2 loopsewithpan SE_W029, SOUND_PAN_ATTACKER, 12, 4 waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W025B, SOUND_PAN_TARGET waitforvisualfinish @@ -3099,8 +3101,8 @@ Move_FLAIL: createvisualtask AnimTask_FlailMovement, 2, ANIM_ATTACKER loopsewithpan SE_W029, SOUND_PAN_ATTACKER, 8, 2 waitforvisualfinish - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 3 - createvisualtask sub_80D6388, 2, 0, 1, 30, 1, 0 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 3 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 30, 1, 0 playsewithpan SE_W025B, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_TARGET @@ -3137,7 +3139,7 @@ MachPunchContinue: createvisualtask sub_80A8BC4, 2, 28968, 10 playsewithpan SE_W026, SOUND_PAN_ATTACKER delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0 playsewithpan SE_W004, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 @@ -3177,7 +3179,7 @@ Move_DESTINY_BOND: fadetobg BG_GHOST playsewithpan SE_W060, SOUND_PAN_ATTACKER waitbgfadein - createvisualtask sub_81123C4, 5, 0, 48 + createvisualtask AnimTask_DestinyBondWhiteShadow, 5, 0, 48 playsewithpan SE_W109, SOUND_PAN_ATTACKER delay 48 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 24, 1 @@ -3240,8 +3242,8 @@ Move_ROLLOUT: setalpha 12, 8 createvisualtask sub_8110F74, 2 waitforvisualfinish - createvisualtask sub_80D6388, 2, 0, 1, 30, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 30, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, ANIM_TARGET, 2 playsewithpan SE_W025B, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -3271,7 +3273,7 @@ Move_FALSE_SWIPE: delay 2 waitforvisualfinish createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, 1, 3 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, ANIM_TARGET, 3 playsewithpan SE_W004, SOUND_PAN_TARGET end @@ -3322,13 +3324,13 @@ Move_MAGNITUDE: MagnitudeEnd: end MagnitudeRegular: - createvisualtask sub_81152DC, 5, 5, 0, 50 - createvisualtask sub_81152DC, 5, 4, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50 loopsewithpan SE_W070, SOUND_PAN_TARGET, 8, 10 goto MagnitudeEnd MagnitudeIntense: - createvisualtask sub_81152DC, 5, 5, 0, 50 - createvisualtask sub_81152DC, 5, 4, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50 loopsewithpan SE_W070, SOUND_PAN_TARGET, 8, 10 delay 10 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 @@ -3344,8 +3346,8 @@ Move_RAPID_SPIN: createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 0 loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4 waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2 - createvisualtask sub_80D6388, 2, 0, 1, 10, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 2 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 10, 1, 0 playsewithpan SE_W003, SOUND_PAN_TARGET waitforvisualfinish delay 8 @@ -3392,7 +3394,7 @@ ExtremeSpeedContinue: waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 5, -2304, 0, 1, -1 waitbgfadein - createvisualtask AnimTask_StretchAttacker, 2 + createvisualtask AnimTask_AttackerStretchAndDisappear, 2 loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 3 waitforvisualfinish delay 1 @@ -3403,13 +3405,13 @@ ExtremeSpeedContinue: createvisualtask AnimTask_ExtremeSpeedImpact, 2 delay 2 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, -12, 3 + createsprite gExtremeSpeedHitSplatSpriteTemplate, ANIM_TARGET, 2, 1, 0, -12, 3 delay 10 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, 12, 3 + createsprite gExtremeSpeedHitSplatSpriteTemplate, ANIM_TARGET, 2, 1, 0, 12, 3 delay 10 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, 0, 3 + createsprite gExtremeSpeedHitSplatSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, 3 waitforvisualfinish createvisualtask AnimTask_SpeedDust, 2 delay 10 @@ -3462,32 +3464,32 @@ Move_HEAT_WAVE: createvisualtask AnimTask_BlendBackground, 6, 6, RGB_RED panse_1B SE_W257, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 delay 4 - createvisualtask sub_8109DBC, 5 + createvisualtask AnimTask_MoveHeatWaveTargets, 5 delay 12 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 10, 2304, 96, 1 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 10, 2304, 96, 1 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 90, 2048, 96, 1 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 90, 2048, 96, 1 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 50, 2560, 96, 1 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 50, 2560, 96, 1 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 20, 2304, 96, 1 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 20, 2304, 96, 1 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 70, 1984, 96, 1 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 70, 1984, 96, 1 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 0, 2816, 96, 1 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 0, 2816, 96, 1 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 60, 2560, 96, 1 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 60, 2560, 96, 1 end Move_HAIL: loadspritegfx ANIM_TAG_HAIL loadspritegfx ANIM_TAG_ICE_CRYSTALS - createvisualtask sub_8116620, 10, 1, 3, 0, 6, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 3, 0, 6, RGB_BLACK waitforvisualfinish - createvisualtask AnimTask_Hail1, 5 + createvisualtask AnimTask_HailStart, 5 loopsewithpan SE_W258, 0, 8, 10 waitforvisualfinish - createvisualtask sub_8116620, 10, 1, 3, 6, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 3, 6, 0, RGB_BLACK end Move_TORMENT: @@ -3659,7 +3661,7 @@ Move_SUPERPOWER: playsewithpan SE_W025, SOUND_PAN_ATTACKER delay 20 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 4, 1, 180, 1 - createvisualtask sub_8159244, 5, 234, 0 + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W089, 0 delay 40 createsprite gUnknown_08596004, ANIM_ATTACKER, 41, 200, 96, 1, 120 delay 8 @@ -3710,18 +3712,18 @@ BrickBreakNormal: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 8 delay 4 delay 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -18, -18, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -18, -18, ANIM_TARGET, 1 playsewithpan SE_W233, SOUND_PAN_TARGET delay 20 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 8 delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, 18, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, 18, ANIM_TARGET, 1 playsewithpan SE_W233, SOUND_PAN_TARGET delay 20 createvisualtask AnimTask_WindUpLunge, 2, ANIM_ATTACKER, -24, 0, 24, 10, 24, 3 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 6, RGB_BLACK delay 37 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 10, 1, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -3736,18 +3738,18 @@ BrickBreakShatteredWall: delay 4 createsprite gUnknown_08595F90, ANIM_ATTACKER, 3, 1, 0, 0, 90, 10 delay 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -18, -18, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -18, -18, ANIM_TARGET, 1 playsewithpan SE_W233, SOUND_PAN_TARGET delay 20 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 8 delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, 18, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, 18, ANIM_TARGET, 1 playsewithpan SE_W233, SOUND_PAN_TARGET delay 20 createvisualtask AnimTask_WindUpLunge, 2, ANIM_ATTACKER, -24, 0, 24, 10, 24, 3 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 6, RGB_BLACK delay 37 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 10, 1, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -3785,12 +3787,12 @@ Move_ENDEAVOR: loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 24, 2 createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(31, 21, 0), 12, 1, 2 delay 6 - createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 12, -12, 1, 2 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 12, -12, ANIM_TARGET, 2 playsewithpan SE_W003, SOUND_PAN_TARGET delay 24 - createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -12, 12, 1, 2 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -12, 12, ANIM_TARGET, 2 playsewithpan SE_W004, SOUND_PAN_TARGET end @@ -3798,22 +3800,22 @@ Move_ERUPTION: loadspritegfx ANIM_TAG_WARM_ROCK createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 2, 0, 4, RGB_RED waitforvisualfinish - createvisualtask sub_8109460, 2 + createvisualtask AnimTask_EruptionLaunchRocks, 2 waitplaysewithpan SE_W153, SOUND_PAN_ATTACKER, 60 waitforvisualfinish - createvisualtask sub_8109460, 2 + createvisualtask AnimTask_EruptionLaunchRocks, 2 waitplaysewithpan SE_W153, SOUND_PAN_ATTACKER, 60 waitforvisualfinish delay 30 - createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 200, -32, 0, 100, 0 - createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 30, -32, 16, 90, 1 - createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 150, -32, 32, 60, 2 - createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 90, -32, 48, 80, 3 - createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 110, -32, 64, 50, 0 - createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 60, -32, 80, 70, 1 + createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 200, -32, 0, 100, 0 + createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 30, -32, 16, 90, 1 + createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 150, -32, 32, 60, 2 + createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 90, -32, 48, 80, 3 + createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 110, -32, 64, 50, 0 + createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 60, -32, 80, 70, 1 delay 22 - createvisualtask sub_81152DC, 5, 5, 8, 60 - createvisualtask sub_81152DC, 5, 4, 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 8, 60 loopsewithpan SE_W088, SOUND_PAN_TARGET, 16, 12 delay 80 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 40, 31, 4, 4, 0, RGB_RED @@ -3843,7 +3845,7 @@ Move_IMPRISON: waitforvisualfinish delay 4 createsprite gUnknown_085967AC, ANIM_ATTACKER, 5, 0, 40 - createvisualtask sub_81152DC, 5, 4, 1, 10 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 1, 10 playsewithpan SE_W063, SOUND_PAN_ATTACKER clearmonbg ANIM_DEF_PARTNER call UnsetPsychicBackground @@ -3856,7 +3858,7 @@ Move_GRUDGE: fadetobg BG_GHOST playsewithpan SE_W060, SOUND_PAN_ATTACKER waitbgfadein - createvisualtask sub_8112C6C, 3 + createvisualtask AnimTask_GrudgeFlames, 3 loopsewithpan SE_W052, SOUND_PAN_ATTACKER, 16, 4 delay 10 delay 80 @@ -3918,26 +3920,26 @@ Move_LUSTER_PURGE: waitforvisualfinish createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 12, 12, RGB(0, 0, 23) waitforvisualfinish - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2 - createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W063, SOUND_PAN_TARGET delay 3 - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2 - createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W063, SOUND_PAN_TARGET delay 3 - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2 - createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W063, SOUND_PAN_TARGET delay 3 - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2 - createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W063, SOUND_PAN_TARGET delay 3 - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2 - createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W063, SOUND_PAN_TARGET delay 3 - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2 - createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W063, SOUND_PAN_TARGET waitforvisualfinish createvisualtask sub_8116664, 5, 5, 2, 16, 0, RGB_WHITEALPHA - createvisualtask sub_81152DC, 5, 1, 5, 14 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff @@ -3957,11 +3959,11 @@ Move_MIST_BALL: delay 0 playsewithpan SE_W114, 0 createvisualtask AnimTask_LoadMistTiles, 5 - createvisualtask sub_8116620, 10, 4, 3, 0, 16, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 3, 0, 16, RGB_WHITE delay 8 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 70, 0 delay 70 - createvisualtask sub_8116620, 10, 4, 2, 16, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 16, 0, RGB_WHITE end Move_FEATHER_DANCE: @@ -3970,18 +3972,18 @@ Move_FEATHER_DANCE: monbgprio_29 playsewithpan SE_W080, SOUND_PAN_TARGET delay 0 - createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 64, 2, 104, 11304, 32, 1 + createsprite gFallingFeatherSpriteTemplate, ANIM_TARGET, 0, 0, -16, 64, 2, 104, 11304, 32, 1 delay 6 - createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 32, 2, 104, 11304, 32, 1 - createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 0, 2, 104, 11304, 32, 1 + createsprite gFallingFeatherSpriteTemplate, ANIM_TARGET, 0, 0, -16, 32, 2, 104, 11304, 32, 1 + createsprite gFallingFeatherSpriteTemplate, ANIM_TARGET, 0, 0, -16, 0, 2, 104, 11304, 32, 1 delay 6 - createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 224, 2, 104, 11304, 32, 1 - createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 128, 2, 104, 11304, 32, 1 + createsprite gFallingFeatherSpriteTemplate, ANIM_TARGET, 0, 0, -16, 224, 2, 104, 11304, 32, 1 + createsprite gFallingFeatherSpriteTemplate, ANIM_TARGET, 0, 0, -16, 128, 2, 104, 11304, 32, 1 delay 6 - createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 192, 2, 104, 11304, 32, 1 - createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 160, 2, 104, 11304, 32, 1 + createsprite gFallingFeatherSpriteTemplate, ANIM_TARGET, 0, 0, -16, 192, 2, 104, 11304, 32, 1 + createsprite gFallingFeatherSpriteTemplate, ANIM_TARGET, 0, 0, -16, 160, 2, 104, 11304, 32, 1 delay 6 - createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 96, 2, 104, 11304, 32, 1 + createsprite gFallingFeatherSpriteTemplate, ANIM_TARGET, 0, 0, -16, 96, 2, 104, 11304, 32, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end @@ -4083,7 +4085,7 @@ Move_NEEDLE_ARM: createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 16, 16, 16 waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0, -24, 10 @@ -4114,12 +4116,12 @@ Move_CRUSH_CLAW: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 delay 4 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 18, 1 - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, -10, 0 - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, 10, 0 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, -10, 0 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, 10, 0 playsewithpan SE_W013, SOUND_PAN_TARGET delay 12 - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, -10, 1 - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, 10, 1 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, -10, 1 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, 10, 1 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish blendoff @@ -4174,17 +4176,17 @@ Move_FAKE_TEARS: createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 1 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 12, 4 delay 8 - createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 0 - createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 1 + createsprite gTearDropSpriteTemplate, ANIM_ATTACKER, 2, 0, 0 + createsprite gTearDropSpriteTemplate, ANIM_ATTACKER, 2, 0, 1 delay 8 - createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 2 - createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 3 + createsprite gTearDropSpriteTemplate, ANIM_ATTACKER, 2, 0, 2 + createsprite gTearDropSpriteTemplate, ANIM_ATTACKER, 2, 0, 3 delay 8 - createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 0 - createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 1 + createsprite gTearDropSpriteTemplate, ANIM_ATTACKER, 2, 0, 0 + createsprite gTearDropSpriteTemplate, ANIM_ATTACKER, 2, 0, 1 delay 8 - createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 2 - createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 3 + createsprite gTearDropSpriteTemplate, ANIM_ATTACKER, 2, 0, 2 + createsprite gTearDropSpriteTemplate, ANIM_ATTACKER, 2, 0, 3 waitforvisualfinish end @@ -4307,7 +4309,7 @@ Move_SHADOW_PUNCH: createvisualtask sub_80A8BC4, 2, 0, 13 playsewithpan SE_W026, SOUND_PAN_ATTACKER delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0 playsewithpan SE_W004, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 @@ -4323,15 +4325,15 @@ Move_EXTRASENSORY: monbg ANIM_DEF_PARTNER setalpha 12, 8 createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1 - createvisualtask sub_810FE14, 5, 0 + createvisualtask AnimTask_ExtrasensoryDistortion, 5, 0 playsewithpan SE_W020, SOUND_PAN_TARGET waitforvisualfinish createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1 - createvisualtask sub_810FE14, 5, 1 + createvisualtask AnimTask_ExtrasensoryDistortion, 5, 1 playsewithpan SE_W020, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask sub_8110034, 5, 0 - createvisualtask sub_810FE14, 5, 2 + createvisualtask AnimTask_TransparentCloneGrowAndShrink, 5, ANIM_ATTACKER + createvisualtask AnimTask_ExtrasensoryDistortion, 5, 2 playsewithpan SE_W043, SOUND_PAN_ATTACKER waitforvisualfinish blendoff @@ -4374,7 +4376,7 @@ Move_HOWL: createvisualtask AnimTask_DeepInhale, 2, 0 delay 12 call RoarEffect - createvisualtask sub_8158D8C, 2, 0, 3 + createvisualtask sub_8158D8C, 2, ANIM_ATTACKER, 3 waitforvisualfinish delay 30 end @@ -4412,7 +4414,7 @@ Move_VOLT_TACKLE: loadspritegfx ANIM_TAG_ELECTRICITY monbg ANIM_ATTACKER setalpha 12, 8 - createvisualtask sub_8116620, 10, 1, 0, 0, 8, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 0, 8, RGB_BLACK waitforvisualfinish createsprite gUnknown_085959A4, ANIM_ATTACKER, 1 playsewithpan SE_W268, SOUND_PAN_ATTACKER @@ -4449,7 +4451,7 @@ Move_VOLT_TACKLE: delay 2 createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 0, -16, -16 waitforvisualfinish - createvisualtask sub_8116620, 10, 1, 0, 8, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 8, 0, RGB_BLACK waitforvisualfinish end @@ -4507,7 +4509,7 @@ Move_LEAF_BLADE: setalpha 12, 8 delay 12 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 18, 1 - createsprite gUnknown_085973D0, ANIM_TARGET, 2, 0, 0, 1, 36 + createsprite gCrossImpactSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 36 playsewithpan SE_W043, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_TARGET @@ -4523,12 +4525,12 @@ Move_DRAGON_DANCE: playsewithpan SE_W100, SOUND_PAN_ATTACKER delay 8 createvisualtask sub_80A7CB4, 5, 10249, 19456, 14, 0, 3 - createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 0 - createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 43 - createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 85 - createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 128 - createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 170 - createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 213 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 43 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 85 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 128 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 170 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 213 delay 30 playsewithpan SE_W100, SOUND_PAN_ATTACKER delay 30 @@ -4559,10 +4561,10 @@ Move_SHOCK_WAVE: playsewithpan SE_W161B, SOUND_PAN_TARGET waitforvisualfinish createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 6, 18, 1 - createvisualtask sub_8116620, 5, 1, 3, 16, 0, RGB_WHITE - createvisualtask sub_8116620, 5, 4, 0, 16, 16, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 5, 1, 3, 16, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 5, 4, 0, 16, 16, RGB_BLACK delay 4 - createvisualtask sub_8116620, 5, 4, 0, 0, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 5, 4, 0, 0, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff @@ -4664,7 +4666,7 @@ Move_ICE_PUNCH: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 7, RGB_BLACK - createvisualtask sub_8116620, 10, 4, 2, 0, 9, RGB(12, 26, 31) + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 9, RGB(12, 26, 31) delay 20 playsewithpan SE_W081, SOUND_PAN_TARGET createsprite gUnknown_08595AE8, ANIM_ATTACKER, 2, 0 @@ -4678,7 +4680,7 @@ Move_ICE_PUNCH: createsprite gUnknown_08595AD0, ANIM_ATTACKER, 2, 224 delay 17 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 4, 0, -10, 8, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1 playsewithpan SE_W004, SOUND_PAN_TARGET delay 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 3, 1 @@ -4686,7 +4688,7 @@ Move_ICE_PUNCH: delay 15 call IceCrystalEffectShort delay 5 - createvisualtask sub_8116620, 10, 4, 2, 9, 0, RGB(12, 26, 31) + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 9, 0, RGB(12, 26, 31) waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7, 0, RGB_BLACK waitforvisualfinish @@ -4767,7 +4769,7 @@ Move_THUNDER: waitbgfadein createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK delay 16 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 playsewithpan SE_W086, SOUND_PAN_TARGET delay 1 createsprite gUnknown_085956C0, ANIM_TARGET, 2, 16, -36 @@ -4784,7 +4786,7 @@ Move_THUNDER: createsprite gUnknown_085956C0, ANIM_TARGET, 6, -16, 16 playsewithpan SE_W086, SOUND_PAN_TARGET delay 5 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 createsprite gUnknown_085956C0, ANIM_TARGET, 2, 24, -32 delay 1 @@ -4792,9 +4794,9 @@ Move_THUNDER: delay 1 createsprite gUnknown_085956C0, ANIM_TARGET, 2, 24, 16 delay 30 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 5 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, -32 playsewithpan SE_W161B, SOUND_PAN_TARGET @@ -4803,11 +4805,11 @@ Move_THUNDER: delay 1 createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, 16 delay 10 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 createvisualtask sub_810A094, 2, 30, 3, 1, 0 delay 2 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_TARGET, 2, 1, 2, 16, 0, RGB_BLACK waitforvisualfinish @@ -4827,9 +4829,9 @@ Move_THUNDER_PUNCH: waitforvisualfinish playsewithpan SE_W004, SOUND_PAN_TARGET createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 delay 1 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, -48 delay 1 @@ -4838,10 +4840,10 @@ Move_THUNDER_PUNCH: createsprite gUnknown_085956C0, ANIM_ATTACKER, 2, 0, 16 delay 1 playsewithpan SE_W161B, SOUND_PAN_TARGET - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 delay 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_BLACK delay 20 @@ -4866,12 +4868,12 @@ Move_SACRED_FIRE: delay 1 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 20, 10, 50, 5, 1, 1 delay 1 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 50, 5, 0, 1 delay 1 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -20, 10, 50, 5, -1, 1 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 waitforvisualfinish playsewithpan SE_W221B, SOUND_PAN_TARGET @@ -4883,10 +4885,10 @@ Move_SACRED_FIRE: playsewithpan SE_W221B, SOUND_PAN_TARGET createsprite gUnknown_085953F8, ANIM_TARGET, 2, 16, 0, 80, 16, 0, 1 delay 1 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 waitforvisualfinish - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 1 playsewithpan SE_W172B, SOUND_PAN_TARGET createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, -1, 0 @@ -4925,31 +4927,31 @@ Move_DRAGON_BREATH: monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET loopsewithpan SE_W172, SOUND_PAN_ATTACKER, 7, 7 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createvisualtask sub_8116620, 10, 4, 1, 0, 9, RGB_RED - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createvisualtask AnimTask_BlendMonColor, 10, 4, 1, 0, 9, RGB_RED + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 21, 1 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 delay 2 - createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 waitforvisualfinish - createvisualtask sub_8116620, 10, 4, 1, 9, 0, RGB_RED + createvisualtask AnimTask_BlendMonColor, 10, 4, 1, 9, 0, RGB_RED waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end @@ -4959,7 +4961,7 @@ Move_ROAR: monbg ANIM_ATTACKER monbgprio_28 ANIM_ATTACKER setalpha 8, 8 - createvisualtask sub_8158E9C, 2, 0, 2 + createvisualtask sub_8158E9C, 2, ANIM_ATTACKER, 2 createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1 call RoarEffect delay 20 @@ -4968,7 +4970,7 @@ Move_ROAR: clearmonbg ANIM_ATTACKER blendoff waitforvisualfinish - createvisualtask sub_8159078, 5 + createvisualtask SoundTask_WaitForCry, 5 waitforvisualfinish end @@ -4984,13 +4986,13 @@ RoarEffect: Move_GROWL: loadspritegfx ANIM_TAG_NOISE_LINE - createvisualtask sub_8158E9C, 2, 0, 255 + createvisualtask sub_8158E9C, 2, ANIM_ATTACKER, 255 call RoarEffect delay 10 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 9, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 9, 1 waitforvisualfinish - createvisualtask sub_8159078, 5 + createvisualtask SoundTask_WaitForCry, 5 waitforvisualfinish end @@ -5163,7 +5165,7 @@ Move_FAINT_ATTACK: monbg ANIM_TARGET delay 1 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 9, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -5240,25 +5242,25 @@ Move_DRAGON_RAGE: waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_TARGET, 2, 0, 15, 0, 0, 4 waitforvisualfinish - createsprite gUnknown_08596F80, ANIM_TARGET, 2, 30, 15, 0, 10, 10 + createsprite gDragonRageFireSpitSpriteTemplate, ANIM_TARGET, 2, 30, 15, 0, 10, 10 waitforvisualfinish loopsewithpan SE_W172B, SOUND_PAN_TARGET, 11, 3 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 25, 1 - createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, 5, 0 + createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, 5, 0 delay 1 - createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, -10, -15 + createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, -10, -15 delay 1 - createsprite gUnknown_08596F28, ANIM_TARGET, 2, 1, 0, 25 + createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 25 delay 1 - createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, 15, 5 + createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, 15, 5 delay 1 - createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, -25, 0 + createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, -25, 0 delay 1 - createsprite gUnknown_08596F28, ANIM_TARGET, 2, 1, 30, 30 + createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 2, 1, 30, 30 delay 1 - createsprite gUnknown_08596F28, ANIM_TARGET, 2, 1, -27, 25 + createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 2, 1, -27, 25 delay 1 - createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, 0, 8 + createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, 0, 8 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_TARGET, 66, 0, 0, 4 waitforvisualfinish @@ -5267,14 +5269,14 @@ Move_DRAGON_RAGE: Move_RAIN_DANCE: loadspritegfx ANIM_TAG_RAIN_DROPS playsewithpan SE_W240, SOUND_PAN_ATTACKER - createvisualtask sub_8116620, 10, 0x781, 2, 0, 4, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 0x781, 2, 0, 4, RGB_BLACK waitforvisualfinish createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 120 createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 120 delay 120 delay 30 waitforvisualfinish - createvisualtask sub_8116620, 10, 0x781, 2, 4, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 0x781, 2, 4, 0, RGB_BLACK waitforvisualfinish end @@ -5287,7 +5289,7 @@ Move_BITE: createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0, -32, 0, 0, 819, 10 createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 4, 0, -819, 10 delay 10 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 7, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -5306,14 +5308,14 @@ Move_CRUNCH: createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, -32, -32, 1, 819, 819, 10 createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 32, 32, 5, -819, -819, 10 delay 10 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 7, 5, 2 waitforvisualfinish playsewithpan SE_W044, SOUND_PAN_TARGET createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 32, -32, 7, -819, 819, 10 createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, -32, 32, 3, 819, -819, 10 delay 10 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 8, 4, 2 waitforvisualfinish clearmonbg ANIM_TARGET @@ -5332,7 +5334,7 @@ Move_CLAMP: createsprite gClampJawSpriteTemplate, ANIM_ATTACKER, 2, -32, 0, 2, 819, 0, 10 createsprite gClampJawSpriteTemplate, ANIM_ATTACKER, 2, 32, 0, 6, -819, 0, 10 delay 10 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -5480,7 +5482,7 @@ SolarBeamUnleash: delay 4 createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1 delay 4 - createvisualtask sub_8116620, 10, 4, 1, 0, 10, RGB(25, 31, 0) + createvisualtask AnimTask_BlendMonColor, 10, 4, 1, 0, 10, RGB(25, 31, 0) createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2 delay 4 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 65, 1 @@ -5495,7 +5497,7 @@ SolarBeamUnleash: call SolarBeamUnleash1 call SolarBeamUnleash1 waitforvisualfinish - createvisualtask sub_8116620, 10, 4, 1, 10, 0, RGB(25, 31, 0) + createvisualtask AnimTask_BlendMonColor, 10, 4, 1, 10, 0, RGB(25, 31, 0) call UnsetSolarbeamBg goto SolarBeamEnd SolarBeamUnleash1: @@ -5610,42 +5612,42 @@ Move_HYDRO_PUMP: createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1 delay 6 panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createvisualtask sub_81076C8, 5, 100 - call HydroPump1 - call HydroPump1 - call HydroPump1 + createvisualtask AnimTask_StartSinAnimTimer, 5, 100 + call HydroPumpBeams + call HydroPumpBeams + call HydroPumpBeams createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1 - call HydroPump2 - call HydroPump1 - call HydroPump1 - call HydroPump2 - call HydroPump1 - call HydroPump1 - call HydroPump2 - call HydroPump1 - call HydroPump1 - call HydroPump2 - call HydroPump1 - call HydroPump1 - call HydroPump2 + call HydroPumpHitSplats + call HydroPumpBeams + call HydroPumpBeams + call HydroPumpHitSplats + call HydroPumpBeams + call HydroPumpBeams + call HydroPumpHitSplats + call HydroPumpBeams + call HydroPumpBeams + call HydroPumpHitSplats + call HydroPumpBeams + call HydroPumpBeams + call HydroPumpHitSplats delay 1 delay 1 - call HydroPump2 + call HydroPumpHitSplats waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -HydroPump1: - createsprite gUnknown_085950E4, ANIM_ATTACKER, 3, 10, 10, 0, 16 - createsprite gUnknown_085950E4, ANIM_ATTACKER, 3, 10, 10, 0, -16 +HydroPumpBeams: + createsprite gHydroPumpOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, 16 + createsprite gHydroPumpOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, -16 delay 1 - createsprite gUnknown_085950E4, ANIM_ATTACKER, 3, 10, 10, 0, 16 - createsprite gUnknown_085950E4, ANIM_ATTACKER, 3, 10, 10, 0, -16 + createsprite gHydroPumpOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, 16 + createsprite gHydroPumpOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, -16 delay 1 return -HydroPump2: - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 15, 1, 1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, -15, 1, 1 +HydroPumpHitSplats : + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 15, ANIM_TARGET, 1 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, -15, ANIM_TARGET, 1 return Move_SIGNAL_BEAM: @@ -5655,7 +5657,7 @@ Move_SIGNAL_BEAM: createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 25, 1 delay 6 panse_1B SE_W062, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +1, 0 - createvisualtask sub_81076C8, 5, 100 + createvisualtask AnimTask_StartSinAnimTimer, 5, 100 call SignalBeam1 call SignalBeam1 call SignalBeam1 @@ -5699,7 +5701,7 @@ Move_ABSORB: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB(13, 31, 12) waitforvisualfinish playsewithpan SE_W071, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 delay 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 waitforvisualfinish @@ -5752,7 +5754,7 @@ Move_MEGA_DRAIN: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 8, RGB(13, 31, 12) waitforvisualfinish playsewithpan SE_W071, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 1 delay 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 waitforvisualfinish @@ -5813,12 +5815,12 @@ Move_GIGA_DRAIN: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 12, RGB(13, 31, 12) waitforvisualfinish playsewithpan SE_W071, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 delay 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 waitforvisualfinish delay 3 - call GigaDrainEffect + call GigaDrainAbsorbEffect waitforvisualfinish delay 15 call HealingEffect @@ -5829,7 +5831,7 @@ Move_GIGA_DRAIN: blendoff end -GigaDrainEffect: +GigaDrainAbsorbEffect: playsewithpan SE_W202, SOUND_PAN_TARGET createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -40, 35 @@ -5884,7 +5886,7 @@ Move_LEECH_LIFE: delay 1 createsprite gUnknown_085969C8, ANIM_ATTACKER, 2, -20, 15, 12 waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 playsewithpan SE_W071, SOUND_PAN_TARGET delay 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 @@ -6037,7 +6039,7 @@ Move_BONEMERANG: createsprite gBonemerangSpriteTemplate, ANIM_ATTACKER, 2 delay 20 playsewithpan SE_W030, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 5, 1 delay 17 playsewithpan SE_W233, SOUND_PAN_ATTACKER @@ -6056,7 +6058,7 @@ Move_BONE_CLUB: playsewithpan SE_W155, SOUND_PAN_TARGET createsprite gSpinningBoneSpriteTemplate, ANIM_ATTACKER, 2, -42, -25, 0, 0, 15 delay 12 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 7, 5, 1, RGB_BLACK, 10, 0, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET @@ -6073,7 +6075,7 @@ Move_BONE_RUSH: playsewithpan SE_W155, SOUND_PAN_TARGET createsprite gSpinningBoneSpriteTemplate, ANIM_ATTACKER, 2, -42, -25, 0, 0, 15 delay 12 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 5, 1 playsewithpan SE_W030, SOUND_PAN_TARGET waitforvisualfinish @@ -6118,7 +6120,7 @@ MegahornContinue: createsprite gUnknown_08596974, ANIM_ATTACKER, 3, -42, 25, 0, 0, 6 delay 4 playsewithpan SE_W011, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -16, 4, 1, 4 waitforvisualfinish createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, -4, 1, 12, 1 @@ -6148,11 +6150,11 @@ Move_GUST: monbgprio_28 ANIM_TARGET setalpha 12, 8 playsewithpan SE_W016, SOUND_PAN_TARGET - createsprite gUnknown_08596270, ANIM_ATTACKER, 2, 0, -16 - createvisualtask sub_810DED8, 5, 1, 70 + createsprite gEllipticalGustSpriteTemplate, ANIM_ATTACKER, 2, 0, -16 + createvisualtask AnimTask_AnimateGustTornadoPalette, 5, 1, 70 waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 7, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 playsewithpan SE_W016B, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6167,14 +6169,14 @@ Move_WING_ATTACK: setalpha 12, 8 loopsewithpan SE_W017, SOUND_PAN_ATTACKER, 20, 2 createvisualtask AnimTask_TranslateMonElliptical, 2, 0, 12, 4, 1, 4 - createvisualtask sub_810DED8, 5, 1, 70 - createsprite gBattleAnimSpriteTemplate_85962A4, ANIM_ATTACKER, 2, -25, 0, 0, 0, 20 - createsprite gBattleAnimSpriteTemplate_85962A4, ANIM_ATTACKER, 2, 25, 0, 0, 0, 20 + createvisualtask AnimTask_AnimateGustTornadoPalette, 5, 1, 70 + createsprite gGustToTargetSpriteTemplate, ANIM_ATTACKER, 2, -25, 0, 0, 0, 20 + createsprite gGustToTargetSpriteTemplate, ANIM_ATTACKER, 2, 25, 0, 0, 0, 20 delay 24 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 9 delay 17 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 16, 0, 1, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 16, 0, ANIM_TARGET, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, ANIM_TARGET, 1 loopsewithpan SE_W003, SOUND_PAN_TARGET, 5, 2 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 11 @@ -6187,7 +6189,7 @@ Move_PECK: loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_W030, SOUND_PAN_TARGET createvisualtask sub_80D622C, 2, 3, -768, 1, 2 - createsprite gUnknown_085973E8, ANIM_TARGET, 3, -12, 0, 1, 3 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -12, 0, ANIM_TARGET, 3 waitforvisualfinish end @@ -6205,7 +6207,7 @@ Move_AEROBLAST: call AeroblastBeam call AeroblastBeam waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6242,7 +6244,7 @@ Move_WATER_GUN: playsewithpan SE_W145, SOUND_PAN_ATTACKER waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 8, 1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 1, 2 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, ANIM_TARGET, 2 createsprite gUnknown_08595220, ANIM_ATTACKER, 2, 0, -15, 0, 15, 55 playsewithpan SE_W152, SOUND_PAN_TARGET delay 10 @@ -6261,7 +6263,7 @@ Move_CRABHAMMER: loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 - createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, ANIM_TARGET, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 1 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB(13, 21, 31), 10, 0, 0 @@ -6273,21 +6275,21 @@ Move_CRABHAMMER: waitforvisualfinish loopsewithpan SE_W152, SOUND_PAN_TARGET, 20, 3 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 8, 1 - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 20, ANIM_TARGET delay 4 - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 20, -20, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 20, -20, 20, ANIM_TARGET delay 4 - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -15, 15, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -15, 15, 20, ANIM_TARGET delay 4 - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 20, ANIM_TARGET delay 4 - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -10, -20, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -10, -20, 20, ANIM_TARGET delay 4 - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 16, -8, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 16, -8, 20, ANIM_TARGET delay 4 - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 5, 8, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 5, 8, 20, ANIM_TARGET delay 4 - createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, 20, ANIM_TARGET waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -6307,29 +6309,29 @@ Move_FLAMETHROWER: setalpha 12, 8 createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 46, 1 delay 6 - createvisualtask sub_81076C8, 5, 100 + createvisualtask AnimTask_StartSinAnimTimer, 5, 100 panse_1B SE_W053, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - call Flamethrower1 - call Flamethrower1 - call Flamethrower1 + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 43, 1 - call Flamethrower1 - call Flamethrower1 - call Flamethrower1 - call Flamethrower1 - call Flamethrower1 - call Flamethrower1 - call Flamethrower1 - call Flamethrower1 + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames + call FlamethrowerCreateFlames waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -Flamethrower1: - createsprite gUnknown_08595158, ANIM_ATTACKER, 3, 10, 10, 0, 16 +FlamethrowerCreateFlames: + createsprite gFlamethrowerFlameSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, 16 delay 2 - createsprite gUnknown_08595158, ANIM_ATTACKER, 3, 10, 10, 0, 16 + createsprite gFlamethrowerFlameSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, 16 delay 2 return @@ -6338,19 +6340,19 @@ Move_SANDSTORM: playsewithpan SE_W201, 0 createvisualtask AnimTask_LoadSandstormBackground, 5, FALSE delay 16 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 10, 2304, 96, 0 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 10, 2304, 96, 0 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 90, 2048, 96, 0 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 90, 2048, 96, 0 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 50, 2560, 96, 0 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 50, 2560, 96, 0 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 20, 2304, 96, 0 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 20, 2304, 96, 0 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 70, 1984, 96, 0 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 70, 1984, 96, 0 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 0, 2816, 96, 0 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 0, 2816, 96, 0 delay 10 - createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 60, 2560, 96, 0 + createsprite gFlyingDirtSpriteTemplate, ANIM_ATTACKER, 40, 60, 2560, 96, 0 end Move_WHIRLPOOL: @@ -6396,16 +6398,16 @@ FlyEnd: FlySetUp: playsewithpan SE_W019, SOUND_PAN_ATTACKER - createsprite gUnknown_08596340, ANIM_ATTACKER, 2, 0, 0, 13, 336 + createsprite gFlyBallUpSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 13, 336 goto FlyEnd FlyUnleash: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W104, SOUND_PAN_ATTACKER - createsprite gUnknown_08596358, ANIM_ATTACKER, 2, 20 + createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20 delay 20 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish @@ -6432,7 +6434,7 @@ BounceUnleash: createsprite gBounceBallLandSpriteTemplate, ANIM_TARGET, 3 delay 7 playsewithpan SE_W025B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 11, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6449,7 +6451,7 @@ Move_KARATE_CHOP: createsprite gUnknown_08595E68, ANIM_ATTACKER, 2, -16, 0, 0, 0, 10, 1, 3, 0 waitforvisualfinish playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6462,12 +6464,12 @@ Move_CROSS_CHOP: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W025, SOUND_PAN_TARGET - createsprite gUnknown_08595EC8, ANIM_ATTACKER, 2, 0, 0, 0 - createsprite gUnknown_08595EC8, ANIM_ATTACKER, 2, 0, 0, 1 + createsprite gCrossChopHandSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0 + createsprite gCrossChopHandSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1 delay 40 playsewithpan SE_W013, SOUND_PAN_TARGET createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_WHITE, 10, 0, 10 - createsprite gUnknown_085973D0, ANIM_ATTACKER, 3, 0, 0, 1, 20 + createsprite gCrossImpactSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 20 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6481,10 +6483,10 @@ Move_JUMP_KICK: setalpha 12, 8 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 3 - createsprite gUnknown_08595E80, ANIM_ATTACKER, 2, -16, 8, 0, 0, 10, 1, 1, 1 + createsprite gJumpKickSpriteTemplate, ANIM_ATTACKER, 2, -16, 8, 0, 0, 10, ANIM_TARGET, 1, 1 playsewithpan SE_W026, SOUND_PAN_TARGET waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 7, 1 playsewithpan SE_W004, SOUND_PAN_TARGET waitforvisualfinish @@ -6502,10 +6504,10 @@ Move_HI_JUMP_KICK: delay 10 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 3 delay 2 - createsprite gUnknown_08595E80, ANIM_ATTACKER, 2, -16, 8, 0, 0, 10, 1, 1, 1 + createsprite gJumpKickSpriteTemplate, ANIM_ATTACKER, 2, -16, 8, 0, 0, 10, ANIM_TARGET, 1, 1 playsewithpan SE_W026, SOUND_PAN_TARGET waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -28, 0, 0, 3 delay 3 @@ -6523,7 +6525,7 @@ Move_DOUBLE_KICK: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 - createsprite gUnknown_08595EB0, ANIM_ATTACKER, 3, 1, 20, 1 + createsprite gFistFootRandomPosSpriteTemplate, ANIM_ATTACKER, 3, 1, 20, 1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -6548,19 +6550,19 @@ TripleKickContinue: TripleKickLeft: createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, -16, -8, 20, 1, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -16, -16, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -16, -16, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 goto TripleKickContinue TripleKickRight: createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 8, 8, 20, 1, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 8, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 8, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 goto TripleKickContinue TripleKickCenter: createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 20, 1, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, -8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, -8, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 goto TripleKickContinue @@ -6574,7 +6576,7 @@ Move_DYNAMIC_PUNCH: setalpha 12, 8 playsewithpan SE_W233B, SOUND_PAN_TARGET createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 0, 0, 20, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 7, 1 delay 1 waitsound @@ -6608,18 +6610,18 @@ Move_COUNTER: waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 delay 4 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -15, 18, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -15, 18, ANIM_TARGET, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 25, 1 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, -15, 18, 8, 1, 0 delay 3 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, -4, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, -4, ANIM_TARGET, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 1 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 0, -4, 8, 1, 0 delay 3 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 15, 9, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 15, 9, ANIM_TARGET, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 1 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 15, 9, 8, 1, 0 @@ -6639,7 +6641,7 @@ Move_VITAL_THROW: waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 delay 2 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 1 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -24, 0, 0, 4 @@ -6660,7 +6662,7 @@ Move_ROCK_SMASH: monbg ANIM_DEF_PARTNER setalpha 12, 8 delay 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 8, 1, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1 @@ -6693,7 +6695,7 @@ Move_SUBMISSION: waitplaysewithpan SE_W104, SOUND_PAN_ATTACKER, 60 waitplaysewithpan SE_W004, SOUND_PAN_TARGET, 70 waitplaysewithpan SE_W104, SOUND_PAN_ATTACKER, 80 - waitplaysewithpan SE_W004, SOUND_PAN_TARGET, 0x5A + waitplaysewithpan SE_W004, SOUND_PAN_TARGET, 90 createvisualtask AnimTask_TranslateMonElliptical, 2, 0, -18, 6, 6, 4 createvisualtask AnimTask_TranslateMonElliptical, 2, 1, 18, 6, 6, 4 call Submission1 @@ -6705,11 +6707,11 @@ Move_SUBMISSION: end Submission1: - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -12, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -12, ANIM_TARGET, 1 delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -12, 8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -12, 8, ANIM_TARGET, 1 delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 12, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 12, 0, ANIM_TARGET, 1 delay 8 return @@ -6717,7 +6719,7 @@ Move_SUNNY_DAY: loadspritegfx ANIM_TAG_SUNLIGHT monbg ANIM_ATK_PARTNER setalpha 13, 3 - createvisualtask sub_8116620, 10, 0x781, 1, 0, 6, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 0x781, 1, 0, 6, RGB_WHITE waitforvisualfinish panse_26 SE_W080, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +1, 0 call SunnyDay1 @@ -6725,7 +6727,7 @@ Move_SUNNY_DAY: call SunnyDay1 call SunnyDay1 waitforvisualfinish - createvisualtask sub_8116620, 10, 0x781, 1, 6, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 0x781, 1, 6, 0, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff @@ -6809,7 +6811,7 @@ Move_PETAL_DANCE: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 5 delay 3 playsewithpan SE_W025B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 6, 0, 8, 1 waitforvisualfinish delay 8 @@ -6886,7 +6888,7 @@ Move_ANCIENT_POWER: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 0, 0, 4 delay 3 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7 @@ -6939,11 +6941,11 @@ Mist1: Move_HAZE: waitforvisualfinish playsewithpan SE_W114, 0 - createvisualtask AnimTask_Haze1, 5 + createvisualtask AnimTask_HazeScrollingFog, 5 delay 30 - createvisualtask sub_8116620, 10, 0x780, 2, 0, 16, RGB_BLACK - delay 0x5A - createvisualtask sub_8116620, 10, 0x780, 1, 16, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 0x780, 2, 0, 16, RGB_BLACK + delay 90 + createvisualtask AnimTask_BlendMonColor, 10, 0x780, 1, 16, 0, RGB_BLACK end Move_FIRE_PUNCH: @@ -6952,21 +6954,21 @@ Move_FIRE_PUNCH: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 - createvisualtask sub_8116620, 10, 4, 2, 0, 9, RGB_RED - createsprite gUnknown_08595368, ANIM_TARGET, 1, 0 - createsprite gUnknown_08595368, ANIM_TARGET, 1, 64 - createsprite gUnknown_08595368, ANIM_TARGET, 1, 128 - createsprite gUnknown_08595368, ANIM_TARGET, 1, 196 + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 9, RGB_RED + createsprite gFireSpiralInwardSpriteTemplate, ANIM_TARGET, 1, 0 + createsprite gFireSpiralInwardSpriteTemplate, ANIM_TARGET, 1, 64 + createsprite gFireSpiralInwardSpriteTemplate, ANIM_TARGET, 1, 128 + createsprite gFireSpiralInwardSpriteTemplate, ANIM_TARGET, 1, 196 playsewithpan SE_W172, SOUND_PAN_TARGET waitforvisualfinish createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 0, 0, 8, 1, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 call FireSpreadEffect delay 4 playsewithpan SE_W007, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask sub_8116620, 10, 4, 0, 9, 0, RGB_RED + createvisualtask AnimTask_BlendMonColor, 10, 4, 0, 9, 0, RGB_RED waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -7015,7 +7017,7 @@ Move_DREAM_EATER: waitforvisualfinish setalpha 12, 8 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 2, 25, 1 - call DreamEaterEffect + call DreamEaterAbsorb waitforvisualfinish delay 15 call HealingEffect @@ -7025,7 +7027,7 @@ Move_DREAM_EATER: delay 1 call UnsetPsychicBackground end -DreamEaterEffect: +DreamEaterAbsorb: playsewithpan SE_W207, SOUND_PAN_TARGET createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26 createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -40, 35 @@ -7144,25 +7146,25 @@ Move_PSYBEAM: call UnsetPsychicBackground end Psybeam1: - createsprite gUnknown_0859663C, ANIM_TARGET, 2, 16, 0, 0, 0, 13, 0 + createsprite gGoldRingSpriteTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 13, 0 delay 4 return Move_HYPNOSIS: loadspritegfx ANIM_TAG_GOLD_RING call SetPsychicBackground - call Hypnosis1 - call Hypnosis1 - call Hypnosis1 + call HypnosisRings + call HypnosisRings + call HypnosisRings createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 2, 2, 0, 12, RGB(31, 18, 31) waitforvisualfinish delay 1 call UnsetPsychicBackground end -Hypnosis1: +HypnosisRings: playsewithpan SE_W048, SOUND_PAN_ATTACKER - createsprite gUnknown_0859663C, ANIM_TARGET, 2, 0, 8, 0, 8, 27, 0 - createsprite gUnknown_0859663C, ANIM_TARGET, 2, 16, -8, 0, -8, 27, 0 + createsprite gGoldRingSpriteTemplate, ANIM_TARGET, 2, 0, 8, 0, 8, 27, 0 + createsprite gGoldRingSpriteTemplate, ANIM_TARGET, 2, 16, -8, 0, -8, 27, 0 delay 6 return @@ -7170,7 +7172,7 @@ Move_PSYWAVE: loadspritegfx ANIM_TAG_BLUE_RING playsewithpan SE_W060, SOUND_PAN_ATTACKER call SetPsychicBackground - createvisualtask sub_81076C8, 5, 100 + createvisualtask AnimTask_StartSinAnimTimer, 5, 100 createsoundtask sub_8158C58, SE_W100, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10 call Psywave1 call Psywave1 @@ -7222,14 +7224,14 @@ Move_STEEL_WING: setalpha 12, 8 loopsewithpan SE_W017, SOUND_PAN_ATTACKER, 20, 2 createvisualtask AnimTask_TranslateMonElliptical, 2, 0, 12, 4, 1, 4 - createvisualtask sub_810DED8, 5, 1, 70 - createsprite gBattleAnimSpriteTemplate_85962A4, ANIM_ATTACKER, 2, -25, 0, 0, 0, 20 - createsprite gBattleAnimSpriteTemplate_85962A4, ANIM_ATTACKER, 2, 25, 0, 0, 0, 20 + createvisualtask AnimTask_AnimateGustTornadoPalette, 5, 1, 70 + createsprite gGustToTargetSpriteTemplate, ANIM_ATTACKER, 2, -25, 0, 0, 0, 20 + createsprite gGustToTargetSpriteTemplate, ANIM_ATTACKER, 2, 25, 0, 0, 0, 20 delay 24 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 9 delay 17 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 16, 0, 1, 1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 16, 0, ANIM_TARGET, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, ANIM_TARGET, 1 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 11 @@ -7247,7 +7249,7 @@ Move_IRON_TAIL: setalpha 12, 8 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -7267,7 +7269,7 @@ Move_POISON_TAIL: setalpha 12, 8 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -7286,15 +7288,15 @@ Move_METAL_CLAW: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 delay 2 playsewithpan SE_W013, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, -10, 0 - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, 10, 0 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, -10, 0 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, 10, 0 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 delay 8 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 delay 2 playsewithpan SE_W013, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, -10, 1 - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, 10, 1 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, -10, 1 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, 10, 1 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 waitforvisualfinish end @@ -7395,7 +7397,7 @@ BideUnleash: monbg ANIM_DEF_PARTNER setalpha 12, 8 loopsewithpan SE_W036, SOUND_PAN_ATTACKER, 9, 2 - createvisualtask sub_8116620, 10, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_BlendMonColor, 10, 2, 2, 0, 11, RGB_RED createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 4 @@ -7403,18 +7405,18 @@ BideUnleash: createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 12, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 16, 1 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 18, -8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 18, -8, ANIM_TARGET, 1 delay 5 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, -18, 8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, -18, 8, ANIM_TARGET, 1 delay 5 playsewithpan SE_W004, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, -8, -5, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, -8, -5, ANIM_TARGET, 1 waitforvisualfinish delay 5 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7 waitforvisualfinish - createvisualtask sub_8116620, 10, 2, 2, 11, 0, RGB_RED + createvisualtask AnimTask_BlendMonColor, 10, 2, 2, 11, 0, RGB_RED waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -7546,7 +7548,7 @@ Move_DISABLE: monbgprio_28 ANIM_TARGET setalpha 8, 8 playsewithpan SE_W197, SOUND_PAN_ATTACKER - createsprite gUnknown_0853EE84, ANIM_ATTACKER, 13, 24, -16 + createsprite gSpinningSparkleSpriteTemplate, ANIM_ATTACKER, 13, 24, -16 waitforvisualfinish createvisualtask AnimTask_GrowAndGreyscale, 5 loopsewithpan SE_W020, SOUND_PAN_TARGET, 15, 4 @@ -7636,26 +7638,26 @@ CurseGhost: createvisualtask sub_8112758, 5 waitforvisualfinish delay 20 - createsprite gUnknown_08596DD0, ANIM_ATTACKER, 2 + createsprite gCurseNailSpriteTemplate, ANIM_ATTACKER, 2 delay 60 - call CurseGhost1 + call CurseGhostShakeFromNail delay 41 - call CurseGhost1 + call CurseGhostShakeFromNail delay 41 - call CurseGhost1 + call CurseGhostShakeFromNail waitforvisualfinish clearmonbg ANIM_ATK_PARTNER delay 1 monbg ANIM_DEF_PARTNER playsewithpan SE_W171, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_8596DE8, ANIM_TARGET, 2 + createsprite gCurseGhostSpriteTemplate, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1 waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 16, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end -CurseGhost1: +CurseGhostShakeFromNail: createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 4, 0, 10, 0 playsewithpan SE_W020, SOUND_PAN_ATTACKER return @@ -7668,7 +7670,7 @@ CurseStats: end CurseStats1: playsewithpan SE_W082, SOUND_PAN_ATTACKER - createvisualtask sub_8116B14, 5 + createvisualtask AnimTask_DrawFallingWhiteLinesOnAttacker, 5 createvisualtask AnimTask_BlendCycleMonColor, 5, 2, 4, 2, 0, 10, RGB_RED return @@ -7699,30 +7701,30 @@ Move_HEAL_BELL: loadspritegfx ANIM_TAG_BELL loadspritegfx ANIM_TAG_MUSIC_NOTES_2 loadspritegfx ANIM_TAG_THIN_RING - createvisualtask sub_8116620, 10, 10, 0, 0, 10, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 10, 0, 0, 10, RGB_WHITE waitforvisualfinish - createvisualtask sub_8105CB4, 5 + createvisualtask AnimTask_LoadMusicNotesPal, 5 createsprite gBellSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 0, 1 delay 12 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 48, -18, 35, 0, 0 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -48, 20, 30, 1, 1 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -38, -29, 30, 2, 2 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 36, 18, 30, 3, 3 - call HealBell1 - delay 0x21 + call HealBellRing + delay 33 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 19, 26, 35, 4, 4 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -34, -12, 30, 5, 5 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 41, -20, 34, 6, 2 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -15, 26, 32, 7, 0 - call HealBell1 - delay 0x21 + call HealBellRing + delay 33 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -48, 18, 31, 0, 2 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 48, -20, 30, 2, 5 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 38, 29, 33, 4, 3 createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -36, -18, 30, 6, 1 - call HealBell1 + call HealBellRing waitforvisualfinish - createvisualtask sub_8105D60, 5 + createvisualtask AnimTask_FreeMusicNotesPal, 5 waitforvisualfinish unloadspritegfx ANIM_TAG_BELL unloadspritegfx ANIM_TAG_MUSIC_NOTES_2 @@ -7737,12 +7739,12 @@ Move_HEAL_BELL: loadspritegfx ANIM_TAG_THIN_RING playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER createvisualtask sub_8116664, 10, 4, 3, 10, 0, RGB(12, 24, 30) - createvisualtask sub_8116620, 10, 10, 3, 10, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 10, 3, 10, 0, RGB_WHITE createsprite gBlendThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 16, 0, 0, 0, 1 end -HealBell1: +HealBellRing: createvisualtask sub_8116664, 10, 4, 3, 8, 0, RGB(12, 24, 30) - createvisualtask sub_8116620, 10, 10, 3, 2, 10, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 10, 3, 2, 10, RGB_WHITE createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 0, 1 playsewithpan SE_W215, SOUND_PAN_ATTACKER return @@ -8045,7 +8047,7 @@ Move_TRI_ATTACK: createvisualtask sub_810A094, 2, 20, 3, 1, 1 waitforvisualfinish loadspritegfx ANIM_TAG_LIGHTNING - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 playsewithpan SE_W161B, SOUND_PAN_TARGET createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, -48 delay 1 @@ -8055,7 +8057,7 @@ Move_TRI_ATTACK: delay 20 createvisualtask sub_810A094, 2, 20, 3, 1, 0 delay 2 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 waitforvisualfinish loadspritegfx ANIM_TAG_ICE_CRYSTALS call IceCrystalEffectShort @@ -8098,7 +8100,7 @@ Move_ENCORE: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_TAG_HAND createvisualtask AnimTask_CreateSpotlight, 2 - createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0 + createvisualtask AnimTask_HardwarePaletteFade, 2, 248, 3, 0, 10, 0 waitforvisualfinish createsprite gSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8 createsprite gClappingHandSpriteTemplate, ANIM_ATTACKER, 2, -2, 0, 0, 0, 9 @@ -8106,10 +8108,10 @@ Move_ENCORE: createsprite gClappingHand2SpriteTemplate, ANIM_ATTACKER, 3, -2, 0, 0, 0, 9 createsprite gClappingHand2SpriteTemplate, ANIM_ATTACKER, 3, 2, 0, 1, 0, 9 delay 16 - createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W227B, SOUND_PAN_TARGET createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, ANIM_TARGET waitforvisualfinish - createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1 + createvisualtask AnimTask_HardwarePaletteFade, 2, 248, 3, 10, 0, 1 waitforvisualfinish createvisualtask AnimTask_RemoveSpotlight, 2 end @@ -8209,12 +8211,12 @@ Move_SPIT_UP: jumpifmoveturn 3, SpitUpStrongest SpitUpContinue: delay 5 - createvisualtask sub_80D6388, 2, 0, 1, 8, 1, 0 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 8, 1, 0 playsewithpan SE_W003, SOUND_PAN_TARGET - createsprite gUnknown_085973E8, ANIM_TARGET, 3, -12, 10, 1, 1 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -12, 10, ANIM_TARGET, 1 delay 5 playsewithpan SE_W003, SOUND_PAN_TARGET - createsprite gUnknown_085973E8, ANIM_TARGET, 3, 12, -10, 1, 1 + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 12, -10, ANIM_TARGET, 1 waitforvisualfinish end SpitUpStrong: @@ -8284,7 +8286,7 @@ Move_MORNING_SUN: loadspritegfx ANIM_TAG_BLUE_STAR createvisualtask AnimTask_MorningSunLightBeam, 5 delay 8 - createvisualtask sub_8116620, 10, 0x781, 8, 0, 12, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 0x781, 8, 0, 12, RGB_WHITE delay 14 call MorningSun1 call MorningSun1 @@ -8301,7 +8303,7 @@ Move_MORNING_SUN: call MorningSun1 call MorningSun1 call MorningSun1 - createvisualtask sub_8116620, 10, 0x781, 3, 12, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 0x781, 3, 12, 0, RGB_WHITE waitforvisualfinish waitsound call HealingEffect @@ -8361,39 +8363,39 @@ Move_HYPER_BEAM: createsoundtask sub_8158C58, SE_W063B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 createvisualtask sub_8115D94, 2, ANIM_TAG_ORBS, 1, 12, 31, 16, 0, 0 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 50, 1 - createvisualtask sub_8116620, 10, 4, 2, 0, 11, RGB(25, 25, 25) - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - call HyperBeam1 - createvisualtask sub_8116620, 10, 4, 2, 11, 0, RGB(25, 25, 25) + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 11, RGB(25, 25, 25) + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + call HyperBeamOrbs + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 11, 0, RGB(25, 25, 25) waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 16, 0, RGB_BLACK end -HyperBeam1: +HyperBeamOrbs: createsprite gHyperBeamOrbSpriteTemplate, ANIM_TARGET, 2 createsprite gHyperBeamOrbSpriteTemplate, ANIM_TARGET, 2 delay 1 @@ -8402,9 +8404,9 @@ HyperBeam1: Move_FLATTER: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_CONFETTI - createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W227B, SOUND_PAN_TARGET createvisualtask AnimTask_CreateSpotlight, 2 - createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0 + createvisualtask AnimTask_HardwarePaletteFade, 2, 248, 3, 0, 10, 0 waitforvisualfinish createsprite gFlatterSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8, 80 delay 0 @@ -8412,7 +8414,7 @@ Move_FLATTER: delay 10 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 5, 2, ANIM_TARGET delay 0 - createvisualtask sub_8159210, 5, 229, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W260, SOUND_PAN_ATTACKER call CreateFlatterConfetti call CreateFlatterConfetti call CreateFlatterConfetti @@ -8433,9 +8435,9 @@ Move_FLATTER: call CreateFlatterConfetti call CreateFlatterConfetti delay 5 - createvisualtask sub_8159210, 5, 229, SOUND_PAN_TARGET + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W260, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1 + createvisualtask AnimTask_HardwarePaletteFade, 2, 248, 3, 10, 0, 1 waitforvisualfinish createvisualtask AnimTask_RemoveSpotlight, 2 end @@ -8446,7 +8448,7 @@ CreateFlatterConfetti: Move_ROLE_PLAY: monbg ANIM_ATK_PARTNER - createvisualtask sub_8116620, 10, 4, 2, 0, 16, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 16, RGB_WHITE createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 10, RGB_BLACK waitforvisualfinish playsewithpan SE_W161, SOUND_PAN_ATTACKER @@ -8454,7 +8456,7 @@ Move_ROLE_PLAY: createvisualtask AnimTask_RolePlaySilhouette, 2 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER - createvisualtask sub_8116620, 10, 4, 2, 16, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 16, 0, RGB_WHITE delay 8 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 10, 0, RGB_BLACK end @@ -8481,12 +8483,12 @@ Move_BLAZE_KICK: setalpha 12, 8 playsewithpan SE_W172, SOUND_PAN_TARGET createsprite gSpinningHandOrFootSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 30 - createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 7, RGB_WHITE delay 30 playsewithpan SE_W007, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 14, 1 - createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 4, 2, 0, 0, RGB_WHITE createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 call FireSpreadEffect waitforvisualfinish @@ -8511,7 +8513,7 @@ HyperVoiceEffect: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1 createvisualtask sub_81162A4, 2, 1, 0, 6, 1 - createvisualtask sub_8159078, 5 + createvisualtask SoundTask_WaitForCry, 5 return Move_SAND_TOMB: @@ -8581,10 +8583,10 @@ ArmThrustContinue: blendoff end ArmThrustRight: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 8, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 8, 0, ANIM_TARGET, 2 goto ArmThrustContinue ArmThrustLeft: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 0, ANIM_TARGET, 2 goto ArmThrustContinue Move_MUDDY_WATER: @@ -8622,62 +8624,60 @@ Move_DRAGON_CLAW: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_CLAW_SLASH playsewithpan SE_W221B, SOUND_PAN_ATTACKER - createvisualtask sub_8116620, 10, 2, 4, 0, 8, RGB(31, 19, 0) + createvisualtask AnimTask_BlendMonColor, 10, 2, 4, 0, 8, RGB(31, 19, 0) createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 15, 1 - call DragonClawEffect - call DragonClawEffect + call DragonClawFireSpiral + call DragonClawFireSpiral createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0 delay 2 - createvisualtask sub_8159210, 5, 136, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, -10, 0 - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, 10, 0 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W013, SOUND_PAN_TARGET + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, -10, 0 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, 10, 0 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0 delay 2 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0 delay 2 - createvisualtask sub_8159210, 5, 136, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, -10, 1 - createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, 10, 1 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W013, SOUND_PAN_TARGET + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, -10, 1 + createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, 10, 1 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0 - createvisualtask sub_8116620, 10, 2, 4, 8, 0, RGB(31, 19, 0) + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0 + createvisualtask AnimTask_BlendMonColor, 10, 2, 4, 8, 0, RGB(31, 19, 0) waitforvisualfinish end -DragonClawEffect: - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0 +DragonClawFireSpiral: + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0 delay 2 - createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0 + createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0 delay 2 return - -End: end Move_MUD_SHOT: @@ -8687,7 +8687,7 @@ Move_MUD_SHOT: setalpha 12, 8 createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 46, 1 delay 6 - createvisualtask sub_81076C8, 5, 100 + createvisualtask AnimTask_StartSinAnimTimer, 5, 100 panse_1B SE_W250, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +1, 0 call MudShot1 call MudShot1 @@ -8728,7 +8728,7 @@ Move_METEOR_MASH: createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -80, -64, 40, 32, 30 delay 20 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 5, 0, 20, 1 waitforvisualfinish delay 10 @@ -8756,10 +8756,10 @@ Move_REVENGE: unloadspritegfx ANIM_TAG_PURPLE_SWIPE loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 10, 1 - createsprite gUnknown_08597400, ANIM_TARGET, 3, -10, -8, 1, 1, 8 + createsprite gUnknown_08597400, ANIM_TARGET, 3, -10, -8, ANIM_TARGET, 1, 8 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 8 - createsprite gUnknown_08597400, ANIM_TARGET, 3, 10, 8, 1, 1, 8 + createsprite gUnknown_08597400, ANIM_TARGET, 3, 10, 8, ANIM_TARGET, 1, 8 playsewithpan SE_W025B, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_TARGET @@ -8819,23 +8819,23 @@ Move_FRENZY_PLANT: createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 85, -16, -6, 0, 2, 75 playsewithpan SE_W010, SOUND_PAN_TARGET delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -10, 1, 3 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -10, ANIM_TARGET, 3 playsewithpan SE_W003, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 8, 0, 20, 1 delay 3 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 8, 1, 3 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 8, ANIM_TARGET, 3 playsewithpan SE_W003, SOUND_PAN_TARGET delay 3 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, -3, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, -3, ANIM_TARGET, 2 playsewithpan SE_W003, SOUND_PAN_TARGET delay 3 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -3, 1, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -3, 1, ANIM_TARGET, 2 playsewithpan SE_W003, SOUND_PAN_TARGET delay 2 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, 1, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, 1, ANIM_TARGET, 1 playsewithpan SE_W003, SOUND_PAN_TARGET delay 2 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 10, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 10, ANIM_TARGET, 1 playsewithpan SE_W003, SOUND_PAN_TARGET waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 2, 5, 0, RGB_BLACK @@ -8883,18 +8883,18 @@ FocusPunchContinue: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08596104, ANIM_TARGET, 2 + createsprite gFocusPunchFistSpriteTemplate, ANIM_TARGET, 2 delay 10 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 8, 0, 24, 1 delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 2, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 2, ANIM_TARGET, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, -6, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, -6, ANIM_TARGET, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 8, ANIM_TARGET, 0 playsewithpan SE_W025B, SOUND_PAN_TARGET waitforvisualfinish restorebg @@ -8929,94 +8929,94 @@ ReturnContinue: end ReturnWeak: createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 16, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 16, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2 - createvisualtask sub_8159210, 5, 139, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W004, SOUND_PAN_TARGET goto ReturnContinue ReturnMedium: createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER waitforvisualfinish delay 11 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 5, 4 delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 - createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W025B, SOUND_PAN_TARGET goto ReturnContinue ReturnStrong: createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -5, 3, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -5, 3, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 goto ReturnContinue ReturnStrongest: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 0, 6, RGB_BLACK waitforvisualfinish createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 16, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET waitforvisualfinish createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 12, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 waitforvisualfinish delay 4 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 8, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 waitforvisualfinish delay 2 createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1 waitforvisualfinish createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 2, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER delay 5 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1 waitforvisualfinish @@ -9024,26 +9024,26 @@ ReturnStrongest: call ReturnStrongest1 call ReturnStrongest1 call ReturnStrongest1 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 0 - createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, ANIM_TARGET, 0 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W025B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 8, 0, 24, 1 delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 1, 0 - createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, ANIM_TARGET, 0 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W025B, SOUND_PAN_TARGET delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, 1, 0 - createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, ANIM_TARGET, 0 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W025B, SOUND_PAN_TARGET delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -5, 3, 1, 0 - createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -5, 3, ANIM_TARGET, 0 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W025B, SOUND_PAN_TARGET waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6, 0, RGB_BLACK goto ReturnContinue ReturnStrongest1: createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 3, ANIM_ATTACKER - createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 - createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W039, SOUND_PAN_ATTACKER + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W233B, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1 waitforvisualfinish @@ -9051,7 +9051,7 @@ ReturnStrongest1: Move_COSMIC_POWER: loadspritegfx ANIM_TAG_SPARKLE_2 - createvisualtask sub_8159244, 5, 243, 0 + createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_W322, 0 playsewithpan SE_W322, 0 createvisualtask AnimTask_BlendAllBattlerPalettesButAttacker, 2, 0, 0, 15, RGB_BLACK waitforvisualfinish @@ -9060,7 +9060,7 @@ Move_COSMIC_POWER: createvisualtask AnimTask_StartSlidingBg, 2, 0, 128, 0, -1 waitbgfadein delay 70 - createvisualtask sub_8159210, 5, 228, SOUND_PAN_ATTACKER + createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_W234, SOUND_PAN_ATTACKER createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 delay 8 createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 @@ -9099,21 +9099,21 @@ Move_BLAST_BURN: createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 40, 20, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -40, 20, 24, 0, 0, 0 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 25 playsewithpan SE_W172B, SOUND_PAN_ATTACKER createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -96, 0, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 6, -60, -30, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 70, 0, -48, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 70, 60, -30, 24, 0, 0, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -4, 3, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -4, 3, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 12, 0, 20, 1 createvisualtask sub_81162A4, 2, 2, 0, 10, 1 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 96, 0, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 60, 30, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 48, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -60, 30, 24, 0, 0, 0 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -9167,7 +9167,7 @@ Move_SILVER_WIND: createvisualtask AnimTask_StartSlidingBg, 5, 1536, 0, 0, -1 SilverWindContinue: delay 0 - createvisualtask sub_8116620, 10, 1, 0, 4, 4, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 1, 0, 4, 4, RGB_BLACK waitbgfadein createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 @@ -9220,17 +9220,17 @@ Move_DIVE: DiveSetUp: loadspritegfx ANIM_TAG_ROUND_SHADOW playsewithpan SE_W029, SOUND_PAN_ATTACKER - createsprite gUnknown_08596490, ANIM_ATTACKER, 2, 0, 0, 13, 336 + createsprite gDiveBallSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 13, 336 waitforvisualfinish playsewithpan SE_W291, SOUND_PAN_ATTACKER - createsprite gUnknown_085964CC, ANIM_ATTACKER, 3, 0 - call DiveSetUp1 - call DiveSetUp1 - call DiveSetUp1 - call DiveSetUp1 - call DiveSetUp1 + createsprite gDiveWaterSplashSpriteTemplate, ANIM_ATTACKER, 3, 0 + call DiveSetUpWaterDroplets + call DiveSetUpWaterDroplets + call DiveSetUpWaterDroplets + call DiveSetUpWaterDroplets + call DiveSetUpWaterDroplets end -DiveSetUp1: +DiveSetUpWaterDroplets: createsprite gSprayWaterDropletSpriteTemplate, ANIM_ATTACKER, 5, 0, 0 createsprite gSprayWaterDropletSpriteTemplate, ANIM_ATTACKER, 5, 1, 0 return @@ -9240,20 +9240,20 @@ DiveAttack: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W153, SOUND_PAN_TARGET - createsprite gUnknown_085964CC, ANIM_TARGET, 3, 1 - call DiveAttack1 - call DiveAttack1 - call DiveAttack1 - call DiveAttack1 - call DiveAttack1 + createsprite gDiveWaterSplashSpriteTemplate, ANIM_TARGET, 3, 1 + call DiveAttackWaterDroplets + call DiveAttackWaterDroplets + call DiveAttackWaterDroplets + call DiveAttackWaterDroplets + call DiveAttackWaterDroplets delay 12 - call UnderWaterAttack1 + call RisingWaterHitEffect waitforvisualfinish visible ANIM_ATTACKER clearmonbg ANIM_DEF_PARTNER blendoff end -DiveAttack1: +DiveAttackWaterDroplets: createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 0, 1 createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 1, 1 return @@ -9266,7 +9266,7 @@ Move_ROCK_BLAST: playsewithpan SE_W207, SOUND_PAN_ATTACKER createsprite gUnknown_08596C98, ANIM_TARGET, 2, 16, 0, 0, 0, 25, 257 waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 playsewithpan SE_W088, SOUND_PAN_TARGET createsprite gUnknown_08596B1C, ANIM_TARGET, 2, 0, 0, 20, 24, 14, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1 @@ -9324,17 +9324,17 @@ Move_OVERHEAT: createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 224, 30, 25, 10 delay 5 waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -5, 3, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -5, 3, ANIM_TARGET, 0 playsewithpan SE_W007, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 10, 0, 25, 1 delay 6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 8, -5, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 8, -5, ANIM_TARGET, 0 playsewithpan SE_W007, SOUND_PAN_TARGET delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, 10, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, 10, ANIM_TARGET, 0 playsewithpan SE_W007, SOUND_PAN_TARGET delay 8 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 0 playsewithpan SE_W007, SOUND_PAN_TARGET createvisualtask sub_8117DD8, 5, 1 delay 1 @@ -9363,40 +9363,40 @@ Move_HYDRO_CANNON: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W057, SOUND_PAN_ATTACKER - createsprite gUnknown_085951C0, ANIM_TARGET, 2 + createsprite gHydroCannonChargeSpriteTemplate, ANIM_TARGET, 2 delay 10 - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 delay 30 panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - call HydroCannon1 + call HydroCannonBeam createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 10, 0, 40, 1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 - call HydroCannon1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 - call HydroCannon1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 - call HydroCannon1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 - call HydroCannon1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 - call HydroCannon1 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 + call HydroCannonBeam + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 + call HydroCannonBeam + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 + call HydroCannonBeam + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 + call HydroCannonBeam + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 + call HydroCannonBeam + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 waitforvisualfinish - createvisualtask sub_8115F10, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -HydroCannon1: - createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 +HydroCannonBeam: + createsprite gHydroCannonBeamSpriteTemplate, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 delay 1 - createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 + createsprite gHydroCannonBeamSpriteTemplate, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 delay 1 - createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 + createsprite gHydroCannonBeamSpriteTemplate, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 delay 1 - createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 + createsprite gHydroCannonBeamSpriteTemplate, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 delay 1 - createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 + createsprite gHydroCannonBeamSpriteTemplate, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 return Move_ASTONISH: @@ -9461,7 +9461,7 @@ SeismicTossStrong: call SeismicToss1 goto SeismicTossContinue SeismicToss1: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -10, -8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -10, -8, ANIM_TARGET, 1 playsewithpan SE_W070, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 5, 1 createsprite gUnknown_08596CB0, ANIM_TARGET, 2, -12, 27, 2, 3 @@ -9470,7 +9470,7 @@ SeismicToss1: createsprite gUnknown_08596CB0, ANIM_TARGET, 2, 12, 25, 4, 4 return SeismicToss2: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, -8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, -8, ANIM_TARGET, 1 playsewithpan SE_W088, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 5, 1 createsprite gUnknown_08596CB0, ANIM_TARGET, 2, -12, 32, 3, 4 @@ -9556,7 +9556,7 @@ Move_KNOCK_OFF: createsprite gKnockOffStrikeSpriteTemplate, ANIM_TARGET, 2, -16, -16 delay 8 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 2 playsewithpan SE_W004, SOUND_PAN_TARGET createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -12, 10, 0, 3 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5 @@ -9602,20 +9602,20 @@ Move_SKY_UPPERCUT: delay 4 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 6, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -28, 28, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -28, 28, ANIM_TARGET, 1 delay 1 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -15, 8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -15, 8, ANIM_TARGET, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET delay 1 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -5, -12, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -5, -12, ANIM_TARGET, 1 delay 1 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, -32, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, -32, ANIM_TARGET, 1 delay 1 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 5, -52, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 5, -52, ANIM_TARGET, 1 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -26, 16, 1, 4 delay 4 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1 @@ -9672,18 +9672,18 @@ Move_TWISTER: createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0 createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20 waitforvisualfinish - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, 1, 3 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, ANIM_TARGET, 3 playsewithpan SE_W004, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1 delay 4 - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 3 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 3 playsewithpan SE_W004, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 3 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 3 playsewithpan SE_W004, SOUND_PAN_TARGET delay 4 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 32, 20, 1, 3 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 32, 20, ANIM_TARGET, 3 playsewithpan SE_W004, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -9724,8 +9724,8 @@ Move_MAGICAL_LEAF: createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 32, -20, 0 delay 30 playsewithpan SE_W013, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, -4, 1, 2 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 10, 4, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, -4, ANIM_TARGET, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 10, 4, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 delay 20 setarg 7, -1 @@ -9765,7 +9765,7 @@ IceBallUnsetIceBg: waitbgfadein goto IceBallEnd IceBallWeakest: - createvisualtask sub_80D6388, 2, 0, 1, 8, 1, 0 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 8, 1, 0 call IceBall1 call IceBall1 call IceBall1 @@ -9773,7 +9773,7 @@ IceBallWeakest: call IceBall1 goto IceBallContinue2 IceBallWeak: - createvisualtask sub_80D6388, 2, 0, 1, 10, 1, 0 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 10, 1, 0 call IceBall1 call IceBall1 call IceBall1 @@ -9783,7 +9783,7 @@ IceBallWeak: call IceBall1 goto IceBallContinue2 IceBallMediun: - createvisualtask sub_80D6388, 2, 0, 1, 14, 1, 0 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 14, 1, 0 call IceBall1 call IceBall1 call IceBall1 @@ -9795,7 +9795,7 @@ IceBallMediun: call IceBall1 goto IceBallContinue2 IceBallStrong: - createvisualtask sub_80D6388, 2, 0, 1, 18, 1, 0 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 18, 1, 0 call IceBall1 call IceBall1 call IceBall1 @@ -9808,7 +9808,7 @@ IceBallStrong: call IceBall1 goto IceBallContinue2 IceBallStrongest: - createvisualtask sub_80D6388, 2, 0, 1, 30, 1, 0 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 30, 1, 0 call IceBall1 call IceBall1 call IceBall1 @@ -9847,7 +9847,7 @@ WeatherBallNormal: createsprite gUnknown_0853EE50, ANIM_TARGET, 2, -30, -100, 25, 1, 0, 0 waitforvisualfinish playsewithpan SE_W025B, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 8, 1 waitforvisualfinish end @@ -9923,7 +9923,7 @@ Move_COUNT: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W003, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -10277,7 +10277,7 @@ Status_Curse: loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT monbg ANIM_DEF_PARTNER playsewithpan SE_W171, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_8596DE8, ANIM_TARGET, 2 + createsprite gCurseGhostSpriteTemplate, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -10317,13 +10317,13 @@ General_StatsChange: General_SubstituteFade: monbg ANIM_ATTACKER createvisualtask sub_8172D98, 5 - createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 0, 0, 16, RGB_WHITE waitforvisualfinish delay 1 clearmonbg ANIM_ATTACKER delay 2 blendoff - createvisualtask sub_8116620, 10, 2, 0, 0, 0, RGB_WHITE + createvisualtask AnimTask_BlendMonColor, 10, 2, 0, 0, 0, RGB_WHITE createvisualtask sub_8172BF0, 2, 1 end @@ -10369,6 +10369,7 @@ Status_BindWrap: playsewithpan SE_W020, SOUND_PAN_TARGET waitforvisualfinish end + Status_FireSpin: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_W221B, SOUND_PAN_TARGET @@ -10378,6 +10379,7 @@ Status_FireSpin: waitforvisualfinish stopsound end + Status_Whrilpool: loadspritegfx ANIM_TAG_WATER_ORB monbg ANIM_DEF_PARTNER @@ -10395,6 +10397,7 @@ Status_Whrilpool: stopsound clearmonbg ANIM_DEF_PARTNER end + Status_Clamp: loadspritegfx ANIM_TAG_CLAMP loadspritegfx ANIM_TAG_IMPACT @@ -10404,13 +10407,14 @@ Status_Clamp: createsprite gClampJawSpriteTemplate, ANIM_ATTACKER, 2, -32, 0, 2, 819, 0, 10 createsprite gClampJawSpriteTemplate, ANIM_ATTACKER, 2, 32, 0, 6, -819, 0, 10 delay 10 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff waitforvisualfinish end + Status_SandTomb: loadspritegfx ANIM_TAG_MUD_SAND createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 0, 7, RGB(19, 17, 0) @@ -10498,13 +10502,13 @@ General_HangedOn: General_Rain: loadspritegfx ANIM_TAG_RAIN_DROPS playsewithpan SE_W240, SOUND_PAN_ATTACKER - createvisualtask sub_8116620, 10, 0x781, 2, 0, 4, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 0x781, 2, 0, 4, RGB_BLACK waitforvisualfinish createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 delay 50 waitforvisualfinish - createvisualtask sub_8116620, 10, 0x781, 2, 4, 0, RGB_BLACK + createvisualtask AnimTask_BlendMonColor, 10, 0x781, 2, 4, 0, RGB_BLACK waitforvisualfinish end @@ -10527,7 +10531,7 @@ General_MonHit: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W003, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -10566,7 +10570,7 @@ SnatchPartnerMonMove: goto SnatchMoveContinue General_FutureSightHit: - createvisualtask sub_8117F10, 2 + createvisualtask AnimTask_SetAnimTargetToBattlerTarget, 2 monbg ANIM_DEF_PARTNER playsewithpan SE_W060, SOUND_PAN_ATTACKER call SetPsychicBackground @@ -10586,7 +10590,7 @@ General_FutureSightHit: end General_DoomDesireHit: - createvisualtask sub_8117F10, 2 + createvisualtask AnimTask_SetAnimTargetToBattlerTarget, 2 loadspritegfx ANIM_TAG_EXPLOSION createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_WHITE waitforvisualfinish @@ -10726,7 +10730,7 @@ BallThrowTrainerBlock: setalpha 12, 8 delay 0 playsewithpan SE_W003, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -4, -20, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -4, -20, ANIM_TARGET, 2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff diff --git a/include/battle_anim.h b/include/battle_anim.h index c3019a5cf..3eab8e62b 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -67,18 +67,18 @@ s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); void sub_80A4720(u16 a, u16 *b, u32 c, u8 d); void sub_80A477C(bool8); -// battle_intro.s +// battle_intro.c void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); void sub_8118FBC(int bgId, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, u8 *arg5, u16 *arg6, u16 arg7); void HandleIntroSlide(u8 terrainId); int GetAnimBgAttribute(u8 bgId, u8 attributeId); -// battle_anim_mons.s +// battle_anim_mons.c void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite); void sub_80A8AEC(struct Sprite *sprite); void sub_80A8A6C(struct Sprite *sprite); void sub_80A8E30(struct Sprite *sprite); -void sub_80A8B64(struct Sprite *sprite); +void AnimSpinningSparkle(struct Sprite *sprite); void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y); void DestroySpriteAndMatrix(struct Sprite *sprite); void TranslateSpriteLinearFixedPoint(struct Sprite *sprite); @@ -101,7 +101,7 @@ void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2); s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 a2); u8 GetBattlerYCoordWithElevation(u8 battlerId); void WaitAnimForDuration(struct Sprite *sprite); -void AnimSnoreZ(struct Sprite *sprite); +void AnimTravelDiagonally(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite); void sub_80A6F98(struct Sprite *sprite); u8 GetBattlerSpriteBGPriority(u8 battlerId); @@ -208,7 +208,7 @@ void sub_80A718C(struct Sprite *sprite); void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); // ground.c -void sub_81152DC(u8 taskId); +void AnimTask_HorizontalShake(u8 taskId); // battle_anim_special.c void sub_8172EF0(u8 battler, struct Pokemon *mon); diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 0fe231cdc..d87fa09a9 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -393,7 +393,7 @@ #define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist // Most tasks return a value to gBattleAnimArgs[7]. -#define ARG_RET_ID 0x7 +#define ARG_RET_ID 7 // Trapping Wrap-like moves end turn animation. #define TRAP_ANIM_BIND 0 diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 508af84ad..d64fbf9f4 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -87,7 +87,7 @@ static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *); static void AnimSoftBoiledEgg_Step3_Callback2(struct Sprite *); static void AnimSoftBoiledEgg_Step4(struct Sprite *); static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *); -static void StretchAttacker_Step(u8); +static void AttackerStretchAndDisappear_Step(u8); static void ExtremeSpeedImpact_Step(u8); static void ExtremeSpeedMonReappear_Step(u8); static void SpeedDust_Step1(u8); @@ -632,7 +632,7 @@ const struct SpriteTemplate gSnoreZSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimSnoreZ, + .callback = AnimTravelDiagonally, }; const union AnimCmd gExplosionAnimCmds[] = @@ -877,7 +877,9 @@ const struct SpriteTemplate gBellSpriteTemplate = .callback = AnimSpriteOnMonPos, }; -const u16 gMusicNotePaletteTagsTable[] = +#define NUM_MUSIC_NOTE_PAL_TAGS 3 + +static const u16 sMusicNotePaletteTagsTable[NUM_MUSIC_NOTE_PAL_TAGS] = { ANIM_TAG_MUSIC_NOTES_2, ANIM_SPRITES_START - 1, @@ -2773,22 +2775,23 @@ static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimTask_StretchAttacker(u8 taskId) +// Used by Extremespeed +void AnimTask_AttackerStretchAndDisappear(u8 taskId) { struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; PrepareAffineAnimInTaskData(task, spriteId, gStretchAttackerAffineAnimCmds); - task->func = StretchAttacker_Step; + task->func = AttackerStretchAndDisappear_Step; } -static void StretchAttacker_Step(u8 taskId) +static void AttackerStretchAndDisappear_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) { gSprites[task->data[0]].pos2.y = 0; - gSprites[task->data[0]].invisible = 1; + gSprites[task->data[0]].invisible = TRUE; DestroyAnimVisualTask(taskId); } } @@ -2998,29 +3001,29 @@ void AnimSpeedDust(struct Sprite *sprite) } } -void sub_8105CB4(u8 taskId) +void AnimTask_LoadMusicNotesPal(u8 taskId) { int i; - u8 paletteNums[3]; + u8 paletteNums[NUM_MUSIC_NOTE_PAL_TAGS]; paletteNums[0] = IndexOfSpritePaletteTag(ANIM_TAG_MUSIC_NOTES_2); - for (i = 1; i < 3; i++) + for (i = 1; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) paletteNums[i] = AllocSpritePalette(ANIM_SPRITES_START - i); gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->field_17C); - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) LoadPalette(&gMonSpritesGfxPtr->field_17C[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); DestroyAnimVisualTask(taskId); } -void sub_8105D60(u8 taskId) +void AnimTask_FreeMusicNotesPal(u8 taskId) { int i; - for (i = 0; i < 3; i++) - FreeSpritePaletteByTag(gMusicNotePaletteTagsTable[i]); + for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) + FreeSpritePaletteByTag(sMusicNotePaletteTagsTable[i]); DestroyAnimVisualTask(taskId); } @@ -3031,7 +3034,7 @@ static void SetMusicNotePalette(struct Sprite *sprite, u8 a, u8 b) tile = (b & 1); tile = ((-tile | tile) >> 31) & 32; sprite->oam.tileNum += tile + (a << 2); - sprite->oam.paletteNum = IndexOfSpritePaletteTag(gMusicNotePaletteTagsTable[b >> 1]); + sprite->oam.paletteNum = IndexOfSpritePaletteTag(sMusicNotePaletteTagsTable[b >> 1]); } void AnimHealBellMusicNote(struct Sprite *sprite) diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 953f0223e..b9bfc0b2e 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -159,7 +159,7 @@ void AnimTask_ShakeMon2(u8 taskId) bool8 destroy = FALSE; u8 battlerId; - if (gBattleAnimArgs[0] < 4) + if (gBattleAnimArgs[0] < MAX_BATTLERS_COUNT) { spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) @@ -979,7 +979,7 @@ void sub_80D6308(u8 taskId) } } -void sub_80D6388(u8 taskId) +void AnimTask_ShakeTargetBasedOnMovePowerOrDmg(u8 taskId) { if (!gBattleAnimArgs[0]) { @@ -1010,7 +1010,7 @@ void sub_80D6388(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[10] = gBattleAnimArgs[3]; gTasks[taskId].data[11] = gBattleAnimArgs[4]; - gTasks[taskId].data[7] = GetAnimBattlerSpriteId(1); + gTasks[taskId].data[7] = GetAnimBattlerSpriteId(ANIM_TARGET); gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].pos2.x; gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].pos2.y; gTasks[taskId].data[0] = 0; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index b356d57e0..a9bb4ce14 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -1532,7 +1532,7 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimSnoreZ(struct Sprite *sprite) +void AnimTravelDiagonally(struct Sprite *sprite) { bool8 r4; u8 battlerId, coordType; @@ -1547,7 +1547,7 @@ void AnimSnoreZ(struct Sprite *sprite) r4 = FALSE; coordType = BATTLER_COORD_Y; } - if (!gBattleAnimArgs[5]) + if (gBattleAnimArgs[5] == ANIM_ATTACKER) { InitSpritePosToAnimAttacker(sprite, r4); battlerId = gBattleAnimAttacker; @@ -2316,7 +2316,8 @@ void sub_80A8AEC(struct Sprite *sprite) sprite->callback = TranslateSpriteLinearAndFlicker; } -void sub_80A8B64(struct Sprite *sprite) +// Used by Detect/Disable +void AnimSpinningSparkle(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker)) diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 573feb41c..b089e3e1c 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -261,7 +261,7 @@ static void sub_8158FF4(u8 taskId) } // task end -void sub_8159078(u8 taskId) +void SoundTask_WaitForCry(u8 taskId) { if (gTasks[taskId].data[9] < 2) { @@ -332,7 +332,7 @@ static void sub_815913C(u8 taskId) } // task end -void sub_8159210(u8 taskId) +void SoundTask_PlaySE1WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]); @@ -341,7 +341,7 @@ void sub_8159210(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8159244(u8 taskId) +void SoundTask_PlaySE2WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]); diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 003b6d2ef..303927f57 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -112,7 +112,7 @@ static const union AnimCmd *const sSpriteAnimTable_853EE80[] = sSpriteAnim_853EE68 }; -const struct SpriteTemplate gUnknown_0853EE84 = +const struct SpriteTemplate gSpinningSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, @@ -120,7 +120,7 @@ const struct SpriteTemplate gUnknown_0853EE84 = .anims = sSpriteAnimTable_853EE80, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8B64, + .callback = AnimSpinningSparkle, }; const struct SpriteTemplate gUnknown_0853EE9C = diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 93160b086..f46d64444 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -45,7 +45,7 @@ const u16 gUnknown_08597418 = RGB(31, 31, 31); const u8 gUnknown_0859741A[] = {REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT}; const u8 gUnknown_0859741E[] = {REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT}; -void sub_8116620(u8 taskId) +void AnimTask_BlendMonColor(u8 taskId) { u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]); selectedPalettes |= sub_80A76C4((gBattleAnimArgs[0] >> 7) & 1, @@ -193,7 +193,7 @@ static void AnimTask_BlendSpriteColor_Step2(u8 taskId) } } -void sub_8116960(u8 taskId) +void AnimTask_HardwarePaletteFade(u8 taskId) { BeginHardwarePaletteFade( gBattleAnimArgs[0], @@ -271,7 +271,8 @@ static void sub_8116AD0(struct Sprite *sprite) } } -void sub_8116B14(u8 taskId) +// Only used by Curse for non-Ghost mons +void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId) { u16 species; int spriteId, newSpriteId; @@ -600,7 +601,7 @@ static void sub_81172EC(u8 taskId) } } -void sub_8117494(u8 taskId) +void AnimTask_Flash(u8 taskId) { u32 selectedPalettes = sub_80A76C4(1, 1, 1, 1); sub_81175C4(selectedPalettes, 0); @@ -773,7 +774,6 @@ void AnimTask_SetAllBattlersButAttackerInvisiblity(u8 taskId) #undef tInvisible - void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette) { u16 species; @@ -1005,9 +1005,9 @@ void sub_8117DD8(u8 taskId) void AnimTask_IsContest(u8 taskId) { if (IsContest()) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[7] = TRUE; else - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[7] = FALSE; DestroyAnimVisualTask(taskId); } @@ -1022,14 +1022,14 @@ void sub_8117E94(u8 taskId) void AnimTask_IsTargetSameSide(u8 taskId) { if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[7] = TRUE; else - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[7] = FALSE; DestroyAnimVisualTask(taskId); } -void sub_8117F10(u8 taskId) +void AnimTask_SetAnimTargetToBattlerTarget(u8 taskId) { gBattleAnimTarget = gBattlerTarget; DestroyAnimVisualTask(taskId); @@ -1042,6 +1042,7 @@ void sub_8117F30(u8 taskId) DestroyAnimVisualTask(taskId); } +// TODO: Rename. Also used by Faint Attack void AnimTask_ExtremeSpeedMoveTarget(u8 taskId) { if (IsContest()) @@ -1051,7 +1052,7 @@ void AnimTask_ExtremeSpeedMoveTarget(u8 taskId) else { gTasks[taskId].data[0] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible; - gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = 1; + gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = TRUE; gTasks[taskId].func = ExtremSpeedMoveTarget_Step; gAnimVisualTaskCount--; } diff --git a/src/dark.c b/src/dark.c index 4c6c31ad1..7cb725aca 100644 --- a/src/dark.c +++ b/src/dark.c @@ -11,8 +11,8 @@ void sub_81138D4(struct Sprite *); static void AnimBite(struct Sprite *); -void sub_8113A90(struct Sprite *); -void sub_81144BC(struct Sprite *); +static void AnimTearDrop(struct Sprite *); +static void AnimClawSlash(struct Sprite *); static void sub_811375C(u8); static void sub_811381C(u8); static void sub_8113950(struct Sprite *); @@ -138,7 +138,7 @@ const union AffineAnimCmd *const gUnknown_085970E0[] = gUnknown_085970C8, }; -const struct SpriteTemplate gUnknown_085970E8 = +const struct SpriteTemplate gTearDropSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, @@ -146,7 +146,7 @@ const struct SpriteTemplate gUnknown_085970E8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085970E0, - .callback = sub_8113A90, + .callback = AnimTearDrop, }; const union AnimCmd gUnknown_08597100[] = @@ -175,7 +175,7 @@ const union AnimCmd *const gUnknown_08597130[] = gUnknown_08597118, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = +const struct SpriteTemplate gClawSlashSpriteTemplate = { .tileTag = ANIM_TAG_CLAW_SLASH, .paletteTag = ANIM_TAG_CLAW_SLASH, @@ -183,7 +183,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = .anims = gUnknown_08597130, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81144BC, + .callback = AnimClawSlash, }; void AnimTask_AttackerFadeToInvisible(u8 taskId) @@ -214,7 +214,7 @@ static void sub_811375C(u8 taskId) gTasks[taskId].data[2] = 0; if (blendA == 16) { - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = TRUE; DestroyAnimVisualTask(taskId); } } @@ -342,12 +342,13 @@ static void sub_8113A58(struct Sprite *sprite) DestroySpriteAndMatrix(sprite); } -void sub_8113A90(struct Sprite *sprite) +// Launches a tear drop away from the battler. Used by Fake Tears +static void AnimTearDrop(struct Sprite *sprite) { u8 battler; s8 xOffset; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; @@ -773,12 +774,12 @@ void sub_81143C0(u8 taskId) { u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0; MoveBattlerSpriteToBG(gBattleAnimAttacker, toBG2, TRUE); - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = FALSE; if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { MoveBattlerSpriteToBG(gBattleAnimAttacker ^ 2, toBG2 ^ 1, TRUE); - gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = FALSE; } DestroyAnimVisualTask(taskId); @@ -795,7 +796,8 @@ void sub_8114470(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81144BC(struct Sprite *sprite) +// Animates a deep slash from a claw. Used by Metal Claw, Dragon Claw, and Crush Claw +static void AnimClawSlash(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/dragon.c b/src/dragon.c index fa91156d4..4c89ae6c7 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -6,9 +6,9 @@ #include "constants/rgb.h" void sub_8113064(struct Sprite *); -void sub_81131B4(struct Sprite *); -void sub_8113224(struct Sprite *); -void sub_8113250(struct Sprite *); +static void AnimDragonRageFirePlume(struct Sprite *); +static void AnimDragonFireToTarget(struct Sprite *); +static void AnimDragonDanceOrb(struct Sprite *); void sub_81135EC(struct Sprite *); static void sub_81132E0(struct Sprite *); static void sub_81134B8(u8); @@ -85,7 +85,7 @@ const union AffineAnimCmd *const gUnknown_08596EEC[] = gUnknown_08596ED4, }; -const struct SpriteTemplate gUnknown_08596EF4 = +const struct SpriteTemplate gDragonBreathFireSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -93,7 +93,7 @@ const struct SpriteTemplate gUnknown_08596EF4 = .anims = gUnknown_08596EB4, .images = NULL, .affineAnims = gUnknown_08596EEC, - .callback = sub_8113224, + .callback = AnimDragonFireToTarget, }; const union AnimCmd gUnknown_08596F0C[] = @@ -111,7 +111,7 @@ const union AnimCmd *const gUnknown_08596F24[] = gUnknown_08596F0C, }; -const struct SpriteTemplate gUnknown_08596F28 = +const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, @@ -119,7 +119,7 @@ const struct SpriteTemplate gUnknown_08596F28 = .anims = gUnknown_08596F24, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81131B4, + .callback = AnimDragonRageFirePlume, }; const union AnimCmd gUnknown_08596F40[] = @@ -154,7 +154,7 @@ const union AffineAnimCmd *const gUnknown_08596F78[] = gUnknown_08596F68, }; -const struct SpriteTemplate gUnknown_08596F80 = +const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -162,10 +162,10 @@ const struct SpriteTemplate gUnknown_08596F80 = .anims = gUnknown_08596F50, .images = NULL, .affineAnims = gUnknown_08596F78, - .callback = sub_8113224, + .callback = AnimDragonFireToTarget, }; -const struct SpriteTemplate gUnknown_08596F98 = +const struct SpriteTemplate gDragonDanceOrbSpriteTemplate = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, @@ -173,7 +173,7 @@ const struct SpriteTemplate gUnknown_08596F98 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8113250, + .callback = AnimDragonDanceOrb, }; const struct SpriteTemplate gUnknown_08596FB0 = @@ -238,7 +238,7 @@ static void sub_8113100(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_81131B4(struct Sprite *sprite) +static void AnimDragonRageFirePlume(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -257,7 +257,7 @@ void sub_81131B4(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_8113224(struct Sprite *sprite) +static void AnimDragonFireToTarget(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) StartSpriteAffineAnim(sprite, 1); @@ -265,7 +265,7 @@ void sub_8113224(struct Sprite *sprite) sub_8113100(sprite); } -void sub_8113250(struct Sprite *sprite) +static void AnimDragonDanceOrb(struct Sprite *sprite) { u16 r5; u16 r0; diff --git a/src/fight.c b/src/fight.c index 4c8dd2896..8c6dadb45 100644 --- a/src/fight.c +++ b/src/fight.c @@ -8,14 +8,14 @@ void unc_080B08A0(struct Sprite *); void sub_810CE68(struct Sprite *); -void sub_810CEB4(struct Sprite *); -void AnimBasicFistOrFoot(struct Sprite *); -void sub_810CF30(struct Sprite *); -void sub_810D10C(struct Sprite *); +static void AnimJumpKick(struct Sprite *); +static void AnimBasicFistOrFoot(struct Sprite *); +static void AnimFistOrFootRandomPos(struct Sprite *); +static void AnimCrossChopHand(struct Sprite *); void sub_810D1B4(struct Sprite *); -void AnimSpinningKickOrPunch(struct Sprite *); -void AnimStompFoot(struct Sprite *); -void sub_810D37C(struct Sprite *); +static void AnimSpinningKickOrPunch(struct Sprite *); +static void AnimStompFoot(struct Sprite *); +static void AnimDizzyPunchDuck(struct Sprite *); void sub_810D40C(struct Sprite *); void sub_810D4F4(struct Sprite *); void sub_810D608(struct Sprite *); @@ -23,7 +23,7 @@ void sub_810D714(struct Sprite *); void sub_810D874(struct Sprite *); static void AnimArmThrustHit(struct Sprite *); void sub_810DA10(struct Sprite *); -void sub_810DA7C(struct Sprite *); +static void AnimFocusPunchFist(struct Sprite *); static void sub_810D0B8(struct Sprite *); static void sub_810D164(struct Sprite *); static void sub_810D240(struct Sprite *); @@ -107,7 +107,7 @@ const struct SpriteTemplate gUnknown_08595E68 = .callback = sub_810CE68, }; -const struct SpriteTemplate gUnknown_08595E80 = +const struct SpriteTemplate gJumpKickSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_08595E80 = .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810CEB4, + .callback = AnimJumpKick, }; const struct SpriteTemplate gFistFootSpriteTemplate = @@ -129,7 +129,7 @@ const struct SpriteTemplate gFistFootSpriteTemplate = .callback = AnimBasicFistOrFoot, }; -const struct SpriteTemplate gUnknown_08595EB0 = +const struct SpriteTemplate gFistFootRandomPosSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -137,10 +137,10 @@ const struct SpriteTemplate gUnknown_08595EB0 = .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810CF30, + .callback = AnimFistOrFootRandomPos, }; -const struct SpriteTemplate gUnknown_08595EC8 = +const struct SpriteTemplate gCrossChopHandSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -148,7 +148,7 @@ const struct SpriteTemplate gUnknown_08595EC8 = .anims = gUnknown_08595E60, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D10C, + .callback = AnimCrossChopHand, }; const struct SpriteTemplate gUnknown_08595EE0 = @@ -220,7 +220,7 @@ const struct SpriteTemplate gUnknown_08595F60 = .callback = AnimStompFoot, }; -const struct SpriteTemplate gUnknown_08595F78 = +const struct SpriteTemplate gDizzyPunchDuckSpriteTemplate = { .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, @@ -228,7 +228,7 @@ const struct SpriteTemplate gUnknown_08595F78 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D37C, + .callback = AnimDizzyPunchDuck, }; const struct SpriteTemplate gUnknown_08595F90 = @@ -404,7 +404,7 @@ const union AffineAnimCmd *const gUnknown_08596100[] = gUnknown_085960E8, }; -const struct SpriteTemplate gUnknown_08596104 = +const struct SpriteTemplate gFocusPunchFistSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -412,7 +412,7 @@ const struct SpriteTemplate gUnknown_08596104 = .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gUnknown_08596100, - .callback = sub_810DA7C, + .callback = AnimFocusPunchFist, }; void unc_080B08A0(struct Sprite *sprite) @@ -434,10 +434,10 @@ void sub_810CE68(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[6]); gBattleAnimArgs[6] = 0; - AnimSnoreZ(sprite); + AnimTravelDiagonally(sprite); } -void sub_810CEB4(struct Sprite *sprite) +static void AnimJumpKick(struct Sprite *sprite) { if (IsContest()) { @@ -455,7 +455,7 @@ void sub_810CEB4(struct Sprite *sprite) // arg 2: duration // arg 3: ? (todo: related to initial pixel offsets) // arg 4: anim num -void AnimBasicFistOrFoot(struct Sprite *sprite) +static void AnimBasicFistOrFoot(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); @@ -469,7 +469,7 @@ void AnimBasicFistOrFoot(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810CF30(struct Sprite *sprite) +static void AnimFistOrFootRandomPos(struct Sprite *sprite) { u8 battler; s16 xMod, yMod; @@ -533,7 +533,7 @@ static void sub_810D0B8(struct Sprite *sprite) } } -void sub_810D10C(struct Sprite *sprite) +static void AnimCrossChopHand(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = 30; @@ -614,7 +614,7 @@ static void sub_810D240(struct Sprite *sprite) // arg 1: initial y pixel offset // arg 2: anim num // arg 3: spin duration -void AnimSpinningKickOrPunch(struct Sprite *sprite) +static void AnimSpinningKickOrPunch(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[2]); @@ -638,7 +638,7 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: initial wait duration -void AnimStompFoot(struct Sprite *sprite) +static void AnimStompFoot(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; @@ -667,7 +667,7 @@ static void AnimStompFootEnd(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810D37C(struct Sprite *sprite) +static void AnimDizzyPunchDuck(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -983,7 +983,8 @@ void sub_810DA10(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810DA7C(struct Sprite *sprite) +// Fist shrinks toward target and shakes +static void AnimFocusPunchFist(struct Sprite *sprite) { if (sprite->affineAnimEnded) { diff --git a/src/fire.c b/src/fire.c index be55abade..49f05aae8 100644 --- a/src/fire.c +++ b/src/fire.c @@ -7,7 +7,7 @@ #include "task.h" #include "trig.h" -static void sub_8108EC8(struct Sprite *); +static void AnimFireSpiralInward(struct Sprite *); static void AnimFireSpread(struct Sprite *); static void sub_8108F4C(struct Sprite *); static void sub_8108FBC(struct Sprite *); @@ -23,7 +23,7 @@ static void AnimFireRingStep2(struct Sprite *); static void AnimFireRingStep3(struct Sprite *); static void UpdateFireRingCircleOffset(struct Sprite *); static void AnimFireCross(struct Sprite *); -static void sub_81093A4(struct Sprite *); +static void AnimFireSpiralOutward(struct Sprite *); static void sub_81093E4(struct Sprite *); static void sub_810940C(struct Sprite *); static void sub_81094D0(u8 taskId); @@ -32,7 +32,7 @@ static void sub_81098EC(struct Sprite *); static u16 sub_8109930(u8 spriteId); static void sub_8109984(struct Sprite *sprite, s16 x, s16 y); static void sub_81099A0(struct Sprite *); -static void sub_8109A10(struct Sprite *); +static void AnimEruptionFallingRock(struct Sprite *); static void sub_8109A64(struct Sprite *); static void sub_8109AFC(struct Sprite *); static void sub_8109C4C(struct Sprite *); @@ -61,7 +61,7 @@ const union AnimCmd *const gUnknown_08595360[] = gUnknown_08595350, }; -const struct SpriteTemplate gUnknown_08595368 = +const struct SpriteTemplate gFireSpiralInwardSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -69,7 +69,7 @@ const struct SpriteTemplate gUnknown_08595368 = .anims = gUnknown_08595360, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108EC8, + .callback = AnimFireSpiralInward, }; const struct SpriteTemplate gFireSpreadSpriteTemplate = @@ -319,7 +319,7 @@ const struct SpriteTemplate gFireBlastCrossSpriteTemplate = .callback = AnimFireCross, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 = +const struct SpriteTemplate gFireSpiralOutwardSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -327,7 +327,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 = .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81093A4, + .callback = AnimFireSpiralOutward, }; const struct SpriteTemplate gUnknown_0859559C = @@ -364,7 +364,7 @@ const s16 gUnknown_085955CC[][2] = { 4, -7}, }; -const struct SpriteTemplate gUnknown_085955E8 = +const struct SpriteTemplate gEruptionFallingRockSpriteTemplate = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, @@ -372,7 +372,7 @@ const struct SpriteTemplate gUnknown_085955E8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8109A10, + .callback = AnimEruptionFallingRock, }; const union AnimCmd gUnknown_08595600[] = @@ -456,7 +456,8 @@ const s8 gUnknown_08595694[16] = -1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1, }; -static void sub_8108EC8(struct Sprite *sprite) +// For the first stage of Fire Punch +static void AnimFireSpiralInward(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = 0x3C; @@ -623,7 +624,7 @@ static void AnimEmberFlare(struct Sprite *sprite) || gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->callback = AnimSnoreZ; + sprite->callback = AnimTravelDiagonally; sprite->callback(sprite); } @@ -632,7 +633,7 @@ static void sub_8109200(struct Sprite *sprite) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->callback = AnimSnoreZ; + sprite->callback = AnimTravelDiagonally; } // Animates the a fire sprite in the first-half of the MOVE_FIRE_BLAST @@ -730,7 +731,7 @@ static void AnimFireCross(struct Sprite *sprite) sprite->callback = TranslateSpriteLinear; } -static void sub_81093A4(struct Sprite *sprite) +static void AnimFireSpiralOutward(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); @@ -766,11 +767,12 @@ static void sub_810940C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8109460(u8 taskId) // initialize animation task for Move_ERUPTION? +// Animates first stage of Eruption where the attacker squishes and launches rocks away from themself +void AnimTask_EruptionLaunchRocks(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[15] = GetAnimBattlerSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = 0; task->data[1] = 0; @@ -992,7 +994,7 @@ static void sub_81099A0(struct Sprite *sprite) sprite->invisible = TRUE; } -static void sub_8109A10(struct Sprite *sprite) +static void AnimEruptionFallingRock(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -1178,14 +1180,14 @@ void sub_8109CB0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8109DBC(u8 taskId) +void AnimTask_MoveHeatWaveTargets(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[12] = !GetBattlerSide(gBattleAnimAttacker) ? 1 : -1; task->data[13] = IsBattlerSpriteVisible(gBattleAnimTarget ^ 2) + 1; - task->data[14] = GetAnimBattlerSpriteId(1); - task->data[15] = GetAnimBattlerSpriteId(3); + task->data[14] = GetAnimBattlerSpriteId(ANIM_TARGET); + task->data[15] = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER); task->func = sub_8109E2C; } diff --git a/src/flying.c b/src/flying.c index 77173c9af..9a773c594 100644 --- a/src/flying.c +++ b/src/flying.c @@ -6,24 +6,24 @@ #include "constants/rgb.h" #include "random.h" -extern const struct SpriteTemplate gUnknown_085973E8; +extern const struct SpriteTemplate gFlashingHitSplatSpriteTemplate; -void sub_810DE70(struct Sprite *); -void sub_810DFA8(struct Sprite *); +static void AnimEllipticalGust(struct Sprite *); +static void AnimGustToTarget(struct Sprite *); void sub_810E044(struct Sprite *); -void sub_810E13C(struct Sprite *); -void sub_810E1C8(struct Sprite *); -void sub_810E314(struct Sprite *); +static void AnimFlyBallUp(struct Sprite *); +static void AnimFlyBallAttack(struct Sprite *); +static void AnimFallingFeather(struct Sprite *); void sub_810E520(struct Sprite *); void sub_810EB40(struct Sprite *); void sub_810EA4C(struct Sprite *); void sub_810EAA0(struct Sprite *); void sub_810EC34(struct Sprite *); void sub_810EC94(struct Sprite *); -void sub_810ED28(struct Sprite *); +static void AnimDiveBall(struct Sprite *); void sub_810ED70(struct Sprite *); void sub_810EDD0(struct Sprite *); -void sub_810EE14(struct Sprite *); +static void AnimDiveWaterSplash(struct Sprite *); static void AnimSprayWaterDroplet(struct Sprite *); void sub_810EFA8(struct Sprite *); void sub_810F004(struct Sprite *); @@ -37,7 +37,7 @@ static void sub_810E184(struct Sprite *); static void sub_810E24C(struct Sprite *); -const struct SpriteTemplate gUnknown_08596270 = +const struct SpriteTemplate gEllipticalGustSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, @@ -45,7 +45,7 @@ const struct SpriteTemplate gUnknown_08596270 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810DE70, + .callback = AnimEllipticalGust, }; const union AffineAnimCmd gUnknown_08596288[] = @@ -60,7 +60,7 @@ const union AffineAnimCmd *const gUnknown_085962A0[] = gUnknown_08596288, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 = +const struct SpriteTemplate gGustToTargetSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, @@ -68,7 +68,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085962A0, - .callback = sub_810DFA8, + .callback = AnimGustToTarget, }; const union AnimCmd gUnknown_085962BC[] = @@ -128,7 +128,7 @@ const union AffineAnimCmd *const gUnknown_08596338[] = gUnknown_08596328, }; -const struct SpriteTemplate gUnknown_08596340 = +const struct SpriteTemplate gFlyBallUpSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -136,10 +136,10 @@ const struct SpriteTemplate gUnknown_08596340 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596314, - .callback = sub_810E13C, + .callback = AnimFlyBallUp, }; -const struct SpriteTemplate gUnknown_08596358 = +const struct SpriteTemplate gFlyBallAttackSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -147,7 +147,7 @@ const struct SpriteTemplate gUnknown_08596358 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596338, - .callback = sub_810E1C8, + .callback = AnimFlyBallAttack, }; const union AnimCmd gUnknown_08596370[] = @@ -168,7 +168,7 @@ const union AnimCmd *const gUnknown_08596380[] = gUnknown_08596378, }; -const struct SpriteTemplate gUnknown_08596388 = +const struct SpriteTemplate gFallingFeatherSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, @@ -176,7 +176,7 @@ const struct SpriteTemplate gUnknown_08596388 = .anims = gUnknown_08596380, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810E314, + .callback = AnimFallingFeather, }; const struct SpriteTemplate gUnknown_085963A0 = @@ -278,7 +278,7 @@ const union AffineAnimCmd *const gUnknown_0859648C[] = gUnknown_08596464, }; -const struct SpriteTemplate gUnknown_08596490 = +const struct SpriteTemplate gDiveBallSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -286,7 +286,7 @@ const struct SpriteTemplate gUnknown_08596490 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859648C, - .callback = sub_810ED28, + .callback = AnimDiveBall, }; const union AffineAnimCmd gUnknown_085964A8[] = @@ -302,7 +302,7 @@ const union AffineAnimCmd *const gUnknown_085964C8[] = gUnknown_085964A8, }; -const struct SpriteTemplate gUnknown_085964CC = +const struct SpriteTemplate gDiveWaterSplashSpriteTemplate = { .tileTag = ANIM_TAG_SPLASH, .paletteTag = ANIM_TAG_SPLASH, @@ -310,7 +310,7 @@ const struct SpriteTemplate gUnknown_085964CC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810EE14, + .callback = AnimDiveWaterSplash, }; const struct SpriteTemplate gSprayWaterDropletSpriteTemplate = @@ -347,7 +347,7 @@ const struct SpriteTemplate gUnknown_08596514 = }; -void sub_810DE70(struct Sprite *sprite) +static void AnimEllipticalGust(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->pos1.y += 20; @@ -366,7 +366,8 @@ static void sub_810DE98(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810DED8(u8 taskId) +// Animates the palette on the gust tornado to make it look like its spinning +void AnimTask_AnimateGustTornadoPalette(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[1] = gBattleAnimArgs[0]; @@ -401,7 +402,7 @@ static void sub_810DF18(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_810DFA8(struct Sprite *sprite) +static void AnimGustToTarget(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -463,13 +464,13 @@ void sub_810E044(struct Sprite *sprite) SeekSpriteAnim(sprite, gBattleAnimArgs[5]); } -void sub_810E13C(struct Sprite *sprite) +static void AnimFlyBallUp(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->callback = sub_810E184; - gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = 1; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE; } static void sub_810E184(struct Sprite *sprite) @@ -488,7 +489,7 @@ static void sub_810E184(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810E1C8(struct Sprite *sprite) +static void AnimFlyBallAttack(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -565,7 +566,7 @@ struct FeatherDanceData u16 unkE_1:15; }; -void sub_810E314(struct Sprite *sprite) +static void AnimFallingFeather(struct Sprite *sprite) { u8 battler, matrixNum, sinIndex; s16 spriteCoord, sinVal; @@ -953,7 +954,7 @@ void sub_810EB40(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810EB88(u8 task) +void AnimTask_DrillPeckHitSplats(u8 task) { if (!(gTasks[task].data[0] % 32)) { @@ -964,7 +965,7 @@ void sub_810EB88(u8 task) gBattleAnimArgs[2] = 1; gBattleAnimArgs[3] = 3; - CreateSpriteAndAnimate(&gUnknown_085973E8, + CreateSpriteAndAnimate(&gFlashingHitSplatSpriteTemplate, GetBattlerSpriteCoord(gBattleAnimTarget, 2), GetBattlerSpriteCoord(gBattleAnimTarget, 3), 3); @@ -1017,13 +1018,13 @@ void sub_810EC94(struct Sprite *sprite) } } -void sub_810ED28(struct Sprite *sprite) +void AnimDiveBall(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->callback = sub_810ED70; - gSprites[GetAnimBattlerSpriteId(0)].invisible = 1; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE; } void sub_810ED70(struct Sprite *sprite) @@ -1039,7 +1040,7 @@ void sub_810ED70(struct Sprite *sprite) } else { - sprite->invisible = 1; + sprite->invisible = TRUE; if (sprite->data[3]++ > 20) sprite->callback = sub_810EDD0; } @@ -1056,7 +1057,7 @@ void sub_810EDD0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810EE14(struct Sprite *sprite) +static void AnimDiveWaterSplash(struct Sprite *sprite) { u32 matrixNum; int t1, t2; diff --git a/src/ghost.c b/src/ghost.c index 4288aa944..7faadc59c 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -31,14 +31,14 @@ static void sub_8112384(struct Sprite *); static void sub_81125E0(u8 taskId); static void sub_811280C(u8 taskId); static void sub_8112994(u8 taskId); -static void sub_81129F0(struct Sprite *); +static void AnimCurseNail(struct Sprite *); static void sub_8112A4C(struct Sprite *); static void sub_8112ACC(struct Sprite *); static void sub_8112B44(struct Sprite *); static void sub_8112B78(struct Sprite *); static void sub_8112C4C(struct Sprite *); static void sub_8112D10(u8 taskId); -static void sub_8112E9C(struct Sprite *); +static void AnimGrudgeFlame(struct Sprite *); static void sub_8112F60(struct Sprite *); static void sub_8112FB8(struct Sprite *); @@ -135,7 +135,7 @@ const union AffineAnimCmd *const gUnknown_08596DB4[] = gUnknown_08596DA4, }; -const struct SpriteTemplate gUnknown_08596DB8 = +const struct SpriteTemplate gWhiteShadowSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_SHADOW, .paletteTag = ANIM_TAG_WHITE_SHADOW, @@ -146,7 +146,7 @@ const struct SpriteTemplate gUnknown_08596DB8 = .callback = sub_8112264, }; -const struct SpriteTemplate gUnknown_08596DD0 = +const struct SpriteTemplate gCurseNailSpriteTemplate = { .tileTag = ANIM_TAG_NAIL, .paletteTag = ANIM_TAG_NAIL, @@ -154,10 +154,10 @@ const struct SpriteTemplate gUnknown_08596DD0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81129F0, + .callback = AnimCurseNail, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 = +const struct SpriteTemplate gCurseGhostSpriteTemplate = { .tileTag = ANIM_TAG_GHOSTLY_SPIRIT, .paletteTag = ANIM_TAG_GHOSTLY_SPIRIT, @@ -193,7 +193,7 @@ const union AnimCmd *const gUnknown_08596E2C[] = gUnknown_08596E18, }; -const struct SpriteTemplate gUnknown_08596E30 = +const struct SpriteTemplate gGrudgeFlameSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_FLAME, .paletteTag = ANIM_TAG_PURPLE_FLAME, @@ -201,7 +201,7 @@ const struct SpriteTemplate gUnknown_08596E30 = .anims = gUnknown_08596E2C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8112E9C, + .callback = AnimGrudgeFlame, }; const struct SpriteTemplate gUnknown_08596E48 = @@ -789,7 +789,7 @@ static void sub_8112384(struct Sprite *sprite) } } -void sub_81123C4(u8 taskId) +void AnimTask_DestinyBondWhiteShadow(u8 taskId) { struct Task *task; s16 battler; @@ -811,13 +811,13 @@ void sub_81123C4(u8 taskId) baseY = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM); if (!IsContest()) { - for (battler = 0; battler < 4; battler++) + for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { if (battler != gBattleAnimAttacker && battler != (gBattleAnimAttacker ^ 2) && IsBattlerSpriteVisible(battler)) { - spriteId = CreateSprite(&gUnknown_08596DB8, baseX, baseY, 55); + spriteId = CreateSprite(&gWhiteShadowSpriteTemplate, baseX, baseY, 55); if (spriteId != MAX_SPRITES) { x = GetBattlerSpriteCoord(battler, 2); @@ -839,7 +839,7 @@ void sub_81123C4(u8 taskId) } else { - spriteId = CreateSprite(&gUnknown_08596DB8, baseX, baseY, 55); + spriteId = CreateSprite(&gWhiteShadowSpriteTemplate, baseX, baseY, 55); if (spriteId != MAX_SPRITES) { x = 48; @@ -1029,7 +1029,7 @@ static void sub_8112994(u8 taskId) } } -static void sub_81129F0(struct Sprite *sprite) +static void AnimCurseNail(struct Sprite *sprite) { s16 xDelta; s16 xDelta2; @@ -1169,7 +1169,7 @@ static void sub_8112C4C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8112C6C(u8 taskId) +void AnimTask_GrudgeFlames(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1200,7 +1200,7 @@ static void sub_8112D10(u8 taskId) case 0: for (i = 0; i < 6; i++) { - spriteId = CreateSprite(&gUnknown_08596E30, task->data[9], task->data[10], task->data[6]); + spriteId = CreateSprite(&gGrudgeFlameSpriteTemplate, task->data[9], task->data[10], task->data[6]); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = taskId; @@ -1274,7 +1274,7 @@ static void sub_8112D10(u8 taskId) } } -static void sub_8112E9C(struct Sprite *sprite) +static void AnimGrudgeFlame(struct Sprite *sprite) { u16 index; diff --git a/src/ground.c b/src/ground.c index 676319498..4b67af389 100644 --- a/src/ground.c +++ b/src/ground.c @@ -6,25 +6,25 @@ #include "trig.h" #include "constants/rgb.h" -void AnimBonemerangProjectile(struct Sprite *); -void AnimBoneHitProjectile(struct Sprite *); -void AnimDirtScatter(struct Sprite *); -void AnimMudSportDirt(struct Sprite *); -void AnimFissureDirtPlumeParticle(struct Sprite *); -void AnimDigDirtMound(struct Sprite *); +static void AnimBonemerangProjectile(struct Sprite *); +static void AnimBoneHitProjectile(struct Sprite *); +static void AnimDirtScatter(struct Sprite *); +static void AnimMudSportDirt(struct Sprite *); +static void AnimDirtPlumeParticle(struct Sprite *); +static void AnimDigDirtMound(struct Sprite *); static void AnimBonemerangProjectileStep(struct Sprite *); static void AnimBonemerangProjectileEnd(struct Sprite *); static void AnimMudSportDirtRising(struct Sprite *); static void AnimMudSportDirtFalling(struct Sprite *); -static void sub_8114CFC(u8); -static void sub_8114EB4(u8); -static void sub_8114F54(u8); -static void sub_8114FD8(u8); +static void AnimTask_DigBounceMovement(u8); +static void AnimTask_DigEndBounceMovementSetInvisible(u8); +static void AnimTask_DigSetVisibleUnderground(u8); +static void AnimTask_DigRiseUpFromHole(u8); static void sub_81150E0(u8, s16, s16); -static void AnimFissureDirtPlumeParticleStep(struct Sprite *); -static void sub_81153AC(u8); -static void sub_81154A4(u8); -static void sub_8115588(struct Task *); +static void AnimDirtPlumeParticleStep(struct Sprite *); +static void AnimTask_ShakeTerrain(u8); +static void AnimTask_ShakeBattlers(u8); +static void SetBattlersXOffsetForShake(struct Task *); static void sub_81156D0(u8); const union AffineAnimCmd gUnknown_08597150[] = @@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_085971E4 = .callback = AnimMudSportDirt, }; -const struct SpriteTemplate gUnknown_085971FC = +const struct SpriteTemplate gDirtPlumeSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -123,10 +123,10 @@ const struct SpriteTemplate gUnknown_085971FC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimFissureDirtPlumeParticle, + .callback = AnimDirtPlumeParticle, }; -const struct SpriteTemplate gUnknown_08597214 = +const struct SpriteTemplate gDirtMoundSpriteTemplate = { .tileTag = ANIM_TAG_DIRT_MOUND, .paletteTag = ANIM_TAG_DIRT_MOUND, @@ -139,7 +139,7 @@ const struct SpriteTemplate gUnknown_08597214 = // Moves a bone projectile towards the target mon, which moves like // a boomerang. After hitting the target mon, it comes back to the user. -void AnimBonemerangProjectile(struct Sprite *sprite) +static void AnimBonemerangProjectile(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); @@ -181,7 +181,7 @@ static void AnimBonemerangProjectileEnd(struct Sprite *sprite) // arg 2: target x pixel offset // arg 3: target y pixel offset // arg 4: duration -void AnimBoneHitProjectile(struct Sprite *sprite) +static void AnimBoneHitProjectile(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -200,7 +200,7 @@ void AnimBoneHitProjectile(struct Sprite *sprite) // arg 2: duration // arg 3: target x pixel offset // arg 4: target y pixel offset -void AnimDirtScatter(struct Sprite *sprite) +static void AnimDirtScatter(struct Sprite *sprite) { u8 targetXPos, targetYPos; s16 xOffset, yOffset; @@ -229,7 +229,7 @@ void AnimDirtScatter(struct Sprite *sprite) // arg 0: 0 = dirt is rising into the air, 1 = dirt is falling down // arg 1: initial x pixel offset // arg 2: initial y pixel offset -void AnimMudSportDirt(struct Sprite *sprite) +static void AnimMudSportDirt(struct Sprite *sprite) { sprite->oam.tileNum++; if (gBattleAnimArgs[0] == 0) @@ -285,19 +285,19 @@ static void AnimMudSportDirtFalling(struct Sprite *sprite) } } -void sub_8114CBC(u8 taskId) +void AnimTask_DigDownMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[0] == 0) - task->func = sub_8114CFC; + if (gBattleAnimArgs[0] == FALSE) + task->func = AnimTask_DigBounceMovement; else - task->func = sub_8114EB4; + task->func = AnimTask_DigEndBounceMovementSetInvisible; task->func(taskId); } -static void sub_8114CFC(u8 taskId) +static void AnimTask_DigBounceMovement(u8 taskId) { u8 var0; struct Task *task = &gTasks[taskId]; @@ -305,7 +305,7 @@ static void sub_8114CFC(u8 taskId) switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); + task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); if (task->data[11] == 1) { @@ -368,10 +368,10 @@ static void sub_8114CFC(u8 taskId) } } -static void sub_8114EB4(u8 taskId) +static void AnimTask_DigEndBounceMovementSetInvisible(u8 taskId) { - u8 spriteId = GetAnimBattlerSpriteId(0); - gSprites[spriteId].invisible = 1; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gSprites[spriteId].invisible = TRUE; gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.y = 0; @@ -383,27 +383,27 @@ static void sub_8114EB4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8114F14(u8 taskId) +void AnimTask_DigUpMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[0] == 0) - task->func = sub_8114F54; + if (gBattleAnimArgs[0] == FALSE) + task->func = AnimTask_DigSetVisibleUnderground; else - task->func = sub_8114FD8; + task->func = AnimTask_DigRiseUpFromHole; task->func(taskId); } -static void sub_8114F54(u8 taskId) +static void AnimTask_DigSetVisibleUnderground(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); - gSprites[task->data[10]].invisible = 0; + task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gSprites[task->data[10]].invisible = FALSE; gSprites[task->data[10]].pos2.x = 0; gSprites[task->data[10]].pos2.y = 160 - gSprites[task->data[10]].pos1.y; task->data[0]++; @@ -413,7 +413,7 @@ static void sub_8114F54(u8 taskId) } } -static void sub_8114FD8(u8 taskId) +static void AnimTask_DigRiseUpFromHole(u8 taskId) { u8 var0; struct Task *task = &gTasks[taskId]; @@ -421,7 +421,7 @@ static void sub_8114FD8(u8 taskId) switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); + task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); if (task->data[11] == 1) task->data[12] = gBattle_BG1_X; @@ -501,7 +501,7 @@ static void sub_81150E0(u8 useBG1, s16 y, s16 endY) // arg 3: target y offset // arg 4: wave amplitude // arg 5: duration -void AnimFissureDirtPlumeParticle(struct Sprite *sprite) +void AnimDirtPlumeParticle(struct Sprite *sprite) { s8 battler; s16 xOffset; @@ -525,10 +525,10 @@ void AnimFissureDirtPlumeParticle(struct Sprite *sprite) sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[4]; InitAnimArcTranslation(sprite); - sprite->callback = AnimFissureDirtPlumeParticleStep; + sprite->callback = AnimDirtPlumeParticleStep; } -static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite) +static void AnimDirtPlumeParticleStep(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); @@ -540,7 +540,7 @@ static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite) // arg 0: which mon (0 = attacker, 1 = target) // arg 1: oam tile num (0 = left half of image, 1 = right half of image) // arg 2: duration -void AnimDigDirtMound(struct Sprite *sprite) +static void AnimDigDirtMound(struct Sprite *sprite) { s8 battler; @@ -557,156 +557,180 @@ void AnimDigDirtMound(struct Sprite *sprite) sprite->callback = WaitAnimForDuration; } -void sub_81152DC(u8 taskId) + +#define tState data[0] +#define tDelay data[1] +#define tTimer data[2] +#define tMaxTime data[3] +#define tbattlerSpriteIds(i) data[9 + (i)] +#define tNumBattlers data[13] // AnimTask_ShakeBattlers +#define tInitialX data[13] // AnimTask_ShakeTerrain +#define tHorizOffset data[14] +#define tInitHorizOffset data[15] + +// Shakes battler(s) or the battle terrain back and forth horizontally. Used by e.g. Earthquake, Eruption +// arg0: What to shake. 0-3 for any specific battler, MAX_BATTLERS_COUNT for all battlers, MAX_BATTLERS_COUNT + 1 for the terrain +// arg1: Shake intensity, used to calculate horizontal pixel offset (if 0, use move power instead) +// arg2: Length of time to shake for +void AnimTask_HorizontalShake(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[1]) - task->data[14] = task->data[15] = gBattleAnimArgs[1] + 3; + if (gBattleAnimArgs[1] != 0) + task->tHorizOffset = task->tInitHorizOffset = gBattleAnimArgs[1] + 3; else - task->data[14] = task->data[15] = (gAnimMovePower / 10) + 3; + task->tHorizOffset = task->tInitHorizOffset = (gAnimMovePower / 10) + 3; - task->data[3] = gBattleAnimArgs[2]; + task->tMaxTime = gBattleAnimArgs[2]; switch (gBattleAnimArgs[0]) { - case 5: - task->data[13] = gBattle_BG3_X; - task->func = sub_81153AC; + case MAX_BATTLERS_COUNT + 1: // Shake terrain + task->tInitialX = gBattle_BG3_X; + task->func = AnimTask_ShakeTerrain; break; - case 4: - task->data[13] = 0; + case MAX_BATTLERS_COUNT: // Shake all battlers + task->tNumBattlers = 0; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (IsBattlerSpriteVisible(i)) { - task->data[task->data[13] + 9] = gBattlerSpriteIds[i]; - task->data[13]++; + task->tbattlerSpriteIds(task->tNumBattlers) = gBattlerSpriteIds[i]; + task->tNumBattlers++; } } - task->func = sub_81154A4; + task->func = AnimTask_ShakeBattlers; break; - default: - task->data[9] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - if (task->data[9] == 0xFF) + default: // Shake specific battler + task->tbattlerSpriteIds(0) = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (task->tbattlerSpriteIds(0) == 0xFF) { DestroyAnimVisualTask(taskId); } else { - task->data[13] = 1; - task->func = sub_81154A4; + task->tNumBattlers = 1; + task->func = AnimTask_ShakeBattlers; } - break; } } -static void sub_81153AC(u8 taskId) +static void AnimTask_ShakeTerrain(u8 taskId) { struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - if ((task->data[2] & 1) == 0) - gBattle_BG3_X = task->data[13] + task->data[15]; + task->tDelay = 0; + if ((task->tTimer & 1) == 0) + gBattle_BG3_X = task->tInitialX + task->tInitHorizOffset; else - gBattle_BG3_X = task->data[13] - task->data[15]; + gBattle_BG3_X = task->tInitialX - task->tInitHorizOffset; - if (++task->data[2] == task->data[3]) + if (++task->tTimer == task->tMaxTime) { - task->data[2] = 0; - task->data[14]--; - task->data[0]++; + task->tTimer = 0; + task->tHorizOffset--; + task->tState++; } } break; case 1: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - if ((task->data[2] & 1) == 0) - gBattle_BG3_X = task->data[13] + task->data[14]; + task->tDelay = 0; + if ((task->tTimer & 1) == 0) + gBattle_BG3_X = task->tInitialX + task->tHorizOffset; else - gBattle_BG3_X = task->data[13] - task->data[14]; + gBattle_BG3_X = task->tInitialX - task->tHorizOffset; - if (++task->data[2] == 4) + if (++task->tTimer == 4) { - task->data[2] = 0; - if (--task->data[14] == 0) - task->data[0]++; + task->tTimer = 0; + if (--task->tHorizOffset == 0) + task->tState++; } } break; case 2: - gBattle_BG3_X = task->data[13]; + gBattle_BG3_X = task->tInitialX; DestroyAnimVisualTask(taskId); break; } } -static void sub_81154A4(u8 taskId) +static void AnimTask_ShakeBattlers(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - sub_8115588(task); - if (++task->data[2] == task->data[3]) + task->tDelay = 0; + SetBattlersXOffsetForShake(task); + if (++task->tTimer == task->tMaxTime) { - task->data[2] = 0; - task->data[14]--; - task->data[0]++; + task->tTimer = 0; + task->tHorizOffset--; + task->tState++; } } break; case 1: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - sub_8115588(task); - if (++task->data[2] == 4) + task->tDelay = 0; + SetBattlersXOffsetForShake(task); + if (++task->tTimer == 4) { - task->data[2] = 0; - if (--task->data[14] == 0) - task->data[0]++; + task->tTimer = 0; + if (--task->tHorizOffset == 0) + task->tState++; } } break; case 2: - for (i = 0; i < task->data[13]; i++) - gSprites[task->data[9 + i]].pos2.x = 0; + for (i = 0; i < task->tNumBattlers; i++) + gSprites[task->tbattlerSpriteIds(i)].pos2.x = 0; DestroyAnimVisualTask(taskId); break; } } -static void sub_8115588(struct Task *task) +static void SetBattlersXOffsetForShake(struct Task *task) { u16 i; u16 xOffset; - if ((task->data[2] & 1) == 0) - xOffset = (task->data[14] / 2) + (task->data[14] & 1); + if ((task->tTimer & 1) == 0) + xOffset = (task->tHorizOffset / 2) + (task->tHorizOffset & 1); else - xOffset = -(task->data[14] / 2); + xOffset = -(task->tHorizOffset / 2); - for (i = 0; i < task->data[13]; i++) + for (i = 0; i < task->tNumBattlers; i++) { - gSprites[task->data[9 + i]].pos2.x = xOffset; + gSprites[task->tbattlerSpriteIds(i)].pos2.x = xOffset; } } +#undef tState +#undef tDelay +#undef tTimer +#undef tMaxTime +#undef tbattlerSpriteIds +#undef tNumBattlers +#undef tInitialX +#undef tHorizOffset +#undef tInitHorizOffset + void AnimTask_IsPowerOver99(u8 taskId) { gBattleAnimArgs[15] = gAnimMovePower > 99; diff --git a/src/ice.c b/src/ice.c index e447a1b74..933ed05c1 100644 --- a/src/ice.c +++ b/src/ice.c @@ -979,8 +979,8 @@ void AnimSwirlingFogAnim(struct Sprite *sprite) } } -// Fades mons to black and places foggy overlay in Haze. -void AnimTask_Haze1(u8 taskId) +// Adds moving foggy overlay. Used by Haze. +void AnimTask_HazeScrollingFog(u8 taskId) { struct BattleAnimBgData animBg; @@ -1330,7 +1330,7 @@ void MovePoisonGasCloud(struct Sprite *sprite) } // Creates Hail. -void AnimTask_Hail1(u8 taskId) +void AnimTask_HailStart(u8 taskId) { struct Task *task = &gTasks[taskId]; diff --git a/src/normal.c b/src/normal.c index d0363db04..4d192e6f9 100644 --- a/src/normal.c +++ b/src/normal.c @@ -12,12 +12,12 @@ u32 UnpackSelectedBattleAnimPalettes(s16); void sub_81158A4(struct Sprite *); void sub_81159B4(struct Sprite *); void sub_81160A4(struct Sprite *); -void sub_8116388(struct Sprite *); +static void AnimBasicHitSplat(struct Sprite *); void sub_8116420(struct Sprite *); -void sub_8116458(struct Sprite *); -void sub_81164F0(struct Sprite *); +static void AnimHitSplatRandom(struct Sprite *); +static void AnimExtremeSpeedHitSplat(struct Sprite *); void sub_8116560(struct Sprite *); -void sub_81165A8(struct Sprite *); +static void AnimFlashingHitSplat(struct Sprite *); static void AnimConfusionDuckStep(struct Sprite *); static void AnimSimplePaletteBlendStep(struct Sprite *); static void sub_81158F8(struct Sprite *); @@ -173,7 +173,7 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_8116388, + .callback = AnimBasicHitSplat, }; const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 = @@ -195,10 +195,10 @@ const struct SpriteTemplate gWaterHitSplatSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_8116388, + .callback = AnimBasicHitSplat, }; -const struct SpriteTemplate gUnknown_085973A0 = +const struct SpriteTemplate gRandomPosHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, @@ -206,10 +206,10 @@ const struct SpriteTemplate gUnknown_085973A0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_8116458, + .callback = AnimHitSplatRandom, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 = +const struct SpriteTemplate gExtremeSpeedHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, @@ -217,10 +217,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_81164F0, + .callback = AnimExtremeSpeedHitSplat, }; -const struct SpriteTemplate gUnknown_085973D0 = +const struct SpriteTemplate gCrossImpactSpriteTemplate = { .tileTag = ANIM_TAG_CROSS_IMPACT, .paletteTag = ANIM_TAG_CROSS_IMPACT, @@ -231,7 +231,7 @@ const struct SpriteTemplate gUnknown_085973D0 = .callback = sub_8116560, }; -const struct SpriteTemplate gUnknown_085973E8 = +const struct SpriteTemplate gFlashingHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, @@ -239,7 +239,7 @@ const struct SpriteTemplate gUnknown_085973E8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_81165A8, + .callback = AnimFlashingHitSplat, }; const struct SpriteTemplate gUnknown_08597400 = @@ -414,12 +414,12 @@ void sub_81159B4(struct Sprite *sprite) } // Task data for AnimTask_BlendCycleMonColor -#define tPalSelector data[0] -#define tDelay data[1] -#define tNumBlends data[2] -#define tInitialBlendY data[3] -#define tTargetBlendY data[4] -#define tBlendColor data[5] +#define tPalSelector data[0] // arg0 +#define tDelay data[1] // arg1 +#define tNumBlends data[2] // arg2 +#define tInitialBlendY data[3] // arg3 +#define tTargetBlendY data[4] // arg4 +#define tBlendColor data[5] // arg5 #define tRestoreBlend data[8] // Blends mon sprite to designated color or back alternately tNumBlends times @@ -703,7 +703,7 @@ static void sub_8115EB8(u8 taskId) } } -void sub_8115F10(u8 taskId) +void AnimTask_InvertScreenColor(u8 taskId) { u32 selectedPalettes = 0; u8 attackerBattler = gBattleAnimAttacker; @@ -895,10 +895,10 @@ static void sub_81162F8(u8 taskId) } } -void sub_8116388(struct Sprite *sprite) +static void AnimBasicHitSplat(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -910,7 +910,7 @@ void sub_8116388(struct Sprite *sprite) static void sub_81163D0(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -925,16 +925,16 @@ void sub_8116420(struct Sprite *sprite) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest()) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sub_8116388(sprite); + AnimBasicHitSplat(sprite); } -void sub_8116458(struct Sprite *sprite) +static void AnimHitSplatRandom(struct Sprite *sprite) { if (gBattleAnimArgs[1] == -1) gBattleAnimArgs[1] = Random2() & 3; StartSpriteAffineAnim(sprite, gBattleAnimArgs[1]); - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 0); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -946,7 +946,7 @@ void sub_8116458(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -void sub_81164F0(struct Sprite *sprite) +static void AnimExtremeSpeedHitSplat(struct Sprite *sprite) { sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x; @@ -960,7 +960,7 @@ void sub_81164F0(struct Sprite *sprite) void sub_8116560(struct Sprite *sprite) { - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -970,10 +970,10 @@ void sub_8116560(struct Sprite *sprite) sprite->callback = WaitAnimForDuration; } -void sub_81165A8(struct Sprite *sprite) +static void AnimFlashingHitSplat(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); diff --git a/src/psychic.c b/src/psychic.c index d7bbac957..804cd38f7 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -158,7 +158,7 @@ const struct SpriteTemplate gUnknown_08596624 = .callback = sub_810F58C, }; -const struct SpriteTemplate gUnknown_0859663C = +const struct SpriteTemplate gGoldRingSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, @@ -947,7 +947,9 @@ void sub_810FDF0(struct Sprite *sprite) } } -void sub_810FE14(u8 taskId) +// The scanline effect that distorts the target during Extrasensory by segmenting the mon vertically and shifting the slices +// arg0: Stage. Stage 0 is a slight right distortion, 1 is a medium left distortion, and 2 is a severe right distortion +void AnimTask_ExtrasensoryDistortion(u8 taskId) { s16 i; u8 yOffset; @@ -1045,7 +1047,9 @@ static void sub_810FF34(u8 taskId) } } -void sub_8110034(u8 taskId) +// Creates a cloned transparent sprite of the battler that grows and then shrinks back to original size. Used by Extrasensory +// arg0: battler +void AnimTask_TransparentCloneGrowAndShrink(u8 taskId) { s16 spriteId; s16 matrixNum; diff --git a/src/rock.c b/src/rock.c index 8496ead58..6d0431fbc 100644 --- a/src/rock.c +++ b/src/rock.c @@ -14,7 +14,7 @@ extern const union AnimCmd *const gUnknown_085954D0[]; void sub_81109F0(struct Sprite *); void sub_8110AB4(struct Sprite *); -void AnimDirtParticleAcrossScreen(struct Sprite *); +static void AnimDirtParticleAcrossScreen(struct Sprite *); void AnimRaiseSprite(struct Sprite *); void sub_81110A4(u8 taskId); void sub_811131C(struct Sprite *); @@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_08596B70 = .callback = sub_8110B38, }; -const struct SpriteTemplate gUnknown_08596B88 = +const struct SpriteTemplate gFireSpinSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -123,7 +123,7 @@ const struct SpriteTemplate gUnknown_08596B88 = .callback = sub_8110B38, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 = +const struct SpriteTemplate gFlyingDirtSpriteTemplate = { .tileTag = ANIM_TAG_FLYING_DIRT, .paletteTag = ANIM_TAG_FLYING_DIRT, @@ -499,7 +499,7 @@ static void sub_8110CB0(u8 taskId) // arg 1: projectile speed // arg 2: y pixel drop // arg 3: ??? unknown (possibly a color bit) -void AnimDirtParticleAcrossScreen(struct Sprite *sprite) +static void AnimDirtParticleAcrossScreen(struct Sprite *sprite) { if (sprite->data[0] == 0) { diff --git a/src/water.c b/src/water.c index 1a66835fb..b109d21a4 100644 --- a/src/water.c +++ b/src/water.c @@ -21,13 +21,13 @@ void sub_8107408(struct Sprite *); void sub_8107430(struct Sprite *); static void AnimAuroraBeamRings(struct Sprite *); void sub_81074E4(struct Sprite *); -void sub_81075EC(struct Sprite *); +static void AnimToTargetInSinWave(struct Sprite *); void sub_8107674(struct Sprite *); -void sub_8107730(struct Sprite *); -void sub_81077A4(struct Sprite *); -void sub_81077C0(struct Sprite *); +static void AnimHydroCannonCharge(struct Sprite *); +static void AnimWaitForHydroCannonChargeEnd(struct Sprite *); +static void AnimHydroCannonBeam(struct Sprite *); void sub_8107894(struct Sprite *); -void sub_81078D0(struct Sprite *); +static void AnimSmallBubblePair(struct Sprite *); void sub_810790C(struct Sprite *); void sub_8108034(struct Sprite *); void sub_8108098(struct Sprite *); @@ -41,7 +41,7 @@ void sub_8108C08(struct Sprite *); void sub_8108C54(struct Sprite *); void AnimWaterPulseRing_Step(struct Sprite *); void sub_810756C(u8); -void sub_81076F4(u8); +static void AnimTask_RunSinAnimTimer(u8); void sub_8107B84(u8); void sub_8107CC4(u8); void sub_8107D58(u8); @@ -181,7 +181,7 @@ const union AnimCmd *const gUnknown_085950E0[] = gUnknown_085950CC, }; -const struct SpriteTemplate gUnknown_085950E4 = +const struct SpriteTemplate gHydroPumpOrbSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, @@ -189,7 +189,7 @@ const struct SpriteTemplate gUnknown_085950E4 = .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const struct SpriteTemplate gUnknown_085950FC = @@ -200,7 +200,7 @@ const struct SpriteTemplate gUnknown_085950FC = .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const struct SpriteTemplate gUnknown_08595114 = @@ -211,7 +211,7 @@ const struct SpriteTemplate gUnknown_08595114 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const struct SpriteTemplate gUnknown_0859512C = @@ -222,7 +222,7 @@ const struct SpriteTemplate gUnknown_0859512C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const union AnimCmd gUnknown_08595144[] = @@ -238,7 +238,7 @@ const union AnimCmd *const gUnknown_08595154[] = gUnknown_08595144, }; -const struct SpriteTemplate gUnknown_08595158 = +const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -246,7 +246,7 @@ const struct SpriteTemplate gUnknown_08595158 = .anims = gUnknown_08595154, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const struct SpriteTemplate gUnknown_08595170 = @@ -257,7 +257,7 @@ const struct SpriteTemplate gUnknown_08595170 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gGrowingRingAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const union AffineAnimCmd gUnknown_08595188[] = @@ -284,7 +284,7 @@ const union AffineAnimCmd *const gUnknown_085951BC[] = gUnknown_085951A8, }; -const struct SpriteTemplate gUnknown_085951C0 = +const struct SpriteTemplate gHydroCannonChargeSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, @@ -292,10 +292,10 @@ const struct SpriteTemplate gUnknown_085951C0 = .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_085951B8, - .callback = sub_8107730, + .callback = AnimHydroCannonCharge, }; -const struct SpriteTemplate gUnknown_085951D8 = +const struct SpriteTemplate gHydroCannonBeamSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, @@ -303,7 +303,7 @@ const struct SpriteTemplate gUnknown_085951D8 = .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_085951BC, - .callback = sub_81077C0, + .callback = AnimHydroCannonBeam, }; const union AnimCmd gUnknown_085951F0[] = @@ -352,16 +352,16 @@ const struct SpriteTemplate gUnknown_08595220 = const struct SpriteTemplate gSmallBubblePairSpriteTemplate = { - .tileTag = ANIM_TAG_ICE_CRYSTALS, + .tileTag = ANIM_TAG_ICE_CRYSTALS, // Little confusing. ice_crystals_4, which are basically bubbles. TODO: rename? .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AB8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81078D0, + .callback = AnimSmallBubblePair, }; -const struct SpriteTemplate gUnknown_08595250 = +const struct SpriteTemplate gSmallDriftingBubblesSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, @@ -721,7 +721,8 @@ _081075DE:\n\ } #endif -void sub_81075EC(struct Sprite *sprite) +// For animating undulating beam attacks (e.g. Flamethrower, Hydro Pump, Signal Beam) +static void AnimToTargetInSinWave(struct Sprite *sprite) { u16 retArg; @@ -764,21 +765,22 @@ void sub_8107674(struct Sprite *sprite) } } -void sub_81076C8(u8 taskId) +void AnimTask_StartSinAnimTimer(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; gBattleAnimArgs[ARG_RET_ID] = 0; - gTasks[taskId].func = sub_81076F4; + gTasks[taskId].func = AnimTask_RunSinAnimTimer; } -void sub_81076F4(u8 taskId) +static void AnimTask_RunSinAnimTimer(u8 taskId) { gBattleAnimArgs[ARG_RET_ID] = (gBattleAnimArgs[ARG_RET_ID] + 3) & 0xFF; if (--gTasks[taskId].data[0] == 0) DestroyAnimVisualTask(taskId); } -void sub_8107730(struct Sprite *sprite) +// Flashing blue orbs grow in size near the attacker. First stage of Hydro Cannon +static void AnimHydroCannonCharge(struct Sprite *sprite) { u8 priority; @@ -804,16 +806,17 @@ void sub_8107730(struct Sprite *sprite) sprite->pos2.x = -10; sprite->subpriority = priority + 2; } - sprite->callback = sub_81077A4; + sprite->callback = AnimWaitForHydroCannonChargeEnd; } -void sub_81077A4(struct Sprite *sprite) +static void AnimWaitForHydroCannonChargeEnd(struct Sprite *sprite) { if (sprite->affineAnimEnded) DestroyAnimSprite(sprite); } -void sub_81077C0(struct Sprite *sprite) +// Flashing blue orbs move from the attacker to the target. Second stage of Hydro Cannon +static void AnimHydroCannonBeam(struct Sprite *sprite) { bool8 animType; u8 coordType; @@ -851,9 +854,9 @@ void sub_8107894(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_81078D0(struct Sprite *sprite) +static void AnimSmallBubblePair(struct Sprite *sprite) { - if (gBattleAnimArgs[3]) + if (gBattleAnimArgs[3] != ANIM_ATTACKER) InitSpritePosToAnimTarget(sprite, TRUE); else InitSpritePosToAnimAttacker(sprite, TRUE); @@ -1719,17 +1722,17 @@ void sub_810862C(u8 taskId) } if (task->data[10] != 0 && task->data[13] == 0) { - gBattleAnimArgs[0] = 1; + gBattleAnimArgs[0] = ANIM_TARGET; gBattleAnimArgs[1] = 0; gBattleAnimArgs[2] = 12; - taskId2 = CreateTask(sub_81152DC, 80); + taskId2 = CreateTask(AnimTask_HorizontalShake, 80); if (taskId2 != 0xFF) { gTasks[taskId2].func(taskId2); gAnimVisualTaskCount++; } - gBattleAnimArgs[0] = 3; - taskId2 = CreateTask(sub_81152DC, 80); + gBattleAnimArgs[0] = ANIM_DEF_PARTNER; + taskId2 = CreateTask(AnimTask_HorizontalShake, 80); if (taskId2 != 0xFF) { gTasks[taskId2].func(taskId2);