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
BaseVector::beginBaseVector::endBaseVector::operator[]- CvMinorCivAI::DoTestSeedGlobalQuestCountdown(bool)
- CvMinorCivAI::DoTestSeedQuestCountdownForPlayer(PlayerTypes, bool)
- CvMinorCivAI::IsGlobalQuest(MinorCivQuestTypes) const
- CvMinorCivAI::IsPersonalQuest(MinorCivQuestTypes) const
- CvMinorCivQuest::GetType() const
- CvMinorCivQuest::IsHandled()
FStaticVector::erase