public void ApplyDamage(float damage) { float avoidProbability = GetStat("avoid").finalValue; damage -= GetStat("armor").finalValue; GUIManagerScript gui = Object.FindObjectOfType <GUIManagerScript>(); string debug_string = ""; if (avoidProbability > 0f) { float random = Random.Range(0f, 1f); if (random < avoidProbability) { debug_string = characterName + " avoid " + damage.ToString() + "damage"; Debug.Log(debug_string); gui.AddCombatLogEntry(debug_string); return; } } debug_string = characterName + " recive " + damage.ToString() + " damage"; Debug.Log(debug_string); gui.AddCombatLogEntry(debug_string); GetStat("life").currentValue -= damage; }