Bazaar developer reference

PolicyHelpers::GetNumFreePolicies(PolicyBranchTypes)

Defined in
CvPolicyClasses.cpp, line 4832
Hook name
CivHooks::PolicyHelpers_GetNumFreePolicies

Hooks

static bool BeforePolicyHelpers_GetNumFreePolicies(PolicyBranchTypes eBranch, int& result);static void AfterPolicyHelpers_GetNumFreePolicies(PolicyBranchTypes eBranch, int& result);static int ReplacePolicyHelpers_GetNumFreePolicies(int (*original)(PolicyBranchTypes), PolicyBranchTypes eBranch);CivRegisterBefore<CivHooks::PolicyHelpers_GetNumFreePolicies>(host, &BeforePolicyHelpers_GetNumFreePolicies);CivRegisterAfter<CivHooks::PolicyHelpers_GetNumFreePolicies>(host, &AfterPolicyHelpers_GetNumFreePolicies);CivRegisterReplace<CivHooks::PolicyHelpers_GetNumFreePolicies>(host, &ReplacePolicyHelpers_GetNumFreePolicies);

Code

4832int PolicyHelpers::GetNumFreePolicies(PolicyBranchTypes eBranch)4833{4834	int iFreePolicies = 0;48354836	CvPolicyBranchEntry *pkEntry = GC.getPolicyBranchInfo(eBranch);4837	if (pkEntry)4838	{4839		if (pkEntry->GetEraPrereq() >= GC.getGame().getStartEra())4840		{4841			int iNumPreviousUnlockers = PolicyHelpers::GetNumPlayersWithBranchUnlocked(eBranch);4842			if (iNumPreviousUnlockers == 0)4843			{4844				iFreePolicies = pkEntry->GetFirstAdopterFreePolicies();4845			}4846			else if (iNumPreviousUnlockers == 1)4847			{4848				iFreePolicies = pkEntry->GetSecondAdopterFreePolicies();4849			}4850		}4851	}48524853	return iFreePolicies;4854}

Calls

Called by