diff --git a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.Steps.cs b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.Steps.cs index a01077c77d..c4555e90c1 100644 --- a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.Steps.cs +++ b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.Steps.cs @@ -283,6 +283,9 @@ public abstract partial class SharedSurgerySystem if (!containerSlot.ContainedEntity.HasValue) continue; + if (_tagSystem.HasTag(containerSlot.ContainedEntity.Value, "PermissibleForSurgery")) // DeltaV: allow some clothing items to be operated through + continue; + args.Invalid = StepInvalidReason.Armor; args.Popup = Loc.GetString("surgery-ui-window-steps-error-armor"); return; diff --git a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs index fe12eed8fe..de32ebb4dc 100644 --- a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs +++ b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs @@ -21,6 +21,7 @@ using Content.Shared.Inventory; using Content.Shared.Popups; using Content.Shared.Prototypes; using Content.Shared.Standing; +using Content.Shared.Tag; // DeltaV: surgery can operate through some clothing using Robust.Shared.Audio.Systems; using Robust.Shared.Map; using Robust.Shared.Network; @@ -47,6 +48,7 @@ public abstract partial class SharedSurgerySystem : EntitySystem [Dependency] private readonly RotateToFaceSystem _rotateToFace = default!; [Dependency] private readonly StandingStateSystem _standing = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly TagSystem _tagSystem = default!; // DeltaV: surgery can operate through some clothing /// /// Cache of all surgery prototypes' singleton entities. diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/misc.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/misc.yml index 552000cbc0..a78a7e46db 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/misc.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/misc.yml @@ -265,6 +265,10 @@ sprite: Clothing/OuterClothing/Misc/hospitalgown.rsi - type: Clothing sprite: Clothing/OuterClothing/Misc/hospitalgown.rsi + - type: Tag # DeltaV: tank harnesses can be used for surgery + tags: + - PermissibleForSurgery + - WhitelistChameleon - type: entity parent: ClothingOuterBase diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/vests.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/vests.yml index 0cecbcab7e..55412088ee 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/vests.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/vests.yml @@ -91,3 +91,7 @@ sprite: Clothing/OuterClothing/Vests/tankharness.rsi - type: Clothing sprite: Clothing/OuterClothing/Vests/tankharness.rsi + - type: Tag # DeltaV: tank harnesses can be used for surgery + tags: + - PermissibleForSurgery + - WhitelistChameleon diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml index 2557e71e9d..76b96a7595 100644 --- a/Resources/Prototypes/_DV/tags.yml +++ b/Resources/Prototypes/_DV/tags.yml @@ -104,3 +104,6 @@ - type: Tag id: GlassesCorpsman # Prescription corpsman glasses. + +- type: Tag + id: PermissibleForSurgery # Can be worn on the body during surgery