CvTacticalAI::FindPassiveBarbarianLandMove(UnitHandle)
- Defined in
- CvTacticalAI.cpp, line 10020
- Class
- CvTacticalAI
- Hook name
CivHooks::CvTacticalAI_FindPassiveBarbarianLandMove
Hooks
static bool BeforeCvTacticalAI_FindPassiveBarbarianLandMove(CvTacticalAI* self, UnitHandle pUnit, CvPlot*& result);static void AfterCvTacticalAI_FindPassiveBarbarianLandMove(CvTacticalAI* self, UnitHandle pUnit, CvPlot*& result);static CvPlot* ReplaceCvTacticalAI_FindPassiveBarbarianLandMove(CvPlot* (*original)(CvTacticalAI*, UnitHandle), CvTacticalAI* self, UnitHandle pUnit);CivRegisterBefore<CivHooks::CvTacticalAI_FindPassiveBarbarianLandMove>(host, &BeforeCvTacticalAI_FindPassiveBarbarianLandMove);CivRegisterAfter<CivHooks::CvTacticalAI_FindPassiveBarbarianLandMove>(host, &AfterCvTacticalAI_FindPassiveBarbarianLandMove);CivRegisterReplace<CivHooks::CvTacticalAI_FindPassiveBarbarianLandMove>(host, &ReplaceCvTacticalAI_FindPassiveBarbarianLandMove);
Code
10019/// Find a multi-turn target for a land barbarian to wander towards10020CvPlot* CvTacticalAI::FindPassiveBarbarianLandMove(UnitHandle pUnit)10021{10022 CvPlot* pBestMovePlot = NULL;10023 int iBestValue;10024 int iValue;1002510026 iBestValue = MAX_INT;10027 pBestMovePlot = NULL;1002810029 for(unsigned int iI = 0; iI < m_AllTargets.size(); iI++)10030 {10031 // Is this target a camp?10032 if(m_AllTargets[iI].GetTargetType()==AI_TACTICAL_TARGET_BARBARIAN_CAMP)10033 {10034 iValue = plotDistance(pUnit->getX(), pUnit->getY(), m_AllTargets[iI].GetTargetX(), m_AllTargets[iI].GetTargetY());10035 if(iValue < iBestValue)10036 {10037 iBestValue = iValue;10038 pBestMovePlot = GC.getMap().plot(m_AllTargets[iI].GetTargetX(), m_AllTargets[iI].GetTargetY());10039 }10040 }10041 }1004210043 if(pBestMovePlot == NULL)10044 {10045 pBestMovePlot = FindBarbarianExploreTarget(pUnit);10046 }1004710048 return pBestMovePlot;10049}
Calls
BaseVector::operator[]BaseVector::size- CvGlobals::getMap()
- CvMap::plot(int, int) const
- CvTacticalAI::FindBarbarianExploreTarget(UnitHandle)
- CvTacticalTarget::GetTargetType()
- CvTacticalTarget::GetTargetX()
- CvTacticalTarget::GetTargetY()
- CvUnit::getX() const
- CvUnit::getY() const
FObjectHandle::FObjectHandleFObjectHandle::operator->- plotDistance(int, int, int, int)