From 8cf903727313e7e6ce2fe4c172146f6cae8659a2 Mon Sep 17 00:00:00 2001 From: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com> Date: Sat, 8 Jun 2024 10:40:33 +0000 Subject: [PATCH] Make freeze, freeze & mute, and unmute verbs work on disconnected players. (#28664) --- .../Administration/Systems/AdminVerbSystem.cs | 107 +++++++++--------- 1 file changed, 54 insertions(+), 53 deletions(-) diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.cs b/Content.Server/Administration/Systems/AdminVerbSystem.cs index 7aa4c8b400..d7888b491c 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.cs @@ -131,59 +131,6 @@ namespace Content.Server.Administration.Systems prayerVerb.Impact = LogImpact.Low; args.Verbs.Add(prayerVerb); - // Freeze - var frozen = TryComp(args.Target, out var frozenComp); - var frozenAndMuted = frozenComp?.Muted ?? false; - - if (!frozen) - { - args.Verbs.Add(new Verb - { - Priority = -1, // This is just so it doesn't change position in the menu between freeze/unfreeze. - Text = Loc.GetString("admin-verbs-freeze"), - Category = VerbCategory.Admin, - Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/snow.svg.192dpi.png")), - Act = () => - { - EnsureComp(args.Target); - }, - Impact = LogImpact.Medium, - }); - } - - if (!frozenAndMuted) - { - // allow you to additionally mute someone when they are already frozen - args.Verbs.Add(new Verb - { - Priority = -1, // This is just so it doesn't change position in the menu between freeze/unfreeze. - Text = Loc.GetString("admin-verbs-freeze-and-mute"), - Category = VerbCategory.Admin, - Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/snow.svg.192dpi.png")), - Act = () => - { - _freeze.FreezeAndMute(args.Target); - }, - Impact = LogImpact.Medium, - }); - } - - if (frozen) - { - args.Verbs.Add(new Verb - { - Priority = -1, // This is just so it doesn't change position in the menu between freeze/unfreeze. - Text = Loc.GetString("admin-verbs-unfreeze"), - Category = VerbCategory.Admin, - Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/snow.svg.192dpi.png")), - Act = () => - { - RemComp(args.Target); - }, - Impact = LogImpact.Medium, - }); - } - // Erase args.Verbs.Add(new Verb { @@ -263,6 +210,60 @@ namespace Content.Server.Administration.Systems }); } + // Freeze + var frozen = TryComp(args.Target, out var frozenComp); + var frozenAndMuted = frozenComp?.Muted ?? false; + + if (!frozen) + { + args.Verbs.Add(new Verb + { + Priority = -1, // This is just so it doesn't change position in the menu between freeze/unfreeze. + Text = Loc.GetString("admin-verbs-freeze"), + Category = VerbCategory.Admin, + Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/snow.svg.192dpi.png")), + Act = () => + { + EnsureComp(args.Target); + }, + Impact = LogImpact.Medium, + }); + } + + if (!frozenAndMuted) + { + // allow you to additionally mute someone when they are already frozen + args.Verbs.Add(new Verb + { + Priority = -1, // This is just so it doesn't change position in the menu between freeze/unfreeze. + Text = Loc.GetString("admin-verbs-freeze-and-mute"), + Category = VerbCategory.Admin, + Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/snow.svg.192dpi.png")), + Act = () => + { + _freeze.FreezeAndMute(args.Target); + }, + Impact = LogImpact.Medium, + }); + } + + if (frozen) + { + args.Verbs.Add(new Verb + { + Priority = -1, // This is just so it doesn't change position in the menu between freeze/unfreeze. + Text = Loc.GetString("admin-verbs-unfreeze"), + Category = VerbCategory.Admin, + Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/snow.svg.192dpi.png")), + Act = () => + { + RemComp(args.Target); + }, + Impact = LogImpact.Medium, + }); + } + + // Admin Logs if (_adminManager.HasAdminFlag(player, AdminFlags.Logs)) { -- 2.51.2