Code:
At <mod>\events\hl_mercenary_events.txt [character_event\weight_multiplier\mult_modifier\primary_title\mercenary_employer] (Line 1364, column 5):
Invalid node "mercenary_employer" in scope TitleTrigger (value is: <a complex type>)
Did some testing with this scope, and it's only valid in title scopes, scoping to a character, in both trigger and effect contexts. Does not work in character scope, despite being used that way in vanilla. This is included in the latest CleanSlate version on GitHub.
-------------------------------------------------------------------
From here on out, this is all part of my testing ground, but I hope everything is clear enough.
Code:
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\NOT\is_located_in] (Line 218, column 12):
"holder_scope" is not a valid MaybeEventTarget(Char, Title).
This trigger also supports 'fancy' scopes.
Code:
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\holder_scope\any_army\any_unit_leader\combat\enemy\is_flanking] (Line 287, column 9):
Invalid node "is_flanking" in scope SiegeTrigger (value is: yes)
Tested to work. I suspect the 'combat' and 'siege' triggers function mostly identically, especially with regard to which triggers work in them.
Code:
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\holder_scope\capital_holding\is_building] (Line 312, column 6):
"yes" is not a valid ImprovementValue.
Tested to work, checks for any construction going on at all, without regard for which building it is.
Does not accept 'no', which is interpreted as 'nobuilding', but enclosing it in
NOT = {}
works for this purpose.
Code:
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\holder_scope\congenital_traits] (Line 319, column 5):
Invalid node "congenital_traits" in scope CharTrigger (value is: 0)
Undocumented trigger. Works in character scope, takes integer values, supports numerical operators (>, <=, etc.)
Code:
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\holder_scope\has_heir_designation] (Line 320, column 5):
Invalid node "has_heir_designation" in scope CharTrigger (value is: yes)
Undocumented trigger. Works in character scope, takes a bool.
Code:
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\effect\set_investiture] (Line 371, column 4):
"king" is not a valid "any" or "head".
Tested to work and unlock different functionality in-game.
Code:
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\holder_scope\player_heir\relative_income] (Line 325, column 6):
Invalid node "relative_income" in scope CharTrigger (value is: <a complex type>)
I figured out the proper syntax for this trigger, but it's still broken, not detecting any character it is fed. Works in character scope.
Code:
relative_income = {
who = FROM # Any character scope should work, but none do
power >= 1
}
Code:
At <mod>\common\graphicalculturetypes\02_religion_gfx.txt [hindugfx] (Line 13, column 1):
The required "skin_tone" entry was not found.
Can the Validator require 'skin_tone' only if a culturegfx is used in a culture (group) definition? CleanSlate now uses many culturegfx only for purposes of holding pictures, etc.
Code:
--- Error 1 of 3 ---
At <mod>\common\societies\00_societies.txt [hermetics\society_rank\women_can_take_consorts] (Line 145, column 3):
Invalid node "women_can_take_consorts" in scope SocietyRankDef (value is: yes)
--- Error 2 of 3 ---
At <mod>\common\societies\00_societies.txt [hermetics\society_rank\men_can_take_consorts] (Line 144, column 3):
Invalid node "men_can_take_consorts" in scope SocietyRankDef (value is: yes)
--- Error 3 of 3 ---
At <mod>\common\societies\00_societies.txt [hermetics\society_rank\max_consorts] (Line 143, column 3):
Invalid node "max_consorts" in scope SocietyRankDef (value is: 4)
Support added in patch 3.0, tested to work. Here is some example script, modified from CleanSlate's Hermetics:
Code:
society_rank = {
level = 4
limit = 20
startup_limit = 2
max_consorts = 4
men_can_take_consorts = yes
women_can_take_consorts = yes
modifier = {
learning = 3
church_opinion = -10
}
decisions = {
choose_hermetic_art # Enables you to pick/change your lifestyle trait
hermetics_write_magnum_opus # Write an enciphered book of lore (artifact)
}
}
Code:
At <mod>\common\alternate_start\02_naming.txt [religion_name_formats\piety_name\PIETY] (Line 227, column 3):
"PIETY" is not a valid LocalizationKey.
I finally figured out this too, and this also holds for piety names defined in common\religions (such as
piety_name = KARMA
inside the indian_group).
The game doesn't look for this loc key, but it does look for the following keys:
Code:
STAT_PIETY_<piety_name>
STAT_PIETY_DESC_<piety_name>
STAT_PIETY_MENU_<piety_name>
The game's default 'PIETY' is an exception, for which the following keys are used instead:
Code:
STAT_PIETY
STAT_PIETY_DESC
STAT_PIETY_MENU
I've noticed the Validator already looks for
STAT_PIETY_<piety_name>
and
STAT_PIETY_DESC_<piety_name>
, but not yet
STAT_PIETY_MENU_<piety_name>
. Additionally, the Validator looks for
MONTHLY_PIETY_<piety_name
, but the game does not use it. Instead, the game's
MONTHLY_PIETY
uses
GetPietyName
, confirmed by testing without
MONTHLY_PIETY_KARMA
etc. present.
Can the Validator check for the existence of these keys, based on which piety loc keys are used in the game files, and return errors for the missing keys?
And finally,
has_siege
does not work in province scope, only in barony/county title scope, but the Validator does currently accept it in province scope.
Edit: I've got some more:
Code:
--- Error 1 of 3 ---
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\holder_scope\distance\who] (Line 137, column 6):
"e_byzantium" is not a valid MaybeEventTargetChar or CharTargetExcludingMaybeEventTarget.
--- Error 2 of 3 ---
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\holder_scope\distance_from_realm\where] (Line 187, column 6):
"PREV" is not a valid MaybeEventTargetProv or Province.
MaybeEventTargetProv: cannot be because PREV points to DeJureDecisionTriggerFromFromNone.
However, a Prov was expected.
--- Error 3 of 3 ---
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\holder_scope\distance_from_realm\where] (Line 213, column 6):
"d_holland" is not a valid MaybeEventTargetProv or Province.
Tested to take title IDs, relative scopes, saved event targets, but not fancy scopes (defacto_liege_title, plot_target_title).
Code:
At <mod>\common\laws\ze_demesne_laws.txt [laws\status_of_women_1\allow\is_pretender] (Line 131, column 4):
The ROOT scope needs to be Char, but it is Title
Further testing has shown that this trigger can be used in both title and character scope, and always checks against ROOT, whatever type of scope that might be.