Bazaar developer reference

CvPlayerPolicies::GetTenet(PolicyBranchTypes, int, int)

Defined in
CvPolicyClasses.cpp, line 4633
Class
CvPlayerPolicies
Hook name
CivHooks::CvPlayerPolicies_GetTenet

Hooks

static bool BeforeCvPlayerPolicies_GetTenet(CvPlayerPolicies* self, PolicyBranchTypes eBranch, int iLevel, int iIndex, PolicyTypes& result);static void AfterCvPlayerPolicies_GetTenet(CvPlayerPolicies* self, PolicyBranchTypes eBranch, int iLevel, int iIndex, PolicyTypes& result);static PolicyTypes ReplaceCvPlayerPolicies_GetTenet(PolicyTypes (*original)(CvPlayerPolicies*, PolicyBranchTypes, int, int), CvPlayerPolicies* self, PolicyBranchTypes eBranch, int iLevel, int iIndex);CivRegisterBefore<CivHooks::CvPlayerPolicies_GetTenet>(host, &BeforeCvPlayerPolicies_GetTenet);CivRegisterAfter<CivHooks::CvPlayerPolicies_GetTenet>(host, &AfterCvPlayerPolicies_GetTenet);CivRegisterReplace<CivHooks::CvPlayerPolicies_GetTenet>(host, &ReplaceCvPlayerPolicies_GetTenet);

Code

4632/// Get the nth tenets owned of an Ideology at a certain level4633PolicyTypes CvPlayerPolicies::GetTenet(PolicyBranchTypes eBranch, int iLevel, int iIndex)4634{4635	int iNumFound = 0;46364637	CvPolicyXMLEntries* pkPolicies = GC.GetGamePolicies();4638	const int iNumPolicies = pkPolicies->GetNumPolicies();46394640	for(int iI = 0; iI < iNumPolicies; iI++)4641	{4642		const PolicyTypes eTenet(static_cast<PolicyTypes>(iI));4643		CvPolicyEntry* pEntry = pkPolicies->GetPolicyEntry(eTenet);4644		if (pEntry && pEntry->GetPolicyBranchType() == eBranch && pEntry->GetLevel() == iLevel && HasPolicy(eTenet))4645		{4646			iNumFound++;4647			if (iNumFound == iIndex)4648			{4649				return eTenet;4650			}4651		}4652	}46534654	return NO_POLICY;4655}

Calls

Called by