From 17dc73a2cae4e23ac913c4d7fee8c7810d7c26b1 Mon Sep 17 00:00:00 2001 From: crestoedge <261582538+crestoedge@users.noreply.github.com> Date: Fri, 6 Mar 2026 00:53:15 +0300 Subject: [PATCH 1/4] FUCK IT! --- Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs | 1 + Resources/Locale/en-US/_strings/administration/smites.ftl | 2 ++ 2 files changed, 3 insertions(+) diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs index 8406826f36..c78abb17e8 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs @@ -642,6 +642,7 @@ private void AddSmiteVerbs(GetVerbsEvent args) Act = () => { EnsureComp(args.Target, out var comp); + comp.Sprite = new SpriteSpecifier.Rsi(new ResPath("_Lust/Objects/Misc/fucksign.rsi"), "sign"); // Lust-edit comp.HideFromOwner = false; // We set it to false anyway, in case the hidden smite was used beforehand. Dirty(args.Target, comp); }, diff --git a/Resources/Locale/en-US/_strings/administration/smites.ftl b/Resources/Locale/en-US/_strings/administration/smites.ftl index 0702afb33c..f98c4f4f0e 100644 --- a/Resources/Locale/en-US/_strings/administration/smites.ftl +++ b/Resources/Locale/en-US/_strings/administration/smites.ftl @@ -57,6 +57,7 @@ admin-smite-creampie-name = Cream admin-smite-vomit-organs-name = Vomit Organs admin-smite-ghostkick-name = Ghost Kick admin-smite-nyanify-name = Cat Ears +admin-smite-fuck-sign-name = FUCK IT admin-smite-kill-sign-name = Kill Sign admin-smite-kill-sign-hidden-name = Hidden Kill Sign admin-smite-omni-accent-name = Omni-Accent @@ -82,6 +83,7 @@ admin-smite-yeet-description = Banishes them into the depths of space by turning admin-smite-become-bread-description = It turns them into bread. Really, that's all it does. admin-smite-ghostkick-description = Silently kicks the user, dropping their connection. admin-smite-nyanify-description = Forcibly add cat ears, there is no escape. +admin-smite-fuck-sign-description = Marks a player with the FUCK IT sign, visible to everyone. admin-smite-kill-sign-description = Marks a player for death by their fellows. admin-smite-kill-sign-hidden-description = Marks a player for death by their fellows. Hidden from the targeted player. admin-smite-cluwne-description = Cluwnes them. The suit cannot be removed and the station's crew may murder them freely. From fa3db5cd70961c5704fa2212ab3063474464cd47 Mon Sep 17 00:00:00 2001 From: crestoedge <261582538+crestoedge@users.noreply.github.com> Date: Sat, 7 Mar 2026 00:01:37 +0300 Subject: [PATCH 2/4] tweak: requested --- .../Administration/Systems/AdminVerbSystem.Smites.cs | 1 - Content.Shared/Administration/Components/KillSignComponent.cs | 2 +- .../Locale/en-US/_strings/_lust/administration/smites.ftl | 3 +++ Resources/Locale/en-US/_strings/administration/smites.ftl | 2 -- 4 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 Resources/Locale/en-US/_strings/_lust/administration/smites.ftl diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs index c78abb17e8..8406826f36 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs @@ -642,7 +642,6 @@ private void AddSmiteVerbs(GetVerbsEvent args) Act = () => { EnsureComp(args.Target, out var comp); - comp.Sprite = new SpriteSpecifier.Rsi(new ResPath("_Lust/Objects/Misc/fucksign.rsi"), "sign"); // Lust-edit comp.HideFromOwner = false; // We set it to false anyway, in case the hidden smite was used beforehand. Dirty(args.Target, comp); }, diff --git a/Content.Shared/Administration/Components/KillSignComponent.cs b/Content.Shared/Administration/Components/KillSignComponent.cs index 796a98a71d..5f0275f54c 100644 --- a/Content.Shared/Administration/Components/KillSignComponent.cs +++ b/Content.Shared/Administration/Components/KillSignComponent.cs @@ -15,7 +15,7 @@ public sealed partial class KillSignComponent : Component /// The sprite show above the entity. /// [DataField, AutoNetworkedField] - public SpriteSpecifier? Sprite = new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "kill"); + public SpriteSpecifier? Sprite = new SpriteSpecifier.Rsi(new ResPath("_Lust/Objects/Misc/fucksign.rsi"), "sign"); // Lust-edit /// /// Whether the granted layer should always be forced to be unshaded. diff --git a/Resources/Locale/en-US/_strings/_lust/administration/smites.ftl b/Resources/Locale/en-US/_strings/_lust/administration/smites.ftl new file mode 100644 index 0000000000..38d9bb695d --- /dev/null +++ b/Resources/Locale/en-US/_strings/_lust/administration/smites.ftl @@ -0,0 +1,3 @@ +admin-smite-fuck-sign-name = FUCK IT + +admin-smite-fuck-sign-description = Marks a player with the FUCK IT sign, visible to everyone. diff --git a/Resources/Locale/en-US/_strings/administration/smites.ftl b/Resources/Locale/en-US/_strings/administration/smites.ftl index f98c4f4f0e..0702afb33c 100644 --- a/Resources/Locale/en-US/_strings/administration/smites.ftl +++ b/Resources/Locale/en-US/_strings/administration/smites.ftl @@ -57,7 +57,6 @@ admin-smite-creampie-name = Cream admin-smite-vomit-organs-name = Vomit Organs admin-smite-ghostkick-name = Ghost Kick admin-smite-nyanify-name = Cat Ears -admin-smite-fuck-sign-name = FUCK IT admin-smite-kill-sign-name = Kill Sign admin-smite-kill-sign-hidden-name = Hidden Kill Sign admin-smite-omni-accent-name = Omni-Accent @@ -83,7 +82,6 @@ admin-smite-yeet-description = Banishes them into the depths of space by turning admin-smite-become-bread-description = It turns them into bread. Really, that's all it does. admin-smite-ghostkick-description = Silently kicks the user, dropping their connection. admin-smite-nyanify-description = Forcibly add cat ears, there is no escape. -admin-smite-fuck-sign-description = Marks a player with the FUCK IT sign, visible to everyone. admin-smite-kill-sign-description = Marks a player for death by their fellows. admin-smite-kill-sign-hidden-description = Marks a player for death by their fellows. Hidden from the targeted player. admin-smite-cluwne-description = Cluwnes them. The suit cannot be removed and the station's crew may murder them freely. From f328b02865a8a6c65ff09a9fd63be55cc961d388 Mon Sep 17 00:00:00 2001 From: crestoedge <261582538+crestoedge@users.noreply.github.com> Date: Thu, 12 Mar 2026 17:05:14 +0300 Subject: [PATCH 3/4] tweak: moved shit into other system, hope Vigers is happy now --- .../Systems/AdminVerbSystem.Smites.cs | 6 +- .../Administration/Systems/AdminVerbSystem.cs | 57 +++++++++++++++++++ .../Components/KillSignComponent.cs | 2 +- 3 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 Content.Server/_Lust/Administration/Systems/AdminVerbSystem.cs diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs index 8406826f36..0d8c1653d7 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs @@ -633,12 +633,12 @@ private void AddSmiteVerbs(GetVerbsEvent args) }; args.Verbs.Add(nyanify); - var killSignName = Loc.GetString("admin-smite-fuck-sign-name").ToLowerInvariant(); // Lust-edit + var killSignName = Loc.GetString("admin-smite-kill-sign-name").ToLowerInvariant(); Verb killSign = new() { Text = killSignName, Category = VerbCategory.Smite, - Icon = new SpriteSpecifier.Rsi(new("_Lust/Objects/Misc/fucksign.rsi"), "icon"), // Lust-edit + Icon = new SpriteSpecifier.Rsi(new("/Textures/Objects/Misc/killsign.rsi"), "icon"), Act = () => { EnsureComp(args.Target, out var comp); @@ -646,7 +646,7 @@ private void AddSmiteVerbs(GetVerbsEvent args) Dirty(args.Target, comp); }, Impact = LogImpact.Extreme, - Message = string.Join(": ", killSignName, Loc.GetString("admin-smite-fuck-sign-description")) // Lust-edit + Message = string.Join(": ", killSignName, Loc.GetString("admin-smite-kill-sign-description")) }; args.Verbs.Add(killSign); diff --git a/Content.Server/_Lust/Administration/Systems/AdminVerbSystem.cs b/Content.Server/_Lust/Administration/Systems/AdminVerbSystem.cs new file mode 100644 index 0000000000..5c59771002 --- /dev/null +++ b/Content.Server/_Lust/Administration/Systems/AdminVerbSystem.cs @@ -0,0 +1,57 @@ + + +using Content.Server.Administration.Managers; +using Content.Shared.Administration; +using Content.Shared.Administration.Components; +using Content.Shared.Database; +using Content.Shared.Verbs; +using Robust.Shared.Map.Components; +using Robust.Shared.Player; +using Robust.Shared.Utility; + +namespace Content.Server._Lust.Administration.Systems; + +public sealed partial class AdminVerbSystem : EntitySystem +{ + [Dependency] private readonly IAdminManager _adminManager = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(GetSmiteVerbs); + } + + private void GetSmiteVerbs(GetVerbsEvent args) + { + if (!TryComp(args.User, out ActorComponent? actor)) + return; + + var player = actor.PlayerSession; + + if (!_adminManager.HasAdminFlag(player, AdminFlags.Fun)) + return; + + // 1984. + if (HasComp(args.Target) || HasComp(args.Target)) + return; + + var fSignName = Loc.GetString("admin-smite-fuck-sign-name").ToLowerInvariant(); + Verb fSign = new() + { + Text = fSignName, + Category = VerbCategory.Smite, + Icon = new SpriteSpecifier.Rsi(new("_Lust/Objects/Misc/fucksign.rsi"), "icon"), + Act = () => + { + EnsureComp(args.Target, out var comp); + comp.Sprite = new SpriteSpecifier.Rsi(new("_Lust/Objects/Misc/fucksign.rsi"), "sign"); + comp.HideFromOwner = false; // We set it to false anyway, in case the hidden smite was used beforehand. + Dirty(args.Target, comp); + }, + Impact = LogImpact.Extreme, + Message = string.Join(": ", fSignName, Loc.GetString("admin-smite-fuck-sign-description")) + }; + args.Verbs.Add(fSign); + } +} diff --git a/Content.Shared/Administration/Components/KillSignComponent.cs b/Content.Shared/Administration/Components/KillSignComponent.cs index 5f0275f54c..796a98a71d 100644 --- a/Content.Shared/Administration/Components/KillSignComponent.cs +++ b/Content.Shared/Administration/Components/KillSignComponent.cs @@ -15,7 +15,7 @@ public sealed partial class KillSignComponent : Component /// The sprite show above the entity. /// [DataField, AutoNetworkedField] - public SpriteSpecifier? Sprite = new SpriteSpecifier.Rsi(new ResPath("_Lust/Objects/Misc/fucksign.rsi"), "sign"); // Lust-edit + public SpriteSpecifier? Sprite = new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "kill"); /// /// Whether the granted layer should always be forced to be unshaded. From 4936e3e2d2bd0021b9db55cbe7e974918bb8a37f Mon Sep 17 00:00:00 2001 From: crestoedge <261582538+crestoedge@users.noreply.github.com> Date: Thu, 12 Mar 2026 17:43:13 +0300 Subject: [PATCH 4/4] add: MOAR --- .../Administration/Systems/AdminVerbSystem.cs | 38 +++++++++++++++---- .../_strings/_lust/administration/smites.ftl | 25 +++++++++++- .../_strings/_lust/fucksign/fucksign.ftl | 24 ++++++++++++ 3 files changed, 79 insertions(+), 8 deletions(-) diff --git a/Content.Server/_Lust/Administration/Systems/AdminVerbSystem.cs b/Content.Server/_Lust/Administration/Systems/AdminVerbSystem.cs index 5c59771002..ed149dea84 100644 --- a/Content.Server/_Lust/Administration/Systems/AdminVerbSystem.cs +++ b/Content.Server/_Lust/Administration/Systems/AdminVerbSystem.cs @@ -36,22 +36,46 @@ private void GetSmiteVerbs(GetVerbsEvent args) if (HasComp(args.Target) || HasComp(args.Target)) return; - var fSignName = Loc.GetString("admin-smite-fuck-sign-name").ToLowerInvariant(); - Verb fSign = new() + AddSmiteSign( + "admin-smite-fuck-sign-name", + "admin-smite-fuck-sign-description", + new SpriteSpecifier.Rsi(new("_Lust/Objects/Misc/fucksign.rsi"), "icon"), + new SpriteSpecifier.Rsi(new("_Lust/Objects/Misc/fucksign.rsi"), "sign"), + args + ); + + string[] defaultSmiteNames = ["bald", "cat", "dog", "furry", "nerd", "peak", "raider", "stinky"]; + foreach (var name in defaultSmiteNames) + { + AddSmiteSign( + $"admin-smite-{name}-sign-name", + $"admin-smite-{name}-sign-description", + new SpriteSpecifier.Rsi(new($"/Textures/Objects/Misc/killsign.rsi"), name), + new SpriteSpecifier.Rsi(new($"/Textures/Objects/Misc/killsign.rsi"), name), + args + ); + } + } + + private void AddSmiteSign(string nameLoc, string descLoc, SpriteSpecifier icon, SpriteSpecifier sign, GetVerbsEvent args) + { + var name = Loc.GetString(nameLoc).ToLowerInvariant(); + var description = Loc.GetString(descLoc); + Verb signVerb = new() { - Text = fSignName, + Text = name, Category = VerbCategory.Smite, - Icon = new SpriteSpecifier.Rsi(new("_Lust/Objects/Misc/fucksign.rsi"), "icon"), + Icon = icon, Act = () => { EnsureComp(args.Target, out var comp); - comp.Sprite = new SpriteSpecifier.Rsi(new("_Lust/Objects/Misc/fucksign.rsi"), "sign"); + comp.Sprite = sign; comp.HideFromOwner = false; // We set it to false anyway, in case the hidden smite was used beforehand. Dirty(args.Target, comp); }, Impact = LogImpact.Extreme, - Message = string.Join(": ", fSignName, Loc.GetString("admin-smite-fuck-sign-description")) + Message = string.Join(": ", name, description) }; - args.Verbs.Add(fSign); + args.Verbs.Add(signVerb); } } diff --git a/Resources/Locale/en-US/_strings/_lust/administration/smites.ftl b/Resources/Locale/en-US/_strings/_lust/administration/smites.ftl index 38d9bb695d..07b5648887 100644 --- a/Resources/Locale/en-US/_strings/_lust/administration/smites.ftl +++ b/Resources/Locale/en-US/_strings/_lust/administration/smites.ftl @@ -1,3 +1,26 @@ admin-smite-fuck-sign-name = FUCK IT - admin-smite-fuck-sign-description = Marks a player with the FUCK IT sign, visible to everyone. + +admin-smite-bald-sign-name = BALD +admin-smite-bald-sign-description = Marks a player with the BALD sign, visible to everyone. + +admin-smite-cat-sign-name = CAT +admin-smite-cat-sign-description = Marks a player with the CAT sign, visible to everyone. + +admin-smite-dog-sign-name = DOG +admin-smite-dog-sign-description = Marks a player with the DOG sign, visible to everyone. + +admin-smite-furry-sign-name = FURRY +admin-smite-furry-sign-description = Marks a player with the FURRY sign, visible to everyone. + +admin-smite-nerd-sign-name = NERD +admin-smite-nerd-sign-description = Marks a player with the NERD sign, visible to everyone. + +admin-smite-peak-sign-name = PEAK +admin-smite-peak-sign-description = Marks a player with the PEAK sign, visible to everyone. + +admin-smite-raider-sign-name = RAIDER +admin-smite-raider-sign-description = Marks a player with the RAIDER sign, visible to everyone. + +admin-smite-stinky-sign-name = STINKY +admin-smite-stinky-sign-description = Marks a player with the STINKY sign, visible to everyone. diff --git a/Resources/Locale/ru-RU/_strings/_lust/fucksign/fucksign.ftl b/Resources/Locale/ru-RU/_strings/_lust/fucksign/fucksign.ftl index 2c6f18a4dc..78f67c20aa 100644 --- a/Resources/Locale/ru-RU/_strings/_lust/fucksign/fucksign.ftl +++ b/Resources/Locale/ru-RU/_strings/_lust/fucksign/fucksign.ftl @@ -1,2 +1,26 @@ admin-smite-fuck-sign-name = Грехопадение admin-smite-fuck-sign-description = Накладывает на игрока метку ТРАХНИ ЭТО. + +admin-smite-bald-sign-name = Лысый +admin-smite-bald-sign-description = Накладывает на игрока метку ЛЫСЫЙ. + +admin-smite-cat-sign-name = Кот +admin-smite-cat-sign-description = Накладывает на игрока метку КОТ. + +admin-smite-dog-sign-name = Собака +admin-smite-dog-sign-description = Накладывает на игрока метку СОБАКА. + +admin-smite-furry-sign-name = Фурри +admin-smite-furry-sign-description = Накладывает на игрока метку ФУРРИ. + +admin-smite-nerd-sign-name = Задрот +admin-smite-nerd-sign-description = Накладывает на игрока метку ЗАДРОТ. + +admin-smite-peak-sign-name = ПИК +admin-smite-peak-sign-description = Накладывает на игрока метку ПИК. + +admin-smite-raider-sign-name = Рейдер +admin-smite-raider-sign-description = Накладывает на игрока метку РЕЙДЕР. + +admin-smite-stinky-sign-name = Вонючий +admin-smite-stinky-sign-description = Накладывает на игрока метку ВОНЮЧИЙ.