diff --git a/Content.Server/Tabletop/TabletopSystem.cs b/Content.Server/Tabletop/TabletopSystem.cs
index 7c1b5f13b9..44bf7babd2 100644
--- a/Content.Server/Tabletop/TabletopSystem.cs
+++ b/Content.Server/Tabletop/TabletopSystem.cs
@@ -18,7 +18,6 @@ namespace Content.Server.Tabletop
{
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly ViewSubscriberSystem _viewSubscriberSystem = default!;
- [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!;
public override void Initialize()
{
diff --git a/Content.Shared/Tabletop/SharedTabletopSystem.cs b/Content.Shared/Tabletop/SharedTabletopSystem.cs
index a1e048a026..ac2ea6ef55 100644
--- a/Content.Shared/Tabletop/SharedTabletopSystem.cs
+++ b/Content.Shared/Tabletop/SharedTabletopSystem.cs
@@ -1,9 +1,12 @@
using System;
+using Content.Shared.ActionBlocker;
+using Content.Shared.Ghost;
using Content.Shared.Hands.Components;
using Content.Shared.Interaction.Helpers;
using Content.Shared.MobState.Components;
using Content.Shared.Stunnable;
using Robust.Shared.GameObjects;
+using Robust.Shared.IoC;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
@@ -11,6 +14,8 @@ namespace Content.Shared.Tabletop
{
public abstract class SharedTabletopSystem : EntitySystem
{
+ [Dependency] protected readonly ActionBlockerSystem _actionBlockerSystem = default!;
+
[Serializable, NetSerializable]
public sealed class TabletopDraggableComponentState : ComponentState
{
@@ -25,11 +30,11 @@ namespace Content.Shared.Tabletop
#region Utility
///
- /// Whether the table exists, is in range and the player is alive.
+ /// Whether the table exists, and the player can interact with it.
///
/// The player entity to check.
/// The table entity to check.
- protected static bool CanSeeTable(IEntity playerEntity, IEntity? table)
+ protected bool CanSeeTable(IEntity playerEntity, IEntity? table)
{
if (table?.Transform.Parent?.Owner is not { } parent)
{
@@ -41,10 +46,7 @@ namespace Content.Shared.Tabletop
return false;
}
- var alive = playerEntity.TryGetComponent(out var mob) && mob.IsAlive();
- var inRange = playerEntity.InRangeUnobstructed(table);
-
- return alive && inRange;
+ return _actionBlockerSystem.CanInteract(playerEntity.Uid);
}
protected static bool StunnedOrNoHands(IEntity playerEntity)