diff --git a/Content.Shared/Blocking/BlockingSystem.cs b/Content.Shared/Blocking/BlockingSystem.cs index 989756a421..0387b5e7ea 100644 --- a/Content.Shared/Blocking/BlockingSystem.cs +++ b/Content.Shared/Blocking/BlockingSystem.cs @@ -1,6 +1,6 @@ using Content.Shared.Actions; using Content.Shared.Actions.ActionTypes; -using Content.Shared.Buckle.Components; +using Content.Shared.Buckle; using Content.Shared.Doors.Components; using Content.Shared.Hands; using Content.Shared.Hands.EntitySystems; @@ -33,6 +33,7 @@ public sealed class BlockingSystem : EntitySystem [Dependency] private readonly SharedContainerSystem _containerSystem = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; + [Dependency] private readonly SharedBuckleSystem _buckleSystem = default!; public override void Initialize() { @@ -117,13 +118,14 @@ public sealed class BlockingSystem : EntitySystem /// Creates a new hard fixture to bodyblock /// Also makes the user static to prevent prediction issues /// - /// The entity with the blocking component + /// The entity with the blocking component /// The /// The entity who's using the item to block /// public bool StartBlocking(EntityUid item, BlockingComponent component, EntityUid user) { - if (component.IsBlocking) return false; + if (component.IsBlocking) + return false; var xform = Transform(user); @@ -135,8 +137,8 @@ public sealed class BlockingSystem : EntitySystem if (component.BlockingToggleAction != null) { - //Don't allow someone to block if they're in a container. - if (_containerSystem.IsEntityInContainer(user) || !_mapManager.TryFindGridAt(xform.MapPosition, out var grid)) + //Don't allow someone to block if they're not parented to a grid + if (xform.GridUid != xform.ParentUid) { CantBlockError(user); return false; diff --git a/Content.Shared/Blocking/BlockingUserSystem.cs b/Content.Shared/Blocking/BlockingUserSystem.cs index 1ab0df51ed..4465674e71 100644 --- a/Content.Shared/Blocking/BlockingUserSystem.cs +++ b/Content.Shared/Blocking/BlockingUserSystem.cs @@ -1,9 +1,7 @@ -using Content.Shared.Audio; -using Content.Shared.Damage; +using Content.Shared.Damage; using Content.Shared.Damage.Prototypes; using Robust.Shared.Audio; using Robust.Shared.Containers; -using Robust.Shared.Player; using Robust.Shared.Prototypes; namespace Content.Shared.Blocking; @@ -30,17 +28,13 @@ public sealed class BlockingUserSystem : EntitySystem private void OnParentChanged(EntityUid uid, BlockingUserComponent component, ref EntParentChangedMessage args) { if (TryComp(component.BlockingItem, out var blockComp) && blockComp.IsBlocking) - { _blockingSystem.StopBlocking(component.BlockingItem.Value, blockComp, uid); - } } private void OnInsertAttempt(EntityUid uid, BlockingUserComponent component, ContainerGettingInsertedAttemptEvent args) { if (TryComp(component.BlockingItem, out var blockComp) && blockComp.IsBlocking) - { _blockingSystem.StopBlocking(component.BlockingItem.Value, blockComp, uid); - } } private void OnAnchorChanged(EntityUid uid, BlockingUserComponent component, ref AnchorStateChangedEvent args) @@ -49,17 +43,13 @@ public sealed class BlockingUserSystem : EntitySystem return; if (TryComp(component.BlockingItem, out var blockComp) && blockComp.IsBlocking) - { _blockingSystem.StopBlocking(component.BlockingItem.Value, blockComp, uid); - } } private void OnDamageChanged(EntityUid uid, BlockingUserComponent component, DamageChangedEvent args) { if (args.DamageDelta != null && args.DamageIncreased) - { _damageable.TryChangeDamage(component.BlockingItem, args.DamageDelta, origin: args.Origin); - } } private void OnUserDamageModified(EntityUid uid, BlockingUserComponent component, DamageModifyEvent args)