using Content.Server.StationEvents.Events;
using Content.Shared.Chemistry.Reagent;
using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
namespace Content.Server.StationEvents.Components;
[RegisterComponent, Access(typeof(VentClogRule))]
public sealed partial class VentClogRuleComponent : Component
{
///
/// Somewhat safe chemicals to put in foam that probably won't instantly kill you.
/// There is a small chance of using any reagent, ignoring this.
///
[DataField]
public IReadOnlyList> SafeishVentChemicals = new ProtoId[]
{
"Water", "Blood", "Slime", "SpaceDrugs", "SpaceCleaner", "Nutriment", "Sugar", "SpaceLube", "Ephedrine", "Ale", "Beer", "SpaceGlue"
};
///
/// Sound played when foam is being created.
///
[DataField]
public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/Effects/extinguish.ogg");
///
/// The standard reagent quantity to put in the foam, modified by event severity.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public int ReagentQuantity = 100;
///
/// The standard spreading of the foam, not modified by event severity.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public int Spread = 16;
///
/// How long the foam lasts for
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float Time = 20f;
///
/// Reagents that gets the weak numbers used instead of regular ones.
///
[DataField]
public IReadOnlyList> WeakReagents = new ProtoId[]
{
"SpaceLube", "SpaceGlue"
};
///
/// Quantity of weak reagents to put in the foam.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public int WeakReagentQuantity = 50;
///
/// Spread of the foam for weak reagents.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public int WeakSpread = 3;
}