|
|
@@ -0,0 +1,144 @@
|
|
|
+{
|
|
|
+ // "maxRoamingHeroes" - AI will never recruit new heroes above this value.
|
|
|
+ // Note that AI might end up with more heroes - due to prisons or if he has large number of heroes on start
|
|
|
+ //
|
|
|
+ // "maxpass" - ???
|
|
|
+ //
|
|
|
+ // "mainHeroTurnDistanceLimit" - AI will only run pathfinding for specified number of turns for his main hero.
|
|
|
+ // "scoutHeroTurnDistanceLimit" - AI will only run pathfinding for specified number of turns for his secondary (scout) heroes
|
|
|
+ // Limiting this will make AI faster, but may result in AI being unable to discover objects outside of this range
|
|
|
+ //
|
|
|
+ // "maxGoldPressure" - ???
|
|
|
+ //
|
|
|
+ // "useTroopsFromGarrisons" - AI can take troops from garrisons on map.
|
|
|
+ // Note that at the moment AI will not deliberately seek out such garrisons, he can only take troops from them when passing through.
|
|
|
+ // This option is always disabled on H3 RoE campaign maps to be in line with H3 AI
|
|
|
+ //
|
|
|
+ // "openMap" - AI will use map reveal cheat if cheats are enabled and AI is not allied with human player
|
|
|
+ // This improves AI decision making, but may lead AI to deliberately targeting targets that he should not be able to see at the moment
|
|
|
+ //
|
|
|
+ // "allowObjectGraph" - if used, AI will build "cache" for pathfinder on first turn, which should make AI faster. Requires openMap.
|
|
|
+ //
|
|
|
+ // "pathfinderBucketsCount" - ???
|
|
|
+ // "pathfinderBucketSize" - ???
|
|
|
+ //
|
|
|
+ // "retreatThresholdRelative" - AI will consider retreating from battle only if his troops are less than specified ratio compated to enemy
|
|
|
+ // "retreatThresholdAbsolute" - AI will consider retreating from battle only if total fight value of his troops are less than specified value
|
|
|
+ //
|
|
|
+ // "maxArmyLossTarget" - AI will try keep army loss below specified target
|
|
|
+ //
|
|
|
+ // "safeAttackRatio" - TODO: figure out how exactly it affects AI decision making
|
|
|
+ //
|
|
|
+ // "useFuzzy" - allow using of fuzzy logic. TODO: better description
|
|
|
+
|
|
|
+
|
|
|
+ "pawn" : {
|
|
|
+ "maxRoamingHeroes" : 3, //H3 value: 3,
|
|
|
+ "maxPass" : 30,
|
|
|
+ "maxPriorityPass" : 10,
|
|
|
+ "mainHeroTurnDistanceLimit" : 10,
|
|
|
+ "scoutHeroTurnDistanceLimit" : 5,
|
|
|
+ "threatTurnDistanceLimit" : 1,
|
|
|
+ "maxGoldPressure" : 0.3,
|
|
|
+ "updateHitmapOnTileReveal" : true,
|
|
|
+ "useTroopsFromGarrisons" : true,
|
|
|
+ "useOneWayMonoliths" : false,
|
|
|
+ "openMap": true,
|
|
|
+ "allowObjectGraph": false,
|
|
|
+ "pathfinderBucketsCount" : 3,
|
|
|
+ "pathfinderBucketSize" : 7,
|
|
|
+ "retreatThresholdRelative" : 0,
|
|
|
+ "retreatThresholdAbsolute" : 0,
|
|
|
+ "safeAttackRatio" : 1.1,
|
|
|
+ "maxArmyLossTarget" : 0.5,
|
|
|
+ "useFuzzy" : false
|
|
|
+ },
|
|
|
+
|
|
|
+ "knight" : {
|
|
|
+ "maxRoamingHeroes" : 3, //H3 value: 3,
|
|
|
+ "maxPass" : 30,
|
|
|
+ "maxPriorityPass" : 10,
|
|
|
+ "mainHeroTurnDistanceLimit" : 10,
|
|
|
+ "scoutHeroTurnDistanceLimit" : 5,
|
|
|
+ "threatTurnDistanceLimit" : 4,
|
|
|
+ "maxGoldPressure" : 0.3,
|
|
|
+ "updateHitmapOnTileReveal" : true,
|
|
|
+ "useTroopsFromGarrisons" : true,
|
|
|
+ "useOneWayMonoliths" : false,
|
|
|
+ "openMap": true,
|
|
|
+ "allowObjectGraph": false,
|
|
|
+ "pathfinderBucketsCount" : 3,
|
|
|
+ "pathfinderBucketSize" : 7,
|
|
|
+ "retreatThresholdRelative" : 0.1,
|
|
|
+ "retreatThresholdAbsolute" : 5000,
|
|
|
+ "safeAttackRatio" : 1.1,
|
|
|
+ "maxArmyLossTarget" : 0.35,
|
|
|
+ "useFuzzy" : false
|
|
|
+ },
|
|
|
+
|
|
|
+ "rook" : {
|
|
|
+ "maxRoamingHeroes" : 4, //H3 value: 4
|
|
|
+ "maxPass" : 30,
|
|
|
+ "maxPriorityPass" : 10,
|
|
|
+ "mainHeroTurnDistanceLimit" : 10,
|
|
|
+ "scoutHeroTurnDistanceLimit" : 5,
|
|
|
+ "threatTurnDistanceLimit" : 5,
|
|
|
+ "maxGoldPressure" : 0.3,
|
|
|
+ "updateHitmapOnTileReveal" : true,
|
|
|
+ "useTroopsFromGarrisons" : true,
|
|
|
+ "useOneWayMonoliths" : false,
|
|
|
+ "openMap": true,
|
|
|
+ "allowObjectGraph": false,
|
|
|
+ "pathfinderBucketsCount" : 3,
|
|
|
+ "pathfinderBucketSize" : 7,
|
|
|
+ "retreatThresholdRelative" : 0.3,
|
|
|
+ "retreatThresholdAbsolute" : 10000,
|
|
|
+ "safeAttackRatio" : 1.1,
|
|
|
+ "maxArmyLossTarget" : 0.25,
|
|
|
+ "useFuzzy" : false
|
|
|
+ },
|
|
|
+
|
|
|
+ "queen" : {
|
|
|
+ "maxRoamingHeroes" : 6, //H3 value: 5
|
|
|
+ "maxPass" : 30,
|
|
|
+ "maxPriorityPass" : 10,
|
|
|
+ "mainHeroTurnDistanceLimit" : 10,
|
|
|
+ "scoutHeroTurnDistanceLimit" : 5,
|
|
|
+ "threatTurnDistanceLimit" : 5,
|
|
|
+ "maxGoldPressure" : 0.3,
|
|
|
+ "updateHitmapOnTileReveal" : true,
|
|
|
+ "useTroopsFromGarrisons" : true,
|
|
|
+ "useOneWayMonoliths" : false,
|
|
|
+ "openMap": true,
|
|
|
+ "allowObjectGraph": false,
|
|
|
+ "pathfinderBucketsCount" : 3,
|
|
|
+ "pathfinderBucketSize" : 7,
|
|
|
+ "retreatThresholdRelative" : 0.3,
|
|
|
+ "retreatThresholdAbsolute" : 10000,
|
|
|
+ "safeAttackRatio" : 1.1,
|
|
|
+ "maxArmyLossTarget" : 0.25,
|
|
|
+ "useFuzzy" : false
|
|
|
+ },
|
|
|
+
|
|
|
+ "king" : {
|
|
|
+ "maxRoamingHeroes" : 8, //H3 value: 6
|
|
|
+ "maxPass" : 30,
|
|
|
+ "maxPriorityPass" : 10,
|
|
|
+ "mainHeroTurnDistanceLimit" : 10,
|
|
|
+ "scoutHeroTurnDistanceLimit" : 5,
|
|
|
+ "threatTurnDistanceLimit" : 5,
|
|
|
+ "maxGoldPressure" : 0.3,
|
|
|
+ "updateHitmapOnTileReveal" : true,
|
|
|
+ "useTroopsFromGarrisons" : true,
|
|
|
+ "useOneWayMonoliths" : false,
|
|
|
+ "openMap": true,
|
|
|
+ "allowObjectGraph": false,
|
|
|
+ "pathfinderBucketsCount" : 3,
|
|
|
+ "pathfinderBucketSize" : 7,
|
|
|
+ "retreatThresholdRelative" : 0.3,
|
|
|
+ "retreatThresholdAbsolute" : 10000,
|
|
|
+ "safeAttackRatio" : 1.1,
|
|
|
+ "maxArmyLossTarget" : 0.25,
|
|
|
+ "useFuzzy" : false
|
|
|
+ }
|
|
|
+}
|