From 602f37e70cbdfabb9e9c1d41c0e6c67b3a732657 Mon Sep 17 00:00:00 2001 From: Vera Aguilera Puerto Date: Tue, 1 Dec 2020 10:39:12 +0100 Subject: [PATCH] Fix lungs having negative moles in gas mixtures --- .../Components/Body/Behavior/LungBehavior.cs | 29 +------------------ 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/Content.Server/GameObjects/Components/Body/Behavior/LungBehavior.cs b/Content.Server/GameObjects/Components/Body/Behavior/LungBehavior.cs index 6755c4d6b2..2fc8014064 100644 --- a/Content.Server/GameObjects/Components/Body/Behavior/LungBehavior.cs +++ b/Content.Server/GameObjects/Components/Body/Behavior/LungBehavior.cs @@ -76,21 +76,7 @@ namespace Content.Server.GameObjects.Components.Body.Behavior public void Transfer(GasMixture from, GasMixture to, float ratio) { - var removed = from.RemoveRatio(ratio); - var toOld = to.Gases.ToArray(); - - to.Merge(removed); - - for (var gas = 0; gas < Atmospherics.TotalNumberOfGases; gas++) - { - var newAmount = to.GetMoles(gas); - var oldAmount = toOld[gas]; - var delta = newAmount - oldAmount; - - removed.AdjustMoles(gas, -delta); - } - - from.Merge(removed); + to.Merge(from.RemoveRatio(ratio)); } public void ToBloodstream(GasMixture mixture) @@ -204,20 +190,7 @@ namespace Content.Server.GameObjects.Components.Body.Behavior bloodstream.PumpToxins(Air); var lungRemoved = Air.RemoveRatio(0.5f); - var toOld = to.Gases.ToArray(); - to.Merge(lungRemoved); - - for (var gas = 0; gas < Atmospherics.TotalNumberOfGases; gas++) - { - var newAmount = to.GetMoles(gas); - var oldAmount = toOld[gas]; - var delta = newAmount - oldAmount; - - lungRemoved.AdjustMoles(gas, -delta); - } - - Air.Merge(lungRemoved); } }