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

Moved creature upgrade logic to CGObjectInstance inheritors

This commit is contained in:
Ivan Savenko
2023-06-06 19:19:30 +03:00
parent fc190b14bb
commit 2e7c382612
13 changed files with 91 additions and 50 deletions

View File

@@ -1242,5 +1242,22 @@ int GrowthInfo::totalGrowth() const
return ret;
}
void CGTownInstance::fillUpgradeInfo(UpgradeInfo & info, const CStackInstance &stack) const
{
for(const CGTownInstance::TCreaturesSet::value_type & dwelling : creatures)
{
if (vstd::contains(dwelling.second, stack.type->getId())) //Dwelling with our creature
{
for(const auto & upgrID : dwelling.second)
{
if(vstd::contains(stack.type->upgrades, upgrID)) //possible upgrade
{
info.newID.push_back(upgrID);
info.cost.push_back(upgrID.toCreature()->getFullRecruitCost() - stack.type->getFullRecruitCost());
}
}
}
}
}
VCMI_LIB_NAMESPACE_END