/// <summary> /// Applies this effect to target /// </summary> public void ApplyTo(Targetable target, float accuracy) { var scaledDamage = damage * accuracy; var scaledHeal = heal * accuracy; if (healFirst) { target.ReceiveHeal(scaledHeal); target.ReceiveDamage(scaledDamage); } else { target.ReceiveHeal(scaledHeal); target.ReceiveDamage(scaledDamage); } }