Bazaar developer reference

CvMinorCivAI::DoTurnQuests()

Defined in
CvMinorCivAI.cpp, line 3521
Class
CvMinorCivAI
Hook name
CivHooks::CvMinorCivAI_DoTurnQuests

Hooks

static bool BeforeCvMinorCivAI_DoTurnQuests(CvMinorCivAI* self);static void AfterCvMinorCivAI_DoTurnQuests(CvMinorCivAI* self);static void ReplaceCvMinorCivAI_DoTurnQuests(void (*original)(CvMinorCivAI*), CvMinorCivAI* self);CivRegisterBefore<CivHooks::CvMinorCivAI_DoTurnQuests>(host, &BeforeCvMinorCivAI_DoTurnQuests);CivRegisterAfter<CivHooks::CvMinorCivAI_DoTurnQuests>(host, &AfterCvMinorCivAI_DoTurnQuests);CivRegisterReplace<CivHooks::CvMinorCivAI_DoTurnQuests>(host, &ReplaceCvMinorCivAI_DoTurnQuests);

Code

3520/// Update turn for Quests3521void CvMinorCivAI::DoTurnQuests()3522{3523	// ********************3524	// Check Current Quests3525	// ********************3526	DoTestActiveQuests(/*bTestComplete*/ true, /*bTestObsolete*/ true);3527	DoQuestsCleanup();35283529	// ********************3530	// Give Global Quests3531	// ********************3532	int iFirstTurnForGlobalQuests = GetFirstPossibleTurnForGlobalQuests();35333534	// Increment turns since last quest3535	if(GetGlobalQuestCountdown() > 0)3536	{3537		ChangeGlobalQuestCountdown(-1);3538	}35393540	// Unlock turn - seed the counter3541	if(GC.getGame().getElapsedGameTurns() == iFirstTurnForGlobalQuests)3542	{3543		DoTestSeedGlobalQuestCountdown();3544	}35453546	if(GC.getGame().getElapsedGameTurns() > iFirstTurnForGlobalQuests || ENABLE_QUESTS_AT_START)3547	{3548		DoTestStartGlobalQuest();3549	}35503551	// ********************3552	// Give Personal Quests3553	// ********************3554	int iFirstTurnForPersonalQuests = GetFirstPossibleTurnForPersonalQuests();35553556	PlayerTypes ePlayer;3557	for(int iPlayerLoop = 0; iPlayerLoop < MAX_MAJOR_CIVS; iPlayerLoop++)3558	{3559		ePlayer = (PlayerTypes) iPlayerLoop;35603561		if(IsHasMetPlayer(ePlayer))3562		{3563			// Increment turns since last quest3564			if(GetQuestCountdownForPlayer(ePlayer) > 0)3565			{3566				ChangeQuestCountdownForPlayer(ePlayer, -1);3567			}35683569			// Unlock turn - seed the counter3570			if(GC.getGame().getElapsedGameTurns() == iFirstTurnForPersonalQuests)3571			{3572				DoTestSeedQuestCountdownForPlayer(ePlayer);3573			}3574			// Can't start a quest too early3575			else if(GC.getGame().getElapsedGameTurns() > iFirstTurnForPersonalQuests || ENABLE_QUESTS_AT_START)3576			{3577				if(!IsAtWarWithPlayersTeam(ePlayer))3578				{3579					DoTestStartPersonalQuest(ePlayer);3580				}3581			}3582		}3583	}3584}

Calls

Called by