public AffinityEquipment(string name, AttributeModifier.Operation operation, double fire, double water, double earth, double air, double light, double dark, double chaos) : base(name, "") { this.operation = operation; affinityModifiers = new double[] { fire, water, earth, air, light, dark, chaos }; string desc = ""; string format = "{0} modifier, {1} element"; switch (operation) { case AttributeModifier.Operation.AddBase: format = "+{0} base {1} Affinity"; break; case AttributeModifier.Operation.AddTotal: format = "+{0} total {1} Affinity"; break; case AttributeModifier.Operation.MultiplyBaseAndAdd: format = "+{0}% {1} Affinity"; break; case AttributeModifier.Operation.MultiplyTotal: format = "+{0}% total {1} Affinity"; break; case AttributeModifier.Operation.SubtractBase: format = "-{0} base {1} Affinity"; break; case AttributeModifier.Operation.SubtractTotal: format = "-{0} total {1} Affinity"; break; case AttributeModifier.Operation.Set: format = "{1} Affinity is {0}"; break; } for (int i = 0; i < affinityModifiers.Length; i++) { if (affinityModifiers[i] != 0) { if (desc.Length > 0) { desc += "\n"; } desc += string.Format(format, affinityModifiers[i], Element.All[i].GetColoredName()); } } description = desc; }
public virtual void AddModifier(AttributeModifier.Operation operation, double modifier) { attribute.AddModifier(new AttributeModifier(attribute.Size.ToString(), operation, modifier)); }
public void AddModifierMin(AttributeModifier.Operation operation, double modifier) { base.AddModifier(operation, modifier); }
public void AddModifierMax(AttributeModifier.Operation operation, double modifier) { maxDamage.AddModifier(new AttributeModifier(maxDamage.Size.ToString(), operation, modifier)); }
public override void AddModifier(AttributeModifier.Operation operation, double modifier) { AddModifierMin(operation, modifier); AddModifierMax(operation, modifier); }