|
@@ -13,7 +13,6 @@
|
|
|
#include "VCMI_Lib.h"
|
|
#include "VCMI_Lib.h"
|
|
|
#include "GameConstants.h"
|
|
#include "GameConstants.h"
|
|
|
#include "GameSettings.h"
|
|
#include "GameSettings.h"
|
|
|
-#include "MinimalPrimarySkill.h"
|
|
|
|
|
#include "bonuses/BonusList.h"
|
|
#include "bonuses/BonusList.h"
|
|
|
#include "bonuses/Bonus.h"
|
|
#include "bonuses/Bonus.h"
|
|
|
#include "bonuses/IBonusBearer.h"
|
|
#include "bonuses/IBonusBearer.h"
|
|
@@ -87,7 +86,7 @@ int AFactionMember::getPrimSkillLevel(PrimarySkill id) const
|
|
|
static const std::string keyAllSkills = "type_PRIMARY_SKILL";
|
|
static const std::string keyAllSkills = "type_PRIMARY_SKILL";
|
|
|
auto allSkills = getBonusBearer()->getBonuses(selectorAllSkills, keyAllSkills);
|
|
auto allSkills = getBonusBearer()->getBonuses(selectorAllSkills, keyAllSkills);
|
|
|
auto ret = allSkills->valOfBonuses(Selector::subtype()(BonusSubtypeID(id)));
|
|
auto ret = allSkills->valOfBonuses(Selector::subtype()(BonusSubtypeID(id)));
|
|
|
- auto minSkillValue = getPrimarySkillMinimum(id);
|
|
|
|
|
|
|
+ auto minSkillValue = VLC->settings()->getVector(EGameSettings::HEROES_MINIMAL_PRIMARY_SKILLS)[id.getNum()];
|
|
|
return std::max(ret, minSkillValue); //otherwise, some artifacts may cause negative skill value effect, sp=0 works in old saves
|
|
return std::max(ret, minSkillValue); //otherwise, some artifacts may cause negative skill value effect, sp=0 works in old saves
|
|
|
}
|
|
}
|
|
|
|
|
|