A bug in CvPlayerAI::AI_counterPropose

dilandau

Chieftain
Joined
Aug 19, 2008
Messages
19
BTS319, CvPlayerAI.cpp Line 5914
Code:
5904    int iGoldWeight = iAIDealWeight - iHumanDealWeight;

        if (iGoldWeight > 0)
        {
            if (pGoldNode)
            {
                iGoldData = iGoldWeight * 100;
                iGoldData /= iGoldValuePercent;
5914            if ((iGoldData * iGoldValuePercent) < iGoldWeight)
                {
                    iGoldData++;
                }
                if (GET_PLAYER(ePlayer).AI_maxGoldTrade(getID()) >= iGoldData)
                {
                    pGoldNode->m_data.m_iData = iGoldData;
                    iHumanDealWeight += (iGoldData * iGoldValuePercent) / 100;
                    pTheirCounter->insertAtEnd(pGoldNode->m_data);
                    pGoldNode = NULL;
                }
            }
        }

This line is incorrect.
Code:
if ((iGoldData * iGoldValuePercent) < iGoldWeight)

It should be
Code:
if ((iGoldData * iGoldValuePercent) < iGoldWeight * 100)
 
Top Bottom