(9fc7c8e98) Only reset when the objective is an order.

This commit is contained in:
Joonas Rikkonen
2019-05-16 05:07:07 +03:00
parent 2a0e289a59
commit 37555ed1a4
15 changed files with 175 additions and 78 deletions
@@ -1062,6 +1062,8 @@ namespace Barotrauma
private bool IsProperlyLatchedOnSub => LatchOntoAI != null && LatchOntoAI.IsAttachedToSub && SelectedAiTarget?.Entity == wallTarget?.Structure;
private bool IsProperlyLatchedOnSub => LatchOntoAI != null && LatchOntoAI.IsAttachedToSub && SelectedAiTarget?.Entity == wallTarget?.Structure;
//goes through all the AItargets, evaluates how preferable it is to attack the target,
//whether the Character can see/hear the target and chooses the most preferable target within
//sight/hearing range
@@ -79,7 +79,10 @@ namespace Barotrauma
public override void OnSelected()
{
Reset();
if (HumanAIController.ObjectiveManager.CurrentOrder == this)
{
Reset();
}
}
public override float GetPriority(AIObjectiveManager objectiveManager)
@@ -2626,6 +2626,10 @@ namespace Barotrauma
GameMain.GameSession?.CrewManager?.RemoveCharacter(this);
#endif
#if CLIENT
GameMain.GameSession?.CrewManager?.RemoveCharacter(this);
#endif
#if CLIENT
GameMain.GameSession?.CrewManager?.RemoveCharacter(this);
#endif