Bazaar developer reference

CvPlayer::GetHappinessFromLuxury(ResourceTypes) const

Defined in
CvPlayer.cpp, line 12333
Class
CvPlayer
Hook name
CivHooks::CvPlayer_GetHappinessFromLuxury

Hooks

static bool BeforeCvPlayer_GetHappinessFromLuxury(const CvPlayer* self, ResourceTypes eResource, int& result);static void AfterCvPlayer_GetHappinessFromLuxury(const CvPlayer* self, ResourceTypes eResource, int& result);static int ReplaceCvPlayer_GetHappinessFromLuxury(int (*original)(const CvPlayer*, ResourceTypes), const CvPlayer* self, ResourceTypes eResource);CivRegisterBefore<CivHooks::CvPlayer_GetHappinessFromLuxury>(host, &BeforeCvPlayer_GetHappinessFromLuxury);CivRegisterAfter<CivHooks::CvPlayer_GetHappinessFromLuxury>(host, &AfterCvPlayer_GetHappinessFromLuxury);CivRegisterReplace<CivHooks::CvPlayer_GetHappinessFromLuxury>(host, &ReplaceCvPlayer_GetHappinessFromLuxury);

Code

12332/// How much happiness credit for having this resource as a luxury?12333int CvPlayer::GetHappinessFromLuxury(ResourceTypes eResource) const12334{12335	CvResourceInfo* pkResourceInfo = GC.getResourceInfo(eResource);12336	if(pkResourceInfo)12337	{12338		int iBaseHappiness = pkResourceInfo->getHappiness();1233912340		if (GC.getGame().GetGameLeagues()->IsLuxuryHappinessBanned(GetID(), eResource))12341		{12342			iBaseHappiness = 0;12343		}1234412345		// Only look at Luxuries12346		if(pkResourceInfo->getResourceUsage() != RESOURCEUSAGE_LUXURY)12347		{12348			return 0;12349		}1235012351		// Any extras?12352		else if(getNumResourceAvailable(eResource, /*bIncludeImport*/ true) > 0)12353		{12354			return iBaseHappiness;12355		}1235612357		else if(GetPlayerTraits()->GetLuxuryHappinessRetention() > 0)12358		{12359			if(getResourceExport(eResource) > 0)12360			{12361				return ((iBaseHappiness * GetPlayerTraits()->GetLuxuryHappinessRetention()) / 100);12362			}12363		}12364	}1236512366	return false;12367}

Calls

Called by