Aristos
Lightseeker
I decided to start a new thread related to this hotly debated issue because the new perspective after the release of the DLL deserves its own thread to avoid getting diluted into an already very long and somewhat rant-like thread. I copy all the posts I made below, hopefully to make the new debate more clear and fresh.
That block of code comes from the BNW CvDiplomacyAI.cpp, and is one of the most relevant changes in that file as compared to G&K. It may explain a lot of what is being reported by some here. We may agree or disagree on this particular approach, but look into the code, and the comments ("sanity check" ) and draw your own conclusions.
Now first thing that seems calling for testing is to play without having any trade route with neighbours, and see what happens then... did anyone test that particular scenario?
EDIT: carefully consider iDeltaGPT. For the less inclined to C++ endeavours, basically what that formula says is: "the more negative the balance will become if I loose these trade routes with this particular potential target, the less likely I am to go to war".
Code:
////////////////////////////////////
// Are we getting money from trade with them
////////////////////////////////////
int iCurrentTradeValue = GetPlayer()->GetTrade()->GetAllTradeValueFromPlayerTimes100(YIELD_GOLD, ePlayer) / 100;
if(iCurrentTradeValue > 0) // todo: add thresholds
{
// todo: constant/XML
viApproachWeights[MAJOR_CIV_APPROACH_WAR] -= 5;
viApproachWeights[MAJOR_CIV_APPROACH_HOSTILE] -= 5;
viApproachWeights[MAJOR_CIV_APPROACH_DECEPTIVE] += 5;
viApproachWeights[MAJOR_CIV_APPROACH_GUARDED] -= 1;
viApproachWeights[MAJOR_CIV_APPROACH_AFRAID] -= 1;
viApproachWeights[MAJOR_CIV_APPROACH_FRIENDLY] += 5;
viApproachWeights[MAJOR_CIV_APPROACH_NEUTRAL] -= 2;
// sanity check - if we will go negative from war with this player, don't go to war
int iGPT = GetPlayer()->calculateGoldRate();
int iDeltaGPT = iGPT - iCurrentTradeValue;
if (iGPT >= 0 && (iDeltaGPT < 0))
{
viApproachWeights[MAJOR_CIV_APPROACH_WAR] += iDeltaGPT;
}
}
That block of code comes from the BNW CvDiplomacyAI.cpp, and is one of the most relevant changes in that file as compared to G&K. It may explain a lot of what is being reported by some here. We may agree or disagree on this particular approach, but look into the code, and the comments ("sanity check" ) and draw your own conclusions.
Now first thing that seems calling for testing is to play without having any trade route with neighbours, and see what happens then... did anyone test that particular scenario?
EDIT: carefully consider iDeltaGPT. For the less inclined to C++ endeavours, basically what that formula says is: "the more negative the balance will become if I loose these trade routes with this particular potential target, the less likely I am to go to war".