CvMinorCivAI::DoTestSeedGlobalQuestCountdown(bool)
- Defined in
- CvMinorCivAI.cpp, line 5163
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_DoTestSeedGlobalQuestCountdown
Hooks
static bool BeforeCvMinorCivAI_DoTestSeedGlobalQuestCountdown(CvMinorCivAI* self, bool bForceSeed);static void AfterCvMinorCivAI_DoTestSeedGlobalQuestCountdown(CvMinorCivAI* self, bool bForceSeed);static void ReplaceCvMinorCivAI_DoTestSeedGlobalQuestCountdown(void (*original)(CvMinorCivAI*, bool), CvMinorCivAI* self, bool bForceSeed);CivRegisterBefore<CivHooks::CvMinorCivAI_DoTestSeedGlobalQuestCountdown>(host, &BeforeCvMinorCivAI_DoTestSeedGlobalQuestCountdown);CivRegisterAfter<CivHooks::CvMinorCivAI_DoTestSeedGlobalQuestCountdown>(host, &AfterCvMinorCivAI_DoTestSeedGlobalQuestCountdown);CivRegisterReplace<CivHooks::CvMinorCivAI_DoTestSeedGlobalQuestCountdown>(host, &ReplaceCvMinorCivAI_DoTestSeedGlobalQuestCountdown);
Code
5163void CvMinorCivAI::DoTestSeedGlobalQuestCountdown(bool bForceSeed)5164{5165 if(!bForceSeed)5166 {5167 // Only seed if there is a potential spot for a global quest5168 if(GetNumActiveGlobalQuests() >= GetMaxActiveGlobalQuests())5169 {5170 return;5171 }51725173 // Only seed if the countdown is not already active5174 if(GetGlobalQuestCountdown() > 0)5175 {5176 return;5177 }5178 }51795180 int iNumTurns = 0;51815182 // Quests are now available for the first time?5183 if(GC.getGame().getElapsedGameTurns() == GetFirstPossibleTurnForGlobalQuests())5184 {5185 int iRand = /*20*/ GC.getMINOR_CIV_GLOBAL_QUEST_FIRST_POSSIBLE_TURN_RAND();5186 iNumTurns += GC.getGame().getJonRandNum(iRand, "Random # of turns for Minor Civ global quest counter - first time.");5187 }5188 else5189 {5190 iNumTurns += /*40*/ GC.getMINOR_CIV_GLOBAL_QUEST_MIN_TURNS_BETWEEN();51915192 int iRand = /*25*/ GC.getMINOR_CIV_GLOBAL_QUEST_RAND_TURNS_BETWEEN();5193 if(GetPersonality() == MINOR_CIV_PERSONALITY_HOSTILE)5194 {5195 iRand *= /*200*/ GC.getMINOR_CIV_GLOBAL_QUEST_RAND_TURNS_BETWEEN_HOSTILE_MULTIPLIER();5196 iRand /= 100;5197 }5198 iNumTurns += GC.getGame().getJonRandNum(iRand, "Random # of turns for Minor Civ global quest counter.");5199 }52005201 // Modify for Game Speed5202 iNumTurns *= GC.getGame().getGameSpeedInfo().getGreatPeoplePercent();5203 iNumTurns /= 100;52045205 SetGlobalQuestCountdown(iNumTurns);5206}
Calls
- CvGame::getElapsedGameTurns() const
- CvGame::getGameSpeedInfo() const
- CvGame::getJonRandNum(int, const char *)
- CvGameSpeedInfo::getGreatPeoplePercent() const
- CvGlobals::getGame()
- CvGlobals::getMINOR_CIV_GLOBAL_QUEST_FIRST_POSSIBLE_TURN_RAND()
- CvGlobals::getMINOR_CIV_GLOBAL_QUEST_MIN_TURNS_BETWEEN()
- CvGlobals::getMINOR_CIV_GLOBAL_QUEST_RAND_TURNS_BETWEEN()
- CvGlobals::getMINOR_CIV_GLOBAL_QUEST_RAND_TURNS_BETWEEN_HOSTILE_MULTIPLIER()
- CvMinorCivAI::GetFirstPossibleTurnForGlobalQuests() const
- CvMinorCivAI::GetGlobalQuestCountdown()
- CvMinorCivAI::GetMaxActiveGlobalQuests() const
- CvMinorCivAI::GetNumActiveGlobalQuests() const
- CvMinorCivAI::GetPersonality() const
- CvMinorCivAI::SetGlobalQuestCountdown(int)