Beispiel #1
0
 public void ResetBonus()
 {
     FlatModifier     = 0;
     AdditiveModifier = 0;
     MultiplyModifiers.Clear();
     CurrentMultiplier = 1.00f;
     HasFixedModifier  = false;
     FixedModifier     = 0;
     isStatOutdated    = true;
 }
Beispiel #2
0
    public void AddBonuses(StatBonus otherBonus, bool overwriteFixed = true)
    {
        if (otherBonus == null)
        {
            return;
        }

        FlatModifier     += otherBonus.FlatModifier;
        AdditiveModifier += otherBonus.AdditiveModifier;
        MultiplyModifiers.AddRange(otherBonus.MultiplyModifiers);
        if (otherBonus.HasFixedModifier && (HasFixedModifier && overwriteFixed || !HasFixedModifier))
        {
            HasFixedModifier = true;
            FixedModifier    = otherBonus.FixedModifier;
        }
        UpdateCurrentMultiply();
    }
Beispiel #3
0
 private void RemoveFromMultiply(float value)
 {
     MultiplyModifiers.Remove(value);
     UpdateCurrentMultiply();
     isStatOutdated = true;
 }
Beispiel #4
0
 private void AddToMultiply(float value)
 {
     MultiplyModifiers.Add(value);
     UpdateCurrentMultiply();
     isStatOutdated = true;
 }