]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix `playtime_addrole` command printing the wrong time (#28783)
authorLeon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Thu, 13 Jun 2024 06:31:21 +0000 (18:31 +1200)
committerGitHub <noreply@github.com>
Thu, 13 Jun 2024 06:31:21 +0000 (23:31 -0700)
Content.Server/Administration/Commands/PlayTimeCommands.cs
Content.Server/Players/PlayTimeTracking/PlayTimeTrackingManager.cs

index 42bc8635c4d20cba0a8f47414fce9d6c0cef9a8f..f16eab2727cef195d40b4b718547e2d3d9226a1a 100644 (file)
@@ -93,7 +93,7 @@ public sealed class PlayTimeAddRoleCommand : IConsoleCommand
         }
 
         _playTimeTracking.AddTimeToTracker(player, role, TimeSpan.FromMinutes(minutes));
-        var time = _playTimeTracking.GetOverallPlaytime(player);
+        var time = _playTimeTracking.GetPlayTimeForTracker(player, role);
         shell.WriteLine(Loc.GetString("cmd-playtime_addrole-succeed",
             ("username", userName),
             ("role", role),
index bfd6172f4c0d7fdfb3cdf9d233a0ee28c673bf38..bc2f891c72537ae9f105d82ebe046ac0b8065119 100644 (file)
@@ -370,6 +370,19 @@ public sealed class PlayTimeTrackingManager : ISharedPlaytimeManager, IPostInjec
         return true;
     }
 
+    public bool TryGetTrackerTime(ICommonSession id, string tracker, [NotNullWhen(true)] out TimeSpan? time)
+    {
+        time = null;
+        if (!TryGetTrackerTimes(id, out var times))
+            return false;
+
+        if (!times.TryGetValue(tracker, out var t))
+            return false;
+
+        time = t;
+        return true;
+    }
+
     public Dictionary<string, TimeSpan> GetTrackerTimes(ICommonSession id)
     {
         if (!_playTimeData.TryGetValue(id, out var data) || !data.Initialized)