Bazaar developer reference

CvAIOperationPillageEnemy::ArmyInPosition(CvArmyAI *)

Defined in
CvAIOperation.cpp, line 2658
Class
CvAIOperationPillageEnemy
Hook name
CivHooks::CvAIOperationPillageEnemy_ArmyInPosition
Overrides
CvAIOperation::ArmyInPosition(CvArmyAI *)

Hooks

static bool BeforeCvAIOperationPillageEnemy_ArmyInPosition(CvAIOperationPillageEnemy* self, CvArmyAI* pArmy, bool& result);static void AfterCvAIOperationPillageEnemy_ArmyInPosition(CvAIOperationPillageEnemy* self, CvArmyAI* pArmy, bool& result);static bool ReplaceCvAIOperationPillageEnemy_ArmyInPosition(bool (*original)(CvAIOperationPillageEnemy*, CvArmyAI*), CvAIOperationPillageEnemy* self, CvArmyAI* pArmy);CivRegisterBefore<CivHooks::CvAIOperationPillageEnemy_ArmyInPosition>(host, &BeforeCvAIOperationPillageEnemy_ArmyInPosition);CivRegisterAfter<CivHooks::CvAIOperationPillageEnemy_ArmyInPosition>(host, &AfterCvAIOperationPillageEnemy_ArmyInPosition);CivRegisterReplace<CivHooks::CvAIOperationPillageEnemy_ArmyInPosition>(host, &ReplaceCvAIOperationPillageEnemy_ArmyInPosition);

Code

2657/// If at target, pillage improvements2658bool CvAIOperationPillageEnemy::ArmyInPosition(CvArmyAI* pArmy)2659{2660	bool bStateChanged = false;26612662	switch(m_eCurrentState)2663	{2664		// See if reached our target, if so give control of these units to the tactical AI2665	case AI_OPERATION_STATE_MOVING_TO_TARGET:2666	{2667		if(pArmy->Plot() == pArmy->GetGoalPlot())2668		{2669			m_eCurrentState = AI_OPERATION_STATE_SUCCESSFUL_FINISH;2670		}2671	}2672	break;26732674	// In all other cases use base class version2675	case AI_OPERATION_STATE_GATHERING_FORCES:2676	case AI_OPERATION_STATE_ABORTED:2677	case AI_OPERATION_STATE_RECRUITING_UNITS:2678	case AI_OPERATION_STATE_AT_TARGET:2679		bStateChanged = CvAIOperation::ArmyInPosition(pArmy);2680		break;2681	};26822683	return bStateChanged;2684}

Calls