public void Modify(ref float baseValue)
        {
            switch (applicationType)
            {
            case SpellModifierApplicationType.Flat:
                baseValue += value;
                break;

            case SpellModifierApplicationType.Percent:
                baseValue = baseValue.ApplyPercentage(value);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(applicationType), applicationType, "Unknown modifier application type!");
            }
        }
Exemple #2
0
        public void Modify(Unit caster, Unit target, ref float baseValue)
        {
            float finalValue = value;

            conditionalModifierValue?.Modify(caster, target, ref finalValue);

            switch (applicationType)
            {
            case SpellModifierApplicationType.Flat:
                baseValue += finalValue;
                break;

            case SpellModifierApplicationType.Percent:
                baseValue += baseValue.ApplyPercentage(finalValue);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(applicationType), applicationType, "Unknown modifier application type!");
            }
        }