]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
prevent placing dead bodies in cryostorage (#26810)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Mon, 8 Apr 2024 03:07:23 +0000 (23:07 -0400)
committerGitHub <noreply@github.com>
Mon, 8 Apr 2024 03:07:23 +0000 (13:07 +1000)
Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs

index f14dc21c480318a0afac94544831977f1cee99d7..c3fa21e293e2d2ddf463055b2bad376786dcb18a 100644 (file)
@@ -4,6 +4,7 @@ using Content.Shared.DragDrop;
 using Content.Shared.GameTicking;
 using Content.Shared.Mind;
 using Content.Shared.Mind.Components;
+using Content.Shared.Mobs.Systems;
 using Robust.Shared.Configuration;
 using Robust.Shared.Containers;
 using Robust.Shared.Map;
@@ -22,6 +23,7 @@ public abstract class SharedCryostorageSystem : EntitySystem
     [Dependency] private readonly IMapManager _mapManager = default!;
     [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
     [Dependency] protected readonly SharedMindSystem Mind = default!;
+    [Dependency] private readonly MobStateSystem _mobState = default!;
 
     protected EntityUid? PausedMap { get; private set; }
 
@@ -81,6 +83,12 @@ public abstract class SharedCryostorageSystem : EntitySystem
         if (args.Container.ID != comp.ContainerId)
             return;
 
+        if (_mobState.IsIncapacitated(args.EntityUid))
+        {
+            args.Cancel();
+            return;
+        }
+
         if (!TryComp<MindContainerComponent>(args.EntityUid, out var mindContainer))
         {
             args.Cancel();