Logo Platform
logo amplifiers simplified

Mod question about the AI's willingness to make peace

Reply
Copied to clipboard!
9 years ago
Jul 16, 2015, 8:23:45 PM
Is there a way to mod things so that the AI is more willing to agree to a truce when it's approval is very low (and has been for some time)?



I'm trying to prevent all AI vs AI wars from being "fights to the death."



Thanks in advance.
0Send private message
9 years ago
Jul 22, 2015, 3:20:31 PM
Hello JetJaguar,



In case you missed the answer in your other thread here it is:

Modding the AI's willingness to make peace should be possible.



If the AI does not declare a truce it means that the perceived value of a truce is not high enough.

You can tweak these values in steamapps\common\Endless Legend\Public\AI - look for anything marked "truce".

For example:









I hope it helps!
0Send private message
9 years ago
Jul 22, 2015, 4:04:28 PM
Where do TruceTermAgentCriticity and WarTermAgentCriticity come from? What effects these numbers?
0Send private message
9 years ago
Jul 23, 2015, 10:37:59 AM
Propbuddha wrote:
Where do TruceTermAgentCriticity and WarTermAgentCriticity come from? What effects these numbers?


Yeah sorry, this was my post originally and there's a lot of jargon.



I'll try to unroll it a little:



Term

A condition included in a diplomatic contract, for instance "we give you 100 dust" or "you share vision with me".



Agent

An "agent" in EL's AI is a representative concerned with a specific political or economic issue. So the "Truce Term Agent" is the agent who "wants" the truce terms to be included in diplomatic contracts, the "War Term Agent" wants declarations of war to be included. Agent make compromises in order to find some sort of consensus that lower their overall stress. Think of them as the advisors in Civilisation, only there are a lot more of them.



Criticity (aka "Stress")

How enthusiastically an agent is requesting that their objective be accomplished. This is calculated based on a hard-coded value defining how much an objective is accomplished, but is not directly proportional to it. It might, for instance, stress the upkeep agent 1000 times more to have a dust income of -10 than to have a dust income of -1. Stress is always between 0 and 1.



Criticity is called "criticity" and not "criticality" because French people :P





For example the empire plan agent might want 40 influence points for the next empire plan. How accomplished this goal is depends on the current number of empire points, the current empire point income and the number of turns before the next empire plan. Based on the this degree of accomplishment the agent with panic to a greater or less degree: the empire plan agent specifically will tend to panic at least a little bit whenever there's any chance the plan might not be possible, as empire plans are binary (either you can afford them or you can't). The agent requesting population growth would be less inflexible.



[CODE]







[/CODE]

This XML element defines the perceived value of the truce terms - you can actually see this in-game in the green/red bar at the bottom of the screen whenever you make offers/demands to an AI player. It is calculated based on how much the truce and war agents are screaming (values between 0 and 1).



You can't modify how much the agent perceive that their current situation is at odds with their desires, as this is done in code. So you can't, for instance, make the truce agent into a war agent and vice-versa. You can however tweak how much the agents "scream and wave their arms around" based on this value (ie. the aforementioned 'criticity' value). This is defined in Steam\steamapps\common\Endless Legend\Public\AI\AnimationCurves[AmasDiplomacyAgents].xml. Modify this at your own risk however, as:

[LIST=1]
  • We have not made our curve-editor tool available to the community (it would be a bit tricky to do so),
  • You can break everything very very easily!

  • [/LIST]
    0Send private message
    ?

    Click here to login

    Reply
    Comment