From 92d70b05872265aa77bbabee3ebb5904ca363786 Mon Sep 17 00:00:00 2001 From: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com> Date: Mon, 3 Jan 2022 01:07:33 -0800 Subject: [PATCH] Add teleport verbs (#5954) * Add teleport verbs * Add ftl file * Make the verbs run the command serverside --- .../Administration/AdminVerbSystem.cs | 44 ++++++++++++++----- .../en-US/administration/admin-verbs.ftl | 2 + 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/Content.Server/Administration/AdminVerbSystem.cs b/Content.Server/Administration/AdminVerbSystem.cs index 0d170434ef..9b3efc44aa 100644 --- a/Content.Server/Administration/AdminVerbSystem.cs +++ b/Content.Server/Administration/AdminVerbSystem.cs @@ -64,19 +64,43 @@ namespace Content.Server.Administration var player = actor.PlayerSession; - // Ahelp - if (_adminManager.IsAdmin(player) && TryComp(args.Target, out ActorComponent? targetActor)) + if (_adminManager.IsAdmin(player)) { - Verb verb = new(); - verb.Text = Loc.GetString("ahelp-verb-get-data-text"); - verb.Category = VerbCategory.Admin; - verb.IconTexture = "/Textures/Interface/gavel.svg.192dpi.png"; - verb.Act = () => _console.RemoteExecuteCommand(player, $"openahelp \"{targetActor.PlayerSession.UserId}\"");; - verb.Impact = LogImpact.Low; - args.Verbs.Add(verb); + if (TryComp(args.Target, out ActorComponent? targetActor)) + { + // AdminHelp + Verb verb = new(); + verb.Text = Loc.GetString("ahelp-verb-get-data-text"); + verb.Category = VerbCategory.Admin; + verb.IconTexture = "/Textures/Interface/gavel.svg.192dpi.png"; + verb.Act = () => + _console.RemoteExecuteCommand(player, $"openahelp \"{targetActor.PlayerSession.UserId}\""); + verb.Impact = LogImpact.Low; + args.Verbs.Add(verb); + } + + // TeleportTo + args.Verbs.Add(new Verb + { + Text = Loc.GetString("admin-verbs-teleport-to"), + Category = VerbCategory.Admin, + IconTexture = "/Textures/Interface/VerbIcons/open.svg.192dpi.png", + Act = () => _console.ExecuteCommand(player, $"tpto {args.Target}"), + Impact = LogImpact.Low + }); + + // TeleportHere + args.Verbs.Add(new Verb + { + Text = Loc.GetString("admin-verbs-teleport-here"), + Category = VerbCategory.Admin, + IconTexture = "/Textures/Interface/VerbIcons/close.svg.192dpi.png", + Act = () => _console.ExecuteCommand(player, $"tpto {args.Target} {args.User}"), + Impact = LogImpact.Low + }); } - // Atillery + // Artillery if (_adminManager.HasAdminFlag(player, AdminFlags.Fun)) { Verb verb = new(); diff --git a/Resources/Locale/en-US/administration/admin-verbs.ftl b/Resources/Locale/en-US/administration/admin-verbs.ftl index e717e649ed..1a12ad2f44 100644 --- a/Resources/Locale/en-US/administration/admin-verbs.ftl +++ b/Resources/Locale/en-US/administration/admin-verbs.ftl @@ -2,3 +2,5 @@ delete-verb-get-data-text = Delete edit-solutions-verb-get-data-text = Edit Solutions explode-verb-get-data-text = Explode ahelp-verb-get-data-text = Message +admin-verbs-teleport-to = Teleport To +admin-verbs-teleport-here = Teleport Here