1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00

Allow using limiters in stack experience

This commit is contained in:
Ivan Savenko
2025-06-16 13:22:42 +03:00
parent 464865f20d
commit f25fdd1cd9

View File

@@ -979,7 +979,7 @@ void CCreatureHandler::loadStackExperience(CCreature * creature, const JsonNode
auto bonus = JsonUtils::parseBonus (exp["bonus"]); auto bonus = JsonUtils::parseBonus (exp["bonus"]);
bonus->source = BonusSource::STACK_EXPERIENCE; bonus->source = BonusSource::STACK_EXPERIENCE;
bonus->duration = BonusDuration::PERMANENT; bonus->duration = BonusDuration::PERMANENT;
bonus->limiter = std::make_shared<RankRangeLimiter>(RankRangeLimiter(lowerLimit)); bonus->addLimiter(std::make_shared<RankRangeLimiter>(lowerLimit));
creature->addNewBonus (bonus); creature->addNewBonus (bonus);
break; //TODO: allow bonuses to turn off? break; //TODO: allow bonuses to turn off?
} }
@@ -999,7 +999,7 @@ void CCreatureHandler::loadStackExperience(CCreature * creature, const JsonNode
auto bonus = JsonUtils::parseBonus (bonusInput); auto bonus = JsonUtils::parseBonus (bonusInput);
bonus->source = BonusSource::STACK_EXPERIENCE; bonus->source = BonusSource::STACK_EXPERIENCE;
bonus->duration = BonusDuration::PERMANENT; bonus->duration = BonusDuration::PERMANENT;
bonus->limiter.reset (new RankRangeLimiter(lowerLimit)); bonus->addLimiter(std::make_shared<RankRangeLimiter>(lowerLimit));
creature->addNewBonus (bonus); creature->addNewBonus (bonus);
} }
lastVal = static_cast<int>(val.Float()); lastVal = static_cast<int>(val.Float());