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
- CvGlobals::GetEngineUserInterface()
- CvHandicapInfo::getHappinessDefault() const
- CvPlayer::DoUpdateCityConnectionHappiness()
- CvPlayer::getHandicapInfo() const
- CvPlayer::GetHappinessFromBuildings() const
- CvPlayer::GetHappinessFromCities() const
- CvPlayer::GetHappinessFromLeagues() const
- CvPlayer::GetHappinessFromMinorCivs() const
- CvPlayer::GetHappinessFromNaturalWonders() const
- CvPlayer::GetHappinessFromPolicies() const
- CvPlayer::GetHappinessFromReligion()
- CvPlayer::GetHappinessFromResources() const
- CvPlayer::GetHappinessFromTradeRoutes() const
- CvPlayer::getNumCities() const
FAutoVariable::operator const int &FAutoVariable::operator+=FAutoVariable::operator=ICvUserInterface1::setDirty
Called by
- CvCity::DoAnnex()
- CvCity::DoCreatePuppet()
- CvCity::PostKill(bool, CvPlot *, PlayerTypes)
- CvCity::init(int, PlayerTypes, int, int, bool, bool, ReligionTypes, const char *)
- CvCity::processBuilding(BuildingTypes, int, bool, bool, bool)
- CvCity::setPopulation(int, bool)
- CvDllNetMessageHandler::ResponseUpdatePolicies(PlayerTypes, bool, int, bool)
- CvMinorCivAI::DoMajorCivEraChange(PlayerTypes, EraTypes)
- CvMinorCivAI::DoSetBonus(PlayerTypes, bool, bool, bool, bool, bool, PlayerTypes)
- CvPlayer::UpdateReligion()
- CvPlayer::changeResourceExport(ResourceTypes, int)
- CvPlayer::changeResourceFromMinors(ResourceTypes, int)
- CvPlayer::changeResourceImport(ResourceTypes, int)
- CvPlayer::changeResourceSiphoned(ResourceTypes, int)
- CvPlayer::initFreeState(CvGameInitialItemsOverrides &)
- CvPlayer::processPolicies(PolicyTypes, int)
- CvPlayer::raze(CvCity *)
- CvPlayer::setTurnActive(bool, bool)
- CvPlot::setImprovementType(ImprovementTypes, PlayerTypes)
- CvPlot::setOwner(PlayerTypes, int, bool, bool)
- CvPlot::setRevealed(TeamTypes, bool, CvUnit *, bool, TeamTypes)
- CvTeam::setHasTech(TechTypes, bool, PlayerTypes, bool, bool)
- CvUnit::setXY(int, int, bool, bool, bool, bool, bool)
- CvLeague::CheckResolutionsValid()
- CvLeague::DoEnactResolution(CvEnactProposal *)
- CvLeague::DoProjectReward(PlayerTypes, LeagueProjectTypes, ContributionTier)
- CvLeague::DoRepealResolution(CvRepealProposal *)
- CvWorldBuilderMapLoader::SetInitialItems(bool)