]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
[Admin] Omni Accent Smite (#34824)
authorScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Sun, 2 Feb 2025 20:00:27 +0000 (21:00 +0100)
committerGitHub <noreply@github.com>
Sun, 2 Feb 2025 20:00:27 +0000 (21:00 +0100)
gods forgive me

Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs
Resources/Locale/en-US/administration/smites.ftl

index 4cd1f95288011496e306844abf3b312a1393468e..57a312c3045cdc45aea3476c9309f764cc8ada67 100644 (file)
@@ -892,5 +892,36 @@ public sealed partial class AdminVerbSystem
             Message = string.Join(": ", superslipName, Loc.GetString("admin-smite-super-slip-description"))
         };
         args.Verbs.Add(superslip);
+
+        var omniaccentName = Loc.GetString("admin-smite-omni-accent-name").ToLowerInvariant();
+        Verb omniaccent = new()
+        {
+            Text = omniaccentName,
+            Category = VerbCategory.Smite,
+            Icon = new SpriteSpecifier.Rsi(new("Interface/Actions/voice-mask.rsi"), "icon"),
+            Act = () =>
+            {
+                EnsureComp<BarkAccentComponent>(args.Target);
+                EnsureComp<BleatingAccentComponent>(args.Target);
+                EnsureComp<FrenchAccentComponent>(args.Target);
+                EnsureComp<GermanAccentComponent>(args.Target);
+                EnsureComp<LizardAccentComponent>(args.Target);
+                EnsureComp<MobsterAccentComponent>(args.Target);
+                EnsureComp<MothAccentComponent>(args.Target);
+                EnsureComp<OwOAccentComponent>(args.Target);
+                EnsureComp<SkeletonAccentComponent>(args.Target);
+                EnsureComp<SouthernAccentComponent>(args.Target);
+                EnsureComp<SpanishAccentComponent>(args.Target);
+                EnsureComp<StutteringAccentComponent>(args.Target);
+
+                if (_random.Next(0, 8) == 0)
+                {
+                    EnsureComp<BackwardsAccentComponent>(args.Target); // was asked to make this at a low chance idk
+                }
+            },
+            Impact = LogImpact.Extreme,
+            Message = string.Join(": ", omniaccentName, Loc.GetString("admin-smite-omni-accent-description"))
+        };
+        args.Verbs.Add(omniaccent);
     }
 }
index 57d8660fae09fe8ba102b01d6aa7575ad2c06b8a..adce0bd020fab230233d48fdab2398efcf2d3155 100644 (file)
@@ -56,6 +56,7 @@ admin-smite-vomit-organs-name = Vomit Organs
 admin-smite-ghostkick-name = Ghost Kick
 admin-smite-nyanify-name = Cat Ears
 admin-smite-kill-sign-name = Kill Sign
+admin-smite-omni-accent-name = Omni-Accent
 
 ## Smite descriptions
 
@@ -99,6 +100,7 @@ admin-smite-super-bonk-description = Slams them on every single table on the Sta
 admin-smite-super-bonk-lite-description= Slams them on every single table on the Station and beyond. Stops when the target is dead.
 admin-smite-terminate-description = Creates a Terminator ghost role with the sole objective of killing them.
 admin-smite-super-slip-description = Slips them really, really hard.
+admin-smite-omni-accent-description = Makes the target speak with almost every accent available.
 
 ## Tricks descriptions