Bazaar developer reference

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

Called by