Bazaar developer reference

CvCityBuildings::GetThemingBonuses(YieldTypes) const

Defined in
CvBuildingClasses.cpp, line 3464
Class
CvCityBuildings
Hook name
CivHooks::CvCityBuildings_GetThemingBonuses

Hooks

static bool BeforeCvCityBuildings_GetThemingBonuses(const CvCityBuildings* self, YieldTypes eYield, int& result);static void AfterCvCityBuildings_GetThemingBonuses(const CvCityBuildings* self, YieldTypes eYield, int& result);static int ReplaceCvCityBuildings_GetThemingBonuses(int (*original)(const CvCityBuildings*, YieldTypes), const CvCityBuildings* self, YieldTypes eYield);CivRegisterBefore<CivHooks::CvCityBuildings_GetThemingBonuses>(host, &BeforeCvCityBuildings_GetThemingBonuses);CivRegisterAfter<CivHooks::CvCityBuildings_GetThemingBonuses>(host, &AfterCvCityBuildings_GetThemingBonuses);CivRegisterReplace<CivHooks::CvCityBuildings_GetThemingBonuses>(host, &ReplaceCvCityBuildings_GetThemingBonuses);

Code

3462/// Accessor: Total theming bonus from all buildings in the city3463#if defined(MOD_GLOBAL_GREATWORK_YIELDTYPES)3464int CvCityBuildings::GetThemingBonuses(YieldTypes eYield) const3465#else3466int CvCityBuildings::GetThemingBonuses() const3467#endif3468{3469	int iBonus = 0;34703471	for(int iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)3472	{3473		BuildingClassTypes eLoopBuildingClass = (BuildingClassTypes) iI;3474		CvCivilizationInfo *pkCivInfo = GC.getCivilizationInfo(m_pCity->getCivilizationType());3475		if (pkCivInfo)3476		{3477			BuildingTypes eBuilding = (BuildingTypes)pkCivInfo->getCivilizationBuildings(eLoopBuildingClass);3478			if(NO_BUILDING != eBuilding)3479			{3480				if (GetNumBuilding(eBuilding) > 0)3481				{3482#if defined(MOD_GLOBAL_GREATWORK_YIELDTYPES)3483					CvBuildingEntry *pkInfo = GC.getBuildingInfo(eBuilding);3484					if (pkInfo)3485					{3486						if (pkInfo->GetGreatWorkYieldType() == eYield)3487						{3488							iBonus += m_pCity->GetCityCulture()->GetThemingBonus(eLoopBuildingClass);3489						}3490					}3491#else3492					iBonus += m_pCity->GetCityCulture()->GetThemingBonus(eLoopBuildingClass);3493#endif3494				}3495			}3496		}3497	}34983499	return iBonus;3500}

Calls

Called by