Esempio n. 1
0
        public void Apply(IBonusConfiguration config, ItemConfiguration itemConfiguration, NameBuilder name)
        {
            var equipableConfig = (EquipableItemConfiguration)itemConfiguration;

            var bonusType = (EquipableBonusType)Enum.Parse(typeof(EquipableBonusType), config.Values[KeyBonusType]);

            var min   = int.Parse(config.Values[KeyMin]);
            var max   = int.Parse(config.Values[KeyMax]);
            var bonus = RandomHelper.GetRandomValue(min, max);

            if (bonus == 0)
            {
                return;
            }

            if (!equipableConfig.Bonuses.ContainsKey(bonusType))
            {
                equipableConfig.Bonuses.Add(bonusType, 0);
            }
            equipableConfig.Bonuses[bonusType] += bonus;

            var bonusCode = GetBonusCode(bonusType);

            name.AddNamePostfix(bonusCode, GetNamePostfix(bonusType));
            name.AddDescription(bonusCode, GetBonusText(bonusType));
        }
Esempio n. 2
0
        public void Apply(IBonusConfiguration config, ItemConfiguration itemConfiguration, NameBuilder name)
        {
            var armorConfig = (ArmorItemConfiguration)itemConfiguration;

            var element = ItemGeneratorHelper.GetRandomDamageElement();
            var min     = int.Parse(config.Values[KeyMin]);
            var max     = int.Parse(config.Values[KeyMax]);

            var protection = RandomHelper.GetRandomValue(min, max);

            if (armorConfig.Protection.ContainsKey(element))
            {
                armorConfig.Protection[element] += protection;
            }
            else
            {
                armorConfig.Protection.Add(element, protection);
            }

            var bonusCode = GetBonusCode(element);

            name.AddNamePostfix(bonusCode, string.Format(NamePostfixTemplate, TextHelper.GetElementName(element)));
            name.AddDescription(bonusCode, GetBonusDescription(element));
        }