Re: Congresses, I found several clear mistakes in Congress.py.
Line 412:
iGoldRequired = (2*pHuman.getGold() + 2*pCiv.getGold())/4 - 70
This means iGoldRequired will always be larger than half your entire treasury (which can easily be 5,000 or more). A more reasonable replacement would be:
iGoldRequired = (pHuman.getGold() + 4*pCiv.getGold())/10
The Soggezione modifier also needs to be reworked IMO - currently its effect is small enough to be negligible. Line 419:
iSoggezioneModifier = min(100, abs(iSoggezione)*(100/((iNumPlayers/2)+5))) + 100
With many new civs added by Leoreth in DoC, iNumPlayers is now much larger than in original RFC. This is why Line 419 must be rebalanced. I suggest a replacement as
iSoggezioneModifier = min(80, abs(iSoggezione)*(80/8)) + 100
Which means you get maximum Soggezione effect if you're ranked 8 places or more above another player. This also eliminates any need for rebalance should more future civs be added.
Line 425:
iAttitudeModifier = (100 - abs(iAttitude)*25)
Also causes other civs to require
less Gold if their attitude is low enough.
I'd replace Lines 424 to 429 with the following:
iAttitude = pCiv.AI_getAttitude(iHuman)
iAttitudeModifier = max(50, 100 - iAttitude*12)
iTempThreshold = iTempThreshold*iAttitudeModifier/100
This means that if you have +5 relation or above you get a 50% discount.
0 relation does not increase or decrease the Gold required.
At -8 relation penalty, you need twice as much Gold to bribe a civ.
A version of Congress.py containing all the above modifications is here:
https://docs.google.com/open?id=0B1tOvidN2TVDSFZ5RUVBaHFfdWc