static void QuickSlot_Activate_Post(QuickSlot __instance) { #region quit if (!_assingByUsingFreeQuickslot || __instance.ActiveItem != null) { return; } #endregion Character character = __instance.OwnerCharacter; EquipmentSlot[] slots = character.Inventory.Equipment.EquipmentSlots; foreach (var slotID in new[] { EquipmentSlot.EquipmentSlotIDs.RightHand, EquipmentSlot.EquipmentSlotIDs.LeftHand }) { if (slots[(int)slotID].EquippedItem.TryAssign(out var item) && !HasItemAssignedToAnyQuickslot(character, item)) { __instance.SetQuickSlot(item); break; } } }