Bazaar developer reference

CvPlayerPolicies::GetNumericModifier(PolicyModifierType)

Defined in
CvPolicyClasses.cpp, line 3023
Class
CvPlayerPolicies
Hook name
CivHooks::CvPlayerPolicies_GetNumericModifier

Hooks

static bool BeforeCvPlayerPolicies_GetNumericModifier(CvPlayerPolicies* self, PolicyModifierType eType, int& result);static void AfterCvPlayerPolicies_GetNumericModifier(CvPlayerPolicies* self, PolicyModifierType eType, int& result);static int ReplaceCvPlayerPolicies_GetNumericModifier(int (*original)(CvPlayerPolicies*, PolicyModifierType), CvPlayerPolicies* self, PolicyModifierType eType);CivRegisterBefore<CivHooks::CvPlayerPolicies_GetNumericModifier>(host, &BeforeCvPlayerPolicies_GetNumericModifier);CivRegisterAfter<CivHooks::CvPlayerPolicies_GetNumericModifier>(host, &AfterCvPlayerPolicies_GetNumericModifier);CivRegisterReplace<CivHooks::CvPlayerPolicies_GetNumericModifier>(host, &ReplaceCvPlayerPolicies_GetNumericModifier);

Code

3022/// Get numeric modifier by adding up its value from all purchased policies3023int CvPlayerPolicies::GetNumericModifier(PolicyModifierType eType)3024{3025	int rtnValue = 0;30263027	int iNumPolicies = m_pPolicies->GetNumPolicies();3028	for(int i = 0; i < iNumPolicies; i++)3029	{3030		// Do we have this policy?3031		if(m_pabHasPolicy[i] && !IsPolicyBlocked((PolicyTypes)i))3032		{3033			// Yes, so add it to our counts3034			switch(eType)3035			{3036			case POLICYMOD_EXTRA_HAPPINESS:3037				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetExtraHappiness();3038				break;3039			case POLICYMOD_EXTRA_HAPPINESS_PER_CITY:3040				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetExtraHappinessPerCity();3041				break;3042			case POLICYMOD_GREAT_PERSON_RATE:3043				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGreatPeopleRateModifier();3044				break;3045			case POLICYMOD_GREAT_GENERAL_RATE:3046				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGreatGeneralRateModifier();3047				break;3048			case POLICYMOD_GREAT_ADMIRAL_RATE:3049				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGreatAdmiralRateModifier();3050				break;3051			case POLICYMOD_GREAT_WRITER_RATE:3052				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGreatWriterRateModifier();3053				break;3054			case POLICYMOD_GREAT_ARTIST_RATE:3055				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGreatArtistRateModifier();3056				break;3057			case POLICYMOD_GREAT_MUSICIAN_RATE:3058				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGreatMusicianRateModifier();3059				break;3060			case POLICYMOD_GREAT_MERCHANT_RATE:3061				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGreatMerchantRateModifier();3062				break;3063			case POLICYMOD_GREAT_SCIENTIST_RATE:3064				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGreatScientistRateModifier();3065				break;3066			case POLICYMOD_DOMESTIC_GREAT_GENERAL_RATE:3067				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetDomesticGreatGeneralRateModifier();3068				break;3069			case POLICYMOD_POLICY_COST_MODIFIER:3070				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetPolicyCostModifier();3071				break;3072			case POLICYMOD_WONDER_PRODUCTION_MODIFIER:3073				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetWonderProductionModifier();3074				break;3075			case POLICYMOD_BUILDING_PRODUCTION_MODIFIER:3076				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetBuildingProductionModifier();3077				break;3078			case POLICYMOD_FREE_EXPERIENCE:3079				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetFreeExperience();3080				break;3081			case POLICYMOD_EXTRA_CULTURE_FROM_IMPROVEMENTS:3082				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCultureImprovementChange();3083				break;3084			case POLICYMOD_CULTURE_FROM_KILLS:3085				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCultureFromKills();3086				break;3087			case POLICYMOD_EMBARKED_EXTRA_MOVES:3088				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetEmbarkedExtraMoves();3089				break;3090			case POLICYMOD_CULTURE_FROM_BARBARIAN_KILLS:3091				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCultureFromBarbarianKills();3092				break;3093			case POLICYMOD_GOLD_FROM_KILLS:3094				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetGoldFromKills();3095				break;3096			case POLICYMOD_CULTURE_FROM_GARRISON:3097				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCulturePerGarrisonedUnit();3098				break;3099			case POLICYMOD_UNIT_FREQUENCY_MODIFIER:3100				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCityStateUnitFrequencyModifier();3101				break;3102			case POLICYMOD_TOURISM_MOD_COMMON_FOE:3103				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCommonFoeTourismModifier();3104				break;3105			case POLICYMOD_TOURISM_MOD_LESS_HAPPY:3106				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetLessHappyTourismModifier();3107				break;3108			case POLICYMOD_TOURISM_MOD_SHARED_IDEOLOGY:3109				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetSharedIdeologyTourismModifier();3110				break;3111			case POLICYMOD_TRADE_MISSION_GOLD_MODIFIER:3112				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetTradeMissionGoldModifier();3113				break;3114			case POLICYMOD_FAITH_COST_MODIFIER:3115				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetFaithCostModifier();3116				break;3117			case POLICYMOD_CULTURAL_PLUNDER_MULTIPLIER:3118				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCulturalPlunderMultiplier();3119				break;3120			case POLICYMOD_STEAL_TECH_SLOWER_MODIFIER:3121				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetStealTechSlowerModifier();3122				break;3123			case POLICYMOD_STEAL_TECH_FASTER_MODIFIER:3124				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetStealTechFasterModifier();3125				break;3126			case POLICYMOD_CATCH_SPIES_MODIFIER:3127				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCatchSpiesModifier();3128				break;3129			case POLICYMOD_BUILDING_PURCHASE_COST_MODIFIER:3130				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetBuildingPurchaseCostModifier();3131				break;3132			case POLICYMOD_LAND_TRADE_GOLD_CHANGE:3133				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetLandTradeRouteGoldChange();3134				break;3135			case POLICYMOD_SEA_TRADE_GOLD_CHANGE:3136				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetSeaTradeRouteGoldChange();3137				break;3138			case POLICYMOD_SHARED_IDEOLOGY_TRADE_CHANGE:3139				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetSharedIdeologyTradeGoldChange();3140				break;3141			case POLICYMOD_RIGGING_ELECTION_MODIFIER:3142				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetRiggingElectionModifier();3143				break;3144			case POLICYMOD_MILITARY_UNIT_GIFT_INFLUENCE:3145				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetMilitaryUnitGiftExtraInfluence();3146				break;3147			case POLICYMOD_PROTECTED_MINOR_INFLUENCE:3148				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetProtectedMinorPerTurnInfluence();3149				break;3150			case POLICYMOD_AFRAID_INFLUENCE:3151				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetAfraidMinorPerTurnInfluence();3152				break;3153			case POLICYMOD_MINOR_BULLY_SCORE_MODIFIER:3154				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetMinorBullyScoreModifier();3155				break;3156			case POLICYMOD_THEMING_BONUS:3157				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetThemingBonusMultiplier();3158				break;3159			case POLICYMOD_CITY_STATE_TRADE_CHANGE:3160				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetCityStateTradeChange();3161				break;3162			case POLICYMOD_INTERNAL_TRADE_MODIFIER:3163				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetInternalTradeRouteYieldModifier();3164				break;3165			case POLICYMOD_SHARED_RELIGION_TOURISM_MODIFIER:3166				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetSharedReligionTourismModifier();3167				break;3168			case POLICYMOD_TRADE_ROUTE_TOURISM_MODIFIER:3169				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetTradeRouteTourismModifier();3170				break;3171			case POLICYMOD_OPEN_BORDERS_TOURISM_MODIFIER:3172				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetOpenBordersTourismModifier();3173#if defined(MOD_RELIGION_CONVERSION_MODIFIERS)3174			case POLICYMOD_CONVERSION_MODIFIER:3175				rtnValue += m_pPolicies->GetPolicyEntry(i)->GetConversionModifier();3176				break;3177#endif3178			}3179		}3180	}31813182	return rtnValue;3183}

Calls

Called by

42 functions in 10 files