anomaly commands (#16179)
This commit is contained in:
59
Content.Server/Anomaly/AnomalySystem.Commands.cs
Normal file
59
Content.Server/Anomaly/AnomalySystem.Commands.cs
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
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>");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using Content.Server.Anomaly.Components;
|
using Content.Server.Anomaly.Components;
|
||||||
using Content.Server.Atmos.EntitySystems;
|
using Content.Server.Atmos.EntitySystems;
|
||||||
using Content.Server.Audio;
|
using Content.Server.Audio;
|
||||||
using Content.Server.Explosion.EntitySystems;
|
using Content.Server.Explosion.EntitySystems;
|
||||||
@@ -44,6 +44,7 @@ public sealed partial class AnomalySystem : SharedAnomalySystem
|
|||||||
InitializeGenerator();
|
InitializeGenerator();
|
||||||
InitializeScanner();
|
InitializeScanner();
|
||||||
InitializeVessel();
|
InitializeVessel();
|
||||||
|
InitializeCommands();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnMapInit(EntityUid uid, AnomalyComponent component, MapInitEvent args)
|
private void OnMapInit(EntityUid uid, AnomalyComponent component, MapInitEvent args)
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ anomaly-generator-charges = {$charges ->
|
|||||||
}
|
}
|
||||||
anomaly-generator-announcement = An anomaly has been generated!
|
anomaly-generator-announcement = An anomaly has been generated!
|
||||||
|
|
||||||
|
anomaly-command-pulse = Pulses a target anomaly
|
||||||
|
anomaly-command-supercritical = Makes a target anomaly go supercritical
|
||||||
|
|
||||||
# Flavor text on the footer
|
# Flavor text on the footer
|
||||||
anomaly-generator-flavor-left = Anomaly may spawn inside the operator.
|
anomaly-generator-flavor-left = Anomaly may spawn inside the operator.
|
||||||
|
|||||||
Reference in New Issue
Block a user