Bazaar developer reference

CvReligionAI::FaithBuildingAvailable(ReligionTypes) const

Defined in
CvReligionClasses.cpp, line 7002
Class
CvReligionAI
Hook name
CivHooks::CvReligionAI_FaithBuildingAvailable

Hooks

static bool BeforeCvReligionAI_FaithBuildingAvailable(const CvReligionAI* self, ReligionTypes eReligion, BuildingClassTypes& result);static void AfterCvReligionAI_FaithBuildingAvailable(const CvReligionAI* self, ReligionTypes eReligion, BuildingClassTypes& result);static BuildingClassTypes ReplaceCvReligionAI_FaithBuildingAvailable(BuildingClassTypes (*original)(const CvReligionAI*, ReligionTypes), const CvReligionAI* self, ReligionTypes eReligion);CivRegisterBefore<CivHooks::CvReligionAI_FaithBuildingAvailable>(host, &BeforeCvReligionAI_FaithBuildingAvailable);CivRegisterAfter<CivHooks::CvReligionAI_FaithBuildingAvailable>(host, &AfterCvReligionAI_FaithBuildingAvailable);CivRegisterReplace<CivHooks::CvReligionAI_FaithBuildingAvailable>(host, &ReplaceCvReligionAI_FaithBuildingAvailable);

Code

7001/// Do we have a belief that allows a faith generating building to be constructed?7002BuildingClassTypes CvReligionAI::FaithBuildingAvailable(ReligionTypes eReligion) const7003{7004	CvGameReligions* pReligions = GC.getGame().GetGameReligions();7005	const CvReligion* pMyReligion = pReligions->GetReligion(eReligion, m_pPlayer->GetID());70067007	if (pMyReligion)7008	{7009		for (int iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)7010		{7011			if (pMyReligion->m_Beliefs.IsBuildingClassEnabled((BuildingClassTypes)iI))7012			{7013				BuildingTypes eBuilding = (BuildingTypes)m_pPlayer->getCivilizationInfo().getCivilizationBuildings((BuildingClassTypes)iI);7014				if(eBuilding != NO_BUILDING)7015				{7016					CvBuildingEntry* pBuildingEntry = GC.getBuildingInfo(eBuilding);7017					if (pBuildingEntry && pBuildingEntry->GetYieldChange(YIELD_FAITH) > 0)7018					{7019						return (BuildingClassTypes)iI;7020					}7021				}7022			}7023		}7024	}70257026	return NO_BUILDINGCLASS;7027}

Calls

Called by