diff --git a/AI/Nullkiller/Engine/PriorityEvaluator.cpp b/AI/Nullkiller/Engine/PriorityEvaluator.cpp index 8b6246eb9..07f26f55a 100644 --- a/AI/Nullkiller/Engine/PriorityEvaluator.cpp +++ b/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; diff --git a/AI/Nullkiller/Engine/PriorityEvaluator.h b/AI/Nullkiller/Engine/PriorityEvaluator.h index 15d06ef05..c04e2477d 100644 --- a/AI/Nullkiller/Engine/PriorityEvaluator.h +++ b/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);