Files
tbd-station-14/Content.Server/StationEvents/Components/GasLeakRuleComponent.cs
Ilya246 27e14d8a96 buff gas leak event (#25864)
the fog is coming
2024-03-06 12:41:03 +11:00

48 lines
1.2 KiB
C#

using Content.Server.StationEvents.Events;
using Content.Shared.Atmos;
using Robust.Shared.Map;
namespace Content.Server.StationEvents.Components;
[RegisterComponent, Access(typeof(GasLeakRule))]
public sealed partial class GasLeakRuleComponent : Component
{
public readonly Gas[] LeakableGases =
{
Gas.Ammonia,
Gas.Plasma,
Gas.Tritium,
Gas.Frezon,
Gas.WaterVapor, // the fog
};
/// <summary>
/// Running cooldown of how much time until another leak.
/// </summary>
public float TimeUntilLeak;
/// <summary>
/// How long between more gas being added to the tile.
/// </summary>
public float LeakCooldown = 1.0f;
// Event variables
public EntityUid TargetStation;
public EntityUid TargetGrid;
public Vector2i TargetTile;
public EntityCoordinates TargetCoords;
public bool FoundTile;
public Gas LeakGas;
public float MolesPerSecond;
public readonly int MinimumMolesPerSecond = 80;
/// <summary>
/// Don't want to make it too fast to give people time to flee.
/// </summary>
public int MaximumMolesPerSecond = 200;
public int MinimumGas = 1000;
public int MaximumGas = 4000;
public float SparkChance = 0.05f;
}