public static void unreadyWeapon(this NPCProto proto)
        {
            if (proto.IsMonster())
            {
                return;
            }
            if (proto.WeaponMode == 0)
            {
                return;
            }

            if (proto.WeaponMode == (int)FightMode.Fist)//Fist
            {
                proto.WeaponMode = 0;
            }
            else if (proto.WeaponMode == (int)FightMode.Meele)//Sword
            {
                proto.WeaponMode = 0;
                Item i = proto.getSlotItem((int)SlotFlag.SLOT_RIGHTHAND);
                if ((i.ItemInstance.Flags & (Flags.ITEM_2HD_SWD | Flags.ITEM_2HD_AXE)) > 0)
                {
                    proto.setSlotItem((int)SlotFlag.SLOT_RIGHTHAND, null);
                    proto.setSlotItem((int)SlotFlag.SLOT_LONGSWORD, i);
                }
                else
                {
                    proto.setSlotItem((int)SlotFlag.SLOT_RIGHTHAND, null);
                    proto.setSlotItem((int)SlotFlag.SLOT_SWORD, i);
                }
            }
            else if (proto.WeaponMode == (int)FightMode.Far)
            {
                proto.WeaponMode = 0;
                Item i = proto.getSlotItem((int)SlotFlag.SLOT_LEFTHAND);
                if ((i.ItemInstance.Flags & Flags.ITEM_BOW) > 0)
                {
                    proto.setSlotItem((int)SlotFlag.SLOT_LEFTHAND, null);
                    proto.setSlotItem((int)SlotFlag.SLOT_BOW, i);
                }
                else
                {
                    proto.setSlotItem((int)SlotFlag.SLOT_LEFTHAND, null);
                    proto.setSlotItem((int)SlotFlag.SLOT_CROSSBOW, i);
                }
            }
        }