using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Robust.Shared.Prototypes;
namespace Content.Shared.EntityEffects.Effects.Atmos;
///
/// This raises an extinguish event on a given entity, reducing FireStacks.
/// The amount of FireStacks reduced is modified by scale.
///
///
public sealed partial class ExtinguishEntityEffectSystem : EntityEffectSystem
{
protected override void Effect(Entity entity, ref EntityEffectEvent args)
{
var ev = new ExtinguishEvent
{
FireStacksAdjustment = args.Effect.FireStacksAdjustment * args.Scale,
};
RaiseLocalEvent(entity, ref ev);
}
}
///
public sealed partial class Extinguish : EntityEffectBase
{
///
/// Amount of FireStacks reduced.
///
[DataField]
public float FireStacksAdjustment = -1.5f;
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) =>
Loc.GetString("entity-effect-guidebook-extinguish-reaction", ("chance", Probability));
}