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

irwoodhouse

Recruit
7 Badges
Mar 25, 2021
2
0
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings Complete
  • Crusader Kings II: Jade Dragon
One line summary of your issue
county fabricate claim blocked after kingdom fabricate claim - break/flag conflict in job_chancellor.txt

Game Version
3.3.4

What expansions do you have installed?
Jade Dragon, Monks & Mystics, Charlemagne, The Old Gods, Legacy of Rome

Do you have mods enabled?
No

Please explain your issue is in as much detail as possible.
After a successful fabricate KINGDOM claim with obj_become_king ambition, the player's chancellor is left with the flag claim_done, which SILENTLY prevents all future fabricate COUNTY claims (but not DUCHY claims) AND IS NOT DOCUMENTED IN THE WIKI AS CORRECT BEHAVIOUR.

The cause appears to be sloppy programming in job_chancellor.txt for event 913 action_fabricate_claims.

Lines 356, 392, 428, 462 set claim_done for KINGDOM claims and ARE immediately followed by break=yes.
Lines 496, 529, 561 set claim_done for DUCHY claims and ARE NOT followed by break=yes.
Line 567 for COUNTY claims checks for claim_done and skips if set.
Line 592 outside all kingdom/duchy/county clauses clears claim_done, but break=yes seems to skip processing this.

My interpretation is that the INTENT is as follows:
1. check for kingdom claims; set claim_done if successful
2. if kingdom claim did not succeed (no claim_done), check for duchy claims; set claim_done if successful
3. if kingdom AND duchy claims did not succeed (no claim_done), check for county claims
4. clear claim_done to reset state

There are two bug types present:
1. break=yes causes event processing to fail to execute the final statement clr_character_flag = claim_done
2. duchy claim checks (at 466, 499 and 532) do not include a check for claim_done, therefore technically both kingdom and duchy claims could fire (absent any event limitations inside the binary components which I cannot examine).

Recommended corrective action:

Option A: if the behaviour is intended (if my interpretation is wrong) - document this in the wiki
Option B: otherwise:
1. remove break=yes from kingdom clauses
2. include checks for claim_done in duchy clauses

END

Steps to reproduce the issue.
1. have ambition to become king
2. obtain kingdom claim via chancellor fabricate claim action
3. use charinfo to view player's chancellor; OR examine player's chancellor's character clause in save file saved AFTER a successful kingdom claim

Upload Attachment
File(s) attached
 

Attachments

  • kingdom_flag_claim_done.png
    kingdom_flag_claim_done.png
    1,9 MB · Views: 0
Upvote 0
sorry, to clarify:
> technically both kingdom and duchy claims could fire
break=yes prevents this, but removing break=yes from kingdom clauses without also adding claim_done checks to duchy clauses would create this behaviour.
The problem is that two different and conflicting methods have been used to prevent multiple tier claims firing at once.
 
I fully agree with the analysis. Fortunately, this bug is already fixed in CleanSlate, even though I wasn't aware of this bug when I fixed it.