1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-27 22:49:25 +02:00

fixed base merging and limiter creation

This commit is contained in:
Henning Koehler
2017-09-14 19:03:25 +12:00
parent 6ae103dd63
commit 16f59fb213
3 changed files with 11 additions and 8 deletions

View File

@@ -536,14 +536,15 @@ std::vector<std::shared_ptr<Bonus>> SpecialtyInfoToBonuses(const SSpecialtyInfo
void CHeroHandler::beforeValidate(JsonNode & object)
{
//handle "base" specialty info
const JsonNode & specialtyNode = object["specialty"];
JsonNode & specialtyNode = object["specialty"];
if(specialtyNode.getType() == JsonNode::JsonType::DATA_STRUCT)
{
const JsonNode & base = specialtyNode["base"];
if(!base.isNull())
{
for(auto keyValue : specialtyNode["bonuses"].Struct())
JsonUtils::inherit(keyValue.second, base);
JsonMap & bonuses = specialtyNode["bonuses"].Struct();
for(std::pair<std::string, JsonNode> keyValue : bonuses)
JsonUtils::inherit(bonuses[keyValue.first], base);
}
}
}