Files
tbd-station-14/Content.Server/Chemistry/ReagentEffects/AdjustAlert.cs
Emisse 938d6d9945 Revert "Solution Entities" (#23160)
Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
2023-12-28 20:45:42 -07:00

47 lines
1.4 KiB
C#

using Content.Shared.Alert;
using Content.Shared.Chemistry.Reagent;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
namespace Content.Server.Chemistry.ReagentEffects;
public sealed partial class AdjustAlert : ReagentEffect
{
[DataField("alertType", required: true)]
public AlertType Type;
[DataField("clear")]
public bool Clear;
[DataField("cooldown")]
public bool Cooldown;
[DataField("time")]
public float Time;
//JUSTIFICATION: This just changes some visuals, doesn't need to be documented.
protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) => null;
public override void Effect(ReagentEffectArgs args)
{
var alertSys = EntitySystem.Get<AlertsSystem>();
if (args.EntityManager.HasComponent<AlertsComponent>(args.SolutionEntity))
{
if (Clear)
{
alertSys.ClearAlert(args.SolutionEntity, Type);
}
else
{
(TimeSpan, TimeSpan)? cooldown = null;
if (Cooldown)
{
var timing = IoCManager.Resolve<IGameTiming>();
cooldown = (timing.CurTime, timing.CurTime + TimeSpan.FromSeconds(Time));
}
alertSys.ShowAlert(args.SolutionEntity, Type, cooldown: cooldown);
}
}
}
}