diff --git a/Content.Client/Chemistry/UI/InjectorStatusControl.cs b/Content.Client/Chemistry/UI/InjectorStatusControl.cs index 9cb699330c..ba1f97cd1e 100644 --- a/Content.Client/Chemistry/UI/InjectorStatusControl.cs +++ b/Content.Client/Chemistry/UI/InjectorStatusControl.cs @@ -17,6 +17,7 @@ public sealed class InjectorStatusControl : Control private FixedPoint2 PrevVolume; private FixedPoint2 PrevMaxVolume; + private FixedPoint2 PrevTransferAmount; private InjectorToggleMode PrevToggleState; public InjectorStatusControl(Entity parent, SharedSolutionContainerSystem solutionContainers) @@ -37,11 +38,13 @@ public sealed class InjectorStatusControl : Control // only updates the UI if any of the details are different than they previously were if (PrevVolume == solution.Volume && PrevMaxVolume == solution.MaxVolume + && PrevTransferAmount == _parent.Comp.TransferAmount && PrevToggleState == _parent.Comp.ToggleState) return; PrevVolume = solution.Volume; PrevMaxVolume = solution.MaxVolume; + PrevTransferAmount = _parent.Comp.TransferAmount; PrevToggleState = _parent.Comp.ToggleState; // Update current volume and injector state diff --git a/Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs b/Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs index 1e9e742a38..92ea962140 100644 --- a/Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs +++ b/Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs @@ -1,3 +1,4 @@ +using Content.Shared.Chemistry.Components; using Content.Shared.Database; using Content.Shared.DoAfter; using Content.Shared.Examine; @@ -62,6 +63,12 @@ public abstract partial class SharedPuddleSystem { var puddleSolution = _solutionContainerSystem.SplitSolution(soln.Value, solution.Volume); TrySpillAt(Transform(target).Coordinates, puddleSolution, out _); + + if (TryComp(entity, out var injectorComp)) + { + injectorComp.ToggleState = InjectorToggleMode.Draw; + Dirty(entity, injectorComp); + } }; } else