Просмотр исходного кода

CPathfinder: fix possible crash when using invisible teleport exit

This one is similar with FoW bug when hero was covered by FoW while one tile around wasn't.
ArseniyShestakov 10 лет назад
Родитель
Сommit
a430769b44
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      lib/CPathfinder.cpp

+ 7 - 0
lib/CPathfinder.cpp

@@ -189,6 +189,13 @@ void CPathfinder::calculatePaths()
 			dp = out.getNode(neighbour, cp->layer);
 			if(dp->locked)
 				continue;
+			/// TODO: We may consider use invisible exits on FoW border in future
+			/// Useful for AI when at least one tile around exit is visible and passable
+			/// Objects are usually visible on FoW border anyway so it's not cheating.
+			///
+			/// For now it's disabled as it's will cause crashes in movement code.
+			if(dp->accessible == CGPathNode::BLOCKED)
+				continue;
 
 			if(isBetterWay(movement, turn))
 			{