Make inventory slot interact properly go through unequip (#7998)

This commit is contained in:
Kara
2022-05-07 18:45:06 -07:00
committed by GitHub
parent 24e88a3f84
commit 039aa9646c

View File

@@ -123,11 +123,13 @@ public abstract partial class InventorySystem
return;
}
// interact with an empty hand (usually just unequips the item).
// unequip the item.
if (itemUid != null)
{
if (_actionBlockerSystem.CanInteract(actor, itemUid.Value))
_interactionSystem.InteractHand(actor, itemUid.Value);
if (!TryUnequip(actor, ev.Slot, out var item, predicted: true, inventory: inventory))
return;
_handsSystem.PickupOrDrop(actor, item.Value);
return;
}
@@ -145,7 +147,7 @@ public abstract partial class InventorySystem
if (_handsSystem.TryDrop(actor, hands.ActiveHand!, doDropInteraction: false, handsComp: hands))
TryEquip(actor, actor, held.Value, ev.Slot, predicted: true, inventory: inventory);
}
}
public bool TryEquip(EntityUid uid, EntityUid itemUid, string slot, bool silent = false, bool force = false, bool predicted = false,
InventoryComponent? inventory = null, SharedItemComponent? item = null) =>