Bazaar developer reference

CvTacticalAI::PlotExploitFlanksMoves()

Defined in
CvTacticalAI.cpp, line 3681
Class
CvTacticalAI
Hook name
CivHooks::CvTacticalAI_PlotExploitFlanksMoves

Hooks

static bool BeforeCvTacticalAI_PlotExploitFlanksMoves(CvTacticalAI* self);static void AfterCvTacticalAI_PlotExploitFlanksMoves(CvTacticalAI* self);static void ReplaceCvTacticalAI_PlotExploitFlanksMoves(void (*original)(CvTacticalAI*), CvTacticalAI* self);CivRegisterBefore<CivHooks::CvTacticalAI_PlotExploitFlanksMoves>(host, &BeforeCvTacticalAI_PlotExploitFlanksMoves);CivRegisterAfter<CivHooks::CvTacticalAI_PlotExploitFlanksMoves>(host, &AfterCvTacticalAI_PlotExploitFlanksMoves);CivRegisterReplace<CivHooks::CvTacticalAI_PlotExploitFlanksMoves>(host, &ReplaceCvTacticalAI_PlotExploitFlanksMoves);

Code

3680/// Defeat enemy units by using our advantage in numbers3681void CvTacticalAI::PlotExploitFlanksMoves()3682{3683	CvPlot* pTarget;3684	bool bAttackUnderway = false;3685	bool bAttackMade;36863687	m_TempTargets.clear();36883689	// Loop through unit targets finding attack for this turn3690	for(unsigned int iI = 0; iI < m_ZoneTargets.size(); iI++)3691	{3692		if(m_ZoneTargets[iI].GetTargetType() == AI_TACTICAL_TARGET_HIGH_PRIORITY_UNIT ||3693		        m_ZoneTargets[iI].GetTargetType() == AI_TACTICAL_TARGET_MEDIUM_PRIORITY_UNIT ||3694		        m_ZoneTargets[iI].GetTargetType() == AI_TACTICAL_TARGET_LOW_PRIORITY_UNIT)3695		{3696			m_pMap->ClearDynamicFlags();3697			pTarget = GC.getMap().plot(m_ZoneTargets[iI].GetTargetX(), m_ZoneTargets[iI].GetTargetY());3698			m_pMap->SetTargetFlankBonusCells(pTarget);36993700			bAttackMade = ExecuteFlankAttack(m_ZoneTargets[iI]);3701			if(bAttackMade)3702			{3703				bAttackUnderway = true;3704			}37053706			// No attack, see if we can set one up on this target later3707			else3708			{3709				m_TempTargets.push_back(m_ZoneTargets[iI]);3710			}3711		}3712	}3713}

Calls

Called by