diff --git a/Content.Server/GameObjects/Components/Doors/ServerDoorComponent.cs b/Content.Server/GameObjects/Components/Doors/ServerDoorComponent.cs index a54160d12d..f472399261 100644 --- a/Content.Server/GameObjects/Components/Doors/ServerDoorComponent.cs +++ b/Content.Server/GameObjects/Components/Doors/ServerDoorComponent.cs @@ -80,6 +80,10 @@ namespace Content.Server.GameObjects.Components.Doors public bool Occludes => _occludes; + [ViewVariables(VVAccess.ReadWrite)] private bool _bumpOpen; + + public bool BumpOpen => _bumpOpen; + [ViewVariables(VVAccess.ReadWrite)] public bool IsWeldedShut { @@ -112,6 +116,7 @@ namespace Content.Server.GameObjects.Components.Doors base.ExposeData(serializer); serializer.DataField(ref _occludes, "occludes", true); + serializer.DataField(ref _bumpOpen, "bumpOpen", true); serializer.DataField(ref _isWeldedShut, "welded", false); serializer.DataField(ref _canCrush, "canCrush", true); } @@ -147,6 +152,11 @@ namespace Content.Server.GameObjects.Components.Doors return; } + if (!_bumpOpen) + { + return; + } + // Disabled because it makes it suck hard to walk through double doors. if (entity.HasComponent()) diff --git a/Resources/Prototypes/Entities/Constructible/Doors/airlock_types.yml b/Resources/Prototypes/Entities/Constructible/Doors/airlock_types.yml index af5abe905c..fd89e37025 100644 --- a/Resources/Prototypes/Entities/Constructible/Doors/airlock_types.yml +++ b/Resources/Prototypes/Entities/Constructible/Doors/airlock_types.yml @@ -3,7 +3,10 @@ parent: Airlock id: AirlockExternal suffix: External + description: "It opens, it closes, it might crush you, and there might be only space behind it.\nHas to be manually activated." components: + - type: Airlock + bumpOpen: false - type: Sprite sprite: Constructible/Structures/Doors/airlock_external.rsi - type: Appearance