Bazaar developer reference

CvMinorCivQuest::GetContestLeaders()

Defined in
CvMinorCivAI.cpp, line 389
Class
CvMinorCivQuest
Hook name
CivHooks::CvMinorCivQuest_GetContestLeaders

Hooks

static bool BeforeCvMinorCivQuest_GetContestLeaders(CvMinorCivQuest* self, CivsList& result);static void AfterCvMinorCivQuest_GetContestLeaders(CvMinorCivQuest* self, CivsList& result);static CivsList ReplaceCvMinorCivQuest_GetContestLeaders(CivsList (*original)(CvMinorCivQuest*), CvMinorCivQuest* self);CivRegisterBefore<CivHooks::CvMinorCivQuest_GetContestLeaders>(host, &BeforeCvMinorCivQuest_GetContestLeaders);CivRegisterAfter<CivHooks::CvMinorCivQuest_GetContestLeaders>(host, &AfterCvMinorCivQuest_GetContestLeaders);CivRegisterReplace<CivHooks::CvMinorCivQuest_GetContestLeaders>(host, &ReplaceCvMinorCivQuest_GetContestLeaders);

Code

388// Returns a list, since ties are allowed389CivsList CvMinorCivQuest::GetContestLeaders()390{391	MinorCivQuestTypes eType = GetType();392	CivsList veTiedForLead;393	int iHighestValue = GetContestValueForLeader();394395#if defined(MOD_EVENTS_QUESTS)396	bool bFindLeader = false;397	398	if (UseEvents()) {399		bFindLeader = m_pQuestInfo->isContest();400	} else {401#endif402	if(eType == MINOR_CIV_QUEST_CONTEST_CULTURE ||403	        eType == MINOR_CIV_QUEST_CONTEST_FAITH ||404	        eType == MINOR_CIV_QUEST_CONTEST_TECHS)405#if defined(MOD_EVENTS_QUESTS)406		{407			bFindLeader = true;408		}409	}410	411	if (bFindLeader)412#endif413	{414		for(int iPlayerLoop = 0; iPlayerLoop < MAX_MAJOR_CIVS; iPlayerLoop++)415		{416			PlayerTypes ePlayerLoop = (PlayerTypes) iPlayerLoop;417			int iPlayerValue = GetContestValueForPlayer(ePlayerLoop);418			CvAssertMsg(iPlayerValue <= iHighestValue, "Calculation error for calculating the leaders of a contest! Please send Anton your save file and version.");419			if(iPlayerValue == iHighestValue)420				veTiedForLead.push_back(ePlayerLoop);421		}422	}423424	return veTiedForLead;425}

Calls

Called by