Bazaar developer reference

CvPlayer::GetHappinessFromPolicies() const

Defined in
CvPlayer.cpp, line 12026
Class
CvPlayer
Hook name
CivHooks::CvPlayer_GetHappinessFromPolicies

Hooks

static bool BeforeCvPlayer_GetHappinessFromPolicies(const CvPlayer* self, int& result);static void AfterCvPlayer_GetHappinessFromPolicies(const CvPlayer* self, int& result);static int ReplaceCvPlayer_GetHappinessFromPolicies(int (*original)(const CvPlayer*), const CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_GetHappinessFromPolicies>(host, &BeforeCvPlayer_GetHappinessFromPolicies);CivRegisterAfter<CivHooks::CvPlayer_GetHappinessFromPolicies>(host, &AfterCvPlayer_GetHappinessFromPolicies);CivRegisterReplace<CivHooks::CvPlayer_GetHappinessFromPolicies>(host, &ReplaceCvPlayer_GetHappinessFromPolicies);

Code

12025/// Returns the amount of Happiness being added by Policies12026int CvPlayer::GetHappinessFromPolicies() const12027{12028	int iHappiness = m_pPlayerPolicies->GetNumericModifier(POLICYMOD_EXTRA_HAPPINESS);12029	iHappiness += (getNumCities() * m_pPlayerPolicies->GetNumericModifier(POLICYMOD_EXTRA_HAPPINESS_PER_CITY));1203012031	int iHappinessPerXPopulation;12032	iHappinessPerXPopulation = GetHappinessPerXPopulation();1203312034	if(iHappinessPerXPopulation > 0)12035	{12036		const CvCity* pLoopCity;12037		int iLoop;12038		for(pLoopCity = firstCity(&iLoop); pLoopCity != NULL; pLoopCity = nextCity(&iLoop))12039		{12040			if(pLoopCity && !pLoopCity->IsPuppet())12041			{12042				int iExtraHappiness = pLoopCity->getPopulation() / iHappinessPerXPopulation;1204312044				iHappiness += iExtraHappiness;12045			}12046		}12047	}1204812049	return iHappiness;12050}

Calls

Called by