diff --git a/Assets/Code/Scripts/Enemies/LivingRoot/SlowdownArea.cs b/Assets/Code/Scripts/Enemies/LivingRoot/SlowdownArea.cs index 12666cb..1ef051e 100644 --- a/Assets/Code/Scripts/Enemies/LivingRoot/SlowdownArea.cs +++ b/Assets/Code/Scripts/Enemies/LivingRoot/SlowdownArea.cs @@ -32,6 +32,7 @@ public class SlowdownArea : MonoBehaviour isInZone = false; timer = 0f; player.ApplySlow(1f); + player.ApplyAnimationSlow(1f); jump.JumpForce = baseJump; } } @@ -46,5 +47,6 @@ public class SlowdownArea : MonoBehaviour float t = Mathf.Clamp(timer * slowSpeed, 0f, 1f); float multiplicator = Mathf.Lerp(1f, maxSlow, t); player.ApplySlow(multiplicator); + player.ApplyAnimationSlow(multiplicator); } } diff --git a/Assets/Code/Scripts/Player/PlayerMovement.cs b/Assets/Code/Scripts/Player/PlayerMovement.cs index 7e1ef2b..0180bf8 100644 --- a/Assets/Code/Scripts/Player/PlayerMovement.cs +++ b/Assets/Code/Scripts/Player/PlayerMovement.cs @@ -14,9 +14,10 @@ public class PlayerMovement : MonoBehaviour private Vector3 moveDirection; - // used for root enemies + // used by root enemies (area tell -> player do) private float baseWalkSpeed; - private float slowMultiplier = 1f; + private float slowMultiplier = 1.0f; + private float animMultiplier = 1.0f; private void Awake() { @@ -25,6 +26,7 @@ public class PlayerMovement : MonoBehaviour animator = GetComponent(); headController = GetComponent(); baseWalkSpeed = WalkSpeed; + animator.speed = 1.0f; if (m_rigidbody != null) { @@ -37,6 +39,12 @@ public class PlayerMovement : MonoBehaviour slowMultiplier = multiplier; } + public void ApplyAnimationSlow(float multiplier) + { + animMultiplier = multiplier; + animator.speed = animMultiplier; + } + private void FixedUpdate() { Vector2 m_moveAmt = input.MoveAmount;