• 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.

armadaxster

Recruit
58 Badges
Mar 29, 2017
8
13
  • Cities: Skylines - Snowfall
  • Europa Universalis IV: Third Rome
  • Semper Fi
  • Crusader Kings II: Jade Dragon
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III Collection
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Hearts of Iron III: Their Finest Hour
  • For the Motherland
  • Hearts of Iron III
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Together for Victory
  • Cities: Skylines - Natural Disasters
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: Common Sense
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Golden Century
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Holy Fury
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Conclave
  • Europa Universalis 4: Emperor
  • Cities: Skylines - Campus
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Way of Life
  • Crusader Kings III
  • Crusader Kings II: Horse Lords
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: Legacy of Rome
Short summary of your issue
Dissolution war not destroying primary title

Game Version
1.6.1 1.6.1.1

What OS are you playing on?
Windows

What platform are you using?
Steam

What DLC do you have installed?
Royal Court,

Do you have mods enabled?
No

Have you tried verifying your game files (Steam only)?
Yes

How much "pain" is this causing you?
6

Please explain the issue you experienced in the most condensed way possible
I swear fealty to neighbor emperor(khazar khanate), he accepts. I become his vassal. I create a dissolution faction to break the realm. I press demands, he declines, we go to war. I win the war. I enforce demands. I get independent, nothing else happens. Khazar khanate should be destroyed.

Please explain how to reproduce the issue
I have tried with yesmen on, in debug mode. Pick any vassal, create a dissolution faction. Go to war, and win. In the end, main title of your liege wont be destroyed.

Is there anything else you think could help us identify/replicate the issue?
I am pretty sure this is new with 1.6.1 patch. I have attached the saves, they are ironamn. It happened to me before so i had a copy of the save before swearing fealty.

I have attached a save game
Yes

Upload Attachment
File(s) attached
 

Attachments

  • 20220622232510_1.jpg
    20220622232510_1.jpg
    894,6 KB · Views: 0
  • after_diss_war.ck3
    8 MB · Views: 0
  • before_diss_war.ck3
    7,8 MB · Views: 0
  • 4Like
  • 4
Reactions:
So I did a little bit of testing, and found some information.
In the game/common/casus_belli_types/00_civil_war.txt file under nation_fracturing_war section line 1867 :

Code:
        scope:defender = {
            every_held_title = {
                limit = {
                    tier = prev.primary_title.tier
                }
                add_to_temporary_list = titles_to_destroy
            }
        }

        every_in_list = {
            list = titles_to_destroy
            destroy_title = this
        }
this part is not working. I replaced this code block with the one from 1.6.0 version. The old one was like this:
Code:
        scope:defender = {
            every_held_title = {
                limit = {
                    NOT = { this = prev.primary_title }
                    tier = prev.primary_title.tier
                }
                prev = { destroy_title = this }
            }
            destroy_title = primary_title
        }
And it worked. I launched the game with debug mode, set the yesmen on. Selected a random vassal, immediately created a dissolution faction and sent an ultimatum. My liege accepted (yesmen is on) and the byzantine empire was no more.

Edit:
When your liege accepts right away, without going to war, it is still broken. To fix this we need to make changes on game\events\faction_demands.txt file.

Edit2: used code blocks to increase readiblity.
 
Last edited:
  • 2
Reactions:
So I did a little bit of testing, and found some information.
In the game/common/casus_belli_types/00_civil_war.txt file under nation_fracturing_war section line 1867 :

scope:defender = {
every_held_title = {
limit = {
tier = prev.primary_title.tier
}
add_to_temporary_list = titles_to_destroy
}
}

every_in_list = {
list = titles_to_destroy
destroy_title = this
}

this part is not working. I replaced this code block with the one from 1.6.0 version. The old one was like this:

scope:defender = {
every_held_title = {
limit = {
NOT = { this = prev.primary_title }
tier = prev.primary_title.tier
}
prev = { destroy_title = this }
}
destroy_title = primary_title
}

And it worked. I launched the game with debug mode, set the yesmen on. Selected a random vassal, immediately created a dissolution faction and sent an ultimatum. My liege accepted (yesmen is on) and the byzantine empire was no more.
@Axis89 looks like the devs too decided dissolution factions shouldn't be in the game
 
  • 5Haha
Reactions:
In my case, I approved the claim from the dissolution faction against me, to see what happens.
Nothing happened except the faction member gets independence.
I still keep my primary title.
Surely, it's broken.
 

Attachments

  • Accept Dissolution.ck3
    8,4 MB · Views: 0
Paradox should probably allow destroy_title to be applied to a title. Currently it can only be applied to a character (the holder of the title), which is kind of a weird and unintuitive interface. I've seen other bugs caused by confusion around destroy_title.
 
  • 2
Reactions:
The old one was like this:

scope:defender = {
every_held_title = {
limit = {
NOT = { this = prev.primary_title }
tier = prev.primary_title.tier
}
prev = { destroy_title = this }
}
destroy_title = primary_title
}

And it worked. I launched the game with debug mode, set the yesmen on. Selected a random vassal, immediately created a dissolution faction and sent an ultimatum. My liege accepted (yesmen is on) and the byzantine empire was no more.
That old code doesn't really work either because it destroys only the primary title. In prev = { destroy_title = this }, the "prev" refers to the liege and the "this" is supposed to refer to the title but it doesn't because "prev = {" opened a new scope where "this" is also the liege. The correct way to write it would be either prev = { destroy_title = prev } or, less confusingly, scope:defender = { destroy_title = prev }

I'm a bit sad because we analyzed all this in the bug report about that problem and figured out the correct fix, but that information never reached the developers and they made a wrong fix instead.
 
  • 2Haha
  • 2
  • 2
  • 1Like
Reactions:
So I did a little bit of testing, and found some information.
In the game/common/casus_belli_types/00_civil_war.txt file under nation_fracturing_war section line 1867 :

scope:defender = {
every_held_title = {
limit = {
tier = prev.primary_title.tier
}
add_to_temporary_list = titles_to_destroy
}
}

every_in_list = {
list = titles_to_destroy
destroy_title = this
}

this part is not working. I replaced this code block with the one from 1.6.0 version. The old one was like this:

scope:defender = {
every_held_title = {
limit = {
NOT = { this = prev.primary_title }
tier = prev.primary_title.tier
}
prev = { destroy_title = this }
}
destroy_title = primary_title
}

And it worked. I launched the game with debug mode, set the yesmen on. Selected a random vassal, immediately created a dissolution faction and sent an ultimatum. My liege accepted (yesmen is on) and the byzantine empire was no more.
what's the path of the file you had to edit?
 
what's the path of the file you had to edit?
It's written in the post. Go to game directory. Probably C:\Program Files\Steam\steamapps\common\Crusader Kings III. this is game directory.

then game\common\casus_belli_types\00_civil_war.txt

This is the code from 1.6.0 that kind of works, destroys only the primary title. If your liege has multiple empire or kingdom titles, this code also doesn't dissolute the empire.

Code:
        scope:defender = {
            every_held_title = {
                limit = {
                    NOT = { this = prev.primary_title }
                    tier = prev.primary_title.tier
                }
                prev = { destroy_title = this }
            }
            destroy_title = primary_title
        }

But wait, there is more. What if your liege accepts right away, without going to war? It is still broken. To fix this we need to make the following change.
In game folder, game\events\faction_demands.txt change this code block : (line 1395)
Code:
        every_held_title = {
            limit = {
                tier = prev.primary_title.tier
            }
            add_to_temporary_list = titles_to_destroy
        }

        every_in_list = {
            list = titles_to_destroy
            destroy_title = this
        }

with this code block.

Code:
        every_held_title = {
            limit = {
                NOT = { this = prev.primary_title }
                tier = prev.primary_title.tier
            }
            prev = { destroy_title = this }
        }
        destroy_title = primary_title

Note: These are temporary changes. As @Amtep pointed out, paradox needs to make more robust fixes.

That old code doesn't really work either because it destroys only the primary title. In prev = { destroy_title = this }, the "prev" refers to the liege and the "this" is supposed to refer to the title but it doesn't because "prev = {" opened a new scope where "this" is also the liege. The correct way to write it would be either prev = { destroy_title = prev } or, less confusingly, scope:defender = { destroy_title = prev }

I'm a bit sad because we analyzed all this in the bug report about that problem and figured out the correct fix, but that information never reached the developers and they made a wrong fix instead.

I see what you mean. I tried few cases, the code from 1.6.0 that i posted only destroys the primary title. In my experience target had only one title that i wanted to destroy, so I havent noticed. But yeah, hope we get a complete fix in the next patch.
 
Last edited:
  • 2
  • 1Like
Reactions:
I put this in but it only gives you the option to accept the faction demands.
Yeah, I dont know. I was the one sending the ultimatum, in my experience. I havent tested as being the recipient. That code probably broke something else.
Sorry about that.

It seems like quite an issue this bug. I was expecting quick fix. Guess I was wrong.
 
Yeah, I dont know. I was the one sending the ultimatum, in my experience. I havent tested as being the recipient. That code probably broke something else.
Sorry about that.

It seems like quite an issue this bug. I was expecting quick fix. Guess I was wrong.
No apology is necessary at all. It is guys like you that are making the game playable right now and I sincerely appreciate the effort.