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
- CvBuildingEntry::GetYieldChange(int) const
- CvCivilizationInfo::getCivilizationBuildings(int) const
- CvGame::GetGameReligions()
- CvGameReligions::GetReligion(ReligionTypes, PlayerTypes) const
- CvGlobals::getBuildingInfo(BuildingTypes)
- CvGlobals::getGame()
- CvGlobals::getNumBuildingClassInfos()
- CvPlayer::getCivilizationInfo() const
- CvPlayer::GetID() const
- CvReligionBeliefs::IsBuildingClassEnabled(BuildingClassTypes) const