Bazaar developer reference

CvPlayerPolicies::GetBuildingClassProductionModifier(BuildingClassTypes)

Defined in
CvPolicyClasses.cpp, line 3254
Class
CvPlayerPolicies
Hook name
CivHooks::CvPlayerPolicies_GetBuildingClassProductionModifier

Hooks

static bool BeforeCvPlayerPolicies_GetBuildingClassProductionModifier(CvPlayerPolicies* self, BuildingClassTypes eBuildingClass, int& result);static void AfterCvPlayerPolicies_GetBuildingClassProductionModifier(CvPlayerPolicies* self, BuildingClassTypes eBuildingClass, int& result);static int ReplaceCvPlayerPolicies_GetBuildingClassProductionModifier(int (*original)(CvPlayerPolicies*, BuildingClassTypes), CvPlayerPolicies* self, BuildingClassTypes eBuildingClass);CivRegisterBefore<CivHooks::CvPlayerPolicies_GetBuildingClassProductionModifier>(host, &BeforeCvPlayerPolicies_GetBuildingClassProductionModifier);CivRegisterAfter<CivHooks::CvPlayerPolicies_GetBuildingClassProductionModifier>(host, &AfterCvPlayerPolicies_GetBuildingClassProductionModifier);CivRegisterReplace<CivHooks::CvPlayerPolicies_GetBuildingClassProductionModifier>(host, &ReplaceCvPlayerPolicies_GetBuildingClassProductionModifier);

Code

3253/// Get production modifier from policies for a specific building class3254int CvPlayerPolicies::GetBuildingClassProductionModifier(BuildingClassTypes eBuildingClass)3255{3256	int rtnValue = 0;32573258	for(int i = 0; i < m_pPolicies->GetNumPolicies(); i++)3259	{3260		// Do we have this policy?3261		if(m_pabHasPolicy[i] && !IsPolicyBlocked((PolicyTypes)i))3262		{3263			rtnValue += m_pPolicies->GetPolicyEntry(i)->GetBuildingClassProductionModifier(eBuildingClass);3264		}3265	}32663267	return rtnValue;3268}

Calls

Called by