Exemple #1
0
        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
                });
            }
        }
Exemple #2
0
        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
                });
            }
        }