From 25a01b00b6a58e84de528025207ed4c6f11646e8 Mon Sep 17 00:00:00 2001 From: zHonys <69396539+zHonys@users.noreply.github.com> Date: Mon, 13 Jan 2025 07:07:18 -0300 Subject: [PATCH] Fixed doors being blocked with mousetraps, and other Collidable items (#34045) * Changed SharedDoorSystem.GetColliding() to allow non-LowImpassible mask entities to stay in the door while it closes * Update Content.Shared/Doors/Systems/SharedDoorSystem.cs Clarifies comment of how the mask is used Co-authored-by: Centronias --------- Co-authored-by: Centronias --- Content.Shared/Doors/Systems/SharedDoorSystem.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Doors/Systems/SharedDoorSystem.cs b/Content.Shared/Doors/Systems/SharedDoorSystem.cs index 69905d1bd6..ef9d28e4ef 100644 --- a/Content.Shared/Doors/Systems/SharedDoorSystem.cs +++ b/Content.Shared/Doors/Systems/SharedDoorSystem.cs @@ -589,8 +589,8 @@ public abstract partial class SharedDoorSystem : EntitySystem if (otherPhysics.Comp.CollisionLayer == (int) CollisionGroup.GlassLayer || otherPhysics.Comp.CollisionLayer == (int) CollisionGroup.GlassAirlockLayer || otherPhysics.Comp.CollisionLayer == (int) CollisionGroup.TableLayer) continue; - //If the colliding entity is a slippable item ignore it by the airlock - if (otherPhysics.Comp.CollisionLayer == (int) CollisionGroup.SlipLayer && otherPhysics.Comp.CollisionMask == (int) CollisionGroup.ItemMask) + // Ignore low-passable entities. + if ((otherPhysics.Comp.CollisionMask & (int)CollisionGroup.LowImpassable) == 0) continue; //For when doors need to close over conveyor belts