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

Tatterhood

Conscientious Objector
35 Badges
Jun 9, 2016
1.581
1.519
  • Crusader Kings II
  • Cities: Skylines
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Conclave
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Way of Life
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Stellaris: Apocalypse
  • Stellaris: Megacorp
  • Stellaris: Federations
  • Stellaris: Leviathans Story Pack
  • Stellaris: Synthetic Dawn
  • Stellaris: Distant Stars
  • Stellaris: Ancient Relics
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Lithoids
  • Stellaris: Necroids
One line summary of your issue
[3.0.1] Inconsistency between the candidate_trigger for princely and feudal elective

Game Version
3.0.1

What expansions do you have installed?
All of the above

Do you have mods enabled?
No

Please explain your issue is in as much detail as possible.
I was looking in the succession voting code in response to someone else's question and noticed this small but significant difference (inside a NOR block, so these are conditions excluding someone from eligibility):
Code:
               # Feudal elective
               mother = {
                   is_alive = yes
                   is_married = ROOT
                   parent_for_elective_succession_trigger = yes
               }
               father = {
                   is_alive = yes
                   is_married = ROOT
                   parent_for_elective_succession_trigger = yes
               }
vs.
Code:
               # Princely elective
               mother = {
                   is_alive = yes
                   NOT = { is_married = ROOT }
                   parent_for_elective_succession_trigger = yes
               }
               father = {
                   is_alive = yes
                   NOT = { is_married = ROOT }
                   parent_for_elective_succession_trigger = yes
               }
The princely version makes an exception to the "can't nominate someone whose parent is eligible" logic when the parent is married to the ruler, whereas the feudal elective version applies only in that case. I suspect the princely version is the intended behaviour in both cases, and the missing NOTs here are the cause of (at least some of) the issues with people being unable to nominate their children under feudal elective.

Steps to reproduce the issue.


Upload Attachment
 
Upvote 0
I noticed this too and agree with your analysis. However, I think it's weird that it's checking marriage at all! A divorce shouldn't change my child's eligibility, and marrying a vassal shouldn't change the eligibility of their other children.

Instead, both succession methods should be changed to check parentage directly:

Code:
    OR = {
        is_child_of = ROOT  # Candidate is the ruler's child
        NOR = {
            mother = {
                is_alive = yes
                parent_for_elective_succession_trigger = yes
            }
            father = {
                is_alive = yes
                parent_for_elective_succession_trigger = yes
            }
        }
    }
 
I noticed this too and agree with your analysis. However, I think it's weird that it's checking marriage at all! A divorce shouldn't change my child's eligibility, and marrying a vassal shouldn't change the eligibility of their other children.

Instead, both succession methods should be changed to check parentage directly:

Code:
    OR = {
        is_child_of = ROOT  # Candidate is the ruler's child
        NOR = {
            mother = {
                is_alive = yes
                parent_for_elective_succession_trigger = yes
            }
            father = {
                is_alive = yes
                parent_for_elective_succession_trigger = yes
            }
        }
    }
Yeah I agree, it's weird that "parent is currently married to the ruler" is the check rather than something else like that. I thought about suggesting such a change but figured I'd keep it to the specific bug.

While we're at it, if the point is to prevent skipping a generation by nominating someone with an eligible parent, it probably should take gender laws into account in terms of which parent it checks. Unless I'm missing something it looks to me like it will prevent you from "skipping" the mother even under strict agnatic. (And even under agnatic-cognatic, maternal grandsons would inherit ahead of their mothers in primo so it's weird for them to be ineligible in elective.)
 
Last edited:
Note that the "fix" was just to comment out the preference for parents altogether:
Code:
           NOR = {
               #mother = {         # Uncommenting this condition provokes that a ruler's son is not a valid candidate if the mother is married to the ruler and a candidate
               #   is_alive = yes
               #   is_married = ROOT
               #   parent_for_elective_succession_trigger = yes
               #}
               #father = {           # Same as above, for the father
               #   is_alive = yes
               #   is_married = ROOT
               #   parent_for_elective_succession_trigger = yes
               #}