CvTacticalAI::PlotBarbarianCivilianEscortMove()
- Defined in
- CvTacticalAI.cpp, line 2605
- Class
- CvTacticalAI
- Hook name
CivHooks::CvTacticalAI_PlotBarbarianCivilianEscortMove
Hooks
static bool BeforeCvTacticalAI_PlotBarbarianCivilianEscortMove(CvTacticalAI* self);static void AfterCvTacticalAI_PlotBarbarianCivilianEscortMove(CvTacticalAI* self);static void ReplaceCvTacticalAI_PlotBarbarianCivilianEscortMove(void (*original)(CvTacticalAI*), CvTacticalAI* self);CivRegisterBefore<CivHooks::CvTacticalAI_PlotBarbarianCivilianEscortMove>(host, &BeforeCvTacticalAI_PlotBarbarianCivilianEscortMove);CivRegisterAfter<CivHooks::CvTacticalAI_PlotBarbarianCivilianEscortMove>(host, &AfterCvTacticalAI_PlotBarbarianCivilianEscortMove);CivRegisterReplace<CivHooks::CvTacticalAI_PlotBarbarianCivilianEscortMove>(host, &ReplaceCvTacticalAI_PlotBarbarianCivilianEscortMove);
Code
2604/// Escort captured civilians back to barbarian camps2605void CvTacticalAI::PlotBarbarianCivilianEscortMove()2606{2607 list<int>::iterator it;2608 CvTacticalUnit unit;26092610 if(m_pPlayer->isBarbarian())2611 {2612 m_CurrentMoveUnits.clear();26132614 for(it = m_CurrentTurnUnits.begin(); it != m_CurrentTurnUnits.end(); it++)2615 {2616 UnitHandle pUnit = m_pPlayer->getUnit(*it);26172618 // Find any civilians we may have "acquired" from the civs2619 if(!pUnit->IsCanAttack())2620 {2621 unit.SetID(pUnit->GetID());2622 m_CurrentMoveUnits.push_back(unit);2623 }2624 }26252626 if(m_CurrentMoveUnits.size() > 0)2627 {2628 ExecuteBarbarianCivilianEscortMove();2629 }2630 }2631}
Calls
- CvPlayer::getUnit(int)
- CvPlayer::isBarbarian() const
- CvTacticalAI::ExecuteBarbarianCivilianEscortMove()
- CvTacticalUnit::CvTacticalUnit()
- CvTacticalUnit::SetID(int)
- CvUnit::GetID() const
- CvUnit::IsCanAttack() const
FObjectHandle::FObjectHandleFObjectHandle::operator->std::list::_Const_iterator::operator!=std::list::_Iterator::_Iteratorstd::list::_Iterator::operator*std::list::_Iterator::operator++std::list::_Iterator::operator=std::list::beginstd::list::endstd::vector::clearstd::vector::push_backstd::vector::size