Exemple #1
0
    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;
    }
Exemple #2
0
 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);
 }