1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-19 21:10:12 +02:00

Do not compute threats that are too far away to be useful

This commit is contained in:
Ivan Savenko 2025-01-08 14:38:16 +00:00
parent 9f56c00336
commit 82e8db3037
4 changed files with 9 additions and 1 deletions

View File

@ -119,7 +119,7 @@ void DangerHitMapAnalyzer::updateHitMap()
PathfinderSettings ps; PathfinderSettings ps;
ps.scoutTurnDistanceLimit = ps.mainTurnDistanceLimit = ai->settings->getMainHeroTurnDistanceLimit(); ps.scoutTurnDistanceLimit = ps.mainTurnDistanceLimit = ai->settings->getThreatTurnDistanceLimit();
ps.useHeroChain = false; ps.useHeroChain = false;
ai->pathfinder->updatePaths(pair.second, ps); ai->pathfinder->updatePaths(pair.second, ps);

View File

@ -28,6 +28,7 @@ namespace NKAI
: maxRoamingHeroes(8), : maxRoamingHeroes(8),
mainHeroTurnDistanceLimit(10), mainHeroTurnDistanceLimit(10),
scoutHeroTurnDistanceLimit(5), scoutHeroTurnDistanceLimit(5),
threatTurnDistanceLimit(5),
maxGoldPressure(0.3f), maxGoldPressure(0.3f),
retreatThresholdRelative(0.3), retreatThresholdRelative(0.3),
retreatThresholdAbsolute(10000), retreatThresholdAbsolute(10000),

View File

@ -24,6 +24,7 @@ namespace NKAI
int maxRoamingHeroes; int maxRoamingHeroes;
int mainHeroTurnDistanceLimit; int mainHeroTurnDistanceLimit;
int scoutHeroTurnDistanceLimit; int scoutHeroTurnDistanceLimit;
int threatTurnDistanceLimit;
int maxPass; int maxPass;
int maxPriorityPass; int maxPriorityPass;
int pathfinderBucketsCount; int pathfinderBucketsCount;
@ -52,6 +53,7 @@ namespace NKAI
int getMaxRoamingHeroes() const { return maxRoamingHeroes; } int getMaxRoamingHeroes() const { return maxRoamingHeroes; }
int getMainHeroTurnDistanceLimit() const { return mainHeroTurnDistanceLimit; } int getMainHeroTurnDistanceLimit() const { return mainHeroTurnDistanceLimit; }
int getScoutHeroTurnDistanceLimit() const { return scoutHeroTurnDistanceLimit; } int getScoutHeroTurnDistanceLimit() const { return scoutHeroTurnDistanceLimit; }
int getThreatTurnDistanceLimit() const { return threatTurnDistanceLimit; }
int getPathfinderBucketsCount() const { return pathfinderBucketsCount; } int getPathfinderBucketsCount() const { return pathfinderBucketsCount; }
int getPathfinderBucketSize() const { return pathfinderBucketSize; } int getPathfinderBucketSize() const { return pathfinderBucketSize; }
bool isObjectGraphAllowed() const { return allowObjectGraph; } bool isObjectGraphAllowed() const { return allowObjectGraph; }

View File

@ -38,6 +38,7 @@
"maxPriorityPass" : 10, "maxPriorityPass" : 10,
"mainHeroTurnDistanceLimit" : 10, "mainHeroTurnDistanceLimit" : 10,
"scoutHeroTurnDistanceLimit" : 5, "scoutHeroTurnDistanceLimit" : 5,
"threatTurnDistanceLimit" : 1,
"maxGoldPressure" : 0.3, "maxGoldPressure" : 0.3,
"updateHitmapOnTileReveal" : false, "updateHitmapOnTileReveal" : false,
"useTroopsFromGarrisons" : true, "useTroopsFromGarrisons" : true,
@ -58,6 +59,7 @@
"maxPriorityPass" : 10, "maxPriorityPass" : 10,
"mainHeroTurnDistanceLimit" : 10, "mainHeroTurnDistanceLimit" : 10,
"scoutHeroTurnDistanceLimit" : 5, "scoutHeroTurnDistanceLimit" : 5,
"threatTurnDistanceLimit" : 4,
"maxGoldPressure" : 0.3, "maxGoldPressure" : 0.3,
"updateHitmapOnTileReveal" : false, "updateHitmapOnTileReveal" : false,
"useTroopsFromGarrisons" : true, "useTroopsFromGarrisons" : true,
@ -78,6 +80,7 @@
"maxPriorityPass" : 10, "maxPriorityPass" : 10,
"mainHeroTurnDistanceLimit" : 10, "mainHeroTurnDistanceLimit" : 10,
"scoutHeroTurnDistanceLimit" : 5, "scoutHeroTurnDistanceLimit" : 5,
"threatTurnDistanceLimit" : 5,
"maxGoldPressure" : 0.3, "maxGoldPressure" : 0.3,
"updateHitmapOnTileReveal" : false, "updateHitmapOnTileReveal" : false,
"useTroopsFromGarrisons" : true, "useTroopsFromGarrisons" : true,
@ -98,6 +101,7 @@
"maxPriorityPass" : 10, "maxPriorityPass" : 10,
"mainHeroTurnDistanceLimit" : 10, "mainHeroTurnDistanceLimit" : 10,
"scoutHeroTurnDistanceLimit" : 5, "scoutHeroTurnDistanceLimit" : 5,
"threatTurnDistanceLimit" : 5,
"maxGoldPressure" : 0.3, "maxGoldPressure" : 0.3,
"updateHitmapOnTileReveal" : false, "updateHitmapOnTileReveal" : false,
"useTroopsFromGarrisons" : true, "useTroopsFromGarrisons" : true,
@ -118,6 +122,7 @@
"maxPriorityPass" : 10, "maxPriorityPass" : 10,
"mainHeroTurnDistanceLimit" : 10, "mainHeroTurnDistanceLimit" : 10,
"scoutHeroTurnDistanceLimit" : 5, "scoutHeroTurnDistanceLimit" : 5,
"threatTurnDistanceLimit" : 5,
"maxGoldPressure" : 0.3, "maxGoldPressure" : 0.3,
"updateHitmapOnTileReveal" : false, "updateHitmapOnTileReveal" : false,
"useTroopsFromGarrisons" : true, "useTroopsFromGarrisons" : true,