示例#1
0
 public void equipWeapon(int inventoryIndex)
 {
     if (inventory.stored[inventoryIndex].item != null)
     {
         string[] name = inventory.stored[inventoryIndex].item.Name.ToString().Split();
         if ((inventory.stored[inventoryIndex].item.ItemType == ITypes.Weapon || inventory.stored[inventoryIndex].item.ItemType == ITypes.Offhand) || (name.Length == 3 && (name[2] == "Shield" || name[2] == "Avenger")))
         {
             Item newlyEquippedItem = inventory.stored[inventoryIndex].item;
             if (currentlyEquippedItems.isWeaponEquipable((Gear)newlyEquippedItem, heroRole, level))
             {
                 inventory.removeItem(inventoryIndex);
                 Gear item = (Gear)newlyEquippedItem;
                 if (item.EquipableIn.Contains(Slots.Hand_Both))
                 {
                     inventory.addItem(currentlyEquippedItems.removeWeapon(null, true, 0));
                     inventory.addItem(currentlyEquippedItems.removeWeapon(null, true, 1));
                 }
                 else
                 {
                     inventory.addItem(currentlyEquippedItems.removeWeapon((Gear)newlyEquippedItem, canDuelWield));
                 }
                 currentlyEquippedItems.equipWeapon((Gear)newlyEquippedItem, this, canDuelWield);
             }
         }
     }
 }