public void ResetBonus() { FlatModifier = 0; AdditiveModifier = 0; MultiplyModifiers.Clear(); CurrentMultiplier = 1.00f; HasFixedModifier = false; FixedModifier = 0; isStatOutdated = true; }
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(); }
private void RemoveFromMultiply(float value) { MultiplyModifiers.Remove(value); UpdateCurrentMultiply(); isStatOutdated = true; }
private void AddToMultiply(float value) { MultiplyModifiers.Add(value); UpdateCurrentMultiply(); isStatOutdated = true; }