Bazaar developer reference

CvCityBuildings::GetNumBuildingsFromFaith() const

Defined in
CvBuildingClasses.cpp, line 3503
Class
CvCityBuildings
Hook name
CivHooks::CvCityBuildings_GetNumBuildingsFromFaith

Hooks

static bool BeforeCvCityBuildings_GetNumBuildingsFromFaith(const CvCityBuildings* self, int& result);static void AfterCvCityBuildings_GetNumBuildingsFromFaith(const CvCityBuildings* self, int& result);static int ReplaceCvCityBuildings_GetNumBuildingsFromFaith(int (*original)(const CvCityBuildings*), const CvCityBuildings* self);CivRegisterBefore<CivHooks::CvCityBuildings_GetNumBuildingsFromFaith>(host, &BeforeCvCityBuildings_GetNumBuildingsFromFaith);CivRegisterAfter<CivHooks::CvCityBuildings_GetNumBuildingsFromFaith>(host, &AfterCvCityBuildings_GetNumBuildingsFromFaith);CivRegisterReplace<CivHooks::CvCityBuildings_GetNumBuildingsFromFaith>(host, &ReplaceCvCityBuildings_GetNumBuildingsFromFaith);

Code

3502/// Accessor: How many buildings in this city are ones that are built through Faith?3503int CvCityBuildings::GetNumBuildingsFromFaith() const3504{3505	int iRtnValue = 0;35063507	for(int iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)3508	{3509		BuildingClassTypes eLoopBuildingClass = (BuildingClassTypes) iI;3510		CvCivilizationInfo *pkCivInfo = GC.getCivilizationInfo(m_pCity->getCivilizationType());3511		if (pkCivInfo)3512		{3513			BuildingTypes eBuilding = (BuildingTypes)pkCivInfo->getCivilizationBuildings(eLoopBuildingClass);3514			if (NO_BUILDING != eBuilding)3515			{3516				if (GetNumBuilding(eBuilding) > 0)3517				{3518					CvBuildingEntry *pkEntry = GC.getBuildingInfo(eBuilding);3519					if (pkEntry)3520					{3521						if (pkEntry->GetFaithCost() > 0 && pkEntry->IsUnlockedByBelief() && pkEntry->GetProductionCost() == -1)3522						{3523							iRtnValue++;3524						}3525					}3526				}3527			}3528		}3529	}35303531	return iRtnValue;3532}

Calls

Called by