Vulpkanin Admin Smite (#40360)
* Cheeborger * Vulp smite * validate those ProtoIds --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
c70d2cfb9f
commit
c7f5545a46
@@ -38,6 +38,7 @@ using Content.Shared.Mobs.Systems;
|
||||
using Content.Shared.Movement.Components;
|
||||
using Content.Shared.Movement.Systems;
|
||||
using Content.Shared.Nutrition.Components;
|
||||
using Content.Shared.Polymorph;
|
||||
using Content.Shared.Popups;
|
||||
using Content.Shared.Silicons.Laws;
|
||||
using Content.Shared.Silicons.Laws.Components;
|
||||
@@ -60,6 +61,9 @@ namespace Content.Server.Administration.Systems;
|
||||
|
||||
public sealed partial class AdminVerbSystem
|
||||
{
|
||||
private readonly ProtoId<PolymorphPrototype> LizardSmite = "AdminLizardSmite";
|
||||
private readonly ProtoId<PolymorphPrototype> VulpkaninSmite = "AdminVulpSmite";
|
||||
|
||||
[Dependency] private readonly SharedActionsSystem _actions = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
[Dependency] private readonly BloodstreamSystem _bloodstreamSystem = default!;
|
||||
@@ -706,13 +710,28 @@ public sealed partial class AdminVerbSystem
|
||||
Icon = new SpriteSpecifier.Rsi(new("/Textures/Objects/Fun/Plushies/lizard.rsi"), "icon"),
|
||||
Act = () =>
|
||||
{
|
||||
_polymorphSystem.PolymorphEntity(args.Target, "AdminLizardSmite");
|
||||
_polymorphSystem.PolymorphEntity(args.Target, LizardSmite);
|
||||
},
|
||||
Impact = LogImpact.Extreme,
|
||||
Message = string.Join(": ", reptilianName, Loc.GetString("admin-smite-reptilian-species-swap-description"))
|
||||
};
|
||||
args.Verbs.Add(reptilian);
|
||||
|
||||
var vulpName = Loc.GetString("admin-smite-vulpkanin-species-swap-name").ToLowerInvariant();
|
||||
Verb vulp = new()
|
||||
{
|
||||
Text = vulpName,
|
||||
Category = VerbCategory.Smite,
|
||||
Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/Balls/tennisball.rsi"), "icon"),
|
||||
Act = () =>
|
||||
{
|
||||
_polymorphSystem.PolymorphEntity(args.Target, VulpkaninSmite);
|
||||
},
|
||||
Impact = LogImpact.Extreme,
|
||||
Message = string.Join(": ", vulpName, Loc.GetString("admin-smite-vulpkanin-species-swap-description"))
|
||||
};
|
||||
args.Verbs.Add(vulp);
|
||||
|
||||
var lockerName = Loc.GetString("admin-smite-locker-stuff-name").ToLowerInvariant();
|
||||
Verb locker = new()
|
||||
{
|
||||
|
||||
@@ -261,7 +261,7 @@ public sealed partial class PolymorphSystem : EntitySystem
|
||||
|
||||
if (configuration.TransferHumanoidAppearance)
|
||||
{
|
||||
_humanoid.CloneAppearance(child, uid);
|
||||
_humanoid.CloneAppearance(uid, child);
|
||||
}
|
||||
|
||||
if (_mindSystem.TryGetMind(uid, out var mindId, out var mind))
|
||||
|
||||
@@ -36,6 +36,7 @@ admin-smite-buffering-name = Buffering
|
||||
admin-smite-become-instrument-name = Become Instrument
|
||||
admin-smite-remove-gravity-name = Remove Gravity
|
||||
admin-smite-reptilian-species-swap-name = Become Reptilian
|
||||
admin-smite-vulpkanin-species-swap-name = Become Vulpkanin
|
||||
admin-smite-locker-stuff-name = Locker Stuff
|
||||
admin-smite-headstand-name = Headstand
|
||||
admin-smite-become-mouse-name = Become Mouse
|
||||
@@ -86,6 +87,7 @@ admin-smite-buffering-description = Causes the target to randomly start bufferin
|
||||
admin-smite-become-instrument-description = It turns them into a supersynth. Really. That's all it does.
|
||||
admin-smite-remove-gravity-description = Grants them anti-gravity.
|
||||
admin-smite-reptilian-species-swap-description = It changes their species to Reptilian. Useful for people who were being space racist.
|
||||
admin-smite-vulpkanin-species-swap-description = It changes their species to Vulpkanin. Useful for people who were being space racist.
|
||||
admin-smite-locker-stuff-description = Stuffs them in a (welded) locker.
|
||||
admin-smite-headstand-description = Vertically flips their sprite.
|
||||
admin-smite-become-mouse-description = They become a mouse. Squeak!
|
||||
|
||||
@@ -4,7 +4,15 @@
|
||||
entity: MobReptilian
|
||||
forced: true
|
||||
transferName: true
|
||||
transferHumanoidAppearance: true
|
||||
inventory: Transfer
|
||||
ignoreAllowRepeatedMorphs: true
|
||||
|
||||
- type: polymorph
|
||||
id: AdminVulpSmite
|
||||
configuration:
|
||||
entity: MobVulpkanin
|
||||
forced: true
|
||||
transferName: true
|
||||
inventory: Transfer
|
||||
ignoreAllowRepeatedMorphs: true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user