From: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com> Date: Tue, 23 Dec 2025 19:47:46 +0000 (-0800) Subject: Fix the Infinite Spill (#42022) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=229c08c5605bc970e8ebdc195de84d52d82b2e32;p=space-station-14.git Fix the Infinite Spill (#42022) i hate solutions i hate solutions Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> --- diff --git a/Content.Server/Fluids/EntitySystems/PuddleSystem.cs b/Content.Server/Fluids/EntitySystems/PuddleSystem.cs index c756a8e696..aca8c5383d 100644 --- a/Content.Server/Fluids/EntitySystems/PuddleSystem.cs +++ b/Content.Server/Fluids/EntitySystems/PuddleSystem.cs @@ -387,21 +387,34 @@ public sealed partial class PuddleSystem : SharedPuddleSystem spilled = solution.Value.Comp.Solution; - return TrySplashSpillAt(entity, coordinates, spilled, out puddleUid, sound, user); + return TrySplashSpillAt(entity, coordinates, solution.Value, out puddleUid, sound, user); + } + + private bool TrySplashSpillAt(EntityUid entity, + EntityCoordinates coordinates, + Entity solution, + out EntityUid puddleUid, + bool sound = true, + EntityUid? user = null) + { + var result = TrySplashSpillAt(entity, coordinates, solution.Comp.Solution, out puddleUid, sound, user); + _solutionContainerSystem.UpdateChemicals(solution); + return result; } public override bool TrySplashSpillAt(EntityUid entity, EntityCoordinates coordinates, - Solution spilled, + Solution solution, out EntityUid puddleUid, bool sound = true, EntityUid? user = null) { puddleUid = EntityUid.Invalid; - if (spilled.Volume == 0) + if (solution.Volume == 0) return false; + var spilled = solution.SplitSolution(solution.Volume); var targets = new List(); var reactive = new HashSet>(); _lookup.GetEntitiesInRange(coordinates, 1.0f, reactive);