コード例 #1
0
    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;
    }