Ports Devils from Goobstation (#4639)

* or your debil

* Woop

* Whoops, Missed this

* Whoops, Suicide System

* Hush... Extended tests... Hush

* AAAAAA

* No-longer jaunt whilst dead

* :)

* Update Content.Shared/_Lavaland/Chasm/PreventChasmFallingSystem.cs

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: William Lemon <William.Lemon2@gmail.com>

* Update Content.Server/_Goobstation/Possession/PossessionSystem.cs

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: William Lemon <William.Lemon2@gmail.com>

* Please tobysenpai forgive me

---------

Signed-off-by: William Lemon <William.Lemon2@gmail.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
This commit is contained in:
William Lemon
2025-11-20 10:11:07 +01:00
committed by GitHub
co-authored by Tobias Berger
parent 496cb0f7cc
commit f563f2c566
171 changed files with 5872 additions and 14 deletions
+8
View File
@@ -1,3 +1,4 @@
using Content.Shared._Goobstation.Devour;
using Content.Shared.Actions;
using Content.Shared.Body.Events;
using Content.Shared.Body.Systems;
@@ -115,6 +116,13 @@ public sealed class DevourSystem : EntitySystem
if (args.Args.Target != null && _whitelistSystem.IsWhitelistPass(ent.Comp.StomachStorageWhitelist, (EntityUid)args.Args.Target))
{
_containerSystem.Insert(args.Args.Target.Value, ent.Comp.Stomach);
// Goobstation start
if (HasComp<MobStateComponent>(args.Args.Target.Value)) // can be cases where objects are also whitelisted, which wont need this
EnsureComp<PreventSelfRevivalComponent>(args.Args.Target.Value);
// Goobstation end
}
//TODO: Figure out a better way of removing structures via devour that still entails standing still and waiting for a DoAfter. Somehow.
//If it's not alive, it must be a structure.