Esempio n. 1
0
 /// <summary>
 /// Initializes a new instance of the ItemAttributesData class.
 /// </summary>
 /// <param name="effectType">effect type enumeration</param>
 /// <param name="attribute">attribute string</param>
 /// <param name="effect">effect string</param>
 /// <param name="variable">variable string</param>
 /// <param name="suborder">attribute suborder</param>
 public ItemAttributesData(ItemAttributesEffectType effectType, string attribute, string effect, string variable, int suborder)
 {
     this.EffectType    = effectType;
     this.FullAttribute = attribute;
     this.Effect        = effect;
     this.Variable      = variable;
     this.Suborder      = suborder;
 }
Esempio n. 2
0
        /// <summary>
        /// Indicates whether an effect type is part of a particular attribute group
        /// </summary>
        /// <param name="attributeList">Array of attributes</param>
        /// <param name="type">Effect type enumeration</param>
        /// <returns>true if attribute effect in group == type</returns>
        public bool AttributeGroupIs(Collection <Variable> attributeList, ItemAttributesEffectType type)
        {
            Variable           variable = (Variable)attributeList[0];
            ItemAttributesData data     = this.GetAttributeData(variable.Name);

            if (data == null)
            {
                return(false);
            }

            return(data.EffectType == type);
        }
        /// <summary>
        /// Calculates the base order of the attribute
        /// </summary>
        /// <param name="effectType">Effect type</param>
        /// <param name="subOrder">suborder used for grouping same types</param>
        /// <returns>order value of attribute</returns>
        private int CalcBaseOrder(ItemAttributesEffectType effectType, int subOrder)
        {
            // If it is armor then make sure Defense comes out as 1
            // Shield effects still come first at 0
            int typeOrder = (int)effectType;

            if (this.isArmor)
            {
                if (effectType == ItemAttributesEffectType.ShieldEffect)
                {
                    typeOrder = 0;
                }
                else if (effectType == ItemAttributesEffectType.Defense)
                {
                    typeOrder = 1;
                }
                else if (typeOrder < ((int)ItemAttributesEffectType.Defense))
                {
                    ++typeOrder;
                }
            }

            return(((1000 * (1 + typeOrder)) + subOrder) * 10);
        }
        /// <summary>
        /// Calculates the base order of the attribute
        /// </summary>
        /// <param name="effectType">Effect type</param>
        /// <param name="subOrder">suborder used for grouping same types</param>
        /// <returns>order value of attribute</returns>
        private static int CalcBaseOrder(ItemAttributesEffectType effectType, int subOrder)
        {
            int typeOrder = (int)effectType;

            return(((1000 * (1 + typeOrder)) + subOrder) * 10);
        }