From: Repo <47093363+Titian3@users.noreply.github.com> Date: Mon, 4 Dec 2023 23:07:48 +0000 (+1300) Subject: Fix conveyors to allow doors to close over top (#22117) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=f280ff6e787e9b4a819053e66a2262e11201f626;p=space-station-14.git Fix conveyors to allow doors to close over top (#22117) --- diff --git a/Content.Shared/Doors/Systems/SharedDoorSystem.cs b/Content.Shared/Doors/Systems/SharedDoorSystem.cs index 85bb399b48..74ce120cd0 100644 --- a/Content.Shared/Doors/Systems/SharedDoorSystem.cs +++ b/Content.Shared/Doors/Systems/SharedDoorSystem.cs @@ -460,6 +460,10 @@ public abstract class SharedDoorSystem : EntitySystem //If the colliding entity is a slippable item ignore it by the airlock if (otherPhysics.CollisionLayer == (int)CollisionGroup.SlipLayer && otherPhysics.CollisionMask == (int)CollisionGroup.ItemMask) continue; + + //For when doors need to close over conveyor belts + if (otherPhysics.CollisionLayer == (int) CollisionGroup.ConveyorMask) + continue; if ((physics.CollisionMask & otherPhysics.CollisionLayer) == 0 && (otherPhysics.CollisionMask & physics.CollisionLayer) == 0) continue; diff --git a/Content.Shared/Physics/CollisionGroup.cs b/Content.Shared/Physics/CollisionGroup.cs index bde0573206..1c10fefd5d 100644 --- a/Content.Shared/Physics/CollisionGroup.cs +++ b/Content.Shared/Physics/CollisionGroup.cs @@ -22,6 +22,7 @@ public enum CollisionGroup GhostImpassable = 1 << 5, // 32 Things impassible by ghosts/observers, ie blessed tiles or forcefields BulletImpassable = 1 << 6, // 64 Can be hit by bullets InteractImpassable = 1 << 7, // 128 Blocks interaction/InRangeUnobstructed + DoorPassable = 1 << 8, // 256 Allows door to close over top, Like blast doors over conveyors for disposals rooms/cargo. MapGrid = MapGridHelpers.CollisionGroup, // Map grids, like shuttles. This is the actual grid itself, not the walls or other entities connected to the grid. @@ -45,6 +46,7 @@ public enum CollisionGroup // Machines, computers MachineMask = Impassable | MidImpassable | LowImpassable, MachineLayer = Opaque | MidImpassable | LowImpassable | BulletImpassable, + ConveyorMask = Impassable | MidImpassable | LowImpassable | DoorPassable, // Tables that SmallMobs can go under TableMask = Impassable | MidImpassable, diff --git a/Resources/Prototypes/Entities/Structures/conveyor.yml b/Resources/Prototypes/Entities/Structures/conveyor.yml index fe641fddfd..4dc879b0f6 100644 --- a/Resources/Prototypes/Entities/Structures/conveyor.yml +++ b/Resources/Prototypes/Entities/Structures/conveyor.yml @@ -32,6 +32,7 @@ - Impassable - MidImpassable - LowImpassable + - DoorPassable hard: False - type: Conveyor - type: DeviceLinkSink