From 46f5bd5b15afe04474f807366803942fc476fc26 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 26 Apr 2019 11:25:41 +0300 Subject: [PATCH] (99a5e8cf8) Fix bots not using the ladders when swimming on the water surface. + merge fix --- .../GameModes/SinglePlayerCampaign.cs | 19 ------------------- .../Characters/AI/IndoorsSteeringManager.cs | 8 +++++--- .../BarotraumaShared/Source/Map/Submarine.cs | 2 +- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs index ed7b01f1b..2fd770e74 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs @@ -9,8 +9,6 @@ namespace Barotrauma { class SinglePlayerCampaign : CampaignMode { - public ContextualTutorial ContextualTutorial; - private GUIButton endRoundButton; private bool crewDead; @@ -41,13 +39,6 @@ namespace Barotrauma CrewManager.AddCharacterInfo(new CharacterInfo(Character.HumanConfigFile, "", jobPrefab)); } } - - ContextualTutorial = Tutorial.Tutorials.Find(t => t is ContextualTutorial) as ContextualTutorial; - - if (ContextualTutorial.Selected) // Selected when starting a new game -> initialize - { - ContextualTutorial.Initialize(); - } } public override void Start() @@ -157,11 +148,6 @@ namespace Barotrauma base.AddToGUIUpdateList(); CrewManager.AddToGUIUpdateList(); endRoundButton.AddToGUIUpdateList(); - - if (ContextualTutorial.Initialized) - { - ContextualTutorial.AddToGUIUpdateList(); - } } public override void Update(float deltaTime) @@ -306,7 +292,6 @@ namespace Barotrauma TextManager.Get("QuitButton")); quitButton.OnClicked += GameMain.LobbyScreen.QuitToMainMenu; quitButton.OnClicked += (GUIButton button, object obj) => { GUIMessageBox.MessageBoxes.Remove(GUIMessageBox.VisibleBox); return true; }; - quitButton.OnClicked += (GUIButton button, object obj) => { if (ContextualTutorial.Initialized) ContextualTutorial.Stop(); return true; }; } } @@ -391,10 +376,6 @@ namespace Barotrauma case "map": campaign.map = Map.LoadNew(subElement); break; - case "contextualtutorial": - campaign.ContextualTutorial.Initialize(); // Initialize when saved element found - campaign.ContextualTutorial.LoadPartiallyComplete(subElement); - break; } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/IndoorsSteeringManager.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/IndoorsSteeringManager.cs index e264c0f05..277a8b54c 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/IndoorsSteeringManager.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/IndoorsSteeringManager.cs @@ -223,8 +223,10 @@ namespace Barotrauma } } + bool isDiving = character.AnimController.InWater && character.AnimController.HeadInWater; + //only humanoids can climb ladders - if (!character.AnimController.InWater && character.AnimController is HumanoidAnimController && IsNextLadderSameAsCurrent) + if (!isDiving && character.AnimController is HumanoidAnimController && IsNextLadderSameAsCurrent) { if (character.SelectedConstruction != currentPath.CurrentNode.Ladders.Item && currentPath.CurrentNode.Ladders.Item.IsInsideTrigger(character.WorldPosition)) @@ -234,7 +236,7 @@ namespace Barotrauma } var collider = character.AnimController.Collider; - if (character.IsClimbing && !character.AnimController.InWater) + if (character.IsClimbing && !isDiving) { Vector2 diff = currentPath.CurrentNode.SimPosition - pos; bool nextLadderSameAsCurrent = IsNextLadderSameAsCurrent; @@ -279,7 +281,7 @@ namespace Barotrauma else if (character.AnimController.InWater) { // If the character is underwater, we don't need the ladders anymore - if (character.IsClimbing) + if (character.IsClimbing && isDiving) { character.AnimController.Anim = AnimController.Animation.None; character.SelectedConstruction = null; diff --git a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs index b686f5dac..b0f952b1e 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs @@ -1432,7 +1432,7 @@ namespace Barotrauma doc.Root.Add(new XAttribute("md5hash", hash.Hash)); if (previewImage != null) { - //doc.Root.Add(new XAttribute("previewimage", Convert.ToBase64String(previewImage.ToArray()))); + doc.Root.Add(new XAttribute("previewimage", Convert.ToBase64String(previewImage.ToArray()))); } try