void CvCity::updateCorporationYield(YieldTypes eIndex)
{
int iOldYield = getCorporationYield(eIndex);
int iNewYield = 0;
for (int iI = 0; iI < GC.getNumCorporationInfos(); iI++)
{
iNewYield += getCorporationYieldByCorporation(eIndex, (CorporationTypes)iI);
}
[COLOR="Red"] // davidlallen: building bonus yield, commerce start
for (int eBldg = 0; eBldg < GC.getNumBuildingInfos(); ++eBldg)
{
if (getNumRealBuilding((BuildingTypes)eBldg) > 0)
{
int eBonus = GC.getBuildingInfo((BuildingTypes)eBldg).getBonusConsumed();
if (NO_BONUS != eBonus)
{
iNewYield += GC.getBuildingInfo((BuildingTypes)eBldg).getYieldProduced(eIndex) * getNumBonuses((BonusTypes)eBonus) / 100;
}
}
}
// davidlallen: building bonus yield, commerce end[/COLOR]
if (iOldYield != iNewYield)
{
m_aiCorporationYield[eIndex] = iNewYield;
FAssert(getCorporationYield(eIndex) >= 0);
changeBaseYieldRate(eIndex, (iNewYield - iOldYield));
}
}