Bazaar developer reference

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}

Calls

Called by