فهرست منبع

Experiment - do not prioritize reserved objects during wandering to prevent running back and forth.

DjWarmonger 10 سال پیش
والد
کامیت
299e9d5a0b
1فایلهای تغییر یافته به همراه2 افزوده شده و 3 حذف شده
  1. 2 3
      AI/VCAI/VCAI.cpp

+ 2 - 3
AI/VCAI/VCAI.cpp

@@ -1323,15 +1323,14 @@ void VCAI::wander(HeroPtr h)
 		validateVisitableObjs();
 		std::vector <ObjectIdRef> dests, tmp;
 
-		range::copy(reservedHeroesMap[h], std::back_inserter(tmp)); //visit our reserved objects first
+		range::copy(reservedHeroesMap[h], std::back_inserter(tmp)); //also visit our reserved objects - but they are not prioritized to avoid running back and forth
 		for (auto obj : tmp)
 		{
 			if (isAccessibleForHero (obj->visitablePos(), h)) //even nearby objects could be blocked by other heroes :(
 				dests.push_back(obj); //can't use lambda for member function :(
 		}
 
-		if (!dests.size())
-			range::copy(getPossibleDestinations(h), std::back_inserter(dests));
+		range::copy(getPossibleDestinations(h), std::back_inserter(dests));
 
 		if(!dests.size())
 		{