mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Fix stacking of bonuses from buildings like Tavern
- Same buildings in different towns of the same faction that provide bonuses with propagators will now correctly stack their bonuses. This fixes Tavern and possibly other such buildings - Brotherhood of Sword now correctly adds bonus to thieves guild access
This commit is contained in:
@@ -754,8 +754,6 @@ void CGTownInstance::recreateBuildingsBonuses()
|
||||
for(const auto & b : bl)
|
||||
removeBonus(b);
|
||||
|
||||
|
||||
|
||||
for(const auto & bid : builtBuildings)
|
||||
{
|
||||
bool bonusesReplacedByUpgrade = false;
|
||||
@@ -777,7 +775,12 @@ void CGTownInstance::recreateBuildingsBonuses()
|
||||
continue;
|
||||
|
||||
for(auto & bonus : building->buildingBonuses)
|
||||
addNewBonus(bonus);
|
||||
{
|
||||
// Add copy of bonus to bonus system
|
||||
// Othervice, bonuses with player or global propagator will not stack if player has multiple towns of same faction
|
||||
auto bonusCopy = std::make_shared<Bonus>(*bonus);
|
||||
addNewBonus(bonusCopy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user