using Content.Server.Traits.Assorted; using Content.Shared.Chemistry.Reagent; using Content.Shared.EntityEffects; using JetBrains.Annotations; using Robust.Shared.Prototypes; namespace Content.Server.EntityEffects.Effects; /// /// Reset narcolepsy timer /// [UsedImplicitly] public sealed partial class ResetNarcolepsy : EntityEffect { /// /// The # of seconds the effect resets the narcolepsy timer to /// [DataField("TimerReset")] public int TimerReset = 600; protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) => Loc.GetString("reagent-effect-guidebook-reset-narcolepsy", ("chance", Probability)); public override void Effect(EntityEffectBaseArgs args) { if (args is EntityEffectReagentArgs reagentArgs) if (reagentArgs.Scale != 1f) return; args.EntityManager.EntitySysManager.GetEntitySystem().AdjustNarcolepsyTimer(args.TargetEntity, TimerReset); } }