Ver Fonte

Exploration

Slightly adjust the value of exploring within the hunter-gather-prirority.
Xilmi há 1 ano atrás
pai
commit
df119370c7

+ 5 - 2
AI/Nullkiller/Engine/PriorityEvaluator.cpp

@@ -62,7 +62,8 @@ EvaluationContext::EvaluationContext(const Nullkiller* ai)
 	threatTurns(INT_MAX),
 	involvesSailing(false),
 	isTradeBuilding(false),
-	isExchange(false)
+	isExchange(false),
+	isExplore(false)
 {
 }
 
@@ -930,6 +931,7 @@ public:
 		int tilesDiscovered = task->value;
 
 		evaluationContext.addNonCriticalStrategicalValue(0.03f * tilesDiscovered);
+		evaluationContext.isExplore = true;
 	}
 };
 
@@ -1444,7 +1446,8 @@ float PriorityEvaluator::evaluate(Goals::TSubgoal task, int priorityTier)
 				score -= evaluationContext.armyInvolvement * evaluationContext.armyLossPersentage;
 				if (score > 0)
 				{
-					score = 1000;
+					if(!evaluationContext.isExplore)
+						score = 1000;
 					score *= evaluationContext.closestWayRatio;
 					if (evaluationContext.enemyHeroDangerRatio > 1)
 						score /= evaluationContext.enemyHeroDangerRatio;

+ 1 - 0
AI/Nullkiller/Engine/PriorityEvaluator.h

@@ -80,6 +80,7 @@ struct DLL_EXPORT EvaluationContext
 	bool involvesSailing;
 	bool isTradeBuilding;
 	bool isExchange;
+	bool isExplore;
 
 	EvaluationContext(const Nullkiller * ai);