public virtual void Damage(GameObject target, bool heal = false) { if (target.GetComponent <Fighter>() != null && target.activeInHierarchy) { fighterBuffer = target.GetComponent <Fighter>(); //check if damage goes through if (fighterBuffer.GetDamaged(damageMatrix, heal)) { //add status effects foreach (StatusEffect effect in effectsOnHit) { fighterBuffer.AddStatusEffect(effect); } } } }