• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

hadaev

Colonel
25 Badges
Sep 7, 2012
977
223
  • Europa Universalis III Complete
  • Divine Wind
  • Crusader Kings II
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Crusader Kings III
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Shadowrun: Dragonfall
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Tyranny: Archon Edition
  • Stellaris Sign-up
  • Stellaris
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Europa Universalis IV
  • Magicka

Integrity​

I have verified my game files (on Steam)​

Yes

I have disabled all mods​

Yes

Required​

Summary​

Seems like every treaty even after end of binding period still considered as binding by game in 1.9.6 and ai cant break it

Description​

I noticed ai dont want to exit treaties it dont like.
I tried to make event to forcefully end treaties, but found binds trigger returns same for every treaty regardless of binding.
From my observation this prevents prussia from attacking austria (even if prussia have -1k for treaty and TREATIES_ACCEPTANCE_WITHDRAW_BINDING_PERIOD_THRESHOLD = -800)

Steps to reproduce​

I launched both events, 1 did nothing, 2 breaks every treaty country have. Test country have treaties with both binding period and expired.

Code:
test.1 = {

    type = country_event

    hidden = yes

    immediate = {

        every_scope_treaty = {

            limit = {

                not = {

                    binds = root

                }

            }

            withdraw = {

                country = root

            }

        }

    }

}


test.2 = {

    type = country_event

    hidden = yes

    immediate = {

        every_scope_treaty = {

            limit = {

                binds = root

            }

            withdraw = {

                country = root

            }

        }

    }

}

Game Version​

1.9.6

OS​

Windows

Additional​

Bug Type​

AI (non-player characters)

Save Game​



Attachments​



Player Pain​

9

 
  • 7Like
Reactions:
That's absolutely right. This is a really serious bug, and I wonder if the developers are aware of it. I've been eagerly waiting for patch 1.9.7 because of this bug, but if it's released without them acknowledging it, I can only imagine how much longer we'll have to wait. Thank you so much for reporting this first. I wanted to report it as well.
 
  • 3Like
Reactions:
Here's a temporary workaround shared by the Korean Victoria 3 community. (Translated by gemini)

For the base game:

  1. Navigate to your Victoria 3 installation folder and open \game\common\defines\00_ai.txt.
  2. Search for the line TREATIES_ACCEPTANCE_WITHDRAW_THRESHOLD.
  3. The default value should be -50. Change it to 0. (It seems the game cannot properly recognize negative values for this setting, as even -1 doesn't work).
If you are using AI-related mods (like Kuromi AI):
4. Go to your mod's installation folder, find the \common\defines directory, and open the relevant AI file (e.g., 00_ai.txt, or in Kuromi AI's case, it's ai_ai.txt).5. If the line TREATIES_ACCEPTANCE_WITHDRAW_THRESHOLD already exists, change its value to 0 as well. If it does not exist, add the following new line:TREATIES_ACCEPTANCE_WITHDRAW_THRESHOLD = 0

According to the report from that community, a side effect of this workaround is that treaties which should be permanent, such as Treaty Ports gained from war, may also be terminated after just 5 years. (I have not confirmed this myself, however.)
 
  • 1Like
Reactions:
TREATIES_ACCEPTANCE_WITHDRAW_THRESHOLD = 0
Just tested it.
With 0 ai breaks all treaties, even ones with positive score, but not binding ones.
With -1 it breaks nothing (as far as i can see).

AI can still withdraw
In my game prussia have -1065 score for defence pact with austria and do nothing about it.
Something is wrong, i can feel it.
 
  • 2Like
  • 1
Reactions:
I don't think this is a bug, the AI can still withdraw if it wants and you can too. The binding period only means you get penalties for breaking it in that amount of time.
Yes, I agree that it should be possible to maintain a treaty even after its initial binding period has passed.

The issue I am raising, however, is that the AI never breaks a treaty even when circumstances dictate it should—for example, when relations with the other party have soured, or the treaty is no longer strategically beneficial. The problem is that the AI's inability to break these treaties causes all of them to effectively become permanent.

If you start a game in observer mode and watch the great powers, you will see them maintain treaties long after their binding period is over, even when it's clear that due to changed circumstances, neither side wants the treaty anymore. I think this is the core of the problem.


Furthermore, if you select 'Enforce Money Transfer' as a war goal against an AI and win the war, the AI will never break the resulting treaty with the player. This is one of the main reasons I am convinced that this is a bug, not an intended feature.
 
Last edited:
  • 1
Reactions:
Just tested it.
With 0 ai breaks all treaties, even ones with positive score, but not binding ones.
With -1 it breaks nothing (as far as i can see).


In my game prussia have -1065 score for defence pact with austria and do nothing about it.
Something is wrong, i can feel it.
Exactly. That's why it's only a temporary fix. :( It's a shame that we have to choose between two extremes: an AI that keeps treaties forever, versus an AI that breaks them the very moment it's allowed to. All we can do is hope that it gets properly fixed in 1.9.7.
 
Furthermore, if you select 'Enforce Money Transfer' as a war goal against an AI and win the war, the AI will never break the resulting treaty with the player. This is one of the main reasons I am convinced that this is a bug, not an intended feature.

Because of this bug I had 400 000 reparations paid from USA to my Mexico indefinitely. They didn't cancel them even dacades after truce was over.
 
Because of this bug I had 400 000 reparations paid from USA to my Mexico indefinitely. They didn't cancel them even dacades after truce was over.
A human player has the option to break the treaty the moment the reparations period ends. The problem, however, is that the game doesn't provide a notification when the treaty expires, so it's often forgotten.
 
Yes, I agree that it should be possible to maintain a treaty even after its initial binding period has passed.

The issue I am raising, however, is that the AI never breaks a treaty even when circumstances dictate it should—for example, when relations with the other party have soured, or the treaty is no longer strategically beneficial. The problem is that the AI's inability to break these treaties causes all of them to effectively become permanent.

If you start a game in observer mode and watch the great powers, you will see them maintain treaties long after their binding period is over, even when it's clear that due to changed circumstances, neither side wants the treaty anymore. I think this is the core of the problem.


Furthermore, if you select 'Enforce Money Transfer' as a war goal against an AI and win the war, the AI will never break the resulting treaty with the player. This is one of the main reasons I am convinced that this is a bug, not an intended feature.
Ah, ok. huh now that i see this this happening in my games too.

Btw can you can see why i have no supply once i send my army to this front, it would be really helpful, because ive checked market deficiency, convoy supply, contraventions, everything i can, and there seems to be no problems but its saying no supply due to "sealane efficiency", im playing as borana and its still early-mid game
here is file:
 

Attachments

  • autosave_2.v3
    22,9 MB · Views: 0
Ah, ok. huh now that i see this this happening in my games too.

Btw can you can see why i have no supply once i send my army to this front, it would be really helpful, because ive checked market deficiency, convoy supply, contraventions, everything i can, and there seems to be no problems but its saying no supply due to "sealane efficiency", im playing as borana and its still early-mid game
here is file:
I don't think this is the right place to comment on this particular issue. It would probably be better to create a new post to file a proper bug report.

However, to briefly share my thoughts: this also seems like a bug. My guess is that the game determines there is no supply connection between the HQ and the front line. This results in a 0% supply status, which then causes organization to drop.
maybe this.png
 
I don't think this is the right place to comment on this particular issue. It would probably be better to create a new post to file a proper bug report.

However, to briefly share my thoughts: this also seems like a bug. My guess is that the game determines there is no supply connection between the HQ and the front line. This results in a 0% supply status, which then causes organization to drop.
View attachment 1333932
Thank you for your input. I have put this issue up in the bug report 3 times, but have gotten no replies, and I can't continue until fixed, It is definetly weird that there is no supply despite the front literally being bordering the capital state.

It is really wholesome of you to take the time to check out a random person's bug for no reason, thank you so much!
 
A human player has the option to break the treaty the moment the reparations period ends. The problem, however, is that the game doesn't provide a notification when the treaty expires, so it's often forgotten.
No, the problem is that the AI never breaks the treaty.

Saying "Well the player can cancel the US sending them 400k per week" isn't a proper fix. Yea, if you don't want to break the game and turn the game into collect permanent money transfers from everyone, you need to play honestly and cancel it yourself.

The problem is that the AI should do it AUTOMATICALLY, the moment they are no longer bound by a treaty to give you a monopoly, or a 400k per week in reparations, they should be breaking those treaties.
 
No, the problem is that the AI never breaks the treaty.

Saying "Well the player can cancel the US sending them 400k per week" isn't a proper fix. Yea, if you don't want to break the game and turn the game into collect permanent money transfers from everyone, you need to play honestly and cancel it yourself.

The problem is that the AI should do it AUTOMATICALLY, the moment they are no longer bound by a treaty to give you a monopoly, or a 400k per week in reparations, they should be breaking those treaties.
yes. I agree with you. and it was fixed well in OBT 1.9.7 :)
 
Nop the issue was not fixed .Only enforced treaty are broken automatically after binding period ends.Ai still maintains negotiated treaty even though both dislike it .
Ok, so I just did a quick little test. It is actually working. The issue is that the threshold to break the treaties is set at -50. It IS actually working though.

I just loaded up my current save after making a quick little mod to change that value (It's located in common/defines/00_ai.txt

I changed the following from -50 to -1.
TREATIES_ACCEPTANCE_WITHDRAW_THRESHOLD = -1 # (vanilla = -50) Threshold at or under which AI will withdraw from treaties outside of their binding period

Booted up the game, loaded my save, and went and looked at a random country with an expired (negotiated, not enforced) defense pact that they wanted out of. Brazil worked. They had a value of -30somethin). Took a week or two but they broke it. Looks like everything is actually working now, they are just not reaching the threshold to want to break these treaties which is -50.

If you believe that -50 is too much, you can always reduce (increase) the value, maybe -25 is better? Either way, you can do a dirty edit, and just directly edit the file if you don't want to make it a mod. Just remember to change it back if you plan to do any multiplayer or you will get a version mismatch!
 
  • 1
Reactions: