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
- CvGame::GetGameLeagues()
- CvGameLeagues::IsLuxuryHappinessBanned(PlayerTypes, ResourceTypes)
- CvGlobals::getGame()
- CvGlobals::getResourceInfo(ResourceTypes)
- CvPlayer::GetID() const
- CvPlayer::getNumResourceAvailable(ResourceTypes, bool) const
- CvPlayer::GetPlayerTraits() const
- CvPlayer::getResourceExport(ResourceTypes) const
- CvPlayerTraits::GetLuxuryHappinessRetention() const
- CvResourceInfo::getHappiness() const
- CvResourceInfo::getResourceUsage() const