1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-09-16 09:26:28 +02:00

Restored replacement of town building bonuses via building upgrade

This commit is contained in:
Ivan Savenko
2024-08-16 18:09:09 +00:00
parent 2f3f3c21df
commit 22a126cf2d
6 changed files with 20 additions and 27 deletions

View File

@@ -791,11 +791,22 @@ void CGTownInstance::recreateBuildingsBonuses()
for(const auto & b : bl)
removeBonus(b);
for(const auto & bid : builtBuildings)
{
// FIXME: Restore
//if(vstd::contains(overriddenBuildings, bid)) //tricky! -> checks tavern only if no bratherhood of sword
// continue;
bool bonusesReplacedByUpgrade = false;
for(const auto & upgradeID : builtBuildings)
{
const auto & upgrade = town->buildings.at(upgradeID);
if (upgrade->getBase() == bid && upgrade->upgradeReplacesBonuses)
bonusesReplacedByUpgrade = true;
}
// bonuses from this building are disabled and replaced by bonuses from an upgrade
if (bonusesReplacedByUpgrade)
continue;
auto building = town->buildings.at(bid);