diff --git a/Content.IntegrationTests/Tests/Fluids/PuddleTest.cs b/Content.IntegrationTests/Tests/Fluids/PuddleTest.cs index 751de792e4..d6f2a9db99 100644 --- a/Content.IntegrationTests/Tests/Fluids/PuddleTest.cs +++ b/Content.IntegrationTests/Tests/Fluids/PuddleTest.cs @@ -214,8 +214,14 @@ namespace Content.IntegrationTests.Tests.Fluids // Check that the puddle is unpaused Assert.False(sPuddle.Owner.Paused); - // By now, the puddle should have evaporated and deleted. - Assert.True(sPuddle.Deleted); + // Check that the puddle has evaporated some of its volume + Assert.That(sPuddle.CurrentVolume, Is.LessThan(sPuddleStartingVolume)); + + // If its new volume is zero it should have been deleted + if (sPuddle.CurrentVolume == ReagentUnit.Zero) + { + Assert.True(sPuddle.Deleted); + } }); } } diff --git a/Content.Shared/Chemistry/EntitySystems/SolutionContainerSystem.cs b/Content.Shared/Chemistry/EntitySystems/SolutionContainerSystem.cs index 61d4e821f7..db9a8a48da 100644 --- a/Content.Shared/Chemistry/EntitySystems/SolutionContainerSystem.cs +++ b/Content.Shared/Chemistry/EntitySystems/SolutionContainerSystem.cs @@ -50,9 +50,12 @@ namespace Content.Shared.Chemistry.EntitySystems foreach (var keyValue in component.Solutions) { var solutionHolder = keyValue.Value; - solutionHolder.MaxVolume = solutionHolder.TotalVolume > solutionHolder.InitialMaxVolume - ? solutionHolder.TotalVolume - : solutionHolder.InitialMaxVolume; + if (solutionHolder.MaxVolume == ReagentUnit.Zero) + { + solutionHolder.MaxVolume = solutionHolder.TotalVolume > solutionHolder.InitialMaxVolume + ? solutionHolder.TotalVolume + : solutionHolder.InitialMaxVolume; + } UpdateAppearance(uid, solutionHolder); }