using Content.Shared.Item;
using Content.Shared.Movement.Events;
using Content.Shared.Popups;
-using Content.Shared.Throwing;
using Content.Shared.Verbs;
using Robust.Server.Audio;
using Robust.Server.GameObjects;
using Robust.Shared.Physics.Components;
using Robust.Shared.Physics.Events;
using Robust.Shared.Player;
-using Robust.Shared.Random;
using Robust.Shared.Utility;
namespace Content.Server.Disposal.Unit.EntitySystems;
{
var currentTime = GameTiming.CurTime;
+ if (!_actionBlockerSystem.CanMove(args.Entity))
+ return;
+
if (!TryComp(args.Entity, out HandsComponent? hands) ||
hands.Count == 0 ||
currentTime < component.LastExitAttempt + ExitAttemptDelay)
- {
return;
- }
component.LastExitAttempt = currentTime;
Remove(uid, component, args.Entity);
using Content.Shared.Resist;
using Content.Shared.Tools.Components;
using Content.Shared.Tools.Systems;
+using Content.Shared.ActionBlocker;
namespace Content.Server.Resist;
[Dependency] private readonly PopupSystem _popupSystem = default!;
[Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!;
[Dependency] private readonly WeldableSystem _weldable = default!;
+ [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
public override void Initialize()
{
if (!TryComp(uid, out EntityStorageComponent? storageComponent))
return;
+ if (!_actionBlocker.CanMove(args.Entity))
+ return;
+
if (TryComp<LockComponent>(uid, out var lockComponent) && lockComponent.Locked || _weldable.IsWelded(uid))
{
AttemptResist(args.Entity, uid, storageComponent, component);
+using Content.Shared.ActionBlocker;
using Content.Shared.Burial;
using Content.Shared.Burial.Components;
using Content.Shared.DoAfter;
using Content.Shared.Storage.Components;
using Content.Shared.Storage.EntitySystems;
using Robust.Shared.Audio.Systems;
-using Robust.Shared.Player;
namespace Content.Server.Burial.Systems;
[Dependency] private readonly SharedEntityStorageSystem _storageSystem = default!;
[Dependency] private readonly SharedAudioSystem _audioSystem = default!;
[Dependency] private readonly SharedPopupSystem _popupSystem = default!;
+ [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
public override void Initialize()
{
if (component.HandDiggingDoAfter != null)
return;
+ if (!_actionBlocker.CanMove(args.Entity))
+ return;
+
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.Entity, component.DigDelay / component.DigOutByHandModifier, new GraveDiggingDoAfterEvent(), uid, target: uid)
{
NeedHand = false,
using Content.Shared.Verbs;
using Content.Shared.Wall;
using Content.Shared.Whitelist;
-using Robust.Shared.Audio;
+using Content.Shared.ActionBlocker;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Containers;
using Robust.Shared.GameStates;
using Robust.Shared.Map;
using Robust.Shared.Network;
using Robust.Shared.Physics;
-using Robust.Shared.Physics.Components;
using Robust.Shared.Physics.Systems;
-using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
[Dependency] protected readonly SharedTransformSystem TransformSystem = default!;
[Dependency] private readonly WeldableSystem _weldable = default!;
[Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!;
+ [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
public const string ContainerName = "entity_storage";
if (!HasComp<HandsComponent>(args.Entity))
return;
+ if (!_actionBlocker.CanMove(args.Entity))
+ return;
+
if (_timing.CurTime < component.NextInternalOpenAttempt)
return;
Dirty(uid, component);
if (component.OpenOnMove)
- {
TryOpenStorage(args.Entity, uid);
- }
}
protected void OnFoldAttempt(EntityUid uid, SharedEntityStorageComponent component, ref FoldAttemptEvent args)