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 ", PulseAnomalyCommand, GetAnomalyCompletion); _consoleHost.RegisterCommand("supercriticalanomaly", Loc.GetString("anomaly-command-supercritical"), "supercriticalanomaly ", 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(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(uid)) return; StartSupercriticalEvent(uid); } private CompletionResult GetAnomalyCompletion(IConsoleShell shell, string[] args) { return args.Length != 1 ? CompletionResult.Empty : CompletionResult.FromHintOptions(CompletionHelper.Components(args[0]), ""); } }