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}