mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-06 09:09:40 +02:00
Rewardable town buildings prototype
This commit is contained in:
@@ -365,7 +365,7 @@ bool CGTownInstance::isBonusingBuildingAdded(BuildingID::EBuildingID bid) const
|
||||
return present != bonusingBuildings.end();
|
||||
}
|
||||
|
||||
void CGTownInstance::addTownBonuses()
|
||||
void CGTownInstance::addTownBonuses(CRandomGenerator & rand)
|
||||
{
|
||||
for(const auto & kvp : town->buildings)
|
||||
{
|
||||
@@ -377,6 +377,13 @@ void CGTownInstance::addTownBonuses()
|
||||
|
||||
if(kvp.second->IsWeekBonus())
|
||||
bonusingBuildings.push_back(new COPWBonus(kvp.second->bid, kvp.second->subId, this));
|
||||
|
||||
if(kvp.second->subId == BuildingSubID::CONFIGURABLE_REWARD)
|
||||
{
|
||||
auto * newBuilding = new CTownRewardableBuilding(this);
|
||||
kvp.second->rewardableObjectInfo.configureObject(newBuilding->configuration(), rand);
|
||||
bonusingBuildings.push_back(newBuilding);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -465,7 +472,7 @@ void CGTownInstance::initObj(CRandomGenerator & rand) ///initialize town structu
|
||||
}
|
||||
}
|
||||
initOverriddenBids();
|
||||
addTownBonuses(); //add special bonuses from buildings to the bonusingBuildings vector.
|
||||
addTownBonuses(rand); //add special bonuses from buildings to the bonusingBuildings vector.
|
||||
recreateBuildingsBonuses();
|
||||
updateAppearance();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user