diff --git a/Content.Server/Hands/Systems/HandVirtualItemSystem.cs b/Content.Server/Hands/Systems/HandVirtualItemSystem.cs index 421ce0812a..eede44cabd 100644 --- a/Content.Server/Hands/Systems/HandVirtualItemSystem.cs +++ b/Content.Server/Hands/Systems/HandVirtualItemSystem.cs @@ -34,7 +34,6 @@ namespace Content.Server.Hands.Systems if (TryComp(hand.HeldEntity, out HandVirtualItemComponent? virt) && virt.BlockingEntity == matching) { Delete(virt, user); - return; } } } diff --git a/Content.Server/Resist/EscapeInventorySystem.cs b/Content.Server/Resist/EscapeInventorySystem.cs index 923f92d3d2..aa8dbaab9e 100644 --- a/Content.Server/Resist/EscapeInventorySystem.cs +++ b/Content.Server/Resist/EscapeInventorySystem.cs @@ -7,6 +7,7 @@ using Robust.Shared.Player; using Content.Shared.Storage; using Content.Shared.Inventory; using Content.Shared.Hands.Components; +using Content.Shared.ActionBlocker; namespace Content.Server.Resist; @@ -15,6 +16,7 @@ public sealed class EscapeInventorySystem : EntitySystem [Dependency] private readonly DoAfterSystem _doAfterSystem = default!; [Dependency] private readonly PopupSystem _popupSystem = default!; [Dependency] private readonly SharedContainerSystem _containerSystem = default!; + [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; public override void Initialize() { @@ -35,7 +37,8 @@ public sealed class EscapeInventorySystem : EntitySystem if (_containerSystem.TryGetContainingContainer(uid, out var container) && (HasComp(container.Owner) || HasComp(container.Owner) || HasComp(container.Owner))) { - AttemptEscape(uid, container.Owner, component); + if (_actionBlockerSystem.CanInteract(uid, container.Owner)) + AttemptEscape(uid, container.Owner, component); } }