From 4f874a276b6f1dc14f28addb424adaa3958dff5f Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 13 Jul 2018 11:01:42 +0300 Subject: [PATCH] Fixed crashes caused by characters with no AI config due to missing SteeringManagers. Closes #469 --- .../Source/Characters/AI/EnemyAIController.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs index 0cbe6be2b..495add3f1 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs @@ -78,6 +78,10 @@ namespace Barotrauma public EnemyAIController(Character c, string file) : base(c) { targetMemories = new Dictionary(); + outsideSteering = new SteeringManager(this); + insideSteering = new IndoorsSteeringManager(this, false); + steeringManager = outsideSteering; + state = AIState.None; XDocument doc = XMLExtensions.TryLoadXml(file); if (doc == null || doc.Root == null) return; @@ -103,13 +107,6 @@ namespace Barotrauma fleeHealthThreshold = aiElement.GetAttributeFloat("fleehealththreshold", 0.0f); attachToWalls = aiElement.GetAttributeBool("attachtowalls", false); - - outsideSteering = new SteeringManager(this); - insideSteering = new IndoorsSteeringManager(this, false); - - steeringManager = outsideSteering; - - state = AIState.None; } public override void SelectTarget(AITarget target)