public void AddDefense(DamageTypeName damageType, float amount, bool flat = false) { var existing = _damageReductions.Find(x => x.Flat == flat && x.DamageType == damageType); if (existing != null) { existing.Amount += amount; } else { _damageReductions.Add(new DamageReduction() { Flat = flat, DamageType = damageType, Amount = amount }); } }
public void AddDamage(DamageTypeName damageType, float amount, float min = 0, float max = 0) { var existing = Damages.Find(x => x.DamageType == damageType); if (existing != null) { existing.Min += min; existing.Max += max; existing.Amount += amount; } else { Damages.Add(new Damage() { DamageType = damageType, Amount = amount, Min = min, Max = max }); } }