[BTS] "Smaller nations should work together."

Inthegrave

Warlord
Joined
May 28, 2019
Messages
165
What controls the relationship bonus for "Smaller nations should work together."?
I don't see it in the civ4leaderheadinfos. There is certain aggressive leaders I don't want to have this relationship bonus.
 
It's hardcoded in CvPlayerAI::AI_getAttitudeVal and not based on personality:
Code:
if ((GC.getGameINLINE().getPlayerRank(getID()) >= (GC.getGameINLINE().countCivPlayersEverAlive() / 2)) &&
         (GC.getGameINLINE().getPlayerRank(ePlayer) >= (GC.getGameINLINE().countCivPlayersEverAlive() / 2)))
{
    iAttitude++;
}
The help text in the Show Hidden Attitude Mod (BULL) comes from a new function CvPlayerAI::AI_getLowRankAttitude though (via CvGameTextMgr::getAttitudeString).

Personally, I've disabled that relations modifier entirely, but I like your idea better. My thinking was that working together isn't necessarily the best way to catch up; sometimes conquering each other helps more. Well, for Gandhi working together will usually be best and for Shaka conquest should work better.
 
It's hardcoded in CvPlayerAI::AI_getAttitudeVal and not based on personality:

I'm assuming this is in the DLL? I don't know anything about DLL modding yet, I still have to set aside some time to go over the tutorials.

Personally, I've disabled that relations modifier entirely, but I like your idea better.

Yeah now that you mention it, once I start modding DLLs it might be a good first step for me to just disable the code entirely.
I mean diplomacy in this game is easy enough already. Even on Aggressive Ai, rare is the day that you will get a leader to furious without a deceleration of war.
This is why I'm making things like spies being caught, nukes and close borders give more of a relationship penalty to make diplomacy harder.
 
I'm assuming this is in the DLL? [...]
Yes, in CvPlayerAI.cpp.
I mean diplomacy in this game is easy enough already. [...]
Hm. True; in particular, the low-rank bonus helps human players early on if the difficulty level is high. Well, imo none of the rank-based modifiers should apply during the Ancient era when ranks are also still very much in flux.
This is why I'm making things like spies being caught, nukes and close borders give more of a relationship penalty to make diplomacy harder.
I've been trying to do that too. I thought that especially the mutual struggle, open borders and supplied resources bonuses were too easy to get, so I made the AI more discerning through the DLL – are they actually fighting in the war? are the open borders actually useful for trade or movement? are the supplied resources relevant in the big picture? (I've written a few pages about those and similar changes in my mod's manual under the heading "Dynamic Diplomacy".)

A higher close-borders penalty sounds fair enough. It's one of the few relations modifiers that are somewhat rational.

MEMORY_SPY_CAUGHT: You may then also want to add a MemoryDecay value (or perhaps you already have) – that penalty doesn't ever decay in BtS.
 
Well, imo none of the rank-based modifiers should apply during the Ancient era when ranks are also still very much in flux.

Interesting thing it's not just in the ancient era, it seems if 2 civilizations stay small enough or become small due to war the bonus will come back.
I noticed this when playing a game. Peter the Great completely dominated Hirohito and me as Churchill with nukes and reduced us both to only one city
and Hirohito had a relationship bonus with me because of us both being small civilizations.

(I've written a few pages about those and similar changes in my mod's manual under the heading "Dynamic Diplomacy".)
Sounds interesting I will have to give it a read then.

A higher close-borders penalty sounds fair enough. It's one of the few relations modifiers that are somewhat rational.
Especially for leaders that are territorial. A stronger negative attitude could encourage a temporary war to take some land.

MEMORY_SPY_CAUGHT: You may then also want to add a MemoryDecay value (or perhaps you already have) – that penalty doesn't ever decay in BtS.

Wait, WHAT? I never noticed that before, even after dozens of leader edits I never noticed that the leaders have no spy decay. That seems a bit weird. I suppose they did
that because it's like permanent distrust. I'm probably going to add a nuke decay as well because I would think that after some thousands of years the leader would start to let it go.
 
Interesting thing it's not just in the ancient era, it seems if 2 civilizations stay small enough or become small due to war the bonus will come back.
I noticed this when playing a game. Peter the Great completely dominated Hirohito and me as Churchill with nukes and reduced us both to only one city
and Hirohito had a relationship bonus with me because of us both being small civilizations.
It applies throughout the game. I was only thinking that, if I don't want humans to benefit from this bonus, it might suffice to disable it during the first era because humans tend to be in the top half of the scoreboard by the Classical era. That's not quite true of course, especially on the highest difficulty levels. If a human is actually losing like in your Churchill game though, then I wouldn't mind making diplomacy a little easier.
Sounds interesting I will have to give it a read then.
Well, I've already mentioned the main points. Another thing that comes to mind is that I've limited the per-city contribution to border tensions based on the current and highest-ever city population. Because, in BtS, a player can easily get the full -4 from a single city that was either badly placed by the AI or recently conquered. And I've added decays for all memory types, which doesn't actually work well through just XML when MemoryAttitudePercent has an absolute value of 200 or more because e.g. the penalty for NUKED_US will go directly from -2 to 0 when the AI forgets a nuked city. Smooth decay required some DLL changes.
Wait, WHAT? I never noticed that before, even after dozens of leader edits I never noticed that the leaders have no spy decay. That seems a bit weird. I suppose they did
that because it's like permanent distrust. I'm probably going to add a nuke decay as well because I would think that after some thousands of years the leader would start to let it go.
That surprised me too. I've just checked – it was already that way in Vanilla Civ 4 (when espionage happened only in the late game), so perhaps they just didn't think of changing it in BtS. Also HIRED_TRADE_EMBARGO and MADE_DEMAND I wouldn't have guessed were permanent before I looked at the XML file carefully.
 
Top Bottom