Bazaar developer reference

CvAINavalEscortedOperation::RetargetCivilian(CvUnit *, CvArmyAI *)

Defined in
CvAIOperation.cpp, line 5302
Class
CvAINavalEscortedOperation
Hook name
CivHooks::CvAINavalEscortedOperation_RetargetCivilian

Hooks

static bool BeforeCvAINavalEscortedOperation_RetargetCivilian(CvAINavalEscortedOperation* self, CvUnit* pCivilian, CvArmyAI* pArmy, bool& result);static void AfterCvAINavalEscortedOperation_RetargetCivilian(CvAINavalEscortedOperation* self, CvUnit* pCivilian, CvArmyAI* pArmy, bool& result);static bool ReplaceCvAINavalEscortedOperation_RetargetCivilian(bool (*original)(CvAINavalEscortedOperation*, CvUnit*, CvArmyAI*), CvAINavalEscortedOperation* self, CvUnit* pCivilian, CvArmyAI* pArmy);CivRegisterBefore<CivHooks::CvAINavalEscortedOperation_RetargetCivilian>(host, &BeforeCvAINavalEscortedOperation_RetargetCivilian);CivRegisterAfter<CivHooks::CvAINavalEscortedOperation_RetargetCivilian>(host, &AfterCvAINavalEscortedOperation_RetargetCivilian);CivRegisterReplace<CivHooks::CvAINavalEscortedOperation_RetargetCivilian>(host, &ReplaceCvAINavalEscortedOperation_RetargetCivilian);

Code

5301/// Start the civilian off to a new target plot5302bool CvAINavalEscortedOperation::RetargetCivilian(CvUnit* pCivilian, CvArmyAI* pArmy)5303{5304	CvPlot* pBetterTarget;53055306	// Find best city site (taking into account whether or not we are escorted)5307	pBetterTarget = FindBestTarget(pCivilian);53085309	// No targets at all!  Abort5310	if(pBetterTarget == NULL)5311	{5312		m_eCurrentState = AI_OPERATION_STATE_ABORTED;5313		m_eAbortReason = AI_ABORT_NO_TARGET;5314		return false;5315	}53165317	// If this is a new target, switch to it5318	else if(pBetterTarget != GetTargetPlot())5319	{5320		SetTargetPlot(pBetterTarget);5321		pArmy->SetGoalPlot(pBetterTarget);5322	}53235324	pArmy->SetArmyAIState(ARMYAISTATE_MOVING_TO_DESTINATION);5325	m_eCurrentState = AI_OPERATION_STATE_MOVING_TO_TARGET;53265327	return true;5328}

Calls

Called by