namespace Core.Domain.Status.Effects
{
    public class LightFootedEffect : IStatusEffect
    {
        private float _duration;

        public bool IsExpired => _duration <= 0;
        
        public LightFootedEffect(float duration)
        {
            _duration = duration;
        }
        
        public void Tick(float deltaTime)
        {
            _duration -= deltaTime;
        }

        public void ModifyCapabilities(ref PlayerCapabilities caps)
        {
            caps.CanTriggerDecay = false;
            caps.SpeedMultiplier *= 1.2f;
        }

        public void OnApply()
        {
        }

        public void OnRemove()
        {
        }
    }
}