/// <summary>
        /// Unequips armor items from the player and drops them to the loot bag according to the rules set.
        /// </summary>
        protected void DropArmorItems()
        {
            for (int i = EquipItems.Count - 1; i >= 0; i--)
            {
                if (playerDB.maxLootItems > 0 && lootBagItems.Count >= playerDB.maxLootItems)
                {
                    return;
                }

                CharacterItem unEquipItem = EquipItems[i];
                if (unEquipItem.IsEmptySlot())
                {
                    continue;
                }

                if (ShouldDrop(unEquipItem))
                {
                    EquipItems.RemoveAt(i);
                    this.AddOrSetNonEquipItems(unEquipItem);
                    this.FillEmptySlots(true);

                    DropInventoryItem(unEquipItem);
                }

                this.FillEmptySlots();
            }
        }
Example #2
0
        public void RemoveItemFromEquip(Item item)
        {
            KeyValuePair <Item, int> itemToRemove = new KeyValuePair <Item, int>();

            foreach (KeyValuePair <Item, int> kvp in EquipItems)
            {
                if (kvp.Key == item)
                {
                    itemToRemove = kvp;
                    break;
                }
            }
            EquipItems.Remove(itemToRemove);
        }
Example #3
0
    /* Creates a new EquipItems with the specified ItemType and adds it to the list.*/
    private static void Equip(int id, int type, string itemName, Sprite sprite, bool isStackable, bool isQuestItem, string flavorText,
                              int attack, int defence, int hp, float defencePen, float mastery)
    {
        ItemObject item = new EquipItems();

        InitializeBaseItem(item, id, type, itemName, sprite, isStackable, isQuestItem, flavorText);
        (item as EquipItems).attack     = attack;
        (item as EquipItems).defence    = defence;
        (item as EquipItems).hp         = hp;
        (item as EquipItems).defencePen = defencePen;
        (item as EquipItems).mastery    = mastery;

        itemList.Add(id, item);
    }
 public void UnequipAll()
 {
     CharacterItem[] equipment = EquipItems.ToArray();
     for (int i = 0; i < equipment.Length; i++)
     {
         if (equipment[i].GetArmorItem() != null)
         {
             RequestUnEquipItem(InventoryType.EquipItems, equipment[i].equipSlotIndex, 0);
         }
     }
     for (int i = 0; i < SelectableWeaponSets.Count; i++)
     {
         if (SelectableWeaponSets[i].rightHand.GetWeaponItem() != null)
         {
             RequestUnEquipItem(InventoryType.EquipWeaponRight, 0, (byte)i);
         }
         if (SelectableWeaponSets[i].leftHand.GetWeaponItem() != null)
         {
             RequestUnEquipItem(InventoryType.EquipWeaponLeft, 0, (byte)i);
         }
     }
     ;
 }