CvMinorCivAI::GetHappinessPerLuxuryFriendshipBonus(PlayerTypes, EraTypes)
- Defined in
- CvMinorCivAI.cpp, line 7970
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus
Hooks
static bool BeforeCvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus(CvMinorCivAI* self, PlayerTypes ePlayer, EraTypes eAssumeEra, int& result);static void AfterCvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus(CvMinorCivAI* self, PlayerTypes ePlayer, EraTypes eAssumeEra, int& result);static int ReplaceCvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus(int (*original)(CvMinorCivAI*, PlayerTypes, EraTypes), CvMinorCivAI* self, PlayerTypes ePlayer, EraTypes eAssumeEra);CivRegisterBefore<CivHooks::CvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus>(host, &BeforeCvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus);CivRegisterAfter<CivHooks::CvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus>(host, &AfterCvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus);CivRegisterReplace<CivHooks::CvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus>(host, &ReplaceCvMinorCivAI_GetHappinessPerLuxuryFriendshipBonus);
Code
7969/// Cumulative per luxury happiness bonus from friendship with a minor7970int CvMinorCivAI::GetHappinessPerLuxuryFriendshipBonus(PlayerTypes ePlayer, EraTypes eAssumeEra)7971{7972 //antonjs: consider: optimize7973 int iNumLuxuries = 0;7974 ResourceTypes eResource;7975 for(int iResourceLoop = 0; iResourceLoop < GC.getNumResourceInfos(); iResourceLoop++)7976 {7977 eResource = (ResourceTypes) iResourceLoop;79787979 if(GET_PLAYER(ePlayer).getNumResourceAvailable(eResource) > 0)7980 {7981 const CvResourceInfo* pkResourceInfo = GC.getResourceInfo(eResource);7982 if(pkResourceInfo != NULL && pkResourceInfo->getResourceUsage() == RESOURCEUSAGE_LUXURY)7983 {7984 iNumLuxuries++;7985 }7986 }7987 }79887989 EraTypes eCurrentEra = eAssumeEra;7990 if(eCurrentEra == NO_ERA)7991 eCurrentEra = GET_TEAM(GET_PLAYER(ePlayer).getTeam()).GetCurrentEra();79927993 EraTypes eIndustrial = (EraTypes) GC.getInfoTypeForString("ERA_INDUSTRIAL", true);7994 EraTypes eMedieval = (EraTypes) GC.getInfoTypeForString("ERA_MEDIEVAL", true);79957996 // Industrial era or Later7997 if(eCurrentEra >= eIndustrial)7998 return (iNumLuxuries * GC.getFRIENDS_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_INDUSTRIAL());79998000 // Medieval era or later8001 else if(eCurrentEra >= eMedieval)8002 return (iNumLuxuries * GC.getFRIENDS_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_MEDIEVAL());80038004 // Pre-Medieval8005 else8006 return (iNumLuxuries * GC.getFRIENDS_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_ANCIENT());8007}
Calls
- CvGlobals::getFRIENDS_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_ANCIENT()
- CvGlobals::getFRIENDS_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_INDUSTRIAL()
- CvGlobals::getFRIENDS_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_MEDIEVAL()
- CvGlobals::getInfoTypeForString(const char *, bool) const
- CvGlobals::getNumResourceInfos()
- CvGlobals::getResourceInfo(ResourceTypes)
- CvPlayer::getNumResourceAvailable(ResourceTypes, bool) const
- CvPlayer::getTeam() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvResourceInfo::getResourceUsage() const
- CvTeam::GetCurrentEra() const
- CvTeam::getTeam(TeamTypes)