• 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 appears my problem was self-created (an empty <mod>localisation/text1.csv I'd made during the height of Hurricane Sandy, before my laptop battery died.)
 
The one to disable errors for empty provinces seems to be working.
The age things should look like this, right? (With values changed):

# Sets the minimum age of marriage
(SetVar CharacterHistory.MinAgeOfMarriage) = 0
# Sets the minimum age of being a parent
(SetVar CharacterHistory.MinAgeOfParent) = 0
# Sets the minimum age of being a guardian
(SetVar CharacterHistory.MinAgeOfGuardian) = 16
# Sets the maximum age of someone needing a guardian
(SetVar CharacterHistory.MaxAgeNeedingGuardian) = 15
# Sets the maximum age of someone
(SetVar CharacterHistory.MaxAge) = 115

Seems right. Will look into this.
 
I am, at least, not getting thousands of not found in localization errors reported.

One I'm not sure is a vanilla error, or a false positive (Meneth, can you comment?):
--- Error 1 of 1 ---
At <mod>\common\cb_types\00_cb_types.txt [crusade\on_success_title\if[2]\most_participating_attacker\if\if\limit\NOT\culture] (Line 2365, Column 16):
"PREV" is not a valid Culture, ThisChar, or ThisProv.
This is in the Crusade CB, the relevant block is:
Code:
	on_success_title = {                         #<- PREV for statement where error is reported
		if = {
			limit = {
				has_holder = yes
				holder_scope = {
					religion = ROOT
				}
			}
			holder_scope = {
				gain_settlements_under_title = {
					title = PREV
					enemy = FROM
					is_crusade = yes # Even if the title holder is not participating in the war, gain holdings occupied by all Crusade participants
				}
			}
		}
		
		if = {
			limit = {
				OR = {
					has_holder = no
					NOT = {
						holder_scope = {
							religion = ROOT
						}
					}
				}
			}
			
			most_participating_attacker = {
				gain_settlements_under_title = {
					title = PREV
					enemy = FROM
				}
				if  = {
					limit = {
						primary_title = { is_primary_type_title = no } # Mercs, the Pope, Holy Orders, etc
						PREV = { has_holder = no }
						OR = {
							NOT = { character = ROOT }
							independent = yes
							liege = {
								tier = EMPEROR
							}
						}
					}
					usurp_title = PREV
					
					if = {
						limit = {
							NOT = { culture = PREV }                                            #<- Line where error is reported.
						}
						hidden_tooltip = { PREV = { conquest_culture = THIS } }
					}
				}
			}
		}
		
		any_attacker = {
			limit = { character = ROOT }
			participation_scaled_prestige = 500
			participation_scaled_piety = 1000
			if = {
				limit = {
					religion_group = muslim
				}
				participation_scaled_decadence = -100
			}
		}
		any_attacker = {
			limit = { NOT = { character = ROOT } }
			hidden_tooltip = { 
				participation_scaled_prestige = 500
				participation_scaled_piety = 1000
				if = {
					limit = {
						religion_group = muslim
					}
					participation_scaled_decadence = -100
				}
			}
		}
		
		ROOT = {
			religion_authority = 0.2 
		}
		
		FROM = {
			piety = -100
		}
	}

Do titles have cultures?
 
Definitely a false positive:
--- Error 1 of 1 ---
At <mod>\events\plot_events.txt [letter_event[12]] (Line 1577, Column 1):
The event is set to be triggered only, but it is never called.
The event is, in fact, called, in one of the common/decisions files.
 
Definitely a false positive:

The event is, in fact, called, in one of the common/decisions files.

Can you post where it is called from? Currently it seems to be checking the "effect" clause of decisions, de_jure_laws, laws, dynasty_decisions, plot_decisions, gender_laws, succession_laws, and vassal_decisions.

@Meneth: Fixed the reading of the ValidatorSettings.txt file.
 
Okay, I lied, that one doesn't seem to be anywhere (probably should be though, regent is in on the plot is the comment before the event), but this one is in common/cb_types:
--- Error 1 of 1 ---
At <mod>\events\rebellionadd_events.txt [letter_event[1]] (Line 2, Column 1):
The event is set to be triggered only, but it is never called.
events/rebellionadd_events.txt, line 2 ff:
Code:
letter_event = {
	id = 555555100
common/cb_types/00_cb_types.txt (several places):
Code:
	on_add = {
		hidden_tooltip = {
			FROM = {
				any_vassal = {
					letter_event = { id = 555555100 days = 1 }
				}
			}
		}
	}
 
Related to previous:
--- Error 1 of 1 ---
At <mod>\events\rebellionadd_events.txt [letter_event[1]\option[1]\ai_chance\modifier[9]\opinion\who] (Line 98, Column 6):
"FROM" is not a valid OpinionClauseDefinedTypes, ThisChar, or ThisTitle.

FROM is the ROOT of the calling CB, hence the character/title on whom war is being declared.
 
Okay, I lied, that one doesn't seem to be anywhere (probably should be though, regent is in on the plot is the comment before the event), but this one is in common/cb_types:

events/rebellionadd_events.txt, line 2 ff:
Code:
letter_event = {
	id = 555555100
common/cb_types/00_cb_types.txt (several places):
Code:
	on_add = {
		hidden_tooltip = {
			FROM = {
				any_vassal = {
					letter_event = { id = 555555100 days = 1 }
				}
			}
		}
	}

Hmm, can you also call events in on_add_title, on_add_posttitle, on_success, on_success_title, on_success_posttitle, on_fail, on_fail_title, on_fail_posttitle, on_reverse_demand, on_reverse_demand_title, on_reverse_demand_posttitle, on_attacker_leader_death, on_defender_leader_death, on_thirdparty_death?

Can event 555555100 use FROM to refer to the on_add clause, and if so, would the FROM refer to a character?
 
555555100 does, in fact, use FROM to refer to a character (the liege against whom the vassals are rebelling); I would assume the other clauses could also use it (Shaytana wrote rebellionadd_events and added the calls to the revolt CBs before he pulled his disappearing act.) This was inspired by (but not copied from) Wiz's civil war system for CK2+, so he may know more. FROM would be the defender, FROMFROM would be the attacker (I think), not sure if you could scope to a third-party claimant from a called event.
 
555555100 does, in fact, use FROM to refer to a character (the liege against whom the vassals are rebelling); I would assume the other clauses could also use it (Shaytana wrote rebellionadd_events and added the calls to the revolt CBs before he pulled his disappearing act.) This was inspired by (but not copied from) Wiz's civil war system for CK2+, so he may know more. FROM would be the defender, FROMFROM would be the attacker (I think), not sure if you could scope to a third-party claimant from a called event.

Hmm, for now I'll make everything refer to a character, except thirdparty death.
 
It appears events in the on_add clause of CBs breaks RC6:
--- Error 1 of 2 ---
At <mod>\common\cb_types\00_cb_types.txt [depose_liege\on_add\hidden_tooltip\FROM\any_vassal\letter_event] (Line 3262, Column 6):
Expected format: letter_event '= <string>'
--- Error 2 of 2 ---
At <mod>\common\cb_types\00_cb_types.txt [depose_liege\on_add\hidden_tooltip\FROM\any_vassal\letter_event] (Line 3262, Column 6):
Invalid event ID.

Code:
	on_add = {
		hidden_tooltip = {
			FROM = {
				any_vassal = {
					letter_event = { id = 555555100 days = 1 } #<- line 3262
				}
			}
		}
	}
 
It appears events in the on_add clause of CBs breaks RC6:


Code:
	on_add = {
		hidden_tooltip = {
			FROM = {
				any_vassal = {
					letter_event = { id = 555555100 days = 1 } #<- line 3262
				}
			}
		}
	}

Grr, same mistake as I made earlier that Meneth reported... fix incoming
 
--- Error 1 of 6 ---
At <mod>\common\triggered_modifiers.txt [character_illuyanka] (Line 5266, Column 1):
Invalid node "ai_rationality" in scope <anon> (value is: -20)
--- Error 2 of 6 ---
At <mod>\common\triggered_modifiers.txt [character_illuyanka] (Line 5266, Column 1):
Invalid node "ai_honor" in scope <anon> (value is: 50)
--- Error 3 of 6 ---
At <mod>\common\triggered_modifiers.txt [character_illuyanka] (Line 5266, Column 1):
Invalid node "ai_zeal" in scope <anon> (value is: 90)
--- Error 4 of 6 ---
At <mod>\common\triggered_modifiers.txt [character_illuyanka] (Line 5266, Column 1):
Invalid node "ai_ambition" in scope <anon> (value is: -20)
--- Error 5 of 6 ---
At <mod>\common\triggered_modifiers.txt [character_illuyanka] (Line 5266, Column 1):
Invalid node "temple_levy_size" in scope <anon> (value is: 0.5)
--- Error 6 of 6 ---
At <mod>\common\triggered_modifiers.txt [character_illuyanka] (Line 5266, Column 1):
Invalid node "city_levy_size" in scope <anon> (value is: -0.1)

Code:
# 163 Illuyanka character modifier

character_illuyanka = {
	potential = {
		religion = illuyanka
	}
	
	trigger = {
		religion = illuyanka
	}
	
    icon = 15
    
	global_revolt_risk = 0.02
	vassal_opinion = 5
	church_opinion = 15
	castle_vassal_tax_modifier = -0.1
	temple_vassal_tax_modifier = 0.5
	build_cost_modifier = -0.3
	land_morale = 0.2
	land_organisation = -0.1
	city_levy_size = -0.1
	city_vassal_max_levy = -0.1
	temple_levy_size = 0.5
	temple_vassal_max_levy = 0.5
	monthly_character_prestige = -0.1
	monthly_character_piety = 0.4
	assassinate_chance_modifier = 0.05
	arrest_chance_modifier = 0.05
	diplomacy = -2
	martial = 2
	stewardship = -1
	intrigue = 2
	learning = 3
	fertility = -0.1
	ai_ambition = -20
	ai_zeal = 90
	ai_honor = 50
	ai_rationality = -20
}

Numahr (developer of the SELIN sub-mod for Lux Invicta) assures me that all those modifiers work.
 
Righty, time for some more false positives:

"There may be no duplications of a "culture" clause. (Are you missing an 'or' or 'not' wrapper?)
There were 2 duplicates.
[I2631|L149|C8]: culture = PREVPREV
[I2658|L150|C8]: culture = PREVPREVPREV"
I'm checking that it is the same as two different entities, which makes perfect sense. Referring to other scopes should not count as a duplicate, only referring to actual different cultures.

"Invalid node "any_direct_de_jure_vassal_title" in scope TitleCommand (value is: <a complex type>)" - any_direct_de_jure_vassal_title was added in 1.07
Invalid node "distance" in scope CharTrigger (value is: <a complex type>) - Distance "scope" (similar to character_event and opinion_modifier and such) was added in 1.07

I think that's all the false positives triggered by my mod.
 
I believe this is a false positive.
--- Error 1 of 1 ---
At <mod>\events\NM_prestige_effects.txt [character_event[2]\option[2]\random_potential_tribal_county\new_character\new_character[1]\spawn_unit\province] (Line 570, Column 7):
"PREVPREV" is not a valid ThisProv or LandProvince.
Relevant code snippet:
Code:
			new_character = {                         #<-Scope for below province = [PREV|PREVPREV] statements.
				usurp_title = PREV
				set_defacto_liege = THIS
				
				if = {
					limit = { ROOT = { tier = duke } }
					wealth = 250
				}
				if = {
					limit = { ROOT = { tier = king } }
					wealth = 500
				}
				if = {
					limit = { ROOT = { tier = emperor } }
					wealth = 1000
				}
				
				spawn_unit = {
					province = PREV                        #<- No error thrown here, despite scoping to same thing as below error-throwing statement
					match_character = ROOT
					match_mult = 0.17
					earmark = prestige_revolters
				}
				create_character = {
					random_traits = yes
					dynasty = THIS
					religion = ROOT
					culture = ROOT
					female = no
					age = 18
					attributes = {
						martial = 10
					}
					trait = skilled_tactician
				}
				new_character = {
					set_father = PREV
					spawn_unit = {
						province = PREVPREV           #<- Above error thrown here
						owner = PREV
						match_character = ROOT
						match_mult = 0.17
						earmark = prestige_revolters
					}
				}

Edit: Didn't notice the error on province = PREV in line 550, which was listed several lines below the one for line 570's province = PREVPREV.
Regardless, the event spawns units in the usurped province, so this should be considered a false positive.

Edit 2: the same syntax is used in the Muslim decadence invasions (id 91000 in decadence_events.txt)
 
Last edited:
Code:
# 163 Illuyanka character modifier

character_illuyanka = {
	potential = {
		religion = illuyanka
	}
	
	trigger = {
		religion = illuyanka
	}
	
    icon = 15
    
	global_revolt_risk = 0.02
	vassal_opinion = 5
	church_opinion = 15
	castle_vassal_tax_modifier = -0.1
	temple_vassal_tax_modifier = 0.5
	build_cost_modifier = -0.3
	land_morale = 0.2
	land_organisation = -0.1
	city_levy_size = -0.1
	city_vassal_max_levy = -0.1
	temple_levy_size = 0.5
	temple_vassal_max_levy = 0.5
	monthly_character_prestige = -0.1
	monthly_character_piety = 0.4
	assassinate_chance_modifier = 0.05
	arrest_chance_modifier = 0.05
	diplomacy = -2
	martial = 2
	stewardship = -1
	intrigue = 2
	learning = 3
	fertility = -0.1
	ai_ambition = -20
	ai_zeal = 90
	ai_honor = 50
	ai_rationality = -20
}

Numahr (developer of the SELIN sub-mod for Lux Invicta) assures me that all those modifiers work.

Hopefully fixed

Righty, time for some more false positives:

"There may be no duplications of a "culture" clause. (Are you missing an 'or' or 'not' wrapper?)
There were 2 duplicates.
[I2631|L149|C8]: culture = PREVPREV
[I2658|L150|C8]: culture = PREVPREVPREV"
I'm checking that it is the same as two different entities, which makes perfect sense. Referring to other scopes should not count as a duplicate, only referring to actual different cultures.

"Invalid node "any_direct_de_jure_vassal_title" in scope TitleCommand (value is: <a complex type>)" - any_direct_de_jure_vassal_title was added in 1.07
Invalid node "distance" in scope CharTrigger (value is: <a complex type>) - Distance "scope" (similar to character_event and opinion_modifier and such) was added in 1.07

I think that's all the false positives triggered by my mod.

Hopefully fixed

I believe this is a false positive.

Relevant code snippet:
Code:
			new_character = {                         #<-Scope for below province = [PREV|PREVPREV] statements.
				usurp_title = PREV
				set_defacto_liege = THIS
				
				if = {
					limit = { ROOT = { tier = duke } }
					wealth = 250
				}
				if = {
					limit = { ROOT = { tier = king } }
					wealth = 500
				}
				if = {
					limit = { ROOT = { tier = emperor } }
					wealth = 1000
				}
				
				spawn_unit = {
					province = PREV                        #<- No error thrown here, despite scoping to same thing as below error-throwing statement
					match_character = ROOT
					match_mult = 0.17
					earmark = prestige_revolters
				}
				create_character = {
					random_traits = yes
					dynasty = THIS
					religion = ROOT
					culture = ROOT
					female = no
					age = 18
					attributes = {
						martial = 10
					}
					trait = skilled_tactician
				}
				new_character = {
					set_father = PREV
					spawn_unit = {
						province = PREVPREV           #<- Above error thrown here
						owner = PREV
						match_character = ROOT
						match_mult = 0.17
						earmark = prestige_revolters
					}
				}

Edit: Didn't notice the error on province = PREV in line 550, which was listed several lines below the one for line 570's province = PREVPREV.
Regardless, the event spawns units in the usurped province, so this should be considered a false positive.

Edit 2: the same syntax is used in the Muslim decadence invasions (id 91000 in decadence_events.txt)

Seems like the issue is that it expected a province target not a character target like new_character. Should be fixed.