--- /dev/null
+using Content.Server.Administration;
+using Content.Shared.Administration;
+using Content.Shared.Anomaly.Components;
+using Robust.Shared.Console;
+
+namespace Content.Server.Anomaly;
+
+public sealed partial class AnomalySystem
+{
+ [Dependency] private readonly IConsoleHost _consoleHost = default!;
+
+ public void InitializeCommands()
+ {
+ _consoleHost.RegisterCommand("pulseanomaly", Loc.GetString("anomaly-command-pulse"), "pulseanomaly <uid>",
+ PulseAnomalyCommand,
+ GetAnomalyCompletion);
+
+ _consoleHost.RegisterCommand("supercriticalanomaly", Loc.GetString("anomaly-command-supercritical"), "supercriticalanomaly <uid>",
+ SupercriticalAnomalyCommand,
+ GetAnomalyCompletion);
+ }
+
+ [AdminCommand(AdminFlags.Fun)]
+ private void PulseAnomalyCommand(IConsoleShell shell, string argstr, string[] args)
+ {
+ if (args.Length != 1)
+ shell.WriteError("Argument length must be 1");
+
+ if (!EntityUid.TryParse(args[0], out var uid))
+ return;
+
+ if (!TryComp<AnomalyComponent>(uid, out var anomaly))
+ return;
+
+ DoAnomalyPulse(uid, anomaly);
+ }
+
+ [AdminCommand(AdminFlags.Fun)]
+ private void SupercriticalAnomalyCommand(IConsoleShell shell, string argstr, string[] args)
+ {
+ if (args.Length != 1)
+ shell.WriteError("Argument length must be 1");
+
+ if (!EntityUid.TryParse(args[0], out var uid))
+ return;
+
+ if (!HasComp<AnomalyComponent>(uid))
+ return;
+
+ StartSupercriticalEvent(uid);
+ }
+
+ private CompletionResult GetAnomalyCompletion(IConsoleShell shell, string[] args)
+ {
+ return args.Length != 1
+ ? CompletionResult.Empty
+ : CompletionResult.FromHintOptions(CompletionHelper.Components<AnomalyComponent>(args[0]), "<uid>");
+ }
+}
-using Content.Server.Anomaly.Components;
+using Content.Server.Anomaly.Components;
using Content.Server.Atmos.EntitySystems;
using Content.Server.Audio;
using Content.Server.Explosion.EntitySystems;
InitializeGenerator();
InitializeScanner();
InitializeVessel();
+ InitializeCommands();
}
private void OnMapInit(EntityUid uid, AnomalyComponent component, MapInitEvent args)