• 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.
Showing developer posts only. Show all posts in this thread.
Can you post the exact error?
Can you post the exact error?

Is it because some of the numbers exceed 255? I was under the impression that colors ranged from 0 to 255.

Can you post the exact error?

I thought this was character/province flags? Or maybe you could post an example?

Could you post the error?

Could you post the error?

I've fixed the issues that aren't quoted. Me asking for the error is sometimes because I stupidly messed up my copy of the files, sorry :eek:o

Are there friends and rivals? I see any_friend, any_rival, random_friend, random_rival, num_of_friends and num_of_rivals but that's all. So I'm wondering if they actually exist or not.
1, 2, 4, 6, and 7:
rMOBP.png

Do you want the code as well?

3: No, the colors in religion and culture range from 0 to 1.

5: When looking at it again it seems Paradox simply made a mistake, so disregard that.

"Are there friends and rivals? I see any_friend, any_rival, random_friend, random_rival, num_of_friends and num_of_rivals but that's all. So I'm wondering if they actually exist or not. "
They were implemented in 1.05.
 
Hmm so 0-1. The thing is, it passes my validation happily. Do all of the color entries give you errors, or just a few of them?

RE holder_scope: The validator currently treats this as being in a character trigger, in which holder_scope wouldn't make sense. But that may be an issue with how it treats PREV. Could you tell me which scope the PREV points to (i.e. is it most_participating attacker, on_success_title, or which), so I can make sure it is actually pointing to it?

Same thing with usurp_title, can you tell me where PREV points?

It seems strange to use any_vassal within a title scope (why not do holder_scope={ any_vassal = {...} }) but I guess it works, so have added it.

I have added held_title_rating and mercenary.

Thank you for all your help :)
1) From what I can tell, all of them show up as errors (or at the very least most of them)

2) It's referring to on_success_title, so the PREV is a title-scope in this case. I guess the if might be confusing the validator?
3) Points to the same as above

4) The point of doing it within a title scope, is to limit it to vassals of that title only. For example, if you own both England and Scotland, you might want to check only the vassals of England for the purpose of changing English crown laws.
 
1) Can you post some of the color errors?

2) Okay. So we are currently in the most_participating attacker scope, so PREV will jump back to the on_success_title, because we ignore "if". Then I don't understand how the gain_settlements_under_title works, because PREVPREV seems strange. In there, we are currently in most_participating_attacker scope, and PREV brings us to the on_success_title, and then the second PREV; what does it do?

On another note, do you know what FROMFROM does in CB types? I currently only check FROM and basically allow any FROMFROM, FROMFROMFROM, etc, but hope to fix this in the near future.
1)
duh9t.png

Relevant code: "color = { 0.4 0.4 0.3 }"

2) I guess gain_settlements_under_title counts as a scope for some reason. Either that, or Paradox made a mistake, or I simply can't figure it out.
3) There are no FROMFROMFROMs that I can find. FROMFROM however is the character the attacker is pushing the claim for. AFAIK it is only valid for CBs with the flag "push_claim = yes"
 
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)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)
 
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.
 
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.
 
Definitely doable, but could you tell me more about how to know what flag .tgas are expected to exist?

Anything above barony level in landed_titles.txt (so c_ d_ k_ e_ titles) must have a tga with its name (so k_france becomes k_france.tga) or else the whole flag structure bugs out.
 
1. Added.
2. I've added them. I already had count and king titles though, so could you post one of the count/king errors? I only have them working in a character scope right now so perhaps it needs to be in province and/or title scopes as well.

Thanks for your feedback :)

I did not get errors for count/king, only duke/emperor. Sorry about not being clear there.
 
For a decision I'm getting:
At <mod>\decisions\balansegang.txt [decisions\integrate_finland\effect\k_finland\any_de_jure_vassal_title\de_jure_liege] (543, 6):
"k_scandinavia" is not a valid ThisChar or ThisTitle.
Even though it is in landed_titles.txt.

For static modifiers. Any modifier defined in landed_titles (mercs) don't need localisation.
In religion.txt. Pacifist = yes isn't something that needs localisation.
For history files: name = "1st Seljuk-Byzantine War" isn't something that needs localisation.
 
Last edited:
Before de_jure_liege only accepted THIS/PREV/etc. Now it will accept titles. Do you know if de_jure_liege_or_above, de_facto_liege, de_jure_vassal_or_below would also accept an actual title?

I removed the pacifist thing.

For localization warnings in history files, it seems like that could still be optionally localized, and so it is checked.

For static modifiers, I will think about how to deal with it, because it's somewhat hard to determine what is in landed_titles and what isn't.
de_jure_liege isn't only a condition, it is also a command, which is why it accepts titles. To my knowledge the rest do not accept it.
 
One thing that would also be nice to have is a way to search for unused flags. I've probably got quite a few lying around that aren't actually used for anything, but I currently have no way to find them.
Essentially, a reverse of finding missing flags.
 
Ah. I presume this will only check the "topmost" mod folder? Since vanilla/mods you include might have flags that you then decided to remove the titles for.
To my knowledge (though I haven't specifically tried) one cannot put flags in subfolders, yeah.
 
Could you disable warnings about FROM being called in is_triggered_only events which are never called from any other event? We already get the warning about the event not being called, so it seems spammy and redundant.

Other false positives:
- Validator thinks empire = { } from a title scope is an invalid scope. It is not, it calls the empire-level title for that title (also works on provinces).

I got the following error:
Code:
--- Error 1 of 1 ---

At <mod>\common\cb_types.txt [crusade\on_success_title\if[3]\most_participating_attacker\any_demesne_title] (1920, 5):
Invalid node "location" in scope TitleCommand (value is: <a complex type>)

For:
Code:
			most_participating_attacker = {
				any_demesne_title = {
					location = {
						set_province_flag = previous_holding 
					}	
				}
				gain_settlements_under_title = {
					title = PREV
					enemy = FROM
				}				
				hidden_tooltip = { character_event = { id = 190061 } }
			}

Which by all accounts works exactly as it should.


I also get an invalid node error for:

Code:
		any_war = {
			limit = {
				OR = {
					using_cb = overthrow_ruler
					using_cb = overthrow_ruler_no_calls
					using_cb = depose_liege
				}				
				defender = {
					character = ROOT
				}	
			}
			end_war = invalid
		}

Which also works fine.

And the following error:
Code:
--- Error 1 of 1 ---

At <mod>\common\static_modifiers.txt [temple] (387, 1):
Invalid node "tech_growth_modifier" in scope <anon> (value is: 0.1)

for:
Code:
temple = {
	tax_income = 8
	heavy_infantry = 60
	light_infantry = 75
	archers = 40
	galleys = 2
	build_cost_modifier = 500
	build_time_modifier = 1825
	levy_reinforce_rate = 0.5
	land_organisation = 0.2
	tech_growth_modifier = 0.1
}

Again, tested as working.
 
One more issue. Validator does not recognize add_building = X as a valid node (targeting a barony level title), but it's tested as working fine.