mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-10-02 09:07:27 +00:00
* 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>
30 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|