diff options
-rw-r--r-- | data/battle_anim_scripts.s | 698 | ||||
-rw-r--r-- | include/random.h | 2 | ||||
-rwxr-xr-x | src/battle_anim_effects_2.c | 2 | ||||
-rwxr-xr-x | src/battle_anim_effects_3.c | 3 | ||||
-rw-r--r-- | src/battle_anim_mon_movement.c | 2 | ||||
-rw-r--r-- | src/battle_anim_utility_funcs.c | 16 | ||||
-rw-r--r-- | src/dark.c | 17 | ||||
-rw-r--r-- | src/electric.c | 27 | ||||
-rw-r--r-- | src/fight.c | 11 | ||||
-rw-r--r-- | src/fire.c | 15 | ||||
-rw-r--r-- | src/flying.c | 16 | ||||
-rw-r--r-- | src/ghost.c | 16 | ||||
-rw-r--r-- | src/ground.c | 4 | ||||
-rw-r--r-- | src/ice.c | 10 | ||||
-rw-r--r-- | src/intro.c | 4 | ||||
-rw-r--r-- | src/normal.c | 81 | ||||
-rw-r--r-- | src/poison.c | 16 | ||||
-rw-r--r-- | src/psychic.c | 25 | ||||
-rw-r--r-- | src/rock.c | 2 | ||||
-rw-r--r-- | src/water.c | 26 |
20 files changed, 516 insertions, 477 deletions
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index fd1ded459..40d8813f2 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -134,7 +134,7 @@ gBattleAnims_Moves:: .4byte Move_FOCUS_ENERGY .4byte Move_BIDE .4byte Move_METRONOME - .4byte Move_MIRROR_MOVE @ doesn't have an actual animation + .4byte Move_MIRROR_MOVE @ doesnt have an actual animation .4byte Move_SELF_DESTRUCT .4byte Move_EGG_BOMB .4byte Move_LICK @@ -686,7 +686,7 @@ Move_FLAME_WHEEL: createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 8, 1 createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_TARGET, RGB_RED, 12, 1, 1 playsewithpan SE_W172B, SOUND_PAN_TARGET - call FireMoveEffect + call FireSpreadEffect delay 7 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 9 waitforvisualfinish @@ -797,14 +797,14 @@ Move_DOUBLE_EDGE: createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, 1, 0 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -32, 0, 0, 3 waitforvisualfinish - createvisualtask sub_80D6134, 2, 8, -256, 0, 0 - createvisualtask sub_80D6134, 2, 8, -256, 1, 0 + createvisualtask AminTask_DipMonSpriteToSide, 2, 8, -256, 0, 0 + createvisualtask AminTask_DipMonSpriteToSide, 2, 8, -256, 1, 0 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_WHITE waitforvisualfinish - createvisualtask sub_80D6134, 2, 8, -256, 0, 1 - createvisualtask sub_80D6134, 2, 8, -256, 1, 1 + createvisualtask AminTask_DipMonSpriteToSide, 2, 8, -256, 0, 1 + createvisualtask AminTask_DipMonSpriteToSide, 2, 8, -256, 1, 1 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5 delay 3 @@ -855,9 +855,9 @@ Move_TWINEEDLE: Move_FIRE_BLAST: loadspritegfx ANIM_TAG_SMALL_EMBER createsoundtask sub_8158B30, 144, 145 - call FireBlast1 - call FireBlast1 - call FireBlast1 + call FireBlastRing + call FireBlastRing + call FireBlastRing delay 24 createvisualtask sub_8116620, 10, 1, 3, 0, 8, RGB_BLACK waitforvisualfinish @@ -884,20 +884,20 @@ Move_FIRE_BLAST: createvisualtask sub_8116620, 10, 1, 2, 8, 0, RGB_BLACK waitforvisualfinish end -FireBlast1: - createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 0 - createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 51 - createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 102 - createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 153 - createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 204 +FireBlastRing: + createsprite gFireBlastRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0 + createsprite gFireBlastRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 51 + createsprite gFireBlastRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 102 + createsprite gFireBlastRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 153 + createsprite gFireBlastRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 204 delay 5 return FireBlast2: - createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 10, 0, -2 - createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 13, -2, 0 - createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 13, 2, 0 - createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 15, -2, 2 - createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 15, 2, 2 + 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 + createsprite gFireBlastCrossSpriteTemplate, ANIM_TARGET, 2, 0, 0, 15, -2, 2 + createsprite gFireBlastCrossSpriteTemplate, ANIM_TARGET, 2, 0, 0, 15, 2, 2 return Move_LEECH_SEED: @@ -1249,7 +1249,7 @@ Move_REVERSAL: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB_WHITE, 8, 0, 0 waitforvisualfinish delay 30 - createvisualtask sub_8115A04, 2, 31, 3, 2, 0, 10, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 31, 3, 2, 0, 10, RGB_WHITE delay 10 playsewithpan SE_W179, SOUND_PAN_ATTACKER createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 0 @@ -1548,28 +1548,28 @@ Move_WATERFALL: createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 23, 1 delay 5 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 10, 10, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 25, 0 delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -15, 0, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 25, 0 delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 20, 10, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 20, 10, 25, 0 delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 0, -10, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 25, 0 delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -10, 15, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -10, 15, 25, 0 delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 25, 20, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 25, 20, 25, 0 delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -20, 20, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -20, 20, 25, 0 delay 4 playsewithpan SE_W152, SOUND_PAN_ATTACKER - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 12, 0, 25, 0 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 12, 0, 25, 0 waitforvisualfinish delay 10 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 5 @@ -1583,39 +1583,39 @@ Move_WATERFALL: UnderWaterAttack1: playsewithpan SE_W127, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 17, 1 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 20, 1, 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 delay 2 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 15, 1, 1 + 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 delay 2 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 10, 1, 1 + 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 delay 2 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 5, 1, 1 + 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 delay 2 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 0, 1, 1 + 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 delay 2 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, -5, 1, 1 + 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 delay 2 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, -10, 1, 1 + 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 delay 2 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, -15, 1, 1 + 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 delay 2 - createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, -20, 1, 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 return @@ -1807,7 +1807,7 @@ Move_SAFEGUARD: createsprite gGuardRingSpriteTemplate, ANIM_ATTACKER, 2 waitforvisualfinish playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER - createvisualtask sub_8115A04, 2, 10, 0, 2, 0, 10, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 10, 0, 2, 0, 10, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff @@ -1899,7 +1899,7 @@ Move_PAY_DAY: Move_OUTRAGE: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_W082, SOUND_PAN_ATTACKER, 8, 3 - createvisualtask sub_8115A04, 2, 7, 2, 5, 3, 8, RGB(14, 13, 0) + createvisualtask AnimTask_BlendCycleMonColor, 2, 7, 2, 5, 3, 8, RGB(14, 13, 0) createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 5, 4 delay 0 createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 1280, 0, 3 @@ -1945,25 +1945,25 @@ Move_SPARK: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 - createvisualtask sub_8115A04, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22) + createvisualtask AnimTask_BlendCycleMonColor, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22) playsewithpan SE_W085B, SOUND_PAN_ATTACKER createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 32, 24, 190, 12, 0, 1, 0 delay 0 createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 80, 24, 22, 12, 0, 1, 0 createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 156, 24, 121, 13, 0, 1, 1 delay 0 - createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + createvisualtask AnimTask_BlendCycleMonColor, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) delay 10 - createvisualtask sub_8115A04, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22) + createvisualtask AnimTask_BlendCycleMonColor, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22) playsewithpan SE_W085B, SOUND_PAN_ATTACKER createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 100, 24, 60, 10, 0, 1, 0 createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 170, 24, 42, 11, 0, 1, 1 delay 0 createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 238, 24, 165, 10, 0, 1, 1 delay 0 - createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + createvisualtask AnimTask_BlendCycleMonColor, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) delay 20 - createvisualtask sub_8115A04, 2, 3, -31, 1, 7, 7, RGB(31, 31, 22) + createvisualtask AnimTask_BlendCycleMonColor, 2, 3, -31, 1, 7, 7, RGB(31, 31, 22) playsewithpan SE_W085B, SOUND_PAN_ATTACKER createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 32, 12, 0, 20, 0, 0 createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 32, 12, 64, 20, 1, 0 @@ -1975,14 +1975,14 @@ Move_SPARK: createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 16, 12, 224, 20, 2, 0 delay 4 waitforvisualfinish - createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + createvisualtask AnimTask_BlendCycleMonColor, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 4 playsewithpan SE_W063, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish - createvisualtask sub_8115A04, 2, 4, -31, 2, 0, 6, RGB(31, 31, 22) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, -31, 2, 0, 6, RGB(31, 31, 22) call ElectricityEffect waitforvisualfinish end @@ -2013,7 +2013,7 @@ Move_ATTRACT: createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 112, 256, 90 createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 200, 272, 90 delay 75 - createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27) end Move_GROWTH: @@ -2023,7 +2023,7 @@ Move_GROWTH: waitforvisualfinish end Growth1: - createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE + 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 return @@ -2054,11 +2054,11 @@ Move_CONFUSE_RAY: waitbgfadein createvisualtask sub_8159278, 2, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 0 createvisualtask sub_8115C80, 2, 10013, 0, 6, 0, 14, 351 - createsprite gUnknown_08596D14, ANIM_TARGET, 2, 28, 0, 288 + createsprite gConfuseRayBallBounceSpriteTemplate, ANIM_TARGET, 2, 28, 0, 288 waitforvisualfinish setalpha 8, 8 playsewithpan SE_W081B, SOUND_PAN_TARGET - createsprite gUnknown_08596D2C, ANIM_TARGET, 2, 0, -16 + createsprite gConfuseRayBallSpiralSpriteTemplate, ANIM_TARGET, 2, 0, -16 waitforvisualfinish delay 0 blendoff @@ -2193,33 +2193,33 @@ Move_BUBBLE_BEAM: monbgprio_28 ANIM_TARGET setalpha 12, 8 delay 1 - call Bulbblebeam1 + call BulbblebeamCreateBubbles createvisualtask AnimTask_SwayMon, 5, 0, 3, 3072, 8, ANIM_TARGET - call Bulbblebeam1 - call Bulbblebeam1 + call BulbblebeamCreateBubbles + call BulbblebeamCreateBubbles waitforvisualfinish - call WaterBubbleEffect + call WaterBubblesEffectShort waitforvisualfinish clearmonbg ANIM_TARGET blendoff end -Bulbblebeam1: - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 35, 70, 0, 256, 50 +BulbblebeamCreateBubbles: + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 70, 0, 256, 50 playsewithpan SE_W145, SOUND_PAN_ATTACKER delay 3 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 20, 40, -10, 256, 50 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 40, -10, 256, 50 playsewithpan SE_W145, SOUND_PAN_ATTACKER delay 3 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 10, -60, 0, 256, 50 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -60, 0, 256, 50 playsewithpan SE_W145, SOUND_PAN_ATTACKER delay 3 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 256, 50 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 256, 50 playsewithpan SE_W145, SOUND_PAN_ATTACKER delay 3 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 30, 10, -10, 256, 50 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, -10, 256, 50 playsewithpan SE_W145, SOUND_PAN_ATTACKER delay 3 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 256, 50 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 256, 50 playsewithpan SE_W145, SOUND_PAN_ATTACKER delay 3 return @@ -2249,15 +2249,15 @@ Move_ICY_WIND: waitbgfadein end IcyWind1: - createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, 0, 0, 0, 72, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_TARGET, 40, 0, 0, 0, 0, 72, 1 delay 5 - createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, 10, 0, 10, 72, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_TARGET, 40, 0, 10, 0, 10, 72, 1 delay 5 - createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, -10, 0, -10, 72, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_TARGET, 40, 0, -10, 0, -10, 72, 1 delay 5 - createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, 15, 0, 15, 72, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_TARGET, 40, 0, 15, 0, 15, 72, 1 delay 5 - createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, -5, 0, -5, 72, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_TARGET, 40, 0, -5, 0, -5, 72, 1 return Move_SMOKESCREEN: @@ -2440,7 +2440,7 @@ Move_HORN_ATTACK: Move_FURY_ATTACK: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT - createvisualtask sub_80D6134, 2, 4, 256, 0, 2 + createvisualtask AminTask_DipMonSpriteToSide, 2, 4, 256, 0, 2 choosetwoturnanim FuryAttackRight, FuryAttackLeft FuryAttackContinue: createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 @@ -2467,7 +2467,7 @@ Move_HORN_DRILL: jumpifcontest HornDrillInContest fadetobg BG_DRILL waitbgfadeout - createvisualtask sub_8117660, 5, -2304, 768, 1, -1 + createvisualtask AnimTask_StartSlidingBg, 5, -2304, 768, 1, -1 HornDrillContinue: waitbgfadein setalpha 12, 8 @@ -2525,7 +2525,7 @@ HornDrillContinue: HornDrillInContest: fadetobg BG_DRILL_CONTESTS waitbgfadeout - createvisualtask sub_8117660, 5, 2304, 768, 0, -1 + createvisualtask AnimTask_StartSlidingBg, 5, 2304, 768, 0, -1 goto HornDrillContinue Move_THRASH: @@ -2589,7 +2589,7 @@ Move_LOW_KICK: createsprite gUnknown_08595EE0, ANIM_TARGET, 2, -24, 28, 40, 8, 160, 0 delay 4 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 8, 1, 2 - createvisualtask sub_80D6134, 2, 6, 384, 1, 2 + createvisualtask AminTask_DipMonSpriteToSide, 2, 6, 384, 1, 2 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 @@ -2710,7 +2710,7 @@ Move_AGILITY: monbg ANIM_ATK_PARTNER setalpha 12, 8 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 4, 4 - createvisualtask sub_81169C0, 2, 0, 4, 7, 10 + createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 10 playsewithpan SE_W104, SOUND_PAN_ATTACKER delay 12 playsewithpan SE_W104, SOUND_PAN_ATTACKER @@ -2732,7 +2732,7 @@ Move_QUICK_ATTACK: monbg ANIM_ATK_PARTNER setalpha 12, 8 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 - createvisualtask sub_81169C0, 2, 0, 4, 7, 3 + createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 3 playsewithpan SE_W026, SOUND_PAN_ATTACKER delay 4 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 @@ -2834,7 +2834,7 @@ SkullBashSetUp1: createsprite gUnknown_0857FE88, ANIM_ATTACKER, 2, 0, -24, 0, 0, 10, 0 playsewithpan SE_W036, SOUND_PAN_ATTACKER waitforvisualfinish - createvisualtask sub_80D6134, 2, 16, 96, 0, 2 + createvisualtask AminTask_DipMonSpriteToSide, 2, 16, 96, 0, 2 waitforvisualfinish createsprite gUnknown_0857FE88, ANIM_ATTACKER, 2, 0, 24, 0, 0, 10, 1 waitforvisualfinish @@ -2858,7 +2858,7 @@ Move_AMNESIA: loadspritegfx ANIM_TAG_AMNESIA call SetPsychicBackground delay 8 - createsprite gUnknown_08596744, ANIM_ATTACKER, 20 + createsprite gAmnesiaQuestionMarkSpriteTemplate, ANIM_ATTACKER, 20 playsewithpan SE_W118, SOUND_PAN_ATTACKER delay 54 loopsewithpan SE_W118, SOUND_PAN_ATTACKER, 16, 3 @@ -2964,7 +2964,7 @@ SkyAttackUnleash: monbg ANIM_ATTACKER createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE delay 4 - createvisualtask sub_81136E8, 5, 0 + createvisualtask AnimTask_AttackerFadeToInvisible, 5, 0 waitforvisualfinish createvisualtask sub_8159244, 5, 238, SOUND_PAN_ATTACKER createsprite gUnknown_08596514, ANIM_TARGET, 2 @@ -2972,7 +2972,7 @@ SkyAttackUnleash: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1 createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET delay 20 - createvisualtask sub_81137E4, 5, 1 + createvisualtask AnimTask_AttackerFadeFromInvisible, 5, 1 delay 2 createvisualtask sub_8116620, 10, 2, 0, 15, 0, RGB_WHITE waitforvisualfinish @@ -3112,7 +3112,7 @@ Move_SPITE: playsewithpan SE_W060, SOUND_PAN_ATTACKER waitbgfadein monbg ANIM_DEF_PARTNER - createvisualtask sub_8115A04, 2, 2, 2, 6, 0, 8, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 2, 6, 0, 8, RGB_WHITE createvisualtask sub_8111E50, 2 loopsewithpan SE_W060, SOUND_PAN_TARGET, 20, 3 waitforvisualfinish @@ -3130,7 +3130,7 @@ Move_MACH_PUNCH: fadetobg BG_HIGHSPEED_OPPONENT MachPunchContinue: waitbgfadeout - createvisualtask sub_8117660, 5, -2304, 0, 1, -1 + createvisualtask AnimTask_StartSlidingBg, 5, -2304, 0, 1, -1 waitbgfadein delay 0 setalpha 9, 8 @@ -3197,7 +3197,7 @@ Move_ENDURE: playsewithpan SE_W082, SOUND_PAN_ATTACKER call EndureEffect delay 8 - createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 2, 2, 0, 11, RGB_RED createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 8 @@ -3390,7 +3390,7 @@ Move_EXTREME_SPEED: fadetobg BG_HIGHSPEED_OPPONENT ExtremeSpeedContinue: waitbgfadeout - createvisualtask sub_8117660, 5, -2304, 0, 1, -1 + createvisualtask AnimTask_StartSlidingBg, 5, -2304, 0, 1, -1 waitbgfadein createvisualtask AnimTask_StretchAttacker, 2 loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 3 @@ -3567,13 +3567,13 @@ Move_CHARGE: setalpha 12, 8 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB_BLACK waitforvisualfinish - createvisualtask sub_810AAFC, 2, 0, 60, 2, 12 + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 60, 2, 12 playsewithpan SE_W268, SOUND_PAN_ATTACKER delay 30 playsewithpan SE_W268, SOUND_PAN_ATTACKER delay 30 playsewithpan SE_W268, SOUND_PAN_ATTACKER - createsprite gUnknown_0859595C, ANIM_ATTACKER, 2, 0 + createsprite gGrowingElectricOrbSpriteTemplate, ANIM_ATTACKER, 2, 0 delay 25 playsewithpan SE_W268, SOUND_PAN_ATTACKER delay 20 @@ -3584,9 +3584,9 @@ Move_CHARGE: delay 6 loopsewithpan SE_W268, SOUND_PAN_ATTACKER, 6, 5 waitforvisualfinish - createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 0, 16, 16 + createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 16 delay 2 - createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 0, -16, -16 + createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 0, -16, -16 playsewithpan SE_W085B, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 4, 0, RGB_BLACK @@ -3873,13 +3873,13 @@ Move_CAMOUFLAGE: setalpha 16, 0 createvisualtask AnimTask_SetCamouflageBlend, 5, 2, 3, 0, 14 delay 16 - createvisualtask sub_81136E8, 2, 4 + createvisualtask AnimTask_AttackerFadeToInvisible, 2, 4 playsewithpan SE_W185, SOUND_PAN_ATTACKER waitforvisualfinish delay 8 createvisualtask AnimTask_SetCamouflageBlend, 5, 2, 0, 0, 0 waitforvisualfinish - createvisualtask sub_81137E4, 2, 1 + createvisualtask AnimTask_AttackerFadeFromInvisible, 2, 1 waitforvisualfinish blendoff clearmonbg ANIM_ATK_PARTNER @@ -4152,7 +4152,7 @@ Move_AROMATHERAPY: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 0, 7, 0, RGB(13, 31, 12) delay 1 playsewithpan SE_W287, SOUND_PAN_ATTACKER - createvisualtask sub_815DFCC, 2, 1 + createvisualtask AnimTask_StatusClearedEffect, 2, 1 waitforvisualfinish playsewithpan SE_W234, SOUND_PAN_ATTACKER createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 @@ -4344,7 +4344,7 @@ Move_AERIAL_ACE: monbg ANIM_TARGET setalpha 12, 8 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 - createvisualtask sub_81169C0, 2, 0, 4, 7, 3 + createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 3 createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0 playsewithpan SE_W013B, SOUND_PAN_ATTACKER delay 5 @@ -4437,17 +4437,17 @@ Move_VOLT_TACKLE: delay 8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 1, 16, 16 + createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 1, 16, 16 delay 2 - createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 1, -16, -16 + createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 1, -16, -16 delay 8 createvisualtask sub_810AE5C, 5 waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 3, 0, 9, 1 playsewithpan SE_W085B, SOUND_PAN_ATTACKER - createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 0, 16, 16 + createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 16 delay 2 - createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 0, -16, -16 + createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 0, -16, -16 waitforvisualfinish createvisualtask sub_8116620, 10, 1, 0, 8, 0, RGB_BLACK waitforvisualfinish @@ -4471,7 +4471,7 @@ Move_CALM_MIND: monbg ANIM_ATK_PARTNER createvisualtask sub_8116664, 5, 0, 0, 0, 16, RGB_BLACK waitforvisualfinish - createvisualtask sub_81177E4, 5, 1 + createvisualtask AnimTask_SetAllBattlersButAttackerInvisiblity, 5, TRUE waitforvisualfinish createsprite gThinRingShrinkingSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0 playsewithpan SE_W048, SOUND_PAN_ATTACKER @@ -4482,7 +4482,7 @@ Move_CALM_MIND: createsprite gThinRingShrinkingSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0 playsewithpan SE_W048, SOUND_PAN_ATTACKER waitforvisualfinish - createvisualtask sub_81177E4, 5, 0 + createvisualtask AnimTask_SetAllBattlersButAttackerInvisiblity, 5, FALSE waitforvisualfinish createvisualtask sub_8116664, 5, 0, 0, 16, 0, RGB_BLACK waitforvisualfinish @@ -4547,7 +4547,7 @@ Move_SHOCK_WAVE: setalpha 12, 8 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB_BLACK waitforvisualfinish - createvisualtask sub_810AAFC, 2, 0, 20, 0, 2 + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 20, 0, 2 playsewithpan SE_W268, SOUND_PAN_ATTACKER delay 12 createsprite gUnknown_08595A18, ANIM_ATTACKER, 2 @@ -4579,27 +4579,27 @@ Move_BELLY_DRUM: loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish - call BellyDrum1 + call BellyDrumRight createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 15 - call BellyDrum2 + call BellyDrumLeft createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 1, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 15 - call BellyDrum1 + call BellyDrumRight createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 3, 3, 128 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 - call BellyDrum2 + call BellyDrumLeft createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 128 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 - call BellyDrum1 + call BellyDrumRight createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 1, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 - call BellyDrum2 + call BellyDrumLeft createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 3, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER waitforvisualfinish @@ -4607,12 +4607,12 @@ Move_BELLY_DRUM: waitforvisualfinish end -BellyDrum2: +BellyDrumLeft: createsprite gBellyDrumHandSpriteTemplate, ANIM_ATTACKER, 3, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return -BellyDrum1: +BellyDrumRight: createsprite gBellyDrumHandSpriteTemplate, ANIM_ATTACKER, 3, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return @@ -4627,7 +4627,7 @@ Move_MIND_READER: createsprite gWhiteHaloSpriteTemplate, ANIM_ATTACKER, 5 delay 40 playsewithpan SE_W043, SOUND_PAN_TARGET - createvisualtask sub_8115A04, 2, 1, 1, 2, 0, 10, RGB_BLACK + createvisualtask AnimTask_BlendCycleMonColor, 2, 1, 1, 2, 0, 10, RGB_BLACK call MindReaderEffect waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -4684,7 +4684,7 @@ Move_ICE_PUNCH: createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 3, 1 waitforvisualfinish delay 15 - call FreezeEffect1 + call IceCrystalEffectShort delay 5 createvisualtask sub_8116620, 10, 4, 2, 9, 0, RGB(12, 26, 31) waitforvisualfinish @@ -4710,7 +4710,7 @@ Move_CONFUSION: call SetPsychicBackground setalpha 8, 8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 - createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 0, 2, 0, 8, RGB_WHITE waitforvisualfinish playsewithpan SE_W048, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1 @@ -4727,7 +4727,7 @@ Move_PSYCHIC: call SetPsychicBackground setalpha 8, 8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 - createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB(31, 23, 0) + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 0, 2, 0, 8, RGB(31, 23, 0) waitforvisualfinish loopsewithpan SE_W048, SOUND_PAN_TARGET, 10, 3 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 15, 1 @@ -4752,7 +4752,7 @@ FutureSight: call SetPsychicBackground setalpha 8, 8 playsewithpan SE_W048, SOUND_PAN_ATTACKER - createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 0, 2, 0, 8, RGB_WHITE createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER @@ -4763,7 +4763,7 @@ Move_THUNDER: loadspritegfx ANIM_TAG_LIGHTNING fadetobg BG_THUNDER waitbgfadeout - createvisualtask sub_8117660, 5, -256, 0, 1, -1 + createvisualtask AnimTask_StartSlidingBg, 5, -256, 0, 1, -1 waitbgfadein createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK delay 16 @@ -4854,23 +4854,23 @@ Move_SACRED_FIRE: loadspritegfx ANIM_TAG_FIRE loadspritegfx ANIM_TAG_FIRE_PLUME loopsewithpan SE_W221, SOUND_PAN_ATTACKER, 7, 5 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -32, 0, 50, 5, -2, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -32, 0, 50, 5, -2, 0 delay 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, -20, -10, 50, 5, -1, -1 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, -20, -10, 50, 5, -1, -1 delay 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 0, -16, 50, 5, 0, -1 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 0, -16, 50, 5, 0, -1 delay 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 20, -10, 50, 5, 1, -1 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 20, -10, 50, 5, 1, -1 delay 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 32, 0, 50, 5, 2, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 32, 0, 50, 5, 2, 0 delay 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 20, 10, 50, 5, 1, 1 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 20, 10, 50, 5, 1, 1 delay 1 createvisualtask sub_8115F10, 2, 257, 257, 257 delay 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 0, 16, 50, 5, 0, 1 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 50, 5, 0, 1 delay 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -20, 10, 50, 5, -1, 1 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -20, 10, 50, 5, -1, 1 createvisualtask sub_8115F10, 2, 257, 257, 257 delay 1 waitforvisualfinish @@ -5076,7 +5076,7 @@ Move_BARRIER: loadspritegfx ANIM_TAG_GRAY_LIGHT_WALL setalpha 0, 16 waitplaysewithpan SE_W112, SOUND_PAN_ATTACKER, 15 - createsprite gUnknown_085965A8, ANIM_ATTACKER, 3, 40, 0, 10169 + createsprite gBarrierWallSpriteTemplate, ANIM_ATTACKER, 3, 40, 0, 10169 waitforvisualfinish delay 1 blendoff @@ -5088,31 +5088,31 @@ Move_BUBBLE: monbg ANIM_TARGET setalpha 12, 8 delay 1 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 128, 100 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 128, 100 playsewithpan SE_W145, SOUND_PAN_ATTACKER waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 delay 6 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 35, 37, 40, 128, 100 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 37, 40, 128, 100 playsewithpan SE_W145, SOUND_PAN_ATTACKER waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 delay 6 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 10, -37, 30, 128, 100 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -37, 30, 128, 100 playsewithpan SE_W145, SOUND_PAN_ATTACKER waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 delay 6 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 30, 10, 15, 128, 100 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, 15, 128, 100 playsewithpan SE_W145, SOUND_PAN_ATTACKER waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 delay 6 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 20, 33, 20, 128, 100 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 33, 20, 128, 100 playsewithpan SE_W145, SOUND_PAN_ATTACKER waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 delay 6 - createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 128, 100 + createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 128, 100 playsewithpan SE_W145, SOUND_PAN_ATTACKER waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 waitforvisualfinish - call WaterBubbleEffect2 + call WaterBubblesEffectLong waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -5133,7 +5133,7 @@ Move_SMOG: call Smog1 delay 120 loopsewithpan SE_W092, SOUND_PAN_TARGET, 18, 2 - createvisualtask sub_8115A04, 2, 4, 2, 2, 0, 12, RGB(26, 0, 26) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 2, 2, 0, 12, RGB(26, 0, 26) delay 10 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 15, 1 waitforvisualfinish @@ -5153,7 +5153,7 @@ Move_FAINT_ATTACK: delay 0 playsewithpan SE_W185, SOUND_PAN_ATTACKER createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 3 - createvisualtask sub_81136E8, 2, 1 + createvisualtask AnimTask_AttackerFadeToInvisible, 2, 1 waitforvisualfinish clearmonbg ANIM_ATTACKER invisible ANIM_ATTACKER @@ -5173,7 +5173,7 @@ Move_FAINT_ATTACK: delay 32 createvisualtask sub_8113888, 2 monbg ANIM_ATTACKER - createvisualtask sub_81137E4, 2, 1 + createvisualtask AnimTask_AttackerFadeFromInvisible, 2, 1 waitforvisualfinish clearmonbg ANIM_ATTACKER delay 1 @@ -5284,8 +5284,8 @@ Move_BITE: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W044, SOUND_PAN_TARGET - createsprite gUnknown_08597080, ANIM_ATTACKER, 2, 0, -32, 0, 0, 819, 10 - createsprite gUnknown_08597080, ANIM_ATTACKER, 2, 0, 32, 4, 0, -819, 10 + 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 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 7, 1 @@ -5303,15 +5303,15 @@ Move_CRUNCH: waitbgfadein setalpha 12, 8 playsewithpan SE_W044, SOUND_PAN_TARGET - createsprite gUnknown_08597080, ANIM_ATTACKER, 2, -32, -32, 1, 819, 819, 10 - createsprite gUnknown_08597080, ANIM_ATTACKER, 2, 32, 32, 5, -819, -819, 10 + 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 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 7, 5, 2 waitforvisualfinish playsewithpan SE_W044, SOUND_PAN_TARGET - createsprite gUnknown_08597080, ANIM_ATTACKER, 2, 32, -32, 7, -819, 819, 10 - createsprite gUnknown_08597080, ANIM_ATTACKER, 2, -32, 32, 3, 819, -819, 10 + 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 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 8, 4, 2 @@ -5329,8 +5329,8 @@ Move_CLAMP: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W011, SOUND_PAN_TARGET - createsprite gUnknown_08597098, ANIM_ATTACKER, 2, -32, 0, 2, 819, 0, 10 - createsprite gUnknown_08597098, ANIM_ATTACKER, 2, 32, 0, 6, -819, 0, 10 + 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 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1 @@ -5369,7 +5369,7 @@ Move_ICE_BEAM: createsprite gUnknown_08595B14, ANIM_ATTACKER, 2, 20, 0, 0, 0, 11 waitforvisualfinish delay 20 - call FreezeEffect1 + call IceCrystalEffectShort createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 4, 5, 7, 0, RGB(0, 20, 31) waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7, 0, RGB_BLACK @@ -5397,32 +5397,32 @@ Move_AURORA_BEAM: playsewithpan SE_W062, SOUND_PAN_ATTACKER setarg 7, 0 createvisualtask sub_8107528, 10, 130 - call AuroraBeam1 + call AuroraBeamCreateRings createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 17, 1 - call AuroraBeam1 - call AuroraBeam1 - call AuroraBeam1 + call AuroraBeamCreateRings + call AuroraBeamCreateRings + call AuroraBeamCreateRings setarg 7, -1 createsoundtask sub_8158C58, SE_W062B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 6, 0, 10 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 40, 1 - call AuroraBeam1 - call AuroraBeam1 - call AuroraBeam1 - call AuroraBeam1 - call AuroraBeam1 - call AuroraBeam1 + call AuroraBeamCreateRings + call AuroraBeamCreateRings + call AuroraBeamCreateRings + call AuroraBeamCreateRings + call AuroraBeamCreateRings + call AuroraBeamCreateRings waitforvisualfinish restorebg waitbgfadein end -AuroraBeam1: - createsprite gUnknown_085950B4, ANIM_TARGET, 2, 20, 0, 0, 0, 17 +AuroraBeamCreateRings: + createsprite gAuroraBeamRingSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 17 delay 1 - createsprite gUnknown_085950B4, ANIM_TARGET, 2, 20, 0, 0, 0, 17 + createsprite gAuroraBeamRingSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 17 delay 1 - createsprite gUnknown_085950B4, ANIM_TARGET, 2, 20, 0, 0, 0, 17 + createsprite gAuroraBeamRingSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 17 delay 1 - createsprite gUnknown_085950B4, ANIM_TARGET, 2, 20, 0, 0, 0, 17 + createsprite gAuroraBeamRingSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 17 delay 1 return @@ -5435,7 +5435,7 @@ SolarBeamEnd: SolarBeamSetUp: monbg ANIM_ATK_PARTNER setalpha 12, 8 - createvisualtask sub_8115A04, 2, 2, 1, 4, 0, 11, RGB(31, 31, 11) + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 1, 4, 0, 11, RGB(31, 31, 11) playsewithpan SE_W025, SOUND_PAN_ATTACKER call SolarBeamSetUp1 waitforvisualfinish @@ -5523,15 +5523,15 @@ Move_BLIZZARD: fadetobg BG_HIGHSPEED_OPPONENT BlizzardContinue: waitbgfadeout - createvisualtask sub_8117660, 5, -2304, 0, 1, -1 + createvisualtask AnimTask_StartSlidingBg, 5, -2304, 0, 1, -1 waitbgfadein waitforvisualfinish panse_1B SE_W059, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - call Blizzard1 - call Blizzard1 + call BlizzardIceCrystals + call BlizzardIceCrystals playsewithpan SE_W059B, SOUND_PAN_TARGET waitforvisualfinish - call FreezeEffect2 + call IceCrystalEffectLong waitforvisualfinish delay 20 restorebg @@ -5540,27 +5540,27 @@ BlizzardContinue: waitbgfadein clearmonbg ANIM_DEF_PARTNER end -Blizzard1: - createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -10, 0, -10, 72, 1 - createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, 0, 0, 0, 80, 0, 0, 1 +BlizzardIceCrystals: + createsprite gSwirlingSnowballSpriteTemplate, ANIM_ATTACKER, 40, 0, -10, 0, -10, 72, 1 + createsprite gBlizzardIceCrystalSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0, 80, 0, 0, 1 delay 3 - createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -15, 0, -15, 72, 1 - createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, -10, 0, -10, 80, 0, 0, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_ATTACKER, 40, 0, -15, 0, -15, 72, 1 + createsprite gBlizzardIceCrystalSpriteTemplate, ANIM_ATTACKER, 40, 0, -10, 0, -10, 80, 0, 0, 1 delay 3 - createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -5, 0, -5, 72, 1 - createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, 10, 0, 10, 80, 0, 0, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_ATTACKER, 40, 0, -5, 0, -5, 72, 1 + createsprite gBlizzardIceCrystalSpriteTemplate, ANIM_ATTACKER, 40, 0, 10, 0, 10, 80, 0, 0, 1 delay 3 - createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -10, 0, -10, 72, 1 - createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, -20, 0, -20, 80, 0, 0, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_ATTACKER, 40, 0, -10, 0, -10, 72, 1 + createsprite gBlizzardIceCrystalSpriteTemplate, ANIM_ATTACKER, 40, 0, -20, 0, -20, 80, 0, 0, 1 delay 3 - createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -20, 0, -20, 72, 1 - createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, 15, 0, 15, 80, 0, 0, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_ATTACKER, 40, 0, -20, 0, -20, 72, 1 + createsprite gBlizzardIceCrystalSpriteTemplate, ANIM_ATTACKER, 40, 0, 15, 0, 15, 80, 0, 0, 1 delay 3 - createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -15, 0, -15, 72, 1 - createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, -20, 0, -20, 80, 0, 0, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_ATTACKER, 40, 0, -15, 0, -15, 72, 1 + createsprite gBlizzardIceCrystalSpriteTemplate, ANIM_ATTACKER, 40, 0, -20, 0, -20, 80, 0, 0, 1 delay 3 - createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -25, 0, -25, 72, 1 - createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, 20, 0, 20, 80, 0, 0, 1 + createsprite gSwirlingSnowballSpriteTemplate, ANIM_ATTACKER, 40, 0, -25, 0, -25, 72, 1 + createsprite gBlizzardIceCrystalSpriteTemplate, ANIM_ATTACKER, 40, 0, 20, 0, 20, 80, 0, 0, 1 delay 3 return BlizzardAgainstPlayer: @@ -5578,7 +5578,7 @@ Move_POWDER_SNOW: playsewithpan SE_W016B, SOUND_PAN_TARGET waitforvisualfinish waitsound - call FreezeEffect2 + call IceCrystalEffectLong waitforvisualfinish clearmonbg ANIM_DEF_PARTNER delay 20 @@ -5644,8 +5644,8 @@ HydroPump1: delay 1 return HydroPump2: - createsprite gUnknown_08597388, ANIM_ATTACKER, 4, 0, 15, 1, 1 - createsprite gUnknown_08597388, ANIM_ATTACKER, 4, 0, -15, 1, 1 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 15, 1, 1 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, -15, 1, 1 return Move_SIGNAL_BEAM: @@ -5904,7 +5904,7 @@ Move_LEECH_LIFE: Move_SYNTHESIS: loadspritegfx ANIM_TAG_SPARKLE_2 - createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 16, RGB(27, 31, 18) + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 2, 2, 0, 16, RGB(27, 31, 18) playsewithpan SE_W025, SOUND_PAN_ATTACKER call GrantingStarsEffect waitforvisualfinish @@ -5946,7 +5946,7 @@ Move_SLUDGE: createsprite gUnknown_085961A8, ANIM_TARGET, 2, 20, 0, 40, 0 waitforvisualfinish createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1 - createvisualtask sub_8115A04, 2, 4, 1, 2, 0, 12, RGB(30, 0, 31) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 1, 2, 0, 12, RGB(30, 0, 31) call PoisonBubblesEffect waitforvisualfinish end @@ -5964,7 +5964,7 @@ Move_SLUDGE_BOMB: call SludgeBomb1 call SludgeBomb1 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 3, 0, 15, 1 - createvisualtask sub_8115A04, 2, 4, 1, 2, 0, 12, RGB(30, 0, 31) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 1, 2, 0, 12, RGB(30, 0, 31) createsprite gUnknown_085961D8, ANIM_TARGET, 2, 42, 27, 20 createsprite gUnknown_085961D8, ANIM_TARGET, 2, -27, 44, 20 createsprite gUnknown_085961D8, ANIM_TARGET, 2, 39, -28, 20 @@ -5997,31 +5997,31 @@ SludgeBomb1: Move_ACID: loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_DEF_PARTNER - createsprite gUnknown_085961C0, ANIM_TARGET, 2, 20, 0, 40, 1, 0, 0 + createsprite gAcidPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 1, 0, 0 playsewithpan SE_W145C, SOUND_PAN_ATTACKER delay 5 - createsprite gUnknown_085961C0, ANIM_TARGET, 2, 20, 0, 40, 1, 24, 0 + createsprite gAcidPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 1, 24, 0 playsewithpan SE_W145C, SOUND_PAN_ATTACKER delay 5 - createsprite gUnknown_085961C0, ANIM_TARGET, 2, 20, 0, 40, 1, -24, 0 + createsprite gAcidPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 1, -24, 0 playsewithpan SE_W145C, SOUND_PAN_ATTACKER delay 15 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1 createvisualtask AnimTask_ShakeMon2, 5, ANIM_DEF_PARTNER, 2, 0, 10, 1 - createvisualtask sub_8115A04, 2, 20, 2, 2, 0, 12, RGB(30, 0, 31) - createsprite gUnknown_0859620C, ANIM_TARGET, 2, 0, -22, 0, 15, 55 + createvisualtask AnimTask_BlendCycleMonColor, 2, 20, 2, 2, 0, 12, RGB(30, 0, 31) + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -22, 0, 15, 55 playsewithpan SE_W145, SOUND_PAN_TARGET delay 10 - createsprite gUnknown_0859620C, ANIM_TARGET, 2, -26, -24, 0, 15, 55 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, -26, -24, 0, 15, 55 playsewithpan SE_W145, SOUND_PAN_TARGET delay 10 - createsprite gUnknown_0859620C, ANIM_TARGET, 2, 15, -27, 0, 15, 50 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 15, -27, 0, 15, 50 playsewithpan SE_W145, SOUND_PAN_TARGET delay 10 - createsprite gUnknown_0859620C, ANIM_TARGET, 2, -15, -17, 0, 10, 45 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, -15, -17, 0, 10, 45 playsewithpan SE_W145, SOUND_PAN_TARGET delay 10 - createsprite gUnknown_0859620C, ANIM_TARGET, 2, 27, -22, 0, 15, 50 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 27, -22, 0, 15, 50 playsewithpan SE_W145, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6034,7 +6034,7 @@ Move_BONEMERANG: monbgprio_28 ANIM_TARGET setalpha 12, 8 playsewithpan SE_W155, SOUND_PAN_ATTACKER - createsprite gUnknown_08597178, ANIM_ATTACKER, 2 + createsprite gBonemerangSpriteTemplate, ANIM_ATTACKER, 2 delay 20 playsewithpan SE_W030, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1 @@ -6054,7 +6054,7 @@ Move_BONE_CLUB: monbgprio_28 ANIM_TARGET setalpha 12, 8 playsewithpan SE_W155, SOUND_PAN_TARGET - createsprite gUnknown_08597190, ANIM_ATTACKER, 2, -42, -25, 0, 0, 15 + createsprite gSpinningBoneSpriteTemplate, ANIM_ATTACKER, 2, -42, -25, 0, 0, 15 delay 12 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 @@ -6071,7 +6071,7 @@ Move_BONE_RUSH: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W155, SOUND_PAN_TARGET - createsprite gUnknown_08597190, ANIM_ATTACKER, 2, -42, -25, 0, 0, 15 + createsprite gSpinningBoneSpriteTemplate, ANIM_ATTACKER, 2, -42, -25, 0, 0, 15 delay 12 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 5, 1 @@ -6106,7 +6106,7 @@ Move_MEGAHORN: jumpifcontest MegahornInContest fadetobg BG_DRILL waitbgfadeout - createvisualtask sub_8117660, 5, -2304, 768, 1, -1 + createvisualtask AnimTask_StartSlidingBg, 5, -2304, 768, 1, -1 MegahornContinue: waitbgfadein setalpha 12, 8 @@ -6138,7 +6138,7 @@ MegahornContinue: MegahornInContest: fadetobg BG_DRILL_CONTESTS waitbgfadeout - createvisualtask sub_8117660, 5, 2304, 768, 0, -1 + createvisualtask AnimTask_StartSlidingBg, 5, 2304, 768, 0, -1 goto MegahornContinue Move_GUST: @@ -6198,12 +6198,12 @@ Move_AEROBLAST: call SetSkyBg monbgprio_28 ANIM_TARGET setalpha 12, 8 - call Aeroblast1 + call AeroblastBeam createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 50, 1 - call Aeroblast1 - call Aeroblast1 - call Aeroblast1 - call Aeroblast1 + call AeroblastBeam + call AeroblastBeam + call AeroblastBeam + call AeroblastBeam waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 playsewithpan SE_W013, SOUND_PAN_TARGET @@ -6213,22 +6213,22 @@ Move_AEROBLAST: delay 0 call UnsetSkyBg end -Aeroblast1: +AeroblastBeam: playsewithpan SE_W026, SOUND_PAN_ATTACKER - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 0, 0 - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 0, 0 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 0, 0 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 0, 0 delay 3 playsewithpan SE_W026, SOUND_PAN_ATTACKER - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 1, 0 - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 1, 0 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 1, 0 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 1, 0 delay 3 playsewithpan SE_W026, SOUND_PAN_ATTACKER - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 2, 0 - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 2, 0 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 2, 0 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 2, 0 delay 3 playsewithpan SE_W026, SOUND_PAN_ATTACKER - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 3, 0 - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 3, 0 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 3, 0 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 3, 0 delay 3 return @@ -6242,7 +6242,7 @@ Move_WATER_GUN: playsewithpan SE_W145, SOUND_PAN_ATTACKER waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 8, 1 - createsprite gUnknown_08597388, ANIM_ATTACKER, 4, 0, 0, 1, 2 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 1, 2 createsprite gUnknown_08595220, ANIM_ATTACKER, 2, 0, -15, 0, 15, 55 playsewithpan SE_W152, SOUND_PAN_TARGET delay 10 @@ -6261,7 +6261,7 @@ Move_CRABHAMMER: loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 - createsprite gUnknown_08597388, ANIM_ATTACKER, 4, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 1, 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 +6273,21 @@ Move_CRABHAMMER: waitforvisualfinish loopsewithpan SE_W152, SOUND_PAN_TARGET, 20, 3 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 8, 1 - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 10, 10, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 20, 1 delay 4 - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 20, -20, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 20, -20, 20, 1 delay 4 - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -15, 15, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -15, 15, 20, 1 delay 4 - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 0, 0, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 20, 1 delay 4 - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -10, -20, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -10, -20, 20, 1 delay 4 - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 16, -8, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 16, -8, 20, 1 delay 4 - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 5, 8, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 5, 8, 20, 1 delay 4 - createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -16, 0, 20, 1 + createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, 20, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -6422,14 +6422,14 @@ BounceEnd: BounceSetUp: playsewithpan SE_W100, SOUND_PAN_ATTACKER - createsprite gUnknown_08596420, ANIM_ATTACKER, 2, 0, 0 + createsprite gBounceBallShrinkSpriteTemplate, ANIM_ATTACKER, 2, 0, 0 goto BounceEnd BounceUnleash: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_0859644C, ANIM_TARGET, 3 + createsprite gBounceBallLandSpriteTemplate, ANIM_TARGET, 3 delay 7 playsewithpan SE_W025B, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 @@ -6741,14 +6741,14 @@ Move_COTTON_SPORE: monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET loopsewithpan SE_W077, SOUND_PAN_TARGET, 18, 10 - call CottonSpore1 - call CottonSpore1 - call CottonSpore1 + call CreateCottonSpores + call CreateCottonSpores + call CreateCottonSpores waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end -CottonSpore1: +CreateCottonSpores: createsprite gSporeParticleSpriteTemplate, ANIM_ATTACKER, 2, 0, -20, 85, 80, 0 delay 12 createsprite gSporeParticleSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 170, 80, 0 @@ -6860,26 +6860,28 @@ Move_RAZOR_LEAF: end Move_NATURE_POWER: + @ No actual animation, uses the animation of a move from sNaturePowerMoves instead + Move_ANCIENT_POWER: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 4, 1, 10, 1 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 20, 32, -48, 50, 2 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 0, 32, -38, 25, 5 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 32, 32, -28, 40, 3 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, -20, 32, -48, 50, 2 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 20, 32, -28, 60, 1 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 0, 32, -28, 30, 4 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 20, 32, -48, 50, 2 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, -38, 25, 5 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 32, 32, -28, 40, 3 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, -20, 32, -48, 50, 2 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 20, 32, -28, 60, 1 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, -28, 30, 4 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 30, 1 playsewithpan SE_W082, SOUND_PAN_ATTACKER delay 10 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 15, 32, -48, 25, 5 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, -10, 32, -42, 30, 4 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 15, 32, -48, 25, 5 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, -10, 32, -42, 30, 4 delay 10 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 0, 32, -42, 25, 5 - createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, -25, 32, -48, 30, 4 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, -42, 25, 5 + createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, -25, 32, -48, 30, 4 waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 0, 0, 4 delay 3 @@ -6923,7 +6925,7 @@ Move_MIST: call Mist1 call Mist1 delay 32 - createvisualtask sub_8115A04, 2, 10, 8, 2, 0, 14, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 10, 8, 2, 0, 14, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff @@ -6960,7 +6962,7 @@ Move_FIRE_PUNCH: createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 0, 0, 8, 1, 0 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 - call FireMoveEffect + call FireSpreadEffect delay 4 playsewithpan SE_W007, SOUND_PAN_TARGET waitforvisualfinish @@ -6970,14 +6972,14 @@ Move_FIRE_PUNCH: blendoff end -FireMoveEffect: - createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, 192, 176, 40 - createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, -192, 240, 40 - createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, 192, -160, 40 - createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, -192, -112, 40 - createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, 160, 48, 40 - createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, -224, -32, 40 - createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, 112, -128, 40 +FireSpreadEffect: + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, 192, 176, 40 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, -192, 240, 40 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, 192, -160, 40 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, -192, -112, 40 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, 160, 48, 40 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, -224, -32, 40 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, 112, -128, 40 return Move_LEER: @@ -7093,7 +7095,7 @@ Move_POISON_GAS: createsprite gUnknown_08595C9C, ANIM_TARGET, 0, 64, 0, 0, -32, -6, 4192, 1072, 0 delay 40 loopsewithpan SE_W054, SOUND_PAN_TARGET, 28, 6 - createvisualtask sub_8115A04, 2, 4, 6, 2, 0, 12, RGB(26, 0, 26) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 6, 2, 0, 12, RGB(26, 0, 26) waitforvisualfinish blendoff clearmonbg ANIM_DEF_PARTNER @@ -7127,7 +7129,7 @@ Move_PSYBEAM: call Psybeam1 call Psybeam1 createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, ANIM_TARGET - createvisualtask sub_8115A04, 2, 4, 2, 2, 0, 12, RGB(31, 18, 31) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 2, 2, 0, 12, RGB(31, 18, 31) call Psybeam1 call Psybeam1 call Psybeam1 @@ -7152,7 +7154,7 @@ Move_HYPNOSIS: call Hypnosis1 call Hypnosis1 call Hypnosis1 - createvisualtask sub_8115A04, 2, 4, 2, 2, 0, 12, RGB(31, 18, 31) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 2, 2, 0, 12, RGB(31, 18, 31) waitforvisualfinish delay 1 call UnsetPsychicBackground @@ -7172,7 +7174,7 @@ Move_PSYWAVE: createsoundtask sub_8158C58, SE_W100, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10 call Psywave1 call Psywave1 - createvisualtask sub_8115A04, 2, 4, 1, 4, 0, 12, RGB(31, 18, 31) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 1, 4, 0, 12, RGB(31, 18, 31) call Psywave1 call Psywave1 call Psywave1 @@ -7308,7 +7310,7 @@ Move_NIGHT_SHADE: createvisualtask sub_811188C, 5, 85 delay 70 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 12, 1 - createvisualtask sub_8115A04, 2, 4, 0, 2, 0, 13, RGB_BLACK + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 0, 2, 0, 13, RGB_BLACK waitforvisualfinish clearmonbg ANIM_ATTACKER delay 1 @@ -7370,7 +7372,7 @@ Move_FOCUS_ENERGY: playsewithpan SE_W082, SOUND_PAN_ATTACKER call EndureEffect delay 8 - createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 2, 2, 0, 11, RGB_WHITE createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 8 @@ -7383,7 +7385,7 @@ Move_BIDE: end BideSetUp: loopsewithpan SE_W036, SOUND_PAN_ATTACKER, 9, 2 - createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 2, 2, 0, 11, RGB_RED createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 waitforvisualfinish end @@ -7522,13 +7524,13 @@ RazorWindUnleash: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W013B, SOUND_PAN_ATTACKER - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, 8, 0, 0, 22, 2, 1 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 14, 8, 0, 0, 22, 2, 1 delay 2 playsewithpan SE_W013B, SOUND_PAN_ATTACKER - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -8, 16, 14, 22, 1, 1 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 14, -8, 16, 14, 22, 1, 1 delay 2 playsewithpan SE_W013B, SOUND_PAN_ATTACKER - createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, 12, -16, -14, 22, 0, 1 + createsprite gAirWaveCrescentSpriteTemplate, ANIM_ATTACKER, 2, 14, 12, -16, -14, 22, 0, 1 delay 17 playsewithpan SE_W013, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 10, 1 @@ -7560,7 +7562,7 @@ Move_RECOVER: monbg ANIM_ATK_PARTNER setalpha 12, 8 loopsewithpan SE_W025, SOUND_PAN_ATTACKER, 13, 3 - createvisualtask sub_8115A04, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11) + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11) call Recover1 call Recover1 call Recover1 @@ -7602,7 +7604,7 @@ Move_MIMIC: setarg 7, -1 waitforvisualfinish playsewithpan SE_W036, SOUND_PAN_ATTACKER - createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 11, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 0, 2, 0, 11, RGB_WHITE waitforvisualfinish clearmonbg_23 ANIM_DEF_PARTNER blendoff @@ -7667,7 +7669,7 @@ CurseStats: CurseStats1: playsewithpan SE_W082, SOUND_PAN_ATTACKER createvisualtask sub_8116B14, 5 - createvisualtask sub_8115A04, 5, 2, 4, 2, 0, 10, RGB_RED + createvisualtask AnimTask_BlendCycleMonColor, 5, 2, 4, 2, 0, 10, RGB_RED return Move_SOFT_BOILED: @@ -7751,7 +7753,7 @@ Move_FAKE_OUT: waitforvisualfinish playsewithpan SE_W166, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 - createvisualtask sub_8106020, 3 + createvisualtask AnimTask_StretchTargetUp, 3 waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_WHITE end @@ -7914,7 +7916,7 @@ PresentHeal: Move_BATON_PASS: loadspritegfx ANIM_TAG_POKEBALL playsewithpan SE_W226, SOUND_PAN_ATTACKER - createvisualtask sub_8115A04, 2, 31, 1, 2, 0, 11, RGB(31, 22, 30) + createvisualtask AnimTask_BlendCycleMonColor, 2, 31, 1, 2, 0, 11, RGB(31, 22, 30) createsprite gBatonPassPokeballSpriteTemplate, ANIM_ATTACKER, 2 end @@ -8056,7 +8058,7 @@ Move_TRI_ATTACK: createvisualtask sub_8115F10, 2, 257, 257, 257 waitforvisualfinish loadspritegfx ANIM_TAG_ICE_CRYSTALS - call FreezeEffect1 + call IceCrystalEffectShort createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_BLACK waitforvisualfinish end @@ -8119,7 +8121,7 @@ Move_TRICK: createsprite gTrickBagSpriteTemplate, ANIM_ATTACKER, 2, -40, 208 delay 16 playsewithpan SE_W166, 0 - createvisualtask sub_8106020, 3 + createvisualtask AnimTask_StretchTargetUp, 3 createvisualtask sub_81060B0, 3 delay 30 playsewithpan SE_W104, 0 @@ -8159,7 +8161,7 @@ Move_WISH: Move_STOCKPILE: loadspritegfx ANIM_TAG_GRAY_ORB playsewithpan SE_W025, SOUND_PAN_ATTACKER - createvisualtask sub_8115A04, 2, 2, 8, 1, 0, 12, RGB_WHITE + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 8, 1, 0, 12, RGB_WHITE createvisualtask AnimTask_StockpileDeformMon, 5 call Stockpile1 call Stockpile1 @@ -8318,7 +8320,7 @@ Move_SWEET_SCENT: call SweetScentEffect createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 55, 0 setpan SOUND_PAN_TARGET - createvisualtask sub_8115A04, 2, 20, 1, 5, 5, 13, RGB(31, 21, 21) + createvisualtask AnimTask_BlendCycleMonColor, 2, 20, 1, 5, 5, 13, RGB(31, 21, 21) call SweetScentEffect waitforvisualfinish end @@ -8461,7 +8463,7 @@ Move_REFRESH: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARKLE_2 playsewithpan SE_W287, SOUND_PAN_ATTACKER - createvisualtask sub_815DFCC, 2, 0 + createvisualtask AnimTask_StatusClearedEffect, 2, 0 waitforvisualfinish playsewithpan SE_W234, SOUND_PAN_ATTACKER call GrantingStarsEffect @@ -8478,7 +8480,7 @@ Move_BLAZE_KICK: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W172, SOUND_PAN_TARGET - createsprite gUnknown_08595F14, ANIM_TARGET, 3, 0, 0, 1, 30 + createsprite gSpinningHandOrFootSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 30 createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE delay 30 playsewithpan SE_W007, SOUND_PAN_TARGET @@ -8486,7 +8488,7 @@ Move_BLAZE_KICK: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 14, 1 createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 - call FireMoveEffect + call FireSpreadEffect waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -8563,14 +8565,14 @@ Move_ARM_THRUST: loadspritegfx ANIM_TAG_IMPACT monbgprio_28 ANIM_TARGET setalpha 12, 8 - createvisualtask sub_80D6134, 5, 8, 5, 0, 0 + createvisualtask AminTask_DipMonSpriteToSide, 5, 8, 5, 0, 0 delay 6 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 3 delay 4 playsewithpan SE_W207, SOUND_PAN_TARGET - createsprite gUnknown_08596034, ANIM_TARGET, 2, 10, -8, 14, 3 + createsprite gArmThrustHandSpriteTemplate, ANIM_TARGET, 2, 10, -8, 14, 3 waitforvisualfinish - createvisualtask sub_80D6134, 5, 8, 5, 0, 1 + createvisualtask AminTask_DipMonSpriteToSide, 5, 8, 5, 0, 1 playsewithpan SE_W003, SOUND_PAN_TARGET choosetwoturnanim ArmThrustRight, ArmThrustLeft ArmThrustContinue: @@ -8722,7 +8724,7 @@ Move_METEOR_MASH: delay 10 createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -112, -64, 8, 32, 30 delay 40 - createsprite gUnknown_08595F14, ANIM_TARGET, 3, 0, 0, 0, 30 + createsprite gSpinningHandOrFootSpriteTemplate, ANIM_TARGET, 3, 0, 0, 0, 30 createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -80, -64, 40, 32, 30 delay 20 playsewithpan SE_W233B, SOUND_PAN_TARGET @@ -8742,7 +8744,7 @@ Move_REVENGE: playsewithpan SE_W036, SOUND_PAN_ATTACKER createsprite gUnknown_08596088, ANIM_ATTACKER, 2, 10, -10 waitforvisualfinish - createvisualtask sub_8115A04, 2, 2, 0, 4, 2, 8, RGB_RED + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 0, 4, 2, 8, RGB_RED waitforvisualfinish unloadspritegfx ANIM_TAG_PURPLE_SCRATCH loadspritegfx ANIM_TAG_PURPLE_SWIPE @@ -8772,7 +8774,7 @@ Move_POISON_FANG: delay 10 createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 3, 0, 10, 1 waitforvisualfinish - createvisualtask sub_8115A04, 2, 4, 0, 4, 0, 12, RGB(26, 0, 26) + createvisualtask AnimTask_BlendCycleMonColor, 2, 4, 0, 4, 0, 12, RGB(26, 0, 26) call PoisonBubblesEffect waitforvisualfinish end @@ -9002,13 +9004,13 @@ ReturnStrongest: createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 waitforvisualfinish delay 2 - createvisualtask sub_81169C0, 2, 0, 4, 5, 1 + 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 AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 - createvisualtask sub_81169C0, 2, 0, 4, 5, 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 @@ -9016,7 +9018,7 @@ ReturnStrongest: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2 createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 - createvisualtask sub_81169C0, 2, 0, 4, 5, 1 + createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1 waitforvisualfinish call ReturnStrongest1 call ReturnStrongest1 @@ -9043,7 +9045,7 @@ ReturnStrongest1: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2 createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 - createvisualtask sub_81169C0, 2, 0, 4, 5, 1 + createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1 waitforvisualfinish return @@ -9051,11 +9053,11 @@ Move_COSMIC_POWER: loadspritegfx ANIM_TAG_SPARKLE_2 createvisualtask sub_8159244, 5, 243, 0 playsewithpan SE_W322, 0 - createvisualtask sub_8117610, 2, 0, 0, 15, 0 + createvisualtask AnimTask_BlendAllBattlerPalettesButAttacker, 2, 0, 0, 15, RGB_BLACK waitforvisualfinish fadetobg BG_COSMIC waitbgfadeout - createvisualtask sub_8117660, 2, 0, 128, 0, -1 + createvisualtask AnimTask_StartSlidingBg, 2, 0, 128, 0, -1 waitbgfadein delay 70 createvisualtask sub_8159210, 5, 228, SOUND_PAN_ATTACKER @@ -9063,7 +9065,7 @@ Move_COSMIC_POWER: delay 8 createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 delay 40 - createvisualtask sub_8117610, 2, 0, 15, 0, 0 + createvisualtask AnimTask_BlendAllBattlerPalettesButAttacker, 2, 0, 15, 0, RGB_BLACK waitforvisualfinish restorebg waitbgfadeout @@ -9078,39 +9080,39 @@ Move_BLAST_BURN: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W221, SOUND_PAN_ATTACKER - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -32, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -20, -10, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 0, -16, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 20, -10, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 32, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 20, 10, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 0, 16, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -20, 10, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -32, 0, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -20, -10, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 0, -16, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 20, -10, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 32, 0, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 20, 10, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -20, 10, 24, 0, 0, 0 delay 25 playsewithpan SE_W172B, SOUND_PAN_ATTACKER - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -64, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 6, -40, -20, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 70, 0, -32, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 70, 40, -20, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -64, 0, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 6, -40, -20, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 70, 0, -32, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 70, 40, -20, 24, 0, 0, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 64, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 40, 20, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 0, 32, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -40, 20, 24, 0, 0, 0 + createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 64, 0, 24, 0, 0, 0 + 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 delay 25 playsewithpan SE_W172B, SOUND_PAN_ATTACKER - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -96, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 6, -60, -30, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 70, 0, -48, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 70, 60, -30, 24, 0, 0, 0 + 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 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 12, 0, 20, 1 createvisualtask sub_81162A4, 2, 2, 0, 10, 1 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 96, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 60, 30, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 0, 48, 24, 0, 0, 0 - createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -60, 30, 24, 0, 0, 0 + 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 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -9162,7 +9164,7 @@ Move_SILVER_WIND: jumprettrue SilverWindOnPlayer fadetobg BG_BUG_OPPONENT waitbgfadeout - createvisualtask sub_8117660, 5, 1536, 0, 0, -1 + createvisualtask AnimTask_StartSlidingBg, 5, 1536, 0, 0, -1 SilverWindContinue: delay 0 createvisualtask sub_8116620, 10, 1, 0, 4, 4, RGB_BLACK @@ -9203,7 +9205,7 @@ SilverWindContinue: SilverWindOnPlayer: fadetobg BG_BUG_PLAYER waitbgfadeout - createvisualtask sub_8117660, 5, -1536, 0, 0, -1 + createvisualtask AnimTask_StartSlidingBg, 5, -1536, 0, 0, -1 goto SilverWindContinue Move_SNATCH: @@ -9229,8 +9231,8 @@ DiveSetUp: call DiveSetUp1 end DiveSetUp1: - createsprite gUnknown_085964E4, ANIM_ATTACKER, 5, 0, 0 - createsprite gUnknown_085964E4, ANIM_ATTACKER, 5, 1, 0 + createsprite gSprayWaterDropletSpriteTemplate, ANIM_ATTACKER, 5, 0, 0 + createsprite gSprayWaterDropletSpriteTemplate, ANIM_ATTACKER, 5, 1, 0 return DiveAttack: loadspritegfx ANIM_TAG_WATER_IMPACT @@ -9252,8 +9254,8 @@ DiveAttack: blendoff end DiveAttack1: - createsprite gUnknown_085964E4, ANIM_TARGET, 5, 0, 1 - createsprite gUnknown_085964E4, ANIM_TARGET, 5, 1, 1 + createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 0, 1 + createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 1, 1 return Move_ROCK_BLAST: @@ -9368,17 +9370,17 @@ Move_HYDRO_CANNON: panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 call HydroCannon1 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 10, 0, 40, 1 - createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 call HydroCannon1 - createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 call HydroCannon1 - createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 call HydroCannon1 - createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 call HydroCannon1 - createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 call HydroCannon1 - createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 waitforvisualfinish createvisualtask sub_8115F10, 2, 257, 257, 257 waitforvisualfinish @@ -9402,11 +9404,11 @@ Move_ASTONISH: playsewithpan SE_W227, SOUND_PAN_ATTACKER createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 delay 25 - createsprite gUnknown_085964E4, ANIM_TARGET, 5, 0, 1 + createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 0, 1 playsewithpan SE_W166, SOUND_PAN_TARGET - createsprite gUnknown_085964E4, ANIM_TARGET, 5, 1, 1 + createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 1, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 - createvisualtask sub_8106020, 3 + createvisualtask AnimTask_StretchTargetUp, 3 waitforvisualfinish end @@ -9526,7 +9528,7 @@ Move_PSYCHO_BOOST: createvisualtask AnimTask_FadeScreenToWhite, 5 waitbgfadein delay 6 - createvisualtask sub_8115A04, 2, 1, 2, 8, 0, 10, RGB_BLACK + createvisualtask AnimTask_BlendCycleMonColor, 2, 1, 2, 8, 0, 10, RGB_BLACK delay 0 monbgprio_28 ANIM_ATTACKER setalpha 8, 8 @@ -9912,7 +9914,7 @@ WeatherBallIce: waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 playsewithpan SE_W196, SOUND_PAN_TARGET - call FreezeEffect1 + call IceCrystalEffectShort waitforvisualfinish end @@ -9928,61 +9930,61 @@ Move_COUNT: blendoff end -FreezeEffect1: - createsprite gUnknown_08595B68, ANIM_TARGET, 2, -10, -10, 0 +IceCrystalEffectShort: + createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, -10, -10, 0 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, 10, 20, 0 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, 10, 20, 0 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B68, ANIM_TARGET, 2, -5, 10, 0 + createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, -5, 10, 0 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, 17, -12, 0 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, 17, -12, 0 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, -15, 15, 0 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, -15, 15, 0 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, 0, 0, 0 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B68, ANIM_TARGET, 2, 20, 2, 0 + createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, 20, 2, 0 playsewithpan SE_W196, SOUND_PAN_TARGET return -FreezeEffect2: - createsprite gUnknown_08595B68, ANIM_TARGET, 2, -10, -10, 1 +IceCrystalEffectLong: + createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, -10, -10, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, 10, 20, 1 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, 10, 20, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B68, ANIM_TARGET, 2, -29, 0, 1 + createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, -29, 0, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, 29, -20, 1 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, 29, -20, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B68, ANIM_TARGET, 2, -5, 10, 1 + createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, -5, 10, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, 17, -12, 1 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, 17, -12, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B68, ANIM_TARGET, 2, -20, 0, 1 + createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, -20, 0, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, -15, 15, 1 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, -15, 15, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, 26, -5, 1 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, 26, -5, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B80, ANIM_TARGET, 2, 0, 0, 1 + createsprite gIceCrystalHitSmallSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1 playsewithpan SE_W196, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08595B68, ANIM_TARGET, 2, 20, 2, 1 + createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, 20, 2, 1 playsewithpan SE_W196, SOUND_PAN_TARGET return @@ -10077,7 +10079,7 @@ PoisonBubblesEffect: playsewithpan SE_W092, SOUND_PAN_TARGET return -WaterBubbleEffect: +WaterBubblesEffectShort: createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 0 playsewithpan SE_W145C, SOUND_PAN_TARGET delay 6 @@ -10097,7 +10099,7 @@ WaterBubbleEffect: playsewithpan SE_W145C, SOUND_PAN_TARGET return -WaterBubbleEffect2: +WaterBubblesEffectLong: createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 1 playsewithpan SE_W145C, SOUND_PAN_TARGET delay 6 @@ -10169,14 +10171,14 @@ SetSkyBg: jumpifcontest SetSkyBgContest fadetobg BG_SKY waitbgfadeout - createvisualtask sub_8117660, 5, -2304, 768, 1, -1 + createvisualtask AnimTask_StartSlidingBg, 5, -2304, 768, 1, -1 SetSkyBgContinue: waitbgfadein return SetSkyBgContest: fadetobg BG_SKY_CONTESTS waitbgfadeout - createvisualtask sub_8117660, 5, 2304, 768, 0, -1 + createvisualtask AnimTask_StartSlidingBg, 5, 2304, 768, 0, -1 goto SetSkyBgContinue UnsetSkyBg: @@ -10213,7 +10215,7 @@ UnsetSolarbeamBg: Status_Poison: loopsewithpan SE_W092, SOUND_PAN_TARGET, 13, 6 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 18, 2 - createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 12, RGB(30, 0, 31) + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 2, 2, 0, 12, RGB(30, 0, 31) end Status_Confusion: @@ -10399,8 +10401,8 @@ Status_Clamp: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W011, SOUND_PAN_TARGET - createsprite gUnknown_08597098, ANIM_ATTACKER, 2, -32, 0, 2, 819, 0, 10 - createsprite gUnknown_08597098, ANIM_ATTACKER, 2, 32, 0, 6, -819, 0, 10 + 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 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1 @@ -10462,7 +10464,7 @@ General_SmokeballEscape: createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 124, 2, 14, -20, 30 delay 4 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createvisualtask sub_81136E8, 2, 2 + createvisualtask AnimTask_AttackerFadeToInvisible, 2, 2 createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 123, 3, 4, 4, 30 delay 14 playsewithpan SE_BOWA2, SOUND_PAN_TARGET @@ -10622,7 +10624,7 @@ General_FocusPunchSetUp: playsewithpan SE_W082, SOUND_PAN_ATTACKER call EndureEffect delay 8 - createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_BlendCycleMonColor, 2, 2, 2, 2, 0, 11, RGB_RED createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 8 diff --git a/include/random.h b/include/random.h index 79a9d71dc..85ff71abf 100644 --- a/include/random.h +++ b/include/random.h @@ -10,6 +10,8 @@ u16 Random2(void); //Returns a 32-bit pseudorandom number #define Random32() (Random() | (Random() << 16)) +#define ISO_RANDOMIZE1(val)(1103515245 * (val) + 24691) +#define ISO_RANDOMIZE2(val)(1103515245 * (val) + 12345) //Sets the initial seed value of the pseudorandom number generator void SeedRng(u16 seed); diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index dcbcced39..508af84ad 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -3114,7 +3114,7 @@ static void FakeOutStep2(u8 taskId) } } -void sub_8106020(u8 taskId) +void AnimTask_StretchTargetUp(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); if (++gTasks[taskId].data[0] == 1) diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 1778ce881..3b875ee58 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -3863,7 +3863,8 @@ static void AnimTask_FacadeColorBlendStep(u8 taskId) } } -void sub_815DFCC(u8 taskId) +// The sliding circle effect used by Refresh and Aromatherapy +void AnimTask_StatusClearedEffect(u8 taskId) { sub_8117854( taskId, diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 250a0459f..953f0223e 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -870,7 +870,7 @@ void AnimTask_ScaleMonAndRestoreStep(u8 taskId) } } -void sub_80D6134(u8 taskId) +void AminTask_DipMonSpriteToSide(u8 taskId) { u8 spriteId; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index eff2bc3c7..93160b086 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -211,7 +211,8 @@ static void sub_81169A0(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81169C0(u8 taskId) +// Used to leave blended traces of a mon, usually to imply speed as in Agility or Aerial Ace +void AnimTask_TraceMonBlended(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -681,7 +682,7 @@ static void sub_81175C4(u32 selectedPalettes, u16 color) } } -void sub_8117610(u8 taskId) +void AnimTask_BlendAllBattlerPalettesButAttacker(u8 taskId) { u32 battler; int j; @@ -699,7 +700,7 @@ void sub_8117610(u8 taskId) StartBlendAnimSpriteColor(taskId, selectedPalettes); } -void sub_8117660(u8 taskId) +void AnimTask_StartSlidingBg(u8 taskId) { u8 newTaskId; @@ -754,19 +755,24 @@ void AnimTask_GetTargetIsAttackerPartner(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81177E4(u8 taskId) +#define tInvisible gBattleAnimArgs[0]; + +// For hiding or subsequently revealing all other battlers +void AnimTask_SetAllBattlersButAttackerInvisiblity(u8 taskId) { u16 battler; for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { if (battler != gBattleAnimAttacker && IsBattlerSpriteVisible(battler)) - gSprites[gBattlerSpriteIds[battler]].invisible = gBattleAnimArgs[0]; + gSprites[gBattlerSpriteIds[battler]].invisible = tInvisible; } DestroyAnimVisualTask(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) { diff --git a/src/dark.c b/src/dark.c index 63a893b67..4c6c31ad1 100644 --- a/src/dark.c +++ b/src/dark.c @@ -10,7 +10,7 @@ #include "constants/rgb.h" void sub_81138D4(struct Sprite *); -void sub_81139DC(struct Sprite *); +static void AnimBite(struct Sprite *); void sub_8113A90(struct Sprite *); void sub_81144BC(struct Sprite *); static void sub_811375C(u8); @@ -96,7 +96,7 @@ const union AffineAnimCmd *const gUnknown_08597060[] = gUnknown_08597050, }; -const struct SpriteTemplate gUnknown_08597080 = +const struct SpriteTemplate gSharpTeethSpriteTemplate = { .tileTag = ANIM_TAG_SHARP_TEETH, .paletteTag = ANIM_TAG_SHARP_TEETH, @@ -104,10 +104,10 @@ const struct SpriteTemplate gUnknown_08597080 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, - .callback = sub_81139DC, + .callback = AnimBite, }; -const struct SpriteTemplate gUnknown_08597098 = +const struct SpriteTemplate gClampJawSpriteTemplate = { .tileTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP, @@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_08597098 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, - .callback = sub_81139DC, + .callback = AnimBite, }; const union AffineAnimCmd gUnknown_085970B0[] = @@ -186,7 +186,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = .callback = sub_81144BC, }; -void sub_81136E8(u8 taskId) +void AnimTask_AttackerFadeToInvisible(u8 taskId) { int battler; gTasks[taskId].data[0] = gBattleAnimArgs[0]; @@ -224,7 +224,7 @@ static void sub_811375C(u8 taskId) } } -void sub_81137E4(u8 taskId) +void AnimTask_AttackerFadeFromInvisible(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16); @@ -310,7 +310,8 @@ static void sub_8113950(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_81139DC(struct Sprite *sprite) +// Move sprite inward for Bite/Crunch and Clamp +static void AnimBite(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/electric.c b/src/electric.c index 3344db7bf..8de3590c0 100644 --- a/src/electric.c +++ b/src/electric.c @@ -25,8 +25,8 @@ static void sub_810AAB0(struct Sprite *); static void sub_810AB78(u8 taskId); static void sub_810AC8C(struct Sprite *); static void sub_810ACC0(struct Sprite *); -static void sub_810ACD8(struct Sprite *); -static void sub_810AD30(struct Sprite *); +static void AnimGrowingElectricOrb(struct Sprite *); +static void AnimElectricPuff(struct Sprite *); static void sub_810AD98(struct Sprite *); static void sub_810ADF8(struct Sprite *); static bool8 sub_810B154(struct Task *task, u8 taskId); @@ -331,7 +331,7 @@ const union AffineAnimCmd *const gUnknown_08595950[] = gUnknown_08595930, }; -const struct SpriteTemplate gUnknown_0859595C = +const struct SpriteTemplate gGrowingElectricOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -339,7 +339,7 @@ const struct SpriteTemplate gUnknown_0859595C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595950, - .callback = sub_810ACD8, + .callback = AnimGrowingElectricOrb, }; const union AnimCmd gUnknown_08595974[] = @@ -356,7 +356,7 @@ const union AnimCmd *const gUnknown_08595988[] = gUnknown_08595974, }; -const struct SpriteTemplate gUnknown_0859598C = +const struct SpriteTemplate gElectricPuffSpriteTemplate = { .tileTag = ANIM_TAG_ELECTRICITY, .paletteTag = ANIM_TAG_ELECTRICITY, @@ -364,7 +364,7 @@ const struct SpriteTemplate gUnknown_0859598C = .anims = gUnknown_08595988, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810AD30, + .callback = AnimElectricPuff, }; const struct SpriteTemplate gUnknown_085959A4 = @@ -794,11 +794,12 @@ static void sub_810AAB0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810AAFC(u8 taskId) +// Animates small electric orbs moving from around the battler inward. For Charge/Shock Wave +void AnimTask_ElectricChargingParticles(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -882,9 +883,10 @@ static void sub_810ACC0(struct Sprite *sprite) sprite->callback = sub_810AC8C; } -static void sub_810ACD8(struct Sprite *sprite) +// The growing orb for Charge +static void AnimGrowingElectricOrb(struct Sprite *sprite) { - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -899,9 +901,10 @@ static void sub_810ACD8(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_810AD30(struct Sprite *sprite) +// The quick electric burst at the end of Charge / during the Volt Tackle hit +static void AnimElectricPuff(struct Sprite *sprite) { - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); diff --git a/src/fight.c b/src/fight.c index 0c4b5a3fa..4c8dd2896 100644 --- a/src/fight.c +++ b/src/fight.c @@ -21,7 +21,7 @@ void sub_810D4F4(struct Sprite *); void sub_810D608(struct Sprite *); void sub_810D714(struct Sprite *); void sub_810D874(struct Sprite *); -void sub_810D984(struct Sprite *); +static void AnimArmThrustHit(struct Sprite *); void sub_810DA10(struct Sprite *); void sub_810DA7C(struct Sprite *); static void sub_810D0B8(struct Sprite *); @@ -174,7 +174,8 @@ const union AffineAnimCmd *const gUnknown_08595F10[] = gUnknown_08595EF8, }; -const struct SpriteTemplate gUnknown_08595F14 = +// Blaze Kick / Meteor Mash +const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -299,7 +300,7 @@ const struct SpriteTemplate gUnknown_0859601C = .callback = sub_810D874, }; -const struct SpriteTemplate gUnknown_08596034 = +const struct SpriteTemplate gArmThrustHandSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -307,7 +308,7 @@ const struct SpriteTemplate gUnknown_08596034 = .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D984, + .callback = AnimArmThrustHit, }; const union AnimCmd gUnknown_0859604C[] = @@ -935,7 +936,7 @@ static void sub_810D960(struct Sprite *sprite) sprite->data[0]++; } -void sub_810D984(struct Sprite *sprite) +static void AnimArmThrustHit(struct Sprite *sprite) { u8 turn; diff --git a/src/fire.c b/src/fire.c index 2a12c26cc..be55abade 100644 --- a/src/fire.c +++ b/src/fire.c @@ -8,7 +8,7 @@ #include "trig.h" static void sub_8108EC8(struct Sprite *); -static void sub_8108F08(struct Sprite *); +static void AnimFireSpread(struct Sprite *); static void sub_8108F4C(struct Sprite *); static void sub_8108FBC(struct Sprite *); static void sub_8109028(struct Sprite *); @@ -72,7 +72,7 @@ const struct SpriteTemplate gUnknown_08595368 = .callback = sub_8108EC8, }; -const struct SpriteTemplate gUnknown_08595380 = +const struct SpriteTemplate gFireSpreadSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_08595380 = .anims = gUnknown_08595360, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108F08, + .callback = AnimFireSpread, }; const union AnimCmd gUnknown_08595398[] = @@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_08595410 = .callback = sub_8108FBC, }; -const struct SpriteTemplate gUnknown_08595428 = +const struct SpriteTemplate gFirePlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, @@ -267,7 +267,7 @@ const struct SpriteTemplate gUnknown_08595504 = .callback = sub_8109200, }; -const struct SpriteTemplate gUnknown_0859551C = +const struct SpriteTemplate gFireBlastRingSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -308,7 +308,7 @@ const union AffineAnimCmd *const gUnknown_08595564[] = gUnknown_08595554, }; -const struct SpriteTemplate gUnknown_0859556C = +const struct SpriteTemplate gFireBlastCrossSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -470,7 +470,8 @@ static void sub_8108EC8(struct Sprite *sprite) sprite->callback(sprite); } -static void sub_8108F08(struct Sprite *sprite) +// For the impact spread of fire sprites for moves like Blaze Kick or Fire Punch +static void AnimFireSpread(struct Sprite *sprite) { SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); diff --git a/src/flying.c b/src/flying.c index 774018f0f..77173c9af 100644 --- a/src/flying.c +++ b/src/flying.c @@ -24,13 +24,12 @@ void sub_810ED28(struct Sprite *); void sub_810ED70(struct Sprite *); void sub_810EDD0(struct Sprite *); void sub_810EE14(struct Sprite *); -void sub_810EEF8(struct Sprite *); +static void AnimSprayWaterDroplet(struct Sprite *); void sub_810EFA8(struct Sprite *); void sub_810F004(struct Sprite *); void sub_810F018(struct Sprite *); void sub_810F084(struct Sprite *); void sub_810F140(struct Sprite *); - static void sub_810DE98(struct Sprite *); static void sub_810DF18(u8); static void sub_810E028(struct Sprite *); @@ -86,7 +85,7 @@ const union AnimCmd *const gUnknown_085962D0[] = gUnknown_085962BC, }; -const struct SpriteTemplate gUnknown_085962D4 = +const struct SpriteTemplate gAirWaveCrescentSpriteTemplate = { .tileTag = ANIM_TAG_AIR_WAVE_2, .paletteTag = ANIM_TAG_AIR_WAVE_2, @@ -232,7 +231,7 @@ const union AffineAnimCmd *const gUnknown_0859641C[] = gUnknown_085963EC, }; -const struct SpriteTemplate gUnknown_08596420 = +const struct SpriteTemplate gBounceBallShrinkSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -254,7 +253,7 @@ const union AffineAnimCmd *const gUnknown_08596448[] = gUnknown_08596438, }; -const struct SpriteTemplate gUnknown_0859644C = +const struct SpriteTemplate gBounceBallLandSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -314,7 +313,7 @@ const struct SpriteTemplate gUnknown_085964CC = .callback = sub_810EE14, }; -const struct SpriteTemplate gUnknown_085964E4 = +const struct SpriteTemplate gSprayWaterDropletSpriteTemplate = { .tileTag = ANIM_TAG_SWEAT_BEAD, .paletteTag = ANIM_TAG_SWEAT_BEAD, @@ -322,7 +321,7 @@ const struct SpriteTemplate gUnknown_085964E4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810EEF8, + .callback = AnimSprayWaterDroplet, }; const struct SpriteTemplate gUnknown_085964FC = @@ -1111,7 +1110,8 @@ void sub_810EE14(struct Sprite *sprite) } } -void sub_810EEF8(struct Sprite *sprite) +// Launches a water droplet away from the specified battler. Used by Astonish and Dive +static void AnimSprayWaterDroplet(struct Sprite *sprite) { int v1 = 0x1ff & Random2(); int v2 = 0x7f & Random2(); diff --git a/src/ghost.c b/src/ghost.c index 93c442b92..4288aa944 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -10,11 +10,11 @@ #include "trig.h" #include "util.h" -static void sub_811160C(struct Sprite *); +static void AnimConfuseRayBallBounce(struct Sprite *); static void sub_8111674(struct Sprite *); static void sub_81116E8(struct Sprite *); static void sub_8111764(struct Sprite *); -static void sub_81117F4(struct Sprite *); +static void AnimConfuseRayBallSpiral(struct Sprite *); static void sub_8111814(struct Sprite *); static void sub_8111914(u8 taskId); static void sub_811196C(u8 taskId); @@ -54,7 +54,7 @@ const union AffineAnimCmd *const gUnknown_08596D10[] = gUnknown_08596CF8, }; -const struct SpriteTemplate gUnknown_08596D14 = +const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, @@ -62,10 +62,10 @@ const struct SpriteTemplate gUnknown_08596D14 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596D10, - .callback = sub_811160C, + .callback = AnimConfuseRayBallBounce, }; -const struct SpriteTemplate gUnknown_08596D2C = +const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, @@ -73,7 +73,7 @@ const struct SpriteTemplate gUnknown_08596D2C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81117F4, + .callback = AnimConfuseRayBallSpiral, }; const union AffineAnimCmd gUnknown_08596D44[] = @@ -215,7 +215,7 @@ const struct SpriteTemplate gUnknown_08596E48 = .callback = sub_8112F60, }; -static void sub_811160C(struct Sprite *sprite) +static void AnimConfuseRayBallBounce(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; @@ -311,7 +311,7 @@ static void sub_8111764(struct Sprite *sprite) } } -static void sub_81117F4(struct Sprite *sprite) +static void AnimConfuseRayBallSpiral(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->callback = sub_8111814; diff --git a/src/ground.c b/src/ground.c index 36dbd31f3..676319498 100644 --- a/src/ground.c +++ b/src/ground.c @@ -49,7 +49,7 @@ const union AffineAnimCmd *const gUnknown_08597174[] = gUnknown_08597160, }; -const struct SpriteTemplate gUnknown_08597178 = +const struct SpriteTemplate gBonemerangSpriteTemplate = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, @@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_08597178 = .callback = AnimBonemerangProjectile, }; -const struct SpriteTemplate gUnknown_08597190 = +const struct SpriteTemplate gSpinningBoneSpriteTemplate = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, @@ -219,7 +219,7 @@ const union AffineAnimCmd *const gUnknown_08595B64[] = gUnknown_08595B44, }; -const struct SpriteTemplate gUnknown_08595B68 = +const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -230,7 +230,7 @@ const struct SpriteTemplate gUnknown_08595B68 = .callback = AnimIceEffectParticle, }; -const struct SpriteTemplate gUnknown_08595B80 = +const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -241,7 +241,7 @@ const struct SpriteTemplate gUnknown_08595B80 = .callback = AnimIceEffectParticle, }; -const struct SpriteTemplate gUnknown_08595B98 = +const struct SpriteTemplate gSwirlingSnowballSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -252,7 +252,7 @@ const struct SpriteTemplate gUnknown_08595B98 = .callback = AnimSwirlingSnowball_Step1, }; -const struct SpriteTemplate gUnknown_08595BB0 = +const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -1452,7 +1452,7 @@ void AnimHailBegin(struct Sprite *sprite) if (sprite->data[0] == 1 && sprite->data[5] == 0) { - spriteId = CreateSprite(&gUnknown_08595B68, + spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate, sprite->data[3], sprite->data[4], sprite->subpriority); sprite->data[0] = spriteId; diff --git a/src/intro.c b/src/intro.c index 7c2303dcc..72aefd737 100644 --- a/src/intro.c +++ b/src/intro.c @@ -90,7 +90,7 @@ extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; -extern const struct SpriteTemplate gUnknown_08596C10[]; +extern const struct SpriteTemplate gAncientPowerRockSpriteTemplate[]; //ewram EWRAM_DATA u16 gIntroCharacterGender = 0; @@ -1782,7 +1782,7 @@ static void CreateGroudonRockSprites(u8 a0) for (i = 0; i < 6; i++) { - spriteId = CreateSprite(gUnknown_08596C10, gIntroGroudonRockData[i][0], 0xA0, i); + spriteId = CreateSprite(gAncientPowerRockSpriteTemplate, gIntroGroudonRockData[i][0], 0xA0, i); gSprites[spriteId].callback = SpriteCB_IntroGroudonRocks; gSprites[spriteId].oam.priority = 0; gSprites[spriteId].data[1] = i; diff --git a/src/normal.c b/src/normal.c index 7864dd9a3..d0363db04 100644 --- a/src/normal.c +++ b/src/normal.c @@ -22,8 +22,8 @@ static void AnimConfusionDuckStep(struct Sprite *); static void AnimSimplePaletteBlendStep(struct Sprite *); static void sub_81158F8(struct Sprite *); static void sub_8115984(struct Sprite *); -static void sub_8115A54(u8, u8, u8); -static void sub_8115AA4(u8); +static void BlendMonColorInCycle(u8, u8, u8); +static void AnimTask_BlendCycleMonColorLoop(u8); static void sub_8115BC8(u8, u8, u8); static void sub_8115C18(u8); static void sub_8115CD0(u8, u8, u8); @@ -187,7 +187,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 = .callback = sub_8116420, }; -const struct SpriteTemplate gUnknown_08597388 = +const struct SpriteTemplate gWaterHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_WATER_IMPACT, .paletteTag = ANIM_TAG_WATER_IMPACT, @@ -413,55 +413,68 @@ void sub_81159B4(struct Sprite *sprite) sprite->callback(sprite); } -void sub_8115A04(u8 taskId) +// 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 tRestoreBlend data[8] + +// Blends mon sprite to designated color or back alternately tNumBlends times +// Many uses of this task only set a tNumBlends of 2, which has the effect of blending to a color and back once +void AnimTask_BlendCycleMonColor(u8 taskId) { - gTasks[taskId].data[0] = gBattleAnimArgs[0]; - gTasks[taskId].data[1] = gBattleAnimArgs[1]; - gTasks[taskId].data[2] = gBattleAnimArgs[2]; - gTasks[taskId].data[3] = gBattleAnimArgs[3]; - gTasks[taskId].data[4] = gBattleAnimArgs[4]; - gTasks[taskId].data[5] = gBattleAnimArgs[5]; - gTasks[taskId].data[8] = 0; - sub_8115A54(taskId, 0, gTasks[taskId].data[4]); - gTasks[taskId].func = sub_8115AA4; + gTasks[taskId].tPalSelector = gBattleAnimArgs[0]; + gTasks[taskId].tDelay = gBattleAnimArgs[1]; + gTasks[taskId].tNumBlends = gBattleAnimArgs[2]; + gTasks[taskId].tInitialBlendY = gBattleAnimArgs[3]; + gTasks[taskId].tTargetBlendY = gBattleAnimArgs[4]; + gTasks[taskId].tBlendColor = gBattleAnimArgs[5]; + gTasks[taskId].tRestoreBlend = FALSE; + BlendMonColorInCycle(taskId, 0, gTasks[taskId].tTargetBlendY); + gTasks[taskId].func = AnimTask_BlendCycleMonColorLoop; } -static void sub_8115A54(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount) +static void BlendMonColorInCycle(u8 taskId, u8 startBlendAmount, u8 targetBlendAmount) { - u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].data[0]); + u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].tPalSelector); BeginNormalPaletteFade( selectedPalettes, - gTasks[taskId].data[1], - initialBlendAmount, + gTasks[taskId].tDelay, + startBlendAmount, targetBlendAmount, - gTasks[taskId].data[5]); + gTasks[taskId].tBlendColor); - gTasks[taskId].data[2]--; - gTasks[taskId].data[8] ^= 1; + gTasks[taskId].tNumBlends--; + gTasks[taskId].tRestoreBlend ^= 1; } -static void sub_8115AA4(u8 taskId) +static void AnimTask_BlendCycleMonColorLoop(u8 taskId) { - u8 initialBlendAmount, targetBlendAmount; + u8 startBlendAmount, targetBlendAmount; if (!gPaletteFade.active) { - if (gTasks[taskId].data[2] > 0) + if (gTasks[taskId].tNumBlends > 0) { - if (gTasks[taskId].data[8] == 0) + if (gTasks[taskId].tRestoreBlend == FALSE) { - initialBlendAmount = gTasks[taskId].data[3]; - targetBlendAmount = gTasks[taskId].data[4]; + // Blend to designated color + startBlendAmount = gTasks[taskId].tInitialBlendY; + targetBlendAmount = gTasks[taskId].tTargetBlendY; } else { - initialBlendAmount = gTasks[taskId].data[4]; - targetBlendAmount = gTasks[taskId].data[3]; + // Blend back to original color + startBlendAmount = gTasks[taskId].tTargetBlendY; + targetBlendAmount = gTasks[taskId].tInitialBlendY; } - if (gTasks[taskId].data[2] == 1) + if (gTasks[taskId].tNumBlends == 1) targetBlendAmount = 0; - sub_8115A54(taskId, initialBlendAmount, targetBlendAmount); + BlendMonColorInCycle(taskId, startBlendAmount, targetBlendAmount); } else { @@ -470,6 +483,14 @@ static void sub_8115AA4(u8 taskId) } } +#undef tPalSelector +#undef tDelay +#undef tNumBlends +#undef tInitialBlendY +#undef tTargetBlendY +#undef tBlendColor +#undef tFirstBlendDone + void sub_8115B0C(u8 taskId) { int battler; diff --git a/src/poison.c b/src/poison.c index 42e7d6a58..3e7d20c41 100644 --- a/src/poison.c +++ b/src/poison.c @@ -4,9 +4,9 @@ #include "constants/rgb.h" void sub_810DBAC(struct Sprite *); -void sub_810DC2C(struct Sprite *); +void AnimAcidPoisonBubble(struct Sprite *); void sub_810DCD0(struct Sprite *); -void sub_810DD50(struct Sprite *); +void AnimAcidPoisonDroplet(struct Sprite *); void AnimBubbleEffect(struct Sprite *); static void sub_810DC10(struct Sprite *); static void sub_810DCB4(struct Sprite *); @@ -108,7 +108,7 @@ const struct SpriteTemplate gUnknown_085961A8 = .callback = sub_810DBAC, }; -const struct SpriteTemplate gUnknown_085961C0 = +const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_085961C0 = .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_085961A0, - .callback = sub_810DC2C, + .callback = AnimAcidPoisonBubble, }; const struct SpriteTemplate gUnknown_085961D8 = @@ -142,7 +142,7 @@ const union AffineAnimCmd *const gUnknown_08596208[] = gUnknown_085961F0, }; -const struct SpriteTemplate gUnknown_0859620C = +const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_0859620C = .anims = gUnknown_08596168, .images = NULL, .affineAnims = gUnknown_08596208, - .callback = sub_810DD50, + .callback = AnimAcidPoisonDroplet, }; const union AffineAnimCmd gUnknown_08596224[] = @@ -210,7 +210,7 @@ static void sub_810DC10(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810DC2C(struct Sprite *sprite) +void AnimAcidPoisonBubble(struct Sprite *sprite) { s16 l1, l2; if (!gBattleAnimArgs[3]) @@ -265,7 +265,7 @@ static void sub_810DD24(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810DD50(struct Sprite *sprite) +void AnimAcidPoisonDroplet(struct Sprite *sprite) { SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); diff --git a/src/psychic.c b/src/psychic.c index 656608740..d7bbac957 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -8,10 +8,10 @@ #include "constants/rgb.h" #include "constants/songs.h" -void sub_810F1EC(struct Sprite *); +static void AnimDefensiveWall(struct Sprite *); void sub_810F58C(struct Sprite *); void sub_810F634(struct Sprite *); -void sub_810F6B0(struct Sprite *); +static void AnimQuestionMark(struct Sprite *); void sub_810FBA8(struct Sprite *); void sub_810FDF0(struct Sprite *); void sub_8110240(struct Sprite *); @@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_08596560 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; const struct SpriteTemplate gUnknown_08596578 = @@ -71,7 +71,7 @@ const struct SpriteTemplate gUnknown_08596578 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; const struct SpriteTemplate gUnknown_08596590 = @@ -82,10 +82,10 @@ const struct SpriteTemplate gUnknown_08596590 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_085965A8 = +const struct SpriteTemplate gBarrierWallSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_LIGHT_WALL, .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL, @@ -93,7 +93,7 @@ const struct SpriteTemplate gUnknown_085965A8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; const struct SpriteTemplate gUnknown_085965C0 = @@ -104,7 +104,7 @@ const struct SpriteTemplate gUnknown_085965C0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; const union AnimCmd gUnknown_085965D8[] = @@ -257,7 +257,7 @@ const union AffineAnimCmd *const gUnknown_08596740[] = gUnknown_08596718, }; -const struct SpriteTemplate gUnknown_08596744 = +const struct SpriteTemplate gAmnesiaQuestionMarkSpriteTemplate = { .tileTag = ANIM_TAG_AMNESIA, .paletteTag = ANIM_TAG_AMNESIA, @@ -265,7 +265,7 @@ const struct SpriteTemplate gUnknown_08596744 = .anims = gUnknown_08596714, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F6B0, + .callback = AnimQuestionMark, }; const union AffineAnimCmd gUnknown_0859675C[] = @@ -419,7 +419,8 @@ const struct SpriteTemplate gUnknown_08596920 = .callback = sub_8110240, }; -void sub_810F1EC(struct Sprite *sprite) +// For the rectangular wall sprite used by Reflect, Mirror Coat, etc +static void AnimDefensiveWall(struct Sprite *sprite) { u8 isContest = IsContest(); @@ -639,7 +640,7 @@ void sub_810F634(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_810F6B0(struct Sprite *sprite) +static void AnimQuestionMark(struct Sprite *sprite) { s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2; s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2; diff --git a/src/rock.c b/src/rock.c index 28566f1b7..8496ead58 100644 --- a/src/rock.c +++ b/src/rock.c @@ -199,7 +199,7 @@ const union AnimCmd *const gUnknown_08596C08[] = gUnknown_08596BF0, }; -const struct SpriteTemplate gUnknown_08596C10 = +const struct SpriteTemplate gAncientPowerRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, diff --git a/src/water.c b/src/water.c index a2fe4c56f..760900702 100644 --- a/src/water.c +++ b/src/water.c @@ -15,11 +15,11 @@ void sub_810721C(struct Sprite *); void sub_8107228(struct Sprite *); -void sub_8107260(struct Sprite *); +static void AnimMovingWaterBubble(struct Sprite *); void sub_8107380(struct Sprite *); void sub_8107408(struct Sprite *); void sub_8107430(struct Sprite *); -void sub_810744C(struct Sprite *); +static void AnimAuroraBeamRings(struct Sprite *); void sub_81074E4(struct Sprite *); void sub_81075EC(struct Sprite *); void sub_8107674(struct Sprite *); @@ -115,7 +115,7 @@ const union AnimCmd *const gUnknown_08595064[] = gUnknown_08595054, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = +const struct SpriteTemplate gMovingWaterBubbleSpriteTemplate = { .tileTag = ANIM_TAG_BUBBLE, .paletteTag = ANIM_TAG_BUBBLE, @@ -123,7 +123,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = .anims = gUnknown_08595064, .images = NULL, .affineAnims = gUnknown_08595050, - .callback = sub_8107260, + .callback = AnimMovingWaterBubble, }; const union AnimCmd gUnknown_08595080[] = @@ -156,8 +156,7 @@ const union AffineAnimCmd *const gUnknown_085950B0[] = gUnknown_08595098, }; -// Multi-colored rings used in Aurora Beam. -const struct SpriteTemplate gUnknown_085950B4 = +const struct SpriteTemplate gAuroraBeamRingSpriteTemplate = { .tileTag = ANIM_TAG_RAINBOW_RINGS, .paletteTag = ANIM_TAG_RAINBOW_RINGS, @@ -165,7 +164,7 @@ const struct SpriteTemplate gUnknown_085950B4 = .anims = gUnknown_08595090, .images = NULL, .affineAnims = gUnknown_085950B0, - .callback = sub_810744C, + .callback = AnimAuroraBeamRings, }; const union AnimCmd gUnknown_085950CC[] = @@ -351,7 +350,7 @@ const struct SpriteTemplate gUnknown_08595220 = .callback = sub_8107894, }; -const struct SpriteTemplate gUnknown_08595238 = +const struct SpriteTemplate gSmallBubblePairSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -478,7 +477,7 @@ const struct SpriteTemplate gUnknown_08595328 = .callback = sub_80A8EE4, }; -extern const struct SpriteTemplate gUnknown_08597388; +extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate; void AnimTask_CreateRaindrops(u8 taskId) { @@ -517,7 +516,8 @@ void sub_8107228(struct Sprite *sprite) DestroySprite(sprite); } -void sub_8107260(struct Sprite *sprite) +// For water bubbles that move to a dest, as in Bubble/Bubblebeam +static void AnimMovingWaterBubble(struct Sprite *sprite) { u8 spriteId; @@ -590,7 +590,7 @@ void sub_8107430(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_810744C(struct Sprite *sprite) +static void AnimAuroraBeamRings(struct Sprite *sprite) { s16 unkArg; @@ -1762,7 +1762,7 @@ void sub_810871C(struct Task *task, u8 taskId) } task->data[11]++; task->data[8] = (task->data[8] + 39) & 0xFF; - task->data[7] = ((task->data[7] * 0x41c64e6d + 0x3039) % task->data[5]) + task->data[4]; + task->data[7] = ((task->data[7] * 1103515245 + 12345) % task->data[5]) + task->data[4]; } void sub_81087C0(struct Sprite *sprite) @@ -1773,7 +1773,7 @@ void sub_81087C0(struct Sprite *sprite) if (sprite->pos1.y >= sprite->data[5]) { gTasks[sprite->data[6]].data[10] = 1; - sprite->data[1] = CreateSprite(&gUnknown_08597388, sprite->pos1.x, sprite->pos1.y, 1); + sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, 1); if (sprite->data[1] != MAX_SPRITES) { StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3); |