public override IEnumerator DoEffectCoroutine(BaseUnit target, GameObject source, Vector3 attackPosition)
    {
        if(Random.Range(0f, 1f) < hitChance) {
            target.SetMovementSpeedBuff(-slowAmount);
            /*
            float startTime = Time.time;
            Color slowColor = new Color(0f, 0f, 1f);
            while (startTime + duration > Time.time) {
                float pct = Mathf.PingPong((Time.time - startTime) * 10f, 1f);
                target.SetDamageBodyColor(slowColor, pct);
                yield return new WaitForEndOfFrame();
            }
            target.SetDamageBodyColor(slowColor, 0f);
            */
            yield return new WaitForSeconds(duration);

            target.SetMovementSpeedBuff(slowAmount);
        }
        yield return null;
    }