diff --git a/Content.Server/Atmos/Components/GasMixtureHolderComponent.cs b/Content.Server/Atmos/Components/GasMixtureHolderComponent.cs index 9d533f6ec4d..98feb433468 100644 --- a/Content.Server/Atmos/Components/GasMixtureHolderComponent.cs +++ b/Content.Server/Atmos/Components/GasMixtureHolderComponent.cs @@ -1,4 +1,6 @@ -namespace Content.Server.Atmos.Components +using Content.Shared.Atmos; + +namespace Content.Server.Atmos.Components { [RegisterComponent] public sealed partial class GasMixtureHolderComponent : Component, IGasMixtureHolder diff --git a/Content.Server/Atmos/Components/MapAtmosphereComponent.cs b/Content.Server/Atmos/Components/MapAtmosphereComponent.cs index 6bdef901d44..bdd05e78494 100644 --- a/Content.Server/Atmos/Components/MapAtmosphereComponent.cs +++ b/Content.Server/Atmos/Components/MapAtmosphereComponent.cs @@ -1,3 +1,4 @@ +using Content.Shared.Atmos; using Content.Shared.Atmos.Components; using Content.Shared.Atmos.EntitySystems; diff --git a/Content.Server/Atmos/EntitySystems/AtmosExposedSystem.cs b/Content.Server/Atmos/EntitySystems/AtmosExposedSystem.cs index 9590b9aa548..39469e993f0 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosExposedSystem.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosExposedSystem.cs @@ -1,3 +1,4 @@ +using Content.Shared.Atmos; using Robust.Shared.Map; namespace Content.Server.Atmos.EntitySystems diff --git a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs index 614d550c2f7..df31db6ba07 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs @@ -1,10 +1,10 @@ using System.Linq; using Content.Server.Atmos.Components; using Content.Server.Atmos.Piping.Components; -using Content.Server.Atmos.Reactions; using Content.Server.NodeContainer.NodeGroups; using Content.Shared.Atmos; using Content.Shared.Atmos.Components; +using Content.Shared.Atmos.Reactions; using Robust.Shared.Map.Components; using Robust.Shared.Utility; diff --git a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Gases.cs b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Gases.cs index f8ee4f41923..70c4639e481 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Gases.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Gases.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Runtime.CompilerServices; using Content.Server.Atmos.Reactions; using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using Robust.Shared.Prototypes; using DependencyAttribute = Robust.Shared.IoC.DependencyAttribute; diff --git a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.GridAtmosphere.cs b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.GridAtmosphere.cs index 4b9ef49a406..3830745f68c 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.GridAtmosphere.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.GridAtmosphere.cs @@ -2,6 +2,7 @@ using Content.Server.Atmos.Components; using Content.Server.Atmos.Reactions; using Content.Shared.Atmos; using Content.Shared.Atmos.Components; +using Content.Shared.Atmos.Reactions; using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Utility; diff --git a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs index 7163b4cd44c..db952237338 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs @@ -2,6 +2,7 @@ using Content.Server.Atmos.Components; using Content.Server.Atmos.Reactions; using Content.Shared.Atmos; using Content.Shared.Atmos.Components; +using Content.Shared.Atmos.Reactions; using Content.Shared.Audio; using Content.Shared.Database; using Robust.Shared.Audio; diff --git a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Map.cs b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Map.cs index 25b3b801f76..4b77d9c70da 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Map.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Map.cs @@ -1,4 +1,5 @@ using Content.Server.Atmos.Components; +using Content.Shared.Atmos; using Content.Shared.Atmos.Components; using Robust.Shared.GameStates; using Robust.Shared.Map.Components; diff --git a/Content.Server/Atmos/IGasMixtureHolder.cs b/Content.Server/Atmos/IGasMixtureHolder.cs index 96efa6b9836..65d7ba69a76 100644 --- a/Content.Server/Atmos/IGasMixtureHolder.cs +++ b/Content.Server/Atmos/IGasMixtureHolder.cs @@ -1,4 +1,6 @@ -namespace Content.Server.Atmos +using Content.Shared.Atmos; + +namespace Content.Server.Atmos { public interface IGasMixtureHolder { diff --git a/Content.Server/Atmos/IGasReactionEffect.cs b/Content.Server/Atmos/IGasReactionEffect.cs index bd229694bb1..9fc9231908c 100644 --- a/Content.Server/Atmos/IGasReactionEffect.cs +++ b/Content.Server/Atmos/IGasReactionEffect.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos.EntitySystems; -using Content.Server.Atmos.Reactions; +using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; namespace Content.Server.Atmos { diff --git a/Content.Server/Atmos/Piping/Binary/Components/GasPortComponent.cs b/Content.Server/Atmos/Piping/Binary/Components/GasPortComponent.cs index fb7ee6d5cf9..315362383c3 100644 --- a/Content.Server/Atmos/Piping/Binary/Components/GasPortComponent.cs +++ b/Content.Server/Atmos/Piping/Binary/Components/GasPortComponent.cs @@ -1,3 +1,5 @@ +using Content.Shared.Atmos; + namespace Content.Server.Atmos.Piping.Binary.Components { [RegisterComponent] diff --git a/Content.Server/Atmos/Portable/PortableScrubberSystem.cs b/Content.Server/Atmos/Portable/PortableScrubberSystem.cs index 91ee5880574..bc5db2e22cb 100644 --- a/Content.Server/Atmos/Portable/PortableScrubberSystem.cs +++ b/Content.Server/Atmos/Portable/PortableScrubberSystem.cs @@ -13,6 +13,7 @@ using Content.Server.NodeContainer.NodeGroups; using Content.Server.Audio; using Content.Server.Administration.Logs; using Content.Server.NodeContainer.EntitySystems; +using Content.Shared.Atmos; using Content.Shared.Database; namespace Content.Server.Atmos.Portable diff --git a/Content.Server/Atmos/Reactions/AmmoniaOxygenReaction.cs b/Content.Server/Atmos/Reactions/AmmoniaOxygenReaction.cs index 197034ce545..2c071afab1e 100644 --- a/Content.Server/Atmos/Reactions/AmmoniaOxygenReaction.cs +++ b/Content.Server/Atmos/Reactions/AmmoniaOxygenReaction.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos.EntitySystems; using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using JetBrains.Annotations; namespace Content.Server.Atmos.Reactions; diff --git a/Content.Server/Atmos/Reactions/FrezonCoolantReaction.cs b/Content.Server/Atmos/Reactions/FrezonCoolantReaction.cs index 051ee8202db..475c149cf37 100644 --- a/Content.Server/Atmos/Reactions/FrezonCoolantReaction.cs +++ b/Content.Server/Atmos/Reactions/FrezonCoolantReaction.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos.EntitySystems; using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using JetBrains.Annotations; namespace Content.Server.Atmos.Reactions; diff --git a/Content.Server/Atmos/Reactions/FrezonProductionReaction.cs b/Content.Server/Atmos/Reactions/FrezonProductionReaction.cs index 4ffd9c2f5b3..e3d3ece6b6a 100644 --- a/Content.Server/Atmos/Reactions/FrezonProductionReaction.cs +++ b/Content.Server/Atmos/Reactions/FrezonProductionReaction.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos.EntitySystems; using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using JetBrains.Annotations; namespace Content.Server.Atmos.Reactions; diff --git a/Content.Server/Atmos/Reactions/GasReactionPrototype.cs b/Content.Server/Atmos/Reactions/GasReactionPrototype.cs index 0ee29de3bf1..48a113bb9a2 100644 --- a/Content.Server/Atmos/Reactions/GasReactionPrototype.cs +++ b/Content.Server/Atmos/Reactions/GasReactionPrototype.cs @@ -1,22 +1,10 @@ using Content.Server.Atmos.EntitySystems; using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using Robust.Shared.Prototypes; namespace Content.Server.Atmos.Reactions { - [Flags] - public enum ReactionResult : byte - { - NoReaction = 0, - Reacting = 1, - StopReactions = 2, - } - - public enum GasReaction : byte - { - Fire = 0, - } - [Prototype("gasReaction")] public sealed partial class GasReactionPrototype : IPrototype { diff --git a/Content.Server/Atmos/Reactions/N2ODecompositionReaction.cs b/Content.Server/Atmos/Reactions/N2ODecompositionReaction.cs index 7fce663dc31..367c0eb7b9c 100644 --- a/Content.Server/Atmos/Reactions/N2ODecompositionReaction.cs +++ b/Content.Server/Atmos/Reactions/N2ODecompositionReaction.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos.EntitySystems; using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using JetBrains.Annotations; namespace Content.Server.Atmos.Reactions; diff --git a/Content.Server/Atmos/Reactions/PlasmaFireReaction.cs b/Content.Server/Atmos/Reactions/PlasmaFireReaction.cs index e7ab7835fd9..98d567d4ed5 100644 --- a/Content.Server/Atmos/Reactions/PlasmaFireReaction.cs +++ b/Content.Server/Atmos/Reactions/PlasmaFireReaction.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos.EntitySystems; using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using JetBrains.Annotations; namespace Content.Server.Atmos.Reactions diff --git a/Content.Server/Atmos/Reactions/TritiumFireReaction.cs b/Content.Server/Atmos/Reactions/TritiumFireReaction.cs index 7103859a90f..3ad0a4b04de 100644 --- a/Content.Server/Atmos/Reactions/TritiumFireReaction.cs +++ b/Content.Server/Atmos/Reactions/TritiumFireReaction.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos.EntitySystems; using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using JetBrains.Annotations; namespace Content.Server.Atmos.Reactions diff --git a/Content.Server/Atmos/Reactions/WaterVaporReaction.cs b/Content.Server/Atmos/Reactions/WaterVaporReaction.cs index 8db8fdbd66d..e06c4b75ff9 100644 --- a/Content.Server/Atmos/Reactions/WaterVaporReaction.cs +++ b/Content.Server/Atmos/Reactions/WaterVaporReaction.cs @@ -1,5 +1,7 @@ using Content.Server.Atmos.EntitySystems; using Content.Server.Fluids.EntitySystems; +using Content.Shared.Atmos; +using Content.Shared.Atmos.Reactions; using Content.Shared.Chemistry.Components; using Content.Shared.FixedPoint; using Content.Shared.Maps; diff --git a/Content.Server/Atmos/Serialization/TileAtmosCollectionSerializer.cs b/Content.Server/Atmos/Serialization/TileAtmosCollectionSerializer.cs index 00be83e86d9..5b30d65e48e 100644 --- a/Content.Server/Atmos/Serialization/TileAtmosCollectionSerializer.cs +++ b/Content.Server/Atmos/Serialization/TileAtmosCollectionSerializer.cs @@ -1,4 +1,5 @@ using System.Globalization; +using Content.Shared.Atmos; using Robust.Shared.Serialization; using Robust.Shared.Serialization.Manager; using Robust.Shared.Serialization.Markdown; diff --git a/Content.Server/Atmos/TileMixtureEnumerator.cs b/Content.Server/Atmos/TileMixtureEnumerator.cs index 20440032dab..5601615f509 100644 --- a/Content.Server/Atmos/TileMixtureEnumerator.cs +++ b/Content.Server/Atmos/TileMixtureEnumerator.cs @@ -1,4 +1,5 @@ using System.Diagnostics.CodeAnalysis; +using Content.Shared.Atmos; namespace Content.Server.Atmos; diff --git a/Content.Server/Botany/Systems/PlantHolderSystem.cs b/Content.Server/Botany/Systems/PlantHolderSystem.cs index 721536a7c07..c8842e14939 100644 --- a/Content.Server/Botany/Systems/PlantHolderSystem.cs +++ b/Content.Server/Botany/Systems/PlantHolderSystem.cs @@ -6,6 +6,7 @@ using Content.Server.Fluids.Components; using Content.Server.Ghost.Roles.Components; using Content.Server.Kitchen.Components; using Content.Server.Popups; +using Content.Shared.Atmos; using Content.Shared.Botany; using Content.Shared.Burial.Components; using Content.Shared.Chemistry.Reagent; diff --git a/Content.Server/Destructible/Thresholds/Behaviors/SpawnGasBehavior.cs b/Content.Server/Destructible/Thresholds/Behaviors/SpawnGasBehavior.cs index fec93a87f45..81fb07ecfc9 100644 --- a/Content.Server/Destructible/Thresholds/Behaviors/SpawnGasBehavior.cs +++ b/Content.Server/Destructible/Thresholds/Behaviors/SpawnGasBehavior.cs @@ -1,4 +1,5 @@ using Content.Server.Atmos; +using Content.Shared.Atmos; using JetBrains.Annotations; namespace Content.Server.Destructible.Thresholds.Behaviors; diff --git a/Content.Server/Disposal/Unit/Components/DisposalHolderComponent.cs b/Content.Server/Disposal/Unit/Components/DisposalHolderComponent.cs index 3df2182b41e..690b33968b0 100644 --- a/Content.Server/Disposal/Unit/Components/DisposalHolderComponent.cs +++ b/Content.Server/Disposal/Unit/Components/DisposalHolderComponent.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos; using Content.Server.Disposal.Tube.Components; +using Content.Shared.Atmos; using Robust.Shared.Containers; namespace Content.Server.Disposal.Unit.Components diff --git a/Content.Server/Lathe/LatheSystem.cs b/Content.Server/Lathe/LatheSystem.cs index f56737a5a5f..2b3b810fba7 100644 --- a/Content.Server/Lathe/LatheSystem.cs +++ b/Content.Server/Lathe/LatheSystem.cs @@ -8,6 +8,7 @@ using Content.Server.Materials; using Content.Server.Power.Components; using Content.Server.Power.EntitySystems; using Content.Server.Stack; +using Content.Shared.Atmos; using Content.Shared.UserInterface; using Content.Shared.Database; using Content.Shared.Emag.Components; diff --git a/Content.Server/Mech/Components/MechAirComponent.cs b/Content.Server/Mech/Components/MechAirComponent.cs index c533b3d8343..d312e1b7399 100644 --- a/Content.Server/Mech/Components/MechAirComponent.cs +++ b/Content.Server/Mech/Components/MechAirComponent.cs @@ -1,4 +1,5 @@ using Content.Server.Atmos; +using Content.Shared.Atmos; namespace Content.Server.Mech.Components; diff --git a/Content.Server/Medical/CryoPodSystem.cs b/Content.Server/Medical/CryoPodSystem.cs index 71921f44fda..8d54fc6dd95 100644 --- a/Content.Server/Medical/CryoPodSystem.cs +++ b/Content.Server/Medical/CryoPodSystem.cs @@ -13,6 +13,7 @@ using Content.Server.NodeContainer.NodeGroups; using Content.Server.NodeContainer.Nodes; using Content.Server.Power.Components; using Content.Server.Temperature.Components; +using Content.Shared.Atmos; using Content.Shared.UserInterface; using Content.Shared.Chemistry; using Content.Shared.Chemistry.Components; diff --git a/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs b/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs index fb56dffac96..f7650f599b4 100644 --- a/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs +++ b/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs @@ -13,6 +13,7 @@ using Content.Shared.IdentityManagement; using Content.Shared.Interaction; using Content.Shared.Nutrition; using System.Threading; +using Content.Shared.Atmos; /// /// System for vapes diff --git a/Content.Server/Power/Generation/Teg/TegSystem.cs b/Content.Server/Power/Generation/Teg/TegSystem.cs index 3510a3da45d..540bd6c4832 100644 --- a/Content.Server/Power/Generation/Teg/TegSystem.cs +++ b/Content.Server/Power/Generation/Teg/TegSystem.cs @@ -7,6 +7,7 @@ using Content.Server.DeviceNetwork.Systems; using Content.Server.NodeContainer; using Content.Server.NodeContainer.Nodes; using Content.Server.Power.Components; +using Content.Shared.Atmos; using Content.Shared.DeviceNetwork; using Content.Shared.Examine; using Content.Shared.Power.Generation.Teg; diff --git a/Content.Server/Power/Generator/GeneratorExhaustGasSystem.cs b/Content.Server/Power/Generator/GeneratorExhaustGasSystem.cs index cd85e67221c..359c31d75bb 100644 --- a/Content.Server/Power/Generator/GeneratorExhaustGasSystem.cs +++ b/Content.Server/Power/Generator/GeneratorExhaustGasSystem.cs @@ -1,5 +1,6 @@ using Content.Server.Atmos; using Content.Server.Atmos.EntitySystems; +using Content.Shared.Atmos; using Content.Shared.Power.Generator; namespace Content.Server.Power.Generator; diff --git a/Content.Server/Storage/Components/EntityStorageComponent.cs b/Content.Server/Storage/Components/EntityStorageComponent.cs index 40fdb1b3261..3fba89b64ab 100644 --- a/Content.Server/Storage/Components/EntityStorageComponent.cs +++ b/Content.Server/Storage/Components/EntityStorageComponent.cs @@ -1,4 +1,5 @@ using Content.Server.Atmos; +using Content.Shared.Atmos; using Content.Shared.Storage.Components; using Robust.Shared.GameStates; diff --git a/Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/GasArtifactSystem.cs b/Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/GasArtifactSystem.cs index e24d31a1135..dc054d23182 100644 --- a/Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/GasArtifactSystem.cs +++ b/Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/GasArtifactSystem.cs @@ -2,6 +2,7 @@ using Content.Server.Atmos.EntitySystems; using Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Components; using Content.Server.Xenoarchaeology.XenoArtifacts.Events; +using Content.Shared.Atmos; namespace Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Systems; diff --git a/Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/TemperatureArtifactSystem.cs b/Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/TemperatureArtifactSystem.cs index f314d4a4fb2..e62ce36b5b9 100644 --- a/Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/TemperatureArtifactSystem.cs +++ b/Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/TemperatureArtifactSystem.cs @@ -2,6 +2,7 @@ using Content.Server.Atmos.EntitySystems; using Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Components; using Content.Server.Xenoarchaeology.XenoArtifacts.Events; +using Content.Shared.Atmos; using Robust.Server.GameObjects; namespace Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Systems; diff --git a/Content.Server/Atmos/GasMixture.cs b/Content.Shared/Atmos/GasMixture.cs similarity index 98% rename from Content.Server/Atmos/GasMixture.cs rename to Content.Shared/Atmos/GasMixture.cs index 3d73a4d0b16..a676ed67204 100644 --- a/Content.Server/Atmos/GasMixture.cs +++ b/Content.Shared/Atmos/GasMixture.cs @@ -1,13 +1,12 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Runtime.CompilerServices; -using Content.Server.Atmos.Reactions; -using Content.Shared.Atmos; using Content.Shared.Atmos.EntitySystems; +using Content.Shared.Atmos.Reactions; using Robust.Shared.Serialization; using Robust.Shared.Utility; -namespace Content.Server.Atmos +namespace Content.Shared.Atmos { /// /// A general-purpose, variable volume gas mixture. diff --git a/Content.Shared/Atmos/GasMixtureStringRepresentation.cs b/Content.Shared/Atmos/GasMixtureStringRepresentation.cs new file mode 100644 index 00000000000..942b2bdc672 --- /dev/null +++ b/Content.Shared/Atmos/GasMixtureStringRepresentation.cs @@ -0,0 +1,16 @@ +namespace Content.Shared.Atmos; + +public readonly record struct GasMixtureStringRepresentation(float TotalMoles, float Temperature, float Pressure, Dictionary MolesPerGas) : IFormattable +{ + public override string ToString() + { + return $"{Temperature}K {Pressure} kPa"; + } + + public string ToString(string? format, IFormatProvider? formatProvider) + { + return ToString(); + } + + public static implicit operator string(GasMixtureStringRepresentation rep) => rep.ToString(); +} diff --git a/Content.Shared/Atmos/Reactions/GasReactionEnums.cs b/Content.Shared/Atmos/Reactions/GasReactionEnums.cs new file mode 100644 index 00000000000..73b8998d409 --- /dev/null +++ b/Content.Shared/Atmos/Reactions/GasReactionEnums.cs @@ -0,0 +1,14 @@ +namespace Content.Shared.Atmos.Reactions; + +[Flags] +public enum ReactionResult : byte +{ + NoReaction = 0, + Reacting = 1, + StopReactions = 2, +} + +public enum GasReaction : byte +{ + Fire = 0, +}