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