]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Solution drag and drop now checks if container is closed and drainable (#34683)
authorŁukasz Lindert <lukasz.lindert@protonmail.com>
Mon, 21 Apr 2025 15:50:07 +0000 (17:50 +0200)
committerGitHub <noreply@github.com>
Mon, 21 Apr 2025 15:50:07 +0000 (17:50 +0200)
drainable fix

Content.Server/Fluids/EntitySystems/PuddleSystem.Transfers.cs

index b8217352652bec6c52c12f6629a8309987f4cac8..e850f058a8ac045b16a6cedddb296b54d818a3b3 100644 (file)
@@ -2,11 +2,14 @@ using Content.Shared.Chemistry.Components;
 using Content.Shared.DragDrop;
 using Content.Shared.FixedPoint;
 using Content.Shared.Fluids;
+using Content.Shared.Nutrition.EntitySystems;
 
 namespace Content.Server.Fluids.EntitySystems;
 
 public sealed partial class PuddleSystem
 {
+    [Dependency] private readonly OpenableSystem _openable = default!;
+
     private void InitializeTransfers()
     {
         SubscribeLocalEvent<RefillableSolutionComponent, DragDropDraggedEvent>(OnRefillableDragged);
@@ -32,6 +35,12 @@ public sealed partial class PuddleSystem
             if (!_solutionContainerSystem.TryGetDumpableSolution((args.Target, dump, null), out var dumpableSoln, out var dumpableSolution))
                 return;
 
+            if (!_solutionContainerSystem.TryGetDrainableSolution(entity.Owner, out _, out _))
+                return;
+
+            if (_openable.IsClosed(entity))
+                return;
+
             bool success = true;
             if (dump.Unlimited)
             {