Bazaar developer reference

CvMinorCivAI::DoQuestsCleanupForPlayer(PlayerTypes)

Defined in
CvMinorCivAI.cpp, line 4016
Class
CvMinorCivAI
Hook name
CivHooks::CvMinorCivAI_DoQuestsCleanupForPlayer

Hooks

static bool BeforeCvMinorCivAI_DoQuestsCleanupForPlayer(CvMinorCivAI* self, PlayerTypes ePlayer);static void AfterCvMinorCivAI_DoQuestsCleanupForPlayer(CvMinorCivAI* self, PlayerTypes ePlayer);static void ReplaceCvMinorCivAI_DoQuestsCleanupForPlayer(void (*original)(CvMinorCivAI*, PlayerTypes), CvMinorCivAI* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvMinorCivAI_DoQuestsCleanupForPlayer>(host, &BeforeCvMinorCivAI_DoQuestsCleanupForPlayer);CivRegisterAfter<CivHooks::CvMinorCivAI_DoQuestsCleanupForPlayer>(host, &AfterCvMinorCivAI_DoQuestsCleanupForPlayer);CivRegisterReplace<CivHooks::CvMinorCivAI_DoQuestsCleanupForPlayer>(host, &ReplaceCvMinorCivAI_DoQuestsCleanupForPlayer);

Code

4015// Deletes active completed and/or obsolete quests from memory, and resets the countdown timer if needed.4016void CvMinorCivAI::DoQuestsCleanupForPlayer(PlayerTypes ePlayer)4017{4018	CvAssertMsg(ePlayer >= 0, "ePlayer is expected to be non-negative (invalid Index)");4019	CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "ePlayer is expected to be within maximum bounds (invalid Index)");4020	if(ePlayer < 0 || ePlayer >= MAX_MAJOR_CIVS) return;40214022	bool bPersonalQuestDone = false;4023	bool bGlobalQuestDone = false;40244025	QuestListForPlayer::iterator itr_quest;4026	for (itr_quest = m_QuestsGiven[ePlayer].begin(); itr_quest != m_QuestsGiven[ePlayer].end(); itr_quest++)4027	{4028		if (itr_quest->IsHandled())4029		{4030			MinorCivQuestTypes eQuestType = itr_quest->GetType();4031			if (IsPersonalQuest(eQuestType))4032				bPersonalQuestDone = true;4033			if (IsGlobalQuest(eQuestType))4034				bGlobalQuestDone = true;40354036			m_QuestsGiven[ePlayer].erase(itr_quest);4037			itr_quest--;4038		}4039	}40404041	// Check if we need to seed the countdown timers4042	if (bPersonalQuestDone)4043		DoTestSeedQuestCountdownForPlayer(ePlayer);4044	if (bGlobalQuestDone)4045		DoTestSeedGlobalQuestCountdown();4046}

Calls

Called by