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
- CvCity::getX() const
- CvCity::getY() const
- CvCity::plot() const
- CvGlobals::getMap()
- CvMap::findCity(int, int, PlayerTypes, TeamTypes, bool, bool, TeamTypes, DirectionTypes, const CvCity *)
- CvMilitaryAI::GetMostThreatenedCity(int)
- CvPlayer::firstCity(int *, bool)
- CvPlayer::getCapitalCity()
- CvPlayer::GetMilitaryAI() const
- CvPlayerAI::getPlayer(PlayerTypes)