Explorar o código

AiI will ignore winning conditions that require defeating his own objects. Fixes #2174

DjWarmonger %!s(int64=10) %!d(string=hai) anos
pai
achega
f3c7774576
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      AI/VCAI/Goals.cpp

+ 6 - 0
AI/VCAI/Goals.cpp

@@ -221,6 +221,12 @@ TSubgoal Win::whatToDoToAchieve()
 			{
 				if (goal.object)
 				{
+					auto obj = cb->getObj (goal.object->id);
+					if (obj)
+						if (obj->getOwner() == ai->playerID) //we can't capture our own object
+							return sptr(Goals::Conquer());
+
+
 					return sptr (Goals::GetObj(goal.object->id.getNum()));
 				}
 				else