Files
tbd-station-14/Content.Server/Anomaly/Components/GasProducerAnomalyComponent.cs
LankLTE e9665f2a44 Pyroclastic Anomaly Supercrit Buff (#17806)
* Added random gas, fixed ice anom, added temperature field.

* Revert "Added random gas, fixed ice anom, added temperature field."

This reverts commit ae5eade86d84d6b1341b7b76754b6f0007dbf3ca.

* I pushed master. Oops. Fixed now.

* Fixed behonker, fixed TempChange.

* Fixed tempchange.
2023-07-03 15:36:22 -06:00

59 lines
1.8 KiB
C#

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