瀏覽代碼

NKAI: rollback changes with removing scan depth

Andrii Danylchenko 1 年之前
父節點
當前提交
5f8a157c6d
共有 2 個文件被更改,包括 14 次插入2 次删除
  1. 2 2
      AI/Nullkiller/Analyzers/DangerHitMapAnalyzer.cpp
  2. 12 0
      AI/Nullkiller/Engine/Nullkiller.h

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

@@ -75,7 +75,7 @@ void DangerHitMapAnalyzer::updateHitMap()
 
 		PathfinderSettings ps;
 
-		ps.scoutTurnDistanceLimit = ps.mainTurnDistanceLimit = MAIN_TURN_DISTANCE_LIMIT;
+		ps.scoutTurnDistanceLimit = ps.mainTurnDistanceLimit = ai->settings->getMainHeroTurnDistanceLimit();
 		ps.useHeroChain = false;
 
 		ai->pathfinder->updatePaths(pair.second, ps);
@@ -189,7 +189,7 @@ void DangerHitMapAnalyzer::calculateTileOwners()
 	}
 
 	PathfinderSettings ps;
-	ps.mainTurnDistanceLimit = ps.scoutTurnDistanceLimit = MAIN_TURN_DISTANCE_LIMIT;
+	ps.mainTurnDistanceLimit = ps.scoutTurnDistanceLimit = ai->settings->getMainHeroTurnDistanceLimit();
 
 	ai->pathfinder->updatePaths(townHeroes, ps);
 

+ 12 - 0
AI/Nullkiller/Engine/Nullkiller.h

@@ -25,6 +25,7 @@ namespace NKAI
 {
 
 const float MIN_PRIORITY = 0.01f;
+const float SMALL_SCAN_MIN_PRIORITY = 0.4f;
 
 enum class HeroLockedReason
 {
@@ -37,6 +38,15 @@ enum class HeroLockedReason
 	HERO_CHAIN = 3
 };
 
+enum class ScanDepth
+{
+	MAIN_FULL = 0,
+
+	SMALL = 1,
+
+	ALL_FULL = 2
+};
+
 class Nullkiller
 {
 private:
@@ -44,6 +54,7 @@ private:
 	int3 targetTile;
 	ObjectInstanceID targetObject;
 	std::map<const CGHeroInstance *, HeroLockedReason> lockedHeroes;
+	ScanDepth scanDepth;
 	TResources lockedResources;
 	bool useHeroChain;
 
@@ -85,6 +96,7 @@ public:
 	int32_t getFreeGold() const { return getFreeResources()[EGameResID::GOLD]; }
 	void lockResources(const TResources & res);
 	const TResources & getLockedResources() const { return lockedResources; }
+	ScanDepth getScanDepth() const { return scanDepth; }
 
 private:
 	void resetAiState();