Admin freeze (#6668)

This commit is contained in:
mirrorcult
2022-02-11 19:01:37 -07:00
committed by GitHub
parent 0e63cbd404
commit 307e642a6d
7 changed files with 94 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ using Content.Shared.Database;
using Content.Shared.GameTicking;
using Content.Shared.Interaction.Helpers;
using Content.Shared.Inventory;
using Content.Shared.Movement.Components;
using Content.Shared.Popups;
using Content.Shared.Verbs;
using Robust.Server.Console;
@@ -77,6 +78,26 @@ namespace Content.Server.Administration
_console.RemoteExecuteCommand(player, $"openahelp \"{targetActor.PlayerSession.UserId}\"");
verb.Impact = LogImpact.Low;
args.Verbs.Add(verb);
// Freeze
var frozen = HasComp<AdminFrozenComponent>(args.Target);
args.Verbs.Add(new Verb
{
Priority = -1, // This is just so it doesn't change position in the menu between freeze/unfreeze.
Text = frozen
? Loc.GetString("admin-verbs-unfreeze")
: Loc.GetString("admin-verbs-freeze"),
Category = VerbCategory.Admin,
IconTexture = "/Textures/Interface/VerbIcons/snow.svg.192dpi.png",
Act = () =>
{
if (frozen)
RemComp<AdminFrozenComponent>(args.Target);
else
EnsureComp<AdminFrozenComponent>(args.Target);
},
Impact = LogImpact.Medium,
});
}
// TeleportTo