Bazaar developer reference

LeagueHelpers::GetGameEraForTrigger()

Defined in
CvVotingClasses.cpp, line 109
Hook name
CivHooks::LeagueHelpers_GetGameEraForTrigger

Hooks

static bool BeforeLeagueHelpers_GetGameEraForTrigger(EraTypes& result);static void AfterLeagueHelpers_GetGameEraForTrigger(EraTypes& result);static EraTypes ReplaceLeagueHelpers_GetGameEraForTrigger(EraTypes (*original)());CivRegisterBefore<CivHooks::LeagueHelpers_GetGameEraForTrigger>(host, &BeforeLeagueHelpers_GetGameEraForTrigger);CivRegisterAfter<CivHooks::LeagueHelpers_GetGameEraForTrigger>(host, &AfterLeagueHelpers_GetGameEraForTrigger);CivRegisterReplace<CivHooks::LeagueHelpers_GetGameEraForTrigger>(host, &ReplaceLeagueHelpers_GetGameEraForTrigger);

Code

109EraTypes LeagueHelpers::GetGameEraForTrigger()110{111	EraTypes eGameEra = NO_ERA;112113	// Game era is one era less than the most advanced player114	EraTypes eMostAdvancedEra = NO_ERA;115	for (int i = 0; i < MAX_MAJOR_CIVS; i++)116	{117		if (GET_PLAYER((PlayerTypes)i).isAlive())118		{119			EraTypes e = GET_PLAYER((PlayerTypes)i).GetCurrentEra();120			if (GET_PLAYER((PlayerTypes)i).GetCurrentEra() > eMostAdvancedEra)121			{122				eMostAdvancedEra = e;123			}124		}125	}126	if (eMostAdvancedEra - 1 > NO_ERA)127	{128		eGameEra = (EraTypes) ((int)eMostAdvancedEra - 1);129	}130131	// Unless half or more civs are in this era too, then it is this era132	int iInMostAdvancedEra = 0;133	for (int i = 0; i < MAX_MAJOR_CIVS; i++)134	{135		if (GET_PLAYER((PlayerTypes)i).isAlive())136		{137			EraTypes e = GET_PLAYER((PlayerTypes)i).GetCurrentEra();138			CvAssert(e <= eMostAdvancedEra);139			if (e == eMostAdvancedEra)140			{141				iInMostAdvancedEra++;142			}143		}144	}145	if (iInMostAdvancedEra >= (GC.getGame().countMajorCivsAlive() / 2))146	{147		eGameEra = eMostAdvancedEra;148	}149150	return eGameEra;151}

Calls

Called by