public void EquipItem(Equip equip)
{
if (equip.IsEquipped || Level < equip.Info.Level) return;
sbyte oldslot = equip.Slot;
Equip oldequip;
EquippedItems.TryGetValue(equip.Info.Slot, out oldequip);
if (oldequip != null)
{
oldequip.Slot = oldslot;
EquippedItems.Remove(equip.Info.Slot);
}
InventoryItems.Remove(oldslot);
Handler12.ModifyInventorySlot(this, 0x20, (byte)oldslot, (byte)equip.Info.Slot, oldequip);
if (oldequip != null)
{
InventoryItems.Add(oldequip.Slot, oldequip);
}
equip.Slot = (sbyte)equip.Info.Slot;
equip.IsEquipped = true;
EquippedItems.Add(equip.Info.Slot, equip);
Handler12.ModifyEquipSlot(this, (byte)equip.Info.Slot, (byte)oldslot, equip);
Save();
using (var broad = Handler7.Equip(this, equip))
{
Broadcast(broad);
}
}