Bazaar developer reference

CvTacticalAI::IsMediumPriorityCivilianTarget(CvTacticalTarget *)

Defined in
CvTacticalAI.cpp, line 11641
Class
CvTacticalAI
Hook name
CivHooks::CvTacticalAI_IsMediumPriorityCivilianTarget

Hooks

static bool BeforeCvTacticalAI_IsMediumPriorityCivilianTarget(CvTacticalAI* self, CvTacticalTarget* pTarget, bool& result);static void AfterCvTacticalAI_IsMediumPriorityCivilianTarget(CvTacticalAI* self, CvTacticalTarget* pTarget, bool& result);static bool ReplaceCvTacticalAI_IsMediumPriorityCivilianTarget(bool (*original)(CvTacticalAI*, CvTacticalTarget*), CvTacticalAI* self, CvTacticalTarget* pTarget);CivRegisterBefore<CivHooks::CvTacticalAI_IsMediumPriorityCivilianTarget>(host, &BeforeCvTacticalAI_IsMediumPriorityCivilianTarget);CivRegisterAfter<CivHooks::CvTacticalAI_IsMediumPriorityCivilianTarget>(host, &AfterCvTacticalAI_IsMediumPriorityCivilianTarget);CivRegisterReplace<CivHooks::CvTacticalAI_IsMediumPriorityCivilianTarget>(host, &ReplaceCvTacticalAI_IsMediumPriorityCivilianTarget);

Code

11640/// Is this civilian target of medium priority?11641bool CvTacticalAI::IsMediumPriorityCivilianTarget(CvTacticalTarget* pTarget)11642{11643	bool bRtnValue = false;11644	CvUnit* pUnit = (CvUnit*)pTarget->GetAuxData();11645	if(pUnit)11646	{11647		int iEstimatedEndTurn = GC.getGame().getEstimateEndTurn();11648		if(pUnit->isEmbarked() && !pUnit->IsCombatUnit())  //embarked civilians11649		{11650			bRtnValue = true;11651		}11652		else if(pUnit->AI_getUnitAIType() == UNITAI_SETTLE)11653		{11654			if(GC.getGame().getGameTurn() >= (iEstimatedEndTurn / 3))11655			{11656				bRtnValue =  true;11657			}11658		}11659		else if(pUnit->AI_getUnitAIType() == UNITAI_WORKER)11660		{11661			if(GC.getGame().getGameTurn() < (iEstimatedEndTurn / 3))  //early game?11662			{11663				bRtnValue =  true;11664			}11665		}11666	}11667	return bRtnValue;11668}

Calls

Called by