From 1a3da8b29f78afa1fc064e9ca21cd17eb9a3ecc3 Mon Sep 17 00:00:00 2001 From: Regalis Date: Sun, 8 May 2016 17:15:02 +0300 Subject: [PATCH] Tweaked enemy AI idle behaviour (lighter avoid steering to make the enemies less likely to "bounce" from wall to wall in tight spaces), fix for wander steering breaking if the velocity of the character is Vector2.Zero, different tooltips for suicide button in SP and MP --- Subsurface/Source/Characters/AI/EnemyAIController.cs | 4 ++-- Subsurface/Source/Characters/AI/SteeringManager.cs | 2 +- Subsurface/Source/Characters/CharacterHUD.cs | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Subsurface/Source/Characters/AI/EnemyAIController.cs b/Subsurface/Source/Characters/AI/EnemyAIController.cs index 09a1c98db..72a6796f6 100644 --- a/Subsurface/Source/Characters/AI/EnemyAIController.cs +++ b/Subsurface/Source/Characters/AI/EnemyAIController.cs @@ -157,8 +157,8 @@ namespace Barotrauma } else { - steeringManager.SteeringWander(0.8f); - steeringManager.SteeringAvoid(deltaTime, 1.0f); + steeringManager.SteeringAvoid(deltaTime, 0.1f); + steeringManager.SteeringWander(0.5f); } attackingLimb = null; diff --git a/Subsurface/Source/Characters/AI/SteeringManager.cs b/Subsurface/Source/Characters/AI/SteeringManager.cs index dcab0d911..86c21af93 100644 --- a/Subsurface/Source/Characters/AI/SteeringManager.cs +++ b/Subsurface/Source/Characters/AI/SteeringManager.cs @@ -93,7 +93,7 @@ namespace Barotrauma protected virtual Vector2 DoSteeringWander(float speed = 1.0f) { - Vector2 circleCenter = (host.Velocity == Vector2.Zero) ? new Vector2(speed, 0.0f) : host.Velocity; + Vector2 circleCenter = (host.Steering == Vector2.Zero) ? new Vector2(speed, 0.0f) : host.Steering; circleCenter = Vector2.Normalize(circleCenter) * CircleDistance; Vector2 displacement = new Vector2( diff --git a/Subsurface/Source/Characters/CharacterHUD.cs b/Subsurface/Source/Characters/CharacterHUD.cs index 16fd2bdd6..506143235 100644 --- a/Subsurface/Source/Characters/CharacterHUD.cs +++ b/Subsurface/Source/Characters/CharacterHUD.cs @@ -181,7 +181,10 @@ namespace Barotrauma suicideButton = new GUIButton( new Rectangle(new Point(GameMain.GraphicsWidth / 2 - 60, 20), new Point(120, 20)), "Give in", GUI.Style); - suicideButton.ToolTip = "Let go of your character and enter spectator mode (other players will now longer be able to revive you)"; + + suicideButton.ToolTip = GameMain.NetworkMember == null ? + "The character can no longer be revived if you give in." : + "Let go of your character and enter spectator mode (other players will now longer be able to revive you)"; suicideButton.OnClicked = (button, userData) => {