diff --git a/Content.Server/Chemistry/ReagentEffects/HealthChange.cs b/Content.Server/Chemistry/ReagentEffects/HealthChange.cs
index 24880cfd37..6ca7c8cc44 100644
--- a/Content.Server/Chemistry/ReagentEffects/HealthChange.cs
+++ b/Content.Server/Chemistry/ReagentEffects/HealthChange.cs
@@ -2,7 +2,9 @@ using Content.Shared.Chemistry.Reagent;
using Content.Shared.Damage;
using Content.Shared.Damage.Prototypes;
using Content.Shared.FixedPoint;
+using Content.Shared.Inventory;
using Content.Shared.Localizations;
+using Content.Shared.Tag;
using JetBrains.Annotations;
using Robust.Shared.Prototypes;
using System.Linq;
@@ -35,6 +37,14 @@ namespace Content.Server.Chemistry.ReagentEffects
[JsonPropertyName("ignoreResistances")]
public bool IgnoreResistances = true;
+ ///
+ /// WD.
+ /// Whether this will work through hardsuits or not.
+ ///
+ [DataField]
+ [JsonPropertyName("pierceHardsuit")]
+ public bool PierceHardsuit = true;
+
protected override string ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
{
var damages = new List();
@@ -112,6 +122,11 @@ namespace Content.Server.Chemistry.ReagentEffects
public override void Effect(ReagentEffectArgs args)
{
+ if (!PierceHardsuit &&
+ args.EntityManager.System().TryGetSlotEntity(args.SolutionEntity, "outerClothing", out var suit) &&
+ args.EntityManager.System().HasTag(suit.Value, "Hardsuit"))
+ return; // WD
+
var scale = ScaleByQuantity ? args.Quantity : FixedPoint2.New(1);
scale *= args.Scale;
diff --git a/Resources/Locale/ru-RU/reagents/meta/medicine.ftl b/Resources/Locale/ru-RU/reagents/meta/medicine.ftl
index be9cfc81a0..012dba5f0b 100644
--- a/Resources/Locale/ru-RU/reagents/meta/medicine.ftl
+++ b/Resources/Locale/ru-RU/reagents/meta/medicine.ftl
@@ -151,5 +151,5 @@ reagent-desc-psicodine = Подавляет тревогу и прочие фо
reagent-name-potassium-iodide = йодистый калий
reagent-desc-potassium-iodide = Снижает поражающее действие от радиации на 90%. Только профилактическое применение.
-reagent-name-haloperidol = галоперидол
-reagent-desc-haloperidol = Выводит из организма большую часть стимулирующих или галлюцигенных химикатов. Вызывает сонливость.
\ No newline at end of file
+reagent-name-haloperidol = галоперидол
+reagent-desc-haloperidol = Выводит из организма большую часть стимулирующих или галлюцигенных химикатов. Вызывает сонливость.
diff --git a/Resources/Prototypes/Reagents/medicine.yml b/Resources/Prototypes/Reagents/medicine.yml
index 3dc8509c6e..11299d4d6c 100644
--- a/Resources/Prototypes/Reagents/medicine.yml
+++ b/Resources/Prototypes/Reagents/medicine.yml
@@ -1162,7 +1162,7 @@
conditions:
- !type:ReagentThreshold
min: 12
-
+
- type: reagent
id: Opporozidone #Name based of an altered version of the startreck chem "Opporozine"
name: reagent-name-opporozidone
@@ -1249,6 +1249,7 @@
effects:
- !type:HealthChange
scaleByQuantity: true
+ pierceHardsuit: false
damage:
groups:
Brute: -1.25
@@ -1280,6 +1281,7 @@
effects:
- !type:HealthChange
scaleByQuantity: true
+ pierceHardsuit: false
damage:
types:
Heat: -2
@@ -1307,6 +1309,7 @@
effects:
- !type:HealthChange
scaleByQuantity: true
+ pierceHardsuit: false
damage:
groups:
Brute: -2