using Content.Shared.Atmos; namespace Content.Server.Anomaly.Components; /// /// This component is used for handling gas producing anomalies. Will always spawn one on the tile with the anomaly, and in a random radius around it. /// [RegisterComponent] public sealed partial class GasProducerAnomalyComponent : Component { /// /// Should this gas be released when an anomaly reaches max severity? /// [DataField("releaseOnMaxSeverity")] public bool ReleaseOnMaxSeverity = false; /// /// Should this gas be released over time? /// [DataField("releasePassively")] public bool ReleasePassively = false; // In case there are any future anomalies that release gas passively /// /// The gas to release /// [DataField("releasedGas", required: true)] public Gas ReleasedGas = Gas.WaterVapor; // There is no entry for none, and Gas cannot be null /// /// The amount of gas released when the anomaly reaches max severity /// [DataField("criticalMoleAmount")] public float SuperCriticalMoleAmount = 150f; /// /// The amount of gas released passively /// [DataField("passiveMoleAmount")] public float PassiveMoleAmount = 1f; /// /// The radius of random gas spawns. /// [DataField("spawnRadius", required: true)] public float spawnRadius = 3; /// /// The number of tiles which will be modified. /// [DataField("tileCount")] public int tileCount = 1; /// /// The the amount the tempurature should be modified by (negative for decreasing temp) /// [DataField("tempChange")] public float tempChange = 0; }