diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Character.cs b/Barotrauma/BarotraumaClient/Source/Characters/Character.cs index 6c4c85bb8..2afdc5fba 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Character.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Character.cs @@ -284,22 +284,25 @@ namespace Barotrauma Lights.LightManager.ViewTarget = this; CharacterHUD.Update(deltaTime, this, cam); - - if (hudProgressBars.Any()) + + bool removeProgressBars = false; + + foreach (HUDProgressBar progressBar in hudProgressBars.Values) { - foreach (var progressBar in hudProgressBars) + if (progressBar.FadeTimer <= 0.0f) { - if (progressBar.Value.FadeTimer <= 0.0f) - { - progressBarRemovals.Add(progressBar); - continue; - } - progressBar.Value.Update(deltaTime); + removeProgressBars = true; + continue; } - if (progressBarRemovals.Any()) + progressBar.Update(deltaTime); + } + + if (removeProgressBars) + { + // TODO: this generates garbage, can we fix anything here? + foreach (var pb in hudProgressBars.Where(pb => pb.Value.FadeTimer <= 0.0f).ToList()) { - progressBarRemovals.ForEach(pb => hudProgressBars.Remove(pb.Key)); - progressBarRemovals.Clear(); + hudProgressBars.Remove(pb.Key); } } } diff --git a/Barotrauma/BarotraumaClient/Source/GameMain.cs b/Barotrauma/BarotraumaClient/Source/GameMain.cs index 14fe0e948..10fa40667 100644 --- a/Barotrauma/BarotraumaClient/Source/GameMain.cs +++ b/Barotrauma/BarotraumaClient/Source/GameMain.cs @@ -61,7 +61,7 @@ namespace Barotrauma if (vanillaContent == null) { // TODO: Dynamic method for defining and finding the vanilla content package. - vanillaContent = SelectedPackages.SingleOrDefault(cp => Path.GetFileName(cp.Path).ToLowerInvariant() == "vanilla 0.9.xml"); + vanillaContent = ContentPackage.List.SingleOrDefault(cp => Path.GetFileName(cp.Path).ToLowerInvariant() == "vanilla 0.9.xml"); } return vanillaContent; } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs index bad0fcffd..5be2b5d54 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs @@ -198,6 +198,7 @@ namespace Barotrauma private void FindTargetHulls() { + var idCard = character.Inventory.FindItemByIdentifier("idcard"); bool isCurrentHullOK = !HumanAIController.UnsafeHulls.Contains(character.CurrentHull) && !IsForbidden(character.CurrentHull); targetHulls.Clear();