/// <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); }
/// <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(); } }