ninja 2 electric boogaloo (#15534)

Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
deltanedas
2023-09-10 07:20:27 +01:00
committed by GitHub
parent 25c8a03276
commit 24810d916b
153 changed files with 3892 additions and 78 deletions

View File

@@ -1,4 +1,5 @@
using Content.Server.GameTicking.Rules;
using Content.Server.Ninja.Systems;
using Content.Server.Zombies;
using Content.Shared.Administration;
using Content.Shared.Database;
@@ -15,6 +16,7 @@ public sealed partial class AdminVerbSystem
{
[Dependency] private readonly ZombieSystem _zombie = default!;
[Dependency] private readonly TraitorRuleSystem _traitorRule = default!;
[Dependency] private readonly SpaceNinjaSystem _ninja = default!;
[Dependency] private readonly NukeopsRuleSystem _nukeopsRule = default!;
[Dependency] private readonly PiratesRuleSystem _piratesRule = default!;
[Dependency] private readonly SharedMindSystem _minds = default!;
@@ -35,7 +37,7 @@ public sealed partial class AdminVerbSystem
Verb traitor = new()
{
Text = "Make Traitor",
Text = Loc.GetString("admin-verb-text-make-traitor"),
Category = VerbCategory.Antag,
Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/Structures/Wallmounts/posters.rsi"), "poster5_contraband"),
Act = () =>
@@ -54,7 +56,7 @@ public sealed partial class AdminVerbSystem
Verb zombie = new()
{
Text = "Make Zombie",
Text = Loc.GetString("admin-verb-text-make-zombie"),
Category = VerbCategory.Antag,
Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/Actions/zombie-turn.png")),
Act = () =>
@@ -69,7 +71,7 @@ public sealed partial class AdminVerbSystem
Verb nukeOp = new()
{
Text = "Make nuclear operative",
Text = Loc.GetString("admin-verb-text-make-nuclear-operative"),
Category = VerbCategory.Antag,
Icon = new SpriteSpecifier.Rsi(new("/Textures/Structures/Wallmounts/signs.rsi"), "radiation"),
Act = () =>
@@ -86,7 +88,7 @@ public sealed partial class AdminVerbSystem
Verb pirate = new()
{
Text = "Make Pirate",
Text = Loc.GetString("admin-verb-text-make-pirate"),
Category = VerbCategory.Antag,
Icon = new SpriteSpecifier.Rsi(new("/Textures/Clothing/Head/Hats/pirate.rsi"), "icon"),
Act = () =>
@@ -101,5 +103,21 @@ public sealed partial class AdminVerbSystem
};
args.Verbs.Add(pirate);
Verb spaceNinja = new()
{
Text = Loc.GetString("admin-verb-text-make-space-ninja"),
Category = VerbCategory.Antag,
Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/Objects/Weapons/Melee/energykatana.rsi"), "icon"),
Act = () =>
{
if (!_minds.TryGetMind(args.Target, out var mindId, out var mind))
return;
_ninja.MakeNinja(mindId, mind);
},
Impact = LogImpact.High,
Message = Loc.GetString("admin-verb-make-space-ninja"),
};
args.Verbs.Add(spaceNinja);
}
}