瀏覽代碼

Using correct priorityTier for Clusterization

Clusterizer now uses PriorityTier = 5 for evaluation, which is used to generate priority for guarded objects
Xilmi 1 年之前
父節點
當前提交
c667ca46d1
共有 2 個文件被更改,包括 4 次插入4 次删除
  1. 2 2
      AI/Nullkiller/Analyzers/ObjectClusterizer.cpp
  2. 2 2
      AI/Nullkiller/Engine/Nullkiller.cpp

+ 2 - 2
AI/Nullkiller/Analyzers/ObjectClusterizer.cpp

@@ -467,7 +467,7 @@ void ObjectClusterizer::clusterizeObject(
 
 				heroesProcessed.insert(path.targetHero);
 
-				float priority = priorityEvaluator->evaluate(Goals::sptr(Goals::ExecuteHeroChain(path, obj)));
+				float priority = priorityEvaluator->evaluate(Goals::sptr(Goals::ExecuteHeroChain(path, obj)), 5);
 
 				if(ai->settings->isUseFuzzy() && priority < MIN_PRIORITY)
 					continue;
@@ -490,7 +490,7 @@ void ObjectClusterizer::clusterizeObject(
 
 		heroesProcessed.insert(path.targetHero);
 
-		float priority = priorityEvaluator->evaluate(Goals::sptr(Goals::ExecuteHeroChain(path, obj)));
+		float priority = priorityEvaluator->evaluate(Goals::sptr(Goals::ExecuteHeroChain(path, obj)), 5);
 
 		if (ai->settings->isUseFuzzy() && priority < MIN_PRIORITY)
 			continue;

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

@@ -180,7 +180,7 @@ Goals::TTaskVec Nullkiller::buildPlan(TGoalVec & tasks, int priorityTier) const
 			for(size_t i = r.begin(); i != r.end(); i++)
 			{
 				auto task = tasks[i];
-				if (task->asTask()->priority <= 0 || priorityTier != 3)
+				if (task->asTask()->priority <= 0 || priorityTier != 0)
 					task->asTask()->priority = evaluator->evaluate(task, priorityTier);
 			}
 		});
@@ -385,7 +385,7 @@ void Nullkiller::makeTurn()
 
 			if(bestTask->priority > 0)
 			{
-				logAi->info("Performing task %s with prio: %d", bestTask->toString(), bestTask->priority);
+				logAi->info("Pass %d: Performing task %s with prio: %d", bestTask->toString(), bestTask->priority);
 				if(!executeTask(bestTask))
 					return;