Bazaar developer reference

CvAIOperationCityCloseDefense::FindBestTarget()

Defined in
CvAIOperation.cpp, line 4804
Class
CvAIOperationCityCloseDefense
Hook name
CivHooks::CvAIOperationCityCloseDefense_FindBestTarget

Hooks

static bool BeforeCvAIOperationCityCloseDefense_FindBestTarget(CvAIOperationCityCloseDefense* self, CvPlot*& result);static void AfterCvAIOperationCityCloseDefense_FindBestTarget(CvAIOperationCityCloseDefense* self, CvPlot*& result);static CvPlot* ReplaceCvAIOperationCityCloseDefense_FindBestTarget(CvPlot* (*original)(CvAIOperationCityCloseDefense*), CvAIOperationCityCloseDefense* self);CivRegisterBefore<CivHooks::CvAIOperationCityCloseDefense_FindBestTarget>(host, &BeforeCvAIOperationCityCloseDefense_FindBestTarget);CivRegisterAfter<CivHooks::CvAIOperationCityCloseDefense_FindBestTarget>(host, &AfterCvAIOperationCityCloseDefense_FindBestTarget);CivRegisterReplace<CivHooks::CvAIOperationCityCloseDefense_FindBestTarget>(host, &ReplaceCvAIOperationCityCloseDefense_FindBestTarget);

Code

4803/// Find the best blocking position against the current threats4804CvPlot* CvAIOperationCityCloseDefense::FindBestTarget()4805{4806	CvCity* pCity;4807	CvPlot* pPlot = NULL;4808	CvCity* pEnemyCapital;4809	int iLoop;48104811	// Defend the city most under threat4812	pCity = GET_PLAYER(m_eOwner).GetMilitaryAI()->GetMostThreatenedCity();48134814	// If no city is threatened just defend whichever of our cities is closest to the enemy capital4815	if(pCity == NULL)4816	{4817		pEnemyCapital = GET_PLAYER(m_eEnemy).getCapitalCity();4818		if(pEnemyCapital == NULL)4819		{4820			pEnemyCapital = GET_PLAYER(m_eEnemy).firstCity(&iLoop);4821		}4822		pCity = GC.getMap().findCity(pEnemyCapital->getX(), pEnemyCapital->getY(), m_eOwner, NO_TEAM, true, false, NO_TEAM, NO_DIRECTION, NULL);4823	}48244825	if(pCity != NULL)4826	{4827		pPlot = pCity->plot();4828	}48294830	return pPlot;4831}

Calls

Called by