]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fixed doors being blocked with mousetraps, and other Collidable items (#34045)
authorzHonys <69396539+zHonys@users.noreply.github.com>
Mon, 13 Jan 2025 10:07:18 +0000 (07:07 -0300)
committerGitHub <noreply@github.com>
Mon, 13 Jan 2025 10:07:18 +0000 (13:07 +0300)
* 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 <charlie.t.santos@gmail.com>
---------

Co-authored-by: Centronias <charlie.t.santos@gmail.com>
Content.Shared/Doors/Systems/SharedDoorSystem.cs

index 69905d1bd6b6cb44142d499d1dd959680985b7ff..ef9d28e4ef7a065cd85324ea243429cf9c44b1b6 100644 (file)
@@ -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