From 7425c6db0c7fec4a3d7935406aa0ed5f6eacacea Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Thu, 18 May 2023 01:02:07 +1000 Subject: [PATCH] Vapor logs (#16505) --- .../Chemistry/EntitySystems/VaporSystem.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Content.Server/Chemistry/EntitySystems/VaporSystem.cs b/Content.Server/Chemistry/EntitySystems/VaporSystem.cs index edbaffb5a5..bd4fd29e58 100644 --- a/Content.Server/Chemistry/EntitySystems/VaporSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/VaporSystem.cs @@ -29,9 +29,12 @@ namespace Content.Server.Chemistry.EntitySystems private const float ReactTime = 0.125f; + private ISawmill _sawmill = default!; + public override void Initialize() { base.Initialize(); + _sawmill = Logger.GetSawmill("vapor"); SubscribeLocalEvent(HandleCollide); } @@ -117,8 +120,17 @@ namespace Content.Server.Chemistry.EntitySystems { if (reagentQuantity.Quantity == FixedPoint2.Zero) continue; var reagent = _protoManager.Index(reagentQuantity.ReagentId); - _solutionContainerSystem.TryRemoveReagent(vapor.Owner, contents, reagentQuantity.ReagentId, - reagent.ReactionTile(tile, (reagentQuantity.Quantity / vapor.TransferAmount) * 0.25f)); + + var reaction = + reagent.ReactionTile(tile, (reagentQuantity.Quantity / vapor.TransferAmount) * 0.25f); + + if (reaction > reagentQuantity.Quantity) + { + _sawmill.Error($"Tried to tile react more than we have for reagent {reagentQuantity.ReagentId}. Found {reaction} and we only have {reagentQuantity.Quantity}"); + reaction = reagentQuantity.Quantity; + } + + _solutionContainerSystem.TryRemoveReagent(vapor.Owner, contents, reagentQuantity.ReagentId, reaction); } } -- 2.51.2