Bazaar developer reference

CvTacticalAI::PlotBarbarianMove(bool)

Defined in
CvTacticalAI.cpp, line 2577
Class
CvTacticalAI
Hook name
CivHooks::CvTacticalAI_PlotBarbarianMove

Hooks

static bool BeforeCvTacticalAI_PlotBarbarianMove(CvTacticalAI* self, bool bAggressive);static void AfterCvTacticalAI_PlotBarbarianMove(CvTacticalAI* self, bool bAggressive);static void ReplaceCvTacticalAI_PlotBarbarianMove(void (*original)(CvTacticalAI*, bool), CvTacticalAI* self, bool bAggressive);CivRegisterBefore<CivHooks::CvTacticalAI_PlotBarbarianMove>(host, &BeforeCvTacticalAI_PlotBarbarianMove);CivRegisterAfter<CivHooks::CvTacticalAI_PlotBarbarianMove>(host, &AfterCvTacticalAI_PlotBarbarianMove);CivRegisterReplace<CivHooks::CvTacticalAI_PlotBarbarianMove>(host, &ReplaceCvTacticalAI_PlotBarbarianMove);

Code

2576/// Move barbarians across the map2577void CvTacticalAI::PlotBarbarianMove(bool bAggressive)2578{2579	list<int>::iterator it;2580	CvTacticalUnit unit;25812582	if(m_pPlayer->isBarbarian())2583	{2584		m_CurrentMoveUnits.clear();25852586		// Loop through all recruited units2587		for(it = m_CurrentTurnUnits.begin(); it != m_CurrentTurnUnits.end(); it++)2588		{2589			UnitHandle pUnit = m_pPlayer->getUnit(*it);2590			if(pUnit)2591			{2592				unit.SetID(pUnit->GetID());2593				m_CurrentMoveUnits.push_back(unit);2594			}2595		}25962597		if(m_CurrentMoveUnits.size() > 0)2598		{2599			ExecuteBarbarianMoves(bAggressive);2600		}2601	}2602}

Calls

Called by