Files
tbd-station-14/Content.Server/Administration/Systems/BufferingSystem.cs
Moony 130302a262 Adds twenty-one new smites, moves the explosion smite to the verb category. (#8456)
* Adds seven new smites, moves the explosion smite to the verb category.

* adds even more smites.

* Even more smites, some messages for specific smites.

* Adds even more smites.

* Removes some junk, adds a smite that angers the pointing arrows.

* get rid of dumb component.

* Remove mistake from verb menu presentation.

* How did that happen?

* whoops

* c

* e

* fuck

* Loading...

* removes the BoM go away

* adds the funny kill sign. Fixes ghost smite.

* Move systems around.

* Adjust organ vomit.

* Adds a smite that turns people into an instrument, and one that removes their gravity.

* oops

* typo

Co-authored-by: Veritius <veritiusgaming@gmail.com>
2022-05-27 00:41:18 -07:00

40 lines
1.5 KiB
C#

using Content.Server.Administration.Components;
using Content.Shared.Administration;
using Robust.Shared.Map;
using Robust.Shared.Random;
namespace Content.Server.Administration.Systems;
public sealed class BufferingSystem : EntitySystem
{
[Dependency] private readonly IRobustRandom _random = default!;
public override void Update(float frameTime)
{
foreach (var buffering in EntityQuery<BufferingComponent>())
{
if (buffering.BufferingIcon is not null)
{
buffering.BufferingTimer -= frameTime;
if (!(buffering.BufferingTimer <= 0.0f))
continue;
Del(buffering.BufferingIcon.Value);
RemComp<AdminFrozenComponent>(buffering.Owner);
buffering.TimeTilNextBuffer = _random.NextFloat(buffering.MinimumTimeTilNextBuffer, buffering.MaximumTimeTilNextBuffer);
buffering.BufferingIcon = null;
}
else
{
buffering.TimeTilNextBuffer -= frameTime;
if (!(buffering.TimeTilNextBuffer <= 0.0f))
continue;
buffering.BufferingTimer = _random.NextFloat(buffering.MinimumBufferTime, buffering.MaximumBufferTime);
buffering.BufferingIcon = Spawn("BufferingIcon", new EntityCoordinates(buffering.Owner, Vector2.Zero));
EnsureComp<AdminFrozenComponent>(buffering.Owner);
}
}
}
}