exterminator midround minor antag (#19946)
* terminator locale * terminate objective * terminator components and shared system * terminator roles rules and system * terminator events * skeleton recolour * terminator and endoskeleton * ghost role spawn * damage modifier sets * :trollface: * :trollface: * add antag prototype * ghost role locale * skynet * :trollface: * :trollface: * :trollface: * add endoskeleton body prototype * :trollface: * :trollface: * smite locale * implement terminate smite * :trollface: * :trollface: * implement PopupBehavior * endoskeleton transform popup * move stuff from shared to server since nothing actually used it * recolour everything * update parts * :trollface: * :trollface: * ok fire was using the damage set, back to 1.0 * tweak * :trollface: * :trollface: * simplemob ops * 1 rule per pro * :trollface: * :trollface: * update some sprites * structural damage * :trollface: * :trollface: * Revert "update some sprites" This reverts commit 459196c6a8942c5412885d5fe2f1a83a48408ddc. * offbrand, add die objective to maybe remove fear of murderbone * add shut down objective to the list * fix ghost role * fix control mob * :trollface: * :trollface: * please * naming * code changes for GenericAntag terminator * yml changes for GenericAntag terminator * :trollface: * moved kill objective override to an objective component * use kill objective override * fix * oh * locale changes * change burn to heat for skin melting gib * change some endoskeleton stuff * pro * i already did this dementia ops * objective * fix * pro * swap out full sprite * update parts * forgor * fix mind transfer * type * endoskeleton has 500 mass * evil * fishops * warops --------- Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
@@ -18,6 +18,7 @@ using Content.Server.Storage.Components;
|
||||
using Content.Server.Storage.EntitySystems;
|
||||
using Content.Server.Tabletop;
|
||||
using Content.Server.Tabletop.Components;
|
||||
using Content.Server.Terminator.Systems;
|
||||
using Content.Shared.Administration;
|
||||
using Content.Shared.Administration.Components;
|
||||
using Content.Shared.Body.Components;
|
||||
@@ -30,6 +31,7 @@ using Content.Shared.Database;
|
||||
using Content.Shared.Electrocution;
|
||||
using Content.Shared.Interaction.Components;
|
||||
using Content.Shared.Inventory;
|
||||
using Content.Shared.Mind.Components;
|
||||
using Content.Shared.Mobs;
|
||||
using Content.Shared.Mobs.Components;
|
||||
using Content.Shared.Mobs.Systems;
|
||||
@@ -72,6 +74,7 @@ public sealed partial class AdminVerbSystem
|
||||
[Dependency] private readonly PopupSystem _popupSystem = default!;
|
||||
[Dependency] private readonly SharedPhysicsSystem _physics = default!;
|
||||
[Dependency] private readonly TabletopSystem _tabletopSystem = default!;
|
||||
[Dependency] private readonly TerminatorSystem _terminator = default!;
|
||||
[Dependency] private readonly VomitSystem _vomitSystem = default!;
|
||||
[Dependency] private readonly WeldableSystem _weldableSystem = default!;
|
||||
[Dependency] private readonly SharedContentEyeSystem _eyeSystem = default!;
|
||||
@@ -793,6 +796,7 @@ public sealed partial class AdminVerbSystem
|
||||
Message = Loc.GetString("admin-smite-super-speed-description"),
|
||||
};
|
||||
args.Verbs.Add(superSpeed);
|
||||
|
||||
//Bonk
|
||||
Verb superBonkLite = new()
|
||||
{
|
||||
@@ -820,5 +824,27 @@ public sealed partial class AdminVerbSystem
|
||||
Impact = LogImpact.Extreme,
|
||||
};
|
||||
args.Verbs.Add(superBonk);
|
||||
|
||||
Verb terminate = new()
|
||||
{
|
||||
Text = "Terminate",
|
||||
Category = VerbCategory.Smite,
|
||||
Icon = new SpriteSpecifier.Rsi(new ("Mobs/Species/Terminator/parts.rsi"), "skull_icon"),
|
||||
Act = () =>
|
||||
{
|
||||
if (!TryComp<MindContainerComponent>(args.Target, out var mindContainer) || mindContainer.Mind == null)
|
||||
return;
|
||||
|
||||
var coords = Transform(args.Target).Coordinates;
|
||||
var mindId = mindContainer.Mind.Value;
|
||||
_terminator.CreateSpawner(coords, mindId);
|
||||
|
||||
_popupSystem.PopupEntity(Loc.GetString("admin-smite-terminate-prompt"), args.Target,
|
||||
args.Target, PopupType.LargeCaution);
|
||||
},
|
||||
Impact = LogImpact.Extreme,
|
||||
Message = Loc.GetString("admin-smite-terminate-description")
|
||||
};
|
||||
args.Verbs.Add(terminate);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user