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
BaseVector::clearBaseVector::operator[]BaseVector::size- CvGlobals::getMap()
- CvMap::plot(int, int) const
- CvTacticalAI::ExecuteFlankAttack(CvTacticalTarget &)
- CvTacticalAnalysisMap::ClearDynamicFlags()
- CvTacticalAnalysisMap::SetTargetFlankBonusCells(CvPlot *)
- CvTacticalTarget::GetTargetType()
- CvTacticalTarget::GetTargetX()
- CvTacticalTarget::GetTargetY()
FStaticVector::push_back