CvMinorCivAI::GetHappinessPerLuxuryAlliesBonus(PlayerTypes, EraTypes)
- Defined in
- CvMinorCivAI.cpp, line 8010
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_GetHappinessPerLuxuryAlliesBonus
Hooks
static bool BeforeCvMinorCivAI_GetHappinessPerLuxuryAlliesBonus(CvMinorCivAI* self, PlayerTypes ePlayer, EraTypes eAssumeEra, int& result);static void AfterCvMinorCivAI_GetHappinessPerLuxuryAlliesBonus(CvMinorCivAI* self, PlayerTypes ePlayer, EraTypes eAssumeEra, int& result);static int ReplaceCvMinorCivAI_GetHappinessPerLuxuryAlliesBonus(int (*original)(CvMinorCivAI*, PlayerTypes, EraTypes), CvMinorCivAI* self, PlayerTypes ePlayer, EraTypes eAssumeEra);CivRegisterBefore<CivHooks::CvMinorCivAI_GetHappinessPerLuxuryAlliesBonus>(host, &BeforeCvMinorCivAI_GetHappinessPerLuxuryAlliesBonus);CivRegisterAfter<CivHooks::CvMinorCivAI_GetHappinessPerLuxuryAlliesBonus>(host, &AfterCvMinorCivAI_GetHappinessPerLuxuryAlliesBonus);CivRegisterReplace<CivHooks::CvMinorCivAI_GetHappinessPerLuxuryAlliesBonus>(host, &ReplaceCvMinorCivAI_GetHappinessPerLuxuryAlliesBonus);
Code
8009/// Cumulative per luxury happiness bonus from being allies with a minor8010int CvMinorCivAI::GetHappinessPerLuxuryAlliesBonus(PlayerTypes ePlayer, EraTypes eAssumeEra)8011{8012 //antonjs: consider: optimize8013 int iNumLuxuries = 0;8014 ResourceTypes eResource;8015 for(int iResourceLoop = 0; iResourceLoop < GC.getNumResourceInfos(); iResourceLoop++)8016 {8017 eResource = (ResourceTypes) iResourceLoop;80188019 if(GET_PLAYER(ePlayer).getNumResourceAvailable(eResource) > 0)8020 {8021 const CvResourceInfo* pkResourceInfo = GC.getResourceInfo(eResource);8022 if(pkResourceInfo != NULL && pkResourceInfo->getResourceUsage() == RESOURCEUSAGE_LUXURY)8023 {8024 iNumLuxuries++;8025 }8026 }8027 }80288029 EraTypes eCurrentEra = eAssumeEra;8030 if(eCurrentEra == NO_ERA)8031 eCurrentEra = GET_TEAM(GET_PLAYER(ePlayer).getTeam()).GetCurrentEra();80328033 EraTypes eIndustrial = (EraTypes) GC.getInfoTypeForString("ERA_INDUSTRIAL", true);8034 EraTypes eMedieval = (EraTypes) GC.getInfoTypeForString("ERA_MEDIEVAL", true);80358036 // Industrial era or Later8037 if(eCurrentEra >= eIndustrial)8038 return (iNumLuxuries * GC.getALLIES_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_INDUSTRIAL());80398040 // Medieval era or later8041 else if(eCurrentEra >= eMedieval)8042 return (iNumLuxuries * GC.getALLIES_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_MEDIEVAL());80438044 // Pre-Medieval8045 else8046 return (iNumLuxuries * GC.getALLIES_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_ANCIENT());8047}
Calls
- CvGlobals::getALLIES_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_ANCIENT()
- CvGlobals::getALLIES_HAPPINESS_PER_LUXURY_BONUS_AMOUNT_INDUSTRIAL()
- CvGlobals::getALLIES_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)