diff --git a/Content.Server/Body/Components/LungComponent.cs b/Content.Server/Body/Components/LungComponent.cs index 4502854845..492100f104 100644 --- a/Content.Server/Body/Components/LungComponent.cs +++ b/Content.Server/Body/Components/LungComponent.cs @@ -11,7 +11,7 @@ using Robust.Shared.ViewVariables; namespace Content.Server.Body.Components; [RegisterComponent, Friend(typeof(LungSystem))] -public class LungComponent : Component +public sealed class LungComponent : Component { [DataField("air")] public GasMixture Air { get; set; } = new() @@ -20,9 +20,6 @@ public class LungComponent : Component Temperature = Atmospherics.NormalBodyTemperature }; - [DataField("validReagentGases", required: true)] - public HashSet ValidGases = default!; - [ViewVariables] public Solution LungSolution = default!; } diff --git a/Content.Server/Body/Components/RespiratorComponent.cs b/Content.Server/Body/Components/RespiratorComponent.cs index 0f253985f8..a302dd552d 100644 --- a/Content.Server/Body/Components/RespiratorComponent.cs +++ b/Content.Server/Body/Components/RespiratorComponent.cs @@ -9,7 +9,7 @@ using Robust.Shared.ViewVariables; namespace Content.Server.Body.Components { [RegisterComponent, Friend(typeof(RespiratorSystem))] - public class RespiratorComponent : Component + public sealed class RespiratorComponent : Component { /// /// Saturation level. Reduced by CycleDelay each tick. @@ -28,7 +28,7 @@ namespace Content.Server.Body.Components public float MaxSaturation = 5.0f; [DataField("minSaturation")] - public float MinSaturation = -5.0f; + public float MinSaturation = -2.0f; // TODO HYPEROXIA? diff --git a/Content.Server/Body/Systems/LungSystem.cs b/Content.Server/Body/Systems/LungSystem.cs index 59838b81f5..d6f3be7e4d 100644 --- a/Content.Server/Body/Systems/LungSystem.cs +++ b/Content.Server/Body/Systems/LungSystem.cs @@ -54,7 +54,7 @@ public class LungSystem : EntitySystem public void GasToReagent(EntityUid uid, LungComponent lung) { - foreach (var gas in lung.ValidGases) + foreach (var gas in Enum.GetValues()) { var i = (int) gas; var moles = lung.Air.Moles[i]; diff --git a/Resources/Prototypes/Body/Mechanisms/human.yml b/Resources/Prototypes/Body/Mechanisms/human.yml index 84c2201f6f..bad3a496bd 100644 --- a/Resources/Prototypes/Body/Mechanisms/human.yml +++ b/Resources/Prototypes/Body/Mechanisms/human.yml @@ -100,11 +100,6 @@ size: 1 compatibility: Biological - type: Lung - validReagentGases: - - Oxygen - - Plasma - - Tritium - - CarbonDioxide - type: Metabolizer removeEmpty: true solutionOnBody: false diff --git a/Resources/Prototypes/Body/Parts/animal.yml b/Resources/Prototypes/Body/Parts/animal.yml index e00b6caaab..cedf350566 100644 --- a/Resources/Prototypes/Body/Parts/animal.yml +++ b/Resources/Prototypes/Body/Parts/animal.yml @@ -82,11 +82,6 @@ size: 1 compatibility: Biological - type: Lung - validReagentGases: - - Oxygen - - Plasma - - Tritium - - CarbonDioxide - type: Metabolizer removeEmpty: true solutionOnBody: false diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index c0e380ed16..30341e30c8 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -223,13 +223,6 @@ normal: spacecat crit: spacecat_dead dead: spacecat_dead - - type: Respirator #Space kitty should be immune to Asphyxiation. Taken from xenos.yml - damage: - types: - Asphyxiation: 1 - damageRecovery: - types: - Asphyxiation: -1 - type: entity name: caracal cat diff --git a/Resources/Prototypes/Entities/Mobs/Player/human.yml b/Resources/Prototypes/Entities/Mobs/Player/human.yml index f7a8e785b3..fffca1673f 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/human.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/human.yml @@ -14,7 +14,7 @@ - type: Respirator damage: types: - Asphyxiation: 3 + Asphyxiation: 1.5 damageRecovery: types: Asphyxiation: -1.5 diff --git a/Resources/Prototypes/Reagents/gases.yml b/Resources/Prototypes/Reagents/gases.yml index 90d0971c2a..1ade182258 100644 --- a/Resources/Prototypes/Reagents/gases.yml +++ b/Resources/Prototypes/Reagents/gases.yml @@ -101,6 +101,11 @@ Gas: effects: - !type:HealthChange + conditions: + # Don't want people to get toxin damage from the gas they just + # exhaled, right? + - !type:ReagentThreshold + min: 0.5 scaleByQuantity: true ignoreResistances: true damage: