Files
Delta-v/Content.Shared/_DV/Psionics/Systems/PsionicPowers/SharedMassSleepPowerSystem.cs
T
Sir Warockandpre-commit-ci[bot] 455e232a38 Buff MassSleep (#5692)
* Buff Masssleep

* Increase Glimmer Creation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed Stupidness

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-28 20:06:11 +02:00

30 lines
1.3 KiB
C#

using Content.Shared._DV.Psionics.Components;
using Content.Shared._DV.Psionics.Components.PsionicPowers;
using Content.Shared._DV.Psionics.Events.PowerActionEvents;
using Content.Shared.Body.Systems;
using Content.Shared.Chemistry.Components;
using Content.Shared.StatusEffectNew.Components;
namespace Content.Shared._DV.Psionics.Systems.PsionicPowers;
public abstract class SharedMassSleepPowerSystem : BasePsionicPowerSystem<MassSleepPowerComponent, MassSleepPowerActionEvent>
{
[Dependency] private readonly SharedBloodstreamSystem _bloodstreamSystem = default!;
public override void Update(float frameTime)
{
var query = EntityQueryEnumerator<RegenerativeSleepingStatusEffectComponent, StatusEffectComponent>();
while (query.MoveNext(out var uid, out var comp, out var statusEffect))
{
if (comp.NextTick > Timing.CurTime || statusEffect.AppliedTo is null)
continue;
comp.NextTick = Timing.CurTime + TimeSpan.FromSeconds(1); // Metabolism ticks every second.
Dirty(uid, comp);
var solution = new Solution();
solution.AddReagent(comp.ReagentId, comp.Quantity);
_bloodstreamSystem.TryAddToBloodstream(statusEffect.AppliedTo.Value, solution);
}
}
}