Bazaar developer reference

CvPlayer::checkRunAutoMovesForEveryone()

Defined in
CvPlayer.cpp, line 18186
Class
CvPlayer
Hook name
CivHooks::CvPlayer_checkRunAutoMovesForEveryone

Hooks

static bool BeforeCvPlayer_checkRunAutoMovesForEveryone(CvPlayer* self);static void AfterCvPlayer_checkRunAutoMovesForEveryone(CvPlayer* self);static void ReplaceCvPlayer_checkRunAutoMovesForEveryone(void (*original)(CvPlayer*), CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_checkRunAutoMovesForEveryone>(host, &BeforeCvPlayer_checkRunAutoMovesForEveryone);CivRegisterAfter<CivHooks::CvPlayer_checkRunAutoMovesForEveryone>(host, &AfterCvPlayer_checkRunAutoMovesForEveryone);CivRegisterReplace<CivHooks::CvPlayer_checkRunAutoMovesForEveryone>(host, &ReplaceCvPlayer_checkRunAutoMovesForEveryone);

Code

18186void CvPlayer::checkRunAutoMovesForEveryone()18187{18188	bool runAutoMovesForEveryone = true;18189	int i = 0;18190	for(i = 0; i < MAX_PLAYERS; ++i)18191	{18192		CvPlayer& p = CvPlayerAI::getPlayer((PlayerTypes)i);18193		if(p.isHuman() && !p.isObserver() 18194			// Check to see if this human player hasn't gotten to the end turn phase of their turn.  18195			// This gets tricky because hot joiners can hop into an ai civ that already finished their turn.18196			// When this occurs, the hot joiner will not be turn active, will have already run their automoves,18197			// and not have end turn set. (AIs do not set end turn) *sigh*18198			// To handle that case, we assume that human players who are not endturn and turn inactive after TurnAllComplete18199			// are ready for the human automoves phase.18200			&& (!p.isEndTurn()18201			&& (!gDLL->HasReceivedTurnAllCompleteFromAllPlayers() || p.isTurnActive()))) 18202		{18203			runAutoMovesForEveryone = false;18204			break;18205		}18206	}1820718208	if(runAutoMovesForEveryone)18209	{18210		for(i = 0; i < MAX_PLAYERS; ++i)18211		{18212			CvPlayer& p = CvPlayerAI::getPlayer((PlayerTypes)i);18213			if(p.isHuman())18214			{18215				p.setAutoMoves(true);18216			}18217		}18218	}18219}

Calls

Called by