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
- CvBuildingEntry::GetGreatWorkYieldType() const
- CvCity::GetCityCulture() const
- CvCity::getCivilizationType() const
- CvCityBuildings::GetNumBuilding(BuildingTypes) const
- CvCityCulture::GetThemingBonus(BuildingClassTypes) const
- CvCivilizationInfo::getCivilizationBuildings(int) const
- CvGlobals::getBuildingInfo(BuildingTypes)
- CvGlobals::getCivilizationInfo(CivilizationTypes)
- CvGlobals::getNumBuildingClassInfos()