1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-06 09:09:40 +02:00

Merge pull request #5646 from MichalZr6/necromancy_fix

Fix bug when no casualties but 1 skeleton is raised
This commit is contained in:
Ivan Savenko
2025-04-27 13:37:53 +03:00
committed by GitHub

View File

@@ -969,11 +969,13 @@ CStackBasicDescriptor CGHeroInstance::calculateNecromancy (const BattleResult &b
const ui8 necromancyLevel = valOfBonuses(BonusType::IMPROVED_NECROMANCY);
vstd::amin(necromancySkill, 1.0); //it's impossible to raise more creatures than all...
const std::map<CreatureID,si32> &casualties = battleResult.casualties[CBattleInfoEssentials::otherSide(battleResult.winner)];
if(casualties.empty())
return CStackBasicDescriptor();
// figure out what to raise - pick strongest creature meeting requirements
CreatureID creatureTypeRaised = CreatureID::NONE; //now we always have IMPROVED_NECROMANCY, no need for hardcode
int requiredCasualtyLevel = 1;
TConstBonusListPtr improvedNecromancy = getBonusesOfType(BonusType::IMPROVED_NECROMANCY);
if(!improvedNecromancy->empty())
if(!improvedNecromancy->empty())
{
int maxCasualtyLevel = 1;
for(const auto & casualty : casualties)