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}