]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Panic Bunker uses minutes not hours (#28805)
authorHannah Giovanna Dawson <karakkaraz@gmail.com>
Sun, 9 Jun 2024 20:45:47 +0000 (21:45 +0100)
committerGitHub <noreply@github.com>
Sun, 9 Jun 2024 20:45:47 +0000 (22:45 +0200)
* Panic Bunker uses minutes not hours

* Fixing an instance of hours

14 files changed:
Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailStatusWindow.xaml
Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailStatusWindow.xaml.cs
Content.Client/Administration/UI/Tabs/PanicBunkerTab/PanicBunkerTab.xaml
Content.Client/Administration/UI/Tabs/PanicBunkerTab/PanicBunkerTab.xaml.cs
Content.Server/Administration/Commands/PanicBunkerCommand.cs
Content.Server/Administration/ServerApi.cs
Content.Server/Administration/Systems/AdminSystem.cs
Content.Server/Connection/ConnectionManager.cs
Content.Shared/Administration/Events/PanicBunkerChangedEvent.cs
Content.Shared/CCVar/CCVars.cs
Resources/Locale/en-US/administration/commands/panicbunker.ftl
Resources/Locale/en-US/administration/ui/tabs/babyjail-tab.ftl
Resources/Locale/en-US/administration/ui/tabs/panicbunker-tab.ftl
Resources/Locale/en-US/connection-messages.ftl

index 3432f11669fd557392cef1a6eec653d87f58050a..b8034faf52abfb23403d3e5e0270df02fdacc1a3 100644 (file)
@@ -2,5 +2,5 @@
     xmlns="https://spacestation14.io"
     xmlns:controls="clr-namespace:Content.Client.Administration.UI.Tabs.BabyJailTab"
     Title="{Loc admin-ui-baby-jail-window-title}">
-    <Label Name="MessageLabel" Access="Public" Text="{Loc admin-ui-baby-jail-is-enabled}" />
+    <RichTextLabel Name="MessageLabel" Access="Public" />
 </controls:BabyJailStatusWindow>
index 4e5f679b458e50be9f54e72bf1299c1d7e4b8ac6..9e1d53818f248544138742afc79c763e9742465a 100644 (file)
@@ -1,4 +1,6 @@
-using Robust.Client.AutoGenerated;
+using Content.Client.Message;
+using Content.Client.UserInterface.Controls;
+using Robust.Client.AutoGenerated;
 using Robust.Client.UserInterface.CustomControls;
 using Robust.Client.UserInterface.XAML;
 
@@ -9,10 +11,11 @@ namespace Content.Client.Administration.UI.Tabs.BabyJailTab;
  */
 
 [GenerateTypedNameReferences]
-public sealed partial class BabyJailStatusWindow : DefaultWindow
+public sealed partial class BabyJailStatusWindow : FancyWindow
 {
     public BabyJailStatusWindow()
     {
         RobustXamlLoader.Load(this);
+        MessageLabel.SetMarkup(Loc.GetString("admin-ui-baby-jail-is-enabled"));
     }
 }
index 89827d064246805fc92c4c46640484bfccf2942f..ee7ba4d34ff634d239713afe7453bd4b1b79d795 100644 (file)
             <BoxContainer Orientation="Horizontal" Margin="2">
                 <Label Text="{Loc admin-ui-panic-bunker-min-account-age}" MinWidth="175" />
                 <LineEdit Name="MinAccountAge" MinWidth="50" Margin="0 0 5 0" />
-                <Label Text="{Loc generic-hours}" />
+                <Label Text="{Loc generic-minutes}" />
             </BoxContainer>
             <BoxContainer Orientation="Horizontal" Margin="2">
-                <Label Text="{Loc admin-ui-panic-bunker-min-overall-hours}" MinWidth="175" />
-                <LineEdit Name="MinOverallHours" MinWidth="50" Margin="0 0 5 0" />
-                <Label Text="{Loc generic-hours}" />
+                <Label Text="{Loc admin-ui-panic-bunker-min-overall-minutes}" MinWidth="175" />
+                <LineEdit Name="MinOverallMinutes" MinWidth="50" Margin="0 0 5 0" />
+                <Label Text="{Loc generic-minutes}" />
             </BoxContainer>
         </BoxContainer>
     </BoxContainer>
index f6212cd5ee1066a0757335393490c3f48af1623f..c3bcf3ffa09f64772eac4e122956b9c3d790c98c 100644 (file)
@@ -12,7 +12,7 @@ public sealed partial class PanicBunkerTab : Control
     [Dependency] private readonly IConsoleHost _console = default!;
 
     private string _minAccountAge;
-    private string _minOverallHours;
+    private string _minOverallMinutes;
 
     public PanicBunkerTab()
     {
@@ -25,9 +25,9 @@ public sealed partial class PanicBunkerTab : Control
         MinAccountAge.OnFocusExit += args => SendMinAccountAge(args.Text);
         _minAccountAge = MinAccountAge.Text;
 
-        MinOverallHours.OnTextEntered += args => SendMinOverallHours(args.Text);
-        MinOverallHours.OnFocusExit += args => SendMinOverallHours(args.Text);
-        _minOverallHours = MinOverallHours.Text;
+        MinOverallMinutes.OnTextEntered += args => SendMinOverallMinutes(args.Text);
+        MinOverallMinutes.OnFocusExit += args => SendMinOverallMinutes(args.Text);
+        _minOverallMinutes = MinOverallMinutes.Text;
     }
 
     private void SendMinAccountAge(string text)
@@ -42,16 +42,16 @@ public sealed partial class PanicBunkerTab : Control
         _console.ExecuteCommand($"panicbunker_min_account_age {minutes}");
     }
 
-    private void SendMinOverallHours(string text)
+    private void SendMinOverallMinutes(string text)
     {
         if (string.IsNullOrWhiteSpace(text) ||
-            text == _minOverallHours ||
-            !int.TryParse(text, out var hours))
+            text == _minOverallMinutes ||
+            !int.TryParse(text, out var minutes))
         {
             return;
         }
 
-        _console.ExecuteCommand($"panicbunker_min_overall_hours {hours}");
+        _console.ExecuteCommand($"panicbunker_min_overall_minutes {minutes}");
     }
 
     public void UpdateStatus(PanicBunkerStatus status)
@@ -68,10 +68,10 @@ public sealed partial class PanicBunkerTab : Control
         CountDeadminnedButton.Pressed = status.CountDeadminnedAdmins;
         ShowReasonButton.Pressed = status.ShowReason;
 
-        MinAccountAge.Text = status.MinAccountAgeHours.ToString();
+        MinAccountAge.Text = status.MinAccountAgeMinutes.ToString();
         _minAccountAge = MinAccountAge.Text;
 
-        MinOverallHours.Text = status.MinOverallHours.ToString();
-        _minOverallHours = MinOverallHours.Text;
+        MinOverallMinutes.Text = status.MinOverallMinutes.ToString();
+        _minOverallMinutes = MinOverallMinutes.Text;
     }
 }
index de3f3cbaea2b6b5f483f8fa379b45a5e071ba798..18aed7e3f0835302ccb53df9c89476764b4b5173 100644 (file)
@@ -139,7 +139,7 @@ public sealed class PanicBunkerMinAccountAgeCommand : LocalizedCommands
         if (args.Length == 0)
         {
             var current = _cfg.GetCVar(CCVars.PanicBunkerMinAccountAge);
-            shell.WriteLine(Loc.GetString("panicbunker-command-min-account-age-is", ("hours", current / 60)));
+            shell.WriteLine(Loc.GetString("panicbunker-command-min-account-age-is", ("minutes", current)));
         }
 
         if (args.Length > 1)
@@ -148,30 +148,30 @@ public sealed class PanicBunkerMinAccountAgeCommand : LocalizedCommands
             return;
         }
 
-        if (!int.TryParse(args[0], out var hours))
+        if (!int.TryParse(args[0], out var minutes))
         {
             shell.WriteError(Loc.GetString("shell-argument-must-be-number"));
             return;
         }
 
-        _cfg.SetCVar(CCVars.PanicBunkerMinAccountAge, hours * 60);
-        shell.WriteLine(Loc.GetString("panicbunker-command-min-account-age-set", ("hours", hours)));
+        _cfg.SetCVar(CCVars.PanicBunkerMinAccountAge, minutes);
+        shell.WriteLine(Loc.GetString("panicbunker-command-min-account-age-set", ("minutes", minutes)));
     }
 }
 
 [AdminCommand(AdminFlags.Server)]
-public sealed class PanicBunkerMinOverallHoursCommand : LocalizedCommands
+public sealed class PanicBunkerMinOverallMinutesCommand : LocalizedCommands
 {
     [Dependency] private readonly IConfigurationManager _cfg = default!;
 
-    public override string Command => "panicbunker_min_overall_hours";
+    public override string Command => "panicbunker_min_overall_minutes";
 
     public override void Execute(IConsoleShell shell, string argStr, string[] args)
     {
         if (args.Length == 0)
         {
-            var current = _cfg.GetCVar(CCVars.PanicBunkerMinOverallHours);
-            shell.WriteLine(Loc.GetString("panicbunker-command-min-overall-hours-is", ("minutes", current)));
+            var current = _cfg.GetCVar(CCVars.PanicBunkerMinOverallMinutes);
+            shell.WriteLine(Loc.GetString("panicbunker-command-min-overall-minutes-is", ("minutes", current)));
         }
 
         if (args.Length > 1)
@@ -180,13 +180,13 @@ public sealed class PanicBunkerMinOverallHoursCommand : LocalizedCommands
             return;
         }
 
-        if (!int.TryParse(args[0], out var hours))
+        if (!int.TryParse(args[0], out var minutes))
         {
             shell.WriteError(Loc.GetString("shell-argument-must-be-number"));
             return;
         }
 
-        _cfg.SetCVar(CCVars.PanicBunkerMinOverallHours, hours);
-        shell.WriteLine(Loc.GetString("panicbunker-command-overall-hours-age-set", ("hours", hours)));
+        _cfg.SetCVar(CCVars.PanicBunkerMinOverallMinutes, minutes);
+        shell.WriteLine(Loc.GetString("panicbunker-command-overall-minutes-age-set", ("minutes", minutes)));
     }
 }
index d0f23db637b4d892a830e880b5e91bef59dce20a..f1f09d4b5037e9d8d97b0d4ecae994b12eac56db 100644 (file)
@@ -41,7 +41,7 @@ public sealed partial class ServerApi : IPostInjectInit
         CCVars.PanicBunkerCountDeadminnedAdmins.Name,
         CCVars.PanicBunkerShowReason.Name,
         CCVars.PanicBunkerMinAccountAge.Name,
-        CCVars.PanicBunkerMinOverallHours.Name,
+        CCVars.PanicBunkerMinOverallMinutes.Name,
         CCVars.PanicBunkerCustomReason.Name,
     ];
 
index a12d106880cf57fe79e8d223c3294f59230ca453..e5b6e9c3eaa089c9f2954a24021cc0cf4c41a2f2 100644 (file)
@@ -78,7 +78,7 @@ namespace Content.Server.Administration.Systems
             Subs.CVar(_config, CCVars.PanicBunkerCountDeadminnedAdmins, OnPanicBunkerCountDeadminnedAdminsChanged, true);
             Subs.CVar(_config, CCVars.PanicBunkerShowReason, OnPanicBunkerShowReasonChanged, true);
             Subs.CVar(_config, CCVars.PanicBunkerMinAccountAge, OnPanicBunkerMinAccountAgeChanged, true);
-            Subs.CVar(_config, CCVars.PanicBunkerMinOverallHours, OnPanicBunkerMinOverallHoursChanged, true);
+            Subs.CVar(_config, CCVars.PanicBunkerMinOverallMinutes, OnPanicBunkerMinOverallMinutesChanged, true);
 
             /*
              * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
@@ -304,7 +304,7 @@ namespace Content.Server.Administration.Systems
 
         private void OnPanicBunkerMinAccountAgeChanged(int minutes)
         {
-            PanicBunker.MinAccountAgeHours = minutes / 60;
+            PanicBunker.MinAccountAgeMinutes = minutes;
             SendPanicBunkerStatusAll();
         }
 
@@ -314,9 +314,9 @@ namespace Content.Server.Administration.Systems
             SendBabyJailStatusAll();
         }
 
-        private void OnPanicBunkerMinOverallHoursChanged(int hours)
+        private void OnPanicBunkerMinOverallMinutesChanged(int minutes)
         {
-            PanicBunker.MinOverallHours = hours;
+            PanicBunker.MinOverallMinutes = minutes;
             SendPanicBunkerStatusAll();
         }
 
index 2211a245322b7b5e3069270e796f32cf7c7188c3..f22ff9b7d584927cf9f2218162b1196bf58bc2f0 100644 (file)
@@ -186,9 +186,9 @@ namespace Content.Server.Connection
                             ("reason", Loc.GetString("panic-bunker-account-reason-account", ("minutes", minMinutesAge)))), null);
                 }
 
-                var minOverallHours = _cfg.GetCVar(CCVars.PanicBunkerMinOverallHours);
+                var minOverallMinutes = _cfg.GetCVar(CCVars.PanicBunkerMinOverallMinutes);
                 var overallTime = ( await _db.GetPlayTimes(e.UserId)).Find(p => p.Tracker == PlayTimeTrackingShared.TrackerOverall);
-                var haveMinOverallTime = overallTime != null && overallTime.TimeSpent.TotalHours > minOverallHours;
+                var haveMinOverallTime = overallTime != null && overallTime.TimeSpent.TotalMinutes > minOverallMinutes;
 
                 // Use the custom reason if it exists & they don't have the minimum time
                 if (customReason != string.Empty && !haveMinOverallTime && !bypassAllowed)
@@ -200,7 +200,7 @@ namespace Content.Server.Connection
                 {
                     return (ConnectionDenyReason.Panic,
                         Loc.GetString("panic-bunker-account-denied-reason",
-                            ("reason", Loc.GetString("panic-bunker-account-reason-overall", ("hours", minOverallHours)))), null);
+                            ("reason", Loc.GetString("panic-bunker-account-reason-overall", ("minutes", minOverallMinutes)))), null);
                 }
 
                 if (!validAccountAge || !haveMinOverallTime && !bypassAllowed)
index f809b67bc8d20d82c69d16e243fbab62cb4daa24..786f645a7f03f1279571fad09d164c7c3a9bd4ce 100644 (file)
@@ -10,8 +10,8 @@ public sealed class PanicBunkerStatus
     public bool EnableWithoutAdmins;
     public bool CountDeadminnedAdmins;
     public bool ShowReason;
-    public int MinAccountAgeHours;
-    public int MinOverallHours;
+    public int MinAccountAgeMinutes;
+    public int MinOverallMinutes;
 }
 
 [Serializable, NetSerializable]
index 491e5343959b09f86437ff53d46c868afc654303..2ae5c6bd5bd7bd2e80067a229989ad0d2f4064dd 100644 (file)
@@ -304,8 +304,8 @@ namespace Content.Shared.CCVar
         /// <summary>
         /// Minimal overall played time.
         /// </summary>
-        public static readonly CVarDef<int> PanicBunkerMinOverallHours =
-            CVarDef.Create("game.panic_bunker.min_overall_hours", 10, CVar.SERVERONLY);
+        public static readonly CVarDef<int> PanicBunkerMinOverallMinutes =
+            CVarDef.Create("game.panic_bunker.min_overall_minutes", 600, CVar.SERVERONLY);
 
         /// <summary>
         /// A custom message that will be used for connections denied to the panic bunker
index c16748c9926a91cc07b9cf595732d44247119283..2ea07370ee56e50be018a8fe0654c8105f267468 100644 (file)
@@ -23,12 +23,12 @@ cmd-panicbunker_show_reason-help = Usage: panicbunker_show_reason
 panicbunker-command-show-reason-enabled = The panic bunker will now show a reason to users it blocks from connecting.
 panicbunker-command-show-reason-disabled = The panic bunker will no longer show a reason to users it blocks from connecting.
 
-cmd-panicbunker_min_account_age-desc = Gets or sets the minimum account age in hours that an account must have to be allowed to connect with the panic bunker enabled.
-cmd-panicbunker_min_account_age-help = Usage: panicbunker_min_account_age <hours>
-panicbunker-command-min-account-age-is = The minimum account age for the panic bunker is {$hours} hours.
-panicbunker-command-min-account-age-set = Set the minimum account age for the panic bunker to {$hours} hours.
+cmd-panicbunker_min_account_age-desc = Gets or sets the minimum account age in minutes that an account must have to be allowed to connect with the panic bunker enabled.
+cmd-panicbunker_min_account_age-help = Usage: panicbunker_min_account_age <minutes>
+panicbunker-command-min-account-age-is = The minimum account age for the panic bunker is {$minutes} minutes.
+panicbunker-command-min-account-age-set = Set the minimum account age for the panic bunker to {$minutes} minutes.
 
-cmd-panicbunker_min_overall_hours-desc = Gets or sets the minimum overall playtime in hours that an account must have to be allowed to connect with the panic bunker enabled.
-cmd-panicbunker_min_overall_hours-help = Usage: panicbunker_min_overall_hours <hours>
-panicbunker-command-min-overall-hours-is = The minimum overall playtime for the panic bunker is {$hours} hours.
-panicbunker-command-min-overall-hours-set = Set the minimum overall playtime for the panic bunker to {$hours} hours.
+cmd-panicbunker_min_overall_minutes-desc = Gets or sets the minimum overall playtime in minutes that an account must have to be allowed to connect with the panic bunker enabled.
+cmd-panicbunker_min_overall_minutes-help = Usage: panicbunker_min_overall_minutes <minutes>
+panicbunker-command-min-overall-minutes-is = The minimum overall playtime for the panic bunker is {$minutes} minutes.
+panicbunker-command-min-overall-minutes-set = Set the minimum overall playtime for the panic bunker to {$minutes} minutes.
index ad58e436b39c8b4091468bdb34e2209b90996f88..46dce54c1fc85dc03351186dfbd29efb29c8cfbb 100644 (file)
@@ -10,7 +10,7 @@ admin-ui-baby-jail-show-reason-tooltip = Show the user why they were blocked fro
 admin-ui-baby-jail-max-account-age = Max. Account Age
 admin-ui-baby-jail-max-overall-minutes = Max. Overall Playtime
 
-admin-ui-baby-jail-is-enabled = The baby jail is currently enabled.
+admin-ui-baby-jail-is-enabled = [font size=20][bold]The baby jail is currently enabled.[/bold][/font]
 
 admin-ui-baby-jail-enabled-admin-alert = The baby jail has been enabled.
 admin-ui-baby-jail-disabled-admin-alert = The baby jail has been disabled.
index 730d0c2e3b3412bc30a46cda015d8b790f52d7fc..26349263ac8d39afd0e2b80af2d92d719699edb4 100644 (file)
@@ -16,7 +16,7 @@ admin-ui-panic-bunker-show-reason = Show Reason
 admin-ui-panic-bunker-show-reason-tooltip = Show the user why they were blocked from connecting by the panic bunker.
 
 admin-ui-panic-bunker-min-account-age = Min. Account Age
-admin-ui-panic-bunker-min-overall-hours = Min. Overall Playtime
+admin-ui-panic-bunker-min-overall-minutes = Min. Overall Playtime
 
 admin-ui-panic-bunker-is-enabled = The panic bunker is currently enabled.
 
index 88b6442e39566fcef28993d24fe5ff8ccba4cfaf..f1596d90152bf465853426cf472190fa4c3b901d 100644 (file)
@@ -38,10 +38,10 @@ soft-player-cap-full = The server is full!
 panic-bunker-account-denied = This server is in panic bunker mode, often enabled as a precaution against raids. New connections by accounts not meeting certain requirements are temporarily not accepted. Try again later
 panic-bunker-account-denied-reason = This server is in panic bunker mode, often enabled as a precaution against raids. New connections by accounts not meeting certain requirements are temporarily not accepted. Try again later. Reason: "{$reason}"
 panic-bunker-account-reason-account = Your Space Station 14 account is too new. It must be older than {$minutes} minutes
-panic-bunker-account-reason-overall = Your overall playtime on the server must be greater than {$hours} hours
+panic-bunker-account-reason-overall = Your overall playtime on the server must be greater than {$minutes} $minutes
 
 baby-jail-account-denied = This server is a newbie server, intended for new players and those who want to help them. New connections by accounts that are too old or are not on a whitelist are not accepted. Check out some other servers and see everything Space Station 14 has to offer. Have fun!
 baby-jail-account-denied-reason = This server is a newbie server, intended for new players and those who want to help them. New connections by accounts that are too old or are not on a whitelist are not accepted. Check out some other servers and see everything Space Station 14 has to offer. Have fun! Reason: "{$reason}"
 baby-jail-account-reason-account = Your Space Station 14 account is too old. It must be younger than {$minutes} minutes
-baby-jail-account-reason-overall = Your overall playtime on the server must be younger than {$hours} hours
+baby-jail-account-reason-overall = Your overall playtime on the server must be younger than {$minutes} $minutes