Ejemplo n.º 1
0
        /// <summary>
        /// Gets the total percentage modifier for a specific element type from the equipment the player is wielding.
        /// </summary>
        /// <param name="elementType">the type of element</param>
        /// <param name="trueval">the true value being modified</param>
        /// <returns>float</returns>
        public float ApplyEquipmentPercentModifiers(int elementType, float trueval)
        {
            float toadd = 0;
            int   i     = ProjectConstants.Instance.GetMaxEquipped() - 1;

            for (; i >= 0; i--)
            {
                if (equippedItems[i] >= 0 &&
                    Interactive.Instance.HasIO(equippedItems[i]))
                {
                    BaseInteractiveObject toequip = Interactive.Instance.GetIO(equippedItems[i]);
                    if (toequip.HasIOFlag(IoGlobals.IO_02_ITEM) &&
                        toequip.ItemData != null &&
                        toequip.ItemData.Equipitem != null)
                    {
                        EquipmentItemModifier element = toequip.ItemData.Equipitem.GetElementModifier(elementType);
                        if (element.Percent)
                        {
                            toadd += element.Value;
                        }
                    }
                }
            }
            return(toadd * trueval * MathGlobals.DIV100);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a new instance of <see cref="IOEquipItem"/>.
        /// </summary>
        public IOEquipItem()
        {
            int numElements = ProjectConstants.Instance.GetNumberEquipmentElements();

            elements = new EquipmentItemModifier[numElements];
            for (int i = elements.Length - 1; i >= 0; i--)
            {
                elements[i] = new EquipmentItemModifier();
            }
        }