From 12f98268b5c7b5dc4c239820add65782579ba2e8 Mon Sep 17 00:00:00 2001 From: Regalis Date: Thu, 24 Nov 2016 19:17:49 +0200 Subject: [PATCH] Increased character visibility range (how far monsters can see characters from), enemies manually steer towards their target if their steering path is finished or unreachable, mantis tweaking --- Subsurface/Content/Characters/Mantis/mantis.xml | 6 +++--- Subsurface/Source/Characters/AI/EnemyAIController.cs | 10 ++++++++++ Subsurface/Source/Characters/Character.cs | 4 +--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Subsurface/Content/Characters/Mantis/mantis.xml b/Subsurface/Content/Characters/Mantis/mantis.xml index cfcd6f781..669325144 100644 --- a/Subsurface/Content/Characters/Mantis/mantis.xml +++ b/Subsurface/Content/Characters/Mantis/mantis.xml @@ -9,7 +9,7 @@ - + @@ -89,6 +89,6 @@ + attackcooldown="1.0"/> diff --git a/Subsurface/Source/Characters/AI/EnemyAIController.cs b/Subsurface/Source/Characters/AI/EnemyAIController.cs index a470aafcb..21ad55bf9 100644 --- a/Subsurface/Source/Characters/AI/EnemyAIController.cs +++ b/Subsurface/Source/Characters/AI/EnemyAIController.cs @@ -251,6 +251,16 @@ namespace Barotrauma if (attackLimb != null) { steeringManager.SteeringSeek(attackSimPosition - (attackLimb.SimPosition - SimPosition)); + + if (steeringManager is IndoorsSteeringManager) + { + var indoorsSteering = (IndoorsSteeringManager)steeringManager; + if (indoorsSteering.CurrentPath!=null && (indoorsSteering.CurrentPath.Finished || indoorsSteering.CurrentPath.Unreachable)) + { + steeringManager.SteeringManual(deltaTime, attackSimPosition - attackLimb.SimPosition); + } + } + if (attackingLimb != null) UpdateLimbAttack(deltaTime, attackingLimb, attackSimPosition); } } diff --git a/Subsurface/Source/Characters/Character.cs b/Subsurface/Source/Characters/Character.cs index 895f9933d..1b5dd2d71 100644 --- a/Subsurface/Source/Characters/Character.cs +++ b/Subsurface/Source/Characters/Character.cs @@ -1357,9 +1357,7 @@ namespace Barotrauma { if (aiTarget == null) return; - aiTarget.SightRange = 0.0f; - - aiTarget.SightRange = Mass*10.0f + AnimController.Collider.LinearVelocity.Length()*500.0f; + aiTarget.SightRange = Mass*100.0f + AnimController.Collider.LinearVelocity.Length()*500.0f; } public void ShowSpeechBubble(float duration, Color color)