Example #1
0
 private void WriteRarity(XmlWriter writer, HeroItemDescriptor descriptor)
 {
     writer.WriteStartElement("Rarity");
     writer.WriteAttributeString("Name", descriptor.Rarity.Name.ToString());
     WriteDepthRanges(writer, descriptor.Rarity.DropCriteria);
     writer.WriteEndElement();
 }
 private void WriteDescriptor(XmlWriter writer, HeroItem item, HeroItemDescriptor descriptor)
 {
     writer.WriteStartElement("SimulationDescriptor");
     writer.WriteAttributeString("Name", descriptor.GetName(item.Name));
     writer.WriteAttributeString("Type", descriptor.GetType(item.Name));
     WriteModifiers(writer, item, descriptor);
     writer.WriteEndElement();
 }
Example #3
0
        private void ForgeNewAttributes(HeroItem newItem, HeroItemDescriptor descriptor)
        {
            var itemLevel = ModRandom.Next(0, 2) + descriptor.Rarity.Level;
            var engine    = new LevelUpEngine(descriptor.Modifiers);

            if (!engine.CanLevelUp())
            {
                return;
            }

            for (var i = 0; i < itemLevel;)
            {
                if (engine.TryToLevelUp())
                {
                    i++;
                }
            }

            descriptor.For(TargetProperty.Cost, x => x.Value += itemLevel * 8);
            descriptor.Add(TargetProperty.SellingCost, Operation.Subtraction, itemLevel * 4);
        }
 private void WriteModifiers(XmlWriter writer, HeroItem item, HeroItemDescriptor descriptor)
 {
     writer.WriteStartElement("SimulationModifierDescriptors");
     descriptor.Modifiers.ForEach(x => WriteModifier(writer, x));
     writer.WriteEndElement();
 }