• 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.
Rather annoying false-positive:
At <mod>\events\waylit_siege_events.txt [character_event[5]\option[1]\FROMFROM\holder_scope\limit\at_location] (Line 1708, Column 6):
"FROMFROM" is not a valid ThisProv, ThisChar, or Province.

Getting that with "FROM" as well, despite the events working perfectly fine.

Another false positive: "num_of_baron_titles" is a valid condition, just like count, duke, etc.

The new version should explain more about why the Validator thinks something is an error. So then we can determine what is actually wrong.
 
The new version should explain more about why the Validator thinks something is an error. So then we can determine what is actually wrong.
At <mod>\events\battle_events.txt [character_event[1]\immediate\FROMFROM[1]] (Line 156, Column 3):
No direct match found for FROMFROM (is the casing correct?). However, other possible matches in scope CharCommand were found.
Left: [ThisChar] cannot be correct because of left: FROMFROM points to <null>.
However, a Char was expected.
The FROMFROM could not be determined, because the FROM of [<mod>\common\on_actions\00_on_actions.txt] (666, 3): on_battle_lost\random_events\10 could not be determined.
This event , at [<mod>\common\on_actions\00_on_actions.txt] (666, 3): on_battle_lost\random_events\10, must be called from somewhere else, which it is not.


FROMFROM for such events is the enemy character.
 
At <mod>\events\waylit_siege_events.txt [character_event[6]\option[4]\FROMFROM\holder_scope\any_courtier\limit\at_location] (Line 2884, Column 7):
"FROMFROM" is not a valid ThisProv, ThisChar, or Province.
ThisProv: cannot be because FROMFROM points to Title.
However, a Prov was expected.
The scope was inferred to be Title, but this did not work.

ThisChar: cannot be because FROMFROM points to Title.
However, a Char was expected.
The scope was inferred to be Title, but this did not work.

location can point to a title without problems, because if not, every single one of those events would break :p
 
At <mod>\events\battle_events.txt [character_event[1]\immediate\FROMFROM[1]] (Line 156, Column 3):
No direct match found for FROMFROM (is the casing correct?). However, other possible matches in scope CharCommand were found.
Left: [ThisChar] cannot be correct because of left: FROMFROM points to <null>.
However, a Char was expected.
The FROMFROM could not be determined, because the FROM of [<mod>\common\on_actions\00_on_actions.txt] (666, 3): on_battle_lost\random_events\10 could not be determined.
This event , at [<mod>\common\on_actions\00_on_actions.txt] (666, 3): on_battle_lost\random_events\10, must be called from somewhere else, which it is not.


FROMFROM for such events is the enemy character.

Which such events? Ones called by on_battle_lost and won, presumably, and are there others? Do FROM, THIS, ROOT also have special meanings?
 
Which such events? Ones called by on_battle_lost and won, presumably, and are there others? Do FROM, THIS, ROOT also have special meanings?
on_combat_pulse
on_siege_pulse
on_battle_won
on_battle_won_leader
on_battle_lost
on_battle_lost_leader
on_siege_won_leader
on_siege_lost_leader

I believe it's the case for all of those.
 
I don't think the Validator needs to be quite so strict on how an event is called. It appears calling a narrative_event via "character_event" works just fine. As an example you could trigger event 6300. All its choices trigger events that are written as character events in the choices, but the events themselves are narrative events.
I believe it also works just fine to refer to letter events as character events when calling them, though I have not specifically tested it.
 
I don't think the Validator needs to be quite so strict on how an event is called. It appears calling a narrative_event via "character_event" works just fine. As an example you could trigger event 6300. All its choices trigger events that are written as character events in the choices, but the events themselves are narrative events.
I believe it also works just fine to refer to letter events as character events when calling them, though I have not specifically tested it.

Yeah, there's an option in the ValidatorSettings.txt file to change this, but I still think it's good to warn on default.
 
Yeah, there's an option in the ValidatorSettings.txt file to change this, but I still think it's good to warn on default.
Thanks.
Down to "only" 230 errors (characters excluded; so damn many errors in the vanilla files that are edited by PB).
 
Thanks.
Down to "only" 230 errors (characters excluded; so damn many errors in the vanilla files that are edited by PB).

Yay, progress :D

Maybe you can report some of the vanilla bugs, if you happen to have the time. The errors that remain, I don't know if they are just false positives or actual errors.
 
Since CK2 Patch 1.07 the scopes "owner" and "holder_scope" are equivalent and both work from both titles and provinces, but the Validator still thinks that "owner" is an invalid node in scope TitleTrigger.
 
Speaking of patches, any plans to update since TOG/v1.1? :D No rush or anything, just curious.
 
Since CK2 Patch 1.07 the scopes "owner" and "holder_scope" are equivalent and both work from both titles and provinces, but the Validator still thinks that "owner" is an invalid node in scope TitleTrigger.

Done.

Speaking of patches, any plans to update since TOG/v1.1? :D No rush or anything, just curious.

Next version will have some support, should come out soon hopefully.
 
Here is some support for v1.10. Please report any issues; there were some new things I didn't add because I wasn't sure if they were correct or not, so if they are correct please report them here so they can be fixed.

http://www.mediafire.com/download/rym9cmohor039bd/Audax.Validator_v1.3_RC12_pre2.rar
Right, false positives time then:
At <mod>\common\buildings\00_CastleCulture.txt [castle\ca_culture_scottish_0\trigger\TECH_CASTLE_CONSTRUCTION] (Line 2171, Column 15):
"0" is not a valid PInt.
0 is definitely a valid tech level now, and is used to determine starting buildings.

At <mod>\common\cb_types\Old Gods.txt [pagan_county_conquest] (Line 1037, Column 1):
Invalid node "prestige_cost" in scope CbTypeDef (value is: 100)
prestige_cost and piety_cost are valid arguments in a CB's definition now.

At <mod>\decisions\succession_laws.txt [succession_laws\succ_gavelkind\potential] (Line 11, Column 3):
Invalid node "rebel" in scope DecisionTrigger (value is: no)
"rebel = no/yes" is apparently a valid thing to check for now. Presumably it returns true for characters that are part of liberation rebellions and similar.

At <mod>\events\misc_old_gods_events.txt [character_event[9]\option\k_germany] (Line 1037, Column 3):
Invalid node "adjective" in scope TitleCommand (value is: )
Adjective is a valid thing now. You could for example change the adjective for a title from "Norse" to "Norwegian". It can also be blank, which will reset it to whatever is defined in localisation.

At <mod>\events\misc_old_gods_events.txt [character_event[6]\option[3]\capital_scope\ROOT\spawn_fleet] (Line 730, Column 5):
Invalid node "cannot_inherit" in scope <anon> (value is: yes)
cannot_inherit is a valid thing to put in a spawn_fleet or spawn_army scope. It disbands the army/fleet upon the ruler's death.

At <mod>\events\misc_old_gods_events.txt [narrative_event[1]\option\hidden_tooltip[2]] (Line 812, Column 3):
Invalid node "any_realm_province" in scope CharCommand (value is: <a complex type>)
I think this false positive might be showing up due to it being a narrative event?

At <mod>\events\PB_historical.txt [character_event[7]\option[1]\spawn_unit] (Line 1067, Column 3):
Invalid node "disband_on_peace" in scope <anon> (value is: yes)
Same as cannot_inherit, except disbands when the ruler is at peace rather than dead.

At <mod>\history\provinces\290 - Uppland.txt [960.1.1\b_birka] (Line 28, Column 2):
"0" is not a valid Building or ImprovementValue.
Seems you can destroy holdings now by going <holding> = 0

At <mod>\common\religions\pagan.txt [pagan_group\west_african_pagan\color] (Line 484, Column 3):
<a complex type> is not a valid FloatColor.
You can use RGB values ranging from 0 to 255 as well now in addition to 0 to 1.

At <mod>\history\titles\k_leon.txt [924.1.1] (Line 1, Column 1):
Invalid node "effect" in scope DateClause (value is: <a complex type>)
The "effect" scope is now valid in title history.

At <mod>\common\landed_titles\e_spain.txt [e_spain\k_leon\allow\FROM] (Line 25, Column 4):
Invalid node "any_previous_holder" in scope CharTrigger (value is: <a complex type>)
That's now a valid scope from a title.

At <mod>\common\traits\00_traits.txt [chaste] (Line 920, Column 1):
Invalid node "christian_church_opinion" in scope Trait (value is: 10)
That's now a valid opinion modifier. I don't believe they can be named dynamically based on religion, though I have not tested.

At <mod>\common\traits\02_traits.txt [viking] (Line 190, Column 1):
Invalid node "religious" in scope Trait (value is: yes)
That's now a valid trait argument. It removes the trait when the character's religion changes.
 
Last edited:
At <mod>\events\misc_old_gods_events.txt [narrative_event[1]\option\hidden_tooltip[2]] (Line 812, Column 3):
Invalid node "any_realm_province" in scope CharCommand (value is: <a complex type>)
I think this false positive might be showing up due to it being a narrative event?
This definitely works? Apparently in the past it did not.

At <mod>\common\landed_titles\e_spain.txt [e_spain\k_leon\allow\FROM] (Line 25, Column 4):
Invalid node "any_previous_holder" in scope CharTrigger (value is: <a complex type>)
That's now a valid scope from a title.
The Validator thinks that it's in a CharTrigger scope, not a title. Can you clarify?

The events seem to spit out a million issues with FROMFROMFROMFROMFROM, PREVPREVPREV, and similar. Do you happen to know if the validator needs fixing in regards to this?

Everything else has been fixed; download this to see:
https://www.dropbox.com/s/81sw25s3jnrj61w/Audax.Validator v1.3 RC12 pre3.rar
 
This definitely works? Apparently in the past it did not.
I think you're right that it didn't work before. It does work now though; I've successfully used it to turn all the Pechenegs' provinces Cuman.

The Validator thinks that it's in a CharTrigger scope, not a title. Can you clarify?
It's a title allow scope; I guess that's not 100% the same as a character scope.

The events seem to spit out a million issues with FROMFROMFROMFROMFROM, PREVPREVPREV, and similar. Do you happen to know if the validator needs fixing in regards to this?
Not quite sure what you mean.
I do know they added PREVPREVPREVPREV though.
 
I think you're right that it didn't work before. It does work now though; I've successfully used it to turn all the Pechenegs' provinces Cuman.


It's a title allow scope; I guess that's not 100% the same as a character scope.


Not quite sure what you mean.
I do know they added PREVPREVPREVPREV though.
1) Fixed

2) So it is a scope that includes CharTrigger, but also has a bit extra, like any_previous_holder which normally doesn't work in a CharTrigger but does for titles?

3) If I validate events, there are a million complaints like the following, and I wonder if some of them would need to be fixed? (PREV and FROM in the Validator work to an arbitrary number, even if that's not the case in the game. That can be limited if the game has limitations)

--- Error 1 of 1 ---
At events\adventures_the_old_gods.txt [character_event[7]\immediate\liege\capital_scope\random_independent_ruler\random_realm_province\ROOT\spawn_unit[1]\match_character] (Line 942, Column 9):
"PREVPREV" is not a valid ThisChar.
PREVPREV points to ProvCommand.
However, a Char was expected.
Additional information: PREVPREV points to ProvCommand.
However, a Char was expected.
--- Error 1 of 1 ---
At events\adventures_the_old_gods.txt [character_event[7]\immediate\liege\capital_scope\random_independent_ruler\random_realm_province\ROOT\spawn_unit[1]\owner] (Line 940, Column 9):
"THIS" is not a valid ThisChar.
THIS points to <None>, not Char.
Additional information: THIS points to <None>, not Char.
--- Error 1 of 1 ---
At events\adventures_the_old_gods.txt [character_event[3]\immediate\liege\capital_scope\ROOT\random_claim\holder_scope\ROOT\random_list\33[2]\spawn_unit[1]\province] (Line 373, Column 12):
"PREVPREVPREVPREV" is not a valid ThisProv, Province, or ThisChar.
ThisProv: cannot be because PREVPREVPREVPREV points to TitleCommand.
However, a Prov was expected.
ThisChar: cannot be because PREVPREVPREVPREV points to TitleCommand.
However, a Char was expected.
--- Error 1 of 1 ---
At events\friends_rivals_events.txt [character_event[1]\option[1]\host\random_courtier\opinion\who] (Line 158, Column 6):
"FROM" is not a valid ThisChar, OpinionClauseDefinedTypes, ThisProv, or ThisTitle.
ThisChar: cannot be because FROM points to <null>.
However, a Char was expected.
The event must have is_triggered_only set to true.
ThisProv: cannot be because FROM points to <null>.
However, a Prov was expected.
The event must have is_triggered_only set to true.
ThisTitle: cannot be because FROM points to <null>.
However, a Title was expected.
The event must have is_triggered_only set to true.
--- Error 1 of 1 ---
At events\on_action_events.txt [character_event[41]\option\opinion\who] (Line 3335, Column 4):
"FROMFROM" is not a valid ThisChar, OpinionClauseDefinedTypes, ThisProv, or ThisTitle.
ThisChar: cannot be because FROMFROM points to <null>.
However, a Char was expected.
The FROMFROM could not be determined, because the FROM of [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id could not be determined.
This scope, at [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id, has no FROM due to the fact that [common\on_actions\00_on_actions.txt] (1341, 3): on_forced_consort\events\660 has no scope.
ThisProv: cannot be because FROMFROM points to <null>.
However, a Prov was expected.
The FROMFROM could not be determined, because the FROM of [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id could not be determined.
This scope, at [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id, has no FROM due to the fact that [common\on_actions\00_on_actions.txt] (1341, 3): on_forced_consort\events\660 has no scope.
ThisTitle: cannot be because FROMFROM points to <null>.
However, a Title was expected.
The FROMFROM could not be determined, because the FROM of [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id could not be determined.
This scope, at [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id, has no FROM due to the fact that [common\on_actions\00_on_actions.txt] (1341, 3): on_forced_consort\events\660 has no scope.
--- Error 1 of 1 ---
At events\rebel_events_the_old_gods.txt [province_event[6]\trigger\owner\top_liege\any_war\defender\character] (Line 2022, Column 19):
"PREV" is not a valid ThisChar, OpinionClauseDefinedTypes, ThisTitle, or CharacterId.
ThisChar: cannot be because PREV points to WarTrigger.
However, a Char was expected.
ThisTitle: cannot be because PREV points to WarTrigger.
However, a Title was expected.
 
1) Fixed

2) So it is a scope that includes CharTrigger, but also has a bit extra, like any_previous_holder which normally doesn't work in a CharTrigger but does for titles?

3) If I validate events, there are a million complaints like the following, and I wonder if some of them would need to be fixed? (PREV and FROM in the Validator work to an arbitrary number, even if that's not the case in the game. That can be limited if the game has limitations)

--- Error 1 of 1 ---
At events\adventures_the_old_gods.txt [character_event[7]\immediate\liege\capital_scope\random_independent_ruler\random_realm_province\ROOT\spawn_unit[1]\match_character] (Line 942, Column 9):
"PREVPREV" is not a valid ThisChar.
PREVPREV points to ProvCommand.
However, a Char was expected.
Additional information: PREVPREV points to ProvCommand.
However, a Char was expected.
--- Error 1 of 1 ---
At events\adventures_the_old_gods.txt [character_event[7]\immediate\liege\capital_scope\random_independent_ruler\random_realm_province\ROOT\spawn_unit[1]\owner] (Line 940, Column 9):
"THIS" is not a valid ThisChar.
THIS points to <None>, not Char.
Additional information: THIS points to <None>, not Char.
--- Error 1 of 1 ---
At events\adventures_the_old_gods.txt [character_event[3]\immediate\liege\capital_scope\ROOT\random_claim\holder_scope\ROOT\random_list\33[2]\spawn_unit[1]\province] (Line 373, Column 12):
"PREVPREVPREVPREV" is not a valid ThisProv, Province, or ThisChar.
ThisProv: cannot be because PREVPREVPREVPREV points to TitleCommand.
However, a Prov was expected.
ThisChar: cannot be because PREVPREVPREVPREV points to TitleCommand.
However, a Char was expected.
--- Error 1 of 1 ---
At events\friends_rivals_events.txt [character_event[1]\option[1]\host\random_courtier\opinion\who] (Line 158, Column 6):
"FROM" is not a valid ThisChar, OpinionClauseDefinedTypes, ThisProv, or ThisTitle.
ThisChar: cannot be because FROM points to <null>.
However, a Char was expected.
The event must have is_triggered_only set to true.
ThisProv: cannot be because FROM points to <null>.
However, a Prov was expected.
The event must have is_triggered_only set to true.
ThisTitle: cannot be because FROM points to <null>.
However, a Title was expected.
The event must have is_triggered_only set to true.
--- Error 1 of 1 ---
At events\on_action_events.txt [character_event[41]\option\opinion\who] (Line 3335, Column 4):
"FROMFROM" is not a valid ThisChar, OpinionClauseDefinedTypes, ThisProv, or ThisTitle.
ThisChar: cannot be because FROMFROM points to <null>.
However, a Char was expected.
The FROMFROM could not be determined, because the FROM of [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id could not be determined.
This scope, at [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id, has no FROM due to the fact that [common\on_actions\00_on_actions.txt] (1341, 3): on_forced_consort\events\660 has no scope.
ThisProv: cannot be because FROMFROM points to <null>.
However, a Prov was expected.
The FROMFROM could not be determined, because the FROM of [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id could not be determined.
This scope, at [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id, has no FROM due to the fact that [common\on_actions\00_on_actions.txt] (1341, 3): on_forced_consort\events\660 has no scope.
ThisTitle: cannot be because FROMFROM points to <null>.
However, a Title was expected.
The FROMFROM could not be determined, because the FROM of [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id could not be determined.
This scope, at [events\on_action_events.txt] (3301, 25): character_event[40]\immediate\hidden_tooltip\any_child\character_event\id, has no FROM due to the fact that [common\on_actions\00_on_actions.txt] (1341, 3): on_forced_consort\events\660 has no scope.
--- Error 1 of 1 ---
At events\rebel_events_the_old_gods.txt [province_event[6]\trigger\owner\top_liege\any_war\defender\character] (Line 2022, Column 19):
"PREV" is not a valid ThisChar, OpinionClauseDefinedTypes, ThisTitle, or CharacterId.
ThisChar: cannot be because PREV points to WarTrigger.
However, a Char was expected.
ThisTitle: cannot be because PREV points to WarTrigger.
However, a Title was expected.
2) Seems so.
3) I think a number of those are legitimate bugs, while others might be false positives. Pretty hard to determine which are which.