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)); }
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)); }