// uses the same scale as CvPlayerAI::AI_getOurPlotStrength int CvSelectionGroupAI::AI_GroupPower(CvPlot* pPlot, bool bDefensiveBonuses) const { CLLNode<IDInfo>* pUnitNode; CvUnit* pLoopUnit; int iValue; iValue = 0; pUnitNode = headUnitNode(); while (pUnitNode != NULL) { pLoopUnit = ::getUnit(pUnitNode->m_data); pUnitNode = nextUnitNode(pUnitNode); if ((bDefensiveBonuses && pLoopUnit->canDefend()) || pLoopUnit->canAttack()) { if (!(pLoopUnit->isInvisible(getTeam(), false))) { if (pLoopUnit->atPlot(pPlot) || pLoopUnit->canMoveInto(pPlot) || pLoopUnit->canMoveInto(pPlot, /*bAttack*/ true)) { iValue += pLoopUnit->currEffectiveStr((bDefensiveBonuses ? pPlot : NULL), NULL); } } } } return iValue; }