From ce8501adf32fe64f93e4e3c1ed2f9cf3482cb681 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 29 Mar 2019 17:25:00 +0200 Subject: [PATCH] (b05f3e3d1) Fixed: Flood check logic --- Barotrauma/BarotraumaClient/Source/GameMain.cs | 3 +-- .../GameModes/Tutorials/ContextualTutorial.cs | 10 ++++++++++ Barotrauma/BarotraumaShared/Source/Map/Hull.cs | 1 - 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/GameMain.cs b/Barotrauma/BarotraumaClient/Source/GameMain.cs index 09c332ced..d08306bd4 100644 --- a/Barotrauma/BarotraumaClient/Source/GameMain.cs +++ b/Barotrauma/BarotraumaClient/Source/GameMain.cs @@ -601,8 +601,7 @@ namespace Barotrauma { ((GUIMessageBox)GUIMessageBox.VisibleBox).Close(); } - else if ((Character.Controlled?.SelectedConstruction == null || !Character.Controlled.SelectedConstruction.ActiveHUDs.Any(ic => ic.GuiFrame != null)) - && Inventory.SelectedSlot == null && CharacterHealth.OpenHealthWindow == null) + else if ((GUI.MouseOn == null || GUI.IsMouseOn(GUI.PauseMenu)) && Inventory.SelectedSlot == null && CharacterHealth.OpenHealthWindow == null) { // Otherwise toggle pausing, unless another window/interface is open. GUI.TogglePauseMenu(); diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs index 58c578bf1..d3a33c547 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs @@ -655,6 +655,16 @@ namespace Barotrauma.Tutorials private bool IsFlooding() { + foreach (Gap gap in Gap.GapList) + { + if (gap.Submarine.IsOutpost) continue; + if (gap.ConnectedWall == null || gap.IsRoomToRoom) continue; + if (gap.ConnectedDoor != null || gap.Open <= 0.0f) continue; + if (gap.Submarine == null) continue; + if (gap.Submarine != Submarine.MainSub) continue; + return true; + } + foreach (Gap gap in Gap.GapList) { if (gap.ConnectedWall == null) continue; diff --git a/Barotrauma/BarotraumaShared/Source/Map/Hull.cs b/Barotrauma/BarotraumaShared/Source/Map/Hull.cs index b9b71de7e..010c8089e 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Hull.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Hull.cs @@ -88,7 +88,6 @@ namespace Barotrauma Gap.UpdateHulls(); } - OxygenPercentage = prevOxygenPercentage; surface = drawSurface = rect.Y - rect.Height + WaterVolume / rect.Width; Pressure = surface; }