From 993793f162fe7d029c6a56f01f1699fb5135b361 Mon Sep 17 00:00:00 2001 From: LankLTE <135308300+LankLTE@users.noreply.github.com> Date: Sat, 6 Jan 2024 01:29:53 -0800 Subject: [PATCH] Fix deadmin on join cvar for nukies (#20198) * fix * oops --- Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs b/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs index 870586e554..5bce7f20e4 100644 --- a/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs @@ -2,6 +2,7 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Numerics; using Content.Server.Administration.Commands; +using Content.Server.Administration.Managers; using Content.Server.Chat.Managers; using Content.Server.Chat.Systems; using Content.Server.Communications; @@ -27,6 +28,7 @@ using Content.Server.Station.Components; using Content.Server.Station.Systems; using Content.Server.Store.Components; using Content.Server.Store.Systems; +using Content.Shared.CCVar; using Content.Shared.Dataset; using Content.Shared.Humanoid; using Content.Shared.Humanoid.Prototypes; @@ -52,6 +54,7 @@ using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Timing; using Robust.Shared.Utility; +using Robust.Shared.Configuration; namespace Content.Server.GameTicking.Rules; @@ -80,6 +83,8 @@ public sealed class NukeopsRuleSystem : GameRuleSystem [Dependency] private readonly StationSpawningSystem _stationSpawning = default!; [Dependency] private readonly StoreSystem _store = default!; [Dependency] private readonly TagSystem _tag = default!; + [Dependency] private readonly IAdminManager _adminManager = default!; + [Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly WarDeclaratorSystem _warDeclarator = default!; @@ -962,6 +967,10 @@ public sealed class NukeopsRuleSystem : GameRuleSystem _mind.SetUserId(newMind, session.UserId); _roles.MindAddRole(newMind, new NukeopsRoleComponent { PrototypeId = spawnDetails.Role }); + // Automatically de-admin players who are being made nukeops + if (_cfg.GetCVar(CCVars.AdminDeadminOnJoin) && _adminManager.IsAdmin(session)) + _adminManager.DeAdmin(session); + _mind.TransferTo(newMind, mob); } else if (addSpawnPoints) -- 2.51.2