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
- CvGame::getStartEra() const
- CvGlobals::getGame()
- CvGlobals::getPolicyBranchInfo(PolicyBranchTypes)
- CvPolicyBranchEntry::GetEraPrereq() const
- CvPolicyBranchEntry::GetFirstAdopterFreePolicies() const
- CvPolicyBranchEntry::GetSecondAdopterFreePolicies() const
- PolicyHelpers::GetNumPlayersWithBranchUnlocked(PolicyBranchTypes)