2024-02-25 12:39:19 +02:00
|
|
|
/*
|
|
|
|
* Settings.h, part of VCMI engine
|
|
|
|
*
|
|
|
|
* Authors: listed in file AUTHORS in main folder
|
|
|
|
*
|
|
|
|
* License: GNU General Public License v2.0 or later
|
|
|
|
* Full text of license available in license.txt file, in main folder
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
VCMI_LIB_NAMESPACE_BEGIN
|
|
|
|
|
|
|
|
class JsonNode;
|
|
|
|
class ResourcePath;
|
|
|
|
|
|
|
|
VCMI_LIB_NAMESPACE_END
|
|
|
|
|
|
|
|
namespace NKAI
|
|
|
|
{
|
|
|
|
class Settings
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
int maxRoamingHeroes;
|
|
|
|
int mainHeroTurnDistanceLimit;
|
|
|
|
int scoutHeroTurnDistanceLimit;
|
|
|
|
int maxpass;
|
2024-11-26 20:58:34 +02:00
|
|
|
int pathfinderBucketsCount;
|
|
|
|
int pathfinderBucketSize;
|
2024-04-16 23:10:15 +02:00
|
|
|
float maxGoldPressure;
|
2024-11-28 13:39:36 +02:00
|
|
|
float retreatThresholdRelative;
|
2024-11-28 16:44:12 +02:00
|
|
|
float retreatThresholdAbsolute;
|
2024-11-28 13:53:51 +02:00
|
|
|
float safeAttackRatio;
|
2024-11-29 17:57:23 +02:00
|
|
|
float maxArmyLossTarget;
|
2024-03-08 14:39:16 +02:00
|
|
|
bool allowObjectGraph;
|
2024-04-19 17:40:29 +02:00
|
|
|
bool useTroopsFromGarrisons;
|
2024-12-01 23:50:28 +02:00
|
|
|
bool updateHitmapOnTileReveal;
|
2024-05-19 09:04:45 +02:00
|
|
|
bool openMap;
|
2024-07-07 22:44:52 +02:00
|
|
|
bool useFuzzy;
|
2024-02-25 12:39:19 +02:00
|
|
|
|
|
|
|
public:
|
2024-11-27 23:26:06 +02:00
|
|
|
explicit Settings(int difficultyLevel);
|
2024-02-25 12:39:19 +02:00
|
|
|
|
|
|
|
int getMaxPass() const { return maxpass; }
|
2024-04-16 23:10:15 +02:00
|
|
|
float getMaxGoldPressure() const { return maxGoldPressure; }
|
2024-11-28 13:39:36 +02:00
|
|
|
float getRetreatThresholdRelative() const { return retreatThresholdRelative; }
|
2024-11-28 16:44:12 +02:00
|
|
|
float getRetreatThresholdAbsolute() const { return retreatThresholdAbsolute; }
|
2024-11-28 13:53:51 +02:00
|
|
|
float getSafeAttackRatio() const { return safeAttackRatio; }
|
2024-11-29 17:57:23 +02:00
|
|
|
float getMaxArmyLossTarget() const { return maxArmyLossTarget; }
|
2024-02-25 12:39:19 +02:00
|
|
|
int getMaxRoamingHeroes() const { return maxRoamingHeroes; }
|
|
|
|
int getMainHeroTurnDistanceLimit() const { return mainHeroTurnDistanceLimit; }
|
|
|
|
int getScoutHeroTurnDistanceLimit() const { return scoutHeroTurnDistanceLimit; }
|
2024-11-26 20:58:34 +02:00
|
|
|
int getPathfinderBucketsCount() const { return pathfinderBucketsCount; }
|
|
|
|
int getPathfinderBucketSize() const { return pathfinderBucketSize; }
|
2024-03-08 14:39:16 +02:00
|
|
|
bool isObjectGraphAllowed() const { return allowObjectGraph; }
|
2024-04-19 17:40:29 +02:00
|
|
|
bool isGarrisonTroopsUsageAllowed() const { return useTroopsFromGarrisons; }
|
2024-12-01 23:50:28 +02:00
|
|
|
bool isUpdateHitmapOnTileReveal() const { return updateHitmapOnTileReveal; }
|
2024-05-19 09:04:45 +02:00
|
|
|
bool isOpenMap() const { return openMap; }
|
2024-07-07 22:44:52 +02:00
|
|
|
bool isUseFuzzy() const { return useFuzzy; }
|
2024-02-25 12:39:19 +02:00
|
|
|
};
|
2024-04-19 17:40:29 +02:00
|
|
|
}
|