using Content.Server.Administration.Systems; using Content.Shared.Administration; using Robust.Shared.Toolshed; using Robust.Shared.Toolshed.Errors; namespace Content.Server.Administration.Toolshed; [ToolshedCommand, AdminCommand(AdminFlags.Debug)] public sealed class RejuvenateCommand : ToolshedCommand { private RejuvenateSystem? _rejuvenate; [CommandImplementation] public IEnumerable Rejuvenate([PipedArgument] IEnumerable input) { _rejuvenate ??= GetSys(); foreach (var i in input) { _rejuvenate.PerformRejuvenate(i); yield return i; } } [CommandImplementation] public void Rejuvenate([CommandInvocationContext] IInvocationContext ctx) { _rejuvenate ??= GetSys(); if (ExecutingEntity(ctx) is not { } ent) { if (ctx.Session is {} session) ctx.ReportError(new SessionHasNoEntityError(session)); else ctx.ReportError(new NotForServerConsoleError()); } else _rejuvenate.PerformRejuvenate(ent); } }