1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-17 20:58:07 +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;
ps.scoutTurnDistanceLimit = ps.mainTurnDistanceLimit = ai->settings->getMainHeroTurnDistanceLimit();
ps.scoutTurnDistanceLimit = ps.mainTurnDistanceLimit = ai->settings->getThreatTurnDistanceLimit();
ps.useHeroChain = false;
ai->pathfinder->updatePaths(pair.second, ps);

View File

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

View File

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

View File

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