Bazaar developer reference

CvHomelandAI::AssignHomelandMoves()

Defined in
CvHomelandAI.cpp, line 700
Class
CvHomelandAI
Hook name
CivHooks::CvHomelandAI_AssignHomelandMoves

Hooks

static bool BeforeCvHomelandAI_AssignHomelandMoves(CvHomelandAI* self);static void AfterCvHomelandAI_AssignHomelandMoves(CvHomelandAI* self);static void ReplaceCvHomelandAI_AssignHomelandMoves(void (*original)(CvHomelandAI*), CvHomelandAI* self);CivRegisterBefore<CivHooks::CvHomelandAI_AssignHomelandMoves>(host, &BeforeCvHomelandAI_AssignHomelandMoves);CivRegisterAfter<CivHooks::CvHomelandAI_AssignHomelandMoves>(host, &AfterCvHomelandAI_AssignHomelandMoves);CivRegisterReplace<CivHooks::CvHomelandAI_AssignHomelandMoves>(host, &ReplaceCvHomelandAI_AssignHomelandMoves);

Code

699/// Choose which moves to run and assign units to it700void CvHomelandAI::AssignHomelandMoves()701{702	FStaticVector< CvHomelandMove, 64, true, c_eCiv5GameplayDLL >::iterator it;703704	// Proceed in priority order705	for(it = m_MovePriorityList.begin(); it != m_MovePriorityList.end() && !m_CurrentTurnUnits.empty(); ++it)706	{707		CvHomelandMove move = *it;708709		AI_PERF_FORMAT("AI-perf-tact.csv", ("Homeland Move: %d, Turn %03d, %s", (int)move.m_eMoveType, GC.getGame().getElapsedGameTurns(), m_pPlayer->getCivilizationShortDescription()) );710711		switch(move.m_eMoveType)712		{713		case AI_HOMELAND_MOVE_EXPLORE:714			PlotExplorerMoves();715			break;716		case AI_HOMELAND_MOVE_EXPLORE_SEA:717			PlotExplorerSeaMoves();718			break;719		case AI_HOMELAND_MOVE_SETTLE:720			PlotFirstTurnSettlerMoves();721			break;722		case AI_HOMELAND_MOVE_GARRISON:723			PlotGarrisonMoves();724			break;725		case AI_HOMELAND_MOVE_HEAL:726			PlotHealMoves();727			break;728		case AI_HOMELAND_MOVE_TO_SAFETY:729			PlotMovesToSafety();730			break;731		case AI_HOMELAND_MOVE_MOBILE_RESERVE:732			PlotMobileReserveMoves();733			break;734		case AI_HOMELAND_MOVE_SENTRY:735			PlotSentryMoves();736			break;737		case AI_HOMELAND_MOVE_WORKER:738			PlotWorkerMoves();739			break;740		case AI_HOMELAND_MOVE_WORKER_SEA:741			PlotWorkerSeaMoves();742			break;743		case AI_HOMELAND_MOVE_PATROL:744			PlotPatrolMoves();745			break;746		case AI_HOMELAND_MOVE_UPGRADE:747			PlotUpgradeMoves();748			break;749		case AI_HOMELAND_MOVE_ANCIENT_RUINS:750			PlotAncientRuinMoves();751			break;752		case AI_HOMELAND_MOVE_GARRISON_CITY_STATE:753			PlotGarrisonMoves(true /*bCityStateOnly*/);754			break;755		case AI_HOMELAND_MOVE_WRITER:756			PlotWriterMoves();757			break;758		case AI_HOMELAND_MOVE_ARTIST_GOLDEN_AGE:759			PlotArtistMoves();760			break;761		case AI_HOMELAND_MOVE_MUSICIAN:762			PlotMusicianMoves();763			break;764		case AI_HOMELAND_MOVE_SCIENTIST_FREE_TECH:765			PlotScientistMoves();766			break;767		case AI_HOMELAND_MOVE_ENGINEER_HURRY:768			PlotEngineerMoves();769			break;770		case AI_HOMELAND_MOVE_MERCHANT_TRADE:771			PlotMerchantMoves();772			break;773		case AI_HOMELAND_MOVE_GENERAL_GARRISON:774			PlotGeneralMoves();775			break;776		case AI_HOMELAND_MOVE_ADMIRAL_GARRISON:777			PlotAdmiralMoves();778			break;779		case AI_HOMELAND_MOVE_PROPHET_RELIGION:780			PlotProphetMoves();781			break;782		case AI_HOMELAND_MOVE_MISSIONARY:783			PlotMissionaryMoves();784			break;785		case AI_HOMELAND_MOVE_INQUISITOR:786			PlotInquisitorMoves();787			break;788		case AI_HOMELAND_MOVE_AIRCRAFT_TO_THE_FRONT:789			PlotAircraftMoves();790			break;791		case AI_HOMELAND_MOVE_ADD_SPACESHIP_PART:792			PlotSSPartAdds();793			break;794		case AI_HOMELAND_MOVE_SPACESHIP_PART:795			PlotSSPartMoves();796			break;797		case AI_HOMELAND_MOVE_TREASURE:798			PlotTreasureMoves();799			break;800		case AI_HOMELAND_MOVE_TRADE_UNIT:801			PlotTradeUnitMoves();802			break;803		case AI_HOMELAND_MOVE_ARCHAEOLOGIST:804			PlotArchaeologistMoves();805			break;806		case AI_HOMELAND_MOVE_AIRLIFT:807			PlotAirliftMoves();808			break;809		}810	}811812	ReviewUnassignedUnits();813}

Calls

Called by