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 <charlie.t.santos@gmail.com> --------- Co-authored-by: Centronias <charlie.t.santos@gmail.com>
This commit is contained in:
@@ -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)
|
if (otherPhysics.Comp.CollisionLayer == (int) CollisionGroup.GlassLayer || otherPhysics.Comp.CollisionLayer == (int) CollisionGroup.GlassAirlockLayer || otherPhysics.Comp.CollisionLayer == (int) CollisionGroup.TableLayer)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//If the colliding entity is a slippable item ignore it by the airlock
|
// Ignore low-passable entities.
|
||||||
if (otherPhysics.Comp.CollisionLayer == (int) CollisionGroup.SlipLayer && otherPhysics.Comp.CollisionMask == (int) CollisionGroup.ItemMask)
|
if ((otherPhysics.Comp.CollisionMask & (int)CollisionGroup.LowImpassable) == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//For when doors need to close over conveyor belts
|
//For when doors need to close over conveyor belts
|
||||||
|
|||||||
Reference in New Issue
Block a user