override public void SetTarget(Targetable target) { if (!target) { Debug.Log($"Spell {name} has no target. Target probably has been destroyed."); return; } base.SetTarget(target); HP hp = target.GetComponent <HP>( ); hp.DoDamage(effectAmount, transform.position, targetFreezTime > 0); if (targetShockTime > 0 || targetFreezTime > 0) { Unit unit = target.GetComponent <Unit>( ); unit.Freez(targetShockTime, targetFreezTime); UnitVisuals unitVis = target.GetComponent <UnitVisuals>( ); unitVis.Shocked(targetShockTime); } if (shakeStrength > 0) { ScreenshakeManager.Instance.DoShake(shakeStrength); } }
private void Awake() { visuals = GetComponent <UnitVisuals>(); agent = GetComponent <NavMeshAgent>(); }