diff --git a/Content.Server/Chemistry/TileReactions/SpillTileReaction.cs b/Content.Server/Chemistry/TileReactions/SpillTileReaction.cs index 46a894adc2..208d6cb5a6 100644 --- a/Content.Server/Chemistry/TileReactions/SpillTileReaction.cs +++ b/Content.Server/Chemistry/TileReactions/SpillTileReaction.cs @@ -24,7 +24,7 @@ namespace Content.Server.Chemistry.TileReactions if (reactVolume < 5) return FixedPoint2.Zero; // TODO Make this not puddle smear. - var puddle = tile.SpillAt(new Solution(reagent.ID, reactVolume), "PuddleSmear", _overflow, false); + var puddle = tile.SpillAt(new Solution(reagent.ID, reactVolume), "PuddleSmear", _overflow, false, true); if (puddle != null) { diff --git a/Content.Server/Fluids/Components/SpillExtensions.cs b/Content.Server/Fluids/Components/SpillExtensions.cs index 5410687c27..2066ae3e2e 100644 --- a/Content.Server/Fluids/Components/SpillExtensions.cs +++ b/Content.Server/Fluids/Components/SpillExtensions.cs @@ -125,7 +125,7 @@ namespace Content.Server.Fluids.Components } public static PuddleComponent? SpillAt(this TileRef tileRef, Solution solution, string prototype, - bool overflow = true, bool sound = true) + bool overflow = true, bool sound = true, bool noTileReact = false) { if (solution.TotalVolume <= 0) return null; @@ -139,11 +139,14 @@ namespace Content.Server.Fluids.Components var gridId = tileRef.GridIndex; if (!mapManager.TryGetGrid(gridId, out var mapGrid)) return null; // Let's not spill to invalid grids. - // First, do all tile reactions - foreach (var reagent in solution.Contents.ToArray()) + if (!noTileReact) { - var proto = prototypeManager.Index(reagent.ReagentId); - proto.ReactionTile(tileRef, reagent.Quantity); + // First, do all tile reactions + foreach (var reagent in solution.Contents.ToArray()) + { + var proto = prototypeManager.Index(reagent.ReagentId); + proto.ReactionTile(tileRef, reagent.Quantity); + } } // Tile reactions used up everything.