diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.cs index 1392da58b8..fccce2e65f 100644 --- a/Content.Server/NPC/Pathfinding/PathfindingSystem.cs +++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.cs @@ -93,16 +93,24 @@ namespace Content.Server.NPC.Pathfinding var request = _pathRequests[i]; - switch (request) + try { - case AStarPathRequest astar: - results[i] = UpdateAStarPath(astar); - break; - case BFSPathRequest bfs: - results[i] = UpdateBFSPath(_random, bfs); - break; - default: - throw new NotImplementedException(); + switch (request) + { + case AStarPathRequest astar: + results[i] = UpdateAStarPath(astar); + break; + case BFSPathRequest bfs: + results[i] = UpdateBFSPath(_random, bfs); + break; + default: + throw new NotImplementedException(); + } + } + catch (Exception) + { + results[i] = PathResult.NoPath; + throw; } }); @@ -123,6 +131,7 @@ namespace Content.Server.NPC.Pathfinding switch (result) { case PathResult.Continuing: + DebugTools.Assert(path.Frontier.Count > 0); break; case PathResult.PartialPath: case PathResult.Path: