• 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.
Cb_types. Can_use_title. It doesn't seem to recognize ROOT as a valid character/title (condition: de_jure_liege_or_above = ROOT)
On_success_title. It doesn't seem to recognize that you can PREV your way back to on_success_title (title = PREVPREV, PREVPREV being on_success_title)
Events/decisions/etc.: de_jure_liege = title/ROOT/etc isn't recognized. (Command, not a condition)
Events/decisions/etc.: The Validator doesn't seem to know yet that it can read modifiers from common\event_modifiers

That's all I can find for now.
 
Cb_types. Can_use_title. It doesn't seem to recognize ROOT as a valid character/title (condition: de_jure_liege_or_above = ROOT)
On_success_title. It doesn't seem to recognize that you can PREV your way back to on_success_title (title = PREVPREV, PREVPREV being on_success_title)
Events/decisions/etc.: de_jure_liege = title/ROOT/etc isn't recognized. (Command, not a condition)
Events/decisions/etc.: The Validator doesn't seem to know yet that it can read modifiers from common\event_modifiers

That's all I can find for now.

1) Could you post the error message? Also was this in the 1.05d patch or something modded?
2) That was the issue we discussed where PREVPREV seemed to be strange and we weren't sure if it was working or not
3) Could you post the error message? Also was this in the 1.05d patch or something modded?
4) Could you post the specific issue? Right now the Validator reads stuff from the event_modifiers folder.
 
1) Could you post the error message? Also was this in the 1.05d patch or something modded?
2) That was the issue we discussed where PREVPREV seemed to be strange and we weren't sure if it was working or not
3) Could you post the error message? Also was this in the 1.05d patch or something modded?
4) Could you post the specific issue? Right now the Validator reads stuff from the event_modifiers folder.
1)Invalid Node
At <mod>\common\cb_types.txt [religious\can_use_title\ROOT\OR] (2127, 4):
Name: de_jure_liege_or_above
Scope: CharTrigger
Value: ROOT
The code is "de_jure_liege_or_above = ROOT", within an OR, within a ROOT scope, within can_use_title. Modded in. de_jure_liege_or_above can refer both to characters and titles, and ROOT in can_use_title is a valid character.
2) Ah, right.
3) Invalid Node
At <mod>\decisions\balansegang.txt [decisions\unify_scandinavia\effect\hidden_tooltip] (506, 4):
Name: k_norway
Scope: CharCommand
Value: <a complex type>
The code:
Code:
hidden_tooltip = {
    k_norway = {
        any_de_jure_vassal_title = {
            de_jure_liege = k_scandinavia #ROOT/PREV/etc. is also valid
        }
        destroy_landed_title = yes
    }
}

Modded. The command was introduced to 1.05, but in vanilla is only used in the history files. Confirmed to work.
4)Type Mismatch Error
At <mod>\events\job_lord_spiritual.txt [character_event[1]\mean_time_to_happen\modifier[21]\has_province_modifier] (139, 4):
"heretic_stronghold" is not a valid NormalModifier or TriggeredModifier.
Code: "has_province_modifier = heretic_stronghold"
 
1) Fixed
3) Fixed, as well as the issue that k_norway wasn't recognized.
4) So heretic_stronghold is in event_modifiers\00_event_modifiers.txt? Did the Validator report any error messages about a typo inside the 00_event_modifiers.txt file? If so that would be the issue.
4) It's in there. It seems it can't parse event_modifiers due to a missing bracket, which seems to be the cause (someone at paradox apparently missed AltGr when typing the {, so wrote 7 instead)
 
4) It's in there. It seems it can't parse event_modifiers due to a missing bracket, which seems to be the cause (someone at paradox apparently missed AltGr when typing the {, so wrote 7 instead)

And fixing it, it works now? Yes, that typo...I reported it for 1.05b and still it isn't fixed
 
As useful as this tool is (and it is very useful) I just wish it could scan cultures.txt and find which names are unlinked or broken. Obviously I can't see a mechanical validation tool being able to do that but it would be incredibly useful -- because it's absolutely beyond tedious wading thru that file.
 
As useful as this tool is (and it is very useful) I just wish it could scan cultures.txt and find which names are unlinked or broken. Obviously I can't see a mechanical validation tool being able to do that but it would be incredibly useful -- because it's absolutely beyond tedious wading thru that file.

Could you expand on what you are looking for?
 
Could you expand on what you are looking for?
It wouldn't be possible because names are totally subjective (for want of a better word). I'm not sure how to explain the problem -- if you look in cultures.txt certain root names are linked up, such as Lewis_Louis and Étienne_Stephen. This means (for example) that if a King Stephen of England inherits the French throne then he'd become King Étienne because those names are linked. If you look thru the file you'll see what I mean. The problem is that there are loads of unlinked or incorrectly linked names in that file, but I can't think there's a way the validator could help locate them.
 
It wouldn't be possible because names are totally subjective (for want of a better word). I'm not sure how to explain the problem -- if you look in cultures.txt certain root names are linked up, such as Lewis_Louis and Étienne_Stephen. This means (for example) that if a King Stephen of England inherits the French throne then he'd become King Étienne because those names are linked. If you look thru the file you'll see what I mean. The problem is that there are loads of unlinked or incorrectly linked names in that file, but I can't think there's a way the validator could help locate them.

Hmm okay. If you ever want some validation that seems possible to do, please say so.
 
Hmm okay. If you ever want some validation that seems possible to do, please say so.
One thing that'd be nice (if it isn't in currently) is checks for missing localization for events, decisions, etc. It'd be especially nice to have as an option separate from the rest of the localisation checking so it'd stand out more.
 
One thing that'd be nice (if it isn't in currently) is checks for missing localization for events, decisions, etc. It'd be especially nice to have as an option separate from the rest of the localisation checking so it'd stand out more.

While doable, the problem is that some people like putting their event descriptions, etc inline (e.g. desc = "This event does blah" instead of desc = EVT141DESC). What do you think should be done about that? Make it check either string or key depending on preference?

EDIT: Wow I need to learn how to read. Will implement it soon.
 
Last edited:
I said it before and I'll say again - very useful tool, thanks a lot!


Out of curiosity, using the latest version, I get a few results that intrigue me... I'n not sure if they were supposed to be picked on or not.
let me post their images, I suppose they'll speak better than words. nick_the_fat.JPGnick_the_bastard.JPGlarge feast.JPGtrait_effects.JPGtrait_crownloyalist.JPG
 
Just wanted to say thanks a lot for your hard work, just ran CK2+ through the validator and founds hundreds of minor errors that I am now going to fix.

I can see right away that there's a lot of false positives though... I'll try to assemble a list of them, but right off the top of my errors list:

- Validator assumes change_variable, check_variable etc do not exist. They do and work fine for characters.
- Validator does not know that num_of_duke_titles num_of_count_titles num_of_king_titles num_of_emperor_titles are all valid triggers.
 
I said it before and I'll say again - very useful tool, thanks a lot!


Out of curiosity, using the latest version, I get a few results that intrigue me... I'n not sure if they were supposed to be picked on or not.
let me post their images, I suppose they'll speak better than words.View attachment 53456View attachment 53457View attachment 53458View attachment 53459View attachment 53460

Image 1: First error: you have something like X={death = Y}, but X does not equal Y. The others: Are those nicknames defined? I see that nick_the_fat is in vanilla, but maybe you didn't have it in your mod?

Image 2: Same question about nicknames

Image 3: There could be a typo in 00_event_modifiers.txt that causes event modifiers not to be read correctly; are there any errors about that file? The "This event is set to be triggered only but never called" might or might not be an issue; there's no point for those events to exist but maybe they're there for future use (e.g. Paradox files have some trait removal notifications currently unused).

Image 4: Can you confirm that that modifier works? If so I'll add it to the Validator.

Image 5: Those do seem to be traits that don't exist in the traits.txt file.