]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Add uplink command minor revision and cleanup (#38532)
authorKyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Tue, 24 Jun 2025 10:46:35 +0000 (06:46 -0400)
committerGitHub <noreply@github.com>
Tue, 24 Jun 2025 10:46:35 +0000 (12:46 +0200)
* commit

* Update AddUplinkCommand.cs

Content.Server/Traitor/Uplink/Commands/AddUplinkCommand.cs
Resources/Locale/en-US/administration/commands/add-uplink-command.ftl

index f5fde87c11fa4346e9e71448185df20efb855358..8350c01f7aa01c9d709de24a7176fe38f41e306f 100644 (file)
 using Content.Server.Administration;
 using Content.Shared.Administration;
-using Content.Shared.CCVar;
-using Content.Shared.FixedPoint;
 using Robust.Server.Player;
-using Robust.Shared.Configuration;
 using Robust.Shared.Console;
 using Robust.Shared.Player;
 
-namespace Content.Server.Traitor.Uplink.Commands
-{
-    [AdminCommand(AdminFlags.Admin)]
-    public sealed class AddUplinkCommand : IConsoleCommand
-    {
-        [Dependency] private readonly IEntityManager _entManager = default!;
-        [Dependency] private readonly IPlayerManager _playerManager = default!;
-
-        public string Command => "adduplink";
-
-        public string Description => Loc.GetString("add-uplink-command-description");
+namespace Content.Server.Traitor.Uplink.Commands;
 
-        public string Help => Loc.GetString("add-uplink-command-help");
+[AdminCommand(AdminFlags.Admin)]
+public sealed class AddUplinkCommand : LocalizedEntityCommands
+{
+    [Dependency] private readonly UplinkSystem _uplinkSystem = default!;
+    [Dependency] private readonly IPlayerManager _playerManager = default!;
 
+    public override string Command => "adduplink";
 
-        public CompletionResult GetCompletion(IConsoleShell shell, string[] args)
+    public override void Execute(IConsoleShell shell, string argStr, string[] args)
+    {
+        if (args.Length > 3)
         {
-            return args.Length switch
-            {
-                1 => CompletionResult.FromHintOptions(CompletionHelper.SessionNames(), Loc.GetString("add-uplink-command-completion-1")),
-                2 => CompletionResult.FromHint(Loc.GetString("add-uplink-command-completion-2")),
-                3 => CompletionResult.FromHint(Loc.GetString("add-uplink-command-completion-3")),
-                _ => CompletionResult.Empty
-            };
+            shell.WriteError(Loc.GetString("shell-wrong-arguments-number"));
+            return;
         }
 
-        public void Execute(IConsoleShell shell, string argStr, string[] args)
+        ICommonSession? session;
+        if (args.Length > 0)
         {
-            if (args.Length > 3)
+            // Get player entity
+            if (!_playerManager.TryGetSessionByUsername(args[0], out session))
             {
-                shell.WriteError(Loc.GetString("shell-wrong-arguments-number"));
+                shell.WriteLine(Loc.GetString("shell-target-player-does-not-exist"));
                 return;
             }
+        }
+        else
+            session = shell.Player;
 
-            ICommonSession? session;
-            if (args.Length > 0)
-            {
-                // Get player entity
-                if (!_playerManager.TryGetSessionByUsername(args[0], out session))
-                {
-                    shell.WriteLine(Loc.GetString("shell-target-player-does-not-exist"));
-                    return;
-                }
-            }
-            else
-            {
-                session = shell.Player;
-            }
+        if (session?.AttachedEntity is not { } user)
+        {
+            shell.WriteLine(Loc.GetString("add-uplink-command-error-1"));
+            return;
+        }
 
-            if (session?.AttachedEntity is not { } user)
+        // Get target item
+        EntityUid? uplinkEntity = null;
+        if (args.Length >= 2)
+        {
+            if (!int.TryParse(args[1], out var itemId))
             {
-                shell.WriteLine(Loc.GetString("add-uplink-command-error-1"));
+                shell.WriteLine(Loc.GetString("shell-entity-uid-must-be-number"));
                 return;
             }
 
-            // Get target item
-            EntityUid? uplinkEntity = null;
-            if (args.Length >= 2)
-            {
-                if (!int.TryParse(args[1], out var itemID))
-                {
-                    shell.WriteLine(Loc.GetString("shell-entity-uid-must-be-number"));
-                    return;
-                }
-
-                var eNet = new NetEntity(itemID);
-
-                if (!_entManager.TryGetEntity(eNet, out var eUid))
-                {
-                    shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
-                    return;
-                }
-
-                uplinkEntity = eUid;
-            }
+            var eNet = new NetEntity(itemId);
 
-            bool isDiscounted = false;
-            if (args.Length >= 3)
+            if (!EntityManager.TryGetEntity(eNet, out var eUid))
             {
-                if (!bool.TryParse(args[2], out isDiscounted))
-                {
-                    shell.WriteLine(Loc.GetString("shell-invalid-bool"));
-                    return;
-                }
+                shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
+                return;
             }
 
-            // Finally add uplink
-            var uplinkSys = _entManager.System<UplinkSystem>();
-            if (!uplinkSys.AddUplink(user, 20, uplinkEntity: uplinkEntity, giveDiscounts: isDiscounted))
+            uplinkEntity = eUid;
+        }
+
+        var isDiscounted = false;
+        if (args.Length >= 3)
+        {
+            if (!bool.TryParse(args[2], out isDiscounted))
             {
-                shell.WriteLine(Loc.GetString("add-uplink-command-error-2"));
+                shell.WriteLine(Loc.GetString("shell-invalid-bool"));
+                return;
             }
         }
+
+        // Finally add uplink
+        if (!_uplinkSystem.AddUplink(user, 20, uplinkEntity: uplinkEntity, giveDiscounts: isDiscounted))
+            shell.WriteLine(Loc.GetString("add-uplink-command-error-2"));
+    }
+
+    public override CompletionResult GetCompletion(IConsoleShell shell, string[] args)
+    {
+        return args.Length switch
+        {
+            1 => CompletionResult.FromHintOptions(CompletionHelper.SessionNames(), Loc.GetString("add-uplink-command-completion-1")),
+            2 => CompletionResult.FromHint(Loc.GetString("add-uplink-command-completion-2")),
+            3 => CompletionResult.FromHint(Loc.GetString("add-uplink-command-completion-3")),
+            _ => CompletionResult.Empty,
+        };
     }
 }
index 1a721c93f362476493bccfa0a5d7716f7fdebe29..40d0c5fa1b1a17ce110eaee4c5deed093a3d6410 100644 (file)
@@ -1,5 +1,5 @@
-add-uplink-command-description = Creates uplink on selected item and link it to users account
-add-uplink-command-help = Usage: adduplink [username] [item-id]
+cmd-adduplink-desc = Creates uplink on selected item and link it to users account
+cmd-adduplink-help = Usage: adduplink [username] [item-id] [discountEnabled]
 
 add-uplink-command-completion-1 = Username (defaults to self)
 add-uplink-command-completion-2 = Uplink uid (default to PDA)