diff --git a/.run/Content Server+Client.run.xml b/.run/Content Server+Client.run.xml
index 4ba50d81900..0ec9bf16a75 100644
--- a/.run/Content Server+Client.run.xml
+++ b/.run/Content Server+Client.run.xml
@@ -4,4 +4,4 @@
-
\ No newline at end of file
+
diff --git a/Content.Server/Fluids/EntitySystems/AbsorbentSystem.cs b/Content.Server/Fluids/EntitySystems/AbsorbentSystem.cs
index 6ed8af59ec2..167b1954430 100644
--- a/Content.Server/Fluids/EntitySystems/AbsorbentSystem.cs
+++ b/Content.Server/Fluids/EntitySystems/AbsorbentSystem.cs
@@ -25,6 +25,7 @@ public sealed class AbsorbentSystem : SharedAbsorbentSystem
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly SolutionContainerSystem _solutionSystem = default!;
[Dependency] private readonly UseDelaySystem _useDelay = default!;
+ [Dependency] private readonly SolutionContainerSystem _solutionContainerSystem = default!;
public override void Initialize()
{
@@ -158,11 +159,18 @@ private bool TryTransferAbsorber(EntityUid user, EntityUid used, EntityUid targe
return false;
}
- absorberSoln.AddReagent(PuddleSystem.EvaporationReagent, water);
- refillableSolution.AddSolution(nonWater, _prototype);
- _solutionSystem.UpdateChemicals(used, absorberSoln);
- _solutionSystem.UpdateChemicals(target, refillableSolution);
+ if (water > 0 && !_solutionContainerSystem.TryAddReagent(used, absorberSoln, PuddleSystem.EvaporationReagent, water,
+ out _))
+ {
+ _popups.PopupEntity(Loc.GetString("mopping-system-full", ("used", used)), used, user);
+ }
+
+ if (nonWater.Volume > 0 && !_solutionContainerSystem.TryAddSolution(target, refillableSolution, nonWater))
+ {
+ absorberSoln.AddSolution(nonWater, _prototype);
+ _popups.PopupEntity(Loc.GetString("mopping-system-full", ("used", target)), user, user);
+ }
_audio.PlayPvs(component.TransferSound, target);
_useDelay.BeginDelay(used);
return true;