From 1f3dba9235ad0727a59b8fa9bfbf3badcd5b7c71 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sat, 21 Jan 2023 01:14:00 +1100 Subject: [PATCH] Fix mechs picking up portals (#13581) --- .../Mech/Equipment/EntitySystems/MechGrabberSystem.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs b/Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs index a580944ea6..e81c40b58f 100644 --- a/Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs +++ b/Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs @@ -4,6 +4,7 @@ using Content.Server.Interaction; using Content.Server.Mech.Components; using Content.Server.Mech.Equipment.Components; using Content.Server.Mech.Systems; +using Content.Shared.Construction.Components; using Content.Shared.Interaction; using Content.Shared.Mech; using Content.Shared.Mech.Equipment.Components; @@ -11,6 +12,8 @@ using Content.Shared.Mobs.Components; using Content.Shared.Wall; using Robust.Shared.Containers; using Robust.Shared.Map; +using Robust.Shared.Physics; +using Robust.Shared.Physics.Components; namespace Content.Server.Mech.Equipment.EntitySystems; @@ -119,9 +122,12 @@ public sealed class MechGrabberSystem : EntitySystem if (args.Handled || args.Target is not {} target) return; - var xform = Transform(target); - if (xform.Anchored || HasComp(target) || HasComp(target)) + if (TryComp(uid, out var physics) && physics.BodyType == BodyType.Static && !HasComp(uid) || + HasComp(target) || + HasComp(target)) + { return; + } if (component.ItemContainer.ContainedEntities.Count >= component.MaxContents) return;