CvAIOperationRapidResponse::RetargetDefensiveArmy(CvArmyAI *)
- Defined in
- CvAIOperation.cpp, line 4975
- Class
- CvAIOperationRapidResponse
- Hook name
CivHooks::CvAIOperationRapidResponse_RetargetDefensiveArmy
Hooks
static bool BeforeCvAIOperationRapidResponse_RetargetDefensiveArmy(CvAIOperationRapidResponse* self, CvArmyAI* pArmy, bool& result);static void AfterCvAIOperationRapidResponse_RetargetDefensiveArmy(CvAIOperationRapidResponse* self, CvArmyAI* pArmy, bool& result);static bool ReplaceCvAIOperationRapidResponse_RetargetDefensiveArmy(bool (*original)(CvAIOperationRapidResponse*, CvArmyAI*), CvAIOperationRapidResponse* self, CvArmyAI* pArmy);CivRegisterBefore<CivHooks::CvAIOperationRapidResponse_RetargetDefensiveArmy>(host, &BeforeCvAIOperationRapidResponse_RetargetDefensiveArmy);CivRegisterAfter<CivHooks::CvAIOperationRapidResponse_RetargetDefensiveArmy>(host, &AfterCvAIOperationRapidResponse_RetargetDefensiveArmy);CivRegisterReplace<CivHooks::CvAIOperationRapidResponse_RetargetDefensiveArmy>(host, &ReplaceCvAIOperationRapidResponse_RetargetDefensiveArmy);
Code
4974/// Start the settler off to a new target plot4975bool CvAIOperationRapidResponse::RetargetDefensiveArmy(CvArmyAI* pArmy)4976{4977 CvPlot* pBetterTarget;49784979 // Find most threatened city4980 pBetterTarget = FindBestTarget();49814982 // No targets at all! Abort4983 if(pBetterTarget == NULL)4984 {4985 m_eCurrentState = AI_OPERATION_STATE_ABORTED;4986 m_eAbortReason = AI_ABORT_NO_TARGET;4987 return false;4988 }49894990 // If this is a new target, switch to it4991 else if(pBetterTarget != GetTargetPlot())4992 {4993 SetTargetPlot(pBetterTarget);4994 pArmy->SetGoalPlot(pBetterTarget);4995 }49964997 pArmy->SetArmyAIState(ARMYAISTATE_MOVING_TO_DESTINATION);4998 m_eCurrentState = AI_OPERATION_STATE_MOVING_TO_TARGET;49995000 return true;5001}