Bazaar developer reference

CvTacticalAI::EstablishTacticalPriorities()

Defined in
CvTacticalAI.cpp, line 1177
Class
CvTacticalAI
Hook name
CivHooks::CvTacticalAI_EstablishTacticalPriorities

Hooks

static bool BeforeCvTacticalAI_EstablishTacticalPriorities(CvTacticalAI* self);static void AfterCvTacticalAI_EstablishTacticalPriorities(CvTacticalAI* self);static void ReplaceCvTacticalAI_EstablishTacticalPriorities(void (*original)(CvTacticalAI*), CvTacticalAI* self);CivRegisterBefore<CivHooks::CvTacticalAI_EstablishTacticalPriorities>(host, &BeforeCvTacticalAI_EstablishTacticalPriorities);CivRegisterAfter<CivHooks::CvTacticalAI_EstablishTacticalPriorities>(host, &AfterCvTacticalAI_EstablishTacticalPriorities);CivRegisterReplace<CivHooks::CvTacticalAI_EstablishTacticalPriorities>(host, &ReplaceCvTacticalAI_EstablishTacticalPriorities);

Code

1176/// Choose which tactics to emphasize this turn1177void CvTacticalAI::EstablishTacticalPriorities()1178{1179	CvTacticalMove move;11801181	m_MovePriorityList.clear();11821183	// Loop through each possible tactical move1184	for(int iI = 0; iI < GC.getNumTacticalMoveInfos(); iI++)1185	{1186		const TacticalAIMoveTypes eTacticalAIMove = static_cast<TacticalAIMoveTypes>(iI);1187		CvTacticalMoveXMLEntry* pkTacticalMoveInfo = GC.getTacticalMoveInfo(eTacticalAIMove);1188		if(pkTacticalMoveInfo)1189		{1190			move.m_eMoveType = eTacticalAIMove;1191			move.m_iPriority = pkTacticalMoveInfo->GetPriority();11921193			if(move.m_iPriority >= 0)1194			{1195				m_MovePriorityList.push_back(move);1196			}1197		}1198	}11991200	// Now sort the moves in priority order1201	std::stable_sort(m_MovePriorityList.begin(), m_MovePriorityList.end());1202}

Calls

Called by