Afforess
The White Wizard
Description:
Realistic Diplomacy works to alter the way the AI remembers diplomatic events. In vanilla Civ4, the AI remembers all events forever (or close enough). This is completely unrealistic. Americans don't remember that the British razed Washington D.C to the ground in the war of 1812. Nor do the Japanese hold the two atomic explosions against us anymore. Time alters the memory of once horrific events. Now, with Realistic Diplomacy, the AI forgets minor events quickly and major ones over time.
How this is achieved:
Surprisingly, Firaxis made all diplomatic event memories editable in the LeaderHeadInfos.xml file, but decided to make some events (like War Declarations) unforgettable. Realistic Diplomacy changes this.
For example, lets look at this event:
If you gave tribute to the AI, the AI has a 39% chance of forgetting it in 100 turns. The way this is calculated is by binomial probability. Each turn, a two hundred sided die is rolled, and if it returns a 0, the AI forgets the event, otherwise, the AI remembers it. Remembering a tribute for 100 turns is like remembering something that happened a 1000 years ago.
(Note: Firaxis forgot to make memory decays scale for GameSpeed. I have reported this to the Unofficial Patch. If you are or have SDK modders, I recommend you scale it yourself, look in void CvPlayerAI::AI_doCounter() to find where the AI forgets.)
There are several memory types hidden in the SDK, never shown to XML modders, unless you know where to look. They are:
This one modifies how long the AI remembers war declarations against them.
This one affects how long the AI remembers war declarations on their friends.
This one affects how long the AI remembers you hiring war allies against them.
This one is pretty obvious, how long the AI remember nukes.
The same as above, but for the AI's friend.
How long the AI remembers that you razed one of their cities to the ground.
Same as above, but how long the AI remembers you razing a holy city.
How long the AI remember you having a caught spy in their territory.
Example Leader Files:
Realistic Diplomacy works to alter the way the AI remembers diplomatic events. In vanilla Civ4, the AI remembers all events forever (or close enough). This is completely unrealistic. Americans don't remember that the British razed Washington D.C to the ground in the war of 1812. Nor do the Japanese hold the two atomic explosions against us anymore. Time alters the memory of once horrific events. Now, with Realistic Diplomacy, the AI forgets minor events quickly and major ones over time.
How this is achieved:
Surprisingly, Firaxis made all diplomatic event memories editable in the LeaderHeadInfos.xml file, but decided to make some events (like War Declarations) unforgettable. Realistic Diplomacy changes this.
For example, lets look at this event:
Code:
<MemoryDecay>
<MemoryType>MEMORY_GIVE_HELP</MemoryType>
<iMemoryRand>200</iMemoryRand>
</MemoryDecay>
(Note: Firaxis forgot to make memory decays scale for GameSpeed. I have reported this to the Unofficial Patch. If you are or have SDK modders, I recommend you scale it yourself, look in void CvPlayerAI::AI_doCounter() to find where the AI forgets.)
There are several memory types hidden in the SDK, never shown to XML modders, unless you know where to look. They are:
Code:
<MemoryDecay>
<MemoryType>MEMORY_DECLARED_WAR</MemoryType>
<iMemoryRand>45</iMemoryRand>
</MemoryDecay>
This one modifies how long the AI remembers war declarations against them.
Code:
<MemoryDecay>
<MemoryType>MEMORY_DECLARED_WAR_ON_FRIEND</MemoryType>
<iMemoryRand>40</iMemoryRand>
</MemoryDecay>
This one affects how long the AI remembers war declarations on their friends.
Code:
<MemoryDecay>
<MemoryType>MEMORY_HIRED_WAR_ALLY</MemoryType>
<iMemoryRand>35</iMemoryRand>
</MemoryDecay>
This one affects how long the AI remembers you hiring war allies against them.
Code:
<MemoryDecay>
<MemoryType>MEMORY_NUKED_US</MemoryType>
<iMemoryRand>70</iMemoryRand>
</MemoryDecay>
This one is pretty obvious, how long the AI remember nukes.
Code:
<MemoryDecay>
<MemoryType>MEMORY_NUKED_FRIEND</MemoryType>
<iMemoryRand>50</iMemoryRand>
</MemoryDecay>
The same as above, but for the AI's friend.
Code:
<MemoryDecay>
<MemoryType>MEMORY_RAZED_CITY</MemoryType>
<iMemoryRand>50</iMemoryRand>
</MemoryDecay>
How long the AI remembers that you razed one of their cities to the ground.
Code:
<MemoryDecay>
<MemoryType>MEMORY_RAZED_HOLY_CITY</MemoryType>
<iMemoryRand>200</iMemoryRand>
</MemoryDecay>
Same as above, but how long the AI remembers you razing a holy city.
Code:
<MemoryDecay>
<MemoryType>MEMORY_SPY_CAUGHT</MemoryType>
<iMemoryRand>10</iMemoryRand>
</MemoryDecay>
Example Leader Files: