# Obligations - how much does the subject give to their liege. The subject's government type determines which contract type is used. # Note that the values can be changed with the vassal_tax_contribution_add/mult, vassal_levy_contribution_add/mult and vassal_herd_contribution_add/mult modifiers. (Applies to tributaries as well) subject_contract = { uses_opinion_of_liege = yes/no # if set to yes, scope:opinion_of_liege can be used in the levies and tax script math (it's a value that's updated daily for player contracts, for AI it uses NSubjectContract::OPINION_OF_LIEGE_UPDATE_INTERVAL. No by default for performance reasons. is_shown = trigger to determine whether this obligation should be shown or not, uses the same scopes as obligation_levels display_mode = tree/radiobutton/checkbox/hidden # How are the obligations displayed in the negotiate contract UI, default is radiobutton # If this contract obligation should default to the (in score) level, instead to a specific one # Default: no defaults_to_highest_valid_level = yes/no # Trigger that checks whether this option can be modified. Blockers will be shown in the tooltip and the option won't be clickable, but it will still be visible. # Scope support: # liege # subject / vassal (for backward compatibility) # tax_slot # tax_collector # opinion_of_liege = current opinion of the liege towards the subject, if uses opinion_of_liege is set to yes # can_be_changed = { } # Modifiable contract with multiple levels: obligation_levels = { # Scopes available: # scope:liege the liege or suzerain in the contract # scope:subject the subject in the contract # scope:vassal the subject in the contract. Same as scope:subject. Kept in for backwards compatibility. # scope:opinion_of_liege set if uses_opinion_of_liege = yes # scope:tax_slot the slot they are in/are being considered to be placed in # scope:tax_collector the collector for the above/the potential new collector subject_obligation_low = { # choose a key for the level, it will be used for localization levies = 0.5 # % of levies (0..1), default 0; can also use script math tax = 0.2 # % of gold income (0..1), default 0; Can also use script math herd = 0.2 # % of herd income (0..1), default 0; Can also use script math barter_goods = 0.2 # % of barter goods income (0..1), default 0; Can also use script math min_levies = 0.1 # Optional min floor on levies. Can also use script math min_tax = 0.0 # Optional min floor on tax. Can also use script math min_herd = 0.0 # Optional min floor on herd. Can also use script math min_barter_goods = 0.0 # Optional min floor on barter goods. Can also use script math contribution_desc = { ... } # Optional dynamic description used for the breakdown of the tax, levies and herd contribution tax_contribution_postfix = "..." # Optional postfix added to the tax contribution breakdown levies_contribution_postfix = "..." # Optional postfix added to the levies contribution breakdown herd_contribution_postfix = "..." # Optional postfix added to the herd contribution breakdown unclamped_contribution_label = "..." # Breakdown label for the unclamped tax/levies/herd contribution min_contribution_label = "..." # Breakdown label for the minimum tax/levies/herd contribution the value is clamped to subject_opinion = 0 # value for opinion of liege that's added to subject's opinion of the liege if they have this contract flag = token # Arbitrary flag, can be checked in script to see if any obligation level in the current subject contract has a flag gui_tags = { tag_1 tag_2 ... } # List of gui tags, used to set size, color etc in gui views score = int # Positive means it is better for the subject to have, 0 means neutral, negative is better for liege # When changing obligations the current score and new score are compared to see if it is in favour of the subject or liege # and by how much. # Defaults to order the contracts are defined ai_liege_desire =