]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Make freeze, freeze & mute, and unmute verbs work on disconnected players. (#28664)
authornikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Sat, 8 Jun 2024 10:40:33 +0000 (10:40 +0000)
committerGitHub <noreply@github.com>
Sat, 8 Jun 2024 10:40:33 +0000 (20:40 +1000)
Content.Server/Administration/Systems/AdminVerbSystem.cs

index 7aa4c8b400a598f3293337eb595c76d677c3dcb8..d7888b491c36c2a4717380d2c84f1d01c5e794a3 100644 (file)
@@ -131,59 +131,6 @@ namespace Content.Server.Administration.Systems
                     prayerVerb.Impact = LogImpact.Low;
                     args.Verbs.Add(prayerVerb);
 
-                    // Freeze
-                    var frozen = TryComp<AdminFrozenComponent>(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<AdminFrozenComponent>(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<AdminFrozenComponent>(args.Target);
-                            },
-                            Impact = LogImpact.Medium,
-                        });
-                    }
-
                     // Erase
                     args.Verbs.Add(new Verb
                     {
@@ -263,6 +210,60 @@ namespace Content.Server.Administration.Systems
                     });
                 }
 
+                // Freeze
+                var frozen = TryComp<AdminFrozenComponent>(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<AdminFrozenComponent>(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<AdminFrozenComponent>(args.Target);
+                        },
+                        Impact = LogImpact.Medium,
+                    });
+                }
+
+
                 // Admin Logs
                 if (_adminManager.HasAdminFlag(player, AdminFlags.Logs))
                 {