Bazaar developer reference

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}

Calls