]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Refactor the `hungry` debug command to be in line with `thirsty` (#30591)
authorMervill <mervills.email@gmail.com>
Mon, 5 Aug 2024 08:12:07 +0000 (01:12 -0700)
committerGitHub <noreply@github.com>
Mon, 5 Aug 2024 08:12:07 +0000 (18:12 +1000)
refactor the hungry debug command to be in line with thirsty

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Content.Server/Nutrition/Hungry.cs
Resources/Locale/en-US/nutrition/nutrition-commands.ftl

index ae68dcd2fdadb0ceb4f6bd77eb4de9318682baba..ce5e14ce091bd53e0b903e6f748a72c5b6673a40 100644 (file)
@@ -4,40 +4,35 @@ using Content.Shared.Nutrition.Components;
 using Content.Shared.Nutrition.EntitySystems;
 using Robust.Shared.Console;
 
-namespace Content.Server.Nutrition
-{
-    [AdminCommand(AdminFlags.Debug)]
-    public sealed class Hungry : IConsoleCommand
-    {
-        [Dependency] private readonly IEntityManager _entities = default!;
+namespace Content.Server.Nutrition;
 
-        public string Command => "hungry";
-        public string Description => "Makes you hungry.";
-        public string Help => $"{Command}";
+[AdminCommand(AdminFlags.Debug)]
+public sealed class Hungry : LocalizedEntityCommands
+{
+    public override string Command => "hungry";
 
-        public void Execute(IConsoleShell shell, string argStr, string[] args)
+    public override void Execute(IConsoleShell shell, string argStr, string[] args)
+    {
+        var player = shell.Player;
+        if (player == null)
         {
-            var player = shell.Player;
-            if (player == null)
-            {
-                shell.WriteLine("You cannot use this command unless you are a player.");
-                return;
-            }
-
-            if (player.AttachedEntity is not {Valid: true} playerEntity)
-            {
-                shell.WriteLine("You cannot use this command without an entity.");
-                return;
-            }
+            shell.WriteError(Loc.GetString("cmd-nutrition-error-player"));
+            return;
+        }
 
-            if (!_entities.TryGetComponent(playerEntity, out HungerComponent? hunger))
-            {
-                shell.WriteLine($"Your entity does not have a {nameof(HungerComponent)} component.");
-                return;
-            }
+        if (player.AttachedEntity is not {Valid: true} playerEntity)
+        {
+            shell.WriteError(Loc.GetString("cmd-nutrition-error-entity"));
+            return;
+        }
 
-            var hungryThreshold = hunger.Thresholds[HungerThreshold.Starving];
-            _entities.System<HungerSystem>().SetHunger(playerEntity, hungryThreshold, hunger);
+        if (!EntityManager.TryGetComponent(playerEntity, out HungerComponent? hunger))
+        {
+            shell.WriteError(Loc.GetString("cmd-nutrition-error-component", ("comp", nameof(HungerComponent))));
+            return;
         }
+
+        var hungryThreshold = hunger.Thresholds[HungerThreshold.Starving];
+        EntityManager.System<HungerSystem>().SetHunger(playerEntity, hungryThreshold, hunger);
     }
 }
index d4410264560eb4c39243930f4020ba5cb201efb7..2b1259e9b2ef5ad69710ebc601ef560bbc39cc60 100644 (file)
@@ -2,6 +2,8 @@ cmd-nutrition-error-player = You cannot use this command unless you are a player
 cmd-nutrition-error-entity = You cannot use this command without an entity.
 cmd-nutrition-error-component = Your entity does not have a {$comp} component.
 
+cmd-hungry-desc = makes you hungry
+cmd-hungry-help = sets your hungry level to starving
 cmd-setnutrit-desc = modify hunger and thirst
 cmd-setnutrit-help = set your hunger or thirst to one of the built-in thresholds
 cmd-setnutrit-error-invalid-threshold = invalid {$thresholdType} `{$thresholdString}`