CvPlayerAI::AI_plotTargetMissionAIs(CvPlot *, MissionAITypes, int)
- Defined in
- CvPlayerAI.cpp, line 814
- Class
- CvPlayerAI
- Hook name
CivHooks::CvPlayerAI_AI_plotTargetMissionAIs- Overrides
- CvPlayer::AI_plotTargetMissionAIs(CvPlot *, MissionAITypes, int)
Hooks
static bool BeforeCvPlayerAI_AI_plotTargetMissionAIs(CvPlayerAI* self, CvPlot* pPlot, MissionAITypes eMissionAI, int iRange, int& result);static void AfterCvPlayerAI_AI_plotTargetMissionAIs(CvPlayerAI* self, CvPlot* pPlot, MissionAITypes eMissionAI, int iRange, int& result);static int ReplaceCvPlayerAI_AI_plotTargetMissionAIs(int (*original)(CvPlayerAI*, CvPlot*, MissionAITypes, int), CvPlayerAI* self, CvPlot* pPlot, MissionAITypes eMissionAI, int iRange);CivRegisterBefore<CivHooks::CvPlayerAI_AI_plotTargetMissionAIs>(host, &BeforeCvPlayerAI_AI_plotTargetMissionAIs);CivRegisterAfter<CivHooks::CvPlayerAI_AI_plotTargetMissionAIs>(host, &AfterCvPlayerAI_AI_plotTargetMissionAIs);CivRegisterReplace<CivHooks::CvPlayerAI_AI_plotTargetMissionAIs>(host, &ReplaceCvPlayerAI_AI_plotTargetMissionAIs);
Code
814int CvPlayerAI::AI_plotTargetMissionAIs(CvPlot* pPlot, MissionAITypes eMissionAI, int iRange)815{816 int iCount = 0;817818 int iLoop;819 for(CvUnit* pLoopUnit = firstUnit(&iLoop); pLoopUnit; pLoopUnit = nextUnit(&iLoop))820 {821 CvPlot* pMissionPlot = pLoopUnit->GetMissionAIPlot();822 if(!pMissionPlot)823 {824 continue;825 }826827 MissionAITypes eGroupMissionAI = pLoopUnit->GetMissionAIType();828 if(eGroupMissionAI != eMissionAI)829 {830 continue;831 }832833 int iDistance = plotDistance(pPlot->getX(), pPlot->getY(), pMissionPlot->getX(), pMissionPlot->getY());834 if(iDistance == iRange)835 {836 iCount++;837 }838 }839840 return iCount;841}