Bazaar developer reference

CvPlayer::GetHappinessFromResources() const

Defined in
CvPlayer.cpp, line 12167
Class
CvPlayer
Hook name
CivHooks::CvPlayer_GetHappinessFromResources

Hooks

static bool BeforeCvPlayer_GetHappinessFromResources(const CvPlayer* self, int& result);static void AfterCvPlayer_GetHappinessFromResources(const CvPlayer* self, int& result);static int ReplaceCvPlayer_GetHappinessFromResources(int (*original)(const CvPlayer*), const CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_GetHappinessFromResources>(host, &BeforeCvPlayer_GetHappinessFromResources);CivRegisterAfter<CivHooks::CvPlayer_GetHappinessFromResources>(host, &AfterCvPlayer_GetHappinessFromResources);CivRegisterReplace<CivHooks::CvPlayer_GetHappinessFromResources>(host, &ReplaceCvPlayer_GetHappinessFromResources);

Code

12166/// Total amount of Happiness gained from Resources12167int CvPlayer::GetHappinessFromResources() const12168{12169	int iTotalHappiness = 0;1217012171	int iBaseHappiness;1217212173	// Check all connected Resources12174	ResourceTypes eResource;12175	for(int iResourceLoop = 0; iResourceLoop < GC.getNumResourceInfos(); iResourceLoop++)12176	{12177		eResource = (ResourceTypes) iResourceLoop;1217812179		iBaseHappiness = GetHappinessFromLuxury(eResource);12180		if(iBaseHappiness)12181		{12182			// Resource bonus from Minors, and this is a Luxury we're getting from one (Policies, etc.)12183			if(IsMinorResourceBonus() && getResourceFromMinors(eResource) > 0)12184			{12185				iBaseHappiness *= /*150*/ GC.getMINOR_POLICY_RESOURCE_HAPPINESS_MULTIPLIER();12186				iBaseHappiness /= 100;12187			}1218812189			iTotalHappiness += iBaseHappiness;12190			iTotalHappiness += GetExtraHappinessPerLuxury();12191		}12192	}1219312194	// Happiness bonus for multiple Resource types12195	iTotalHappiness += GetHappinessFromResourceVariety();1219612197	return iTotalHappiness;12198}

Calls

Called by