• 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.
Now I am getting this error:

--- Error 1 of 1 ---

At <mod>\events\knights_of_st_john_events.txt [province_event[1]\option\hidden_tooltip[1]\b_krakdeschevaliers\add_building] (142, 5):
"ca_order_house" is not a valid Improvement.

But ca_order_house is definitely a building that exists (in ck2+) and which is verified as working.
 
More false positives!

--- Error 1 of 1 ---

At <mod>\common\combat_tactics.txt [devestating_standfast_tactic\trigger\leader\NOT\OR\location[1]] (3084, 5):
Invalid node "terrain" in scope ProvTrigger (value is: desert)

terrain= is a valid province scope that can be used to check terrain type.

--- Error 1 of 1 ---

At <mod>\decisions\crown_laws.txt [de_jure_laws\revoke_law_1\effect] (137, 3):
Invalid node "set_allow_free_revokation" in scope DecisionCommand (value is: yes)

set_allow_free_revokation is valid and works, despite being commented out in vanilla.

--- Error 1 of 1 ---

At <mod>\decisions\employment_decisions.txt [decisions\employ_spymaster\effect] (139, 3):
Invalid node "create_random_intriguer" in scope DecisionCommand (value is: <a complex type>)

This is a valid node that generates a random spymaster.

--- Error 1 of 1 ---

At <mod>\events\character_decision_events.txt [character_event[10]\immediate\current_heir\remove_title] (495, 4):
"title_castellian" is not a valid JobTitle.

This comes from remove_title called on a minor title (such as cupbearer)... which works fine.

--- Error 1 of 1 ---

At <mod>\events\character_decision_events.txt [character_event[8]\option[1]\liege\ROOT\banish] (271, 5):
"PREV" is not a valid Yes.

This comes from banish = PREV/ROOT/FROM etc which works fine, banishes character to that particular person's court.

--- Error 1 of 1 ---

At <mod>\events\wizmod_events.txt [character_event[34]\trigger\OR\has_claim[1]] (2745, 4):
"d_kiev" is not a valid ThisTitle.

Comes from has_claim = d_kiev which once again, works fine.

--- Error 1 of 1 ---

At <mod>\events\wizmod_events.txt [character_event[34]\option\if[4]\remove_claim] (2775, 4):
"d_turov" is not a valid ThisTitle.

Same deal as above but with remove_claim

--- Error 1 of 1 ---

At <mod>\events\wizmod_events.txt [character_event[22]\option] (1542, 2):
Invalid node "set_variable" in scope Option (value is: <a complex type>)

I think you may have forgotten set_variable when fixing variables?

That should be all of them, since I just did a fresh reinstall and ran it through without anything surpressed.
 
Just a few more minor things:

This comes up for triggered events that are not called by other events. Again it's redundant since the validator already tells us the event is never called.
--- Error 1 of 1 ---

At <mod>\events\plot_events.txt [character_event[9]\option\hidden_tooltip\remove_opinion[1]\who] (2018, 68):
"FROM" is not a valid ThisChar, ThisProv, OpinionClauseDefinedTypes, or ThisTitle.

I also get a similar error for an event that IS called from cb_types.txt (its an event that fires for all vassals when one of them revolts):
--- Error 1 of 1 ---

At <mod>\events\vassal_revolt_events.txt [letter_event[1]\option[1]\ai_chance\modifier[2]\NOT\opinion\who] (38, 7):
"FROM" is not a valid OpinionClauseDefinedTypes, ThisChar, or ThisTitle.

And this error:
--- Error 1 of 1 ---

At <mod>\events\wizmod_events.txt [character_event[41]\option[3]\hidden_tooltip\create_random_priest\dynasty] (3205, 5):
"ROOT" is not a valid "random" or DynastyId.

For:
Code:
			create_random_priest = {
				random_traits = yes
				dynasty = ROOT
				female = no
			}

Which works fine.
 
Last edited:
Ah, so it'd be used in something like:

allow = {
any_independent_ruler = { opinion = { who = FROM value = 0 } }
}

Although I suppose you could just as well use PREV there. Nonetheless good to know.
 
The thing with has_landed_title in landed_titles.txt is that you can only specify titles the game has already loaded (further up the file). So if for instance you are doing a check on k_france, you can't put a has_landed_title = d_normandy inside k_france's allow, because it has not yet loaded d_normandy.
 
The thing with has_landed_title in landed_titles.txt is that you can only specify titles the game has already loaded (further up the file). So if for instance you are doing a check on k_france, you can't put a has_landed_title = d_normandy inside k_france's allow, because it has not yet loaded d_normandy.
You don't need to define allow at the beginning of an entry. Stick it at the end instead.
 
It really loads like that? Such an odd way of doing it :confused:
I never noticed it was like that myself, have you tested this or is it purely based on linear logic?
I personally haven't tested it, but I've seen several modders report that the condition won't show unless after the title it is referencing.
 
You don't need to define allow at the beginning of an entry. Stick it at the end instead.

That's... pretty much brilliant. I can't believe I didn't think of it.
 
I am down to only two false positives to report:

--- Error 1 of 1 ---
At <mod>\events\birth_events.txt [character_event[1]\option\if\limit\OR\AND[1]\LIEGE] (214, 7):
No direct match found for LIEGE. However, other possible matches in scope CharTrigger were found.
Left: ["liege"]

For using LIEGE instead of liege (which works fine).

--- Error 1 of 1 ---
Missing Province Definition
Missing Province History Definition for 908

908 is a wasteland province, so should not have a history file.
 
How are wastelands defined anyway?

By not giving them a history file (or rather, not giving them an associated title... but Paradox does this by not giving them a history file period).
 
Last edited:
By not giving them a history file (or rather, not giving them an associated title... but Paradox does this by not giving them a history file period).
I guess the best way for the Validator to do it then, would be to ignore missing history files if the county isn't in landed_titles.
 
Honestly, if a province that is supposed to have a history file doesn't it will be extremely obvious by the fact that the province will be wasteland... not sure validator needs to check for it at all.
 
1. Alas, this is part of the Validator's social engineering, encouraging people to use a standard casing.
2. No longer checked.

Argh, but I always capitalize all the letters like that whenever ROOT or LIEGE because it makes them stand out better. Trying to make me change my ways... you monster!
 
Argh, but I always capitalize all the letters like that because it makes it stand out better. You monster! ;)
Assuming you're using Notepad++, you could make a custom language which would highlight whatever you wanted to.