Bazaar developer reference

CvReligionAI::BuyGreatPerson(UnitTypes)

Defined in
CvReligionClasses.cpp, line 6028
Class
CvReligionAI
Hook name
CivHooks::CvReligionAI_BuyGreatPerson

Hooks

static bool BeforeCvReligionAI_BuyGreatPerson(CvReligionAI* self, UnitTypes eUnit);static void AfterCvReligionAI_BuyGreatPerson(CvReligionAI* self, UnitTypes eUnit);static void ReplaceCvReligionAI_BuyGreatPerson(void (*original)(CvReligionAI*, UnitTypes), CvReligionAI* self, UnitTypes eUnit);CivRegisterBefore<CivHooks::CvReligionAI_BuyGreatPerson>(host, &BeforeCvReligionAI_BuyGreatPerson);CivRegisterAfter<CivHooks::CvReligionAI_BuyGreatPerson>(host, &AfterCvReligionAI_BuyGreatPerson);CivRegisterReplace<CivHooks::CvReligionAI_BuyGreatPerson>(host, &ReplaceCvReligionAI_BuyGreatPerson);

Code

6027/// Pick the right city to purchase a great person in6028void CvReligionAI::BuyGreatPerson(UnitTypes eUnit)6029{6030	CvPlayer &kPlayer = GET_PLAYER(m_pPlayer->GetID());6031	CvCity *pCapital = kPlayer.getCapitalCity();6032	if (pCapital)6033	{6034		int iCost = pCapital->GetFaithPurchaseCost(eUnit, true /*bIncludeBeliefDiscounts*/);6035		if (iCost <= kPlayer.GetFaith())6036		{6037			CvCity *pBestCity = CvReligionAIHelpers::GetBestCityFaithUnitPurchase(kPlayer, eUnit, NO_RELIGION);6038			if (pBestCity)6039			{6040				pBestCity->Purchase(eUnit, (BuildingTypes)-1, (ProjectTypes)-1, YIELD_FAITH);6041			}6042		}6043	}6044}

Calls

Called by