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.Components;
|
||||||
using Content.Shared.Movement.Systems;
|
using Content.Shared.Movement.Systems;
|
||||||
using Content.Shared.Nutrition.Components;
|
using Content.Shared.Nutrition.Components;
|
||||||
|
using Content.Shared.Polymorph;
|
||||||
using Content.Shared.Popups;
|
using Content.Shared.Popups;
|
||||||
using Content.Shared.Silicons.Laws;
|
using Content.Shared.Silicons.Laws;
|
||||||
using Content.Shared.Silicons.Laws.Components;
|
using Content.Shared.Silicons.Laws.Components;
|
||||||
@@ -60,6 +61,9 @@ namespace Content.Server.Administration.Systems;
|
|||||||
|
|
||||||
public sealed partial class AdminVerbSystem
|
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 SharedActionsSystem _actions = default!;
|
||||||
[Dependency] private readonly IRobustRandom _random = default!;
|
[Dependency] private readonly IRobustRandom _random = default!;
|
||||||
[Dependency] private readonly BloodstreamSystem _bloodstreamSystem = 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"),
|
Icon = new SpriteSpecifier.Rsi(new("/Textures/Objects/Fun/Plushies/lizard.rsi"), "icon"),
|
||||||
Act = () =>
|
Act = () =>
|
||||||
{
|
{
|
||||||
_polymorphSystem.PolymorphEntity(args.Target, "AdminLizardSmite");
|
_polymorphSystem.PolymorphEntity(args.Target, LizardSmite);
|
||||||
},
|
},
|
||||||
Impact = LogImpact.Extreme,
|
Impact = LogImpact.Extreme,
|
||||||
Message = string.Join(": ", reptilianName, Loc.GetString("admin-smite-reptilian-species-swap-description"))
|
Message = string.Join(": ", reptilianName, Loc.GetString("admin-smite-reptilian-species-swap-description"))
|
||||||
};
|
};
|
||||||
args.Verbs.Add(reptilian);
|
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();
|
var lockerName = Loc.GetString("admin-smite-locker-stuff-name").ToLowerInvariant();
|
||||||
Verb locker = new()
|
Verb locker = new()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ public sealed partial class PolymorphSystem : EntitySystem
|
|||||||
|
|
||||||
if (configuration.TransferHumanoidAppearance)
|
if (configuration.TransferHumanoidAppearance)
|
||||||
{
|
{
|
||||||
_humanoid.CloneAppearance(child, uid);
|
_humanoid.CloneAppearance(uid, child);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_mindSystem.TryGetMind(uid, out var mindId, out var mind))
|
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-become-instrument-name = Become Instrument
|
||||||
admin-smite-remove-gravity-name = Remove Gravity
|
admin-smite-remove-gravity-name = Remove Gravity
|
||||||
admin-smite-reptilian-species-swap-name = Become Reptilian
|
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-locker-stuff-name = Locker Stuff
|
||||||
admin-smite-headstand-name = Headstand
|
admin-smite-headstand-name = Headstand
|
||||||
admin-smite-become-mouse-name = Become Mouse
|
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-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-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-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-locker-stuff-description = Stuffs them in a (welded) locker.
|
||||||
admin-smite-headstand-description = Vertically flips their sprite.
|
admin-smite-headstand-description = Vertically flips their sprite.
|
||||||
admin-smite-become-mouse-description = They become a mouse. Squeak!
|
admin-smite-become-mouse-description = They become a mouse. Squeak!
|
||||||
|
|||||||
@@ -4,7 +4,15 @@
|
|||||||
entity: MobReptilian
|
entity: MobReptilian
|
||||||
forced: true
|
forced: true
|
||||||
transferName: true
|
transferName: true
|
||||||
transferHumanoidAppearance: true
|
inventory: Transfer
|
||||||
|
ignoreAllowRepeatedMorphs: true
|
||||||
|
|
||||||
|
- type: polymorph
|
||||||
|
id: AdminVulpSmite
|
||||||
|
configuration:
|
||||||
|
entity: MobVulpkanin
|
||||||
|
forced: true
|
||||||
|
transferName: true
|
||||||
inventory: Transfer
|
inventory: Transfer
|
||||||
ignoreAllowRepeatedMorphs: true
|
ignoreAllowRepeatedMorphs: true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user