Cherrypicks 2 (#371)

* Handheld teleporter portals now must start on the same grid. (#28423)

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>

* hand teleport portals now may start in the same grid. (#28556)

* Implement vital chef's hat functionality (#25950)

* Implement crucial chef's hat functionality

* Unified stopping code and added events.

* Added documentation to events

* Rerun tests

* Made review changes, and fixed potential desync bug.

* Update whitelist

* Make Hamlet a valid chef's hat pilot (#29191)

* Dropping Corpses Devoured by Space Dragons on Gib/Butcher. (#28709)

* Update DevourSystem.cs

* Update DevourSystem.cs

* Update Content.Server/Devour/DevourSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Treatment of blood loss in the Rat King (#26887)

Bloodloss-RatKing

* - fix: Fix error.

---------

Co-authored-by: Moony <moony@hellomouse.net>
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: IlyaElDunaev <154531074+IlyaElDunaev@users.noreply.github.com>
This commit is contained in:
Aviu00
2024-06-20 16:24:36 +00:00
committed by GitHub
parent 6a7ad10d72
commit 3bfc442f7b
13 changed files with 309 additions and 17 deletions

View File

@@ -1,3 +1,4 @@
using Content.Server.Body.Components;
using Content.Server.Body.Systems;
using Content.Shared.Chemistry.Components;
using Content.Shared.Devour;
@@ -15,6 +16,7 @@ public sealed class DevourSystem : SharedDevourSystem
base.Initialize();
SubscribeLocalEvent<DevourerComponent, DevourDoAfterEvent>(OnDoAfter);
SubscribeLocalEvent<DevourerComponent, BeingGibbedEvent>(OnGibContents);
}
private void OnDoAfter(EntityUid uid, DevourerComponent component, DevourDoAfterEvent args)
@@ -45,5 +47,15 @@ public sealed class DevourSystem : SharedDevourSystem
_audioSystem.PlayPvs(component.SoundDevour, uid);
}
private void OnGibContents(EntityUid uid, DevourerComponent component, ref BeingGibbedEvent args)
{
if (!component.ShouldStoreDevoured)
return;
// For some reason we have two different systems that should handle gibbing,
// and for some another reason GibbingSystem, which should empty all containers, doesn't get involved in this process
ContainerSystem.EmptyContainer(component.Stomach);
}
}