(fc63971e1) Implement disabling the enemy ai. Fix enablecrewai command.

This commit is contained in:
Joonas Rikkonen
2019-04-11 18:25:29 +03:00
parent 50317e3626
commit 21cc6001d4
2 changed files with 21 additions and 4 deletions
@@ -12,6 +12,8 @@ namespace Barotrauma
{ {
partial class EnemyAIController : AIController partial class EnemyAIController : AIController
{ {
public static bool DisableEnemyAI;
class WallTarget class WallTarget
{ {
public Vector2 Position; public Vector2 Position;
@@ -249,7 +251,7 @@ namespace Barotrauma
} }
} }
public TargetingPriority GetTargetingPriority(string targetTag) private TargetingPriority GetTargetingPriority(string targetTag)
{ {
if (targetingPriorities.TryGetValue(targetTag, out TargetingPriority priority)) if (targetingPriorities.TryGetValue(targetTag, out TargetingPriority priority))
{ {
@@ -267,6 +269,7 @@ namespace Barotrauma
public override void Update(float deltaTime) public override void Update(float deltaTime)
{ {
if (DisableEnemyAI) { return; }
bool ignorePlatforms = (-Character.AnimController.TargetMovement.Y > Math.Abs(Character.AnimController.TargetMovement.X)); bool ignorePlatforms = (-Character.AnimController.TargetMovement.Y > Math.Abs(Character.AnimController.TargetMovement.X));
if (steeringManager is IndoorsSteeringManager) if (steeringManager is IndoorsSteeringManager)
@@ -255,8 +255,10 @@ namespace Barotrauma
commands.Add(new Command("disablecrewai", "disablecrewai: Disable the AI of the NPCs in the crew.", (string[] args) => commands.Add(new Command("disablecrewai", "disablecrewai: Disable the AI of the NPCs in the crew.", (string[] args) =>
{ {
ThrowError("Karma has not been fully implemented yet, and is disabled in this version of Barotrauma."); HumanAIController.DisableCrewAI = true;
return; NewMessage("Crew AI disabled", Color.Red);
// This is probably not where it should be?
//ThrowError("Karma has not been fully implemented yet, and is disabled in this version of Barotrauma.");
/*if (GameMain.Server == null) return; /*if (GameMain.Server == null) return;
GameMain.Server.KarmaEnabled = !GameMain.Server.KarmaEnabled;*/ GameMain.Server.KarmaEnabled = !GameMain.Server.KarmaEnabled;*/
})); }));
@@ -264,7 +266,19 @@ namespace Barotrauma
commands.Add(new Command("enablecrewai", "enablecrewai: Enable the AI of the NPCs in the crew.", (string[] args) => commands.Add(new Command("enablecrewai", "enablecrewai: Enable the AI of the NPCs in the crew.", (string[] args) =>
{ {
HumanAIController.DisableCrewAI = false; HumanAIController.DisableCrewAI = false;
NewMessage("Crew AI enabled", Color.White); NewMessage("Crew AI enabled", Color.Green);
}, isCheat: true));
commands.Add(new Command("disableenemyai", "disableenemyai: Disable the AI of the Enemy characters (monsters).", (string[] args) =>
{
EnemyAIController.DisableEnemyAI = true;
NewMessage("Enemy AI disabled", Color.Red);
}, isCheat: true));
commands.Add(new Command("enableenemyai", "enableenemyai: Enable the AI of the Enemy characters (monsters).", (string[] args) =>
{
EnemyAIController.DisableEnemyAI = false;
NewMessage("Enemy AI enabled", Color.Green);
}, isCheat: true)); }, isCheat: true));
commands.Add(new Command("botcount", "botcount [x]: Set the number of bots in the crew in multiplayer.", null)); commands.Add(new Command("botcount", "botcount [x]: Set the number of bots in the crew in multiplayer.", null));