Bazaar developer reference

CvAIOperation::ArmyInPosition(CvArmyAI *)

Defined in
CvAIOperation.cpp, line 693
Class
CvAIOperation
Hook name
CivHooks::CvAIOperation_ArmyInPosition
Overridden by
CvAINavalEscortedOperation::ArmyInPosition(CvArmyAI *), CvAINavalOperation::ArmyInPosition(CvArmyAI *), CvAIOperationBasicCityAttack::ArmyInPosition(CvArmyAI *), CvAIOperationConcertTour::ArmyInPosition(CvArmyAI *), CvAIOperationDestroyBarbarianCamp::ArmyInPosition(CvArmyAI *), CvAIOperationFoundCity::ArmyInPosition(CvArmyAI *), CvAIOperationMerchantDelegation::ArmyInPosition(CvArmyAI *), CvAIOperationNukeAttack::ArmyInPosition(CvArmyAI *), CvAIOperationPillageEnemy::ArmyInPosition(CvArmyAI *), CvAIOperationRapidResponse::ArmyInPosition(CvArmyAI *)

Hooks

static bool BeforeCvAIOperation_ArmyInPosition(CvAIOperation* self, CvArmyAI* pArmy, bool& result);static void AfterCvAIOperation_ArmyInPosition(CvAIOperation* self, CvArmyAI* pArmy, bool& result);static bool ReplaceCvAIOperation_ArmyInPosition(bool (*original)(CvAIOperation*, CvArmyAI*), CvAIOperation* self, CvArmyAI* pArmy);CivRegisterBefore<CivHooks::CvAIOperation_ArmyInPosition>(host, &BeforeCvAIOperation_ArmyInPosition);CivRegisterAfter<CivHooks::CvAIOperation_ArmyInPosition>(host, &AfterCvAIOperation_ArmyInPosition);CivRegisterReplace<CivHooks::CvAIOperation_ArmyInPosition>(host, &ReplaceCvAIOperation_ArmyInPosition);

Code

692/// Processing if army is now at target693bool CvAIOperation::ArmyInPosition(CvArmyAI* pArmy)694{695	bool bStateChanged = false;696697	switch(m_eCurrentState)698	{699		// If we were gathering forces, we're all set to move out700	case AI_OPERATION_STATE_GATHERING_FORCES:701	{702		m_eCurrentState = AI_OPERATION_STATE_MOVING_TO_TARGET;703		bStateChanged = true;704		pArmy->SetArmyAIState(ARMYAISTATE_MOVING_TO_DESTINATION);705	}706	break;707708	// If we are moving to our target, check and see if we are there709	case AI_OPERATION_STATE_MOVING_TO_TARGET:710	{711		if(pArmy->Plot() == GetTargetPlot())712		{713			m_eCurrentState = AI_OPERATION_STATE_AT_TARGET;714			bStateChanged = true;715		}716	}717	break;718719	case AI_OPERATION_STATE_ABORTED:720	case AI_OPERATION_STATE_RECRUITING_UNITS:721	case AI_OPERATION_STATE_AT_TARGET:722	case AI_OPERATION_STATE_SUCCESSFUL_FINISH:723		break;724	};725726	return bStateChanged;727}

Calls

Called by