Fix the Infinite Spill (#42022)

i hate solutions i hate solutions

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
This commit is contained in:
Princess Cheeseballs
2025-12-23 11:47:46 -08:00
committed by GitHub
parent 860f1418cd
commit 229c08c560

View File

@@ -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<SolutionComponent> 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<EntityUid>();
var reactive = new HashSet<Entity<ReactiveComponent>>();
_lookup.GetEntitiesInRange(coordinates, 1.0f, reactive);