]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix meat spike vaporizing victim items (#13697)
authorSlava0135 <40753025+Slava0135@users.noreply.github.com>
Tue, 28 Feb 2023 13:14:13 +0000 (16:14 +0300)
committerGitHub <noreply@github.com>
Tue, 28 Feb 2023 13:14:13 +0000 (09:14 -0400)
Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs

index 19514310ba257869878350ae70a617f9d89982b2..77b56bfa2f9c78d65d4b8bb1424c365d305d7d23 100644 (file)
@@ -17,6 +17,8 @@ using Content.Shared.Kitchen;
 using Content.Shared.Mobs.Components;
 using Content.Shared.Mobs.Systems;
 using Content.Shared.Popups;
+using Robust.Server.GameObjects;
+using Content.Server.Body.Systems;
 
 namespace Content.Server.Kitchen.EntitySystems
 {
@@ -27,6 +29,8 @@ namespace Content.Server.Kitchen.EntitySystems
         [Dependency] private readonly IAdminLogManager _logger = default!;
         [Dependency] private readonly MobStateSystem _mobStateSystem = default!;
         [Dependency] private readonly IRobustRandom _random = default!;
+        [Dependency] private readonly TransformSystem _transform = default!;
+        [Dependency] private readonly BodySystem _bodySystem = default!;
         [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
         [Dependency] private readonly SharedAudioSystem _audio = default!;
 
@@ -133,9 +137,13 @@ namespace Content.Server.Kitchen.EntitySystems
 
             _popupSystem.PopupEntity(Loc.GetString("comp-kitchen-spike-kill", ("user", Identity.Entity(userUid, EntityManager)), ("victim", victimUid)), uid, PopupType.LargeCaution);
 
+            _transform.SetCoordinates(victimUid, Transform(uid).Coordinates);
             // THE WHAT?
             // TODO: Need to be able to leave them on the spike to do DoT, see ss13.
-            EntityManager.QueueDeleteEntity(victimUid);
+            var gibs = _bodySystem.GibBody(victimUid);
+            foreach (var gib in gibs) {
+                QueueDel(gib);
+            }
 
             _audio.Play(component.SpikeSound, Filter.Pvs(uid), uid, true);
         }