浏览代码

AI: fix freeze when AI has a win condition to control own town

Andrii Danylchenko 7 年之前
父节点
当前提交
9a0b5a0afc
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11 1
      AI/VCAI/Goals.cpp

+ 11 - 1
AI/VCAI/Goals.cpp

@@ -422,7 +422,17 @@ TSubgoal Win::whatToDoToAchieve()
 		{
 			if(goal.object)
 			{
-				return sptr(Goals::VisitObj(goal.object->id.getNum()));
+				auto objRelations = cb->getPlayerRelations(ai->playerID, goal.object->tempOwner);
+				
+				if(objRelations == PlayerRelations::ENEMIES)
+				{
+					return sptr(Goals::VisitObj(goal.object->id.getNum()));
+				}
+				else
+				{
+					// TODO: Defance
+					break;
+				}
 			}
 			else
 			{