if (GET_PLAYER((PlayerTypes)info.getData2()).isHuman())
{
CvPlot* pPlot = GET_PLAYER((PlayerTypes)info.getData2()).getUnit(info.getData1())->plot();
CLLNode<IDInfo>* pUnitNode;
CvUnit* pLoopUnit;
int i = 0;
int iNumPromotions = 0;
int j;
CyArgsList argsList;
long lResult=0;
argsList.add((int)GET_PLAYER((PlayerTypes)info.getData2()).getLeaderType());
argsList.add((int)GET_PLAYER((PlayerTypes)info.getData2()).getCivilizationType());
pUnitNode = pPlot->headUnitNode();
while (pUnitNode != NULL)
{
pLoopUnit = ::getUnit(pUnitNode->m_data);
pUnitNode = pPlot->nextUnitNode(pUnitNode);
i++;
if (pPopupReturn->getCheckboxBitfield(i) && pPopupReturn->getCheckboxBitfield(i) > 0 && pLoopUnit->getOwner() == (PlayerTypes)info.getData2() && pLoopUnit->getMoves() < pLoopUnit->maxMoves())
{
for (j = 0; j < GC.getNumPromotionInfos(); j++)
{
if (pLoopUnit->isHasPromotion((PromotionTypes)j))
{
iNumPromotions++;
}
}
argsList.add((iNumPromotions + 4));
argsList.add((int)pLoopUnit->getUnitType());
argsList.add(pLoopUnit->currHitPoints());
argsList.add(pLoopUnit->getMoves());
argsList.add(pLoopUnit->getFortifyTurns());
for (j = 0; j < GC.getNumPromotionInfos(); j++)
{
if (pLoopUnit->isHasPromotion((PromotionTypes)j))
{
argsList.add(j);
}
}
}
}
gDLL->getPythonIFace()->callFunction(PYGameModule, "writeAttackerUnitInfo", argsList.makeFunctionArgs(), &lResult);
}