You declared war on our friend request

AltheusLRP

Chieftain
Joined
Jun 17, 2012
Messages
14
Just a simple question from a long-time player. How would I go about downgrading the "You declared war on our friend" negative diplomacy modifier from triggering at Pleased or Friendly disposition to just Friendly?

The reason I ask is because whilst I know my way around XML, Python/SDK is completely lost on me so I was wondering if an expert could give me a quick guide on how they would do it.
I've been playing games on 4* Huge maps in size with 50 civilizations plucked from the excellent CivGold Mod and been having a great time, but with that many civilizations the above diplomacy modifier basically kills the diplomacy game off. Downgrading it's potency could be a good balance to improve the game.
 
You will need to make the change in the SDK. Which means you first need to set it up so you can compile it. I won't tell you how to do that, there are guides around the forum.

Once you have that done the actual change is very easy to make. Just find the CvTeam::declareWar function (it's in CvTeam.cpp) and change this line:
if ((GET_TEAM(GET_PLAYER((PlayerTypes)iJ).getTeam()).AI_getAttitude(eTeam) >= ATTITUDE_PLEASED) && !(GET_TEAM(GET_PLAYER((PlayerTypes)iJ).getTeam()).isAtWar(eTeam)))

To:
if ((GET_TEAM(GET_PLAYER((PlayerTypes)iJ).getTeam()).AI_getAttitude(eTeam) >= ATTITUDE_FRIENDLY) && !(GET_TEAM(GET_PLAYER((PlayerTypes)iJ).getTeam()).isAtWar(eTeam)))

Remove the space after getTeam()). which the forum for some reason automatically add to the post (in two places).
 
I've given it a go, but hit a snag. The XXL map mod I've been using also comes with its own CivGameCoreDLL.dll file to allow the game to be played with 50 civs, but unfortunately I don't know how to combine the two. Any tips?
 
Is the only change in that DLL making 50 civs possible? If so, that is an easy change. In CvDefines.h find:
Code:
#define MAX_CIV_PLAYERS												(18)
and change 18 to whatever you like. Barbarians do not count towards this limit.


Or try to find the source code for the custom DLL you are using. Then make the declare war on a friend change there and compile it.
 
Back
Top Bottom