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>
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
using Content.Server.Body.Components;
|
||||||
using Content.Server.Body.Systems;
|
using Content.Server.Body.Systems;
|
||||||
using Content.Shared.Chemistry.Components;
|
using Content.Shared.Chemistry.Components;
|
||||||
using Content.Shared.Devour;
|
using Content.Shared.Devour;
|
||||||
@@ -15,6 +16,7 @@ public sealed class DevourSystem : SharedDevourSystem
|
|||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<DevourerComponent, DevourDoAfterEvent>(OnDoAfter);
|
SubscribeLocalEvent<DevourerComponent, DevourDoAfterEvent>(OnDoAfter);
|
||||||
|
SubscribeLocalEvent<DevourerComponent, BeingGibbedEvent>(OnGibContents);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDoAfter(EntityUid uid, DevourerComponent component, DevourDoAfterEvent args)
|
private void OnDoAfter(EntityUid uid, DevourerComponent component, DevourDoAfterEvent args)
|
||||||
@@ -45,5 +47,15 @@ public sealed class DevourSystem : SharedDevourSystem
|
|||||||
|
|
||||||
_audioSystem.PlayPvs(component.SoundDevour, uid);
|
_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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user