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)); }