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
};
///
/// Running cooldown of how much time until another leak.
///
public float TimeUntilLeak;
///
/// How long between more gas being added to the tile.
///
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;
///
/// Don't want to make it too fast to give people time to flee.
///
public int MaximumMolesPerSecond = 200;
public int MinimumGas = 1000;
public int MaximumGas = 4000;
public float SparkChance = 0.05f;
}