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}