Bazaar developer reference

CvReligionAI::BuyFaithBuilding(ReligionTypes, BuildingClassTypes)

Defined in
CvReligionClasses.cpp, line 6047
Class
CvReligionAI
Hook name
CivHooks::CvReligionAI_BuyFaithBuilding

Hooks

static bool BeforeCvReligionAI_BuyFaithBuilding(CvReligionAI* self, ReligionTypes eReligion, BuildingClassTypes eBuildingClass);static void AfterCvReligionAI_BuyFaithBuilding(CvReligionAI* self, ReligionTypes eReligion, BuildingClassTypes eBuildingClass);static void ReplaceCvReligionAI_BuyFaithBuilding(void (*original)(CvReligionAI*, ReligionTypes, BuildingClassTypes), CvReligionAI* self, ReligionTypes eReligion, BuildingClassTypes eBuildingClass);CivRegisterBefore<CivHooks::CvReligionAI_BuyFaithBuilding>(host, &BeforeCvReligionAI_BuyFaithBuilding);CivRegisterAfter<CivHooks::CvReligionAI_BuyFaithBuilding>(host, &AfterCvReligionAI_BuyFaithBuilding);CivRegisterReplace<CivHooks::CvReligionAI_BuyFaithBuilding>(host, &ReplaceCvReligionAI_BuyFaithBuilding);

Code

6046/// Pick the right city to purchase a faith building in6047void CvReligionAI::BuyFaithBuilding(ReligionTypes eReligion, BuildingClassTypes eBuildingClass)6048{6049	CvPlayer &kPlayer = GET_PLAYER(m_pPlayer->GetID());6050	BuildingTypes eBuilding = (BuildingTypes)m_pPlayer->getCivilizationInfo().getCivilizationBuildings(eBuildingClass);6051	CvCity *pCapital = kPlayer.getCapitalCity();6052	if (pCapital)6053	{6054		int iCost = pCapital->GetFaithPurchaseCost(eBuilding);6055		if (iCost <= kPlayer.GetFaith())6056		{6057			CvCity *pBestCity = CvReligionAIHelpers::GetBestCityFaithBuildingPurchase(kPlayer, eBuilding, eReligion);6058			if (pBestCity)6059			{6060				pBestCity->Purchase((UnitTypes)-1, eBuilding, (ProjectTypes)-1, YIELD_FAITH);6061			}6062		}6063	}6064}

Calls

Called by