• 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.
It constantly says
--- Error 1 of 1 ---
At <mod>\decisions\z_KSS_cthulhu_decisions.txt [targetted_decisions\do_gender_laws_cheat\revoke_allowed] :
Invalid node "revoke_allowed" in scope DecisionDef (value is: <a complex type>)


Although revoke_allowed is used in definitions.
 
It constantly says
--- Error 1 of 1 ---
At <mod>\decisions\z_KSS_cthulhu_decisions.txt [targetted_decisions\do_gender_laws_cheat\revoke_allowed] :
Invalid node "revoke_allowed" in scope DecisionDef (value is: <a complex type>)


Although revoke_allowed is used in definitions.
It doesn't do anything, you should remove it.
 
--- Error 1 of 2 ---
At <mod>\common\combat_tactics\000_CK2Plus_combat_tactics.txt [swarm_tier_5\mean_time_to_happen\mult_modifier] (Line 715, column 3):
Invalid node "mult_modifier" in scope Mtth (value is: <a complex type>)
--- Error 2 of 2 ---
At <mod>\common\combat_tactics\000_CK2Plus_combat_tactics.txt [swarm_tier_5\mean_time_to_happen\offensive_tactic_factor] (Line 712, column 3):
Invalid node "offensive_tactic_factor" in scope Mtth (value is: yes)

'mult_modifier' is equivalent to modifier and valid anywhere 'modifier' (with 'factor = ') is valid.

For the second, as per patch 3.0:
Added Scripted score values similar to scripted triggers and effects. Can be utilized in ai_chance, ai_will_do, random list weighting and anything that utilizes the triggered modifiers to calculate a value.
 
--- Error 1 of 1 ---
At <mod>\history\characters\norman.txt [6807\1074.1.1\effect\imprison] (Line 5190, column 14):
"140" is not a valid Bool or MaybeEventTargetChar.

Invalid error. This works as intended in-game.

effect={ imprison = ID }
 
Thanks for all the quick updates!

--- Error 463 of 520 ---
At <mod>\common\objectives\000_CK2Plus_factions.txt [faction_glory\chance\martial_factor] (Line 321, column 3):
Invalid node "martial_factor" in scope TitleChanceClause (value is: yes)
--- Error 465 of 520 ---
At <mod>\common\objectives\000_CK2Plus_factions.txt [faction_prosperity\membership\stewardship_factor] (Line 248, column 3):
Invalid node "stewardship_factor" in scope TitleObjectiveMembershipChance (value is: yes)

Two more examples of scripted score values that do indeed work.

--- Error 466 of 520 ---
At <mod>\common\objectives\000_CK2Plus_factions.txt [faction_prosperity\chance\modifier\OR\in_revolt] (Line 236, column 5):
Invalid node "in_revolt" in scope TitleTrigger (value is: yes)
--- Error 467 of 520 ---
At <mod>\common\objectives\000_CK2Plus_factions.txt [faction_prosperity\chance\modifier\OR\in_faction] (Line 237, column 5):
Invalid node "in_faction" in scope TitleTrigger (value is: faction_order)

These are both valid conditions in character scope. Not sure why Validator mentions "TitleTrigger" here.
Edit: I seem to have been mistaken here, all seems to be fine.

--- Error 156 of 520 ---
At <mod>\events\000_CK2Plus_factions_events.txt [character_event\option\random\if\ROOT\impregnate] (Line 5202, column 6):
"new_character" is not a valid MaybeEventTargetChar, 0, or Yes.

"new_character" is valid if "create_character" was used before in the same event (in this case, an "immediate" effect block, just before it).

--- Error 155 of 520 ---
At <mod>\events\000_CK2Plus_factions_events.txt [character_event\option\trigger_switch\faction_court\any_faction_backer\faction] (Line 6143, column 6):
"any" is not a valid Faction.

"any_faction_backer" is a documented scope and used in vanilla.

--- Error 2 of 520 ---
At <mod>\common\scripted_score_values\000_CK2Plus_scripted_score_values_combat_tactics.txt [offensive_tactic_factor\mult_modifier\is_attacker] (Line 2787, column 3):
Invalid node "is_attacker" in scope <anon> (value is: yes)
* called from <mod>\common\combat_tactics\000_CK2Plus_combat_tactics.txt [hammer_and_anvil_tier_5\mean_time_to_happen\offensive_tactic_factor] (Line 4078, column 3)

Just as in the "combat" scope, this should work through scripted score values. Not used in vanilla this way (only in "siege" scope), but thoroughly tested to be working perfectly.
Validator doesn't complain if used directly in combat tactics file, only through scripted score values.

--- Error 167 of 520 ---
At <mod>\events\000_CK2Plus_factions_events.txt [character_event] (Line 507, column 1):
The event is set to be triggered only, but it is never called.

This event is called within a "fallback_trigger_effect", designed to only be called if the conditions for other things to happen fails. Works as intended.

--- Error 157 of 231 ---
Duplicate ID: { character=FROM }
[1]: <mod>\events\000_CK2Plus_factions_events.txt (1481, 5)
[2]: <mod>\events\000_CK2Plus_factions_events.txt (1486, 5)
--- Error 158 of 231 ---
Duplicate ID: { character=FROM }
[1]: <mod>\events\000_CK2Plus_factions_events.txt (1481, 5)
[2]: <mod>\events\000_CK2Plus_factions_events.txt (1491, 5)
--- Error 159 of 231 ---
Duplicate ID: { character=FROM }
[1]: <mod>\events\000_CK2Plus_factions_events.txt (1481, 5)
[2]: <mod>\events\000_CK2Plus_factions_events.txt (1496, 5)
--- Error 160 of 231 ---
Duplicate ID: { character=FROM }
[1]: <mod>\events\000_CK2Plus_factions_events.txt (1481, 5)
[2]: <mod>\events\000_CK2Plus_factions_events.txt (1501, 5)

This comes from the following code, which sits inside an "option" clause of an event:

Code:
trigger = {
    OR = {
        attribute_diff = {
            character = FROM
            attribute = diplomacy
            value = 5
        }
        attribute_diff = {
            character = FROM
            attribute = intrigue
            value = 5
        }
        attribute_diff = {
            character = FROM
            attribute = stewardship
            value = 5
        }
        attribute_diff = {
            character = FROM
            attribute = martial
            value = 5
        }
        attribute_diff = {
            character = FROM
            attribute = learning
            value = 5
        }
    }
}

Which works just fine.
 
Last edited:
"any_faction_backer" is a documented scope and used in vanilla.
This is complaining about "faction = any" not "any_faction_backer".

This event is called within a "fallback_trigger_effect", designed to only be called if the conditions for other things to happen fails. Works as intended.
Can you post the calling code (i.e. where the fallback_trigger_effect is used) and ideally also a link to the mod?
 
This is complaining about "faction = any" not "any_faction_backer".

You're right, my apologies. It appears it should be omitted entirely, instead.

Can you post the calling code (i.e. where the fallback_trigger_effect is used) and ideally also a link to the mod?

My apologies, it's a 'fail_trigger_effect', documented here. The full clause looks like this:

Code:
fail_trigger_effect = {
    character_event = {
        id = PlusFaction.9 #No guests arrive
    }
}

This is from the as of yet unreleased CK2Plus rewrite, but I can send you a link to the full file if necessary.
 
Code:
At <mod>\common\scripted_score_values\000_CK2Plus_scripted_score_values.txt [stewardship_factor\modifier\trait] (Line 222, column 3):
Invalid node "trait" in scope <anon> (value is: lustful)
* called from <mod>\common\objectives\000_CK2Plus_factions.txt [faction_prosperity\chance\stewardship_factor] (Line 248, column 3)

Introduced by the last update, it appears, but clearly a false positive

Code:
At decisions\HFP_holy_order_decisions.txt [decisions\form_knights_of_calatrava\effect\custom_tooltip\c_calatrava\any_direct_de_jure_vassal_title\if\else_if\limit\holding_type] (Line 149, column 10):
"TEMPLE" is not a valid HoldingType.

At <mod>\common\scripted_effects\07_scripted_effects_holy_orders.txt [teutonic_order_upgrade_capital_effect\any_demesne_title\if\location\build_holding\type] (Line 307, column 6):
"CITY" is not a valid Building.
* called from <mod>\common\cb_types\01_cb_types.txt [northern_crusade_war\on_success_title\ROOT\hidden_tooltip\if\teutonic_order_upgrade_capital_effect] (Line 8470, column 6)

At <mod>\common\scripted_effects\07_scripted_effects_holy_orders.txt [teutonic_order_upgrade_capital_effect\any_demesne_title\limit\holding_type] (Line 291, column 4):
"TRIBAL" is not a valid HoldingType.
* called from <mod>\common\cb_types\01_cb_types.txt [northern_crusade_war\on_success_title\ROOT\hidden_tooltip\if\teutonic_order_upgrade_capital_effect] (Line 8470, column 6)

At <mod>\common\cb_types\01_cb_types.txt [shepherds_crusade_invasion\on_success_title\ROOT\hidden_tooltip\any_demesne_title\limit\OR\holding_type] (Line 8253, column 8):
"TEMPLE" is not a valid HoldingType.

These all appear valid to me. Unfortunately, vanilla uses both lower case and upper case for this condition/trigger, though upper case appears to be most common, as is the case with "tier = DUKE" (and variants).
And indeed, inside a "build_holding" effect/command, all holding types are indeed valid right hand side arguments.

Code:
At events\HF_coronation_events.txt [character_event\option\tooltip\FROM\reverse_war] (Line 6163, column 5):
Invalid node "reverse_war" in scope CharCommand (value is: <a complex type>)

At events\HF_coronation_events.txt [character_event\immediate\FROM\reverse_unsafe_war] (Line 6150, column 4):
Invalid node "reverse_unsafe_war" in scope CharCommand (value is: <a complex type>)

Both are valid commands, declaring a war against the specified character, from the scoped character

Code:
At events\HFP_realm_events.txt [narrative_event\id] (Line 968, column 5):
Namespace ID is larger than 99999, this may lead to collisions

Actually exactly equal to 99999

Code:
At events\hf_warrior_lodge_events.txt [character_event\immediate\hidden_effect\random_list\10\any_society_member] (Line 2049, column 21):
Invalid node "any_society_member" in scope <anon> (value is: <a complex type>)

"any_society_member" can be used from any scope, but if used in a society scope, only scopes to members of that society

Code:
At events\hf_warrior_lodge_legends_events.txt [character_event\immediate\random_list\10\additive_modifier\num_of_artifacts] (Line 563, column 21):
"0" is not a valid PositiveInt.

'num_of_artifacts > 0' is valid code

Code:
At events\hf_warrior_lodge_legends_events.txt [character_event\option\hidden_effect\if\set_society_grandmaster] (Line 412, column 17):
"no" is not a valid "yes".

'set_society_grandmaster = no' is a valid way to unset a character as leader

Code:
At events\jd_artifact_events.txt [character_event\immediate\hidden_effect\trigger_switch\writing_about_relationships\random_list\10\random_list\10\random_artifact\original_artifact_owner] (Line 3411, column 14):
Invalid node "original_artifact_owner" in scope ArtifactRandomCommand (value is: <a complex type>)

original_artifact_owner works identically to original_owner

Code:
At events\jd_chinese_invasion_events.txt [character_event\immediate\if\if\war] (Line 1543, column 5):
Invalid node "war" in scope CharIfClause (value is: <a complex type>)

'war' (and also 'unsafe_war') is a valid effect/command, used in character scope

Code:
At events\jd_chinese_status_and_policy_events.txt [character_event\immediate\random_list\70\modifier\FROM\holder_scope] (Line 2950, column 7):
Invalid node "holder_scope" in scope OffmapPowerTrigger (value is: <a complex type>)

Event is triggered 'on_offmap_yearly_pulse', FROM = offmap. This is a title, so the scope is valid here.

Code:
At events\jd_chinese_status_and_policy_events.txt [character_event\weight_multiplier\modifier\FROM\NOT\culture_group] (Line 793, column 6):
Invalid node "culture_group" in scope OffmapPowerTrigger (value is: chinese_group)

'culture_group' can be used in title scope, as done here. See Wiki.

Code:
At events\jd_chinese_status_and_policy_events.txt [narrative_event\immediate\offmap_china\ruler] (Line 3102, column 4):
Invalid node "ruler" in scope OffmapPowerCommand (value is: <a complex type>)

'offmap_china' is a title (see history files), so 'ruler' is a valid scope to used

Code:
At events\job_flavour_events.txt [character_event\option\show_portrait] (Line 599, column 3):
"job_chancellor" is not a valid Yes, MaybeEventTargetCharOffmapPowerTitle, OffmapPower, AnyTitle, or TopLiege.

As of patch 2.8, 'show_portrait' can take any scope, 'job_chancellor' is a valid scope.

Code:
At events\ze_lord_spiritual_events.txt [character_event\option\hidden_tooltip\random_list\20\modifier\attribute_diff\character] (Line 329, column 8):
"job_spiritual" is not a valid MaybeEventTargetChar or CharacterId.

Likely can take any scope, like 'show_portrait' above

Code:
At common\scripted_triggers\08_scripted_triggers_LT.txt [important_character_to_root_trigger\OR\historical] (Line 53, column 3):
Invalid node "historical" in scope CharTrigger (value is: yes)
* called from events\LT_court_maintenance_events.txt [character_event\immediate\random_courtier\limit\trigger_if\any_child\NOR\important_character_to_root_trigger] (Line 716, column 11)

I suspect this uses a feature introduced in patch 2.4.1, so should be valid
"Create character effect now can set up the new character as historical (e.g. won't ever be pruned from the database), use historical = yes"

Code:
At events\LT_wonder_flavor_events.txt [character_event\option\hidden_effect\random_list\10\modifier\opinion] (Line 609, column 10):
"20" is not a valid OpinionClause.

'opinion < 20' is valid code

Code:
At events\LT_wonder_flavor_event_2.txt [character_event\option\add_age] (Line 156, column 3):
Invalid node "add_age" in scope Option (value is: 2)

Added in patch 3.0.1

Code:
At events\LT_wonder_maintenance_events.txt [character_event\immediate\if\FROM\set_description] (Line 296, column 13):
Invalid node "set_description" in scope WonderCommand (value is: upgrade_statue_god_desc)

Clearly valid by the documented scopes right above this event

Code:
At common\offmap_powers\00_offmap_powers.txt [offmap_china\monthly_currency_gain\offmap_same_culture_and_religion\offmap_ruler] (Line 174, column 4):
Invalid node "offmap_ruler" in scope <anon> (value is: <a complex type>)

Confirmed to work, start a game in 769 as a vassal Han count in the Western Protectorate (eg. Count Zhou Ding of Jiuquan)

Code:
At common\offmap_powers\00_offmap_powers.txt [offmap_china\holder_succession\dislikes\likes_finno_ugrics\modifier\FROMFROM] (Line 877, column 6):
No direct match found for FROMFROM (is the casing correct?). However, other possible matches in scope OffmapPowerTriggerFromChar were found.

All these work, FROMFROM appears to be the offmap ruler.

Code:
At events\HF_religious_events.txt [character_event\option\event_target:scoped_temple_barony\add_building] (Line 6345, column 4):
Invalid node "add_building" in scope CharCommand (value is: tp_shrine_hermes)

Valid command in title scope, event_targets can be provinces and titles, in addition to characters
These events most definitely work as intended

Code:
At events\HF_sainthood_events.txt [character_event\option\hidden_tooltip\random_list\20\event_target:saint_person\else_if\create_bloodline\religion] (Line 960, column 33):
Event target type 'Char' is not any of Religion

'religion' can take a character, will check character's religion
Definitely working as intended

Code:
At events\HF_sainthood_events.txt [character_event\option\hidden_tooltip\random_list\20\event_target:saint_person\else_if\else\create_bloodline\religion] (Line 1057, column 37):
"tengri_pagan_reformed" is not a valid ThisReligion.

Clearly correct

Code:
At events\LT_wonder_maintenance_events.txt [character_event\immediate\event_target:target_wonder\if\limit\has_custom_name] (Line 82, column 21):
Invalid node "has_custom_name" in scope WonderTrigger (value is: no)

Valid condition/trigger for wonders

Code:
At common\scripted_effects\08_scripted_effects_wonders.txt [wonder_name_change_effect\set_name] (Line 139, column 5):
Invalid node "set_name" (value is: wonder_name_text_update)
* called from events\LT_wonder_maintenance_events.txt [character_event\immediate\event_target:target_wonder\if\wonder_name_change_effect] (Line 87, column 17)

Is valid for both wonders and wonder upgrades (in addition to artifacts and bloodlines), also see the next one

Code:
At common\scripted_effects\08_scripted_effects_wonders.txt [wonder_desc_change_effect\set_description] (Line 189, column 5):
Invalid node "set_description" (value is: wonder_desc_text_update)
* called from events\LT_wonder_maintenance_events.txt [character_event\immediate\event_target:target_wonder\if\wonder_desc_change_effect] (Line 215, column 17)

Valid effect/command for wonders and wonder upgrades (in addition to artifacts and bloodlines)

Code:
At events\LT_wonder_maintenance_events.txt [character_event\immediate\if\limit\event_target:target_wonder\any_upgrade_on_wonder] (Line 36, column 9):
Invalid node "any_upgrade_on_wonder" in scope WonderTrigger (value is: <a complex type>)

Valid and documented scope

Code:
At common\objectives\00_LT_ambitions.txt [obj_create_wonder\effect\hidden_effect\random_list\100\random_demesne_wonder\add_wonder_upgrade] (Line 78, column 7):
Invalid node "add_wonder_upgrade" in scope WonderRandomCommand (value is: upgrade_tower)

Valid effect/command in wonder scope

Code:
At events\LT_wonder_maintenance_events.txt [character_event\immediate\event_target:target_wonder\if\limit\OR\had_flag] (Line 209, column 25):
Invalid node "had_flag" in scope WonderTrigger (value is: <a complex type>)

Valid for anything that can have flags, which includes wonders and wonder upgrades

Code:
At events\LT_wonder_flavor_events.txt [character_event\immediate\any_courtier\event_target:target_wonder\trigger_switch\gives_artifact_bells\if\destroy_wonder_upgrade] (Line 3820, column 8):
Invalid node "destroy_wonder_upgrade" in scope WonderIfClause (value is: upgrade_bells)

At events\LT_wonder_flavor_events.txt [character_event\option\else_if\event_target:target_wonder\set_wonder_model] (Line 4081, column 5):
Invalid node "set_wonder_model" in scope WonderCommand (value is: wonder_hagia_sophia_minarets)

Both valid commands/effects for wonders

Code:
At common\objectives\00_LT_ambitions.txt [obj_create_wonder\potential\NOR\has_started_building_wonder] (Line 13, column 4):
Invalid node "has_started_building_wonder" in scope CharTrigger (value is: yes)

Valid condition/trigger

Code:
At <mod>\common\wonder_upgrades\00_wonder_upgrades.txt [upgrade_temple_complex\allow\num_of_wonder_upgrades] (Line 1769, column 3):
Invalid node "num_of_wonder_upgrades" in scope WonderDefWithWonderTrigger (value is: 4)

Valid condition/trigger.

Code:
At history\titles\e_china_west_governor.txt [750.1.1\government] (Line 5, column 2):
Invalid node "government" in scope DateClause (value is: confucian_bureaucracy)

I can only assume this is working as intended, although it may be due to the triggers on the government type itself, requiring 'offmap_power = offmap_china'

Code:
At common\societies\00_societies.txt [monastic_order_stoics\society_rank\modifier\build_cost_city_modifier] (Line 2462, column 4):
Invalid node "build_cost_city_modifier" in scope <anon> (value is: -0.25)

I can confirm this works as intended

Code:
At common\bookmarks\00_bookmarks.txt [bm_the_mongols\selectable_character\title] (Line 639, column 3):
Invalid node "title" in scope <anon> (value is: e_hre)

At common\bookmarks\00_bookmarks.txt [bm_the_mongols\selectable_character\age] (Line 672, column 3):
Invalid node "age" in scope <anon> (value is: 50)

At common\bookmarks\00_bookmarks.txt [bm_the_mongols\selectable_character\character] (Line 659, column 3):
Invalid node "character" in scope <anon> (value is: <a complex type>)

At common\bookmarks\00_bookmarks.txt [bm_the_mongols\selectable_character\title_name] (Line 657, column 3):
Invalid node "title_name" in scope <anon> (value is: k_jerusalem)

At common\bookmarks\00_bookmarks.txt [bm_the_mongols\selectable_character\name] (Line 655, column 3):
Invalid node "name" in scope <anon> (value is: ERA_CHAR_NAME_30809)

At common\bookmarks\00_bookmarks.txt [bm_the_mongols\selectable_character\coa_dynasty] (Line 676, column 3):
Invalid node "coa_dynasty" in scope <anon> (value is: yes)

At common\bookmarks\00_bookmarks.txt [bm_the_mongols\selectable_character\dlc] (Line 696, column 3):
Invalid node "dlc" in scope <anon> (value is: The Sword of Islam)

These likely all work as intended

Code:
At common\scripted_effects\02_scripted_effects_alternate_start.txt [spawn_one_bloodline_effect\random_character\limit\NOR\any_owned_bloodline\founder\character] (Line 2324, column 7):
"ROOT" is not a valid MaybeEventTargetCharTitle, OpinionClauseDefinedTypes, CharacterId, or Yes.

Seems to work as intended

Code:
At common\religion_features\00_features.txt [religion_nature\religion_dogmatic\trigger\NOR\has_selected_religion_feature] (Line 345, column 5):
Invalid node "has_selected_religion_feature" in scope ReligionTrigger (value is: religion_feature_hellenic)

Definitely working as intended

Code:
At common\objectives\00_factions.txt [faction_claimant\chance\modifier\has_religion_feature] (Line 5463, column 4):
Invalid node "has_religion_feature" in scope <anon> (value is: religion_patriarchal)

FROM is the (potential) faction creator, above condition/trigger is valid for characters

Code:
At common\objectives\00_factions.txt [faction_claimant\chance\modifier\liege] (Line 5371, column 4):
Invalid node "liege" in scope <anon> (value is: <a complex type>)

As above, FROM is a character, who must have a liege, so it's a valid scope

Code:
At common\alternate_start\01_spread.txt [holy_site_spread\modifier\FROM\parent_religion\ROOT\is_holy_site] (Line 788, column 6):
Invalid node "is_holy_site" in scope ProvTrigger (value is: PREV)

At common\alternate_start\01_spread.txt [holy_site_spread\modifier\any_neighbor_province\is_holy_site] (Line 746, column 4):
Invalid node "is_holy_site" in scope ProvTriggerWithCount (value is: FROM)

Valid conditions/triggers for any title, can take a religion or a character (also by scope, ROOT, FROM, and likely event_targets as well)

Code:
At common\religion_features\00_features.txt [religion_doctrine\religion_feature_norse\effect\hidden_tooltip\enable_prepared_invasion] (Line 1153, column 5):
"yes" is not a valid MaybeEventTargetReligion or Religion.

Working as intended, also see the many other new effects added as part of patch 3.0, all related to religion common\religion_features\00_features.txt

Code:
At history\provinces\796 - Cairo.txt [969.1.1\max_settlements] (Line 26, column 2):
Invalid node "max_settlements" in scope DateClause (value is: 7)

Part of Iron Century update, working as intended

Code:
At common\modifier_definitions\01_text_modifiers.txt [bloodline_effect_more_raiders] (Line 109, column 1):
Invalid node "bloodline_effect_more_raiders" in scope ModifierDefinitionFile (value is: <a complex type>)

All these bloodline effect definitions work as intended

Code:
At common\modifier_definitions\00_modifier_definitions.txt [zoroastrian_group_church_opinion] (Line 226, column 1):
Invalid node "zoroastrian_group_church_opinion" in scope ModifierDefinitionFile (value is: <a complex type>)

<religion>_opinion and <religion_group>_opinion are valid for all valid religions and religion groups

Code:
At common\modifier_definitions\00_modifier_definitions.txt [opinion_of_lustful] (Line 282, column 1):
Invalid node "opinion_of_lustful" in scope ModifierDefinitionFile (value is: <a complex type>)

At common\modifier_definitions\00_modifier_definitions.txt [lustful_opinion] (Line 274, column 1):
Invalid node "lustful_opinion" in scope ModifierDefinitionFile (value is: <a complex type>)

Both of these can be defined for any valid traits, as of patch 3.0

Code:
At common\modifier_definitions\00_modifier_definitions.txt [saintly_indulgement_bloodline] (Line 1135, column 1):
Invalid node "saintly_indulgement_bloodline" in scope ModifierDefinitionFile (value is: <a complex type>)

Also valid for all of these bloodlines

Code:
At common\event_modifiers\00_event_modifiers.txt [highway_robber_band\tribal_levy_size] (Line 762, column 2):
Invalid node "tribal_levy_size" in scope <anon> (value is: -0.33)

Works as intended, confirmed in-game

Code:
At common\scripted_effects\00_scripted_effects.txt [gain_weight_small_effect\custom_tooltip] (Line 23257, column 2):
The required "text" entry was not found.
* called from common\scripted_effects\00_scripted_effects.txt [weight_flavor_conditions_effect\if\if\gain_weight_small_effect] (Line 23767, column 4)
* called from common\scripted_effects\00_scripted_effects.txt [weight_trait_check_effect\if\weight_flavor_conditions_effect] (Line 23437, column 3)
* called from events\ze_adolescence_events.txt [character_event\option\weight_trait_check_effect] (Line 3378, column 4)

'custom_tooltip' needs no 'text' if it only contains a 'hidden_tooltip', I think

Code:
At events\siege_events.txt [character_event\weight_multiplier\modifier\siege\location\has_wonder_upgrade] (Line 65, column 6):
Invalid node "has_wonder_upgrade" in scope ProvTrigger (value is: upgrade_hidden_gates)

Valid trigger/condition in province/character/wonder (and perhaps wonder upgrade scope, according to wiki), takes either a wonder upgrade or yes/no)

Code:
At events\regency_events.txt [character_event\option\if\random_list\17\FROM] (Line 2465, column 6):
No direct match found for FROM (is the casing correct?). However, other possible matches in scope CharCommand were found.

This very old event is no longer used, but most likely worked, FROM must have been the character firing this event on ROOT

Code:
At common\scripted_triggers\00_scripted_triggers.txt [higher_society_rank_than_prev_trigger\OR\AND\PREV] (Line 3978, column 4):
Invalid node "PREV" in scope CharTrigger (value is: <a complex type>)
* called from common\scripted_score_values\00_scripted_score_values.txt [interesting_courtier_outcome_score\modifier\higher_society_rank_than_prev_trigger] (Line 2482, column 3)
* called from events\oldgods_various_events.txt [character_event\weight_multiplier\interesting_courtier_outcome_score] (Line 647, column 3)

Likely works as intended
00_scripted_score_values.txt notes 'NOTE: Probably expects ROOT (your character) to be PREV'

Code:
At common\scripted_score_values\00_scripted_score_values.txt [interesting_courtier_outcome_score\modifier\OR\is_close_relative] (Line 2500, column 4):
"PREV" is not a valid Bool or MaybeEventTargetChar.

Similar to above, added with patch 3.1.1, as part of selecting interesting courtiers in various events

Code:
At events\mnm_misc_events.txt [character_event\option\set_interested_society] (Line 637, column 9):
Invalid node "set_interested_society" in scope Option (value is: none)

Valid commands/effect

Code:
At events\mnm_hermetics_events.txt [character_event\immediate\if\limit\FROMFROM] (Line 16801, column 8):
No direct match found for FROMFROM (is the casing correct?). However, other possible matches in scope CharTrigger were found.

MNM.5107 fires from on_artifact_inheritance, FROMFROM is previous owner, so this is working as intended
 
Last edited:
Code:
At localisation\HolyFury.csv [Entry\5] (Line 5594, column 110):
Localization error: Invalid bracket command: "fatricelli" in "fatricelli.GetName" in "El templo [fatricelli.GetName]"

Wiki says: "Since Patch 3.0 you can also scope to landed titles, religions, religion groups, cultures and culture groups in loc using their name"

I think that should be fraticelli, so this may be caused by a typo.
 
Code:
At <mod>\events\bear_events.txt [character_event\after\character_event\id] (Line 401, column 4):
"bear.6" is not a valid CharEventId.
It's a long_character_event.

Code:
At <mod>\events\betterlookinggarbs.txt [character_event\option\trigger\employer\NOT\character] (Line 99, column 13):
"no" is not a valid MaybeEventTargetCharTitle, OpinionClauseDefinedTypes, CharacterId, or Yes.
At <mod>\events\betterlookinggarbs.txt [character_event\option\random_realm_province\limit\NOT\province] (Line 111, column 22):
"no" is not a valid MaybeEventTargetProvTitle or Province.
character = no and province = no seems to work to filter invalid options.

Code:
At <mod>\interface\portrait_properties\00_portraits_background.txt [0\24\trigger\OR\AND\location\NOR\holding_type] (Line 911, column 8):
Invalid node "holding_type" in scope ProvTrigger (value is: tribal)
holding_type works from province scope.

Code:
At <mod>\common\on_actions\BLG_on_actions.txt [on_chronicle_owner_change\effect] (Line 23, column 2):
Invalid node "effect" in scope <anon> (value is: <a complex type>)
effect can be used in on_action files.

Code:
At <mod>\events\bear_events.txt [long_character_event\immediate\event_target:bear_character\gfx_culture_scope] (Line 437, column 4):
Invalid node "gfx_culture_scope" in scope CharCommand (value is: <a complex type>)
Added in 2.8.1
 
Code:
At <mod>\events\bear_events.txt [character_event\after\character_event\id] (Line 401, column 4):
"bear.6" is not a valid CharEventId.
It's a long_character_event.

Then Validator is doing its job. long_character_event is a different event type and should be called as such, meaning this is a minor vanilla issue.
 
ntroduced by the last update, it appears, but clearly a false positive
Please post a link to a repro, and also post the message again with the upcoming version (which should give some more detail hopefully)

These all appear valid to me. Unfortunately, vanilla uses both lower case and upper case for this condition/trigger, though upper case appears to be most common, as is the case with "tier = DUKE" (and variants).
And indeed, inside a "build_holding" effect/command, all holding types are indeed valid right hand side arguments.

Validator cares about case in most places because consistent case is good.

Event is triggered 'on_offmap_yearly_pulse', FROM = offmap. This is a title, so the scope is valid here.
Do you mean that every trigger and command usable in a title scope is also available to a offmap_power scope? Or that "From = Offmap" means here FROM=title scope?



'culture_group' can be used in title scope, as done here. See Wiki

I guess this is the same question of is a offmap_power scope a superset of a title scope or what?

Likely can take any scope, like 'show_portrait' above

Code:
At common\scripted_triggers\08_scripted_triggers_LT.txt [important_character_to_root_trigger\OR\historical] (Line 53, column 3):
Invalid node "historical" in scope CharTrigger (value is: yes)
* called from events\LT_court_maintenance_events.txt [character_event\immediate\random_courtier\limit\trigger_if\any_child\NOR\important_character_to_root_trigger] (Line 716, column 11)
I suspect this uses a feature introduced in patch 2.4.1, so should be valid
"Create character effect now can set up the new character as historical (e.g. won't ever be pruned from the database), use historical = yes"

Can we test to make sure these are accurate?

'opinion < 20' is valid code

Who does this compare against? Wiki claims opionion={who=scope value < 20} or similar


All these work, FROMFROM appears to be the offmap ruler.
What's the difference between FROM and FROMFROM? Docs say "FROM is the old holder", would that be the same as the offmap ruler (given that we are in a holder_succession)?

Valid command in title scope, event_targets can be provinces and titles, in addition to characters
These events most definitely work as intended
Validator thinks event_target:scoped_temple_barony is a character scope (hence mentioning CharCommand), is that not the case?

Valid condition/trigger.

(re num_of_wonder_upgrades). Ok so the scope is char. Wiki says wonder scope but also in the description mentions scoped char. So am confused as to what is what.

I can only assume this is working as intended, although it may be due to the triggers on the government type itself, requiring 'offmap_power = offmap_china'

Yeah its a bit strange can anyone confirm if this works or not normally?

These likely all work as intended
https://ck2.paradoxwikis.com/Bookmark_modding suggests for era bookmarks they need duplication but not for non-era. All seem to fit the pattern except bm_the_mongols which has "era = yes" commented out.




At common\scripted_effects\02_scripted_effects_alternate_start.txt [spawn_one_bloodline_effect\random_character\limit\NOR\any_owned_bloodline\founder\character] (Line 2324, column 7):
"ROOT" is not a valid MaybeEventTargetCharTitle, OpinionClauseDefinedTypes, CharacterId, or Yes.

Seems to work as intended
What is ROOT? Need to see the next lines where it says what's its called from. Here the comamnd expects the ROOT to be char or title, not sure if that is the case with just this context.

Code:
At common\religion_features\00_features.txt [religion_nature\religion_dogmatic\trigger\NOR\has_selected_religion_feature] (Line 345, column 5):
Invalid node "has_selected_religion_feature" in scope ReligionTrigger (value is: religion_feature_hellenic)
Definitely working as intended

This looks like vanilla? But can't repro it and it is supposed to work. Can you post your ValidatorSettings.txt, wonder if it has something to do with that.

Code:
At common\objectives\00_factions.txt [faction_claimant\chance\modifier\liege] (Line 5371, column 4):
Invalid node "liege" in scope <anon> (value is: <a complex type>)
As above, FROM is a character, who must have a liege, so it's a valid scope

Where is there a FROM in here?

Code:
At common\alternate_start\01_spread.txt [holy_site_spread\modifier\FROM\parent_religion\ROOT\is_holy_site] (Line 788, column 6):
Invalid node "is_holy_site" in scope ProvTrigger (value is: PREV)

At common\alternate_start\01_spread.txt [holy_site_spread\modifier\any_neighbor_province\is_holy_site] (Line 746, column 4):
Invalid node "is_holy_site" in scope ProvTriggerWithCount (value is: FROM)
Valid conditions/triggers for any title, can take a religion or a character (also by scope, ROOT, FROM, and likely event_targets as well)

As stated in the error Valdiator thinks this is province scope not title.

Code:
At common\religion_features\00_features.txt [religion_doctrine\religion_feature_norse\effect\hidden_tooltip\enable_prepared_invasion] (Line 1153, column 5):
"yes" is not a valid MaybeEventTargetReligion or Religion.
Working as intended, also see the many other new effects added as part of patch 3.0, all related to religion common\religion_features\00_features.txt

Wiki says it takes a religion, do you mean if we are already in a religion scope it can just take yes?

Code:
At common\modifier_definitions\01_text_modifiers.txt [bloodline_effect_more_raiders] (Line 109, column 1):
Invalid node "bloodline_effect_more_raiders" in scope ModifierDefinitionFile (value is: <a complex type>)
All these bloodline effect definitions work as intended

Code:
At common\modifier_definitions\00_modifier_definitions.txt [zoroastrian_group_church_opinion] (Line 226, column 1):
Invalid node "zoroastrian_group_church_opinion" in scope ModifierDefinitionFile (value is: <a complex type>)
<religion>_opinion and <religion_group>_opinion are valid for all valid religions and religion groups

Code:
At common\modifier_definitions\00_modifier_definitions.txt [opinion_of_lustful] (Line 282, column 1):
Invalid node "opinion_of_lustful" in scope ModifierDefinitionFile (value is: <a complex type>)

At common\modifier_definitions\00_modifier_definitions.txt [lustful_opinion] (Line 274, column 1):
Invalid node "lustful_opinion" in scope ModifierDefinitionFile (value is: <a complex type>)
Both of these can be defined for any valid traits, as of patch 3.0

Code:
At common\modifier_definitions\00_modifier_definitions.txt [saintly_indulgement_bloodline] (Line 1135, column 1):
Invalid node "saintly_indulgement_bloodline" in scope ModifierDefinitionFile (value is: <a complex type>)
Also valid for all of these bloodlines

From what I understand from reading docs now you can basically define whatever you want in modifier_definitions. Hope that is the correct understanding.

'custom_tooltip' needs no 'text' if it only contains a 'hidden_tooltip', I think

Wouldn't one just use hidden_tooltip in that case if the only goal is to hide text?

Code:
At events\regency_events.txt [character_event\option\if\random_list\17\FROM] (Line 2465, column 6):
No direct match found for FROM (is the casing correct?). However, other possible matches in scope CharCommand were found.
This very old event is no longer used, but most likely worked, FROM must have been the character firing this event on ROOT

If event is no longer called from anywhere then validator can't figure out what FROM is.

Code:
At common\scripted_triggers\00_scripted_triggers.txt [higher_society_rank_than_prev_trigger\OR\AND\PREV] (Line 3978, column 4):
Invalid node "PREV" in scope CharTrigger (value is: <a complex type>)
* called from common\scripted_score_values\00_scripted_score_values.txt [interesting_courtier_outcome_score\modifier\higher_society_rank_than_prev_trigger] (Line 2482, column 3)
* called from events\oldgods_various_events.txt [character_event\weight_multiplier\interesting_courtier_outcome_score] (Line 647, column 3)
Likely works as intended
00_scripted_score_values.txt notes 'NOTE: Probably expects ROOT (your character) to be PREV'

Code:
At common\scripted_score_values\00_scripted_score_values.txt [interesting_courtier_outcome_score\modifier\OR\is_close_relative] (Line 2500, column 4):
"PREV" is not a valid Bool or MaybeEventTargetChar.
Similar to above, added with patch 3.1.1, as part of selecting interesting courtiers in various events

In the first one I don't see where we move scopes so PREV seems like it doesn't make sense. Not sure what the comment means but it seems kind of strange overall.

Code:
At events\mnm_hermetics_events.txt [character_event\immediate\if\limit\FROMFROM] (Line 16801, column 8):
No direct match found for FROMFROM (is the casing correct?). However, other possible matches in scope CharTrigger were found.
MNM.5107 fires from on_artifact_inheritance, FROMFROM is previous owner, so this is working as intended

I suspect the recursive call is confusing the Validator - what happens to FROMFROM as MNM.5108 calls itself?



Code:
At <mod>\events\betterlookinggarbs.txt [character_event\option\trigger\employer\NOT\character] (Line 99, column 13):
"no" is not a valid MaybeEventTargetCharTitle, OpinionClauseDefinedTypes, CharacterId, or Yes.
At <mod>\events\betterlookinggarbs.txt [character_event\option\random_realm_province\limit\NOT\province] (Line 111, column 22):
"no" is not a valid MaybeEventTargetProvTitle or Province.
character = no and province = no seems to work to filter invalid options.

What do you mean by invalid options? As in if there's no employer for example? Wouldn't leaving it empty or using always=yes work? Seems like these would always throw away everything.

Code:
At <mod>\interface\portrait_properties\00_portraits_background.txt [0\24\trigger\OR\AND\location\NOR\holding_type] (Line 911, column 8):
Invalid node "holding_type" in scope ProvTrigger (value is: tribal)
holding_type works from province scope.

Can't it only work from title scopes according to the wiki? If a province has multiple holdings what happens?