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;
}