Bazaar developer reference

CvPlayer::DoUpdateHappiness()

Defined in
CvPlayer.cpp, line 11452
Class
CvPlayer
Hook name
CivHooks::CvPlayer_DoUpdateHappiness

Hooks

static bool BeforeCvPlayer_DoUpdateHappiness(CvPlayer* self);static void AfterCvPlayer_DoUpdateHappiness(CvPlayer* self);static void ReplaceCvPlayer_DoUpdateHappiness(void (*original)(CvPlayer*), CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_DoUpdateHappiness>(host, &BeforeCvPlayer_DoUpdateHappiness);CivRegisterAfter<CivHooks::CvPlayer_DoUpdateHappiness>(host, &AfterCvPlayer_DoUpdateHappiness);CivRegisterReplace<CivHooks::CvPlayer_DoUpdateHappiness>(host, &ReplaceCvPlayer_DoUpdateHappiness);

Code

11451/// Updates how much Happiness we have11452void CvPlayer::DoUpdateHappiness()11453{11454	// Start level11455	m_iHappiness = getHandicapInfo().getHappinessDefault();1145611457	// Increase from Luxury Resources11458	int iNumHappinessFromResources = GetHappinessFromResources();11459	m_iHappiness += iNumHappinessFromResources;1146011461	// Increase from Local City Happiness11462	m_iHappiness += GetHappinessFromCities();1146311464	// Increase from buildings11465	m_iHappiness += GetHappinessFromBuildings();1146611467	// Increase from policies11468	m_iHappiness += GetHappinessFromPolicies();1146911470	// Increase from num cities (player based, for buildings and such)11471	m_iHappiness += getNumCities() * m_iHappinessPerCity;1147211473	// Increase from Religion11474	m_iHappiness += GetHappinessFromReligion();1147511476	// Increase from Natural Wonders11477	m_iHappiness += GetHappinessFromNaturalWonders();1147811479	// Friendship with Minors can provide Happiness11480	m_iHappiness += GetHappinessFromMinorCivs();1148111482	// Increase from Leagues11483	m_iHappiness += GetHappinessFromLeagues();1148411485	// Increase for each City connected to Capital with a Trade Route11486	DoUpdateCityConnectionHappiness();11487	m_iHappiness += GetHappinessFromTradeRoutes();1148811489#if !defined(NO_ACHIEVEMENTS)11490	if(isLocalPlayer() && GetExcessHappiness() >= 100)11491	{11492		gDLL->UnlockAchievement(ACHIEVEMENT_XP2_45);11493	}11494#endif1149511496	GC.GetEngineUserInterface()->setDirty(GameData_DIRTY_BIT, true);11497}

Calls

Called by